Refactor mod-morphs
This commit is contained in:
parent
292fe8d45b
commit
7a09cb5fc5
1 changed files with 17 additions and 36 deletions
|
@ -154,31 +154,27 @@ ZMK_BEHAVIOR(uc_shift, macro,
|
||||||
, <¯o_release &mo UC &kp LSHFT>;
|
, <¯o_release &mo UC &kp LSHFT>;
|
||||||
)
|
)
|
||||||
|
|
||||||
|
// reuse basic mod-morph scheme
|
||||||
|
#define SIMPLE_MORPH(NAME, MOD, BINDING1, BINDING2) \
|
||||||
|
ZMK_BEHAVIOR(NAME, mod_morph, \
|
||||||
|
mods = <(MOD_L ## MOD|MOD_R ## MOD)>; \
|
||||||
|
bindings = <BINDING1>, <BINDING2>; \
|
||||||
|
)
|
||||||
|
|
||||||
// tap: comma | shift + tap: semicolon | ctrl + shift + tap: <
|
// tap: comma | shift + tap: semicolon | ctrl + shift + tap: <
|
||||||
ZMK_BEHAVIOR(comma_morph, mod_morph,
|
SIMPLE_MORPH(comma_morph, SFT, &kp COMMA, &comma_inner_morph)
|
||||||
mods = <(MOD_LSFT|MOD_RSFT)>;
|
SIMPLE_MORPH(comma_inner_morph, CTL, &kp SEMICOLON, &kp LESS_THAN)
|
||||||
bindings = <&kp COMMA>, <&comma_inner_morph>;
|
|
||||||
)
|
|
||||||
ZMK_BEHAVIOR(comma_inner_morph, mod_morph,
|
|
||||||
bindings = <&kp SEMICOLON>, <&kp LESS_THAN>;
|
|
||||||
mods = <(MOD_LCTL|MOD_RCTL)>;
|
|
||||||
)
|
|
||||||
|
|
||||||
// tap: dot | shift + tap: colon | ctrl + shift + tap: >
|
// tap: dot | shift + tap: colon | ctrl + shift + tap: >
|
||||||
ZMK_BEHAVIOR(dot_morph, mod_morph,
|
SIMPLE_MORPH(dot_morph, SFT, &kp DOT, &dot_inner_morph)
|
||||||
bindings = <&kp DOT>, <&dot_inner_morph>;
|
SIMPLE_MORPH(dot_inner_morph, CTL, &kp COLON, &kp GREATER_THAN)
|
||||||
mods = <(MOD_LSFT|MOD_RSFT)>;
|
|
||||||
)
|
|
||||||
ZMK_BEHAVIOR(dot_inner_morph, mod_morph,
|
|
||||||
bindings = <&kp COLON>, <&kp GREATER_THAN>;
|
|
||||||
mods = <(MOD_LCTL|MOD_RCTL)>;
|
|
||||||
)
|
|
||||||
|
|
||||||
// tap: qmark | shift + tap: excl
|
// tap: qmark | shift + tap: excl
|
||||||
ZMK_BEHAVIOR(qexcl, mod_morph,
|
SIMPLE_MORPH(qexcl, SFT, &kp QMARK, &kp EXCL)
|
||||||
bindings = <&kp QMARK>, <&kp EXCL>;
|
|
||||||
mods = <(MOD_LSFT|MOD_RSFT)>;
|
// tap: left/right parenthesis | shft + tap: less-than/greater-than
|
||||||
)
|
SIMPLE_MORPH(lpar_lt, SFT, &kp LPAR, &kp LT)
|
||||||
|
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_BEHAVIOR(lt_spc, hold_tap,
|
||||||
|
@ -187,10 +183,7 @@ ZMK_BEHAVIOR(lt_spc, hold_tap,
|
||||||
quick-tap-ms = <QUICK_TAP_MS>;
|
quick-tap-ms = <QUICK_TAP_MS>;
|
||||||
bindings = <&mo>, <&spc_morph>;
|
bindings = <&mo>, <&spc_morph>;
|
||||||
)
|
)
|
||||||
ZMK_BEHAVIOR(spc_morph, mod_morph,
|
SIMPLE_MORPH(spc_morph, SFT, &kp SPACE, &dot_spc)
|
||||||
bindings = <&kp SPACE>, <&dot_spc>;
|
|
||||||
mods = <(MOD_LSFT|MOD_RSFT)>;
|
|
||||||
)
|
|
||||||
ZMK_BEHAVIOR(dot_spc, macro,
|
ZMK_BEHAVIOR(dot_spc, macro,
|
||||||
wait-ms = <0>;
|
wait-ms = <0>;
|
||||||
tap-ms = <5>;
|
tap-ms = <5>;
|
||||||
|
@ -204,18 +197,6 @@ ZMK_BEHAVIOR(bs_del, mod_morph,
|
||||||
keep-mods = <MOD_RSFT>;
|
keep-mods = <MOD_RSFT>;
|
||||||
)
|
)
|
||||||
|
|
||||||
// tap: left-parenthesis | shft + tap: less-than
|
|
||||||
ZMK_BEHAVIOR(lpar_lt, mod_morph,
|
|
||||||
bindings = <&kp LPAR>, <&kp LT>;
|
|
||||||
mods = <(MOD_LSFT|MOD_RSFT)>;
|
|
||||||
)
|
|
||||||
|
|
||||||
// tap: right-parenthesis | shft + tap: greater-than
|
|
||||||
ZMK_BEHAVIOR(rpar_gt, mod_morph,
|
|
||||||
bindings = <&kp RPAR>, <&kp GT>;
|
|
||||||
mods = <(MOD_LSFT|MOD_RSFT)>;
|
|
||||||
)
|
|
||||||
|
|
||||||
// tap: copy | double-tap: cut
|
// tap: copy | double-tap: cut
|
||||||
ZMK_BEHAVIOR(copy_cut, tap_dance,
|
ZMK_BEHAVIOR(copy_cut, tap_dance,
|
||||||
tapping-term-ms = <200>;
|
tapping-term-ms = <200>;
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue