2025-08-29 20:41:23 -04:00
|
|
|
#|
|
|
|
|
|
Kanata Config
|
|
|
|
|
○ Ergonomic (kinda?) 34-key QWERTY layout
|
|
|
|
|
○ GACS home-row mods
|
2025-09-01 13:08:04 -04:00
|
|
|
○ Layers for function, number, and symbol keys
|
2025-08-29 20:41:23 -04:00
|
|
|
○ Dedicated (and non-intrusive!) standard layout toggle for reliant tasks
|
|
|
|
|
○ Decently commented for beginners and seasoned veterans alike.
|
|
|
|
|
|
|
|
|
|
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
|
2025-08-29 21:27:52 -04:00
|
|
|
concurrent-tap-hold yes
|
2025-08-29 20:41:23 -04:00
|
|
|
)
|
|
|
|
|
#|
|
|
|
|
|
Trying to be minimal in order to reduce constant editing
|
|
|
|
|
of layer keys, not to mention how ugly having a 60% layout
|
|
|
|
|
is when you have mapped keys in the grid.
|
2025-08-30 09:18:10 -04:00
|
|
|
|#
|
2025-08-29 20:41:23 -04:00
|
|
|
(defsrc
|
|
|
|
|
caps
|
|
|
|
|
q w e r t y u i o p
|
|
|
|
|
a s d f g h j k l scln
|
|
|
|
|
z x c v b n m , . /
|
|
|
|
|
lalt spc ralt
|
|
|
|
|
)
|
|
|
|
|
;; Variables for clean code
|
|
|
|
|
(defvar
|
|
|
|
|
tap-time 200
|
|
|
|
|
hold-time 250
|
|
|
|
|
)
|
|
|
|
|
;; Bindings
|
|
|
|
|
(defalias
|
|
|
|
|
;; Normal keyboard layer for gaming/other normie usage
|
|
|
|
|
normie (layer-switch norm)
|
|
|
|
|
;; Key chord definitions
|
|
|
|
|
chw (chord ch w)
|
|
|
|
|
che (chord ch e)
|
|
|
|
|
chi (chord ch i)
|
|
|
|
|
cho (chord ch o)
|
|
|
|
|
chs (chord ch s)
|
|
|
|
|
chd (chord ch d)
|
|
|
|
|
chk (chord ch k)
|
|
|
|
|
chl (chord ch l)
|
|
|
|
|
ch_lalt (chord ch lalt)
|
|
|
|
|
ch_ralt (chord ch ralt)
|
2025-09-01 13:08:04 -04:00
|
|
|
;; Remap Caps to tap dance with Escape/Hyper Key & Caps/Navlayer
|
2025-08-29 20:41:23 -04:00
|
|
|
navlayer (layer-while-held nav)
|
2025-09-01 13:08:04 -04:00
|
|
|
caps (tap-dance 200
|
|
|
|
|
(
|
|
|
|
|
(tap-hold $tap-time $hold-time esc (multi lmet lalt lctl lsft))
|
|
|
|
|
(tap-hold $tap-time $hold-time caps @navlayer)
|
|
|
|
|
)
|
|
|
|
|
)
|
2025-08-29 20:41:23 -04:00
|
|
|
;; Home row mods
|
|
|
|
|
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 lctl)
|
|
|
|
|
f (tap-hold $tap-time $hold-time f lsft)
|
|
|
|
|
j (tap-hold $tap-time $hold-time j rsft)
|
|
|
|
|
k (tap-hold $tap-time $hold-time k lctl)
|
|
|
|
|
l (tap-hold $tap-time $hold-time l lalt)
|
|
|
|
|
scln (tap-hold $tap-time $hold-time scln rmet)
|
|
|
|
|
;; Numpad layer
|
|
|
|
|
numpad (layer-while-held num)
|
|
|
|
|
g (tap-hold $tap-time $hold-time g @numpad)
|
|
|
|
|
;; Function key layer
|
|
|
|
|
fnkeys (layer-while-held fn)
|
|
|
|
|
h (tap-hold $tap-time $hold-time h @fnkeys)
|
|
|
|
|
#|
|
2025-09-01 13:08:04 -04:00
|
|
|
Meh key when V or N are held down to allow for either hand to
|
|
|
|
|
use meh key for Raycast shortcuts.
|
2025-08-29 20:41:23 -04:00
|
|
|
|#
|
2025-09-01 13:08:04 -04:00
|
|
|
v (tap-hold $tap-time $hold-time v (multi lsft lalt lmet))
|
|
|
|
|
n (tap-hold $tap-time $hold-time n (multi lsft lalt lmet))
|
2025-08-29 20:41:23 -04:00
|
|
|
;; Holding Spacebar activates symbol layer
|
|
|
|
|
symbols (layer-while-held symbol)
|
|
|
|
|
spc (tap-hold $tap-time $hold-time spc @symbols)
|
|
|
|
|
;; Media layer when Z or / are held.
|
|
|
|
|
medialy (layer-while-held md)
|
|
|
|
|
z (tap-hold $tap-time $hold-time z @medialy)
|
|
|
|
|
/ (tap-hold $tap-time $hold-time / @medialy)
|
|
|
|
|
)
|
|
|
|
|
;; Chord definitions. Kind of weird to read as a layperson
|
|
|
|
|
;; so I provided sufficient comments for general understanding.
|
|
|
|
|
(defchords ch 50
|
|
|
|
|
(w ) w ;; W => W
|
|
|
|
|
( e) e ;; E => E
|
|
|
|
|
(w e) ret ;; W + E => Enter
|
|
|
|
|
(i ) i ;; I => I
|
|
|
|
|
( o) o ;; O => O
|
|
|
|
|
(i o) bspc ;; I + O => Backspace
|
|
|
|
|
(s ) @s ;; S => S
|
|
|
|
|
( d) @d ;; D => D
|
|
|
|
|
(s d) tab ;; S + D => Tab
|
|
|
|
|
(k ) @k ;; K => K (See defalias)
|
|
|
|
|
( l) @l ;; L => L (See defalias)
|
|
|
|
|
(k l) esc ;; K + L => Escape
|
|
|
|
|
(lalt ) lalt ;; LAlt => LAlt
|
|
|
|
|
( ralt) ralt ;; RAlt => RAlt
|
|
|
|
|
#|
|
|
|
|
|
Put simply, the below line allows for toggling a no-bind
|
|
|
|
|
layer for when you may require a standard layout (such as
|
|
|
|
|
playing Street Fighter, Counter Strike, etc.) by pressing
|
|
|
|
|
both alt keys at the same time. You can toggle back to the
|
|
|
|
|
base layer by holding both alts at the same time, as to allow
|
|
|
|
|
for normal functionality when holding either key down for a shortcut.
|
|
|
|
|
|#
|
|
|
|
|
(lalt ralt) (tap-hold $tap-time $hold-time @normie (layer-switch base))
|
|
|
|
|
)
|
|
|
|
|
;; Base layer with all binds enabled
|
|
|
|
|
(deflayer base
|
|
|
|
|
@caps
|
|
|
|
|
q @chw @che r t y u @chi @cho p
|
|
|
|
|
@a @chs @chd @f @g @h @j @chk @chl @scln
|
|
|
|
|
@z x c @v b @n m , . @/
|
|
|
|
|
@ch_lalt @spc @ch_ralt
|
|
|
|
|
)
|
|
|
|
|
;; Navigation layer
|
|
|
|
|
(deflayer nav
|
|
|
|
|
_
|
|
|
|
|
mbck (movemouse-up 3 3) mfwd _ _ _ mlft mrgt pgup pgdn
|
|
|
|
|
(movemouse-left 3 3) (movemouse-down 3 3) (movemouse-right 3 3) _ home left down up right end
|
|
|
|
|
_ _ _ _ _ _ _ _ _ _
|
|
|
|
|
_ _ _
|
|
|
|
|
)
|
|
|
|
|
;; Numpad Layer
|
|
|
|
|
(deflayer num
|
|
|
|
|
_
|
|
|
|
|
_ _ _ _ _ _ 7 8 9 _
|
|
|
|
|
_ _ _ _ _ _ 4 5 6 0 _
|
|
|
|
|
_ _ _ _ _ 1 2 3 _
|
|
|
|
|
_ _ _
|
|
|
|
|
)
|
|
|
|
|
;; Function key layer
|
|
|
|
|
(deflayer fn
|
|
|
|
|
_
|
|
|
|
|
f1 f2 f3 f4 _ _ _ _ _ _
|
|
|
|
|
f5 f6 f7 f8 _ _ _ _ _ _ _
|
|
|
|
|
f9 f10 f11 f12 _ _ _ _ _
|
|
|
|
|
_ _ _
|
|
|
|
|
)
|
|
|
|
|
;; Symbol layer
|
|
|
|
|
(deflayer symbol
|
|
|
|
|
_
|
|
|
|
|
S-1 S-2 S-3 S-4 S-5 S-6 S-7 S-8 S-9 S-0
|
|
|
|
|
- S-= S-[ S-] [ ] S-` S-scln S-\ \
|
|
|
|
|
= _ _ ` _ S-- _ _ ' S-'
|
|
|
|
|
_ _ _
|
|
|
|
|
)
|
|
|
|
|
;; Aformentioned standard layer with combo binds for toggling back
|
|
|
|
|
;; to base layer.
|
|
|
|
|
(deflayer norm
|
|
|
|
|
esc
|
|
|
|
|
q w e r t y u i o p
|
|
|
|
|
a s d f g h j k l scln
|
|
|
|
|
z x c v b n m , . /
|
|
|
|
|
@ch_lalt spc @ch_ralt
|
|
|
|
|
)
|
|
|
|
|
(deflayer md
|
|
|
|
|
_
|
2025-09-01 13:08:04 -04:00
|
|
|
_ _ _ _ _ _ _ _ _ prtsc
|
|
|
|
|
prev pp next mute vold volu ins del brdn brup
|
2025-08-29 20:41:23 -04:00
|
|
|
_ _ _ _ _ _ _ _ _ _
|
|
|
|
|
_ _ _
|
2025-08-29 21:27:52 -04:00
|
|
|
)
|