keyd(1) General Commands Manual keyd(1) (NAME) keyd - . (SYNOPSIS) keyd [] [] (COMMANDS) monitor [-t] . -t . / . listen keyd (stdout). . bind reset| [...] . Bindings . reload . list-keys . input [-t ] [...] . STDIN . (timeout) . do [-t ] [] . MACROS . STDIN . macro_sequence_timeout . check [...] . . . (OPTIONS) -v, --version . -h, --help . (DESCRIPTION) keyd (layering) (oneshot modifiers) . ( wayland/X/tty) . init . : keyd . (panic sequence) ++ keyd . (CONFIGURATION) INI [section_name] (bindings) . (#) . /etc/keyd/ . reload ( sudo keyd reload). .conf [ids] : [ids] ... [ids] * - - ... . : [ids] * -0123:4567 0123:4567 : [ids] 0123:4567 . monitor ( COMMANDS ). . (layer) ( [global] GLOBALS ). ( sudo journalctl -eu keyd). k: m: ( m:046d:b01d) : ( ) . : (*) keyd . keyd ( ) . : ( ) ids ( ) (Layers) (bindings) main nav main : [main] capslock = layer(nav) [nav] h = left k = up j = down l = right capslock nav main hjkl . keyd (modifiers) ':' ( ). : [main] capslock = layer(capslock) [capslock:C] j = down capslock control capslock+j down . capslock+j down shift+capslock+j shift+down . : "[" [:] "]" : [-]... : C - Control M - Meta/Super A - Alt S - Shift G - AltGr : | = || ACTIONS MACROS . meta layer(meta) meta meta:M . : control = layer(control) meta = layer(meta) shift = layer(shift) leftalt = layer(alt) rightalt = layer(altgr) . : [ids] * [control] j = down : [ids] * [main] leftcontrol = layer(control) rightcontrol = layer(control) [control:C] j = down . . : [mylayer:A] a = b c = d [mylayer:C] a = x b = c : [mylayer:A] a = x b = c c = d (Composite Layers) (composite layer) + . : [control+alt] h = left control+alt+h left ( control alt control alt) control+alt+f1 f1 . [main] capslock = layer(capslock) [capslock:C] [capslock+shift] h = left capslock+shift+h left capslock shift . : . : [layer1] [layer2] [layer1+layer2] : [layer1+layer2] [layer1] [layer2] (Layouts) (layout) 'main' setlayout() . keyd /usr/share/keyd/layouts shift ( ) compose keyd ( (Unicode Support) ) : # Include the shipped colemak layout. include layouts/colemak [global] default_layout = mylayout [mylayout:layout] a = b b = c #etc... [control] 1 = setlayout(customlayout) 2 = setlayout(colemak) (Chording) (Chords) + (chord_timeout) . : j+k = esc j k esc . : (50 ) . (Unicode Support) keyd UTF8 XKB keyd . compose keyd (/usr/share/keyd/keyd.compose) /usr/share/X11/locale ~/.XCompose . : ln -s /usr/share/keyd/keyd.compose ~/.XCompose US . keyd ( Layouts ) keyd . : . : compose shift shift ( ). : GTK4 XCompose ( /usr/share/keyd/keyd.compose) . (Aliases) (alias) . 'leftmeta' 'rightmeta' meta 'meta = a' 'leftmeta = a' 'rightmeta = a' . 'aliases' : = . (keycode) include . : /etc/keyd/common: meta = oneshot(meta) alt = oneshot(alt) a = a s = o # etc.. /etc/keyd/default.conf: [ids] * [main] include common /etc/keyd/magic_keyboard.conf: [ids] 004c:0267 [aliases] leftalt = meta rightalt = meta rightmeta = alt leftmeta = alt [main] include common /etc/keyd/common meta alt . (File Inclusion) include include [ids] include . . include : o /etc/keyd/ o /usr/share/keyd/ : /etc/keyd/default.conf: [ids] * # Add our shared custom bindings. include common # Appends bindings to the main layer # defined in /etc/keyd/common (order matters) [main] capslock = layer(capslock) [capslock] 1 = setlayout(colemak) 2 = setlayout(dvorak) /etc/keyd/common: [main] rightmeta = layer(nav) [nav] h = left j = down k = up l = right /usr/share/keyd/layouts/dvorak: a = a s = o ... : o include [ids] . o ids . o ( ). o .conf . (GLOBALS) [global] : macro_timeout: ( ) (: 600) macro_repeat_timeout: (: 50) layer_indicator: capslock : wayland LED (: 0) macro_sequence_timeout: ( ) chord_timeout: (: 50) chord_hold_timeout: (: 0) oneshot_timeout: (oneshot) (: 0) disable_modifier_guard: keyd control ( alt firefox) (: 0) overload_tap_timeout: (tap) (: 0) : . (MACROS) keyd . : 1. macro() 2. [[-...]- 3. [...] (token) : o . o . o . o + . o