;; Kanata Configuration File for Graphite Anglemod Layout ;; Add a default configuration section to define unmapped key behavior. (defcfg process-unmapped-keys yes ) ;; Define the source keys Kanata will intercept. (defsrc grv 1 2 3 4 5 6 7 8 9 0 - = bspc tab q w e r t y u i o p [ ] \ caps a s d f g h j k l ; ' ret lsft z x c v b n m , . / rsft lctl lmet lalt spc ralt rmet rctl ) ;; Default QWERTY Layout (deflayer qwerty @grl 1 2 3 4 5 6 7 8 9 0 - = bspc tab q w e r t y u i o p [ ] \ caps a s d f g h j k l ; ' ret lsft z x c v b n m , . / rsft lctl lmet lalt spc ralt rmet rctl ) (deftemplate charmod (char mod) (switch ((key-timing 3 less-than 250)) $char break () (tap-hold-release-timeout 200 500 $char $mod $char) break ) ) (defalias quote (fork ' S-- (lsft rsft)) ;; ' -> _ comma (fork , S-/ (lsft rsft)) ;; , -> ? hyphen (fork - S-' (lsft rsft)) ;; - -> " slash (fork / S-, (lsft rsft)) ;; / -> < n (t! charmod n lmet) r (t! charmod r lalt) t (t! charmod t lctl) s (t! charmod s lsft) h (t! charmod h lsft) a (t! charmod a lctl) e (t! charmod e lalt) i (t! charmod i lmet) ;; Tap: backtick (grave), Hold: toggles 'layers' for layer switching. grl (tap-hold 200 200 grv (layer-toggle layers)) ;; Layer-switch aliases gar (layer-switch graphite) qwr (layer-switch qwerty) ;; Tap for Caps Lock, Hold for Ctrl cap (tap-hold 200 200 caps lctl) ) (deflayer graphite @grl 1 2 3 4 5 6 7 8 9 0 [ ] bspc tab b l d w z @quote f o u j ; = \ lctl @n @r @t @s g y @h @a @e @i @comma ret lsft q x m c v k p . @hyphen @slash rsft lctl lmet lalt spc ralt rmet rctl ) ;; Keys 1 and 2 switch between QWERTY and Graphite ;; The _ (underscore) indicates transparent behavior (passes through base layer). (deflayer layers _ @qwr @gar _ _ _ _ _ _ _ lrld _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ )