arsenik_easy_ansi.kbd 2.2 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970
  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. ;; - the 3 main thumb keys become mod/taps
  10. (deflayer qwerty
  11. _ _ _ _ _ _ _ _ _ _
  12. _ _ _ _ _ _ _ _ _ _
  13. _ _ _ _ _ _ _ _ _ _
  14. @sft @nav @sym
  15. )
  16. ;; Navigation layer:
  17. ;; - right: Vim-like arrows on HJKL, home/end page up/down, mouse scroll
  18. ;; - left: one-hand shortcuts (Ctrl-WASZXCV), Tab/Shift-Tab, prev/next
  19. (deflayer vimnav
  20. lrld C-w bck fwd XX home pgdn pgup end XX
  21. C-a C-s S-tab tab XX lft down up rght XX
  22. C-z C-x C-c C-v XX @mwl @mwd @mwu @mwr XX
  23. del _ esc
  24. )
  25. ;; Symbol layer
  26. (deflayer symbols
  27. 1 [ ] S-4 S-5 S-6 S-7 S-8 ' 0
  28. S-[ S-9 S-0 S-] = S-= - S-, S-. S-'
  29. @tld grv S-\ S-- / \ S-2 S-3 S-1 S-/
  30. _ @num spc @alt _ _
  31. )
  32. ;; Numrow layer
  33. (deflayer numrow
  34. S-1 S-2 S-3 S-4 S-5 S-6 S-7 S-8 S-9 S-0
  35. 1 2 3 4 5 6 7 8 9 0
  36. XX XX XX XX XX S-- - , . /
  37. @sft S-spc @sym
  38. )
  39. ;; Special key aliases
  40. (defalias
  41. tld S-grv
  42. ;; Main mod-tap: VimNav layer when hold, Space when tapped.
  43. ;; The space key must be hold long enough (300ms) to become a layer shift.
  44. nav (tap-hold 200 300 spc (layer-toggle vimnav))
  45. ;; Space-cadet thumb keys: Shift/BackSpace, AltGr/Return
  46. ;; - acts as a modifier by default, or as BS/Ret when tapped separately;
  47. ;; - works great with Qwerty-Lafayette and Ergo-L keyboard layouts, where
  48. ;; neither Shift nor AltGr are used outside of the 3×10 main alpha keys.
  49. sft (tap-hold-press 200 200 bspc lsft)
  50. alt (tap-hold-press 200 200 ret ralt)
  51. sym (tap-hold-press 200 200 ret (layer-toggle symbols))
  52. ;; NumRow layer shifter
  53. num (layer-toggle numrow)
  54. ;; Mouse wheel emulation
  55. mwu (mwheel-up 50 120)
  56. mwd (mwheel-down 50 120)
  57. mwl (mwheel-left 50 120)
  58. mwr (mwheel-right 50 120)
  59. )
  60. ;; vim: set ft=lisp