#keyboard #system76 #configuration #led #settings #keymap #ui

app pop-os/system76-keyboard-configurator

Keyboard configuration UI

26 releases (14 stable)

1.3.10 Oct 10, 2023
1.3.8 Jul 14, 2023
1.3.1 Mar 28, 2023
1.3.0 Nov 16, 2022
0.2.11-beta May 27, 2021

#235 in Hardware support

249 stars & 22 watchers

GPL-3.0-or-later

380KB
10K SLoC

Rust 7K SLoC // 0.0% comments FreeMarker 1.5K SLoC Python 880 SLoC // 0.1% comments Shell 350 SLoC // 0.1% comments Batch 2 SLoC

System76 Keyboard Configurator

Tool for configuring System76 keyboards, internal and external, with support for changing the keymap and LED settings.

This requires a System76 laptop with recent open EC firmware, or a Launch keyboard. Note that LED settings are not currently persisted on internal keyboards.

Releases

See releases page for pre-built binaries of the latest tagged release.

Building

# Install dependencies if necessary
sudo apt-get install cargo libgtk-3-dev libhidapi-dev libudev-dev

# Clone keyboard-configurator if necessary
git clone https://github.com/pop-os/keyboard-configurator

# Make sure it is up to date
cd keyboard-configurator
git pull

# Build and run the configurator
cargo run --release

Translators

Translators are welcome to submit translations directly as a pull request to this project. It is generally expected that your pull requests will contain a single commit for each language that was added or improved, using a syntax like so:

i18n(eo): Add Esperanto language support
i18n(pl): Improvements to Polish language support

Translation files can be found here. We are using Project Fluent for our translations, which should be easier than working with gettext.

Dependencies

~22–32MB
~575K SLoC