aboutsummaryrefslogtreecommitdiff
path: root/users/stanrc85/stanrc85.c
diff options
context:
space:
mode:
Diffstat (limited to 'users/stanrc85/stanrc85.c')
-rw-r--r--users/stanrc85/stanrc85.c41
1 files changed, 41 insertions, 0 deletions
diff --git a/users/stanrc85/stanrc85.c b/users/stanrc85/stanrc85.c
new file mode 100644
index 000000000..ecf364117
--- /dev/null
+++ b/users/stanrc85/stanrc85.c
@@ -0,0 +1,41 @@
1#include "stanrc85.h"
2
3__attribute__ ((weak))
4bool process_record_keymap(uint16_t keycode, keyrecord_t *record) {
5 return true;
6}
7
8bool process_record_user(uint16_t keycode, keyrecord_t *record) {
9 switch (keycode) {
10 case KC_MAKE:
11 if (!record->event.pressed) {
12 uint8_t temp_mod = get_mods();
13 uint8_t temp_osm = get_oneshot_mods();
14 clear_mods();
15 clear_oneshot_mods();
16 send_string_with_delay_P(PSTR("make " QMK_KEYBOARD ":" QMK_KEYMAP), 10);
17 if (temp_mod & MODS_SHIFT_MASK || temp_osm & MODS_SHIFT_MASK ) {
18 //RESET board for flashing if SHIFT held or tapped with KC_MAKE
19 #if defined(__arm__)
20 send_string_with_delay_P(PSTR(":dfu-util"), 10);
21 wait_ms(100);
22 reset_keyboard();
23 #elif defined(BOOTLOADER_DFU)
24 send_string_with_delay_P(PSTR(":dfu"), 10);
25 #elif defined(BOOTLOADER_HALFKAY)
26 send_string_with_delay_P(PSTR(":teensy"), 10);
27 #elif defined(BOOTLOADER_CATERINA)
28 send_string_with_delay_P(PSTR(":avrdude"), 10);
29 #else
30 reset_keyboard();
31 #endif // bootloader options
32 }
33 if (temp_mod & MODS_CTRL_MASK || temp_osm & MODS_CTRL_MASK) { send_string_with_delay_P(PSTR(" -j8 --output-sync"), 10); }
34 send_string_with_delay_P(PSTR(SS_TAP(X_ENTER)), 10);
35 set_mods(temp_mod);
36 }
37 return false;
38 break;
39 }
40 return process_record_keymap(keycode, record);
41}