diff --git a/config/base.keymap b/config/base.keymap index 105f293..b365a90 100644 --- a/config/base.keymap +++ b/config/base.keymap @@ -5,6 +5,7 @@ ISSUES, WORKAROUNDS and a "ZMK-WISHLIST" * sticky-hold swallows OS shift when typing quickly, using sticky-tap for now * native sleep key doesn't work with windows (#1077), using sleep-macro for now * invalid DFU suffix signature warning when flashing with dfu-util + * todo: num_word: momentary shift to number layer, auto-cancel on everything that's not a number */ #include diff --git a/config/combos.dtsi b/config/combos.dtsi index 326ab07..9bd67ab 100644 --- a/config/combos.dtsi +++ b/config/combos.dtsi @@ -8,8 +8,8 @@ ╰─────────────╯ ╰─────────────╯ */ // use global-quick-tap-ms for combos (requires PR 1387) -#undef COMBO_ADD_ON -#define COMBO_ADD_ON global-quick-tap-ms = <150>; +#undef COMBO_HOOK +#define COMBO_HOOK global-quick-tap-ms = <125>; #define COMBO_TERM_FAST 20 #define COMBO_TERM_SLOW 35 diff --git a/zmk-nodefree-config/README.md b/zmk-nodefree-config/README.md index 5575495..11c1459 100644 --- a/zmk-nodefree-config/README.md +++ b/zmk-nodefree-config/README.md @@ -147,9 +147,12 @@ ZMK_KEYMAP(default_layer, two layers). If set to `ALL` the combo is active on all layers. By default, the timeout for combos created with `ZMK_COMBO` is 30ms. If `COMBO_TERM` is -reset prior to calling `ZMK_COMBO`, the new value of `COMBO_TERM` is used instead. Note: while -it is possible to set different timeouts for different combos, this is known to cause -[issues](https://github.com/zmkfirmware/zmk/issues/905) with overlapping combos and should be avoided. +reset prior to calling `ZMK_COMBO`, the new value of `COMBO_TERM` is used instead. +Alternatively, one can use `ZMK_COMBO_ADV` which allows to specify the combo-timeout directly +as 5th argument. + +Note: with older ZMK versions, using different combo-timeouts would result in keys +getting stuck. If this is an issue, try updating to the latest ZMK version. #### Example: copy and paste combos @@ -369,8 +372,16 @@ ZMK_BEHAVIOR(hmr, hold_tap, // right-hand HRMs ## Changelog -* 7/31/2022: Switch unicode dependency from PR #1114 to - [#1412](https://github.com/zmkfirmware/zmk/pull/1412) +* **8/05/2022:** New combo macro `ZMK_COMBO_ADV` for "advanced" combo setups. Compared + to the regular `ZMK_COMBO` macro, it takes the combo-timeout as fifth argument. + Moreover, if `COMBO_HOOK` is defined, it includes its definition as additional + options. For example, to use the new global-quick-tap for combos option introduced in + [PR #1387](https://github.com/andrewjrae/zmk/tree/min-prior-ms), one would set + `#define COMBO_HOOK global-quick-tap-ms = <125>;` before calling `ZMK_COMBO_ADV`. + See [my personal combo + setup](https://github.com/urob/zmk-config/blob/main/config/combos.dtsi) for examples. +* **7/31/2022:** Switch unicode dependency from PR #1114 to + [PR #1412](https://github.com/zmkfirmware/zmk/pull/1412) [^1]: The default for Windows is `OS_UNICODE_LEAD` set to tap Right Alt diff --git a/zmk-nodefree-config/helper.h b/zmk-nodefree-config/helper.h index 34d041b..590cd06 100644 --- a/zmk-nodefree-config/helper.h +++ b/zmk-nodefree-config/helper.h @@ -62,8 +62,8 @@ }; \ }; -#if !defined COMBO_ADD_ON - #define COMBO_ADD_ON +#if !defined COMBO_HOOK + #define COMBO_HOOK #endif #define ZMK_COMBO_ADV(name, combo_bindings, keypos, combo_layers, combo_timeout) \ / { \ @@ -74,7 +74,7 @@ bindings = ; \ key-positions = ; \ layers = ; \ - COMBO_ADD_ON \ + COMBO_HOOK \ }; \ }; \ };