Multiple combo timeouts (testing only)

This commit is contained in:
urob 2022-08-05 10:30:15 -04:00
parent 7f24c642cc
commit 444ccfd8be
2 changed files with 38 additions and 37 deletions

View file

@ -8,50 +8,51 @@
*/ */
// COMBO_TERM must be same for all combos to avoid #986, possibly related to #905 // COMBO_TERM must be same for all combos to avoid #986, possibly related to #905
#undef COMBO_TERM #define COMBO_TERM_FAST 20
#define COMBO_TERM 20 #define COMBO_TERM_SLOW 35
#undef COMBO_QUICK_TAP_MS #undef COMBO_QUICK_TAP_MS
#define COMBO_QUICK_TAP_MS 150 #define COMBO_QUICK_TAP_MS 150
/* Punctuation (horizontal left hand) */ /* Punctuation (horizontal left hand) */
ZMK_COMBO(num, &tog NUM, LT3 LT1, DEF NUM) ZMK_COMBO(num, &tog NUM, LT3 LT1, DEF NUM, COMBO_TERM_SLOW)
ZMK_COMBO(all, &kp LC(A), LT3 LT2, DEF NUM) ZMK_COMBO(all, &kp LC(A), LT3 LT2, DEF NUM, COMBO_TERM_FAST)
ZMK_COMBO(app, &kp LG(SPACE), LT2 LT1, DEF NUM) ZMK_COMBO(app, &kp LG(SPACE), LT2 LT1, DEF NUM, COMBO_TERM_FAST)
ZMK_COMBO(excl, &kp EXCL, LM3 LM2, DEF NUM) ZMK_COMBO(excl, &kp EXCL, LM3 LM2, DEF NUM, COMBO_TERM_FAST)
ZMK_COMBO(qmark, &kp QMARK, LM2 LM1, DEF NUM) ZMK_COMBO(qmark, &kp QMARK, LM2 LM1, DEF NUM, COMBO_TERM_FAST)
ZMK_COMBO(cut, &kp LC(X), LB3 LB1, DEF NUM) ZMK_COMBO(cut, &kp LC(X), LB3 LB1, DEF NUM, COMBO_TERM_SLOW)
ZMK_COMBO(copy, &kp LC(INS), LB3 LB2, DEF NUM) ZMK_COMBO(copy, &kp LC(INS), LB3 LB2, DEF NUM, COMBO_TERM_FAST)
ZMK_COMBO(paste, &kp LS(INS), LB2 LB1, DEF NUM) ZMK_COMBO(paste, &kp LS(INS), LB2 LB1, DEF NUM, COMBO_TERM_FAST)
/* Brackets (horizontal right hand) */ /* Brackets (horizontal right hand) */
ZMK_COMBO(lbrc, &kp LBRC, RT1 RT2, DEF NUM) ZMK_COMBO(lbrc, &kp LBRC, RT1 RT2, DEF NUM, COMBO_TERM_FAST)
ZMK_COMBO(rbrc, &kp RBRC, RT2 RT3, DEF NUM) ZMK_COMBO(rbrc, &kp RBRC, RT2 RT3, DEF NUM, COMBO_TERM_FAST)
ZMK_COMBO(lpar, &kp LPAR, RM1 RM2, DEF NUM) ZMK_COMBO(lpar, &kp LPAR, RM1 RM2, DEF NUM, COMBO_TERM_FAST)
ZMK_COMBO(rpar, &kp RPAR, RM2 RM3, DEF NUM) ZMK_COMBO(rpar, &kp RPAR, RM2 RM3, DEF NUM, COMBO_TERM_FAST)
ZMK_COMBO(lbrk, &kp LBKT, RB1 RB2, DEF NUM) ZMK_COMBO(lbrk, &kp LBKT, RB1 RB2, DEF NUM, COMBO_TERM_FAST)
ZMK_COMBO(rbrk, &kp RBKT, RB2 RB3, DEF NUM) ZMK_COMBO(rbrk, &kp RBKT, RB2 RB3, DEF NUM, COMBO_TERM_FAST)
/* Other symbols (vertical combos) */ /* Other symbols (vertical combos) */
ZMK_COMBO(at, &kp AT, LT3 LM3, DEF NUM) ZMK_COMBO(at, &kp AT, LT3 LM3, DEF NUM, COMBO_TERM_SLOW)
ZMK_COMBO(hash, &kp HASH, LT2 LM2, DEF NUM) ZMK_COMBO(hash, &kp HASH, LT2 LM2, DEF NUM, COMBO_TERM_SLOW)
ZMK_COMBO(dllr, &kp DLLR, LT1 LM1, DEF NUM) ZMK_COMBO(dllr, &kp DLLR, LT1 LM1, DEF NUM, COMBO_TERM_SLOW)
ZMK_COMBO(prcnt, &kp PRCNT, LT0 LM0, DEF NUM) ZMK_COMBO(prcnt, &kp PRCNT, LT0 LM0, DEF NUM, COMBO_TERM_SLOW)
ZMK_COMBO(caret, &kp CARET, RT0 RM0, DEF NUM) ZMK_COMBO(caret, &kp CARET, RT0 RM0, DEF NUM, COMBO_TERM_SLOW)
ZMK_COMBO(plus, &kp PLUS, RT1 RM1, DEF NUM) ZMK_COMBO(plus, &kp PLUS, RT1 RM1, DEF NUM, COMBO_TERM_SLOW)
ZMK_COMBO(star, &kp STAR, RT2 RM2, DEF NUM) ZMK_COMBO(star, &kp STAR, RT2 RM2, DEF NUM, COMBO_TERM_SLOW)
ZMK_COMBO(amps, &kp AMPS, RT3 RM3, DEF NUM) ZMK_COMBO(amps, &kp AMPS, RT3 RM3, DEF NUM, COMBO_TERM_SLOW)
ZMK_COMBO(grave, &kp GRAVE, LM3 LB3, DEF NUM) ZMK_COMBO(grave, &kp GRAVE, LM3 LB3, DEF NUM, COMBO_TERM_SLOW)
ZMK_COMBO(bslh, &kp BSLH, LM2 LB2, DEF NUM) ZMK_COMBO(bslh, &kp BSLH, LM2 LB2, DEF NUM, COMBO_TERM_SLOW)
ZMK_COMBO(tilde, &kp TILDE, LM1 LB1, DEF NUM) ZMK_COMBO(tilde, &kp TILDE, LM1 LB1, DEF NUM, COMBO_TERM_SLOW)
ZMK_COMBO(equal, &kp EQUAL, LM0 LB0, DEF NUM) ZMK_COMBO(equal, &kp EQUAL, LM0 LB0, DEF NUM, COMBO_TERM_SLOW)
ZMK_COMBO(under, &kp UNDER, RM0 RB0, DEF NUM) ZMK_COMBO(under, &kp UNDER, RM0 RB0, DEF NUM, COMBO_TERM_SLOW)
ZMK_COMBO(minus, &kp MINUS, RM1 RB1, DEF NUM) ZMK_COMBO(minus, &kp MINUS, RM1 RB1, DEF NUM, COMBO_TERM_SLOW)
ZMK_COMBO(fslh, &kp FSLH, RM2 RB2, DEF NUM) ZMK_COMBO(fslh, &kp FSLH, RM2 RB2, DEF NUM, COMBO_TERM_SLOW)
ZMK_COMBO(pipe, &kp PIPE, RM3 RB3, DEF NUM) ZMK_COMBO(pipe, &kp PIPE, RM3 RB3, DEF NUM, COMBO_TERM_SLOW)
ZMK_COMBO(greek, &sl UC, LH1 LT2, DEF NUM) ZMK_COMBO(grk, &sl UC, RT1 RT3, DEF NUM, COMBO_TERM_SLOW)
ZMK_COMBO(cpgrk, &sls 0, RT1 RT2 RT3, DEF NUM, COMBO_TERM_SLOW)

View file

@ -49,19 +49,19 @@
#define COMBO_TERM 30 #define COMBO_TERM 30
#endif #endif
#if !defined COMBO_QUICK_TAP_MS #if !defined COMBO_QUICK_TAP_MS
#define COMBO_QUICK_TAP_MS -1 #define COMBO_QUICK_TAP_MS (-1)
#endif #endif
#define ZMK_COMBO(name, combo_bindings, keypos, combo_layers) \ #define ZMK_COMBO(name, combo_bindings, keypos, combo_layers, combo_term) \
/ { \ / { \
combos { \ combos { \
compatible = "zmk,combos"; \ compatible = "zmk,combos"; \
combo_ ## name { \ combo_ ## name { \
global-quick-tap-ms = <COMBO_QUICK_TAP_MS>; \
timeout-ms = <COMBO_TERM>; \
bindings = <combo_bindings>; \ bindings = <combo_bindings>; \
key-positions = <keypos>; \ key-positions = <keypos>; \
layers = <combo_layers>; \ layers = <combo_layers>; \
timeout-ms = <combo_term>; \
global-quick-tap-ms = <COMBO_QUICK_TAP_MS>; \
}; \ }; \
}; \ }; \
}; };