okay THIS is endgame for real. i managed to reduce dependence on caps lock rebind for mouse navigation and instead separated mouse/arrows into separate layers that i can shift into using the alt keys (makeshift thumb keys).

This commit is contained in:
lulusilly 2026-07-24 16:44:06 -04:00
parent 4e56324ec9
commit 704a82ba75

View file

@ -28,8 +28,8 @@
) )
;; Variables for clean code ;; Variables for clean code
(defvar (defvar
tap-time 200 tap-time 150
hold-time 250 hold-time 180
chord-time 50 chord-time 50
) )
;; Bindings ;; Bindings
@ -52,9 +52,10 @@
;; Hyper & Meh key definition for easier reading. ;; Hyper & Meh key definition for easier reading.
hyper (multi lmet lsft lctl lalt) hyper (multi lmet lsft lctl lalt)
meh (multi lsft lctl lalt) meh (multi lsft lctl lalt)
;; Remap Caps to Ctrl+Space (Raycast activation)/Nav layer on hold, with double tap for Caps Lock toggle
navlayer (layer-while-held nav) navlayer (layer-while-held nav)
caps (tap-hold $tap-time $hold-time (tap-dance 200 ((multi lctl spc) @hyper caps)) @navlayer) vimnav (layer-while-held vim)
;; Remap Caps to Ctrl+Space (Raycast activation)/Nav layer on hold, with double tap for Caps Lock toggle
caps (tap-hold $tap-time $hold-time (tap-dance 200 ((multi lctl spc) 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)
@ -74,8 +75,8 @@
MEH key when V or M are held down to allow for either hand to MEH key when V or M are held down to allow for either hand to
use for shortcuts. use for shortcuts.
|# |#
v (tap-hold $tap-time $hold-time v (multi lsft lctl lalt)) v (tap-hold $tap-time $hold-time v @meh)
m (tap-hold $tap-time $hold-time m (multi lsft lctl lalt)) m (tap-hold $tap-time $hold-time m @meh)
;; 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)
@ -89,22 +90,22 @@
(defchords ch $chord-time (defchords ch $chord-time
(w ) w ;; W => W (w ) w ;; W => W
( e) e ;; E => E ( e) e ;; E => E
(w e) XX ;; W + E => (w e) @hyper ;; W + E => Hyper
(i ) i ;; I => I (i ) i ;; I => I
( o) o ;; O => O ( o) o ;; O => O
(i o) XX ;; I + O => (i o) @hyper ;; I + O => Hyper
(s ) @s ;; S => S (s ) @s ;; S => S
( d) @d ;; D => D ( d) @d ;; D => D
(s d) enter ;; S + D => Tab (s d) enter ;; S + D => Enter
(f ) @f ;; F => F (f ) @f ;; F => F
(f d) tab ;; F + D => Tab (f d) tab ;; F + D => Tab
(j k) esc ;; (j k) esc ;; J + K => Escape
(j ) @j ;; J => J (j ) @j ;; J => J
(k ) @k (k ) @k ;; K => K
( l) @l ( l) @l ;; L => L
(k l) bspc (k l) bspc ;; K + L => Backspace
(lalt ) (tap-dance $tap-time (@hyper lalt)) ;; LAlt => Hyper Key, LAlt × 2 => LAlt (lalt ) (tap-dance $tap-time (@vimnav lalt)) ;; LAlt => vimnav, LAlt × 2 => LAlt
( ralt) (tap-dance $tap-time (@hyper ralt)) ;; LAlt => Hyper Key, LAlt × 2 => LAlt ( ralt) (tap-dance $tap-time (@navlayer ralt)) ;; LAlt => nav, LAlt × 2 => LAlt
#| #|
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
@ -123,12 +124,20 @@
@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 ;; Mouse Navigation layer
(deflayer nav (deflayer nav
_ _
mbck (movemouse-up 3 2) mfwd _ _ _ mlft mrgt (mwheel-up 50 120) (mwheel-down 50 120) _ mbck (movemouse-up 3 2) mfwd _ _ _ _ _ _
(movemouse-left 3 2) (movemouse-down 3 2) (movemouse-right 3 2) _ home left down up right end (multi lctl lsft tab) (movemouse-left 3 2) (movemouse-down 3 2) (movemouse-right 3 2) (multi lctl tab) (multi lctl lsft tab) mlft mmid mrgt (multi lctl tab)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ (mwheel-left 100 120) (mwheel-down 100 120) (mwheel-up 100 120) (mwheel-right 100 120) _
_ _ _
)
;; Arrow Navigation Layer (Vim-like bindings)
(deflayer vim
_
_ _ _ _ _ _ (multi lsft lctl left) (multi lctl left) (multi lctl right) (multi lsft lctl right)
_ _ _ _ home left down up right end _
_ _ _ _ _ _ _ _ _
_ _ _ _ _ _
) )
;; Numpad Layer ;; Numpad Layer