diff options
Diffstat (limited to 'users/ninjonas/combos.c')
| -rw-r--r-- | users/ninjonas/combos.c | 55 |
1 files changed, 55 insertions, 0 deletions
diff --git a/users/ninjonas/combos.c b/users/ninjonas/combos.c new file mode 100644 index 000000000..9453ba84d --- /dev/null +++ b/users/ninjonas/combos.c | |||
| @@ -0,0 +1,55 @@ | |||
| 1 | #include "ninjonas.h" | ||
| 2 | |||
| 3 | #ifdef COMBO_ENABLE | ||
| 4 | enum combo_events { | ||
| 5 | EQ_QUIT, | ||
| 6 | RW_CLOSE, | ||
| 7 | QT_TAB, | ||
| 8 | ZC_COPY, | ||
| 9 | XV_PASTE | ||
| 10 | }; | ||
| 11 | |||
| 12 | const uint16_t PROGMEM quit_combo[] = {KC_E, KC_Q, COMBO_END}; | ||
| 13 | const uint16_t PROGMEM close_combo[] = {KC_R, KC_W, COMBO_END}; | ||
| 14 | const uint16_t PROGMEM tab_combo[] = {KC_Q, KC_T, COMBO_END}; | ||
| 15 | const uint16_t PROGMEM copy_combo[] = {KC_Z, KC_C, COMBO_END}; | ||
| 16 | const uint16_t PROGMEM paste_combo[] = {KC_X, KC_V, COMBO_END}; | ||
| 17 | |||
| 18 | combo_t key_combos[COMBO_COUNT] = { | ||
| 19 | [EQ_QUIT] = COMBO_ACTION(quit_combo), | ||
| 20 | [RW_CLOSE] = COMBO_ACTION(close_combo), | ||
| 21 | [QT_TAB] = COMBO_ACTION(tab_combo), | ||
| 22 | [ZC_COPY] = COMBO_ACTION(copy_combo), | ||
| 23 | [XV_PASTE] = COMBO_ACTION(paste_combo), | ||
| 24 | }; | ||
| 25 | |||
| 26 | void process_combo_event(uint8_t combo_index, bool pressed) { | ||
| 27 | switch(combo_index) { | ||
| 28 | case EQ_QUIT: | ||
| 29 | if (pressed) { | ||
| 30 | tap_code16(LGUI(KC_Q)); | ||
| 31 | } | ||
| 32 | break; | ||
| 33 | case RW_CLOSE: | ||
| 34 | if (pressed) { | ||
| 35 | tap_code16(LGUI(KC_W)); | ||
| 36 | } | ||
| 37 | break; | ||
| 38 | case QT_TAB: | ||
| 39 | if (pressed) { | ||
| 40 | tap_code16(LGUI(KC_T)); | ||
| 41 | } | ||
| 42 | break; | ||
| 43 | case ZC_COPY: | ||
| 44 | if (pressed) { | ||
| 45 | tap_code16(LGUI(KC_C)); | ||
| 46 | } | ||
| 47 | break; | ||
| 48 | case XV_PASTE: | ||
| 49 | if (pressed) { | ||
| 50 | tap_code16(LGUI(KC_V)); | ||
| 51 | } | ||
| 52 | break; | ||
| 53 | } | ||
| 54 | } | ||
| 55 | #endif \ No newline at end of file | ||
