| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112 |
- ;; Kanata configuration for MacBook Air M2 with advanced home row modifiers
- ;; Uses tap-hold-release-keys with bilateral combinations for better accuracy
- (defcfg
- process-unmapped-keys yes
- macos-dev-names-include (
- "Apple Internal Keyboard / Trackpad"
- )
- macos-dev-names-exclude (
- "Voyager"
- "YubiKey OTP+FIDO+CCID"
- )
- )
- (defsrc
- ;; esc f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12
- f1 f2 f10 f11 f12
- ;; grv 1 2 3 4 5 6 7 8 9 0 - = bspc
- ;; tab q w e r t y u i o p [ ] \
- tab q w e r t y u i o p
- ;; caps a s d f g h j k l ; ' ret
- caps a s d f g h j k l ;
- ;; lsft z x c v b n m , . / rsft
- z x c v b n m , . /
- ;; fn lctl lalt lmet spc rmet ralt left down up rght
- lmet spc rmet
- )
- ;; base layer with home row modifiers and proper media keys
- (deflayer base
- brdn brup mute vold volu
- tab q w e r t y u i o p
- @esc @a @s @d @f g h @j @k @l @;
- z x c @v b n m , . /
- @lmet spc ret
- )
- ;; symbols layer
- (deflayer symbols
- brdn brup mute vold volu
- tab S-1 S-2 S-3 S-4 S-5 S-6 S-7 S-[ S-] S-8
- @esc ` S-- - S-= = S-` S-\ S-9 S-0 '
- z x c tab b / \ [ ] S-/
- lmet spc ret
- )
- ;; numpad layer
- (deflayer numbers
- brdn brup mute vold volu
- tab q w e r t S-8 7 8 9 -
- @esc @a @s , . g / 4 5 6 S-=
- z x c v b = 1 2 3 ret
- lmet spc 0
- )
- ;; layer without modifiers - used temporarily when tapping home row keys
- (deflayer nomods
- brdn brup mute vold volu
- tab q w e r t y u i o p
- esc a s d f g h j k l ;
- z x c v b n m , . /
- lmet spc ret
- )
- ;; mouse and arrow key layer
- (deflayer mouse
- brdn brup mute vold volu
- tab q w e r t y u i o p
- @esc @a @s @d @f g left down up right ;
- z x c v b n m , . /
- lmet spc ret
- )
- (deffakekeys
- to-base (layer-switch base)
- )
- (defvar
- ;; Timing values - adjust based on your typing speed
- tap-time 135
- hold-time 135
- ;; Define which keys are on each hand for bilateral combinations
- left-hand-keys (q w e r t a s d f g z x c v b)
- right-hand-keys (y u i o p h j k l ; n m , . /)
- )
- (defalias
- spotlight (multi lmet spc) ;; Command + Space
- ;; Tap behavior: switch to nomods layer temporarily, then back to base
- tap (multi
- (layer-switch nomods)
- (on-idle-fakekey to-base tap 20)
- )
- ;; Home row modifiers with bilateral combinations
- ;; Left hand keys with LEFT-side modifiers
- a (tap-hold-release-keys $tap-time $hold-time (multi a @tap) lmet $right-hand-keys)
- s (tap-hold-release-keys $tap-time $hold-time (multi s @tap) lalt $right-hand-keys)
- d (tap-hold-release-keys $tap-time $hold-time (multi d @tap) lctl $right-hand-keys)
- f (tap-hold-release-keys $tap-time $hold-time (multi f @tap) lsft $right-hand-keys)
-
- ;; Right hand keys with RIGHT-side modifiers
- j (tap-hold-release-keys $tap-time $hold-time (multi j @tap) rsft $left-hand-keys)
- k (tap-hold-release-keys $tap-time $hold-time (multi k @tap) rctl $left-hand-keys)
- l (tap-hold-release-keys $tap-time $hold-time (multi l @tap) ralt $left-hand-keys)
- ; (tap-hold-release-keys $tap-time $hold-time (multi ; @tap) rmet $left-hand-keys)
- v (tap-hold $tap-time $hold-time (multi v @tap) (layer-toggle numbers))
- esc (tap-hold $tap-time $hold-time (multi esc @tap) (layer-toggle mouse))
- lmet (layer-toggle symbols)
- )
|