Home Row Mods

Last updated
Jan 9, 2025 05:07 AM
summary
communication
date
Jan 8, 2025
type
Post
tags
open source
tech
status
Published
slug
home row mods
Long-story short, home row keys rock and Karabiner-Elements was so laggy it was unusable on macbook pro M2 Max with 64Gb of RAM, so I landed on kanata.
 
After installing Karabiner HID VIrtual Driver v4.3, because 5.0 wasn’t working, the daemon has to be running:
sudo '/Library/Application Support/org.pqrs/Karabiner-DriverKit-VirtualHIDDevice/Applications/Karabiner-VirtualHIDDevice-Daemon.app/Contents/MacOS/Karabiner-VirtualHIDDevice-Daemon'
 
A kanata.kbd config must be created…
;; defsrc is still necessary
(defcfg
  process-unmapped-keys yes
)

(defsrc
  f1   f2   f3   f4   f5   f6   f7   f8   f9   f10   f11   f12
  caps a s d f j k l ;
  fn
)
(defvar
  tap-time 150
  hold-time 200
)

(defalias
  escctrl (tap-hold 100 100 esc lctl)
  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 lsft)
  f (tap-hold $tap-time $hold-time f lctl)
  j (tap-hold $tap-time $hold-time j rctl)
  k (tap-hold $tap-time $hold-time k rsft)
  l (tap-hold $tap-time $hold-time l ralt)
  ; (tap-hold $tap-time $hold-time ; rmet)
  fnl (tap-hold 200 200 fn (layer-toggle fn))
)

(deflayer base
  brdn  brup  _    _    _    _   prev  pp  next  mute  vold  volu
  @escctrl @a @s @d @f @j @k @l @;
  @fnl
)

(deflayer fn
  f1   f2   f3   f4   f5   f6   f7   f8   f9   f10   f11   f12
  @escctrl _ _ _ _ _ _ _ _
  fn
)
 
Then, kanata has to be started…
sudo kanata -c kanata.kbd
 
Now, my “a” and “semicolon” keys are “command” when held, and their native letter when tapped allowing for more keyboard key combos for shortcuts to allow higher efficiency while promoting health.