Reformat the layout and comments for the kanata keyboard

This commit is contained in:
Howard Abrams 2026-01-02 14:23:44 -08:00
parent 4e7d759e25
commit 9f2eb65d06

View file

@ -1,34 +1,46 @@
;; -*- mode:lisp; -*-
;; Here is a keyboard setup for an Apple Macbook keyboard to work with ;; Here is a keyboard setup for an Apple Macbook keyboard to work with
;; "home row mods" where holding down keys on the home row can act like a ;; "home row mods" where holding down keys on the home row can act like a
;; modifier, so holding down `d` and hitting `p` results in `P` being ;; modifier, so holding down `d` and hitting `p` results in `P` being
;; entered. ;; entered.
;;
;; Installation:
;; brew install kanata
;;
;; Running:
;; sudo kanata --cfg ~/src/hamacs/laptop_keyboard.kbd
(deflocalkeys-macos (deflocalkeys-macos
ì 13 ì 13)
)
;; Also includes a symbol layer accessible while holding down either ;; While this works on both my Macbook running MacOS and Linux, I have
;; the `h' or `g' keys. ;; yet to figure out how to get the same file to work in both, as I
;; have to modify the code in the `defcfg' section below.
(defcfg (defcfg
macos-dev-names-include ("Apple Internal Keyboard / Trackpad") ;; linux-dev-names-include ("Apple Internal Keyboard / Trackpad")
;; linux-dev-names-include ( macos-dev-names-include ("Apple Internal Keyboard / Trackpad"))
;; "Microsoft Surface 045E:091C Keyboard"
;; ) ;; What keys are we re-defining? This is my Macbook Pro layouts, as
) ;; both laptops are this hardware.
;;
;; Notice lmet/rmet = Apple's Command Key
;; lalt/ralt = Option, or a real meta key
(defsrc (defsrc
esc f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 esc f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12
` 1 2 3 4 5 6 7 8 9 0 - = bspc ` 1 2 3 4 5 6 7 8 9 0 - = bspc
tab q w e r t y u i o p [ ] \ tab q w e r t y u i o p [ ] \
caps a s d f g h j k l ; ' ret caps a s d f g h j k l ; ' ret
lsft z x c v b n m , . / rsft lsft z x c v b n m , . / rsft
fn lctl lalt lmet spc rmet ralt fn lctl lalt lmet spc rmet ralt)
)
(defvar (defvar
tap-time 200 tap-time 200
hold-time 200 hold-time 200)
)
;; Also includes a symbol layer accessible while holding down either
;; the `h' or `g' keys.
(defalias (defalias
a (tap-hold $tap-time $hold-time a lmet) a (tap-hold $tap-time $hold-time a lmet)
@ -41,23 +53,27 @@
k (tap-hold $tap-time $hold-time k rsft) k (tap-hold $tap-time $hold-time k rsft)
l (tap-hold $tap-time $hold-time l rctl) l (tap-hold $tap-time $hold-time l rctl)
; (tap-hold $tap-time $hold-time ; rmet) ; (tap-hold $tap-time $hold-time ; rmet)
caps (tap-hold $tap-time $hold-time esc lctl) caps (tap-hold $tap-time $hold-time esc lctl))
)
;; The base layer is fairly normal, except we all out aliases defined
;; above, os the @a is both a `tap-hold' feature as well as a regular
;; `a` key:
(deflayer base (deflayer base
esc F1 F2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 esc f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12
` 1 2 3 4 5 6 7 8 9 0 - = bspc ` 1 2 3 4 5 6 7 8 9 0 - = bspc
tab q w e r t y u i o p [ ] \ tab q w e r t y u i o p [ ] \
@caps @a @s @d @f @g @h @j @k @l @; ' ret @caps @a @s @d @f @g @h @j @k @l @; ' ret
lsft z x c v b n m , . / rsft lsft z x c v b n m , . / rsft
@h lctl lalt lmet spc rmet ralt @h lctl lalt lmet spc rmet ralt)
)
;; The other layer is our `symbols' which allows me to hold down the
;; `g' key to invoke a magical VI-like h/j/k/l arrow keys:
(deflayer SYMBOLS (deflayer SYMBOLS
esc 🔅 🔆 F3 F4 f5 f16 ◀◀ ▶⏸ ▶▶ 🔇 🔉 🔊 esc 🔅 🔆 F3 F4 f5 f16 ◀◀ ▶⏸ ▶▶ 🔇 🔉 🔊
_ f11 f12 f13 f14 f15 f16 f17 f18 f19 f20 _ _ _ _ f11 f12 f13 f14 f15 f16 f17 f18 f19 f20 _ _ _
_ S-1 S-2 { } S-\ F16 F17 F18 F19 pgup _ _ _ _ S-1 S-2 { } S-\ F16 F17 F18 F19 pgup _ _ _
_ S-3 S-4 S-9 S-0 ` left down up right pgdn _ _ _ S-3 S-4 S-9 S-0 ` left down up right pgdn _ _
_ S-5 S-6 [ ] S-` F11 F12 F13 F14 F15 _ _ S-5 S-6 [ ] S-` F11 F12 F13 F14 F15 _
_ _ _ _ _ _ _ _ _ _ _ _ _ _)
)