/* 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 = ; \ key-positions = ; \ layers = ; \ }; /* Brackets */ COMBO(left_parenthesis, &kp LEFT_PARENTHESIS, 1 2, NUM) COMBO(right_parenthesis, &kp RIGHT_PARENTHESIS, 2 3, NUM) COMBO(parentheses, ¯o_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, ¯o_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, ¯o_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, ¯o_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)