aboutsummaryrefslogtreecommitdiff
path: root/users/stanrc85
diff options
context:
space:
mode:
Diffstat (limited to 'users/stanrc85')
-rw-r--r--users/stanrc85/rules.mk2
-rw-r--r--users/stanrc85/stanrc85.c41
-rw-r--r--users/stanrc85/stanrc85.h9
3 files changed, 52 insertions, 0 deletions
diff --git a/users/stanrc85/rules.mk b/users/stanrc85/rules.mk
index c94dca0b7..4b66f9692 100644
--- a/users/stanrc85/rules.mk
+++ b/users/stanrc85/rules.mk
@@ -8,6 +8,8 @@ AUDIO_ENABLE = no
8CONSOLE_ENABLE = no 8CONSOLE_ENABLE = no
9NKRO_ENABLE = no 9NKRO_ENABLE = no
10 10
11SRC += stanrc85.c
12
11ifeq ($(strip $(RGBLIGHT_ENABLE)), yes) 13ifeq ($(strip $(RGBLIGHT_ENABLE)), yes)
12 # Include my fancy rgb functions source here 14 # Include my fancy rgb functions source here
13 SRC += layer_rgb.c 15 SRC += layer_rgb.c
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}
diff --git a/users/stanrc85/stanrc85.h b/users/stanrc85/stanrc85.h
index 7e581f993..091c81070 100644
--- a/users/stanrc85/stanrc85.h
+++ b/users/stanrc85/stanrc85.h
@@ -1,12 +1,21 @@
1#pragma once 1#pragma once
2 2
3#include "quantum.h" 3#include "quantum.h"
4#include "version.h"
4 5
5#define DEFAULT 0 //Custom ANSI 6#define DEFAULT 0 //Custom ANSI
6#define LAYER1 1 //Default ANSI (enable with Fn2+CAPS) 7#define LAYER1 1 //Default ANSI (enable with Fn2+CAPS)
7#define LAYER2 2 //Function keys, arrows, custom shortcuts, volume control 8#define LAYER2 2 //Function keys, arrows, custom shortcuts, volume control
8#define LAYER3 3 //RGB Underglow controls and RESET 9#define LAYER3 3 //RGB Underglow controls and RESET
9 10
11enum custom_keycodes {
12 KC_MAKE = SAFE_RANGE,
13 NEW_SAFE_RANGE //use "NEW_SAFE_RANGE" for keymap specific codes
14};
15
16#define MODS_SHIFT_MASK (MOD_BIT(KC_LSHIFT)|MOD_BIT(KC_RSHIFT))
17#define MODS_CTRL_MASK (MOD_BIT(KC_LCTL)|MOD_BIT(KC_RCTRL))
18
10//Aliases for longer keycodes 19//Aliases for longer keycodes
11#define KC_CAD LALT(LCTL(KC_DEL)) 20#define KC_CAD LALT(LCTL(KC_DEL))
12#define KC_LOCK LGUI(KC_L) 21#define KC_LOCK LGUI(KC_L)