aboutsummaryrefslogtreecommitdiff
path: root/users/ninjonas/combos.c
diff options
context:
space:
mode:
Diffstat (limited to 'users/ninjonas/combos.c')
-rw-r--r--users/ninjonas/combos.c55
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
4enum combo_events {
5 EQ_QUIT,
6 RW_CLOSE,
7 QT_TAB,
8 ZC_COPY,
9 XV_PASTE
10};
11
12const uint16_t PROGMEM quit_combo[] = {KC_E, KC_Q, COMBO_END};
13const uint16_t PROGMEM close_combo[] = {KC_R, KC_W, COMBO_END};
14const uint16_t PROGMEM tab_combo[] = {KC_Q, KC_T, COMBO_END};
15const uint16_t PROGMEM copy_combo[] = {KC_Z, KC_C, COMBO_END};
16const uint16_t PROGMEM paste_combo[] = {KC_X, KC_V, COMBO_END};
17
18combo_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
26void 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