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

Binary file not shown.

Before

Width:  |  Height:  |  Size: 133 KiB

After

Width:  |  Height:  |  Size: 117 KiB

Before After
Before After

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 flavour only kicks in when another key is pressed, this also requires
waiting past `tapping-term-ms`. waiting past `tapping-term-ms`.
* Finally, it is worth noting that this setup works best in combination with a * 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 dedicated shift for capitalization during normal typing (I like sticky-shift
sticky-shift on a home-thumb). This is because shifting alphas is the on a home-thumb). This is because shifting alphas is the one scenario where
one scenario where pressing a mod may conflict with `global-quick-tap`, which pressing a mod may conflict with `global-quick-tap`, which may result in
may result in false negatives when typing fast. false negatives when typing fast.
Here's my configuration (I use a bunch of [helper Here's my configuration (I use a bunch of [helper
macros](https://github.com/urob/zmk-nodefree-config) to simplify the syntax, but they 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 for combos, which in my experience all but completely eliminates the problem -- even
when rolling keys on the home row! 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: locations while also making them easy to remember. Specifically:
- the top vertical-combo row matches the symbols on a standard numbers row - 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 `_` - the bottom vertical-combo row is symmetric to the top row (subscript `_`
aligns with superscript `^`; minus `-` aligns with `+`; division `/` aligns aligns with superscript `^`; minus `-` aligns with `+`; division `/` aligns
with multiplication `*`; logical-or `|` aligns with logical-and `&`) 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>), - 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 `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 - <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 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 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 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 ##### Smart-Mouse
@ -219,11 +223,11 @@ one-handed Alt-Tab switcher (`PWin` and `NWin`).
##### Repeat ##### Repeat
I recently switched to 25g-chocs on one of my keyboards. I already was a big fan of I recently switched to 25g-chocs on one of my keyboards. I already was very happy with
combos prior to that (even with heavy MX-switches). But with the light chocs, I find my combos prior to that (even with heavy-ish MX-switches). But with the light chocs, I
that I can now even use them for regular typing. While I haven't yet tried placing alphas find that I can now even use them for regular typing. While I haven't yet tried
on combos, I am currently experimenting with a `repeat` combo on my home row that I placing alphas on combos, I am currently experimenting with a `repeat` combo on
use to make writing double-letter words more fun. my home row that I use to reduce SFUs when typing double-letter words.
## Issues and workarounds ## Issues and workarounds
@ -234,11 +238,12 @@ natively that would require complex user-space implementations in QMK). Below
are a few remaining issues: are a few remaining issues:
- ZMK does not yet support "tap-only" combos - ZMK does not yet support "tap-only" combos
([#544](https://github.com/zmkfirmware/zmk/issues/544)), requiring a brief pause when ([#544](https://github.com/zmkfirmware/zmk/issues/544)), requiring a brief
wanting to chord HRMs that overlap with combo positions. As a workaround, I implemented pause when wanting to chord HRMs that overlap with combo positions. As a
all homerow combos as homerow-mod-combos. This is good enough for day-to-day, but does workaround, I implemented all homerow combos as homerow-mod-combos. This is
not address all edge cases (eg removing mods from the mix doesn't work well). I am good enough for day-to-day, but does not address all edge cases (eg
really hoping for a native solution similar to QMK's "COMBO_MUST_TAP" property. 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 - Another item on my wishlist are adaptive keys
([#1624](https://github.com/zmkfirmware/zmk/issues/1624)). This would open ([#1624](https://github.com/zmkfirmware/zmk/issues/1624)). This would open
the door for things like <kbd>space</kbd><kbd>space</kbd> becoming the door for things like <kbd>space</kbd><kbd>space</kbd> becoming