aboutsummaryrefslogtreecommitdiff
path: root/users/ninjonas/process_records.c
diff options
context:
space:
mode:
Diffstat (limited to 'users/ninjonas/process_records.c')
-rw-r--r--users/ninjonas/process_records.c98
1 files changed, 98 insertions, 0 deletions
diff --git a/users/ninjonas/process_records.c b/users/ninjonas/process_records.c
new file mode 100644
index 000000000..1b7958abc
--- /dev/null
+++ b/users/ninjonas/process_records.c
@@ -0,0 +1,98 @@
1#include "ninjonas.h"
2
3__attribute__((weak))
4bool process_record_keymap(uint16_t keycode, keyrecord_t *record) { return true; }
5
6__attribute__((weak))
7bool process_record_secrets(uint16_t keycode, keyrecord_t *record) { return true; }
8
9bool process_record_user(uint16_t keycode, keyrecord_t *record) {
10 if (record->event.pressed) {
11 #ifdef SSD1306OLED
12 set_keylog(keycode, record);
13 #endif
14 }
15
16 switch (keycode) {
17
18 // Sends pyenv to activate 'jira' environment
19 case M_PYNV:
20 if (record->event.pressed) {
21 SEND_STRING("pyenv activate jira" SS_TAP(X_ENTER));
22 }
23 break;
24
25 // Sends  + alt + shift to a keycode to activate shiftit. See: https://github.com/fikovnik/ShiftIt
26 case M_SHFT:
27 if (record->event.pressed) {
28 register_code(KC_LGUI);
29 register_code(KC_LALT);
30 register_code(KC_LCTL);
31 } else {
32 unregister_code(KC_LGUI);
33 unregister_code(KC_LALT);
34 unregister_code(KC_LCTL);
35 }
36 break;
37
38 // Sends QMK make command to compile keyboard
39 case M_MAKE:
40 if (record->event.pressed) {
41 SEND_STRING("rm -f *.hex && rm -rf .build/ && make " QMK_KEYBOARD ":" QMK_KEYMAP SS_TAP(X_ENTER));
42 }
43 break;
44
45 // Sends QMK make command with the correct bootloader
46 case M_FLSH:
47 if (!record->event.pressed) {
48 SEND_STRING("rm -f *.hex && rm -rf .build/ && make " QMK_KEYBOARD ":" QMK_KEYMAP
49 #if (defined(BOOTLOADER_DFU) || defined(BOOTLOADER_LUFA_DFU) || defined(BOOTLOADER_QMK_DFU))
50 ":dfu "
51 #elif defined(BOOTLOADER_CATERINA)
52 ":avrdude "
53 #endif
54 SS_TAP(X_ENTER)
55 );
56
57 // Send reset_keyboard command instead of pressing reset button
58 #if (defined(BOOTLOADER_DFU) || defined(BOOTLOADER_LUFA_DFU) || defined(BOOTLOADER_QMK_DFU))
59 reset_keyboard();
60 #endif
61 }
62 break;
63
64 // Sends QMK version
65 case M_VRSN:
66 if (record->event.pressed) {
67 SEND_STRING (QMK_KEYBOARD "/" QMK_KEYMAP " @ " QMK_VERSION ", Built on: " QMK_BUILDDATE);
68 }
69 break;
70
71 // Opens Visual Studio Code on current directory
72 case M_CODE:
73 if (record->event.pressed) {
74 SEND_STRING("code ." SS_TAP(X_ENTER));
75 }
76 break;
77
78 // BEGIN: Layer macros
79 case QWERTY:
80 if (record->event.pressed) {
81 set_single_persistent_default_layer(_QWERTY);
82 }
83 break;
84 case DVORAK:
85 if (record->event.pressed) {
86 set_single_persistent_default_layer(_DVORAK);
87 }
88 break;
89 case COLEMAK:
90 if (record->event.pressed) {
91 set_single_persistent_default_layer(_COLEMAK);
92 }
93 break;
94 // END: Layer macros
95 }
96
97 return process_record_keymap(keycode, record) && process_record_secrets(keycode, record);
98}