Files
dotfiles/kanata/.config/config_new.kbd
T
2026-10-01 19:51:14 +02:00

84 lines
2.6 KiB
Plaintext

;; defsrc is still necessary
(defcfg
process-unmapped-keys yes
)
(defsrc
caps a s d f h j k l ; v c u i o
)
(defvar
tap-time 250
hold-time 250
mm-interval 10 ;; ms between pointer moves
mm-accel 1000 ;; ms to ramp from slow start to full speed
mm-min 2 ;; px per move at start (precision)
mm-max 20 ;; px per move at full speed
)
(defalias
escctrl (tap-hold 250 250 esc lctrl)
a (tap-hold $tap-time $hold-time a lmet)
s (tap-hold $tap-time $hold-time s lalt)
d (tap-hold $tap-time $hold-time d lsft)
f (tap-hold $tap-time $hold-time f lctl)
j (tap-hold $tap-time $hold-time j rctl)
k (tap-hold $tap-time $hold-time k rsft)
l (tap-hold $tap-time $hold-time l ralt)
; (tap-hold $tap-time $hold-time ; rmet)
;; hold v = pointer layer, tap v = v
ptr (layer-while-held pointer)
v (tap-hold $tap-time $hold-time v @ptr)
;; hold c = scroll layer, tap c = c
scl (layer-while-held scroll)
c (tap-hold $tap-time $hold-time c @scl)
;; pointer movement (accelerating: precise at first, fast when held)
plft (movemouse-accel-left $mm-interval $mm-accel $mm-min $mm-max)
pdn (movemouse-accel-down $mm-interval $mm-accel $mm-min $mm-max)
pup (movemouse-accel-up $mm-interval $mm-accel $mm-min $mm-max)
prgt (movemouse-accel-right $mm-interval $mm-accel $mm-min $mm-max)
;; scrolling (50 = ms between scrolls · 120 = distance, one wheel notch)
sclu (mwheel-up 50 120)
scld (mwheel-down 50 120)
scll (mwheel-left 50 120)
sclr (mwheel-right 50 120)
)
(deflayer base
@escctrl @a @s @d @f h @j @k @l @; @v @c u i o
)
(deflayer pointer
_ ;; caps — transparent → stays esc/ctrl
_ ;; a
_ ;; s
_ ;; d
_ ;; f
@plft ;; h = move left
@pdn ;; j = move down
@pup ;; k = move up
@prgt ;; l = move right
_ ;; ;
_ ;; v
_ ;; c
mlft ;; u = left click (held while pressed → drag works)
mmid ;; i = middle click
mrgt ;; o = right click
)
(deflayer scroll
_ ;; caps
_ ;; a
_ ;; s
_ ;; d
_ ;; f
@scll ;; h = scroll left
@scld ;; j = scroll down
@sclu ;; k = scroll up
@sclr ;; l = scroll right
_ ;; ;
_ ;; v
_ ;; c
mlft ;; u = left click
mmid ;; i = middle click
mrgt ;; o = right click
)