]> git.donarmstrong.com Git - qmk_firmware.git/blob - users/kuatsure/kuatsure.c
Add missing links to features page and sidebar section (#5949)
[qmk_firmware.git] / users / kuatsure / kuatsure.c
1 #include "kuatsure.h"
2 #include "version.h"
3
4 qk_tap_dance_action_t tap_dance_actions[] = {
5   [TD_LBRC] = ACTION_TAP_DANCE_DOUBLE(KC_LBRC, KC_LT),
6   [TD_RBRC] = ACTION_TAP_DANCE_DOUBLE(KC_RBRC, KC_GT)
7 };
8
9 __attribute__ ((weak))
10 bool process_record_keymap(uint16_t keycode, keyrecord_t *record) {
11   return true;
12 }
13
14 bool process_record_user(uint16_t keycode, keyrecord_t *record) {
15   switch (keycode) {
16     case KB_MAKE:
17       if (!record->event.pressed) {
18         SEND_STRING("make " QMK_KEYBOARD ":" QMK_KEYMAP SS_TAP(X_ENTER));
19       }
20       return false;
21       break;
22
23     case KB_VRSN:
24       if (!record->event.pressed) {
25         SEND_STRING(QMK_KEYBOARD "/" QMK_KEYMAP " @ " QMK_VERSION);
26       }
27       return false;
28       break;
29
30     case KB_FLSH:
31       if (!record->event.pressed) {
32         SEND_STRING("make " QMK_KEYBOARD ":" QMK_KEYMAP
33           #if  (defined(BOOTLOADER_DFU) || defined(BOOTLOADER_LUFA_DFU) || defined(BOOTLOADER_QMK_DFU))
34             ":dfu "
35           #elif defined(BOOTLOADER_HALFKAY)
36             ":teensy "
37           #elif defined(BOOTLOADER_CATERINA)
38             ":avrdude "
39           #endif
40           SS_TAP(X_ENTER)
41         );
42
43         reset_keyboard();
44       }
45       return false;
46       break;
47   }
48
49   return process_record_keymap(keycode, record);
50 }
51
52 void tmux_prefix(void) {
53   tap_code16(LCTL(KC_SPC));
54 }
55
56 void tmux_pane_zoom(void) {
57   tmux_prefix();
58
59   SEND_STRING("z");
60 }
61
62 LEADER_EXTERNS();
63 void matrix_scan_user(void) {
64   LEADER_DICTIONARY() {
65     leading = false;
66     leader_end();
67
68     // Available seqs
69     // SEQ_ONE_KEY, SEQ_TWO_KEYS, SEQ_THREE_KEYS
70     // anything you can do in a macro https://docs.qmk.fm/macros.html
71     // https://docs.qmk.fm/feature_leader_key.html
72
73     // Stop music and lock computer via alfred
74     SEQ_ONE_KEY(KC_H) {
75       SEND_STRING(SS_LGUI(" ") SS_TAP(X_LGUI) "afk" SS_TAP(X_ENTER));
76     }
77
78     // Stop music and lock computer via alfred
79     SEQ_TWO_KEYS(KC_H, KC_H) {
80       SEND_STRING(SS_LGUI(" ") SS_TAP(X_LGUI) "afk" SS_TAP(X_ENTER) SS_TAP(X_MEDIA_PLAY_PAUSE));
81     }
82
83     // Whole Screen Shot
84     SEQ_ONE_KEY(KC_A) {
85       SEND_STRING(SS_LGUI(SS_LSFT("3")));
86     }
87
88     // Selective Screen Shot
89     SEQ_ONE_KEY(KC_S) {
90       SEND_STRING(SS_LGUI(SS_LSFT("4")));
91     }
92
93     // TMUX - shift to pane 1 and zoom
94     SEQ_ONE_KEY(KC_J) {
95       tmux_prefix();
96       SEND_STRING("q1");
97       tmux_pane_zoom();
98     }
99
100     // TMUX - shift to first window
101     SEQ_TWO_KEYS(KC_J, KC_J) {
102       tmux_prefix();
103       SEND_STRING("1");
104     }
105
106     // TMUX - shift to pane 2 and zoom
107     SEQ_ONE_KEY(KC_K) {
108       tmux_prefix();
109       SEND_STRING("q2");
110       tmux_pane_zoom();
111     }
112
113     // TMUX - shift to second window
114     SEQ_TWO_KEYS(KC_K, KC_K) {
115       tmux_prefix();
116       SEND_STRING("2");
117     }
118
119     // TMUX - shift to pane 3 and zoom
120     SEQ_ONE_KEY(KC_L) {
121       tmux_prefix();
122       SEND_STRING("q3");
123       tmux_pane_zoom();
124     }
125
126     // TMUX - shift to third window
127     SEQ_TWO_KEYS(KC_L, KC_L) {
128       tmux_prefix();
129       SEND_STRING("3");
130     }
131
132     // TMUX - shift to last pane and zoom
133     SEQ_ONE_KEY(KC_SCOLON) {
134       tmux_prefix();
135       SEND_STRING(";");
136       tmux_pane_zoom();
137     }
138   }
139 }