diff --git a/bin/input-event b/bin/input-event index a635b3f..6ff24e5 100755 --- a/bin/input-event +++ b/bin/input-event @@ -29,6 +29,9 @@ case "$event,$use,$(uname -n),$name" in ssh-add -e /usr/lib/x86_64-linux-gnu/libykcs11.so 2> /dev/null ssh-add -s /usr/lib/x86_64-linux-gnu/libykcs11.so ;; + *,XISlaveKeyboard,*,"IQUNIX IQUNIX ZX75 Mechanical Keyboard") + xkb 75percent + ;; *,XISlaveKeyboard,*) # Todo: detect the fact it is a "classic" keyboard xkb default diff --git a/dotfiles/xkb/75percent.xkb b/dotfiles/xkb/75percent.xkb new file mode 100644 index 0000000..d1e082d --- /dev/null +++ b/dotfiles/xkb/75percent.xkb @@ -0,0 +1,16 @@ +# -*- conf -*- + +# Configuration for a 75% keyboard +# - compose → rwin, ralt or menu +# - capslock as ctrl +# - Home/End are PageUp/PageDown +xkb_keymap { + xkb_keycodes { include "evdev+aliases(qwerty)" }; + xkb_types { include "complete" }; + xkb_compat { include "complete" }; + xkb_symbols { include "pc+us+inet(evdev)" + include "compose(rwin)+compose(menu)+compose(ralt)" + include "ctrl(nocaps)" + include "vbe(75percent)" }; + xkb_geometry { include "pc(pc105)" }; +}; diff --git a/dotfiles/xkb/symbols/vbe b/dotfiles/xkb/symbols/vbe index d67707d..daca1c9 100644 --- a/dotfiles/xkb/symbols/vbe +++ b/dotfiles/xkb/symbols/vbe @@ -4,6 +4,11 @@ xkb_symbols "pause" { [ XF86ScreenSaver, XF86ScreenSaver ] }; }; +partial +xkb_symbols "75percent" { + key { [ Prior, Prior ] }; + key { [ Next, Next ] }; +}; partial modifier_keys alphanumeric_keys xkb_symbols "x1gen2" {