XKB to Genode input_filter configuration Christian Helmuth This tool generates Genode input_filter XML configuration files from X11 XKB configuration. It must be built and run on Linux with libxkbcommon development packages installed. For pragmatic (and realistic reasons) this tool assumes a standard 105-keys PC keyboard. This assumption automatically includes US keyboards with 104 keys. The differences are: - PC105 has an additional 105th Less Then / Greater Then key right of Left Shift as additional 105th key - PC105 has the Backslash key left of Return xkb2ifcfg supports Shift, AltGr, and Caps Lock modifiers, as well as localized dead-key/compose sequences. The tool does not support latched modifiers. Build ===== Just execute 'make' and 'xkb2ifcfg' should be built. Usage ===== ! xkb2ifcfg ! ! Commands ! ! generate generate input_filter config ! dump dump raw XKB keymap ! info simple per-key information ! ! Examples ! ! xkb2ifcfg generate us "" en_US.UTF-8 > en_US.chargen ! xkb2ifcfg info de nodeadkeys de_DE.UTF-8 > de_DE.chargen All information is printed on standard output while diagnostic messages are written to standard error. Valid 'layout' and 'variant' options can be figured out from the LAYOUTS section in ! man 7 xkeyboard-config 'variant' strings are depicted in parentheses after the layout (e.g., 'us(euro)'). The 'locale' option has the standard locale syntax (see /usr/share/i18n/locales). Generation of keyboard-layout PDFs (and other examples) ======================================================= setxkbmap -print -rules evdev -model pc104 -layout us -variant "" -option "" | xkbcomp -xkm - - | xkbprint -color -label name - - | ps2pdf - t.pdf setxkbmap -print -rules evdev -model pc105 -layout de -variant "nodeadkeys" -option "" | xkbcomp -xkm - - | xkbprint -color -label symbols - - | ps2pdf - t.pdf setxkbmap -print -model pc104 -option -layout us setxkbmap -print -model pc105 -option -layout de -variant nodeadkeys setxkbmap -print -model pc105 -option -layout ch -variant de_nodeadkeys setxkbmap -print -model pc105 -option -layout ch -variant fr_nodeadkeys setxkbmap -print -model pc105 -option -layout gb setxkbmap -print -model pc104 -option -layout us -variant euro setxkbmap -print -model pc104 -option -layout us -variant workman