This is my configuration. This is to convey the high-level idea. I will try to cover specific features in more detail in separate threads.
Base layer
Notice 7890 keys which together with trackball act as regular thumb trackball with buttons on 7890
- 7890 keys map to mouse buttons, basic tab switching, new tab, close tab, and trackball-scrolling
- mouse/caps button alone mirrors entire keymap… …so it is possible to write single-handedly.
Mouse layer - arrow clusters
Case buttons activate arrow keys:
- A-insert is terminal paste shortcut
Mod layer - actual mouse keys (sorry for confusion!)
Case button + mouse/caps button activates mouse key layer
- A-arrows, C-PgUp/Down are browser history and tab switching
- C-T C-W are “new tab” “close tab”
Fn layer - symbols and other functions
Right “space” activates symbol/macro/Fkey layer:
- top row are runtime macros (vim-like style), ~ key acts as vim Q (Q+key starts recording)
- Emoji contains shortcuts to commonly used emoji alt codes, e.g. Emoji+c+r = cry, Emoji + h + r = heart, etc…
- Bind allows rebinding part of the keymap:
- Bind+a - maps arrows onto jilk, and regular escape on the mouse/caps key
- Bind+m - maps the 7890 keys to regular mouse actions (this disables rocking gestures, middle-hold scrolling and middleclick simulation, but works reliably in games etc)
- RGB allows switching backlight colour, e.g., RGB+r = red, RGB+y = yellow, RGB+n = warm white, RGB+f = functional…
And then there is another keymap which realizes that mirroring setup, via holdKeymapLayer
referencesreplaceLayer
in $onKeymapChange QT3
macro event…
See also: