217 lines
5.4 KiB
Text
217 lines
5.4 KiB
Text
#define ASM(letter) \
|
|
hu##letter: hu##letter { \
|
|
compatible = "zmk,behavior-hold-tap"; \
|
|
label = ZMK_MACRO_STRINGIFY(hu##letter); \
|
|
#binding-cells = <2>; \
|
|
flavor = "tap-preferred"; \
|
|
tapping-term-ms = <TAPPING_TERM>; \
|
|
quick-tap-ms = <QUICK_TAP_TERM>; \
|
|
bindings = <&ASB##letter>, <&none>; \
|
|
}; \
|
|
\
|
|
asmm##letter: asmm##letter { \
|
|
compatible = "zmk,behavior-mod-morph"; \
|
|
label = ZMK_MACRO_STRINGIFY(asmm##letter); \
|
|
#binding-cells = <0>; \
|
|
bindings = <&ASM##letter>, <&as LS(##letter) ##letter>; \
|
|
mods = <(MOD_LSFT|MOD_RSFT|MOD_LCTL|MOD_RCTL|MOD_LALT|MOD_RALT|MOD_LGUI|MOD_RGUI)>; \
|
|
}; \
|
|
\
|
|
ASM##letter: ASM##letter { \
|
|
compatible = "zmk,behavior-macro"; \
|
|
label = ZMK_MACRO_STRINGIFY(ASM##letter); \
|
|
#binding-cells = <0>; \
|
|
tap-ms = <1>; \
|
|
wait-ms = <1>; \
|
|
bindings = \
|
|
<¯o_tap &kp letter>, \
|
|
<¯o_press &hu##letter 0 0>, \
|
|
<¯o_pause_for_release>, \
|
|
<¯o_release &hu##letter 0 0> \
|
|
; \
|
|
}; \
|
|
\
|
|
ASB##letter: ASB##letter { \
|
|
compatible = "zmk,behavior-macro"; \
|
|
label = ZMK_MACRO_STRINGIFY(ASB##letter); \
|
|
#binding-cells = <0>; \
|
|
tap-ms = <1>; \
|
|
wait-ms = <1>; \
|
|
bindings = \
|
|
<¯o_tap &kp BSPC>, \
|
|
<¯o_press &kp LS(letter)>, \
|
|
<¯o_pause_for_release>, \
|
|
<¯o_release &kp LS(letter)> \
|
|
; \
|
|
};
|
|
|
|
#define ASMR(letter) \
|
|
hu##letter: hu##letter { \
|
|
compatible = "zmk,behavior-hold-tap"; \
|
|
label = ZMK_MACRO_STRINGIFY(hu##letter); \
|
|
#binding-cells = <2>; \
|
|
flavor = "tap-preferred"; \
|
|
tapping-term-ms = <TAPPING_TERM_RING>; \
|
|
quick-tap-ms = <QUICK_TAP_TERM>; \
|
|
bindings = <&ASB##letter>, <&none>; \
|
|
}; \
|
|
\
|
|
asmm##letter: asmm##letter { \
|
|
compatible = "zmk,behavior-mod-morph"; \
|
|
label = ZMK_MACRO_STRINGIFY(asmm##letter); \
|
|
#binding-cells = <0>; \
|
|
bindings = <&ASM##letter>, <&as LS(##letter) ##letter>; \
|
|
mods = <(MOD_LSFT|MOD_RSFT|MOD_LCTL|MOD_RCTL|MOD_LALT|MOD_RALT|MOD_LGUI|MOD_RGUI)>; \
|
|
}; \
|
|
\
|
|
ASM##letter: ASM##letter { \
|
|
compatible = "zmk,behavior-macro"; \
|
|
label = ZMK_MACRO_STRINGIFY(ASM##letter); \
|
|
#binding-cells = <0>; \
|
|
tap-ms = <1>; \
|
|
wait-ms = <1>; \
|
|
bindings = \
|
|
<¯o_tap &kp letter>, \
|
|
<¯o_press &hu##letter 0 0>, \
|
|
<¯o_pause_for_release>, \
|
|
<¯o_release &hu##letter 0 0> \
|
|
; \
|
|
}; \
|
|
\
|
|
ASB##letter: ASB##letter { \
|
|
compatible = "zmk,behavior-macro"; \
|
|
label = ZMK_MACRO_STRINGIFY(ASB##letter); \
|
|
#binding-cells = <0>; \
|
|
tap-ms = <1>; \
|
|
wait-ms = <1>; \
|
|
bindings = \
|
|
<¯o_tap &kp BSPC>, \
|
|
<¯o_press &kp LS(letter)>, \
|
|
<¯o_pause_for_release>, \
|
|
<¯o_release &kp LS(letter)> \
|
|
; \
|
|
};
|
|
|
|
#define ASMP(letter) \
|
|
hu##letter: hu##letter { \
|
|
compatible = "zmk,behavior-hold-tap"; \
|
|
label = ZMK_MACRO_STRINGIFY(hu##letter); \
|
|
#binding-cells = <2>; \
|
|
flavor = "tap-preferred"; \
|
|
tapping-term-ms = <TAPPING_TERM_PINKY>; \
|
|
quick-tap-ms = <QUICK_TAP_TERM>; \
|
|
bindings = <&ASB##letter>, <&none>; \
|
|
}; \
|
|
\
|
|
asmm##letter: asmm##letter { \
|
|
compatible = "zmk,behavior-mod-morph"; \
|
|
label = ZMK_MACRO_STRINGIFY(asmm##letter); \
|
|
#binding-cells = <0>; \
|
|
bindings = <&ASM##letter>, <&as LS(##letter) ##letter>; \
|
|
mods = <(MOD_LSFT|MOD_RSFT|MOD_LCTL|MOD_RCTL|MOD_LALT|MOD_RALT|MOD_LGUI|MOD_RGUI)>; \
|
|
}; \
|
|
\
|
|
ASM##letter: ASM##letter { \
|
|
compatible = "zmk,behavior-macro"; \
|
|
label = ZMK_MACRO_STRINGIFY(ASM##letter); \
|
|
#binding-cells = <0>; \
|
|
tap-ms = <1>; \
|
|
wait-ms = <1>; \
|
|
bindings = \
|
|
<¯o_tap &kp letter>, \
|
|
<¯o_press &hu##letter 0 0>, \
|
|
<¯o_pause_for_release>, \
|
|
<¯o_release &hu##letter 0 0> \
|
|
; \
|
|
}; \
|
|
\
|
|
ASB##letter: ASB##letter { \
|
|
compatible = "zmk,behavior-macro"; \
|
|
label = ZMK_MACRO_STRINGIFY(ASB##letter); \
|
|
#binding-cells = <0>; \
|
|
tap-ms = <1>; \
|
|
wait-ms = <1>; \
|
|
bindings = \
|
|
<¯o_tap &kp BSPC>, \
|
|
<¯o_press &kp LS(letter)>, \
|
|
<¯o_pause_for_release>, \
|
|
<¯o_release &kp LS(letter)> \
|
|
; \
|
|
};
|
|
|
|
#define AS(keycode) &asmm##keycode
|
|
#define ASR(keycode) &ASMR##keycode
|
|
#define ASP(keycode) &ASMP##keycode
|
|
|
|
#define ASB(keycode) &as LS(keycode) keycode
|
|
#define ASBR(keycode) &asr LS(keycode) keycode
|
|
#define ASBP(keycode) &asp LS(keycode) keycode
|
|
|
|
ASMP(A)
|
|
ASM(B)
|
|
ASM(C)
|
|
ASM(D)
|
|
ASM(E)
|
|
ASM(F)
|
|
ASM(G)
|
|
ASM(H)
|
|
ASMR(I)
|
|
ASM(J)
|
|
ASM(K)
|
|
ASM(L)
|
|
ASM(M)
|
|
ASM(N)
|
|
ASMP(O)
|
|
ASM(P)
|
|
ASMP(Q)
|
|
ASMR(R)
|
|
ASM(S)
|
|
ASM(T)
|
|
ASM(U)
|
|
ASM(V)
|
|
ASMR(W)
|
|
ASMR(X)
|
|
ASMR(Y)
|
|
ASMP(Z)
|
|
ASM(SEMI)
|
|
ASM(CMMA)
|
|
ASMP(SLASH)
|
|
ASM(BSLH)
|
|
ASM(MINUS)
|
|
ASMP(QUOT)
|
|
ASMR(DOT)
|
|
ASM(GRAVE)
|
|
ASM(LBKT)
|
|
ASM(RBKT)
|
|
ASM(EQUAL)
|
|
ASM(UP)
|
|
ASM(LEFT)
|
|
ASM(DOWN)
|
|
ASM(RIGHT)
|
|
ASM(INSERT)
|
|
ASM(PG_UP)
|
|
ASM(PG_DN)
|
|
ASM(HOME)
|
|
ASM(END)
|
|
ASM(N0)
|
|
ASM(N1)
|
|
ASM(N2)
|
|
ASM(N3)
|
|
ASM(N4)
|
|
ASM(N5)
|
|
ASM(N6)
|
|
ASM(N7)
|
|
ASM(N8)
|
|
ASM(N9)
|
|
ASM(F1)
|
|
ASM(F2)
|
|
ASM(F3)
|
|
ASM(F4)
|
|
ASM(F5)
|
|
ASM(F6)
|
|
ASM(F7)
|
|
ASM(F8)
|
|
ASM(F9)
|
|
ASM(F10)
|
|
ASM(F11)
|
|
ASM(F12)
|