genode/tool/xkb2ifcfg/README
2019-08-28 14:22:32 +02:00

75 lines
2.4 KiB
Plaintext

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 <LSGT>
right of Left Shift <LFSH> as additional 105th key
- PC105 has the Backslash key <BKSL> left of Return <RTRN>
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 <command> <layout> <variant> <locale>
!
! 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