Document combo shuffle

This commit is contained in:
urob 2023-03-31 16:34:37 -04:00
parent 465b164c8d
commit f04448e0c0
2 changed files with 22 additions and 17 deletions

View file

@ -87,10 +87,10 @@ This is great but there are still a few rough edges:
flavour only kicks in when another key is pressed, this also requires
waiting past `tapping-term-ms`.
* Finally, it is worth noting that this setup works best in combination with a
dedicated shift for capitalization during normal typing (I am a big fan of
sticky-shift on a home-thumb). This is because shifting alphas is the
one scenario where pressing a mod may conflict with `global-quick-tap`, which
may result in false negatives when typing fast.
dedicated shift for capitalization during normal typing (I like sticky-shift
on a home-thumb). This is because shifting alphas is the one scenario where
pressing a mod may conflict with `global-quick-tap`, which may result in
false negatives when typing fast.
Here's my configuration (I use a bunch of [helper
macros](https://github.com/urob/zmk-nodefree-config) to simplify the syntax, but they
@ -151,7 +151,7 @@ misfires. Fortunately, the above-mentioned PR #1387, also adds a `global-quick-t
for combos, which in my experience all but completely eliminates the problem -- even
when rolling keys on the home row!
My combo layout aims place the most used symbols in easy-to-access
My combo layout aims to place the most used symbols in easy-to-access
locations while also making them easy to remember. Specifically:
- the top vertical-combo row matches the symbols on a standard numbers row
@ -159,7 +159,8 @@ locations while also making them easy to remember. Specifically:
- the bottom vertical-combo row is symmetric to the top row (subscript `_`
aligns with superscript `^`; minus `-` aligns with `+`; division `/` aligns
with multiplication `*`; logical-or `|` aligns with logical-and `&`)
- parenthesis, braces, brackets are set up symmetrically as horizontal combos
- parenthesis, braces, brackets are set up symmetrically as horizontal combos with `<`,
`>`, `{` and `}` being accessed from the Navigation layer
- left-hand side combos for `tap`, `esc`, `enter`, `cut` (on <kbd>X</kbd> + <kbd>D</kbd>),
`copy` and `paste` that go well with right-handed mouse usage
- <kbd>L</kbd> + <kbd>Y</kbd> switches to the Greek layer for a single key
@ -187,7 +188,10 @@ The main downside is that if a sequence of numbers is *immediately* followed by
letters on which my numpad is located (WFPRSTXCD), then the automatic deactivation won't
work. But this is rare -- most number sequences are terminated by `space`, `return` or some form
of punctuation/delimination. To deal with the rare cases where they aren't, there is a
`CANCEL` key on the navigation-layer that deactivates Numword, Capsword and Smart-mouse.
`CANCEL` key on the navigation-layer that deactivates Numword, Capsword and Smart-mouse.
(It also toggles off when pressing `Numword` again, but I find it cognitively easier to
have a dedicated "off-switch" than keeping track of which modes are currently active.)
##### Smart-Mouse
@ -219,11 +223,11 @@ one-handed Alt-Tab switcher (`PWin` and `NWin`).
##### Repeat
I recently switched to 25g-chocs on one of my keyboards. I already was a big fan of
combos prior to that (even with heavy MX-switches). But with the light chocs, I find
that I can now even use them for regular typing. While I haven't yet tried placing alphas
on combos, I am currently experimenting with a `repeat` combo on my home row that I
use to make writing double-letter words more fun.
I recently switched to 25g-chocs on one of my keyboards. I already was very happy with
my combos prior to that (even with heavy-ish MX-switches). But with the light chocs, I
find that I can now even use them for regular typing. While I haven't yet tried
placing alphas on combos, I am currently experimenting with a `repeat` combo on
my home row that I use to reduce SFUs when typing double-letter words.
## Issues and workarounds
@ -234,11 +238,12 @@ natively that would require complex user-space implementations in QMK). Below
are a few remaining issues:
- ZMK does not yet support "tap-only" combos
([#544](https://github.com/zmkfirmware/zmk/issues/544)), requiring a brief pause when
wanting to chord HRMs that overlap with combo positions. As a workaround, I implemented
all homerow combos as homerow-mod-combos. This is good enough for day-to-day, but does
not address all edge cases (eg removing mods from the mix doesn't work well). I am
really hoping for a native solution similar to QMK's "COMBO_MUST_TAP" property.
([#544](https://github.com/zmkfirmware/zmk/issues/544)), requiring a brief
pause when wanting to chord HRMs that overlap with combo positions. As a
workaround, I implemented all homerow combos as homerow-mod-combos. This is
good enough for day-to-day, but does not address all edge cases (eg
dynamically adding/removing mods doesn't work well). Having a native solution
akin to QMK's "COMBO_MUST_TAP" property would be fantastic.
- Another item on my wishlist are adaptive keys
([#1624](https://github.com/zmkfirmware/zmk/issues/1624)). This would open
the door for things like <kbd>space</kbd><kbd>space</kbd> becoming