From 28f89086fe0d91329cd77bb8a76f0b2400d1bc34 Mon Sep 17 00:00:00 2001 From: urob <978080+urob@users.noreply.github.com> Date: Fri, 14 Apr 2023 17:11:54 -0400 Subject: [PATCH] PR 1423 is now merged upstream --- readme.md | 23 +++++++++++------------ 1 file changed, 11 insertions(+), 12 deletions(-) diff --git a/readme.md b/readme.md index ac03536..483155b 100644 --- a/readme.md +++ b/readme.md @@ -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 = ; - 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 = ; - 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.