Modified Kanata conf.kbd to reflect new and improved config for Windows/Linux machines

This commit is contained in:
elishaqtrogers 2025-09-13 20:18:25 -04:00
parent 28f70cab38
commit cd0113256e

View file

@ -2,18 +2,15 @@
Kanata Config Kanata Config
○ Ergonomic (kinda?) 34-key QWERTY layout ○ Ergonomic (kinda?) 34-key QWERTY layout
○ GACS home-row mods ○ GACS home-row mods
○ Layers for function, number, and symbol keys ○ Layers for function, number, media, and symbol keys
○ Dedicated (and non-intrusive!) standard layout toggle for reliant tasks ○ Dedicated (and non-intrusive!) standard layout toggle for reliant tasks
○ Decently commented for beginners and seasoned veterans alike. ○ Decently commented for beginners and seasoned veterans alike.
FEEL FREE TO FORK!!! FEEL FREE TO FORK!!!
NOTE: Due to NixOS's declarative nature, you must comment out the
defcfg for proper functionality. Defcfg arguments can be added using
the 'extraDefCfg' variable.
|# |#
(defcfg (defcfg
concurrent-tap-hold yes concurrent-tap-hold yes
movemouse-smooth-diagonals yes
) )
#| #|
Trying to be minimal in order to reduce constant editing Trying to be minimal in order to reduce constant editing
@ -31,6 +28,7 @@
(defvar (defvar
tap-time 200 tap-time 200
hold-time 250 hold-time 250
chord-time 50
) )
;; Bindings ;; Bindings
(defalias (defalias
@ -47,14 +45,9 @@
chl (chord ch l) chl (chord ch l)
ch_lalt (chord ch lalt) ch_lalt (chord ch lalt)
ch_ralt (chord ch ralt) ch_ralt (chord ch ralt)
;; Remap Caps to tap dance with Escape/Hyper Key & Caps/Navlayer ;; Remap Caps to Escape/Nav layer
navlayer (layer-while-held nav) navlayer (layer-while-held nav)
caps (tap-dance 200 caps (tap-hold $tap-time $hold-time (tap-dance 200 (esc caps)) @navlayer)
(
(tap-hold $tap-time $hold-time esc (multi lmet lalt lctl lsft))
(tap-hold $tap-time $hold-time caps @navlayer)
)
)
;; Home row mods ;; Home row mods
a (tap-hold $tap-time $hold-time a lmet) a (tap-hold $tap-time $hold-time a lmet)
s (tap-hold $tap-time $hold-time s lalt) s (tap-hold $tap-time $hold-time s lalt)
@ -71,11 +64,11 @@
fnkeys (layer-while-held fn) fnkeys (layer-while-held fn)
h (tap-hold $tap-time $hold-time h @fnkeys) h (tap-hold $tap-time $hold-time h @fnkeys)
#| #|
Meh key when V or N are held down to allow for either hand to Hyper key when V or M are held down to allow for either hand to
use meh key for Raycast shortcuts. use hyper key for AHK/Raycast shortcuts.
|# |#
v (tap-hold $tap-time $hold-time v (multi lsft lalt lctl)) v (tap-hold $tap-time $hold-time v (multi lsft lctl lalt))
n (tap-hold $tap-time $hold-time n (multi lsft lalt lctl)) m (tap-hold $tap-time $hold-time m (multi lsft lctl lalt))
;; Holding Spacebar activates symbol layer ;; Holding Spacebar activates symbol layer
symbols (layer-while-held symbol) symbols (layer-while-held symbol)
spc (tap-hold $tap-time $hold-time spc @symbols) spc (tap-hold $tap-time $hold-time spc @symbols)
@ -86,7 +79,7 @@
) )
;; Chord definitions. Kind of weird to read as a layperson ;; Chord definitions. Kind of weird to read as a layperson
;; so I provided sufficient comments for general understanding. ;; so I provided sufficient comments for general understanding.
(defchords ch 50 (defchords ch $chord-time
(w ) w ;; W => W (w ) w ;; W => W
( e) e ;; E => E ( e) e ;; E => E
(w e) ret ;; W + E => Enter (w e) ret ;; W + E => Enter
@ -99,8 +92,8 @@
(k ) @k ;; K => K (See defalias) (k ) @k ;; K => K (See defalias)
( l) @l ;; L => L (See defalias) ( l) @l ;; L => L (See defalias)
(k l) esc ;; K + L => Escape (k l) esc ;; K + L => Escape
(lalt ) lalt ;; LAlt => LAlt (lalt ) (tap-dance $tap-time ((multi lsft lctl lalt lmet) lalt)) ;; LAlt => Hyper Key, LAlt × 2 => LAlt
( ralt) ralt ;; RAlt => RAlt ( ralt) (tap-dance $tap-time ((multi lsft lctl lalt lmet) lalt)) ;; RAlt => Hyper Key, RAlt × 2 => RAlt
#| #|
Put simply, the below line allows for toggling a no-bind Put simply, the below line allows for toggling a no-bind
layer for when you may require a standard layout (such as layer for when you may require a standard layout (such as
@ -116,7 +109,7 @@
@caps @caps
q @chw @che r t y u @chi @cho p q @chw @che r t y u @chi @cho p
@a @chs @chd @f @g @h @j @chk @chl @scln @a @chs @chd @f @g @h @j @chk @chl @scln
@z x c @v b @n m , . @/ @z x c @v b n @m , . @/
@ch_lalt @spc @ch_ralt @ch_lalt @spc @ch_ralt
) )
;; Navigation layer ;; Navigation layer
@ -160,10 +153,12 @@
z x c v b n m , . / z x c v b n m , . /
@ch_lalt spc @ch_ralt @ch_lalt spc @ch_ralt
) )
;; Media layer
;; NOTE: On Windows the brdn and brup keys cause Kanata to crash for some reason as of kanata_gui 1.8.1
(deflayer md (deflayer md
_ _
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
prev pp next mute vold volu ins del brdn brup prev pp next mute vold volu brdn brup ins del
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
_ _ _ _ _ _
) )