aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorkuchosauronad0 <22005492+kuchosauronad0@users.noreply.github.com>2019-10-29 22:52:24 -0700
committerDrashna Jaelre <drashna@live.com>2019-10-29 22:52:24 -0700
commit674fcc474c162f44fadfa8a796134751d80ee639 (patch)
tree78fd0514eb6c2a6c686a6261802002fd5d04706e
parentb1c2bf071bcfd0d5badf79656f523dd8f5146f25 (diff)
downloadqmk_firmware-674fcc474c162f44fadfa8a796134751d80ee639.tar.gz
qmk_firmware-674fcc474c162f44fadfa8a796134751d80ee639.zip
[Keymap] Update to Userspace kuchosauronad0 (#6899)
* Add Plover layer, remove unused layers * Add rgb indicator for success/failed sequences * Add RGB effects * Add RGB * Add effects for start and end of a leader sequence * Add PLOVER layer * Add RGB * Add RBG * Minor clean up * Minor clean up * Minor clean up * Minor clean up * Rename rgb_light to rgblight_user and fix all references to it * Remove unnecessary guards Remove unnecessary matrix_scan in rgb post_init function * remove trailing newline
-rw-r--r--users/kuchosauronad0/config.h80
-rw-r--r--users/kuchosauronad0/kuchosauronad0.c13
-rw-r--r--users/kuchosauronad0/kuchosauronad0.h74
-rw-r--r--users/kuchosauronad0/leader.c97
-rw-r--r--users/kuchosauronad0/process_records.c4
-rw-r--r--users/kuchosauronad0/process_records.h89
-rw-r--r--users/kuchosauronad0/rgblight_user.c156
-rw-r--r--users/kuchosauronad0/rgblight_user.h23
-rw-r--r--users/kuchosauronad0/rules.mk8
-rw-r--r--users/kuchosauronad0/wrappers.h152
10 files changed, 459 insertions, 237 deletions
diff --git a/users/kuchosauronad0/config.h b/users/kuchosauronad0/config.h
index b2c63c1e0..b06c9e2c5 100644
--- a/users/kuchosauronad0/config.h
+++ b/users/kuchosauronad0/config.h
@@ -1,61 +1,62 @@
1#pragma once 1#pragma once
2 2
3#ifdef AUDIO_ENABLE 3#ifdef AUDIO_ENABLE
4 #define AUDIO_CLICKY 4# define DEFAULT_LAYER_SONGS \
5 #define STARTUP_SONG SONG(RICK_ROLL) 5 { SONG(QWERTY_SOUND), SONG(COLEMAK_SOUND), SONG(DVORAK_SOUND), SONG(PLOVER_SOUND) }
6 #define GOODBYE_SONG SONG(SONIC_RING) 6# define AUDIO_CLICKY
7 #define DEFAULT_LAYER_SONGS { SONG(QWERTY_SOUND), \ 7# define STARTUP_SONG SONG(RICK_ROLL)
8 SONG(COLEMAK_SOUND), \ 8# define GOODBYE_SONG SONG(SONIC_RING)
9 SONG(DVORAK_SOUND), \ 9# define AUDIO_CLICKY_FREQ_RANDOMNESS 1.5f
10 SONG(OVERWATCH_THEME) \ 10# ifndef __arm__
11 } 11# undef NOTE_REST
12 #define AUDIO_CLICKY_FREQ_RANDOMNESS 1.5f 12# define NOTE_REST 1.00f
13 // #ifdef RGBLIGHT_ENABLE 13# endif // !__arm__
14 // #define NO_MUSIC_MODE 14# define UNICODE_SONG_OSX SONG(RICK_ROLL)
15 // #endif //RGBLIGHT_ENABLE/ 15# define UNICODE_SONG_LNX SONG(RICK_ROLL)
16 // #ifndef __arm__ 16# define UNICODE_SONG_WIN SONG(RICK_ROLL)
17 // #undef NOTE_REST 17# define UNICODE_SONG_BSD SONG(RICK_ROLL)
18 // #define NOTE_REST 1.00f 18# define UNICODE_SONG_WINC SONG(RICK_ROLL)
19 // #endif // !__arm__
20 #define UNICODE_SONG_OSX SONG(RICK_ROLL)
21 #define UNICODE_SONG_LNX SONG(RICK_ROLL)
22 #define UNICODE_SONG_WIN SONG(RICK_ROLL)
23 #define UNICODE_SONG_BSD SONG(RICK_ROLL)
24 #define UNICODE_SONG_WINC SONG(RICK_ROLL)
25#endif // !AUDIO_ENABLE 19#endif // !AUDIO_ENABLE
26 20
27#ifdef RGBLIGHT_ENABLE 21#ifdef RGBLIGHT_ENABLE
28 #define RGBLIGHT_SLEEP 22# define RGBLIGHT_SLEEP
29 #undef RGBLIGHT_ANIMATIONS 23# undef RGBLIGHT_ANIMATIONS
30 #define RGBLIGHT_EFFECT_BREATHING 24# define RGBLIGHT_HUE_STEP 16
31 #define RGBLIGHT_EFFECT_SNAKE 25# define RGBLIGHT_SAT_STEP 16
32 #define RGBLIGHT_EFFECT_KNIGHT 26# define RGBLIGHT_VAL_STEP 16
27# define RGBLIGHT_LIMIT_VAL 255
28# define RGBLIGHT_EFFECT_BREATHING
29# define RGBLIGHT_EFFECT_STATIC_GRADIENT
30//# define RGBLIGHT_EFFECT_KNIGHT
31//# define RGBLIGHT_EFFECT_KNIGHT_LENGTH 2
32//# define RGBLIGHT_EFFECT_SNAKE
33//# define RGBLIGHT_EFFECT_SNAKE_LENGTH 2
33#endif // !RGBLIGHT_ENABLE 34#endif // !RGBLIGHT_ENABLE
34 35
35#ifndef ONESHOT_TAP_TOGGLE 36#ifndef ONESHOT_TAP_TOGGLE
36 #define ONESHOT_TAP_TOGGLE 2 37# define ONESHOT_TAP_TOGGLE 2
37#endif // !ONESHOT_TAP_TOGGLE 38#endif // !ONESHOT_TAP_TOGGLE
38 39
39#ifndef ONESHOT_TIMEOUT 40#ifndef ONESHOT_TIMEOUT
40 #define ONESHOT_TIMEOUT 3000 41# define ONESHOT_TIMEOUT 3000
41#endif// !ONESHOT_TIMEOUT 42#endif// !ONESHOT_TIMEOUT
42 43
43#ifndef QMK_KEYS_PER_SCAN 44#ifndef QMK_KEYS_PER_SCAN
44 #define QMK_KEYS_PER_SCAN 4 45# define QMK_KEYS_PER_SCAN 4
45#endif // !QMK_KEYS_PER_SCAN 46#endif // !QMK_KEYS_PER_SCAN
46 47
47#if defined(LEADER_ENABLE) 48#if defined(LEADER_ENABLE)
48 #define LEADER_PER_KEY_TIMING 49# define LEADER_PER_KEY_TIMING
49 #define LEADER_TIMEOUT 250 50# define LEADER_TIMEOUT 250
50#endif // !LEADER_ENABLE 51#endif // !LEADER_ENABLE
51 52
52#if defined(COMBO_ENABLE) 53#if defined(COMBO_ENABLE)
53 #define COMBO_COUNT 4 54# define COMBO_COUNT 4
54 #define COMBO_TERM 150 55# define COMBO_TERM 150
55#endif // !COMBO_ENABLE 56#endif // !COMBO_ENABLE
56 57
57#if defined(NKRO_ENABLE) 58#if defined(NKRO_ENABLE)
58 #define FORCE_NKRO 59# define FORCE_NKRO
59#endif // !NKRO_ENABLE 60#endif // !NKRO_ENABLE
60 61
61// this makes it possible to do rolling combos (zx) with keys that 62// this makes it possible to do rolling combos (zx) with keys that
@@ -68,18 +69,18 @@
68//#define RETRO_TAPPING 69//#define RETRO_TAPPING
69 70
70#ifndef TAPPING_TOGGLE 71#ifndef TAPPING_TOGGLE
71 #define TAPPING_TOGGLE 1 72# define TAPPING_TOGGLE 1
72#endif 73#endif
73 74
74#ifdef TAPPING_TERM 75#ifdef TAPPING_TERM
75 #undef TAPPING_TERM 76# undef TAPPING_TERM
76#endif // !TAPPING_TERM 77#endif // !TAPPING_TERM
77#if defined(KEYBOARD_handwired_kuchosauronad0_planckenstein) 78#if defined(KEYBOARD_handwired_kuchosauronad0_planckenstein)
78 #define TAPPING_TERM 185 79# define TAPPING_TERM 185
79#elif defined(KEYBOARD_c39) 80#elif defined(KEYBOARD_c39)
80 #define TAPPING_TERM 200 81# define TAPPING_TERM 200
81#else 82#else
82 #define TAPPING_TERM 180 83# define TAPPING_TERM 180
83#endif 84#endif
84 85
85 86
@@ -87,4 +88,3 @@
87 88
88#define MACRO_TIMER 5 89#define MACRO_TIMER 5
89 90
90
diff --git a/users/kuchosauronad0/kuchosauronad0.c b/users/kuchosauronad0/kuchosauronad0.c
index 21e74a0fa..6c38d0f10 100644
--- a/users/kuchosauronad0/kuchosauronad0.c
+++ b/users/kuchosauronad0/kuchosauronad0.c
@@ -19,10 +19,9 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
19 19
20userspace_config_t userspace_config; 20userspace_config_t userspace_config;
21#if (defined(UNICODE_ENABLE) || defined(UNICODEMAP_ENABLE) || defined(UCIS_ENABLE)) 21#if (defined(UNICODE_ENABLE) || defined(UNICODEMAP_ENABLE) || defined(UCIS_ENABLE))
22 #define KUCHOSAURONAD0_UNICODE_MODE UC_WINC 22# define KUCHOSAURONAD0_UNICODE_MODE UC_WINC
23#else 23#else
24 // set to 2 for UC_WIN, set to 4 for UC_WINC 24# define KUCHOSAURONAD0_UNICODE_MODE 2 // set to 2 for UC_WIN, set to 4 for UC_WINC
25 #define KUCHOSAURONAD0_UNICODE_MODE 2
26#endif 25#endif
27 26
28 27
@@ -70,7 +69,7 @@ void shutdown_user (void) {
70 #ifdef RGBLIGHT_ENABLE 69 #ifdef RGBLIGHT_ENABLE
71 rgblight_enable_noeeprom(); 70 rgblight_enable_noeeprom();
72 rgblight_mode_noeeprom(1); 71 rgblight_mode_noeeprom(1);
73 rgblight_setrgb_red(); 72 rgblight_setrgb_teal();
74 #endif // RGBLIGHT_ENABLE 73 #endif // RGBLIGHT_ENABLE
75 #ifdef RGB_MATRIX_ENABLE 74 #ifdef RGB_MATRIX_ENABLE
76 // uint16_t timer_start = timer_read(); 75 // uint16_t timer_start = timer_read();
@@ -108,11 +107,11 @@ void matrix_scan_user(void){
108 107
109#ifdef TAP_DANCE_ENABLE // Run Diablo 3 macro checking code. 108#ifdef TAP_DANCE_ENABLE // Run Diablo 3 macro checking code.
110// run_diablo_macro_check(); 109// run_diablo_macro_check();
111#endif // TAP_DANCE_ENABLE 110#endif // !TAP_DANCE_ENABLE
112 111
113#ifdef RGBLIGHT_ENABLE 112#ifdef RGBLIGHT_ENABLE
114 matrix_scan_rgb(); 113 matrix_scan_rgb();
115#endif // RGBLIGHT_ENABLE 114#endif // !RGBLIGHT_ENABLE
116 115
117 matrix_scan_keymap(); 116 matrix_scan_keymap();
118} 117}
@@ -171,6 +170,8 @@ void eeconfig_init_user(void) {
171 #else 170 #else
172 eeprom_update_byte(EECONFIG_UNICODEMODE, KUCHOSAURONAD0_UNICODE_MODE); 171 eeprom_update_byte(EECONFIG_UNICODEMODE, KUCHOSAURONAD0_UNICODE_MODE);
173 #endif 172 #endif
173 eeconfig_init_keymap();
174 keyboard_init();
174} 175}
175 176
176// TMUX stuff 177// TMUX stuff
diff --git a/users/kuchosauronad0/kuchosauronad0.h b/users/kuchosauronad0/kuchosauronad0.h
index 9ea2673da..da996457c 100644
--- a/users/kuchosauronad0/kuchosauronad0.h
+++ b/users/kuchosauronad0/kuchosauronad0.h
@@ -1,7 +1,4 @@
1#ifndef USERSPACE 1#pragma once
2#define USERSPACE
3
4//#pragma once
5 2
6#include "quantum.h" 3#include "quantum.h"
7 4
@@ -11,23 +8,25 @@
11#include "process_records.h" 8#include "process_records.h"
12 9
13#ifdef TAP_DANCE_ENABLE 10#ifdef TAP_DANCE_ENABLE
14 #include "tap_dances.h" 11# include "tap_dances.h"
15 #define KC_TMX TD(TD_TMX) // tap1: 't' tap2: <CTL>+b 12# define KC_TMX TD(TD_TMX) // tap1: 't' tap2: <CTL>+b
16 #define KC_EOL TD(TD_EOL) // tap1: 'e' tap2: <CTL>+e 13# define KC_EOL TD(TD_EOL) // tap1: 'e' tap2: <CTL>+e
17 #define KC_BOL TD(TD_BOL) // tap1: 'a' tap2: <CTL>+a 14# define KC_BOL TD(TD_BOL) // tap1: 'a' tap2: <CTL>+a
18 #define KC_NW TD(TD_NW) // tap1: 'f' tap2: <ALT>+f 15# define KC_NW TD(TD_NW) // tap1: 'f' tap2: <ALT>+f
19 #define KC_PW TD(TD_PW) // tap1: 'b' tap2: <ALT>+b 16# define KC_PW TD(TD_PW) // tap1: 'b' tap2: <ALT>+b
20 #define KC_DW TD(TD_DW) // tap1: 'w' tap2: <CTL>+w 17# define KC_DW TD(TD_DW) // tap1: 'w' tap2: <CTL>+w
21#endif //!TAP_DANCE_ENABLE 18#endif //!TAP_DANCE_ENABLE
19
22#if defined(RGBLIGHT_ENABLE) || defined(RGB_MATRIX_ENABLE) 20#if defined(RGBLIGHT_ENABLE) || defined(RGB_MATRIX_ENABLE)
23 #include "rgb_stuff.h" 21# include "rgblight_user.h"
24#endif 22#endif
23
25#if defined(UNICODEMAP_ENABLE) || defined(UNICODE_ENABLE) 24#if defined(UNICODEMAP_ENABLE) || defined(UNICODE_ENABLE)
26 #include "unicode.h" 25# include "unicode.h"
27#endif //!UNICODE_ENABLE 26#endif //!UNICODE_ENABLE
28 27
29// Keycode aliases 28// Keycode aliases
30#define TM_X LCTL(KC_B) // Tmux control sequence 29#define TM_X LCTL(KC_B) // Tmux leader key
31// Unix QoL macros 30// Unix QoL macros
32#define MC_BOL LCTL(KC_A) // jump to beginning of line 31#define MC_BOL LCTL(KC_A) // jump to beginning of line
33#define MC_EOL LCTL(KC_E) // jump to end of line 32#define MC_EOL LCTL(KC_E) // jump to end of line
@@ -42,10 +41,11 @@ enum userspace_layers {
42 _COLEMAK, 41 _COLEMAK,
43 _DVORAK, 42 _DVORAK,
44 _WORKMAN, 43 _WORKMAN,
45 _NORMAN, 44/* _NORMAN,
46 _MALTRON, 45 _MALTRON,
47 _EUCALYN, 46 _EUCALYN,
48 _CARPLAX, 47 _CARPLAX, */
48 _PLOVER,
49 _UNICODE, 49 _UNICODE,
50 _MODS, /* layer 8 now 9*/ 50 _MODS, /* layer 8 now 9*/
51 _GAMEPAD, 51 _GAMEPAD,
@@ -57,18 +57,18 @@ enum userspace_layers {
57 _ADJUST, 57 _ADJUST,
58}; 58};
59 59
60bool mod_key_press_timer (uint16_t code, uint16_t mod_code, bool pressed); 60bool mod_key_press_timer (uint16_t code, uint16_t mod_code, bool pressed);
61bool mod_key_press (uint16_t code, uint16_t mod_code, bool pressed, uint16_t this_timer); 61bool mod_key_press (uint16_t code, uint16_t mod_code, bool pressed, uint16_t this_timer);
62bool send_game_macro(const char *str, keyrecord_t *record, bool override); 62bool send_game_macro(const char *str, keyrecord_t *record, bool override);
63void matrix_init_keymap(void); 63void matrix_init_keymap(void);
64void shutdown_keymap(void); 64void shutdown_keymap(void);
65void suspend_power_down_keymap(void); 65void suspend_power_down_keymap(void);
66void suspend_wakeup_init_keymap(void); 66void suspend_wakeup_init_keymap(void);
67void matrix_scan_keymap(void); 67void matrix_scan_keymap(void);
68uint32_t layer_state_set_keymap (uint32_t state); 68uint32_t layer_state_set_keymap (uint32_t state);
69uint32_t default_layer_state_set_keymap (uint32_t state); 69uint32_t default_layer_state_set_keymap (uint32_t state);
70void led_set_keymap(uint8_t usb_led); 70void led_set_keymap(uint8_t usb_led);
71void eeconfig_init_keymap(void); 71void eeconfig_init_keymap(void);
72 72
73void tmux_prefix(void); 73void tmux_prefix(void);
74void tmux_pane_zoom(void); 74void tmux_pane_zoom(void);
@@ -95,17 +95,15 @@ But since TD() doesn't work when tap dance is disabled
95We use custom codes here, so we can substitute the right stuff 95We use custom codes here, so we can substitute the right stuff
96*/ 96*/
97#ifdef TAP_DANCE_ENABLE 97#ifdef TAP_DANCE_ENABLE
98#define KC_D3_1 TD(TD_D3_1) 98# define KC_D3_1 TD(TD_D3_1)
99#define KC_D3_2 TD(TD_D3_2) 99# define KC_D3_2 TD(TD_D3_2)
100#define KC_D3_3 TD(TD_D3_3) 100# define KC_D3_3 TD(TD_D3_3)
101#define KC_D3_4 TD(TD_D3_4) 101# define KC_D3_4 TD(TD_D3_4)
102#else // TAP_DANCE_ENABLE 102#else
103#define KC_D3_1 KC_1 103# define KC_D3_1 KC_1
104#define KC_D3_2 KC_2 104# define KC_D3_2 KC_2
105#define KC_D3_3 KC_3 105# define KC_D3_3 KC_3
106#define KC_D3_4 KC_4 106# define KC_D3_4 KC_4
107#endif // TAP_DANCE_ENABLE 107#endif // !TAP_DANCE_ENABLE
108
109#endif // !USERSPACE
110 108
111/* vi: ft=c:tw=80:sw=2:ts=2:sts=2:et */ 109/* vi: ft=c:tw=80:sw=2:ts=2:sts=2:et */
diff --git a/users/kuchosauronad0/leader.c b/users/kuchosauronad0/leader.c
index 58935abb3..22674eef0 100644
--- a/users/kuchosauronad0/leader.c
+++ b/users/kuchosauronad0/leader.c
@@ -1,77 +1,116 @@
1#include "leader.h" 1#include "leader.h"
2#ifdef RGBLIGHT_ENABLE
3extern rgblight_config_t rgblight_config;
4#endif
5bool leader_succeed;
2 6
3LEADER_EXTERNS(); 7LEADER_EXTERNS();
4 8
5void matrix_scan_user(void){ 9void matrix_scan_user(void) {
6 static bool has_ran_yet; 10 static bool has_ran_yet;
7 if (!has_ran_yet) { 11 if (!has_ran_yet) {
8 has_ran_yet = true; 12 has_ran_yet = true;
9 startup_user(); 13 startup_user();
10 } 14 }
11
12#ifdef TAP_DANCE_ENABLE // Run Diablo 3 macro checking code. 15#ifdef TAP_DANCE_ENABLE // Run Diablo 3 macro checking code.
13// run_diablo_macro_check(); 16// run_diablo_macro_check();
14#endif // TAP_DANCE_ENABLE 17#endif
15
16#ifdef RGBLIGHT_ENABLE 18#ifdef RGBLIGHT_ENABLE
17 matrix_scan_rgb(); 19 matrix_scan_rgb();
18#endif // RGBLIGHT_ENABLE 20#endif
19
20 LEADER_DICTIONARY() { 21 LEADER_DICTIONARY() {
21 leading = false; 22 leader_succeed = leading = false;
22 leader_end();
23 23
24 SEQ_ONE_KEY(KC_W) { 24 SEQ_ONE_KEY(KC_W) {
25 // vim/tmux: Use in command mode in vim: write to file, switch tmux pane in the current session window and repeat the last command 25 // vim/tmux: Use in command mode in vim: write to file, switch tmux pane in the current session window and repeat the last command
26 SEND_STRING(":w" SS_TAP(X_ENTER)); 26 SEND_STRING(":w" SS_TAP(X_ENTER));
27 tmux_pane_switch_repeat(); 27 tmux_pane_switch_repeat();
28 } 28 leader_succeed = true;
29 29 } else
30 SEQ_ONE_KEY(KC_T) { 30 SEQ_ONE_KEY(KC_T) {
31 // Send the Tmux Prefix 31 // Send the Tmux Prefix
32 tmux_prefix(); 32 tmux_prefix();
33 } 33 leader_succeed = true;
34 34 } else
35 SEQ_ONE_KEY(KC_A) { 35 SEQ_ONE_KEY(KC_A) {
36 // tmux: Send the prefix and press 'right' arrow 36 // tmux: Send the prefix and press 'right' arrow
37 tmux_prefix(); 37 tmux_prefix();
38 tap_code(KC_RIGHT); 38 tap_code(KC_RIGHT);
39 } 39 leader_succeed = true;
40 40 } else
41 SEQ_TWO_KEYS(KC_T, KC_T) { 41 SEQ_TWO_KEYS(KC_T, KC_T) {
42 // tmux: Send the prefix to a nested session 42 // tmux: Send the prefix to a nested session
43 tmux_prefix(); 43 tmux_prefix();
44 tmux_prefix(); 44 tmux_prefix();
45 } 45 leader_succeed = true;
46 } else
46 SEQ_TWO_KEYS(KC_T, KC_R) { 47 SEQ_TWO_KEYS(KC_T, KC_R) {
47 // tmux: Switch pane and repeat last action 48 // tmux: Switch pane and repeat last action
48 tmux_pane_switch_repeat(); 49 tmux_pane_switch_repeat();
49 } 50 leader_succeed = true;
50 51 } else
51 SEQ_TWO_KEYS(KC_V, KC_Z){ 52 SEQ_TWO_KEYS(KC_V, KC_Z){
52 // vim: Zoom pane 53 // vim: Zoom pane
53 tap_code16(LCTL(KC_W)); 54 tap_code16(LCTL(KC_W));
54 tap_code16(LSFT(KC_BSLS)); 55 tap_code16(LSFT(KC_BSLS));
55 } 56 leader_succeed = true;
56 57 } else
57 SEQ_TWO_KEYS(KC_V, KC_R) { 58 SEQ_TWO_KEYS(KC_V, KC_R) {
58 // vim: Substitute and place cursor 59 // vim: Substitute and place cursor
59 SEND_STRING(":%s///g" SS_TAP(X_LEFT)); 60 SEND_STRING(":%s///g" SS_TAP(X_LEFT));
60 tap_code(KC_LEFT); 61 tap_code(KC_LEFT);
61 tap_code(KC_LEFT); 62 tap_code(KC_LEFT);
62 } 63 leader_succeed = true;
63 64 } else
64 SEQ_TWO_KEYS(KC_V, KC_T) { 65 SEQ_TWO_KEYS(KC_V, KC_T) {
65 // vim: move current pane to new tab 66 // vim: move current pane to new tab
66 tap_code16(LCTL(KC_W)); 67 tap_code16(LCTL(KC_W));
67 tap_code16(LSFT(KC_T)); 68 tap_code16(LSFT(KC_T));
68 } 69 leader_succeed = true;
69 70 } else
71 SEQ_ONE_KEY(KC_R){
72 // Toggle RGB Layer indicator
73 tap_code16(KC_RGB_T);
74 leader_succeed = true;
75 } else
76 SEQ_ONE_KEY(KC_SPC){
77 // One Shot Unicode layer
78//TODO tap_code16(OS_UNI);
79 leader_succeed = true;
80 } else
81 SEQ_TWO_KEYS(KC_SPC, KC_SPC){
82 // Toggle _MODS
83 tap_code16(TG_MODS);
84 leader_succeed = true;
85 } else
70 SEQ_THREE_KEYS(KC_BSPC, KC_BSPC, KC_BSPC){ 86 SEQ_THREE_KEYS(KC_BSPC, KC_BSPC, KC_BSPC){
71 // Reset the keyboard 87 // Reset the keyboard
72 reset_keyboard(); 88 reset_keyboard();
89 leader_succeed = true;
73 } 90 }
91 leader_end();
74 } 92 }
93// matrix_scan_keymap();
94}
95
96void leader_start(void) {
97#ifdef RGBLIGHT_ENABLE
98 rgblight_savebase();
99 rgblight_mode_noeeprom(1);
100 rgblight_sethsv_noeeprom_goldenrod();
101#endif
102}
75 103
76 matrix_scan_keymap(); 104void leader_end(void) {
105// pick color depending of success /fail
106// fade leader_start from 100 to 0
107// fade new color from 0 to 100 to 0
108// fade old color from 0 to 100
109#ifdef RGBLIGHT_ENABLE
110 if (leader_succeed) {
111 fadeflash_leds(HSV_GREEN);
112 } else {
113 fadeflash_leds(HSV_RED);
114 }
115#endif
77} 116}
diff --git a/users/kuchosauronad0/process_records.c b/users/kuchosauronad0/process_records.c
index 1eb3043b1..bec6fa5ad 100644
--- a/users/kuchosauronad0/process_records.c
+++ b/users/kuchosauronad0/process_records.c
@@ -25,7 +25,7 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) {
25#endif //KEYLOGGER_ENABLE 25#endif //KEYLOGGER_ENABLE
26 26
27 switch (keycode) { 27 switch (keycode) {
28 case KC_QWERTY ... KC_UNICODE: 28 case KC_QWERTY ... KC_PLOVER:
29 if (record->event.pressed) { 29 if (record->event.pressed) {
30 set_single_persistent_default_layer(keycode - KC_QWERTY); 30 set_single_persistent_default_layer(keycode - KC_QWERTY);
31 } 31 }
@@ -168,7 +168,7 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) {
168 case KC_OVERWATCH: // Toggle's if we hit "ENTER" or "BACKSPACE" to input macros 168 case KC_OVERWATCH: // Toggle's if we hit "ENTER" or "BACKSPACE" to input macros
169 if (record->event.pressed) { userspace_config.is_overwatch ^= 1; eeconfig_update_user(userspace_config.raw); } 169 if (record->event.pressed) { userspace_config.is_overwatch ^= 1; eeconfig_update_user(userspace_config.raw); }
170#ifdef RGBLIGHT_ENABLE 170#ifdef RGBLIGHT_ENABLE
171 userspace_config.is_overwatch ? rgblight_mode_noeeprom(17) : rgblight_mode_noeeprom(18); 171// userspace_config.is_overwatch ? rgblight_mode_noeeprom(17) : rgblight_mode_noeeprom(18);
172#endif //RGBLIGHT_ENABLE 172#endif //RGBLIGHT_ENABLE
173 break; 173 break;
174 case KC_SALT: 174 case KC_SALT:
diff --git a/users/kuchosauronad0/process_records.h b/users/kuchosauronad0/process_records.h
index 1a66beaa7..d3d4c4fe8 100644
--- a/users/kuchosauronad0/process_records.h
+++ b/users/kuchosauronad0/process_records.h
@@ -2,9 +2,9 @@
2#include "kuchosauronad0.h" 2#include "kuchosauronad0.h"
3 3
4#if defined(KEYMAP_SAFE_RANGE) 4#if defined(KEYMAP_SAFE_RANGE)
5#define PLACEHOLDER_SAFE_RANGE KEYMAP_SAFE_RANGE 5# define PLACEHOLDER_SAFE_RANGE KEYMAP_SAFE_RANGE
6#else 6#else
7#define PLACEHOLDER_SAFE_RANGE SAFE_RANGE 7# define PLACEHOLDER_SAFE_RANGE SAFE_RANGE
8#endif 8#endif
9 9
10enum userspace_custom_keycodes{ 10enum userspace_custom_keycodes{
@@ -13,11 +13,7 @@ enum userspace_custom_keycodes{
13 KC_COLEMAK, // Sets default layer to COLEMAK 13 KC_COLEMAK, // Sets default layer to COLEMAK
14 KC_DVORAK, // Sets default layer to DVORAK 14 KC_DVORAK, // Sets default layer to DVORAK
15 KC_WORKMAN, // Sets default layer to WORKMAN 15 KC_WORKMAN, // Sets default layer to WORKMAN
16 KC_NORMAN, // Sets default layer to NORMAN 16 KC_PLOVER, // Sets default layer to PLOVER
17 KC_MALTRON, // Sets default layer to MALTRON
18 KC_EUCALYN, // Sets default layer to EUCALYN
19 KC_CARPLAX, // Sets default layer to CARPLAX
20 KC_UNICODE, // Sets default layer to UNICODE
21 17
22 KC_MAKE, // Run keyboard's customized make command 18 KC_MAKE, // Run keyboard's customized make command
23 KC_RGB_T, // Toggles RGB Layer Indication mode 19 KC_RGB_T, // Toggles RGB Layer Indication mode
@@ -33,36 +29,37 @@ enum userspace_custom_keycodes{
33 UC_SHRG, // ¯\_(ツ)_/¯ 29 UC_SHRG, // ¯\_(ツ)_/¯
34 UC_DISA, // ಠ_ಠ 30 UC_DISA, // ಠ_ಠ
35 31
36 MC_QT1, // "" 32 MC_QT1, // ""
37 MC_QT2, // '' 33 MC_QT2, // ''
38 MC_QT3, // `' 34 MC_QT3, // `'
39 MC_PAR, // Parenthesis 35 MC_PAR, // Parenthesis
40 MC_CUR, // Curly bracket 36 MC_CUR, // Curly bracket
41 MC_SQR, // Square bracket 37 MC_SQR, // Square bracket
42 MC_ABR, // Angle bracket 38 MC_ABR, // Angle bracket
43 MCT_NEW, // New Tmux Session 39 MCT_NEW, // New Tmux Session
44 MCT_SH, // Tmux horizontal split 40 MCT_SH, // Tmux horizontal split
45 MCT_SV, // Tmux vertical split 41 MCT_SV, // Tmux vertical split
46 MCT_ZM, // Tmux zoom 42 MCT_ZM, // Tmux zoom
47 MCT_SCR, // Tmux scroll mode 43 MCT_SCR, // Tmux scroll mode
48 MCT_UP, // Tmux up 44 MCT_UP, // Tmux up
49 MCT_DW, // Tmux down 45 MCT_DW, // Tmux down
50 MCT_LFT, // Tmux left 46 MCT_LFT, // Tmux left
51 MCT_RGT, // Tmux right 47 MCT_RGT, // Tmux right
52 MCV_B, // Vim begin of line 48 MCV_B, // Vim begin of line
53 MCV_E, // Vim end of line 49 MCV_E, // Vim end of line
54 MCT_F, // Vim for loop 50 MCT_F, // Vim for loop
55 MCG_A, // Git add 51 MCG_A, // Git add
56 MCG_C, // Git commit 52 MCG_C, // Git commit
57 MCG_P, // Git push 53 MCG_P, // Git push
58 MCG_R, // Git revert 54 MCG_R, // Git revert
59 MCG_L, // Git log 55 MCG_L, // Git log
60 MCG_S, // Git status 56 MCG_S, // Git status
61 57
62 NEW_SAFE_RANGE //use "NEWPLACEHOLDER for keymap specific codes 58 NEW_SAFE_RANGE //use "NEWPLACEHOLDER for keymap specific codes
63 }; 59 };
64 60
65bool process_record_secrets(uint16_t keycode, keyrecord_t *record); 61bool process_record_secrets(uint16_t keycode, keyrecord_t *record);
62bool process_record_user_rgb(uint16_t keycode, keyrecord_t *record);
66bool process_record_keymap(uint16_t keycode, keyrecord_t *record); 63bool process_record_keymap(uint16_t keycode, keyrecord_t *record);
67 64
68#define LOWER MO(_LOWER) 65#define LOWER MO(_LOWER)
@@ -74,21 +71,21 @@ bool process_record_keymap(uint16_t keycode, keyrecord_t *record);
74#define OS_RSE OSL(_RAISE) 71#define OS_RSE OSL(_RAISE)
75#define OS_UNI OSL(_UNICODE) 72#define OS_UNI OSL(_UNICODE)
76 73
77#define KC_SEC1 KC_SECRET_1 74#define SEC1 KC_SECRET_1
78#define KC_SEC2 KC_SECRET_2 75#define SEC2 KC_SECRET_2
79#define KC_SEC3 KC_SECRET_3 76#define SEC3 KC_SECRET_3
80#define KC_SEC4 KC_SECRET_4 77#define SEC4 KC_SECRET_4
81#define KC_SEC5 KC_SECRET_5 78#define SEC5 KC_SECRET_5
82#define KC_SEC6 KC_SECRET_6 79#define SEC6 KC_SECRET_6
83 80
84#define QWERTY KC_QWERTY 81#define QWERTY KC_QWERTY
85#define DVORAK KC_DVORAK 82#define DVORAK KC_DVORAK
86#define COLEMAK KC_COLEMAK 83#define COLEMAK KC_COLEMAK
87#define WORKMAN KC_WORKMAN 84#define WORKMAN KC_WORKMAN
88#define UNICODE KC_UNICODE 85#define PLOVER KC_PLOVER
89 86
90#define KC_RESET RESET 87#define KC_RESET RESET
91#define KC_RST KC_RESET 88#define KC_RST KC_RESET
92 89
93#define UC_IRNY UC(0x2E2E) 90#define UC_IRNY UC(0x2E2E)
94#define UC_CLUE UC(0x203D) 91#define UC_CLUE UC(0x203D)
diff --git a/users/kuchosauronad0/rgblight_user.c b/users/kuchosauronad0/rgblight_user.c
new file mode 100644
index 000000000..63e412c55
--- /dev/null
+++ b/users/kuchosauronad0/rgblight_user.c
@@ -0,0 +1,156 @@
1#include "rgblight_user.h"
2extern rgblight_config_t rgblight_config;
3bool has_initialized;
4uint8_t base_hue; // Hue value of base state
5uint8_t base_sat; // Saturation value of base state
6uint8_t base_val; // Brightness value of base state
7uint8_t base_mod; // Animation mode of the base state
8
9void rgblight_savebase(void) { // Save the current settings to ram
10 base_hue = rgblight_config.hue;
11 base_sat = rgblight_config.sat;
12 base_val = rgblight_config.val;
13 base_mod = rgblight_config.mode;
14}
15void rgblight_loadbase(void) { // Load settings from ram to eeprom
16 rgblight_mode( base_mod );
17 rgblight_sethsv_eeprom_helper(base_hue, base_sat, base_val, true);
18}
19
20
21
22bool process_record_user_rgb(uint16_t keycode, keyrecord_t *record) {
23 if ((keycode >= QK_MOD_TAP && keycode <= QK_MOD_TAP_MAX) || (keycode >= QK_LAYER_TAP && keycode <= QK_LAYER_TAP_MAX)) {
24 keycode = keycode & 0xFF;
25 }
26 switch (keycode) {
27 case KC_RGB_T: // Switch between underglow layer indication and normal qmk behaviour
28#if defined(RGBLIGHT_ENABLE) || defined(RGB_MATRIX_ENABLE)
29 if (record->event.pressed) {
30 userspace_config.rgb_layer_change ^= 1;
31 xprintf("rgblight layer change [EEPROM]: %u\n", userspace_config.rgb_layer_change);
32 eeconfig_update_user(userspace_config.raw);
33 if (userspace_config.rgb_layer_change) {
34 layer_state_set(layer_state); // Immediately set the layer color (looks better)
35 }
36 }
37#endif // RGBLIGHT_ENABLE
38 return false;
39 break;
40#ifdef RGBLIGHT_ENABLE
41 case RGB_MODE_FORWARD ... RGB_MODE_GRADIENT: // quantum_keycodes.h L400 for definitions
42 if (record->event.pressed) { // This disables layer indication, as it's assumed that if you're changing this ... you want that disabled
43 if (userspace_config.rgb_layer_change) {
44 userspace_config.rgb_layer_change = false;
45 xprintf("rgblight layer change [EEPROM]: %u\n", userspace_config.rgb_layer_change);
46 eeconfig_update_user(userspace_config.raw);
47 }
48 }
49 return true;
50 break;
51#endif // RGBLIGHT_ENABLE
52 }
53 return true;
54}
55
56void keyboard_post_init_rgb(void) {
57# if defined(RGBLIGHT_ENABLE) || defined(RGBLIGHT_STARTUP_ANIMATION)
58 bool is_enabled = rgblight_config.enable;
59 if (userspace_config.rgb_layer_change) {
60 rgblight_enable_noeeprom();
61 }
62 if (rgblight_config.enable) {
63 layer_state_set_user(layer_state);
64 uint16_t old_hue = rgblight_config.hue;
65 rgblight_mode_noeeprom(RGBLIGHT_MODE_STATIC_LIGHT);
66 for (uint16_t i = 255; i > 0; i--) {
67 rgblight_sethsv_noeeprom((i + old_hue) % 255, 255, 255);
68 wait_ms(5);
69 }
70 }
71 if (!is_enabled) {
72 rgblight_disable_noeeprom();
73 }
74# endif // !RGBLIGHT_ENABLE || RGBLIGHT_STARTUP_ANIMATION
75 layer_state_set_user(layer_state);
76}
77
78void matrix_scan_rgb(void) {
79# ifdef INDICATOR_LIGHTS
80 matrix_scan_indicator();
81# endif
82}
83
84layer_state_t layer_state_set_rgb(layer_state_t state) {
85# ifdef RGBLIGHT_ENABLE
86 if (userspace_config.rgb_layer_change) {
87 switch (biton32(state)) { // _RAISE, _LOWER and _ADJUST use a custom color and the breathing effect
88 case _RAISE:
89 rgblight_sethsv_noeeprom_green();
90 rgblight_mode_noeeprom(RGBLIGHT_MODE_BREATHING + 3);
91 break;
92 case _LOWER:
93 rgblight_sethsv_noeeprom_red();
94 rgblight_mode_noeeprom(RGBLIGHT_MODE_BREATHING + 3);
95 break;
96 case _ADJUST:
97 rgblight_sethsv_noeeprom_white();
98 rgblight_mode_noeeprom(RGBLIGHT_MODE_BREATHING + 2);
99 break;
100 default: // Use a solid color for normal layers
101 switch (biton32(default_layer_state)) {
102 case _QWERTY:
103 rgblight_sethsv_noeeprom_magenta();
104 break;
105 case _COLEMAK:
106 rgblight_sethsv_noeeprom_green();
107 break;
108 case _DVORAK:
109 rgblight_sethsv_noeeprom_blue();
110 break;
111 case _WORKMAN:
112 rgblight_sethsv_noeeprom_goldenrod();
113 break;
114 case _PLOVER:
115 rgblight_sethsv_noeeprom_pink();
116 break;
117 default:
118 rgblight_sethsv_noeeprom_white();
119 break;
120 }
121 biton32(state) == _MODS ? rgblight_mode_noeeprom(RGBLIGHT_MODE_BREATHING) : rgblight_mode_noeeprom(RGBLIGHT_MODE_STATIC_LIGHT); // if _MODS layer is on, then breath to denote it
122 break;
123 }
124 }
125# endif // !RGBLIGHT_ENABLE
126 return state;
127}
128
129#ifdef INDICATOR_LIGHTS
130void matrix_scan_indicator(void) {
131 if (has_initialized) {
132 set_rgb_indicators(get_mods(), host_keyboard_leds(), get_oneshot_mods());
133 }
134}
135#endif // !INDICATOR_LIGHTS
136
137void rgblight_fade_helper(bool direction){
138 // true: increase val = fade in
139 // false: decrease val = fade out
140 for (uint8_t index = 0; index < RGBLIGHT_VAL_STEP ; index++) {
141 direction ? rgblight_increase_val() : rgblight_decrease_val();
142 wait_ms(5);
143 }
144}
145void fadeflash_leds(uint8_t hue, uint8_t sat, uint8_t val){
146 // indicate success / fail of a leader sequence
147 // fade out, set new hue and saturation, fade in, fade out, set old color, fade in
148 // this is used in leader.c
149 // TODO: come up with a better name maybe
150 rgblight_fade_helper(false);
151 rgblight_sethsv_noeeprom(hue, sat, 0);
152 rgblight_fade_helper(true);
153 rgblight_fade_helper(false);
154 rgblight_sethsv_noeeprom(base_hue, base_sat, 0);
155 rgblight_fade_helper(true);
156}
diff --git a/users/kuchosauronad0/rgblight_user.h b/users/kuchosauronad0/rgblight_user.h
new file mode 100644
index 000000000..eab15b832
--- /dev/null
+++ b/users/kuchosauronad0/rgblight_user.h
@@ -0,0 +1,23 @@
1#pragma once
2#include "kuchosauronad0.h"
3
4typedef struct {
5 bool enabled;
6 uint8_t hue;
7 uint16_t timer;
8 uint8_t life;
9} rgblight_fadeout;
10const uint8_t RGBLIGHT_FADE_SPEED[6] PROGMEM;
11
12layer_state_t layer_state_set_rgb(layer_state_t state);
13layer_state_t default_layer_state_set_rgb(layer_state_t state);
14
15bool process_record_user_rgb(uint16_t keycode, keyrecord_t *record);
16void scan_rgblight_fadeout(void);
17void keyboard_post_init_rgb(void);
18void matrix_scan_rgb(void);
19void rgblight_sethsv_default_helper(uint8_t index);
20void rgblight_savebase(void);
21void rgblight_loadbase(void);
22void rgblight_fade_helper(bool direction);
23void fadeflash_leds(uint8_t hue, uint8_t sat, uint8_t val);
diff --git a/users/kuchosauronad0/rules.mk b/users/kuchosauronad0/rules.mk
index ad1308373..b844d12c9 100644
--- a/users/kuchosauronad0/rules.mk
+++ b/users/kuchosauronad0/rules.mk
@@ -2,10 +2,11 @@ SRC += kuchosauronad0.c \
2 process_records.c 2 process_records.c
3 3
4LINK_TIME_OPTIMIZATION_ENABLE = yes 4LINK_TIME_OPTIMIZATION_ENABLE = yes
5SPACE_CADET_ENABLE = no
5 6
6#ifneq ("$(wildcard $(USER_PATH)/secrets.c)","") 7ifneq ($(strip $(RGBLIGHT_ENABLE)),yes )
7# SRC += secrets.c 8 SRC += rgblight_user.c
8#endif 9endif
9 10
10ifeq ($(strip $(TAP_DANCE_ENABLE)), yes) 11ifeq ($(strip $(TAP_DANCE_ENABLE)), yes)
11 SRC += tap_dances.c 12 SRC += tap_dances.c
@@ -14,6 +15,7 @@ endif
14ifeq ($(strip $(ENCODER_ENABLE)), yes) 15ifeq ($(strip $(ENCODER_ENABLE)), yes)
15 SRC += encoder.c 16 SRC += encoder.c
16endif 17endif
18
17ifeq ($(strip $(COMBO_ENABLE)), yes) 19ifeq ($(strip $(COMBO_ENABLE)), yes)
18 SRC += combo.c 20 SRC += combo.c
19endif 21endif
diff --git a/users/kuchosauronad0/wrappers.h b/users/kuchosauronad0/wrappers.h
index 3172c8a6d..6dc19d935 100644
--- a/users/kuchosauronad0/wrappers.h
+++ b/users/kuchosauronad0/wrappers.h
@@ -6,7 +6,7 @@ arguments, we need a wrapper in order for these definitions to be
6expanded before being used as arguments to the LAYOUT_xxx macro. 6expanded before being used as arguments to the LAYOUT_xxx macro.
7*/ 7*/
8#if (!defined(LAYOUT) && defined(KEYMAP)) 8#if (!defined(LAYOUT) && defined(KEYMAP))
9#define LAYOUT KEYMAP 9# define LAYOUT KEYMAP
10#endif 10#endif
11 11
12#define LAYOUT_ergodox_wrapper(...) LAYOUT_ergodox(__VA_ARGS__) 12#define LAYOUT_ergodox_wrapper(...) LAYOUT_ergodox(__VA_ARGS__)
@@ -16,6 +16,8 @@ expanded before being used as arguments to the LAYOUT_xxx macro.
16#define LAYOUT_ortho_4x12_wrapper(...) LAYOUT_ortho_4x12(__VA_ARGS__) 16#define LAYOUT_ortho_4x12_wrapper(...) LAYOUT_ortho_4x12(__VA_ARGS__)
17#define LAYOUT_ortho_5x12_wrapper(...) LAYOUT_ortho_5x12(__VA_ARGS__) 17#define LAYOUT_ortho_5x12_wrapper(...) LAYOUT_ortho_5x12(__VA_ARGS__)
18 18
19#define LAYOUT_collide39_base_wrapper(...) LAYOUT_collide39_base(__VA_ARGS__)
20
19/* 21/*
20Blocks for each of the four major keyboard layouts 22Blocks for each of the four major keyboard layouts
21Organized so we can quickly adapt and modify all of them 23Organized so we can quickly adapt and modify all of them
@@ -26,20 +28,30 @@ NOTE: These are all the same length. If you do a search/replace
26 then you need to add/remove underscores to keep the 28 then you need to add/remove underscores to keep the
27 lengths consistent. 29 lengths consistent.
28*/ 30*/
31
32#define ___________________BLANK___________________ _______, _______, _______, _______, _______
33
29#ifdef TAP_DANCE_ENABLE 34#ifdef TAP_DANCE_ENABLE
30 #define _________________QWERTY_L1_________________ KC_Q, KC_DW, KC_EOL, KC_R, KC_TMX 35# define _________________QWERTY_L1_________________ KC_Q, KC_DW, KC_EOL, KC_R, KC_TMX
31 #define _________________QWERTY_L2_________________ KC_BOL, KC_S, KC_D, KC_NW, KC_G 36# define _________________QWERTY_L2_________________ KC_BOL, KC_S, KC_D, KC_NW, KC_G
32 #define _________________QWERTY_L3_________________ KC_Z, KC_X, KC_C, KC_V, KC_PW 37# define _________________QWERTY_L3_________________ KC_Z, KC_X, KC_C, KC_V, KC_PW
33#else 38#else
34 #define _________________QWERTY_L1_________________ KC_Q, KC_W, KC_E, KC_R, KC_T 39# define _________________QWERTY_L1_________________ KC_Q, KC_W, KC_E, KC_R, KC_T
35 #define _________________QWERTY_L2_________________ KC_A, KC_S, KC_D, KC_F, KC_G 40# define _________________QWERTY_L2_________________ KC_A, KC_S, KC_D, KC_F, KC_G
36 #define _________________QWERTY_L3_________________ KC_Z, KC_X, KC_C, KC_V, KC_B 41# define _________________QWERTY_L3_________________ KC_Z, KC_X, KC_C, KC_V, KC_B
37#endif 42#endif
38 43
39#define _________________QWERTY_R1_________________ KC_Y, KC_U, KC_I, KC_O, KC_P 44#define _________________QWERTY_R1_________________ KC_Y, KC_U, KC_I, KC_O, KC_P
40#define _________________QWERTY_R2_________________ KC_H, KC_J, KC_K, KC_L, KC_SCLN 45#define _________________QWERTY_R2_________________ KC_H, KC_J, KC_K, KC_L, KC_SCLN
41#define _________________QWERTY_R3_________________ KC_N, KC_M, KC_COMM, KC_DOT, KC_SLASH 46#define _________________QWERTY_R3_________________ KC_N, KC_M, KC_COMM, KC_DOT, KC_SLASH
47
48#define _________________PLOVER_L1_________________ KC_Q, KC_W, KC_E, KC_R, KC_T
49#define _________________PLOVER_L2_________________ KC_A, KC_S, KC_D, KC_F, KC_G
50#define _________________PLOVER_L3_________________ KC_NO, KC_NO, KC_C, KC_V, KC_NO
42 51
52#define _________________PLOVER_R1_________________ KC_Y, KC_U, KC_I, KC_O, KC_P
53#define _________________PLOVER_R2_________________ KC_H, KC_J, KC_K, KC_L, KC_SCLN
54#define _________________PLOVER_R3_________________ KC_NO, KC_NO, KC_N, KC_M, KC_NO
43 55
44#define _________________COLEMAK_L1________________ KC_Q, KC_W, KC_F, KC_P, KC_G 56#define _________________COLEMAK_L1________________ KC_Q, KC_W, KC_F, KC_P, KC_G
45#define _________________COLEMAK_L2________________ KC_A, KC_R, KC_S, KC_T, KC_D 57#define _________________COLEMAK_L2________________ KC_A, KC_R, KC_S, KC_T, KC_D
@@ -57,23 +69,21 @@ NOTE: These are all the same length. If you do a search/replace
57#define ______________COLEMAK_MOD_DH_R2____________ KC_M, KC_N, KC_E, KC_I, KC_O 69#define ______________COLEMAK_MOD_DH_R2____________ KC_M, KC_N, KC_E, KC_I, KC_O
58#define ______________COLEMAK_MOD_DH_R3____________ KC_K, KC_H, KC_COMM, KC_DOT, KC_SLASH 70#define ______________COLEMAK_MOD_DH_R3____________ KC_K, KC_H, KC_COMM, KC_DOT, KC_SLASH
59 71
72#define _________________DVORAK_L1_________________ KC_QUOT, KC_COMM, KC_DOT, KC_P, KC_Y
73#define _________________DVORAK_L2_________________ KC_A, KC_O, KC_E, KC_U, KC_I
74#define _________________DVORAK_L3_________________ KC_SCLN, KC_Q, KC_J, KC_K, KC_X
60 75
61#define _________________DVORAK_L1_________________ KC_QUOT, KC_COMM, KC_DOT, KC_P, KC_Y 76#define _________________DVORAK_R1_________________ KC_F, KC_G, KC_C, KC_R, KC_L
62#define _________________DVORAK_L2_________________ KC_A, KC_O, KC_E, KC_U, KC_I 77#define _________________DVORAK_R2_________________ KC_D, KC_H, KC_T, KC_N, KC_S
63#define _________________DVORAK_L3_________________ KC_SCLN, KC_Q, KC_J, KC_K, KC_X 78#define _________________DVORAK_R3_________________ KC_B, KC_M, KC_W, KC_V, KC_Z
64 79
65#define _________________DVORAK_R1_________________ KC_F, KC_G, KC_C, KC_R, KC_L 80#define ________________DVORAK_AU_L1_______________ KC_QUOT, KC_COMM, KC_DOT, KC_P, KC_Y
66#define _________________DVORAK_R2_________________ KC_D, KC_H, KC_T, KC_N, KC_S 81#define ________________DVORAK_AU_L2_______________ KC_O, KC_A, KC_E, KC_I, KC_U
67#define _________________DVORAK_R3_________________ KC_B, KC_M, KC_W, KC_V, KC_Z 82#define ________________DVORAK_AU_L3_______________ KC_SCLN, KC_Q, KC_J, KC_K, KC_X
68
69#define ________________DVORAK_AU_L1_______________ KC_QUOT, KC_COMM, KC_DOT, KC_P, KC_Y
70#define ________________DVORAK_AU_L2_______________ KC_O, KC_A, KC_E, KC_I, KC_U
71#define ________________DVORAK_AU_L3_______________ KC_SCLN, KC_Q, KC_J, KC_K, KC_X
72
73#define ________________DVORAK_AU_R1_______________ KC_F, KC_G, KC_C, KC_R, KC_L
74#define ________________DVORAK_AU_R2_______________ KC_D, KC_H, KC_T, KC_N, KC_S
75#define ________________DVORAK_AU_R3_______________ KC_B, KC_M, KC_W, KC_V, KC_Z
76 83
84#define ________________DVORAK_AU_R1_______________ KC_F, KC_G, KC_C, KC_R, KC_L
85#define ________________DVORAK_AU_R2_______________ KC_D, KC_H, KC_T, KC_N, KC_S
86#define ________________DVORAK_AU_R3_______________ KC_B, KC_M, KC_W, KC_V, KC_Z
77 87
78#define _________________WORKMAN_L1________________ KC_Q, KC_D, KC_R, KC_W, KC_B 88#define _________________WORKMAN_L1________________ KC_Q, KC_D, KC_R, KC_W, KC_B
79#define _________________WORKMAN_L2________________ KC_A, KC_S, KC_H, KC_T, KC_G 89#define _________________WORKMAN_L2________________ KC_A, KC_S, KC_H, KC_T, KC_G
@@ -83,7 +93,6 @@ NOTE: These are all the same length. If you do a search/replace
83#define _________________WORKMAN_R2________________ KC_Y, KC_N, KC_E, KC_O, KC_I 93#define _________________WORKMAN_R2________________ KC_Y, KC_N, KC_E, KC_O, KC_I
84#define _________________WORKMAN_R3________________ KC_K, KC_L, KC_COMM, KC_DOT, KC_SLASH 94#define _________________WORKMAN_R3________________ KC_K, KC_L, KC_COMM, KC_DOT, KC_SLASH
85 95
86
87#define _________________NORMAN_L1_________________ KC_Q, KC_W, KC_D, KC_F, KC_K 96#define _________________NORMAN_L1_________________ KC_Q, KC_W, KC_D, KC_F, KC_K
88#define _________________NORMAN_L2_________________ KC_A, KC_S, KC_E, KC_T, KC_G 97#define _________________NORMAN_L2_________________ KC_A, KC_S, KC_E, KC_T, KC_G
89#define _________________NORMAN_L3_________________ KC_Z, KC_X, KC_C, KC_V, KC_B 98#define _________________NORMAN_L3_________________ KC_Z, KC_X, KC_C, KC_V, KC_B
@@ -92,7 +101,6 @@ NOTE: These are all the same length. If you do a search/replace
92#define _________________NORMAN_R2_________________ KC_Y, KC_N, KC_I, KC_O, KC_U 101#define _________________NORMAN_R2_________________ KC_Y, KC_N, KC_I, KC_O, KC_U
93#define _________________NORMAN_R3_________________ KC_P, KC_M, KC_COMM, KC_DOT, KC_SLASH 102#define _________________NORMAN_R3_________________ KC_P, KC_M, KC_COMM, KC_DOT, KC_SLASH
94 103
95
96#define _________________MALTRON_L1________________ KC_Q, KC_P, KC_Y, KC_C, KC_B 104#define _________________MALTRON_L1________________ KC_Q, KC_P, KC_Y, KC_C, KC_B
97#define _________________MALTRON_L2________________ KC_A, KC_N, KC_I, KC_S, KC_F 105#define _________________MALTRON_L2________________ KC_A, KC_N, KC_I, KC_S, KC_F
98#define _________________MALTRON_L3________________ KC_SCLN, KC_SLSH, KC_J, KC_G, KC_COMM 106#define _________________MALTRON_L3________________ KC_SCLN, KC_SLSH, KC_J, KC_G, KC_COMM
@@ -101,7 +109,6 @@ NOTE: These are all the same length. If you do a search/replace
101#define _________________MALTRON_R2________________ KC_D, KC_T, KC_D, KC_O, KC_R 109#define _________________MALTRON_R2________________ KC_D, KC_T, KC_D, KC_O, KC_R
102#define _________________MALTRON_R3________________ KC_DOT, KC_W, KC_K, KC_MINS, KC_X 110#define _________________MALTRON_R3________________ KC_DOT, KC_W, KC_K, KC_MINS, KC_X
103 111
104
105#define _________________EUCALYN_L1________________ KC_SLSH, KC_COMM, KC_DOT, KC_F, KC_Q 112#define _________________EUCALYN_L1________________ KC_SLSH, KC_COMM, KC_DOT, KC_F, KC_Q
106#define _________________EUCALYN_L2________________ KC_A, KC_O, KC_E, KC_I, KC_U 113#define _________________EUCALYN_L2________________ KC_A, KC_O, KC_E, KC_I, KC_U
107#define _________________EUCALYN_L3________________ KC_Z, KC_X, KC_C, KC_V, KC_W 114#define _________________EUCALYN_L3________________ KC_Z, KC_X, KC_C, KC_V, KC_W
@@ -110,7 +117,6 @@ NOTE: These are all the same length. If you do a search/replace
110#define _________________EUCALYN_R2________________ KC_G, KC_T, KC_K, KC_S, KC_N 117#define _________________EUCALYN_R2________________ KC_G, KC_T, KC_K, KC_S, KC_N
111#define _________________EUCALYN_R3________________ KC_B, KC_H, KC_J, KC_L, KC_SCLN 118#define _________________EUCALYN_R3________________ KC_B, KC_H, KC_J, KC_L, KC_SCLN
112 119
113
114#define _____________CARPLAX_QFMLWY_L1_____________ KC_Q, KC_F, KC_M, KC_L, KC_W 120#define _____________CARPLAX_QFMLWY_L1_____________ KC_Q, KC_F, KC_M, KC_L, KC_W
115#define _____________CARPLAX_QFMLWY_L2_____________ KC_D, KC_S, KC_T, KC_N, KC_R 121#define _____________CARPLAX_QFMLWY_L2_____________ KC_D, KC_S, KC_T, KC_N, KC_R
116#define _____________CARPLAX_QFMLWY_L3_____________ KC_Z, KC_V, KC_G, KC_C, KC_X 122#define _____________CARPLAX_QFMLWY_L3_____________ KC_Z, KC_V, KC_G, KC_C, KC_X
@@ -119,7 +125,6 @@ NOTE: These are all the same length. If you do a search/replace
119#define _____________CARPLAX_QFMLWY_R2_____________ KC_I, KC_A, KC_E, KC_H, KC_SCLN 125#define _____________CARPLAX_QFMLWY_R2_____________ KC_I, KC_A, KC_E, KC_H, KC_SCLN
120#define _____________CARPLAX_QFMLWY_R3_____________ KC_P, KC_K, KC_COMM, KC_DOT, KC_SLSH 126#define _____________CARPLAX_QFMLWY_R3_____________ KC_P, KC_K, KC_COMM, KC_DOT, KC_SLSH
121 127
122
123#define _____________CARPLAX_QGMLWB_L1_____________ KC_Q, KC_G, KC_M, KC_L, KC_W 128#define _____________CARPLAX_QGMLWB_L1_____________ KC_Q, KC_G, KC_M, KC_L, KC_W
124#define _____________CARPLAX_QGMLWB_L2_____________ KC_D, KC_S, KC_T, KC_N, KC_R 129#define _____________CARPLAX_QGMLWB_L2_____________ KC_D, KC_S, KC_T, KC_N, KC_R
125#define _____________CARPLAX_QGMLWB_L3_____________ KC_Z, KC_X, KC_C, KC_F, KC_J 130#define _____________CARPLAX_QGMLWB_L3_____________ KC_Z, KC_X, KC_C, KC_F, KC_J
@@ -128,7 +133,6 @@ NOTE: These are all the same length. If you do a search/replace
128#define _____________CARPLAX_QGMLWB_R2_____________ KC_I, KC_A, KC_E, KC_O, KC_H 133#define _____________CARPLAX_QGMLWB_R2_____________ KC_I, KC_A, KC_E, KC_O, KC_H
129#define _____________CARPLAX_QGMLWB_R3_____________ KC_K, KC_P, KC_COMM, KC_DOT, KC_SLSH 134#define _____________CARPLAX_QGMLWB_R3_____________ KC_K, KC_P, KC_COMM, KC_DOT, KC_SLSH
130 135
131
132#define _____________CARPLAX_QGMLWY_L1_____________ KC_Q, KC_G, KC_M, KC_L, KC_W 136#define _____________CARPLAX_QGMLWY_L1_____________ KC_Q, KC_G, KC_M, KC_L, KC_W
133#define _____________CARPLAX_QGMLWY_L2_____________ KC_D, KC_S, KC_T, KC_N, KC_R 137#define _____________CARPLAX_QGMLWY_L2_____________ KC_D, KC_S, KC_T, KC_N, KC_R
134#define _____________CARPLAX_QGMLWY_L3_____________ KC_Z, KC_X, KC_C, KC_V, KC_J 138#define _____________CARPLAX_QGMLWY_L3_____________ KC_Z, KC_X, KC_C, KC_V, KC_J
@@ -138,23 +142,23 @@ NOTE: These are all the same length. If you do a search/replace
138#define _____________CARPLAX_QGMLWY_R3_____________ KC_K, KC_P, KC_COMM, KC_DOT, KC_SLSH 142#define _____________CARPLAX_QGMLWY_R3_____________ KC_K, KC_P, KC_COMM, KC_DOT, KC_SLSH
139 143
140#ifdef UNICODE_ENABLE 144#ifdef UNICODE_ENABLE
141#define _______________UNICODE_L1__________________ UC_DISA,UC_DISA, UC_DISA, UC_DISA, UC_DISA 145# define _______________UNICODE_L1__________________ UC_DISA,UC_DISA, UC_DISA, UC_DISA, UC_DISA
142#define _______________UNICODE_L2__________________ UC_DISA,UC_DISA, UC_DISA, UC_DISA, UC_DISA 146# define _______________UNICODE_L2__________________ UC_DISA,UC_DISA, UC_DISA, UC_DISA, UC_DISA
143#define _______________UNICODE_L3__________________ UC_DISA,UC_DISA, UC_DISA, UC_DISA, UC_DISA 147# define _______________UNICODE_L3__________________ UC_DISA,UC_DISA, UC_DISA, UC_DISA, UC_DISA
144 148
145#define _______________UNICODE_R1__________________ UC_SHRG, UC_SHRG, UC_SHRG, UC_SHRG, UC_SHRG 149# define _______________UNICODE_R1__________________ UC_SHRG, UC_SHRG, UC_SHRG, UC_SHRG, UC_SHRG
146#define _______________UNICODE_R2__________________ UC_SHRG, UC_SHRG, UC_SHRG, UC_SHRG, UC_SHRG 150# define _______________UNICODE_R2__________________ UC_SHRG, UC_SHRG, UC_SHRG, UC_SHRG, UC_SHRG
147#define _______________UNICODE_R3__________________ UC_SHRG, UC_SHRG, UC_SHRG, UC_SHRG, UC_SHRG 151# define _______________UNICODE_R3__________________ UC_SHRG, UC_SHRG, UC_SHRG, UC_SHRG, UC_SHRG
148#endif 152#endif
149 153
150#ifdef UNICODEMAP_ENABLE 154#ifdef UNICODEMAP_ENABLE
151#define _______________UNICODE_L1__________________ X(SMRK), X(THINK), X(CLOWN), X(HUNDR), X(BANG) 155# define _______________UNICODE_L1__________________ X(SMRK), X(THINK), X(CLOWN), X(HUNDR), X(BANG)
152#define _______________UNICODE_L2__________________ X(GRIN), X(MONKEY), X(OKOK), X(EGGPL), X(LIT) 156# define _______________UNICODE_L2__________________ X(GRIN), X(MONKEY), X(OKOK), X(EGGPL), X(LIT)
153#define _______________UNICODE_L3__________________ X(WEARY), X(UNAMU), X(EFFU), X(MONOCL), X(IRONY) 157# define _______________UNICODE_L3__________________ X(WEARY), X(UNAMU), X(EFFU), X(MONOCL), X(IRONY)
154 158
155#define _______________UNICODE_R1__________________ X(DRUG0), X(THUP), X(INUP), X(DIZZY), X(COOL) 159# define _______________UNICODE_R1__________________ X(DRUG0), X(THUP), X(INUP), X(DIZZY), X(COOL)
156#define _______________UNICODE_R2__________________ X(FIST0), X(FIST2),X(FIST3),X(FIST1), X(OKOK) 160# define _______________UNICODE_R2__________________ X(FIST0), X(FIST2), X(FIST3), X(FIST1), X(OKOK)
157#define _______________UNICODE_R3__________________ X(MNDBLWN), X(THDN), X(SPOCK),X(HOLE), X(DASH) 161# define _______________UNICODE_R3__________________ X(MNDBLWN), X(THDN), X(SPOCK), X(HOLE), X(DASH)
158#endif 162#endif
159 163
160#define ________________NUMBER_LEFT________________ KC_1, KC_2, KC_3, KC_4, KC_5 164#define ________________NUMBER_LEFT________________ KC_1, KC_2, KC_3, KC_4, KC_5
@@ -162,45 +166,47 @@ NOTE: These are all the same length. If you do a search/replace
162#define _________________FUNC_LEFT_________________ KC_F1, KC_F2, KC_F3, KC_F4, KC_F5 166#define _________________FUNC_LEFT_________________ KC_F1, KC_F2, KC_F3, KC_F4, KC_F5
163#define _________________FUNC_RIGHT________________ KC_F6, KC_F7, KC_F8, KC_F9, KC_F10 167#define _________________FUNC_RIGHT________________ KC_F6, KC_F7, KC_F8, KC_F9, KC_F10
164 168
165#define ___________________BLANK___________________ _______, _______, _______, _______, _______ 169#define _________________MEDIA_RIGHT_______________ KC_MUTE, KC_MPRV, KC_MPLY, KC_MNXT, KC_MSTP
170#define _________________MEDIA_LEFT________________ KC_VOLD, KC_VOLD, KC_MUTE, KC_VOLU, KC_VOLU
166 171
172#define _________________LOWER_L1__________________ KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC
173#define _________________LOWER_L2__________________ ___________________BLANK___________________
174#define _________________LOWER_L3__________________ _______, _______, _______, OS_UNI, TM_X
167 175
168#define _________________LOWER_L1__________________ KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC 176#define _________________LOWER_R1__________________ KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN
169#define _________________LOWER_L2__________________ ___________________BLANK___________________ 177#define _________________LOWER_R2__________________ _______, KC_UNDS, KC_PLUS, KC_LCBR, KC_RCBR
170#define _________________LOWER_L3__________________ ___________________BLANK___________________ 178#define _________________LOWER_R3__________________ _______, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT
171 179
172#define _________________LOWER_R1__________________ KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN 180#define _________________RAISE_L1__________________ ________________NUMBER_LEFT________________
173#define _________________LOWER_R2__________________ OS_UNI, KC_UNDS, KC_PLUS, KC_LCBR, KC_RCBR 181#define _________________RAISE_L2__________________ ___________________BLANK___________________
174#define _________________LOWER_R3__________________ TM_X, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT 182#define _________________RAISE_L3__________________ ___________________BLANK___________________
175 183
184#define _________________RAISE_R1__________________ ________________NUMBER_RIGHT_______________
185#define _________________RAISE_R2__________________ _______, KC_MINS, KC_EQL, KC_LBRC, KC_RBRC
186#define _________________RAISE_R3__________________ _______, KC_HOME, KC_PGDN, KC_PGUP, KC_END
176 187
188#define _________________ADJUST_L1_________________ QWERTY, COLEMAK, DVORAK, WORKMAN, PLOVER
189#define _________________ADJUST_L2_________________ _________________FUNC_LEFT_________________
190#define _________________ADJUST_L3_________________ _________________MEDIA_LEFT________________
177 191
178#define _________________RAISE_L1__________________ ________________NUMBER_LEFT________________ 192#define _________________ADJUST_R1_________________ SEC1, SEC2, SEC3, SEC4, SEC5
179#define _________________RAISE_L2__________________ ___________________BLANK___________________ 193#define _________________ADJUST_R2_________________ _________________FUNC_RIGHT________________
180#define _________________RAISE_L3__________________ ___________________BLANK___________________ 194#define _________________ADJUST_R3_________________ _________________MEDIA_RIGHT_______________
181 195
182#define _________________RAISE_R1__________________ ________________NUMBER_RIGHT_______________ 196#define _________________RGB_UP____________________ RGB_MOD, RGB_HUI, RGB_SAI, RGB_VAI, RGB_TOG
183#define _________________RAISE_R2__________________ _______, KC_MINS, KC_EQL, KC_LBRC, KC_RBRC 197#define _________________RGB_CENTER________________ MU_TOG , CK_TOGG, AU_ON, AU_OFF, AG_NORM
184#define _________________RAISE_R3__________________ _______, KC_HOME, KC_PGDN, KC_PGUP, KC_END 198#define _________________RGB_DOWN__________________ RGB_RMOD, RGB_HUD, RGB_SAD, RGB_VAD, KC_RGB_T
185 199
200#define _________________RGB_R1____________________ RGB_MOD, RGB_HUI, RGB_SAI, RGB_VAI, RGB_TOG
201#define _________________RGB_R2____________________ MU_TOG , CK_TOGG, AU_ON, AU_OFF, AG_NORM
202#define _________________RGB_R3____________________ RGB_RMOD, RGB_HUD, RGB_SAD, RGB_VAD, KC_RGB_T
186 203
204#define __________________GAMEPAD_L1_______________ _______, KC_Q, KC_W, KC_E, _______
205#define __________________GAMEPAD_L2_______________ _______, KC_A, KC_S, KC_D, _______
206#define __________________GAMEPAD_L3_______________ KC_1, KC_2, KC_3, KC_4, KC_5
187 207
188#define _________________ADJUST_L1_________________ ___________________BLANK___________________ 208#define __________________GAMEPAD_R1_______________ _______, KC_U, KC_UP, KC_O, _______
189#define _________________ADJUST_L2_________________ _________________FUNC_LEFT_________________ 209#define __________________GAMEPAD_R2_______________ _______, KC_LEFT, KC_DOWN, KC_RIGHT, _______
190#define _________________ADJUST_L3_________________ AG_SWAP, QWERTY, COLEMAK, DVORAK, WORKMAN 210#define __________________GAMEPAD_R3_______________ KC_6, KC_7, KC_8, KC_9, KC_0
211/* vi: ft=c:tw=80:sw=2:ts=2:sts=2:et */
191 212
192#define _________________ADJUST_R1_________________ KC_SEC1, KC_SEC2, KC_SEC3, KC_SEC4, KC_SEC5
193#define _________________ADJUST_R2_________________ _________________FUNC_RIGHT________________
194#define _________________ADJUST_R3_________________ KC_MUTE, KC_MUTE, KC_VOLD, KC_VOLU, KC_MNXT
195
196
197/*
198#define _________________RGB_L1____________________ RGB_MOD, RGB_HUI, RGB_SAI, RGB_VAI, RGB_TOG
199#define _________________RGB_L2____________________ MU_TOG , CK_TOGG, AU_ON, AU_OFF, AG_NORM
200#define _________________RGB_L3____________________ RGB_RMOD,RGB_HUD,RGB_SAD, RGB_VAD, KC_RGB_T
201#define _________________RGB_R1____________________ RGB_MOD, RGB_HUI, RGB_SAI, RGB_VAI, RGB_TOG
202#define _________________RGB_R2____________________ MU_TOG , CK_TOGG, AU_ON, AU_OFF, AG_NORM
203#define _________________RGB_R3____________________ RGB_RMOD,RGB_HUD,RGB_SAD, RGB_VAD, KC_RGB_T
204*/
205/* vi: ft=c:tw=80:sw=2:ts=2:sts=2:et
206 */