zmk-config-archive/config/combos.dtsi

65 lines
2.5 KiB
Text

/* KEY POSITIONS
╭────────────────────╮ ╭────────────────────╮
│ 0 1 2 3 4 │ │ 5 6 7 8 9 │
│ 10 11 12 13 14 │ │ 15 16 17 18 19 │
│ 20 21 22 23 24 ╰───╮ ╭───╯ 25 26 27 28 29 │
╰───────────╮ 30 31 32 │ │ 33 34 35 ╭───────────╯
╰────────────╯ ╰────────────╯ */
// TODO: en adaptacion
compatible = "zmk,combos";
#define COMBO(NAME, BINDINGS, KEYPOS, LAYERS) \
combo_##NAME { \
bindings = <BINDINGS>; \
key-positions = <KEYPOS>; \
layers = <LAYERS>; \
};
/* Brackets */
COMBO(left_parenthesis, &kp LEFT_PARENTHESIS, 1 2, NUM)
COMBO(right_parenthesis, &kp RIGHT_PARENTHESIS, 2 3, NUM)
COMBO(parentheses, &macro_parentheses, 1 2 3, NUM)
COMBO(left_bracket, &kp LEFT_BRACKET, 11 12, NUM)
COMBO(right_bracket, &kp RIGHT_BRACKET, 12 13, NUM)
COMBO(brackets, &macro_brackets, 11 12 13, NUM)
COMBO(less_than, &kp LESS_THAN, 21 22, NUM)
COMBO(greater_than, &kp GREATER_THAN, 22 23, NUM)
COMBO(ltgt, &macro_ltgt, 21 22 23, NUM)
/* Text processing */
COMBO(undo, &kp LG(Z), 20 21, BASE)
COMBO(cut, &kp LG(X), 21 23, BASE)
COMBO(copy, &kp LG(C), 21 22, BASE)
COMBO(paste, &kp LG(V), 21 22 23, BASE)
COMBO(select_all, &kp LG(A), 20 23, BASE)
COMBO(caps_word, &caps_word, 31 32, BASE)
/* System */
COMBO(power, &macro_power, 4 5, BASE)
COMBO(menu_search, &kp LG(LS(SLASH)), 16 17 18, BASE)
COMBO(spotlight, &kp LG(SPACE), 11 12 13, BASE)
COMBO(mic_mute_left, &kp LG(BACKSLASH), 13 23, BASE)
COMBO(mic_mute_right, &kp LG(BACKSLASH), 16 26, BASE)
/* Window management */
COMBO(tile_left, &kp LG(LC(LA(LEFT))), 26 27, BASE)
COMBO(tile_right, &kp LG(LC(LA(RIGHT))), 27 28, BASE)
COMBO(maximize, &kp LG(LC(LA(UP))), 26 27 28, BASE)
COMBO(center, &kp LG(LC(LA(DOWN))), 26 28, BASE)
/* Media */
COMBO(volup, &kp C_VOL_UP, 7 17, NAV)
COMBO(voldown, &kp C_VOL_DN, 17 27, NAV)
COMBO(playpause, &kp C_PLAY_PAUSE, 26 28, NAV)
COMBO(prev, &kp C_PREV, 26 27, NAV)
COMBO(next, &kp C_NEXT, 27 28, NAV)
/* Keyboard */
COMBO(reset, &reset, 11 12 13 17, BASE)
COMBO(bootloader, &bootloader, 14 15 24 25, BASE)
COMBO(bt0, &bt BT_SEL 0, 1 2, BASE)
COMBO(bt1, &bt BT_SEL 1, 2 3, BASE)
COMBO(bttog, &out OUT_TOG, 11 12 13, NAV)
COMBO(btclear, &bt BT_CLR, 4 24, BASE)