;; one liner comments ';;' #| Multiline comments |# (defcfg ;; For linux & by-id lists pluggable devices ;; If a key is not bound/left_empty(_) then it will fall back to the previous ;; layer's binding if not then default. fallthrough true ;; To run system commands. You MIGHT face issues with tiling window managers due to command helpers. ;; allow-cmd true ;; use 'ls /dev/input/by-id/' for detachable keyboards and ;; 'ls /dev/input/by-path/' for builtin keyboards location' input (device-file "/dev/input/by-id/usb-Lenovo_ThinkPad_Compact_USB_Keyboard_with_TrackPoint-event-kbd") ;; Not sure what this does. Please check the docs. output (uinput-sink "My KMonad output") ) ;; This is the real representation of your actual keyboard. We haven't started ;; customizing layouts yet. (defsrc esc f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 home end insert del f13 f14 f15 f16 ` 1 2 3 4 5 6 7 8 9 0 - = bspc nlck kp/ kp* kp- tab q w e r t y u i o p [ ] \ kp7 kp8 kp9 kp+ caps a s d f g h j k l ; ' ret kp4 kp5 kp6 lsft z x c v b n m , . / rsft kp1 kp2 kp3 kprt lctl lmet lalt spc ralt ssrq rctl pgup up pgdn kp0 kp. left down rght );; Aliases (defalias ;; Layer toggles sym (layer-toggle syms) sym2 (layer-toggle syms2) cords (sticky-key 1000 (layer-toggle mods)) ;; hrt (layer-switch homerowmods) back (layer-switch qwerty) ;; Homerow keys a (tap-hold-next-release 280 a lctl) s (tap-hold-next-release 280 s lalt) d (tap-hold-next-release 280 d lmet) f (tap-hold-next-release 280 f lsft) ;; j (tap-hold-next-release 280 j rsft) k (tap-hold-next-release 280 k lmet) l (tap-hold-next-release 280 l lalt) semi (tap-hold-next-release 280 ; rctl) ;; button to launch brave browser ;; veeb (cmd-button "brave") ;; ssf (sticky-key 500 (layer-toggle rshift)) ;; rsf (layer-toggle rshift) ) ;; The first custom layer is the one that gets activated when kmonad is started (deflayer qwerty esc f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 home end insert del = \( \) bspc ` 1 2 3 4 5 6 7 8 9 0 - = bspc nlck kp/ kp* kp- tab q w e r t y u i o p [ ] \ kp7 kp8 kp9 kp+ esc a s d f g h j k l ; ' ret kp4 kp5 kp6 @sym z x c v b n m , . / rsft kp1 kp2 kp3 kprt lctl lmet lalt spc @cords ssrq @hrt pgup up pgdn kp0 kp. left down rght ) (deflayer homerowmods esc f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 home end insert del = \( \) bspc ` 1 2 3 4 5 6 7 8 9 0 - = bspc nlck kp/ kp* kp- tab q w e r t y u i o p [ ] \ kp7 kp8 kp9 kp+ esc @a @s @d @f g h @j @k @l @semi ' ret kp4 kp5 kp6 @sym z x c v b n m , . / rsft kp1 kp2 kp3 kprt caps lmet @sym spc lalt ssrq @back pgup up pgdn kp0 kp. left down rght ) (deflayer mods esc f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 home end insert del = \( \) bspc ` 1 2 3 4 5 6 7 8 9 0 - = bspc nlck kp/ kp* kp- tab q w e r t y u i o p [ ] \ kp7 kp8 kp9 kp+ esc lctl lalt lmet lsft g h rsft rmet ralt rctl ' ret kp4 kp5 kp6 @sym z x c v b n m , . / rsft kp1 kp2 kp3 kprt caps lmet @sym spc lalt ssrq @back pgup up pgdn kp0 kp. left down rght ) ;; A layer dedicated to symbols (deflayer syms esc f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 home end insert del = \( \) bspc ` 1 2 3 4 5 6 7 8 9 0 - = bspc nlck kp/ kp* kp- tab q up e r t ! @ # $ % [ ] \ kp7 kp8 kp9 kp+ esc left down right @sym2 g ' ^ & - = ' ret kp4 kp5 kp6 @sym z x c v b \( [ { < \ rsft kp1 kp2 kp3 kprt caps lmet @sym spc lalt ssrq @back pgup up pgdn kp0 kp. left down rght ) (deflayer syms2 esc f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 home end insert del = \( \) bspc ` 1 2 3 4 5 6 7 8 9 0 - = bspc nlck kp/ kp* kp- tab q up e r t ! @ # $ % [ ] \ kp7 kp8 kp9 kp+ esc left down right @sym2 g ` ~ * \_ + ' ret kp4 kp5 kp6 @sym z x c v b \) ] } > | rsft kp1 kp2 kp3 kprt caps lmet @sym spc lalt ssrq @back pgup up pgdn kp0 kp. left down rght )