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 * 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 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, `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 "tap" when the *next* key is on the same side of the keyboard. Problem
solved. 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 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 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 fix this, I use the `hold-trigger-on-release` setting, which delays the
until the next key's *release* ([PR positional-hold-tap decision until the next key's *release*. With the setting,
#1423](https://github.com/zmkfirmware/zmk/pull/1423)). With the patch,
multiple mods can be combined when held, while I still get the benefit from 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 * 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 `tapping-term-ms`. In practice, there are two reasons why I don't set it to
infinity: infinity:
@ -115,7 +114,7 @@ ZMK_BEHAVIOR(hml, hold_tap,
global-quick-tap-ms = <150>; // requires PR #1387 global-quick-tap-ms = <150>; // requires PR #1387
bindings = <&kp>, <&kp>; bindings = <&kp>, <&kp>;
hold-trigger-key-positions = <KEYS_R THUMBS>; 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 */ /* right-hand HRMs */
@ -126,7 +125,7 @@ ZMK_BEHAVIOR(hmr, hold_tap,
global-quick-tap-ms = <150>; // requires PR #1387 global-quick-tap-ms = <150>; // requires PR #1387
bindings = <&kp>, <&kp>; bindings = <&kp>, <&kp>;
hold-trigger-key-positions = <KEYS_L THUMBS>; 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 similar effect (`global-quick-tap` will use the regular `quick-tap-ms` timeout
in this case). in this case).
My personal [ZMK fork](https://github.com/urob/zmk) includes both the My personal [ZMK fork](https://github.com/urob/zmk) includes the
global-quick-tap-ms PR and the hold-trigger-on-release PR (along with a few global-quick-tap-ms PR along with a few other PRs used in my config. If you
other PRs). If you prefer to maintain your own fork with a custom selection of prefer to maintain your own fork with a custom selection of PRs, you might find
PRs, you might find this [ZMK-centric introduction to this [ZMK-centric introduction to
Git](https://gist.github.com/urob/68a1e206b2356a01b876ed02d3f542c7) helpful. Git](https://gist.github.com/urob/68a1e206b2356a01b876ed02d3f542c7) helpful.