Use explicit behavior helpers from zmk-helpers v2
This commit is contained in:
parent
34caadba56
commit
00ef17796e
1 changed files with 17 additions and 17 deletions
|
@ -52,7 +52,7 @@
|
||||||
#define THUMBS LH2 LH1 LH0 RH0 RH1 RH2 // thumbs
|
#define THUMBS LH2 LH1 LH0 RH0 RH1 RH2 // thumbs
|
||||||
|
|
||||||
#define MAKE_HRM(NAME, HOLD, TAP, TRIGGER_POS) \
|
#define MAKE_HRM(NAME, HOLD, TAP, TRIGGER_POS) \
|
||||||
ZMK_BEHAVIOR(NAME, hold_tap, \
|
ZMK_HOLD_TAP(NAME, \
|
||||||
flavor = "balanced"; \
|
flavor = "balanced"; \
|
||||||
tapping-term-ms = <280>; \
|
tapping-term-ms = <280>; \
|
||||||
quick-tap-ms = <QUICK_TAP_MS>; \
|
quick-tap-ms = <QUICK_TAP_MS>; \
|
||||||
|
@ -78,8 +78,8 @@ MAKE_HRM(hmr_rpar_gt, &kp, &rpar_gt, KEYS_L THUMBS) // " " " "
|
||||||
hold-trigger-key-positions = <0>;
|
hold-trigger-key-positions = <0>;
|
||||||
|
|
||||||
&mt { MT_CORE };
|
&mt { MT_CORE };
|
||||||
ZMK_BEHAVIOR(mt_home, hold_tap, bindings = <&masked_home>, <&kp>; MT_CORE)
|
ZMK_HOLD_TAP(mt_home, bindings = <&masked_home>, <&kp>; MT_CORE)
|
||||||
ZMK_BEHAVIOR(mt_end, hold_tap, bindings = <&masked_end>, <&kp>; MT_CORE)
|
ZMK_HOLD_TAP(mt_end, bindings = <&masked_end>, <&kp>; MT_CORE)
|
||||||
|
|
||||||
#define NAV_LEFT &mt_home 0 LEFT // tap: left | long-tap: beginning of line
|
#define NAV_LEFT &mt_home 0 LEFT // tap: left | long-tap: beginning of line
|
||||||
#define NAV_RIGHT &mt_end 0 RIGHT // tap: right | long-tap: end of line
|
#define NAV_RIGHT &mt_end 0 RIGHT // tap: right | long-tap: end of line
|
||||||
|
@ -90,7 +90,7 @@ ZMK_BEHAVIOR(mt_end, hold_tap, bindings = <&masked_end>, <&kp>; MT_CORE)
|
||||||
|
|
||||||
// mask CTRL when holding left/right to avoid accidental jumps to beginning/end of document
|
// mask CTRL when holding left/right to avoid accidental jumps to beginning/end of document
|
||||||
#define MASK_MODS(NAME, MODS, BINDING) \
|
#define MASK_MODS(NAME, MODS, BINDING) \
|
||||||
ZMK_BEHAVIOR(NAME, mod_morph, \
|
ZMK_MOD_MORPH(NAME, \
|
||||||
bindings = <BINDING>, <BINDING>; \
|
bindings = <BINDING>, <BINDING>; \
|
||||||
mods = <MODS>; \
|
mods = <MODS>; \
|
||||||
)
|
)
|
||||||
|
@ -100,7 +100,7 @@ MASK_MODS(masked_end, (MOD_LCTL), &kp END)
|
||||||
/* Caps-word, num-word and smart-mouse */
|
/* Caps-word, num-word and smart-mouse */
|
||||||
|
|
||||||
// tap: sticky-shift | shift + tap/ double-tap: caps-word | hold: shift
|
// tap: sticky-shift | shift + tap/ double-tap: caps-word | hold: shift
|
||||||
ZMK_BEHAVIOR(smart_shft, mod_morph,
|
ZMK_MOD_MORPH(smart_shft,
|
||||||
bindings = <&sk LSHFT>, <&caps_word>;
|
bindings = <&sk LSHFT>, <&caps_word>;
|
||||||
mods = <(MOD_LSFT)>;
|
mods = <(MOD_LSFT)>;
|
||||||
)
|
)
|
||||||
|
@ -110,13 +110,13 @@ ZMK_BEHAVIOR(smart_shft, mod_morph,
|
||||||
|
|
||||||
// tap: num-word | double-tap: sticky num-layer | hold: num-layer
|
// tap: num-word | double-tap: sticky num-layer | hold: num-layer
|
||||||
#define SMART_NUM &smart_num NUM 0
|
#define SMART_NUM &smart_num NUM 0
|
||||||
ZMK_BEHAVIOR(smart_num, hold_tap,
|
ZMK_HOLD_TAP(smart_num,
|
||||||
flavor = "balanced";
|
flavor = "balanced";
|
||||||
tapping-term-ms = <200>;
|
tapping-term-ms = <200>;
|
||||||
quick-tap-ms = <QUICK_TAP_MS>;
|
quick-tap-ms = <QUICK_TAP_MS>;
|
||||||
bindings = <&mo>, <&num_dance>;
|
bindings = <&mo>, <&num_dance>;
|
||||||
)
|
)
|
||||||
ZMK_BEHAVIOR(num_dance, tap_dance,
|
ZMK_TAP_DANCE(num_dance,
|
||||||
tapping-term-ms = <200>;
|
tapping-term-ms = <200>;
|
||||||
bindings = <&num_word>, <&sl NUM>; // reverse this for sticky-num on single tap
|
bindings = <&num_word>, <&sl NUM>; // reverse this for sticky-num on single tap
|
||||||
)
|
)
|
||||||
|
@ -126,7 +126,7 @@ ZMK_BEHAVIOR(num_dance, tap_dance,
|
||||||
};
|
};
|
||||||
|
|
||||||
// smart-mouse, requires PR #1366
|
// smart-mouse, requires PR #1366
|
||||||
ZMK_BEHAVIOR(smart_mouse, tri_state,
|
ZMK_TRI_STATE(smart_mouse,
|
||||||
bindings = <&tog MOUSE>, <&none>, <&tog MOUSE>;
|
bindings = <&tog MOUSE>, <&none>, <&tog MOUSE>;
|
||||||
ignored-key-positions = <LT1 LT3 RT0 RT1 RT2 RT3 RT4 RM1 RM2 RM3 RB1 RB2 RB3 RH0 RH1>;
|
ignored-key-positions = <LT1 LT3 RT0 RT1 RT2 RT3 RT4 RM1 RM2 RM3 RB1 RB2 RB3 RH0 RH1>;
|
||||||
ignored-layers = <MOUSE>;
|
ignored-layers = <MOUSE>;
|
||||||
|
@ -135,18 +135,18 @@ ZMK_BEHAVIOR(smart_mouse, tri_state,
|
||||||
/* Custom behaviors */
|
/* Custom behaviors */
|
||||||
|
|
||||||
// Alt+Tab swapper, requires PR #1366
|
// Alt+Tab swapper, requires PR #1366
|
||||||
ZMK_BEHAVIOR(swapper, tri_state,
|
ZMK_TRI_STATE(swapper,
|
||||||
bindings = <&kt LALT>, <&kp TAB>, <&kt LALT>;
|
bindings = <&kt LALT>, <&kp TAB>, <&kt LALT>;
|
||||||
ignored-key-positions = <LT2>;
|
ignored-key-positions = <LT2>;
|
||||||
)
|
)
|
||||||
|
|
||||||
// Sticky layer + sticky shift (workaround for issue #1421)
|
// Sticky layer + sticky shift (workaround for issue #1421)
|
||||||
ZMK_BEHAVIOR(sls, sticky_key,
|
ZMK_STICKY_KEY(sls,
|
||||||
release-after-ms = <1000>;
|
release-after-ms = <1000>;
|
||||||
bindings = <&uc_shift>;
|
bindings = <&uc_shift>;
|
||||||
ignore-modifiers;
|
ignore-modifiers;
|
||||||
)
|
)
|
||||||
ZMK_BEHAVIOR(uc_shift, macro,
|
ZMK_MACRO(uc_shift,
|
||||||
wait-ms = <0>;
|
wait-ms = <0>;
|
||||||
tap-ms = <1>;
|
tap-ms = <1>;
|
||||||
bindings = <¯o_press &mo UC &kp LSHFT>
|
bindings = <¯o_press &mo UC &kp LSHFT>
|
||||||
|
@ -156,7 +156,7 @@ ZMK_BEHAVIOR(uc_shift, macro,
|
||||||
|
|
||||||
// reuse basic mod-morph scheme
|
// reuse basic mod-morph scheme
|
||||||
#define SIMPLE_MORPH(NAME, MOD, BINDING1, BINDING2) \
|
#define SIMPLE_MORPH(NAME, MOD, BINDING1, BINDING2) \
|
||||||
ZMK_BEHAVIOR(NAME, mod_morph, \
|
ZMK_MOD_MORPH(NAME, \
|
||||||
mods = <(MOD_L ## MOD|MOD_R ## MOD)>; \
|
mods = <(MOD_L ## MOD|MOD_R ## MOD)>; \
|
||||||
bindings = <BINDING1>, <BINDING2>; \
|
bindings = <BINDING1>, <BINDING2>; \
|
||||||
)
|
)
|
||||||
|
@ -177,34 +177,34 @@ SIMPLE_MORPH(lpar_lt, SFT, &kp LPAR, &kp LT)
|
||||||
SIMPLE_MORPH(rpar_gt, SFT, &kp RPAR, &kp GT)
|
SIMPLE_MORPH(rpar_gt, SFT, &kp RPAR, &kp GT)
|
||||||
|
|
||||||
// tap: space | shift + tap: dot -> space -> sticky shift | hold: activate layer
|
// tap: space | shift + tap: dot -> space -> sticky shift | hold: activate layer
|
||||||
ZMK_BEHAVIOR(lt_spc, hold_tap,
|
ZMK_HOLD_TAP(lt_spc,
|
||||||
flavor = "balanced";
|
flavor = "balanced";
|
||||||
tapping-term-ms = <200>;
|
tapping-term-ms = <200>;
|
||||||
quick-tap-ms = <QUICK_TAP_MS>;
|
quick-tap-ms = <QUICK_TAP_MS>;
|
||||||
bindings = <&mo>, <&spc_morph>;
|
bindings = <&mo>, <&spc_morph>;
|
||||||
)
|
)
|
||||||
SIMPLE_MORPH(spc_morph, SFT, &kp SPACE, &dot_spc)
|
SIMPLE_MORPH(spc_morph, SFT, &kp SPACE, &dot_spc)
|
||||||
ZMK_BEHAVIOR(dot_spc, macro,
|
ZMK_MACRO(dot_spc,
|
||||||
wait-ms = <0>;
|
wait-ms = <0>;
|
||||||
tap-ms = <5>;
|
tap-ms = <5>;
|
||||||
bindings = <&kp DOT &kp SPACE &sk LSHFT>;
|
bindings = <&kp DOT &kp SPACE &sk LSHFT>;
|
||||||
)
|
)
|
||||||
|
|
||||||
// tap: backspace | lshft + tap: delete | rshft + tap: shift-delete
|
// tap: backspace | lshft + tap: delete | rshft + tap: shift-delete
|
||||||
ZMK_BEHAVIOR(bs_del, mod_morph,
|
ZMK_MOD_MORPH(bs_del,
|
||||||
bindings = <&kp BSPC>, <&kp DEL>;
|
bindings = <&kp BSPC>, <&kp DEL>;
|
||||||
mods = <(MOD_LSFT|MOD_RSFT)>;
|
mods = <(MOD_LSFT|MOD_RSFT)>;
|
||||||
keep-mods = <MOD_RSFT>;
|
keep-mods = <MOD_RSFT>;
|
||||||
)
|
)
|
||||||
|
|
||||||
// tap: copy | double-tap: cut
|
// tap: copy | double-tap: cut
|
||||||
ZMK_BEHAVIOR(copy_cut, tap_dance,
|
ZMK_TAP_DANCE(copy_cut,
|
||||||
tapping-term-ms = <200>;
|
tapping-term-ms = <200>;
|
||||||
bindings = <&kp LC(INS)>, <&kp LC(X)>;
|
bindings = <&kp LC(INS)>, <&kp LC(X)>;
|
||||||
)
|
)
|
||||||
|
|
||||||
// Windows sleep key
|
// Windows sleep key
|
||||||
ZMK_BEHAVIOR(win_sleep, macro,
|
ZMK_MACRO(win_sleep,
|
||||||
wait-ms = <500>;
|
wait-ms = <500>;
|
||||||
tap-ms = <50>;
|
tap-ms = <50>;
|
||||||
bindings = <&kp LG(X) &kp U &kp S>;
|
bindings = <&kp LG(X) &kp U &kp S>;
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue