diff --git a/firmware2/README.md b/firmware2/README.md index 382a088..df5a17b 100644 --- a/firmware2/README.md +++ b/firmware2/README.md @@ -28,6 +28,31 @@ Afterwards, a static library with redefined externally-linked symbols needs to b path/to/root/libxkbcommon-redefine-syms.sh build-debug/libxkbcommon{,_redefined_syms}.a ``` +### Creating keymaps + +To generate an English (US) keymap, the following command may be used: + +`xkbcli compile-keymap --include [path-to-xkb-directory] --layout us >my_compose.txt` + +Substitute `us` for any other 2-letter country code. + +Where the `[path-to-xkb-directory]` is one of the following: + * the `/usr/share/X11/xkb` directory on X11-based Linux distributions; + * the [`xkeyboard-config` git repository](https://gitlab.freedesktop.org/xkeyboard-config/xkeyboard-config). There's an button to download it as a ZIP archive. + +The most relevant part of the keymap is likely found in the `symbols` directory, +where variants of keymaps are defined for many languages. + +### Compiling Compose files + +Use libxkbcommon's `xkbcli` to compile a standalone compose file: + +`xkbcli compile-compose [path-to-Compose-file] >my_compose.txt` + +Compose files to replace `[path-to-Compose-file]` with may be found in: + * the `/usr/share/X11/locale` directory on X11-based Linux distributions; + * the [`libx11` git repository](https://gitlab.freedesktop.org/xorg/lib/libx11/-/tree/master). There's an button to download it as a ZIP archive. + # esp32s3 BLE example To run this example, you should have latest Rust in **esp** channel installed. The full instruction of installing esp Rust toolchain can be found [here](https://docs.esp-rs.org/book/installation/index.html).