arsenik_hrm_altgr.kbd 1.7 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152
  1. ;; ANSI sub-layer (let kanata ignore all other keys)
  2. (defsrc
  3. q w e r t y u i o p
  4. a s d f g h j k l ;
  5. z x c v b n m , . /
  6. lalt spc ralt
  7. )
  8. ;; Base layer (active by default when kanata starts up):
  9. ;; - home-row mods on SDF and JKL
  10. ;; - the 3 main thumb keys become mod/taps
  11. (deflayer qwerty
  12. _ _ _ _ _ _ _ _ _ _
  13. _ @ss @dd @ff _ _ @jj @kk @ll _
  14. _ _ _ _ _ _ _ _ _ _
  15. @sft @nav @alt
  16. )
  17. ;; Navigation layer:
  18. ;; - left: arrows, Tab/Shift-Tab, one-hand shortcuts (Ctrl-AZXCV)
  19. ;; - right: numpad
  20. (deflayer numnav
  21. tab home up end pgup / 7 8 9 XX
  22. C-a lft down rght pgdn - 4 5 6 0
  23. C-z C-x C-c C-v S-tab , 1 2 3 .
  24. del _ esc
  25. )
  26. ;; Special key aliases
  27. (defalias
  28. ;; Main mod-tap: NumNav layer when hold, Space when tapped.
  29. ;; The space key must be hold long enough (300ms) to become a layer shift.
  30. nav (tap-hold 200 300 spc (layer-toggle numnav))
  31. ;; Space-cadet thumb keys: Shift/BackSpace, AltGr/Return
  32. ;; - acts as a modifier by default, or as BS/Ret when tapped separately;
  33. ;; - works great with Qwerty-Lafayette and Ergo-L keyboard layouts, where
  34. ;; neither Shift nor AltGr are used outside of the 3×10 main alpha keys.
  35. sft (tap-hold-press 200 200 bspc lsft)
  36. alt (tap-hold-press 200 200 ret ralt)
  37. ;; Home-row mods
  38. ;; Must be hold long enough (300ms) to become a modifier.
  39. ss (tap-hold 200 300 s lmet)
  40. dd (tap-hold 200 300 d lalt)
  41. ff (tap-hold 200 300 f lctl)
  42. jj (tap-hold 200 300 j rctl)
  43. kk (tap-hold 200 300 k lalt)
  44. ll (tap-hold 200 300 l rmet)
  45. )
  46. ;; vim: set ft=lisp