miryoku_zmk/miryoku/miryoku_shift_functions.dtsi
2024-05-01 09:56:19 +10:00

42 lines
1.5 KiB
Plaintext

// Copyright 2022 Manna Harbour
// https://github.com/manna-harbour/miryoku
#define MIRYOKU_SHIFT_FUNCTION(NAME, BINDING, SHIFT_BINDING) \
/ { \
behaviors { \
NAME: NAME { \
compatible = "zmk,behavior-mod-morph"; \
#binding-cells = <0>; \
bindings = <BINDING>, <SHIFT_BINDING>; \
mods = <(MOD_LSFT|MOD_RSFT)>; \
}; \
}; \
};
#define MIRYOKU_SHIFT_MACRO(NAME, BINDING, SHIFT_BINDING) \
U_MACRO(u_macro_ ## NAME, wait-ms = <0>; bindings = <SHIFT_BINDING>;) \
MIRYOKU_SHIFT_FUNCTION(NAME, BINDING, &u_macro_ ## NAME)
MIRYOKU_SHIFT_MACRO(u_bt_sel_0, &bt BT_SEL 0, &bt BT_SEL 0 &bt BT_CLR)
MIRYOKU_SHIFT_MACRO(u_bt_sel_1, &bt BT_SEL 1, &bt BT_SEL 1 &bt BT_CLR)
MIRYOKU_SHIFT_MACRO(u_bt_sel_2, &bt BT_SEL 2, &bt BT_SEL 2 &bt BT_CLR)
MIRYOKU_SHIFT_MACRO(u_bt_sel_3, &bt BT_SEL 3, &bt BT_SEL 3 &bt BT_CLR)
MIRYOKU_SHIFT_MACRO(u_bt_sel_4, &bt BT_SEL 4, &bt BT_SEL 4 &bt BT_CLR)
MIRYOKU_SHIFT_FUNCTION(u_out_tog, &out OUT_TOG, &out OUT_USB)
MIRYOKU_SHIFT_FUNCTION(u_caps_word, &caps_word, &kp CAPS)
#if defined (MIRYOKU_KLUDGE_GLOBALSHIFTFUNCTIONS)
MIRYOKU_SHIFT_FUNCTION(u_rgb_tog, &rgb_ug RGB_TOG, &rgb_ug RGB_OFF)
MIRYOKU_SHIFT_FUNCTION(u_rgb_eff, &rgb_ug RGB_EFF, &rgb_ug RGB_EFR)
MIRYOKU_SHIFT_FUNCTION(u_rgb_hui, &rgb_ug RGB_HUI, &rgb_ug RGB_HUD)
MIRYOKU_SHIFT_FUNCTION(u_rgb_sai, &rgb_ug RGB_SAI, &rgb_ug RGB_SAD)
MIRYOKU_SHIFT_FUNCTION(u_rgb_bri, &rgb_ug RGB_BRI, &rgb_ug RGB_BRD)
MIRYOKU_SHIFT_FUNCTION(u_ep_tog, &ext_power EP_TOG, &ext_power EP_OFF)
#endif