PR 1423 is now merged upstream

This commit is contained in:
urob 2023-04-14 17:11:54 -04:00
parent b03dda1231
commit 28f89086fe

View file

@ -66,17 +66,16 @@ This is great but there are still a few rough edges:
* When rolling keys, I sometimes unintentionally end up with "nested" key
sequences: `key 1` down, `key 2` down and up, `key 1` up. Because of the
`balanced` flavor, this would falsely register `key 1` as a mod. As a remedy,
I use ZMK's "positional hold-tap" feature to force HRMs to always resolve as
I use ZMK's `positional hold-tap` feature to force HRMs to always resolve as
"tap" when the *next* key is on the same side of the keyboard. Problem
solved.
* ... or at least almost. The official ZMK version for positional-hold-taps
* ... or at least almost. By default, positional-hold-tap
performs the positional check when the next key is *pressed*. This is not
ideal, because it prevents combining multiple modifiers on the same hand. To
fix this, I use a small patch that delays the positional-hold-tap decision
until the next key's *release* ([PR
#1423](https://github.com/zmkfirmware/zmk/pull/1423)). With the patch,
fix this, I use the `hold-trigger-on-release` setting, which delays the
positional-hold-tap decision until the next key's *release*. With the setting,
multiple mods can be combined when held, while I still get the benefit from
positional-hold-taps when keys are tapped.
positional-hold-tap when keys are tapped.
* So far, nothing of the configuration depends on the duration of
`tapping-term-ms`. In practice, there are two reasons why I don't set it to
infinity:
@ -115,7 +114,7 @@ ZMK_BEHAVIOR(hml, hold_tap,
global-quick-tap-ms = <150>; // requires PR #1387
bindings = <&kp>, <&kp>;
hold-trigger-key-positions = <KEYS_R THUMBS>;
hold-trigger-on-release; // requires PR #1423
hold-trigger-on-release; // delay positional check until key-release
)
/* right-hand HRMs */
@ -126,7 +125,7 @@ ZMK_BEHAVIOR(hmr, hold_tap,
global-quick-tap-ms = <150>; // requires PR #1387
bindings = <&kp>, <&kp>;
hold-trigger-key-positions = <KEYS_L THUMBS>;
hold-trigger-on-release; // requires PR #1423
hold-trigger-on-release; // delay positional check until key-release
)
```
@ -137,10 +136,10 @@ one can replace `global-quick-tap-ms = <150>` with `global-quick-tap` for a
similar effect (`global-quick-tap` will use the regular `quick-tap-ms` timeout
in this case).
My personal [ZMK fork](https://github.com/urob/zmk) includes both the
global-quick-tap-ms PR and the hold-trigger-on-release PR (along with a few
other PRs). If you prefer to maintain your own fork with a custom selection of
PRs, you might find this [ZMK-centric introduction to
My personal [ZMK fork](https://github.com/urob/zmk) includes the
global-quick-tap-ms PR along with a few other PRs used in my config. If you
prefer to maintain your own fork with a custom selection of PRs, you might find
this [ZMK-centric introduction to
Git](https://gist.github.com/urob/68a1e206b2356a01b876ed02d3f542c7) helpful.