diff options
Diffstat (limited to 'desktop')
| -rw-r--r-- | desktop/.config/kanata/kanata.kbd | 113 |
1 files changed, 113 insertions, 0 deletions
diff --git a/desktop/.config/kanata/kanata.kbd b/desktop/.config/kanata/kanata.kbd new file mode 100644 index 0000000..296f0df --- /dev/null +++ b/desktop/.config/kanata/kanata.kbd @@ -0,0 +1,113 @@ +;; Kanata Configuration File for Graphite Anglemod Layout + +;; Add a default configuration section to define unmapped key behavior. +(defcfg + process-unmapped-keys no ;; Ensure unmapped keys are passed to the OS unchanged. +) + +(defvar + tap-time 200 + hold-time 150 + + left-hand-keys ( + q w e r t + g + z x c v b + ) + + right-hand-keys ( + y u i o p + h + n m , . / + ) +) + +(deffakekeys + to-base (layer-switch graphite) +) + +;; 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 +) + +;; (deflayermap nomods +;; a n +;; s r +;; d t +;; f s +;; j h +;; k a +;; l e +;; ; i +;; ) + +(defalias + quote (fork ' S-- (lsft rsft)) ;; ' -> _ + comma (fork , S-/ (lsft rsft)) ;; , -> ? + hyphen (fork - S-' (lsft rsft)) ;; - -> " + slash (fork / S-, (lsft rsft)) ;; / -> < + + tap (multi + (layer-switch nomods) + (on-idle-fakekey to-base tap 20) + ) + + n (tap-hold-release-keys $tap-time $hold-time (multi n @tap) lmet $left-hand-keys) + r (tap-hold-release-keys $tap-time $hold-time (multi r @tap) lalt $left-hand-keys) + t (tap-hold-release-keys $tap-time $hold-time (multi t @tap) lctl $left-hand-keys) + s (tap-hold-release-keys $tap-time $hold-time (multi s @tap) lsft $left-hand-keys) + h (tap-hold-release-keys $tap-time $hold-time (multi h @tap) lsft $right-hand-keys) + a (tap-hold-release-keys $tap-time $hold-time (multi a @tap) lctl $right-hand-keys) + e (tap-hold-release-keys $tap-time $hold-time (multi e @tap) lalt $right-hand-keys) + i (tap-hold-release-keys $tap-time $hold-time (multi i @tap) lmet $right-hand-keys) + + + ;; 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 +) +(deflayer nomods + @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 _ _ _ + _ _ _ _ _ _ _ _ _ _ _ _ _ _ + _ _ _ _ _ _ _ _ _ _ _ _ _ + _ _ _ _ _ _ _ _ _ _ _ _ + _ _ _ _ _ _ _ +) |
