So now that I have two 34 key split keyboards on the way I have to start figuring out how to reduce my thumb cluster to only allow for 2 thumb keys per side while still being able to easily access Smart Caps and Smart Numbers.
With the following features:
- Callum style Oneshot Modifiers (rewrite,
oneshot.c,user_oneshot.c)- double-tap to lock a modifier
- tap NAV to cancel all modifiers
- Smart Numbers (
feature.c)- holding NAV and tapping SYM
- will end when pressing space
- Smart Caps (
feature.c)- holding SYM and tapping NAV will turn ON Smart Caps
- tapping NAV will turn OFF Smart Caps
- tapping
.will cycle:Normal/Repeat -> Camel Case -> Snake Case -> Off
- will end when pressing space or NAV
- Smart Caps (
feature.c), Normal mode- start typing letters
- Smart Caps (
feature.c), Repeat mode- first enter some symbols that should be the delimiters
- then start typing letters
;will emit the delimiters (maximum 4)
- Smart Caps (
feature.c), Camel Case- start with typing letters
;will emit a space and set the next letter to be shifted- you can use
,to activate shift manually
- Smart Caps (
feature.c), Snake Case- start with typing letters
;will emit an underscore- you can use
,to activate shift manually
- SYM key can be tapped for a oneshot key from the SYM layer (
feature.c)- SYM key can also be held
- RAISE layer can be activated by holding NAV and SYM like tri-layer. (
feature.c) - RAISE layer can also be activated/locked by first tapping SYM then tapping NAV (
feature.c) - Custom
leaderimplementation using NAV as leader key (leader.c,user_leader.c)leader, mode = 1leaderleader, mode = 2leaderleaderleader, mode = 3leaderSYM, mode = 4
- Custom normal/shift/ctrl/alt keycodes (
cushi.c) - Custom OS keycodes to deal with
Mac OS/Windows/Ubuntu(cukey.c)
The leader key is the same key that activates the NAVIGATION layer (hold), however we treat it as a leader when it is tapped.
When it is a single tap the user has 250 ms to tap the first letter in the chain, the letter(s) following are not time bound.
Tapping the leader twice means that a second set of chains will be used, entering the chain is not time bound. Then
there is also a third set of chains, not time bound, that can be activated by tapping leader three times.
Examples:
leader f, this will activate easy motion (vscode)leader z, this will center the cursor in the middle of the screen (vscode)leader d d, this will execute a delete line commandleader o o, this will execute a insert line below commandleader g g, this will put the cursor at the top of the documentleader c i w, this will execute a change inside word command- etc.. see
user_leader.cfor the full list
leader leader n, this will print!=leader leader a, this will print&&leader leader o, this will print||- etc.. see
user_leader.cfor the full list
- HillSide: OK
- Kyria: OK
- Moonlander: OK
- Clone the QMK repository and install/setup
- Symlink, see
symlink-howto.md
Then compile Kyria, Hillside or Moonlander:
make splitkb/kyria/rev1:jaykaymake handwired/hillside/0_1:jaykaymake moonlander:jaykay
(Generated with https://github.com/jurgen-kluft/go-qmk-keymap)