-
Notifications
You must be signed in to change notification settings - Fork 17
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
feat(kanata): add HRM-optimized navigation layer
## HRM friendly S-tab/tab S-tab and tab stay on the homerow while playing nice with Ctrl and Alt mods. ## Add cross-platform quit shortcut on HRM nav layer @qut → [Q] - @qut allows closing apps on any OS (C-q on Linux, A-f4 on Windows, etc.), optimizing muscular memory - it is more coherent to map @qut on [Q] @pad → [A] - @pad thus mirrors @fun on the right hand - allows using the numpad’s arrow keys without locking the layer (layer-while-held) ## Map esc/del on [A]/[V] The goal is to allow escaping and deleting using the left hand only. ## Media controls in funpad Because funpad stands for fun! Rationale: mod keys in the existing funpad are pointless with HRMs.
- Loading branch information
Showing
2 changed files
with
55 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,54 @@ | ||
;; Vim-Navigation layer (optimized for home-row mods): | ||
;; - right: Vim-like arrows on HJKL, home/end page up/down, mouse scroll | ||
;; - left: Tab/Shift-Tab, prev/next, quit, esc, del | ||
;; - top: Super-num (i3/sway) or Alt-num (browser), zoom in/out | ||
|
||
;; The `lrld` action stands for "live reload". This will re-parse everything | ||
;; except for linux-dev, i.e. you cannot live reload and switch keyboard devices. | ||
|
||
(deflayer navigation | ||
M-1 M-2 M-3 M-4 M-5 lrld M-6 M-7 M-8 M-9 M-0 | ||
@qut esc bck fwd XX home pgdn pgup end @run | ||
@pad S-tab tab tab XX lft down up rght @fun | ||
XX XX XX del XX _ @mwl @mwd @mwu @mwr XX | ||
del _ esc | ||
) | ||
|
||
;; NumPad | ||
(deflayer numpad | ||
_ _ _ _ _ _ _ _ _ _ _ | ||
XX home up end pgup @/ @7 @8 @9 XX | ||
XX lft down rght pgdn @- @4 @5 @6 @0 | ||
XX XX XX XX XX _ @, @1 @2 @3 @. | ||
@std @nbs @std | ||
) | ||
|
||
;; function keys | ||
(deflayer funpad | ||
XX XX XX XX XX XX XX XX XX XX XX | ||
f1 f2 f3 f4 XX XX prev pp next XX | ||
f5 f6 f7 f8 XX XX vold volu mute _ | ||
f9 f10 f11 f12 XX XX XX brdn bru XX XX | ||
_ _ _ | ||
) | ||
|
||
(defalias | ||
std (layer-switch base) | ||
pad (layer-switch numpad) | ||
|
||
fun (layer-while-held funpad) | ||
|
||
;; Choose the quit shortcut according to your OS. | ||
;; qut C-q ;; [Control]-[Q] (Linux) | ||
;; qut M-q ;; [Command]-[Q] (macOS) | ||
;; qut A-f4 ;; [Alt]-[F4] (Windows) | ||
qut XX ;; do nothing | ||
|
||
;; Mouse wheel emulation | ||
mwu (mwheel-up 50 120) | ||
mwd (mwheel-down 50 120) | ||
mwl (mwheel-left 50 120) | ||
mwr (mwheel-right 50 120) | ||
) | ||
|
||
;; vim: set ft=lisp |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters