aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorNick Brassel <nick@tzarc.org>2021-07-27 10:11:52 +1000
committerNick Brassel <nick@tzarc.org>2021-07-27 10:11:52 +1000
commit394272a2663692081ce6f5b74f6f761090111ad0 (patch)
tree7971135837ced00c1628d26c3cf3d3156a1403ca
parente0375c0b710c075780e7ffe1afe4c39fccd96929 (diff)
parentb1c5a53a68ca8a304e7739467f2793c223853f68 (diff)
downloadqmk_firmware-394272a2663692081ce6f5b74f6f761090111ad0.tar.gz
qmk_firmware-394272a2663692081ce6f5b74f6f761090111ad0.zip
Merge remote-tracking branch 'upstream/master' into develop
-rw-r--r--keyboards/40percentclub/nein/info.json2
-rw-r--r--keyboards/cannonkeys/ortho48/ortho48.h4
-rw-r--r--keyboards/cannonkeys/ortho60/ortho60.h4
-rw-r--r--keyboards/dztech/dz60rgb/v2_1/rules.mk1
-rwxr-xr-xkeyboards/dztech/dz65rgb/v3/rules.mk1
-rw-r--r--keyboards/ergodox_ez/ergodox_ez.c181
-rw-r--r--keyboards/ergodox_ez/keymaps/default/keymap.c156
-rw-r--r--keyboards/ergodox_ez/rules.mk7
-rwxr-xr-xkeyboards/melgeek/mj6xy/rev3/config.h2
-rw-r--r--keyboards/moonlander/config.h2
-rw-r--r--keyboards/moonlander/keymaps/default/config.h2
-rw-r--r--keyboards/moonlander/keymaps/default/keymap.c2
-rw-r--r--keyboards/moonlander/matrix.c2
-rw-r--r--keyboards/moonlander/moonlander.c11
-rw-r--r--keyboards/moonlander/moonlander.h2
-rw-r--r--keyboards/moonlander/readme.md18
-rw-r--r--keyboards/planck/ez/config.h5
-rw-r--r--keyboards/planck/ez/ez.c2
-rw-r--r--keyboards/planck/ez/ez.h2
-rw-r--r--keyboards/planck/ez/glow/config.h5
-rw-r--r--keyboards/planck/ez/glow/glow.c18
-rw-r--r--keyboards/planck/ez/glow/glow.h18
-rw-r--r--keyboards/planck/ez/readme.md18
-rw-r--r--keyboards/planck/keymaps/oryx/config.h29
-rw-r--r--keyboards/planck/keymaps/oryx/keymap.c454
-rw-r--r--keyboards/planck/keymaps/oryx/rules.mk5
26 files changed, 394 insertions, 559 deletions
diff --git a/keyboards/40percentclub/nein/info.json b/keyboards/40percentclub/nein/info.json
index 2a28ffc00..4c4b2a384 100644
--- a/keyboards/40percentclub/nein/info.json
+++ b/keyboards/40percentclub/nein/info.json
@@ -5,7 +5,7 @@
5 "width": 3, 5 "width": 3,
6 "height": 3, 6 "height": 3,
7 "layouts": { 7 "layouts": {
8 "LAYOUT": { 8 "LAYOUT_ortho_3x3": {
9 "layout": [ 9 "layout": [
10 {"x":0, "y":0}, 10 {"x":0, "y":0},
11 {"x":1, "y":0}, 11 {"x":1, "y":0},
diff --git a/keyboards/cannonkeys/ortho48/ortho48.h b/keyboards/cannonkeys/ortho48/ortho48.h
index b0197c3cf..1e51c37af 100644
--- a/keyboards/cannonkeys/ortho48/ortho48.h
+++ b/keyboards/cannonkeys/ortho48/ortho48.h
@@ -6,13 +6,13 @@
6 k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0a, k0b, \ 6 k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0a, k0b, \
7 k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1a, k1b, \ 7 k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1a, k1b, \
8 k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2a, k2b, \ 8 k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2a, k2b, \
9 k30, k31, k32, k33, k34, k36 , k37, k38, k39, k3a, k3b \ 9 k30, k31, k32, k33, k34, k35 , k37, k38, k39, k3a, k3b \
10) \ 10) \
11{ \ 11{ \
12 { k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0a, k0b }, \ 12 { k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0a, k0b }, \
13 { k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1a, k1b }, \ 13 { k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1a, k1b }, \
14 { k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2a, k2b }, \ 14 { k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2a, k2b }, \
15 { k30, k31, k32, k33, k34, KC_NO, k36, k37, k38, k39, k3a, k3b } \ 15 { k30, k31, k32, k33, k34, k35, KC_NO, k37, k38, k39, k3a, k3b } \
16} 16}
17 17
18#define LAYOUT_ortho_4x12( \ 18#define LAYOUT_ortho_4x12( \
diff --git a/keyboards/cannonkeys/ortho60/ortho60.h b/keyboards/cannonkeys/ortho60/ortho60.h
index 2dcc00ddb..0f3ae127a 100644
--- a/keyboards/cannonkeys/ortho60/ortho60.h
+++ b/keyboards/cannonkeys/ortho60/ortho60.h
@@ -7,14 +7,14 @@
7 k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1a, k1b, \ 7 k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1a, k1b, \
8 k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2a, k2b, \ 8 k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2a, k2b, \
9 k30, k31, k32, k33, k34, k35, k36, k37, k38, k39, k3a, k3b, \ 9 k30, k31, k32, k33, k34, k35, k36, k37, k38, k39, k3a, k3b, \
10 k40, k41, k42, k43, k44, k46 , k47, k48, k49, k4a, k4b \ 10 k40, k41, k42, k43, k44, k45 , k47, k48, k49, k4a, k4b \
11) \ 11) \
12{ \ 12{ \
13 { k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0a, k0b }, \ 13 { k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0a, k0b }, \
14 { k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1a, k1b }, \ 14 { k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1a, k1b }, \
15 { k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2a, k2b }, \ 15 { k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2a, k2b }, \
16 { k30, k31, k32, k33, k34, k35, k36, k37, k38, k39, k3a, k3b }, \ 16 { k30, k31, k32, k33, k34, k35, k36, k37, k38, k39, k3a, k3b }, \
17 { k40, k41, k42, k43, k44, KC_NO, k46, k47, k48, k49, k4a, k4b }, \ 17 { k40, k41, k42, k43, k44, k45, KC_NO, k47, k48, k49, k4a, k4b }, \
18} 18}
19 19
20#define LAYOUT_ortho_5x12( \ 20#define LAYOUT_ortho_5x12( \
diff --git a/keyboards/dztech/dz60rgb/v2_1/rules.mk b/keyboards/dztech/dz60rgb/v2_1/rules.mk
index ff6a24b93..d47b2692e 100644
--- a/keyboards/dztech/dz60rgb/v2_1/rules.mk
+++ b/keyboards/dztech/dz60rgb/v2_1/rules.mk
@@ -3,6 +3,7 @@ MCU = atmega32u4
3 3
4# Bootloader selection 4# Bootloader selection
5BOOTLOADER = lufa-ms 5BOOTLOADER = lufa-ms
6BOOTLOADER_SIZE = 6144
6 7
7# Build Options 8# Build Options
8# change yes to no to disable 9# change yes to no to disable
diff --git a/keyboards/dztech/dz65rgb/v3/rules.mk b/keyboards/dztech/dz65rgb/v3/rules.mk
index ace821a32..10a6be57f 100755
--- a/keyboards/dztech/dz65rgb/v3/rules.mk
+++ b/keyboards/dztech/dz65rgb/v3/rules.mk
@@ -3,6 +3,7 @@ MCU = atmega32u4
3 3
4# Bootloader selection 4# Bootloader selection
5BOOTLOADER = lufa-ms 5BOOTLOADER = lufa-ms
6BOOTLOADER_SIZE = 6144
6 7
7# Build Options 8# Build Options
8# change yes to no to disable 9# change yes to no to disable
diff --git a/keyboards/ergodox_ez/ergodox_ez.c b/keyboards/ergodox_ez/ergodox_ez.c
index 4d3567521..47dd1b0cc 100644
--- a/keyboards/ergodox_ez/ergodox_ez.c
+++ b/keyboards/ergodox_ez/ergodox_ez.c
@@ -44,29 +44,29 @@ extern inline void ergodox_led_all_set(uint8_t n);
44 44
45keyboard_config_t keyboard_config; 45keyboard_config_t keyboard_config;
46 46
47bool i2c_initialized = 0; 47bool i2c_initialized = 0;
48i2c_status_t mcp23018_status = 0x20; 48i2c_status_t mcp23018_status = 0x20;
49 49
50void matrix_init_kb(void) { 50void matrix_init_kb(void) {
51 // keyboard LEDs (see "PWM on ports OC1(A|B|C)" in "teensy-2-0.md") 51 // keyboard LEDs (see "PWM on ports OC1(A|B|C)" in "teensy-2-0.md")
52 TCCR1A = 0b10101001; // set and configure fast PWM 52 TCCR1A = 0b10101001; // set and configure fast PWM
53 TCCR1B = 0b00001001; // set and configure fast PWM 53 TCCR1B = 0b00001001; // set and configure fast PWM
54 54
55 // (tied to Vcc for hardware convenience) 55 // (tied to Vcc for hardware convenience)
56 DDRB &= ~(1<<4); // set B(4) as input 56 DDRB &= ~(1 << 4); // set B(4) as input
57 PORTB &= ~(1<<4); // set B(4) internal pull-up disabled 57 PORTB &= ~(1 << 4); // set B(4) internal pull-up disabled
58 58
59 // unused pins - C7, D4, D5, D7, E6 59 // unused pins - C7, D4, D5, D7, E6
60 // set as input with internal pull-up enabled 60 // set as input with internal pull-up enabled
61 DDRC &= ~(1<<7); 61 DDRC &= ~(1 << 7);
62 DDRD &= ~(1<<5 | 1<<4); 62 DDRD &= ~(1 << 5 | 1 << 4);
63 DDRE &= ~(1<<6); 63 DDRE &= ~(1 << 6);
64 PORTC |= (1<<7); 64 PORTC |= (1 << 7);
65 PORTD |= (1<<5 | 1<<4); 65 PORTD |= (1 << 5 | 1 << 4);
66 PORTE |= (1<<6); 66 PORTE |= (1 << 6);
67 67
68 keyboard_config.raw = eeconfig_read_kb(); 68 keyboard_config.raw = eeconfig_read_kb();
69 ergodox_led_all_set((uint8_t)keyboard_config.led_level * 255 / 4 ); 69 ergodox_led_all_set((uint8_t)keyboard_config.led_level * 255 / 4);
70#ifdef RGB_MATRIX_ENABLE 70#ifdef RGB_MATRIX_ENABLE
71 if (keyboard_config.rgb_matrix_enable) { 71 if (keyboard_config.rgb_matrix_enable) {
72 rgb_matrix_set_flags(LED_FLAG_ALL); 72 rgb_matrix_set_flags(LED_FLAG_ALL);
@@ -80,8 +80,7 @@ void matrix_init_kb(void) {
80 matrix_init_user(); 80 matrix_init_user();
81} 81}
82 82
83void ergodox_blink_all_leds(void) 83void ergodox_blink_all_leds(void) {
84{
85 ergodox_led_all_off(); 84 ergodox_led_all_off();
86 ergodox_led_all_set(LED_BRIGHTNESS_DEFAULT); 85 ergodox_led_all_set(LED_BRIGHTNESS_DEFAULT);
87 ergodox_right_led_1_on(); 86 ergodox_right_led_1_on();
@@ -94,17 +93,17 @@ void ergodox_blink_all_leds(void)
94 ergodox_left_led_1_on(); 93 ergodox_left_led_1_on();
95 _delay_ms(50); 94 _delay_ms(50);
96 if (!mcp23018_status) { 95 if (!mcp23018_status) {
97 mcp23018_status = ergodox_left_leds_update(); 96 mcp23018_status = ergodox_left_leds_update();
98 } 97 }
99 ergodox_left_led_2_on(); 98 ergodox_left_led_2_on();
100 _delay_ms(50); 99 _delay_ms(50);
101 if (!mcp23018_status) { 100 if (!mcp23018_status) {
102 mcp23018_status = ergodox_left_leds_update(); 101 mcp23018_status = ergodox_left_leds_update();
103 } 102 }
104 ergodox_left_led_3_on(); 103 ergodox_left_led_3_on();
105 _delay_ms(50); 104 _delay_ms(50);
106 if (!mcp23018_status) { 105 if (!mcp23018_status) {
107 mcp23018_status = ergodox_left_leds_update(); 106 mcp23018_status = ergodox_left_leds_update();
108 } 107 }
109#endif 108#endif
110 ergodox_right_led_1_off(); 109 ergodox_right_led_1_off();
@@ -116,21 +115,21 @@ void ergodox_blink_all_leds(void)
116 _delay_ms(50); 115 _delay_ms(50);
117 ergodox_left_led_1_off(); 116 ergodox_left_led_1_off();
118 if (!mcp23018_status) { 117 if (!mcp23018_status) {
119 mcp23018_status = ergodox_left_leds_update(); 118 mcp23018_status = ergodox_left_leds_update();
120 } 119 }
121 _delay_ms(50); 120 _delay_ms(50);
122 ergodox_left_led_2_off(); 121 ergodox_left_led_2_off();
123 if (!mcp23018_status) { 122 if (!mcp23018_status) {
124 mcp23018_status = ergodox_left_leds_update(); 123 mcp23018_status = ergodox_left_leds_update();
125 } 124 }
126 _delay_ms(50); 125 _delay_ms(50);
127 ergodox_left_led_3_off(); 126 ergodox_left_led_3_off();
128 if (!mcp23018_status) { 127 if (!mcp23018_status) {
129 mcp23018_status = ergodox_left_leds_update(); 128 mcp23018_status = ergodox_left_leds_update();
130 } 129 }
131#endif 130#endif
132 131
133 //ergodox_led_all_on(); 132 // ergodox_led_all_on();
134 //_delay_ms(333); 133 //_delay_ms(333);
135 ergodox_led_all_off(); 134 ergodox_led_all_off();
136} 135}
@@ -156,27 +155,35 @@ uint8_t init_mcp23018(void) {
156 // - unused : input : 1 155 // - unused : input : 1
157 // - input : input : 1 156 // - input : input : 1
158 // - driving : output : 0 157 // - driving : output : 0
159 mcp23018_status = i2c_start(I2C_ADDR_WRITE, ERGODOX_EZ_I2C_TIMEOUT); if (mcp23018_status) goto out; 158 mcp23018_status = i2c_start(I2C_ADDR_WRITE, ERGODOX_EZ_I2C_TIMEOUT);
160 mcp23018_status = i2c_write(IODIRA, ERGODOX_EZ_I2C_TIMEOUT); if (mcp23018_status) goto out; 159 if (mcp23018_status) goto out;
161 mcp23018_status = i2c_write(0b00000000, ERGODOX_EZ_I2C_TIMEOUT); if (mcp23018_status) goto out; 160 mcp23018_status = i2c_write(IODIRA, ERGODOX_EZ_I2C_TIMEOUT);
162 mcp23018_status = i2c_write(0b00111111, ERGODOX_EZ_I2C_TIMEOUT); if (mcp23018_status) goto out; 161 if (mcp23018_status) goto out;
162 mcp23018_status = i2c_write(0b00000000, ERGODOX_EZ_I2C_TIMEOUT);
163 if (mcp23018_status) goto out;
164 mcp23018_status = i2c_write(0b00111111, ERGODOX_EZ_I2C_TIMEOUT);
165 if (mcp23018_status) goto out;
163 i2c_stop(); 166 i2c_stop();
164 167
165 // set pull-up 168 // set pull-up
166 // - unused : on : 1 169 // - unused : on : 1
167 // - input : on : 1 170 // - input : on : 1
168 // - driving : off : 0 171 // - driving : off : 0
169 mcp23018_status = i2c_start(I2C_ADDR_WRITE, ERGODOX_EZ_I2C_TIMEOUT); if (mcp23018_status) goto out; 172 mcp23018_status = i2c_start(I2C_ADDR_WRITE, ERGODOX_EZ_I2C_TIMEOUT);
170 mcp23018_status = i2c_write(GPPUA, ERGODOX_EZ_I2C_TIMEOUT); if (mcp23018_status) goto out; 173 if (mcp23018_status) goto out;
171 mcp23018_status = i2c_write(0b00000000, ERGODOX_EZ_I2C_TIMEOUT); if (mcp23018_status) goto out; 174 mcp23018_status = i2c_write(GPPUA, ERGODOX_EZ_I2C_TIMEOUT);
172 mcp23018_status = i2c_write(0b00111111, ERGODOX_EZ_I2C_TIMEOUT); if (mcp23018_status) goto out; 175 if (mcp23018_status) goto out;
176 mcp23018_status = i2c_write(0b00000000, ERGODOX_EZ_I2C_TIMEOUT);
177 if (mcp23018_status) goto out;
178 mcp23018_status = i2c_write(0b00111111, ERGODOX_EZ_I2C_TIMEOUT);
179 if (mcp23018_status) goto out;
173 180
174out: 181out:
175 i2c_stop(); 182 i2c_stop();
176 183
177#ifdef LEFT_LEDS 184#ifdef LEFT_LEDS
178 if (!mcp23018_status) mcp23018_status = ergodox_left_leds_update(); 185 if (!mcp23018_status) mcp23018_status = ergodox_left_leds_update();
179#endif // LEFT_LEDS 186#endif // LEFT_LEDS
180 187
181 // SREG=sreg_prev; 188 // SREG=sreg_prev;
182 189
@@ -185,12 +192,12 @@ out:
185 192
186#ifdef LEFT_LEDS 193#ifdef LEFT_LEDS
187uint8_t ergodox_left_leds_update(void) { 194uint8_t ergodox_left_leds_update(void) {
188 if (mcp23018_status) { // if there was an error 195 if (mcp23018_status) { // if there was an error
189 return mcp23018_status; 196 return mcp23018_status;
190 } 197 }
191#define LEFT_LED_1_SHIFT 7 // in MCP23018 port B 198# define LEFT_LED_1_SHIFT 7 // in MCP23018 port B
192#define LEFT_LED_2_SHIFT 6 // in MCP23018 port B 199# define LEFT_LED_2_SHIFT 6 // in MCP23018 port B
193#define LEFT_LED_3_SHIFT 7 // in MCP23018 port A 200# define LEFT_LED_3_SHIFT 7 // in MCP23018 port A
194 201
195 // set logical value (doesn't matter on inputs) 202 // set logical value (doesn't matter on inputs)
196 // - unused : hi-Z : 1 203 // - unused : hi-Z : 1
@@ -200,47 +207,42 @@ uint8_t ergodox_left_leds_update(void) {
200 if (mcp23018_status) goto out; 207 if (mcp23018_status) goto out;
201 mcp23018_status = i2c_write(OLATA, ERGODOX_EZ_I2C_TIMEOUT); 208 mcp23018_status = i2c_write(OLATA, ERGODOX_EZ_I2C_TIMEOUT);
202 if (mcp23018_status) goto out; 209 if (mcp23018_status) goto out;
203 mcp23018_status = i2c_write(0b11111111 210 mcp23018_status = i2c_write(0b11111111 & ~(ergodox_left_led_3 << LEFT_LED_3_SHIFT), ERGODOX_EZ_I2C_TIMEOUT);
204 & ~(ergodox_left_led_3<<LEFT_LED_3_SHIFT),
205 ERGODOX_EZ_I2C_TIMEOUT);
206 if (mcp23018_status) goto out; 211 if (mcp23018_status) goto out;
207 mcp23018_status = i2c_write(0b11111111 212 mcp23018_status = i2c_write(0b11111111 & ~(ergodox_left_led_2 << LEFT_LED_2_SHIFT) & ~(ergodox_left_led_1 << LEFT_LED_1_SHIFT), ERGODOX_EZ_I2C_TIMEOUT);
208 & ~(ergodox_left_led_2<<LEFT_LED_2_SHIFT)
209 & ~(ergodox_left_led_1<<LEFT_LED_1_SHIFT),
210 ERGODOX_EZ_I2C_TIMEOUT);
211 if (mcp23018_status) goto out; 213 if (mcp23018_status) goto out;
212 214
213 out: 215out:
214 i2c_stop(); 216 i2c_stop();
215 return mcp23018_status; 217 return mcp23018_status;
216} 218}
217#endif 219#endif
218 220
219
220#ifdef SWAP_HANDS_ENABLE 221#ifdef SWAP_HANDS_ENABLE
221__attribute__ ((weak)) 222__attribute__((weak))
222// swap-hands action needs a matrix to define the swap 223// swap-hands action needs a matrix to define the swap
223const keypos_t PROGMEM hand_swap_config[MATRIX_ROWS][MATRIX_COLS] = { 224const keypos_t PROGMEM hand_swap_config[MATRIX_ROWS][MATRIX_COLS] = {
224 /* Left hand, matrix positions */ 225 /* Left hand, matrix positions */
225 {{0,13}, {1,13}, {2,13}, {3,13}, {4,13}, {5,13}}, 226 {{0, 13}, {1, 13}, {2, 13}, {3, 13}, {4, 13}, {5, 13}},
226 {{0,12}, {1,12}, {2,12}, {3,12}, {4,12}, {5,12}}, 227 {{0, 12}, {1, 12}, {2, 12}, {3, 12}, {4, 12}, {5, 12}},
227 {{0,11}, {1,11}, {2,11}, {3,11}, {4,11}, {5,11}}, 228 {{0, 11}, {1, 11}, {2, 11}, {3, 11}, {4, 11}, {5, 11}},
228 {{0,10}, {1,10}, {2,10}, {3,10}, {4,10}, {5,10}}, 229 {{0, 10}, {1, 10}, {2, 10}, {3, 10}, {4, 10}, {5, 10}},
229 {{0,9}, {1,9}, {2,9}, {3,9}, {4,9}, {5,9}}, 230 {{0, 9}, {1, 9}, {2, 9}, {3, 9}, {4, 9}, {5, 9}},
230 {{0,8}, {1,8}, {2,8}, {3,8}, {4,8}, {5,8}}, 231 {{0, 8}, {1, 8}, {2, 8}, {3, 8}, {4, 8}, {5, 8}},
231 {{0,7}, {1,7}, {2,7}, {3,7}, {4,7}, {5,7}}, 232 {{0, 7}, {1, 7}, {2, 7}, {3, 7}, {4, 7}, {5, 7}},
232 /* Right hand, matrix positions */ 233 /* Right hand, matrix positions */
233 {{0,6}, {1,6}, {2,6}, {3,6}, {4,6}, {5,6}}, 234 {{0, 6}, {1, 6}, {2, 6}, {3, 6}, {4, 6}, {5, 6}},
234 {{0,5}, {1,5}, {2,5}, {3,5}, {4,5}, {5,5}}, 235 {{0, 5}, {1, 5}, {2, 5}, {3, 5}, {4, 5}, {5, 5}},
235 {{0,4}, {1,4}, {2,4}, {3,4}, {4,4}, {5,4}}, 236 {{0, 4}, {1, 4}, {2, 4}, {3, 4}, {4, 4}, {5, 4}},
236 {{0,3}, {1,3}, {2,3}, {3,3}, {4,3}, {5,3}}, 237 {{0, 3}, {1, 3}, {2, 3}, {3, 3}, {4, 3}, {5, 3}},
237 {{0,2}, {1,2}, {2,2}, {3,2}, {4,2}, {5,2}}, 238 {{0, 2}, {1, 2}, {2, 2}, {3, 2}, {4, 2}, {5, 2}},
238 {{0,1}, {1,1}, {2,1}, {3,1}, {4,1}, {5,1}}, 239 {{0, 1}, {1, 1}, {2, 1}, {3, 1}, {4, 1}, {5, 1}},
239 {{0,0}, {1,0}, {2,0}, {3,0}, {4,0}, {5,0}}, 240 {{0, 0}, {1, 0}, {2, 0}, {3, 0}, {4, 0}, {5, 0}},
240}; 241};
241#endif 242#endif
242 243
243#ifdef RGB_MATRIX_ENABLE 244#ifdef RGB_MATRIX_ENABLE
245// clang-format off
244const is31_led g_is31_leds[DRIVER_LED_TOTAL] = { 246const is31_led g_is31_leds[DRIVER_LED_TOTAL] = {
245/* driver 247/* driver
246 * | R location 248 * | R location
@@ -335,24 +337,14 @@ led_config_t g_led_config = { {
335 4, 4, 4, 4, 4, 4, 337 4, 4, 4, 4, 4, 4,
336 4, 4, 1, 1, 1, 1 338 4, 4, 1, 1, 1, 1
337} }; 339} };
340// clang-format on
338 341
339void suspend_power_down_kb(void) { 342# ifdef ORYX_CONFIGURATOR
340 rgb_matrix_set_color_all(0, 0, 0);
341 rgb_matrix_set_suspend_state(true);
342 suspend_power_down_user();
343}
344
345 void suspend_wakeup_init_kb(void) {
346 rgb_matrix_set_suspend_state(false);
347 suspend_wakeup_init_user();
348}
349
350#ifdef ORYX_CONFIGURATOR
351void keyboard_post_init_kb(void) { 343void keyboard_post_init_kb(void) {
352 rgb_matrix_enable_noeeprom(); 344 rgb_matrix_enable_noeeprom();
353 keyboard_post_init_user(); 345 keyboard_post_init_user();
354} 346}
355#endif 347# endif
356#endif 348#endif
357 349
358#ifdef ORYX_CONFIGURATOR 350#ifdef ORYX_CONFIGURATOR
@@ -360,51 +352,48 @@ bool process_record_kb(uint16_t keycode, keyrecord_t *record) {
360 switch (keycode) { 352 switch (keycode) {
361 case LED_LEVEL: 353 case LED_LEVEL:
362 if (record->event.pressed) { 354 if (record->event.pressed) {
363 keyboard_config.led_level++; 355 keyboard_config.led_level++;
364 if (keyboard_config.led_level > 4) { 356 if (keyboard_config.led_level > 4) {
365 keyboard_config.led_level = 0; 357 keyboard_config.led_level = 0;
366 } 358 }
367 ergodox_led_all_set((uint8_t)keyboard_config.led_level * 255 / 4 ); 359 ergodox_led_all_set((uint8_t)keyboard_config.led_level * 255 / 4);
368 eeconfig_update_kb(keyboard_config.raw); 360 eeconfig_update_kb(keyboard_config.raw);
369 layer_state_set_kb(layer_state); 361 layer_state_set_kb(layer_state);
370 } 362 }
371 break; 363 break;
372#ifdef RGB_MATRIX_ENABLE 364# ifdef RGB_MATRIX_ENABLE
373 case TOGGLE_LAYER_COLOR: 365 case TOGGLE_LAYER_COLOR:
374 if (record->event.pressed) { 366 if (record->event.pressed) {
375 keyboard_config.disable_layer_led ^= 1; 367 keyboard_config.disable_layer_led ^= 1;
376 if (keyboard_config.disable_layer_led) 368 if (keyboard_config.disable_layer_led) rgb_matrix_set_color_all(0, 0, 0);
377 rgb_matrix_set_color_all(0, 0, 0);
378 eeconfig_update_kb(keyboard_config.raw); 369 eeconfig_update_kb(keyboard_config.raw);
379 } 370 }
380 break; 371 break;
381 case RGB_TOG: 372 case RGB_TOG:
382 if (record->event.pressed) { 373 if (record->event.pressed) {
383 switch (rgb_matrix_get_flags()) { 374 switch (rgb_matrix_get_flags()) {
384 case LED_FLAG_ALL: { 375 case LED_FLAG_ALL: {
385 rgb_matrix_set_flags(LED_FLAG_NONE); 376 rgb_matrix_set_flags(LED_FLAG_NONE);
386 keyboard_config.rgb_matrix_enable = false; 377 keyboard_config.rgb_matrix_enable = false;
387 rgb_matrix_set_color_all(0, 0, 0); 378 rgb_matrix_set_color_all(0, 0, 0);
388 } 379 } break;
389 break; 380 default: {
390 default: { 381 rgb_matrix_set_flags(LED_FLAG_ALL);
391 rgb_matrix_set_flags(LED_FLAG_ALL); 382 keyboard_config.rgb_matrix_enable = true;
392 keyboard_config.rgb_matrix_enable = true; 383 } break;
393 } 384 }
394 break; 385 eeconfig_update_kb(keyboard_config.raw);
395 }
396 eeconfig_update_kb(keyboard_config.raw);
397 } 386 }
398 return false; 387 return false;
399#endif 388# endif
400 } 389 }
401 return process_record_user(keycode, record); 390 return process_record_user(keycode, record);
402} 391}
403#endif 392#endif
404 393
405void eeconfig_init_kb(void) { // EEPROM is getting reset! 394void eeconfig_init_kb(void) { // EEPROM is getting reset!
406 keyboard_config.raw = 0; 395 keyboard_config.raw = 0;
407 keyboard_config.led_level = 4; 396 keyboard_config.led_level = 4;
408 keyboard_config.rgb_matrix_enable = true; 397 keyboard_config.rgb_matrix_enable = true;
409 eeconfig_update_kb(keyboard_config.raw); 398 eeconfig_update_kb(keyboard_config.raw);
410 eeconfig_init_user(); 399 eeconfig_init_user();
diff --git a/keyboards/ergodox_ez/keymaps/default/keymap.c b/keyboards/ergodox_ez/keymaps/default/keymap.c
index 9079e48fc..3c0ef320a 100644
--- a/keyboards/ergodox_ez/keymaps/default/keymap.c
+++ b/keyboards/ergodox_ez/keymaps/default/keymap.c
@@ -2,20 +2,20 @@
2#include "version.h" 2#include "version.h"
3 3
4enum layers { 4enum layers {
5 BASE, // default layer 5 BASE, // default layer
6 SYMB, // symbols 6 SYMB, // symbols
7 MDIA, // media keys 7 MDIA, // media keys
8}; 8};
9 9
10enum custom_keycodes { 10enum custom_keycodes {
11#ifdef ORYX_CONFIGURATOR 11#ifdef ORYX_CONFIGURATOR
12 VRSN = EZ_SAFE_RANGE, 12 VRSN = EZ_SAFE_RANGE,
13#else 13#else
14 VRSN = SAFE_RANGE, 14 VRSN = SAFE_RANGE,
15#endif 15#endif
16 RGB_SLD
17}; 16};
18 17
18// clang-format off
19const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { 19const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
20/* Keymap 0: Basic layer 20/* Keymap 0: Basic layer
21 * 21 *
@@ -77,7 +77,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
77 KC_TRNS, KC_HASH, KC_DLR, KC_LPRN, KC_RPRN, KC_GRV, KC_DOWN, KC_4, KC_5, KC_6, KC_PLUS, KC_TRNS, 77 KC_TRNS, KC_HASH, KC_DLR, KC_LPRN, KC_RPRN, KC_GRV, KC_DOWN, KC_4, KC_5, KC_6, KC_PLUS, KC_TRNS,
78 KC_TRNS, KC_PERC, KC_CIRC, KC_LBRC, KC_RBRC, KC_TILD, KC_TRNS, KC_TRNS, KC_AMPR, KC_1, KC_2, KC_3, KC_BSLS, KC_TRNS, 78 KC_TRNS, KC_PERC, KC_CIRC, KC_LBRC, KC_RBRC, KC_TILD, KC_TRNS, KC_TRNS, KC_AMPR, KC_1, KC_2, KC_3, KC_BSLS, KC_TRNS,
79 EEP_RST, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_DOT, KC_0, KC_EQL, KC_TRNS, 79 EEP_RST, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_DOT, KC_0, KC_EQL, KC_TRNS,
80 RGB_MOD, KC_TRNS, RGB_TOG, RGB_SLD, 80 RGB_MOD, KC_TRNS, RGB_TOG, RGB_M_P,
81 KC_TRNS, KC_TRNS, 81 KC_TRNS, KC_TRNS,
82 RGB_VAD, RGB_VAI, KC_TRNS, KC_TRNS, RGB_HUD, RGB_HUI 82 RGB_VAD, RGB_VAI, KC_TRNS, KC_TRNS, RGB_HUD, RGB_HUI
83), 83),
@@ -115,94 +115,90 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
115 KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_WBAK 115 KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_WBAK
116), 116),
117}; 117};
118// clang-format on
118 119
119bool process_record_user(uint16_t keycode, keyrecord_t *record) { 120bool process_record_user(uint16_t keycode, keyrecord_t *record) {
120 if (record->event.pressed) { 121 if (record->event.pressed) {
121 switch (keycode) { 122 switch (keycode) {
122 case VRSN: 123 case VRSN:
123 SEND_STRING (QMK_KEYBOARD "/" QMK_KEYMAP " @ " QMK_VERSION); 124 SEND_STRING(QMK_KEYBOARD "/" QMK_KEYMAP " @ " QMK_VERSION);
124 return false; 125 return false;
125 #ifdef RGBLIGHT_ENABLE 126 }
126 case RGB_SLD:
127 rgblight_mode(1);
128 return false;
129 #endif
130 } 127 }
131 } 128 return true;
132 return true;
133} 129}
134 130
135// Runs just one time when the keyboard initializes. 131// Runs just one time when the keyboard initializes.
136void keyboard_post_init_user(void) { 132void keyboard_post_init_user(void) {
137#ifdef RGBLIGHT_COLOR_LAYER_0 133#ifdef RGBLIGHT_COLOR_LAYER_0
138 rgblight_setrgb(RGBLIGHT_COLOR_LAYER_0); 134 rgblight_setrgb(RGBLIGHT_COLOR_LAYER_0);
139#endif 135#endif
140}; 136};
141 137
142// Runs whenever there is a layer state change. 138// Runs whenever there is a layer state change.
143layer_state_t layer_state_set_user(layer_state_t state) { 139layer_state_t layer_state_set_user(layer_state_t state) {
144 ergodox_board_led_off(); 140 ergodox_board_led_off();
145 ergodox_right_led_1_off(); 141 ergodox_right_led_1_off();
146 ergodox_right_led_2_off(); 142 ergodox_right_led_2_off();
147 ergodox_right_led_3_off(); 143 ergodox_right_led_3_off();
148 144
149 uint8_t layer = get_highest_layer(state); 145 uint8_t layer = get_highest_layer(state);
150 switch (layer) { 146 switch (layer) {
151 case 0: 147 case 0:
152 #ifdef RGBLIGHT_COLOR_LAYER_0 148#ifdef RGBLIGHT_COLOR_LAYER_0
153 rgblight_setrgb(RGBLIGHT_COLOR_LAYER_0); 149 rgblight_setrgb(RGBLIGHT_COLOR_LAYER_0);
154 #endif 150#endif
155 break; 151 break;
156 case 1: 152 case 1:
157 ergodox_right_led_1_on(); 153 ergodox_right_led_1_on();
158 #ifdef RGBLIGHT_COLOR_LAYER_1 154#ifdef RGBLIGHT_COLOR_LAYER_1
159 rgblight_setrgb(RGBLIGHT_COLOR_LAYER_1); 155 rgblight_setrgb(RGBLIGHT_COLOR_LAYER_1);
160 #endif 156#endif
161 break; 157 break;
162 case 2: 158 case 2:
163 ergodox_right_led_2_on(); 159 ergodox_right_led_2_on();
164 #ifdef RGBLIGHT_COLOR_LAYER_2 160#ifdef RGBLIGHT_COLOR_LAYER_2
165 rgblight_setrgb(RGBLIGHT_COLOR_LAYER_2); 161 rgblight_setrgb(RGBLIGHT_COLOR_LAYER_2);
166 #endif 162#endif
167 break; 163 break;
168 case 3: 164 case 3:
169 ergodox_right_led_3_on(); 165 ergodox_right_led_3_on();
170 #ifdef RGBLIGHT_COLOR_LAYER_3 166#ifdef RGBLIGHT_COLOR_LAYER_3
171 rgblight_setrgb(RGBLIGHT_COLOR_LAYER_3); 167 rgblight_setrgb(RGBLIGHT_COLOR_LAYER_3);
172 #endif 168#endif
173 break; 169 break;
174 case 4: 170 case 4:
175 ergodox_right_led_1_on(); 171 ergodox_right_led_1_on();
176 ergodox_right_led_2_on(); 172 ergodox_right_led_2_on();
177 #ifdef RGBLIGHT_COLOR_LAYER_4 173#ifdef RGBLIGHT_COLOR_LAYER_4
178 rgblight_setrgb(RGBLIGHT_COLOR_LAYER_4); 174 rgblight_setrgb(RGBLIGHT_COLOR_LAYER_4);
179 #endif 175#endif
180 break; 176 break;
181 case 5: 177 case 5:
182 ergodox_right_led_1_on(); 178 ergodox_right_led_1_on();
183 ergodox_right_led_3_on(); 179 ergodox_right_led_3_on();
184 #ifdef RGBLIGHT_COLOR_LAYER_5 180#ifdef RGBLIGHT_COLOR_LAYER_5
185 rgblight_setrgb(RGBLIGHT_COLOR_LAYER_5); 181 rgblight_setrgb(RGBLIGHT_COLOR_LAYER_5);
186 #endif 182#endif
187 break; 183 break;
188 case 6: 184 case 6:
189 ergodox_right_led_2_on(); 185 ergodox_right_led_2_on();
190 ergodox_right_led_3_on(); 186 ergodox_right_led_3_on();
191 #ifdef RGBLIGHT_COLOR_LAYER_6 187#ifdef RGBLIGHT_COLOR_LAYER_6
192 rgblight_setrgb(RGBLIGHT_COLOR_LAYER_6); 188 rgblight_setrgb(RGBLIGHT_COLOR_LAYER_6);
193 #endif 189#endif
194 break; 190 break;
195 case 7: 191 case 7:
196 ergodox_right_led_1_on(); 192 ergodox_right_led_1_on();
197 ergodox_right_led_2_on(); 193 ergodox_right_led_2_on();
198 ergodox_right_led_3_on(); 194 ergodox_right_led_3_on();
199 #ifdef RGBLIGHT_COLOR_LAYER_7 195#ifdef RGBLIGHT_COLOR_LAYER_7
200 rgblight_setrgb(RGBLIGHT_COLOR_LAYER_7); 196 rgblight_setrgb(RGBLIGHT_COLOR_LAYER_7);
201 #endif 197#endif
202 break; 198 break;
203 default: 199 default:
204 break; 200 break;
205 } 201 }
206 202
207 return state; 203 return state;
208}; 204};
diff --git a/keyboards/ergodox_ez/rules.mk b/keyboards/ergodox_ez/rules.mk
index 7b189be45..4198486b3 100644
--- a/keyboards/ergodox_ez/rules.mk
+++ b/keyboards/ergodox_ez/rules.mk
@@ -2,13 +2,6 @@
2MCU = atmega32u4 2MCU = atmega32u4
3 3
4# Bootloader selection 4# Bootloader selection
5# Teensy halfkay
6# Pro Micro caterina
7# Atmel DFU atmel-dfu
8# LUFA DFU lufa-dfu
9# QMK DFU qmk-dfu
10# ATmega32A bootloadHID
11# ATmega328P USBasp
12BOOTLOADER = halfkay 5BOOTLOADER = halfkay
13 6
14# If you have Left LEDs (see 7# If you have Left LEDs (see
diff --git a/keyboards/melgeek/mj6xy/rev3/config.h b/keyboards/melgeek/mj6xy/rev3/config.h
index 5024f7a3f..8ea2b7203 100755
--- a/keyboards/melgeek/mj6xy/rev3/config.h
+++ b/keyboards/melgeek/mj6xy/rev3/config.h
@@ -42,6 +42,8 @@
42 42
43#ifdef RGB_DI_PIN 43#ifdef RGB_DI_PIN
44# define RGBLIGHT_ANIMATIONS 44# define RGBLIGHT_ANIMATIONS
45# define RGBLIGHT_DEFAULT_MODE (RGBLIGHT_EFFECT_RAINBOW_MOOD + 6)
46# define RGBLIGHT_DEFAULT_SPD 10
45# define RGBLED_NUM 16 47# define RGBLED_NUM 16
46# define RGBLIGHT_HUE_STEP 8 48# define RGBLIGHT_HUE_STEP 8
47# define RGBLIGHT_SAT_STEP 8 49# define RGBLIGHT_SAT_STEP 8
diff --git a/keyboards/moonlander/config.h b/keyboards/moonlander/config.h
index c1a139dc7..522cb0ab2 100644
--- a/keyboards/moonlander/config.h
+++ b/keyboards/moonlander/config.h
@@ -1,6 +1,6 @@
1/* Copyright 2020 ZSA Technology Labs, Inc <@zsa> 1/* Copyright 2020 ZSA Technology Labs, Inc <@zsa>
2 * Copyright 2020 Jack Humbert <jack.humb@gmail.com> 2 * Copyright 2020 Jack Humbert <jack.humb@gmail.com>
3 * Copyright 2020 Christopher Courtney <drashna@live.com> (@drashna) 3 * Copyright 2020 Christopher Courtney, aka Drashna Jael're (@drashna) <drashna@live.com>
4 * 4 *
5 * This program is free software: you can redistribute it and/or modify 5 * This program is free software: you can redistribute it and/or modify
6 * it under the terms of the GNU General Public License as published by 6 * it under the terms of the GNU General Public License as published by
diff --git a/keyboards/moonlander/keymaps/default/config.h b/keyboards/moonlander/keymaps/default/config.h
index 576aae9f5..83ea2a1b5 100644
--- a/keyboards/moonlander/keymaps/default/config.h
+++ b/keyboards/moonlander/keymaps/default/config.h
@@ -1,6 +1,6 @@
1/* Copyright 2020 ZSA Technology Labs, Inc <@zsa> 1/* Copyright 2020 ZSA Technology Labs, Inc <@zsa>
2 * Copyright 2020 Jack Humbert <jack.humb@gmail.com> 2 * Copyright 2020 Jack Humbert <jack.humb@gmail.com>
3 * Copyright 2020 Christopher Courtney <drashna@live.com> (@drashna) 3 * Copyright 2020 Christopher Courtney, aka Drashna Jael're (@drashna) <drashna@live.com>
4 * 4 *
5 * This program is free software: you can redistribute it and/or modify 5 * This program is free software: you can redistribute it and/or modify
6 * it under the terms of the GNU General Public License as published by 6 * it under the terms of the GNU General Public License as published by
diff --git a/keyboards/moonlander/keymaps/default/keymap.c b/keyboards/moonlander/keymaps/default/keymap.c
index 6d98a8607..0cb7fa5d2 100644
--- a/keyboards/moonlander/keymaps/default/keymap.c
+++ b/keyboards/moonlander/keymaps/default/keymap.c
@@ -1,6 +1,6 @@
1/* Copyright 2020 ZSA Technology Labs, Inc <@zsa> 1/* Copyright 2020 ZSA Technology Labs, Inc <@zsa>
2 * Copyright 2020 Jack Humbert <jack.humb@gmail.com> 2 * Copyright 2020 Jack Humbert <jack.humb@gmail.com>
3 * Copyright 2020 Christopher Courtney <drashna@live.com> (@drashna) 3 * Copyright 2020 Christopher Courtney, aka Drashna Jael're (@drashna) <drashna@live.com>
4 * 4 *
5 * This program is free software: you can redistribute it and/or modify 5 * This program is free software: you can redistribute it and/or modify
6 * it under the terms of the GNU General Public License as published by 6 * it under the terms of the GNU General Public License as published by
diff --git a/keyboards/moonlander/matrix.c b/keyboards/moonlander/matrix.c
index 566f8bb1b..dbd44d161 100644
--- a/keyboards/moonlander/matrix.c
+++ b/keyboards/moonlander/matrix.c
@@ -1,6 +1,6 @@
1/* Copyright 2020 ZSA Technology Labs, Inc <@zsa> 1/* Copyright 2020 ZSA Technology Labs, Inc <@zsa>
2 * Copyright 2020 Jack Humbert <jack.humb@gmail.com> 2 * Copyright 2020 Jack Humbert <jack.humb@gmail.com>
3 * Copyright 2020 Christopher Courtney <drashna@live.com> (@drashna) 3 * Copyright 2020 Christopher Courtney, aka Drashna Jael're (@drashna) <drashna@live.com>
4 * 4 *
5 * This program is free software: you can redistribute it and/or modify 5 * This program is free software: you can redistribute it and/or modify
6 * it under the terms of the GNU General Public License as published by 6 * it under the terms of the GNU General Public License as published by
diff --git a/keyboards/moonlander/moonlander.c b/keyboards/moonlander/moonlander.c
index bc4047b84..d66b74d97 100644
--- a/keyboards/moonlander/moonlander.c
+++ b/keyboards/moonlander/moonlander.c
@@ -1,6 +1,6 @@
1/* Copyright 2020 ZSA Technology Labs, Inc <@zsa> 1/* Copyright 2020 ZSA Technology Labs, Inc <@zsa>
2 * Copyright 2020 Jack Humbert <jack.humb@gmail.com> 2 * Copyright 2020 Jack Humbert <jack.humb@gmail.com>
3 * Copyright 2020 Christopher Courtney <drashna@live.com> (@drashna) 3 * Copyright 2020 Christopher Courtney, aka Drashna Jael're (@drashna) <drashna@live.com>
4 * 4 *
5 * This program is free software: you can redistribute it and/or modify 5 * This program is free software: you can redistribute it and/or modify
6 * it under the terms of the GNU General Public License as published by 6 * it under the terms of the GNU General Public License as published by
@@ -340,15 +340,6 @@ led_config_t g_led_config = { {
340} }; 340} };
341// clang-format on 341// clang-format on
342 342
343void suspend_power_down_kb(void) {
344 rgb_matrix_set_suspend_state(true);
345 suspend_power_down_user();
346}
347
348void suspend_wakeup_init_kb(void) {
349 rgb_matrix_set_suspend_state(false);
350 suspend_wakeup_init_user();
351}
352#endif 343#endif
353 344
354#ifdef AUDIO_ENABLE 345#ifdef AUDIO_ENABLE
diff --git a/keyboards/moonlander/moonlander.h b/keyboards/moonlander/moonlander.h
index 08bec5c07..859826021 100644
--- a/keyboards/moonlander/moonlander.h
+++ b/keyboards/moonlander/moonlander.h
@@ -1,6 +1,6 @@
1/* Copyright 2020 ZSA Technology Labs, Inc <@zsa> 1/* Copyright 2020 ZSA Technology Labs, Inc <@zsa>
2 * Copyright 2020 Jack Humbert <jack.humb@gmail.com> 2 * Copyright 2020 Jack Humbert <jack.humb@gmail.com>
3 * Copyright 2020 Christopher Courtney <drashna@live.com> (@drashna) 3 * Copyright 2020 Christopher Courtney, aka Drashna Jael're (@drashna) <drashna@live.com>
4 * 4 *
5 * This program is free software: you can redistribute it and/or modify 5 * This program is free software: you can redistribute it and/or modify
6 * it under the terms of the GNU General Public License as published by 6 * it under the terms of the GNU General Public License as published by
diff --git a/keyboards/moonlander/readme.md b/keyboards/moonlander/readme.md
index 7ddfdb84a..0ad2e4775 100644
--- a/keyboards/moonlander/readme.md
+++ b/keyboards/moonlander/readme.md
@@ -19,7 +19,23 @@ Flashing example for this keyboard:
19 19
20See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) and the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information. Brand new to QMK? Start with our [Complete Newbs Guide](https://docs.qmk.fm/#/newbs). 20See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) and the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information. Brand new to QMK? Start with our [Complete Newbs Guide](https://docs.qmk.fm/#/newbs).
21 21
22## Oryx Configuation 22
23## Moonlander Customization
24
25### Indicator LEDs
26
27There are 6 functions for enabling and disabling the LEDs on the top of the boards. The functions are `ML_LED_1(bool)` through `ML_LED_6(bool)`, with the first LED being the left most LED on the left hand, and the sixth LED being the right most LED on the right side.
28
29By default, the Indicator LEDs are used to indicate the layer state for the keyboard. If you wish to change this (and indicate caps/num/scroll lock status instead), then define `MOONLANDER_USER_LEDS` in your `config.h` file.
30
31
32### Oryx Configuration
33
34To enable the features from Oryx (ZSA's Configurator), either compile the the `default` keymap, or add `#define ORYX_CONFIGURATOR` to your `config.h` file.
35
36This enables the front Indicator LEDs, and the `TOGGLE_LAYER_COLOR` keycode. The `TOGGLE_LAYER_COLOR` keycode toggles the customized LED map configured on Oryx.
37
38### RGB Matrix Features
23 39
24If you're using the Smart LED (layer indication) feature from the Oryx Configurator, you want to make sure that you enable these options by adding `#define ORYX_CONFIGURATOR` to your keymap's `config.h`. 40If you're using the Smart LED (layer indication) feature from the Oryx Configurator, you want to make sure that you enable these options by adding `#define ORYX_CONFIGURATOR` to your keymap's `config.h`.
25 41
diff --git a/keyboards/planck/ez/config.h b/keyboards/planck/ez/config.h
index 5317a5156..ffc2d14c6 100644
--- a/keyboards/planck/ez/config.h
+++ b/keyboards/planck/ez/config.h
@@ -1,5 +1,6 @@
1/* 1/* Copyright 2018 Jack Humbert <jack.humb@gmail.com>
2 * Copyright 2018 Jack Humbert <jack.humb@gmail.com> 2 * Copyright 2015 ZSA Technology Labs Inc (@zsa)
3 * Copyright 2020 Christopher Courtney, aka Drashna Jael're (@drashna) <drashna@live.com>
3 * 4 *
4 * This program is free software: you can redistribute it and/or modify 5 * This program is free software: you can redistribute it and/or modify
5 * it under the terms of the GNU General Public License as published by 6 * it under the terms of the GNU General Public License as published by
diff --git a/keyboards/planck/ez/ez.c b/keyboards/planck/ez/ez.c
index 818dc6658..5c68726a0 100644
--- a/keyboards/planck/ez/ez.c
+++ b/keyboards/planck/ez/ez.c
@@ -1,4 +1,6 @@
1/* Copyright 2018 Jack Humbert <jack.humb@gmail.com> 1/* Copyright 2018 Jack Humbert <jack.humb@gmail.com>
2 * Copyright 2015 ZSA Technology Labs Inc (@zsa)
3 * Copyright 2020 Christopher Courtney, aka Drashna Jael're (@drashna) <drashna@live.com>
2 * 4 *
3 * This program is free software: you can redistribute it and/or modify 5 * This program is free software: you can redistribute it and/or modify
4 * it under the terms of the GNU General Public License as published by 6 * it under the terms of the GNU General Public License as published by
diff --git a/keyboards/planck/ez/ez.h b/keyboards/planck/ez/ez.h
index 14506dd72..19cc26eea 100644
--- a/keyboards/planck/ez/ez.h
+++ b/keyboards/planck/ez/ez.h
@@ -1,4 +1,6 @@
1/* Copyright 2018 Jack Humbert <jack.humb@gmail.com> 1/* Copyright 2018 Jack Humbert <jack.humb@gmail.com>
2 * Copyright 2015 ZSA Technology Labs Inc (@zsa)
3 * Copyright 2020 Christopher Courtney, aka Drashna Jael're (@drashna) <drashna@live.com>
2 * 4 *
3 * This program is free software: you can redistribute it and/or modify 5 * This program is free software: you can redistribute it and/or modify
4 * it under the terms of the GNU General Public License as published by 6 * it under the terms of the GNU General Public License as published by
diff --git a/keyboards/planck/ez/glow/config.h b/keyboards/planck/ez/glow/config.h
index 21a339da2..55ce28901 100644
--- a/keyboards/planck/ez/glow/config.h
+++ b/keyboards/planck/ez/glow/config.h
@@ -1,5 +1,6 @@
1/* 1/* Copyright 2018 Jack Humbert <jack.humb@gmail.com>
2 * Copyright 2018 Jack Humbert <jack.humb@gmail.com> 2 * Copyright 2015 ZSA Technology Labs Inc (@zsa)
3 * Copyright 2020 Christopher Courtney, aka Drashna Jael're (@drashna) <drashna@live.com>
3 * 4 *
4 * This program is free software: you can redistribute it and/or modify 5 * This program is free software: you can redistribute it and/or modify
5 * it under the terms of the GNU General Public License as published by 6 * it under the terms of the GNU General Public License as published by
diff --git a/keyboards/planck/ez/glow/glow.c b/keyboards/planck/ez/glow/glow.c
index 1813ccae0..c6733bbe5 100644
--- a/keyboards/planck/ez/glow/glow.c
+++ b/keyboards/planck/ez/glow/glow.c
@@ -1 +1,19 @@
1/* Copyright 2018 Jack Humbert <jack.humb@gmail.com>
2 * Copyright 2015 ZSA Technology Labs Inc (@zsa)
3 * Copyright 2020 Christopher Courtney, aka Drashna Jael're (@drashna) <drashna@live.com>
4 *
5 * This program is free software: you can redistribute it and/or modify
6 * it under the terms of the GNU General Public License as published by
7 * the Free Software Foundation, either version 2 of the License, or
8 * (at your option) any later version.
9 *
10 * This program is distributed in the hope that it will be useful,
11 * but WITHOUT ANY WARRANTY; without even the implied warranty of
12 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13 * GNU General Public License for more details.
14 *
15 * You should have received a copy of the GNU General Public License
16 * along with this program. If not, see <http://www.gnu.org/licenses/>.
17 */
18
1#include "glow.h" 19#include "glow.h"
diff --git a/keyboards/planck/ez/glow/glow.h b/keyboards/planck/ez/glow/glow.h
index d8a01f435..cfc26b5e0 100644
--- a/keyboards/planck/ez/glow/glow.h
+++ b/keyboards/planck/ez/glow/glow.h
@@ -1,3 +1,21 @@
1/* Copyright 2018 Jack Humbert <jack.humb@gmail.com>
2 * Copyright 2015 ZSA Technology Labs Inc (@zsa)
3 * Copyright 2020 Christopher Courtney, aka Drashna Jael're (@drashna) <drashna@live.com>
4 *
5 * This program is free software: you can redistribute it and/or modify
6 * it under the terms of the GNU General Public License as published by
7 * the Free Software Foundation, either version 2 of the License, or
8 * (at your option) any later version.
9 *
10 * This program is distributed in the hope that it will be useful,
11 * but WITHOUT ANY WARRANTY; without even the implied warranty of
12 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13 * GNU General Public License for more details.
14 *
15 * You should have received a copy of the GNU General Public License
16 * along with this program. If not, see <http://www.gnu.org/licenses/>.
17 */
18
1#pragma once 19#pragma once
2 20
3#include "ez.h" 21#include "ez.h"
diff --git a/keyboards/planck/ez/readme.md b/keyboards/planck/ez/readme.md
index 247bf7448..f85ab5969 100644
--- a/keyboards/planck/ez/readme.md
+++ b/keyboards/planck/ez/readme.md
@@ -4,24 +4,26 @@
4 4
5A variant of the Planck featuring a 2u spacebar and per-key RGB backlighting. 5A variant of the Planck featuring a 2u spacebar and per-key RGB backlighting.
6 6
7Keyboard Maintainer: [Jack Humbert](https://github.com/jackhumbert) 7Keyboard Maintainer: [Jack Humbert](https://github.com/jackhumbert), [Drashna Jael're](https://github.com/drashna)
8Hardware Supported: Planck EZ 8Hardware Supported: Planck EZ
9Hardware Availability: [ergodox-ez.com](https://ergodox-ez.com/pages/planck) 9Hardware Availability: [ZSA](https://www.zsa.io/planck/)
10 10
11Make example for this keyboard (after setting up your build environment): 11Make example for this keyboard (after setting up your build environment):
12 12
13 make planck/ez:default 13 make planck/ez:oryx
14
15See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) and the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information. Brand new to QMK? Start with our [Complete Newbs Guide](https://docs.qmk.fm/#/newbs).
16
17# Planck EZ Glow
18 14
19For the per key RGB version of this keyboard, you want to use the "glow" subdirectory. For example: 15For the per key RGB version of this keyboard, you want to use the "glow" subdirectory. For example:
20 16
21 make planck/ez/glow:default 17 make planck/ez/glow:oryx
18
19See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) and the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information. Brand new to QMK? Start with our [Complete Newbs Guide](https://docs.qmk.fm/#/newbs).
22 20
23## Planck EZ Configuration (from Oryx) 21## Planck EZ Configuration (from Oryx)
24 22
23To enable the features from Oryx (ZSA's Configurator), either compile the the `oryx` keymap, or add `#define ORYX_CONFIGURATOR` to your `config.h` file.
24
25This enables the front Indicator LEDs, and the `TOGGLE_LAYER_COLOR`, and `LED_LEVEL` keycodes. The `TOGGLE_LAYER_COLOR` keycode toggles the customized LED map configured on Oryx. The `LED_LEVEL` cycles through the brightness levels for the front "teeth" LEDs.
26
25### Indicator LEDs 27### Indicator LEDs
26 28
27The two front "teeth" LED indicators are PWM controlled. If you have `ORYX_CONFIGURATOR` defined in your keymap's `config.h`, you can use the `LED_LEVEL` to cycle through preset vales (0, 25%, 50%, 75%, 100%), and will be saved to EEPROM (persistent storage) 29The two front "teeth" LED indicators are PWM controlled. If you have `ORYX_CONFIGURATOR` defined in your keymap's `config.h`, you can use the `LED_LEVEL` to cycle through preset vales (0, 25%, 50%, 75%, 100%), and will be saved to EEPROM (persistent storage)
diff --git a/keyboards/planck/keymaps/oryx/config.h b/keyboards/planck/keymaps/oryx/config.h
index a9171bf53..e6250bb39 100644
--- a/keyboards/planck/keymaps/oryx/config.h
+++ b/keyboards/planck/keymaps/oryx/config.h
@@ -1,16 +1,39 @@
1/* Copyright 2020 ZSA Technology Inc
2 * Copyright 2020 Christopher Courtney, aka Drashna Jael're (@drashna) <drashna@live.com>
3 *
4 * This program is free software: you can redistribute it and/or modify
5 * it under the terms of the GNU General Public License as published by
6 * the Free Software Foundation, either version 2 of the License, or
7 * (at your option) any later version.
8 *
9 * This program is distributed in the hope that it will be useful,
10 * but WITHOUT ANY WARRANTY; without even the implied warranty of
11 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12 * GNU General Public License for more details.
13 *
14 * You should have received a copy of the GNU General Public License
15 * along with this program. If not, see <http://www.gnu.org/licenses/>.
16 */
17
1#pragma once 18#pragma once
2 19
3#ifdef AUDIO_ENABLE 20#ifdef AUDIO_ENABLE
4#define STARTUP_SONG SONG(PLANCK_SOUND) 21# define STARTUP_SONG SONG(PLANCK_SOUND)
5#endif 22#endif
6 23
7#define MIDI_BASIC 24#define MIDI_BASIC
8 25
9#define ENCODER_RESOLUTION 4 26#define ENCODER_RESOLUTION 4
10 27
11#define ORYX_CONFIGURATOR
12
13/* 28/*
14 Set any config.h overrides for your specific keymap here. 29 Set any config.h overrides for your specific keymap here.
15 See config.h options at https://docs.qmk.fm/#/config_options?id=the-configh-file 30 See config.h options at https://docs.qmk.fm/#/config_options?id=the-configh-file
16*/ 31*/
32#define ORYX_CONFIGURATOR
33#define USB_SUSPEND_WAKEUP_DELAY 0
34#define FIRMWARE_VERSION u8"vAxxa/ZlQEV"
35#define RGB_MATRIX_STARTUP_SPD 60
36
37#define PLANCK_EZ_LED_LOWER 1
38#define PLANCK_EZ_LED_RAISE 2
39#define PLANCK_EZ_LED_ADJUST 3
diff --git a/keyboards/planck/keymaps/oryx/keymap.c b/keyboards/planck/keymaps/oryx/keymap.c
index 27387a81a..e84b9913a 100644
--- a/keyboards/planck/keymaps/oryx/keymap.c
+++ b/keyboards/planck/keymaps/oryx/keymap.c
@@ -1,373 +1,151 @@
1#include QMK_KEYBOARD_H 1/* Copyright 2020 ZSA Technology Inc
2#include "muse.h" 2 * Copyright 2020 Christopher Courtney, aka Drashna Jael're (@drashna) <drashna@live.com>
3#include "eeprom.h" 3 *
4#include "keymap_german.h" 4 * This program is free software: you can redistribute it and/or modify
5#include "keymap_nordic.h" 5 * it under the terms of the GNU General Public License as published by
6#include "keymap_french.h" 6 * the Free Software Foundation, either version 2 of the License, or
7#include "keymap_spanish.h" 7 * (at your option) any later version.
8#include "keymap_hungarian.h" 8 *
9#include "keymap_swedish.h" 9 * This program is distributed in the hope that it will be useful,
10//#include "keymap_br_abnt2.h" 10 * but WITHOUT ANY WARRANTY; without even the implied warranty of
11#include "keymap_canadian_multilingual.h" 11 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12#include "keymap_german_ch.h" 12 * GNU General Public License for more details.
13 13 *
14#define KC_MAC_UNDO LGUI(KC_Z) 14 * You should have received a copy of the GNU General Public License
15#define KC_MAC_CUT LGUI(KC_X) 15 * along with this program. If not, see <http://www.gnu.org/licenses/>.
16#define KC_MAC_COPY LGUI(KC_C) 16 */
17#define KC_MAC_PASTE LGUI(KC_V)
18#define KC_PC_UNDO LCTL(KC_Z)
19#define KC_PC_CUT LCTL(KC_X)
20#define KC_PC_COPY LCTL(KC_C)
21#define KC_PC_PASTE LCTL(KC_V)
22#define NO_TH ALGR(KC_T)
23#define NO_ETH ALGR(KC_D)
24 17
25enum planck_layers { 18#include QMK_KEYBOARD_H
26 _QWERTY,
27 _COLEMAK,
28 _DVORAK,
29 _LOWER,
30 _RAISE,
31 _PLOVER,
32 _ADJUST
33};
34 19
35enum planck_keycodes { 20enum planck_keycodes {
36 QWERTY = EZ_SAFE_RANGE, 21 RGB_SLD = EZ_SAFE_RANGE,
37 COLEMAK,
38 DVORAK,
39 PLOVER,
40 BACKLIT,
41 EXT_PLV,
42 RGB_SLD
43}; 22};
44 23
45#define LOWER MO(_LOWER) 24enum planck_layers {
46#define RAISE MO(_RAISE) 25 _BASE,
26 _LOWER,
27 _RAISE,
28 _ADJUST,
29};
47 30
31# define LOWER MO(_LOWER)
32# define RAISE MO(_RAISE)
48 33
34// clang-format off
49const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { 35const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
50 36 [_BASE] = LAYOUT_planck_grid(
51/* Qwerty 37 KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSPACE,
52 * ,-----------------------------------------------------------------------------------. 38 KC_ESCAPE, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCOLON, KC_QUOTE,
53 * | Tab | Q | W | E | R | T | Y | U | I | O | P | Bksp | 39 KC_LSHIFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMMA, KC_DOT, KC_SLASH, KC_ENTER,
54 * |------+------+------+------+------+------+------+------+------+------+------+------| 40 WEBUSB_PAIR, KC_LCTRL, KC_LALT, KC_LGUI, LOWER, KC_SPACE, KC_NO, RAISE, KC_LEFT, KC_DOWN, KC_UP, KC_RIGHT
55 * | Esc | A | S | D | F | G | H | J | K | L | ; | " | 41 ),
56 * |------+------+------+------+------+------+------+------+------+------+------+------| 42
57 * | Shift| Z | X | C | V | B | N | M | , | . | / |Enter | 43 [_LOWER] = LAYOUT_planck_grid(
58 * |------+------+------+------+------+------+------+------+------+------+------+------| 44 KC_TILD, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, _______,
59 * | Brite| Ctrl | Alt | GUI |Lower | Space |Raise | Left | Down | Up |Right | 45 KC_DELETE, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_UNDS, KC_PLUS, KC_LCBR, KC_RCBR, KC_PIPE,
60 * `-----------------------------------------------------------------------------------' 46 _______, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_NONUS_HASH, KC_NONUS_BSLASH,KC_HOME, KC_END, _______,
61 */ 47 KC_COMMA, _______, _______, _______, _______, _______, KC_NO, _______, KC_MEDIA_NEXT_TRACK,KC_AUDIO_VOL_DOWN,KC_AUDIO_VOL_UP,KC_MEDIA_PLAY_PAUSE
62[_QWERTY] = LAYOUT_planck_grid( 48 ),
63 KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSPC, 49
64 KC_ESC, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, 50 [_RAISE] = LAYOUT_planck_grid(
65 KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_ENT , 51 KC_GRAVE,KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, _______,
66 BACKLIT, KC_LCTL, KC_LALT, KC_LGUI, LOWER, KC_SPC, KC_SPC, RAISE, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT 52 KC_DEL, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_MINUS, KC_EQUAL, KC_LBRACKET, KC_RBRACKET, KC_BSLASH,
67), 53 _______, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_NONUS_HASH, KC_NONUS_BSLASH,KC_PGUP, KC_PGDOWN, _______,
68 54 _______, _______, _______, _______, _______, _______, KC_NO, _______, KC_MEDIA_NEXT_TRACK,KC_AUDIO_VOL_DOWN,KC_AUDIO_VOL_UP,KC_MEDIA_PLAY_PAUSE
69/* Colemak 55 ),
70 * ,-----------------------------------------------------------------------------------. 56
71 * | Tab | Q | W | F | P | G | J | L | U | Y | ; | Bksp | 57 [_ADJUST] = LAYOUT_planck_grid(
72 * |------+------+------+------+------+------+------+------+------+------+------+------| 58 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
73 * | Esc | A | R | S | T | D | H | N | E | I | O | " | 59 KC_DEL, _______, AU_ON, AU_OFF, AU_TOG, _______, _______, RGB_TOG, RGB_VAI, RGB_VAD, LED_LEVEL, RESET,
74 * |------+------+------+------+------+------+------+------+------+------+------+------| 60 _______, _______, MU_ON, MU_OFF, MU_TOG, _______, _______, RGB_MOD, RGB_HUI, RGB_HUD, TOGGLE_LAYER_COLOR, _______,
75 * | Shift| Z | X | C | V | B | K | M | , | . | / |Enter | 61 _______, _______, _______, _______, _______, _______, KC_NO, _______, _______, _______, _______, _______
76 * |------+------+------+------+------+------+------+------+------+------+------+------| 62 ),
77 * | Brite| Ctrl | Alt | GUI |Lower | Space |Raise | Left | Down | Up |Right |
78 * `-----------------------------------------------------------------------------------'
79 */
80[_COLEMAK] = LAYOUT_planck_grid(
81 KC_TAB, KC_Q, KC_W, KC_F, KC_P, KC_G, KC_J, KC_L, KC_U, KC_Y, KC_SCLN, KC_BSPC,
82 KC_ESC, KC_A, KC_R, KC_S, KC_T, KC_D, KC_H, KC_N, KC_E, KC_I, KC_O, KC_QUOT,
83 KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_K, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_ENT ,
84 BACKLIT, KC_LCTL, KC_LALT, KC_LGUI, LOWER, KC_SPC, KC_SPC, RAISE, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT
85),
86
87/* Dvorak
88 * ,-----------------------------------------------------------------------------------.
89 * | Tab | " | , | . | P | Y | F | G | C | R | L | Bksp |
90 * |------+------+------+------+------+------+------+------+------+------+------+------|
91 * | Esc | A | O | E | U | I | D | H | T | N | S | / |
92 * |------+------+------+------+------+------+------+------+------+------+------+------|
93 * | Shift| ; | Q | J | K | X | B | M | W | V | Z |Enter |
94 * |------+------+------+------+------+------+------+------+------+------+------+------|
95 * | Brite| Ctrl | Alt | GUI |Lower | Space |Raise | Left | Down | Up |Right |
96 * `-----------------------------------------------------------------------------------'
97 */
98[_DVORAK] = LAYOUT_planck_grid(
99 KC_TAB, KC_QUOT, KC_COMM, KC_DOT, KC_P, KC_Y, KC_F, KC_G, KC_C, KC_R, KC_L, KC_BSPC,
100 KC_ESC, KC_A, KC_O, KC_E, KC_U, KC_I, KC_D, KC_H, KC_T, KC_N, KC_S, KC_SLSH,
101 KC_LSFT, KC_SCLN, KC_Q, KC_J, KC_K, KC_X, KC_B, KC_M, KC_W, KC_V, KC_Z, KC_ENT ,
102 BACKLIT, KC_LCTL, KC_LALT, KC_LGUI, LOWER, KC_SPC, KC_SPC, RAISE, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT
103),
104
105/* Lower
106 * ,-----------------------------------------------------------------------------------.
107 * | ~ | ! | @ | # | $ | % | ^ | & | * | ( | ) | Bksp |
108 * |------+------+------+------+------+------+------+------+------+------+------+------|
109 * | Del | F1 | F2 | F3 | F4 | F5 | F6 | _ | + | { | } | | |
110 * |------+------+------+------+------+------+------+------+------+------+------+------|
111 * | | F7 | F8 | F9 | F10 | F11 | F12 |ISO ~ |ISO | | Home | End | |
112 * |------+------+------+------+------+------+------+------+------+------+------+------|
113 * | | | | | | | | Next | Vol- | Vol+ | Play |
114 * `-----------------------------------------------------------------------------------'
115 */
116[_LOWER] = LAYOUT_planck_grid(
117 KC_TILD, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, KC_BSPC,
118 KC_DEL, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_UNDS, KC_PLUS, KC_LCBR, KC_RCBR, KC_PIPE,
119 _______, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, S(KC_NUHS), S(KC_NUBS), KC_HOME, KC_END, _______,
120 _______, _______, _______, _______, _______, _______, _______, _______, KC_MNXT, KC_VOLD, KC_VOLU, KC_MPLY
121),
122
123/* Raise
124 * ,-----------------------------------------------------------------------------------.
125 * | ` | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 0 | Bksp |
126 * |------+------+------+------+------+------+------+------+------+------+------+------|
127 * | Del | F1 | F2 | F3 | F4 | F5 | F6 | - | = | [ | ] | \ |
128 * |------+------+------+------+------+------+------+------+------+------+------+------|
129 * | | F7 | F8 | F9 | F10 | F11 | F12 |ISO # |ISO / |Pg Up |Pg Dn | |
130 * |------+------+------+------+------+------+------+------+------+------+------+------|
131 * | | | | | | | | Next | Vol- | Vol+ | Play |
132 * `-----------------------------------------------------------------------------------'
133 */
134[_RAISE] = LAYOUT_planck_grid(
135 KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_BSPC,
136 KC_DEL, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_MINS, KC_EQL, KC_LBRC, KC_RBRC, KC_BSLS,
137 _______, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_NUHS, KC_NUBS, KC_PGUP, KC_PGDN, _______,
138 _______, _______, _______, _______, _______, _______, _______, _______, KC_MNXT, KC_VOLD, KC_VOLU, KC_MPLY
139),
140
141/* Plover layer (http://opensteno.org)
142 * ,-----------------------------------------------------------------------------------.
143 * | # | # | # | # | # | # | # | # | # | # | # | # |
144 * |------+------+------+------+------+------+------+------+------+------+------+------|
145 * | | S | T | P | H | * | * | F | P | L | T | D |
146 * |------+------+------+------+------+------+------+------+------+------+------+------|
147 * | | S | K | W | R | * | * | R | B | G | S | Z |
148 * |------+------+------+------+------+------+------+------+------+------+------+------|
149 * | Exit | | | A | O | | E | U | | | |
150 * `-----------------------------------------------------------------------------------'
151 */
152[_PLOVER] = LAYOUT_planck_grid(
153 KC_1, KC_1, KC_1, KC_1, KC_1, KC_1, KC_1, KC_1, KC_1, KC_1, KC_1, KC_1 ,
154 XXXXXXX, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC,
155 XXXXXXX, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT,
156 EXT_PLV, XXXXXXX, XXXXXXX, KC_C, KC_V, XXXXXXX, XXXXXXX, KC_N, KC_M, XXXXXXX, XXXXXXX, XXXXXXX
157),
158
159/* Adjust (Lower + Raise)
160 * v------------------------RGB CONTROL--------------------v
161 * ,-----------------------------------------------------------------------------------
162 * | | Reset|Debug | RGB |RGBMOD| HUE+ | HUE- | SAT+ | SAT- |BRGTH+|BRGTH-| Del |
163 * |------+------+------+------+------+------+------+------+------+------+------+------|
164 * | | | |Aud on|Audoff|AGnorm|AGswap|Qwerty|Colemk|Dvorak|Plover| |
165 * |------+------+------+------+------+------+------+------+------+------+------+------|
166 * | |Voice-|Voice+|Mus on|Musoff|MIDIon|MIDIof| | | | | |
167 * |------+------+------+------+------+------+------+------+------+------+------+------|
168 * | | | | | | | | | | | |
169 * `-----------------------------------------------------------------------------------'
170 */
171[_ADJUST] = LAYOUT_planck_grid(
172 _______, RESET, DEBUG, RGB_TOG, RGB_MOD, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, KC_DEL ,
173 _______, _______, MU_MOD, AU_ON, AU_OFF, AG_NORM, AG_SWAP, QWERTY, COLEMAK, DVORAK, PLOVER, _______,
174 _______, MUV_DE, MUV_IN, MU_ON, MU_OFF, MI_ON, MI_OFF, TERM_ON, TERM_OFF, TOGGLE_LAYER_COLOR, LED_LEVEL, _______,
175 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
176)
177 63
178}; 64};
179 65// clang-format on
180
181#ifdef AUDIO_ENABLE
182 float plover_song[][2] = SONG(PLOVER_SOUND);
183 float plover_gb_song[][2] = SONG(PLOVER_GOODBYE_SOUND);
184#endif
185
186layer_state_t layer_state_set_user(layer_state_t state) {
187 return update_tri_layer_state(state, _LOWER, _RAISE, _ADJUST);
188}
189 66
190const uint8_t PROGMEM ledmap[][DRIVER_LED_TOTAL][3] = { 67const uint8_t PROGMEM ledmap[][DRIVER_LED_TOTAL][3] = {
191 [0] = { {130,255,255}, {130,255,255}, {130,255,255}, {130,255,255}, {130,255,255}, {130,255,255}, {130,255,255}, {130,255,255}, {130,255,255}, {130,255,255}, {130,255,255}, {130,255,255}, {130,255,255}, {130,255,255}, {130,255,255}, {130,255,255}, {130,255,255}, {130,255,255}, {130,255,255}, {130,255,255}, {130,255,255}, {130,255,255}, {130,255,255}, {130,255,255}, {130,255,255}, {130,255,255}, {130,255,255}, {130,255,255}, {130,255,255}, {130,255,255}, {130,255,255}, {130,255,255}, {130,255,255}, {130,255,255}, {130,255,255}, {130,255,255}, {130,255,255}, {130,255,255}, {130,255,255}, {130,255,255}, {130,255,255}, {130,255,255}, {130,255,255}, {130,255,255}, {130,255,255}, {130,255,255}, {130,255,255} }, 68 [0] = {{42, 255, 255}, {42, 255, 255}, {42, 255, 255}, {42, 255, 255}, {42, 255, 255}, {42, 255, 255}, {42, 255, 255}, {42, 255, 255}, {42, 255, 255}, {42, 255, 255}, {42, 255, 255}, {42, 255, 255}, {42, 255, 255}, {146, 224, 255}, {146, 224, 255}, {146, 224, 255}, {146, 224, 255}, {146, 224, 255}, {146, 224, 255}, {42, 255, 255}, {42, 255, 255}, {42, 255, 255}, {42, 255, 255}, {42, 255, 255}, {42, 255, 255}, {146, 224, 255}, {146, 224, 255}, {146, 224, 255}, {146, 224, 255}, {146, 224, 255}, {146, 224, 255}, {42, 255, 255}, {42, 255, 255}, {42, 255, 255}, {42, 255, 255}, {42, 255, 255}, {42, 255, 255}, {42, 255, 255}, {42, 255, 255}, {42, 255, 255}, {42, 255, 255}, {42, 255, 255}, {42, 255, 255}, {32, 255, 234}, {32, 255, 234}, {32, 255, 234}, {32, 255, 234}},
192
193 [1] = { {42,255,255}, {42,255,255}, {42,255,255}, {42,255,255}, {42,255,255}, {42,255,255}, {42,255,255}, {42,255,255}, {42,255,255}, {42,255,255}, {42,255,255}, {42,255,255}, {42,255,255}, {146,224,255}, {146,224,255}, {146,224,255}, {146,224,255}, {146,224,255}, {146,224,255}, {42,255,255}, {42,255,255}, {42,255,255}, {42,255,255}, {42,255,255}, {42,255,255}, {146,224,255}, {146,224,255}, {146,224,255}, {146,224,255}, {146,224,255}, {146,224,255}, {42,255,255}, {42,255,255}, {42,255,255}, {42,255,255}, {42,255,255}, {42,255,255}, {42,255,255}, {42,255,255}, {42,255,255}, {42,255,255}, {42,255,255}, {42,255,255}, {32,255,234}, {32,255,234}, {32,255,234}, {32,255,234} },
194 69
195 [2] = { {89,255,246}, {89,255,246}, {89,255,246}, {89,255,246}, {89,255,246}, {89,255,246}, {89,255,246}, {89,255,246}, {89,255,246}, {89,255,246}, {89,255,246}, {89,255,246}, {89,255,246}, {169,120,255}, {169,120,255}, {169,120,255}, {169,120,255}, {169,120,255}, {169,120,255}, {89,255,246}, {89,255,246}, {89,255,246}, {89,255,246}, {89,255,246}, {89,255,246}, {89,255,246}, {169,120,255}, {169,120,255}, {169,120,255}, {169,120,255}, {169,120,255}, {89,255,246}, {89,255,246}, {89,255,246}, {89,255,246}, {89,255,246}, {89,255,246}, {89,255,246}, {89,255,246}, {89,255,246}, {89,255,246}, {89,255,246}, {89,255,246}, {89,255,246}, {89,255,246}, {89,255,246}, {89,255,246} }, 70 [1] = {{89, 255, 246}, {89, 255, 246}, {89, 255, 246}, {89, 255, 246}, {89, 255, 246}, {89, 255, 246}, {89, 255, 246}, {89, 255, 246}, {89, 255, 246}, {89, 255, 246}, {89, 255, 246}, {89, 255, 246}, {89, 255, 246}, {169, 120, 255}, {169, 120, 255}, {169, 120, 255}, {169, 120, 255}, {169, 120, 255}, {169, 120, 255}, {89, 255, 246}, {89, 255, 246}, {89, 255, 246}, {89, 255, 246}, {89, 255, 246}, {89, 255, 246}, {89, 255, 246}, {169, 120, 255}, {169, 120, 255}, {169, 120, 255}, {169, 120, 255}, {169, 120, 255}, {89, 255, 246}, {89, 255, 246}, {89, 255, 246}, {89, 255, 246}, {89, 255, 246}, {89, 255, 246}, {89, 255, 246}, {89, 255, 246}, {89, 255, 246}, {89, 255, 246}, {89, 255, 246}, {89, 255, 246}, {89, 255, 246}, {89, 255, 246}, {89, 255, 246}, {89, 255, 246}},
196 71
197 [3] = { {216,255,255}, {216,255,255}, {216,255,255}, {216,255,255}, {216,255,255}, {216,255,255}, {216,255,255}, {216,255,255}, {216,255,255}, {216,255,255}, {216,255,255}, {216,255,255}, {216,255,255}, {216,255,255}, {249,228,255}, {249,228,255}, {249,228,255}, {216,255,255}, {216,255,255}, {105,255,255}, {105,255,255}, {105,255,255}, {216,255,255}, {14,255,255}, {216,255,255}, {216,255,255}, {249,228,255}, {249,228,255}, {249,228,255}, {216,255,255}, {216,255,255}, {105,255,255}, {105,255,255}, {105,255,255}, {216,255,255}, {216,255,255}, {216,255,255}, {216,255,255}, {216,255,255}, {216,255,255}, {216,255,255}, {216,255,255}, {216,255,255}, {216,255,255}, {216,255,255}, {216,255,255}, {216,255,255} }, 72 [2] = {{216, 255, 255}, {216, 255, 255}, {216, 255, 255}, {216, 255, 255}, {216, 255, 255}, {216, 255, 255}, {216, 255, 255}, {216, 255, 255}, {216, 255, 255}, {216, 255, 255}, {216, 255, 255}, {216, 255, 255}, {216, 255, 255}, {216, 255, 255}, {249, 228, 255}, {249, 228, 255}, {249, 228, 255}, {216, 255, 255}, {216, 255, 255}, {105, 255, 255}, {105, 255, 255}, {105, 255, 255}, {216, 255, 255}, {14, 255, 255}, {216, 255, 255}, {216, 255, 255}, {249, 228, 255}, {249, 228, 255}, {249, 228, 255}, {216, 255, 255}, {216, 255, 255}, {105, 255, 255}, {105, 255, 255}, {105, 255, 255}, {216, 255, 255}, {216, 255, 255}, {216, 255, 255}, {216, 255, 255}, {216, 255, 255}, {216, 255, 255}, {216, 255, 255}, {216, 255, 255}, {216, 255, 255}, {216, 255, 255}, {216, 255, 255}, {216, 255, 255}, {216, 255, 255}},
198 73
199}; 74};
200 75
201void set_layer_color(int layer) { 76void set_layer_color(int layer) {
202 for (int i = 0; i < DRIVER_LED_TOTAL; i++) { 77 for (int i = 0; i < DRIVER_LED_TOTAL; i++) {
203 HSV hsv = { 78 HSV hsv = {
204 .h = pgm_read_byte(&ledmap[layer][i][0]), 79 .h = pgm_read_byte(&ledmap[layer][i][0]),
205 .s = pgm_read_byte(&ledmap[layer][i][1]), 80 .s = pgm_read_byte(&ledmap[layer][i][1]),
206 .v = pgm_read_byte(&ledmap[layer][i][2]), 81 .v = pgm_read_byte(&ledmap[layer][i][2]),
207 }; 82 };
208 if (!hsv.h && !hsv.s && !hsv.v) { 83 if (!hsv.h && !hsv.s && !hsv.v) {
209 rgb_matrix_set_color( i, 0, 0, 0 ); 84 rgb_matrix_set_color(i, 0, 0, 0);
210 } else { 85 } else {
211 RGB rgb = hsv_to_rgb( hsv ); 86 RGB rgb = hsv_to_rgb(hsv);
212 float f = (float)rgb_matrix_config.hsv.v / UINT8_MAX; 87 float f = (float)rgb_matrix_config.hsv.v / UINT8_MAX;
213 rgb_matrix_set_color( i, f * rgb.r, f * rgb.g, f * rgb.b ); 88 rgb_matrix_set_color(i, f * rgb.r, f * rgb.g, f * rgb.b);
89 }
214 } 90 }
215 }
216} 91}
217 92
218void rgb_matrix_indicators_user(void) { 93void rgb_matrix_indicators_user(void) {
219 if (g_suspend_state || keyboard_config.disable_layer_led) { return; } 94 if (g_suspend_state || keyboard_config.disable_layer_led) {
220 switch (biton32(layer_state)) { 95 return;
221 case 0: 96 }
222 set_layer_color(0); 97 switch (biton32(layer_state)) {
223 break; 98 case 1:
224 case 3: 99 set_layer_color(0);
225 set_layer_color(1); 100 break;
226 break; 101 case 2:
227 case 4: 102 set_layer_color(1);
228 set_layer_color(2); 103 break;
229 break; 104 case 3:
230 case 6: 105 set_layer_color(2);
231 set_layer_color(3); 106 break;
232 break; 107 default:
233 default: 108 if (rgb_matrix_get_flags() == LED_FLAG_NONE) rgb_matrix_set_color_all(0, 0, 0);
234 if (rgb_matrix_get_flags() == LED_FLAG_NONE) 109 break;
235 rgb_matrix_set_color_all(0, 0, 0); 110 }
236 break;
237 }
238} 111}
239 112
240
241bool process_record_user(uint16_t keycode, keyrecord_t *record) { 113bool process_record_user(uint16_t keycode, keyrecord_t *record) {
242 switch (keycode) { 114 switch (keycode) {
243 case RGB_SLD: 115 case RGB_SLD:
244 if (record->event.pressed) { 116 if (record->event.pressed) {
245 rgblight_mode(1); 117 rgblight_mode(1);
246 } 118 }
247 return false; 119 return false;
248 case QWERTY: 120 }
249 if (record->event.pressed) { 121 return true;
250 print("mode just switched to qwerty and this is a huge string\n");
251 set_single_persistent_default_layer(_QWERTY);
252 }
253 return false;
254 break;
255 case COLEMAK:
256 if (record->event.pressed) {
257 set_single_persistent_default_layer(_COLEMAK);
258 }
259 return false;
260 break;
261 case DVORAK:
262 if (record->event.pressed) {
263 set_single_persistent_default_layer(_DVORAK);
264 }
265 return false;
266 break;
267 case BACKLIT:
268 if (record->event.pressed) {
269 register_code(KC_RSFT);
270 #ifdef BACKLIGHT_ENABLE
271 backlight_step();
272 #endif
273 #ifdef KEYBOARD_planck_rev5
274 PORTE &= ~(1<<6);
275 #endif
276 } else {
277 unregister_code(KC_RSFT);
278 #ifdef KEYBOARD_planck_rev5
279 PORTE |= (1<<6);
280 #endif
281 }
282 return false;
283 break;
284 case PLOVER:
285 if (record->event.pressed) {
286 #ifdef AUDIO_ENABLE
287 stop_all_notes();
288 PLAY_SONG(plover_song);
289 #endif
290 layer_off(_RAISE);
291 layer_off(_LOWER);
292 layer_off(_ADJUST);
293 layer_on(_PLOVER);
294 if (!eeconfig_is_enabled()) {
295 eeconfig_init();
296 }
297 keymap_config.raw = eeconfig_read_keymap();
298 keymap_config.nkro = 1;
299 eeconfig_update_keymap(keymap_config.raw);
300 }
301 return false;
302 break;
303 case EXT_PLV:
304 if (record->event.pressed) {
305 #ifdef AUDIO_ENABLE
306 PLAY_SONG(plover_gb_song);
307 #endif
308 layer_off(_PLOVER);
309 }
310 return false;
311 break;
312 }
313 return true;
314} 122}
315 123
316bool muse_mode = false;
317uint8_t last_muse_note = 0;
318uint16_t muse_counter = 0;
319uint8_t muse_offset = 70;
320uint16_t muse_tempo = 50;
321
322bool encoder_update_user(uint8_t index, bool clockwise) { 124bool encoder_update_user(uint8_t index, bool clockwise) {
323 if (muse_mode) { 125 if (clockwise) {
324 if (IS_LAYER_ON(_RAISE)) { 126# ifdef MOUSEKEY_ENABLE
325 if (clockwise) { 127 tap_code(KC_MS_WH_DOWN);
326 muse_offset++; 128# else
327 } else { 129 tap_code(KC_PGDN);
328 muse_offset--; 130# endif
329 }
330 } else {
331 if (clockwise) {
332 muse_tempo+=1;
333 } else {
334 muse_tempo-=1;
335 }
336 }
337 } else { 131 } else {
338 if (clockwise) { 132# ifdef MOUSEKEY_ENABLE
339 #ifdef MOUSEKEY_ENABLE 133 tap_code(KC_MS_WH_UP);
340 register_code(KC_MS_WH_DOWN); 134# else
341 unregister_code(KC_MS_WH_DOWN); 135 tap_code(KC_PGUP);
342 #else 136# endif
343 register_code(KC_PGDN);
344 unregister_code(KC_PGDN);
345 #endif
346 } else {
347 #ifdef MOUSEKEY_ENABLE
348 register_code(KC_MS_WH_UP);
349 unregister_code(KC_MS_WH_UP);
350 #else
351 register_code(KC_PGUP);
352 unregister_code(KC_PGUP);
353 #endif
354 }
355 } 137 }
356 return true; 138 return true;
357} 139}
358 140
359void matrix_scan_user(void) { 141bool music_mask_user(uint16_t keycode) {
360#ifdef AUDIO_ENABLE 142 switch (keycode) {
361 if (muse_mode) { 143 case RAISE:
362 if (muse_counter == 0) { 144 case LOWER:
363 uint8_t muse_note = muse_offset + SCALE[muse_clock_pulse()]; 145 return false;
364 if (muse_note != last_muse_note) { 146 default:
365 stop_note(compute_freq_for_midi_note(last_muse_note)); 147 return true;
366 play_note(compute_freq_for_midi_note(muse_note), 0xF);
367 last_muse_note = muse_note;
368 }
369 }
370 muse_counter = (muse_counter + 1) % muse_tempo;
371 } 148 }
372#endif
373} 149}
150
151layer_state_t layer_state_set_user(layer_state_t state) { return update_tri_layer_state(state, _LOWER, _RAISE, _ADJUST); }
diff --git a/keyboards/planck/keymaps/oryx/rules.mk b/keyboards/planck/keymaps/oryx/rules.mk
index 7657a3043..1e29b5f21 100644
--- a/keyboards/planck/keymaps/oryx/rules.mk
+++ b/keyboards/planck/keymaps/oryx/rules.mk
@@ -1,6 +1,7 @@
1SRC += muse.c
2# Set any rules.mk overrides for your specific keymap here. 1# Set any rules.mk overrides for your specific keymap here.
3# See rules at https://docs.qmk.fm/#/config_options?id=the-rulesmk-file 2# See rules at https://docs.qmk.fm/#/config_options?id=the-rulesmk-file
4LTO_ENABLE = yes 3CONSOLE_ENABLE = no
5COMMAND_ENABLE = no 4COMMAND_ENABLE = no
6MOUSEKEY_ENABLE = no 5MOUSEKEY_ENABLE = no
6WEBUSB_ENABLE = yes
7ORYX_ENABLE = yes