aboutsummaryrefslogtreecommitdiff
path: root/keyboards
diff options
context:
space:
mode:
Diffstat (limited to 'keyboards')
-rw-r--r--keyboards/crkbd/keymaps/drashna/config.h42
-rw-r--r--keyboards/crkbd/keymaps/drashna/keymap.c378
-rw-r--r--keyboards/crkbd/keymaps/drashna/rules.mk7
-rw-r--r--keyboards/gergo/keymaps/drashna/keymap.c14
-rw-r--r--keyboards/gergo/keymaps/drashna/rules.mk2
-rw-r--r--keyboards/keebio/iris/keymaps/drashna/config.h31
-rw-r--r--keyboards/keebio/iris/keymaps/drashna/keymap.c16
-rw-r--r--keyboards/keebio/iris/keymaps/drashna/rules.mk1
-rw-r--r--keyboards/keebio/iris/keymaps/drashna_lp/config.h10
-rw-r--r--keyboards/keebio/iris/keymaps/drashna_old/config.h10
-rw-r--r--keyboards/keebio/viterbi/keymaps/drashna/config.h30
-rw-r--r--keyboards/keebio/viterbi/keymaps/drashna/rules.mk1
-rw-r--r--keyboards/keebio/viterbi/keymaps/drashna_old/config.h4
-rw-r--r--keyboards/orthodox/keymaps/drashna/config.h35
-rw-r--r--keyboards/orthodox/keymaps/drashna/keymap.c8
-rw-r--r--keyboards/orthodox/keymaps/drashna/rules.mk1
16 files changed, 232 insertions, 358 deletions
diff --git a/keyboards/crkbd/keymaps/drashna/config.h b/keyboards/crkbd/keymaps/drashna/config.h
index 6f2665f3a..0b035ba3c 100644
--- a/keyboards/crkbd/keymaps/drashna/config.h
+++ b/keyboards/crkbd/keymaps/drashna/config.h
@@ -27,7 +27,8 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
27// #define MASTER_RIGHT 27// #define MASTER_RIGHT
28#define EE_HANDS 28#define EE_HANDS
29 29
30// #define SSD1306OLED 30#undef USE_I2C
31#undef SSD1306OLED
31 32
32#define USE_SERIAL_PD2 33#define USE_SERIAL_PD2
33 34
@@ -35,17 +36,42 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
35// #define TAPPING_TERM 100 36// #define TAPPING_TERM 100
36 37
37#ifdef RGBLIGHT_ENABLE 38#ifdef RGBLIGHT_ENABLE
38#undef RGBLED_NUM 39# undef RGBLED_NUM
39#define RGBLED_NUM 27 40# define RGBLED_NUM 27
40 41
41#define RGBLIGHT_HUE_STEP 8 42# define RGBLIGHT_HUE_STEP 8
42#define RGBLIGHT_SAT_STEP 8 43# define RGBLIGHT_SAT_STEP 8
43#define RGBLIGHT_VAL_STEP 8 44# define RGBLIGHT_VAL_STEP 8
44#define RGBLIGHT_LIMIT_VAL 100 45# define RGBLIGHT_LIMIT_VAL 100
45#endif 46#endif
46 47
48#ifdef RGB_MATRIX_ENABLE
49# define RGB_MATRIX_KEYPRESSES // reacts to keypresses
50# define RGB_DISABLE_WHEN_USB_SUSPENDED true // turn off effects when suspended
51
52# define DISABLE_RGB_MATRIX_GRADIENT_UP_DOWN
53# define DISABLE_RGB_MATRIX_CYCLE_ALL
54# define DISABLE_RGB_MATRIX_CYCLE_UP_DOWN
55# define DISABLE_RGB_MATRIX_RAINBOW_MOVING_CHEVRON
56# define DISABLE_RGB_MATRIX_DUAL_BEACON
57# define DISABLE_RGB_MATRIX_RAINBOW_BEACON
58# define DISABLE_RGB_MATRIX_RAINBOW_PINWHEELS
59// #define DISABLE_RGB_MATRIX_RAINDROPS
60// #define DISABLE_RGB_MATRIX_JELLYBEAN_RAINDROPS
61# define DISABLE_RGB_MATRIX_DIGITAL_RAIN
62# define DISABLE_RGB_MATRIX_SOLID_REACTIVE
63# define DISABLE_RGB_MATRIX_SOLID_REACTIVE_SIMPLE
64# define DISABLE_RGB_MATRIX_SOLID_REACTIVE_WIDE
65# define DISABLE_RGB_MATRIX_SOLID_REACTIVE_MULTIWIDE
66# define DISABLE_RGB_MATRIX_SOLID_REACTIVE_CROSS
67# define DISABLE_RGB_MATRIX_SOLID_REACTIVE_MULTICROSS
68# define DISABLE_RGB_MATRIX_SOLID_REACTIVE_NEXUS
69# define DISABLE_RGB_MATRIX_SOLID_REACTIVE_MULTINEXUS
70# define DISABLE_RGB_MATRIX_SOLID_SPLASH
71# define DISABLE_RGB_MATRIX_SOLID_MULTISPLASH
72
47#ifdef AUDIO_ENABLE 73#ifdef AUDIO_ENABLE
48#define B6_AUDIO 74# define B6_AUDIO
49// #define NO_MUSIC_MODE 75// #define NO_MUSIC_MODE
50#endif 76#endif
51 77
diff --git a/keyboards/crkbd/keymaps/drashna/keymap.c b/keyboards/crkbd/keymaps/drashna/keymap.c
index aaace9483..3eea7af9f 100644
--- a/keyboards/crkbd/keymaps/drashna/keymap.c
+++ b/keyboards/crkbd/keymaps/drashna/keymap.c
@@ -1,15 +1,5 @@
1#include QMK_KEYBOARD_H 1#include QMK_KEYBOARD_H
2#include "drashna.h" 2#include "drashna.h"
3#ifdef PROTOCOL_LUFA
4 #include "lufa.h"
5 #include "split_util.h"
6#endif
7#ifdef SSD1306OLED
8 #include "ssd1306.h"
9#endif
10#ifdef OLED_DRIVER_ENABLE
11 #include "oled_driver.h"
12#endif
13 3
14extern keymap_config_t keymap_config; 4extern keymap_config_t keymap_config;
15extern uint8_t is_master; 5extern uint8_t is_master;
@@ -20,7 +10,7 @@ extern rgblight_config_t rgblight_config;
20#endif 10#endif
21 11
22enum crkbd_keycodes { 12enum crkbd_keycodes {
23 RGBRST = NEW_SAFE_RANGE 13 RGBRST = NEW_SAFE_RANGE
24}; 14};
25 15
26#define LAYOUT_crkbd_base( \ 16#define LAYOUT_crkbd_base( \
@@ -31,7 +21,7 @@ enum crkbd_keycodes {
31 LAYOUT_wrapper( \ 21 LAYOUT_wrapper( \
32 KC_ESC, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, KC_MINS, \ 22 KC_ESC, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, KC_MINS, \
33 KC_TAB, ALT_T(K11), K12, K13, K14, K15, K16, K17, K18, K19, K1A, RGUI_T(KC_QUOT), \ 23 KC_TAB, ALT_T(K11), K12, K13, K14, K15, K16, K17, K18, K19, K1A, RGUI_T(KC_QUOT), \
34 OS_LSFT, CTL_T(K21), K22, K23, K24, K25, K26, K27, K28, K29, CTL_T(K2A), OS_RSFT, \ 24 OS_LSFT, CTL_T(K21), K22, K23, K24, K25, K26, K27, K28, K29, RCTL_T(K2A), OS_RSFT, \
35 LT(_LOWER,KC_GRV), KC_SPC, KC_BSPC, KC_DEL, KC_ENT, RAISE \ 25 LT(_LOWER,KC_GRV), KC_SPC, KC_BSPC, KC_DEL, KC_ENT, RAISE \
36 ) 26 )
37#define LAYOUT_crkbd_base_wrapper(...) LAYOUT_crkbd_base(__VA_ARGS__) 27#define LAYOUT_crkbd_base_wrapper(...) LAYOUT_crkbd_base(__VA_ARGS__)
@@ -115,35 +105,38 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
115}; 105};
116 106
117void matrix_init_keymap(void) { 107void matrix_init_keymap(void) {
118 //SSD1306 OLED init, make sure to add #define SSD1306OLED in config.h 108#ifndef CONVERT_TO_PROTON_C
119 #ifdef SSD1306OLED
120 iota_gfx_init(!has_usb()); // turns on the display
121 #endif
122
123 #ifndef CONVERT_TO_PROTON_C
124 setPinOutput(D5); 109 setPinOutput(D5);
125 writePinHigh(D5); 110 writePinHigh(D5);
126 111
127 setPinOutput(B0); 112 setPinOutput(B0);
128 writePinHigh(B0); 113 writePinHigh(B0);
129 #endif 114#endif
130} 115}
131 116
132//SSD1306 OLED update loop, make sure to add #define SSD1306OLED in config.h
133#ifdef SSD1306OLED
134 117
135// When add source files to SRC in rules.mk, you can use functions. 118#ifdef OLED_DRIVER_ENABLE
136const char *read_logo(void); 119oled_rotation_t oled_init_user(oled_rotation_t rotation) {
137char layer_state_str[24]; 120 if (is_master) {
138char modifier_state_str[24]; 121 return OLED_ROTATION_270;
139char host_led_state_str[24]; 122 } else {
140char keylog_str[24] = {}; 123 return rotation;
141char keylogs_str[21] = {}; 124 }
142int keylogs_str_idx = 0; 125}
126
127void render_crkbd_logo(void) {
128 static const char PROGMEM crkbd_logo[] = {
129 0x80, 0x81, 0x82, 0x83, 0x84, 0x85, 0x86, 0x87, 0x88, 0x89, 0x8a, 0x8b, 0x8c, 0x8d, 0x8e, 0x8f, 0x90, 0x91, 0x92, 0x93, 0x94,
130 0xa0, 0xa1, 0xa2, 0xa3, 0xa4, 0xa5, 0xa6, 0xa7, 0xa8, 0xa9, 0xaa, 0xab, 0xac, 0xad, 0xae, 0xaf, 0xb0, 0xb1, 0xb2, 0xb3, 0xb4,
131 0xc0, 0xc1, 0xc2, 0xc3, 0xc4, 0xc5, 0xc6, 0xc7, 0xc8, 0xc9, 0xca, 0xcb, 0xcc, 0xcd, 0xce, 0xcf, 0xd0, 0xd1, 0xd2, 0xd3, 0xd4,
132 0};
133 oled_write_P(crkbd_logo, false);
134}
143 135
144// const char *read_mode_icon(bool swap); 136#define KEYLOG_LEN (int)(32 / OLED_FONT_WIDTH)
145// void set_timelog(void); 137char keylog_str[KEYLOG_LEN] = {};
146// const char *read_timelog(void); 138uint8_t keylogs_str_idx = 0;
139uint16_t log_timer = 0;
147 140
148const char code_to_name[60] = { 141const char code_to_name[60] = {
149 ' ', ' ', ' ', ' ', 'a', 'b', 'c', 'd', 'e', 'f', 142 ' ', ' ', ' ', ' ', 'a', 'b', 'c', 'd', 'e', 'f',
@@ -153,261 +146,124 @@ const char code_to_name[60] = {
153 'R', 'E', 'B', 'T', '_', '-', '=', '[', ']', '\\', 146 'R', 'E', 'B', 'T', '_', '-', '=', '[', ']', '\\',
154 '#', ';', '\'', '`', ',', '.', '/', ' ', ' ', ' '}; 147 '#', ';', '\'', '`', ',', '.', '/', ' ', ' ', ' '};
155 148
156void set_keylog(uint16_t keycode, keyrecord_t *record) { 149void add_keylog(uint16_t keycode) {
157 char name = ' '; 150 if ((keycode >= QK_MOD_TAP && keycode <= QK_MOD_TAP_MAX) ||
158 if ((keycode >= QK_MOD_TAP && keycode <= QK_MOD_TAP_MAX) || (keycode >= QK_LAYER_TAP && keycode <= QK_LAYER_TAP_MAX)) { keycode = keycode & 0xFF; } 151 (keycode >= QK_LAYER_TAP && keycode <= QK_LAYER_TAP_MAX)) { keycode = keycode & 0xFF; }
159 if (keycode < 60) {
160 name = code_to_name[keycode];
161 }
162 // update keylog
163 snprintf(keylog_str, sizeof(keylog_str), "%dx%d, k%2d : %c",
164 record->event.key.row, record->event.key.col,
165 keycode, name);
166
167 // update keylogs
168 if (keylogs_str_idx == sizeof(keylogs_str) - 1) {
169 keylogs_str_idx = 0;
170 for (int i = 0; i < sizeof(keylogs_str) - 1; i++) {
171 keylogs_str[i] = ' ';
172 }
173 }
174
175 keylogs_str[keylogs_str_idx] = name;
176 keylogs_str_idx++;
177}
178 152
179const char *read_keylog(void) { 153 for (uint8_t i = KEYLOG_LEN - 1; i > 0; i--) {
180 return keylog_str; 154 keylog_str[i] = keylog_str[i - 1];
155 }
156 if (keycode < 60) {
157 keylog_str[0] = code_to_name[keycode];
158 }
159 log_timer = timer_read();
181} 160}
182 161
183const char *read_keylogs(void) { 162void update_log(void) {
184 return keylogs_str; 163 if (timer_elapsed(log_timer) > 750) {
164 add_keylog(0);
165 }
185} 166}
186 167
187 168
188const char* read_modifier_state(void) { 169bool process_record_keymap(uint16_t keycode, keyrecord_t *record) {
189 uint8_t modifiers = get_mods(); 170 if (record->event.pressed) { add_keylog(keycode); }
190 uint8_t one_shot = get_oneshot_mods(); 171 return true;
191
192 snprintf(modifier_state_str, sizeof(modifier_state_str), "Mods:%s %s %s %s",
193 (modifiers & MOD_MASK_CTRL || one_shot & MOD_MASK_CTRL) ? "CTL" : " ",
194 (modifiers & MOD_MASK_GUI || one_shot & MOD_MASK_GUI) ? "GUI" : " ",
195 (modifiers & MOD_MASK_ALT || one_shot & MOD_MASK_ALT) ? "ALT" : " ",
196 (modifiers & MOD_MASK_SHIFT || one_shot & MOD_MASK_SHIFT) ? "SFT" : " "
197 );
198
199 return modifier_state_str;
200} 172}
201 173
202const char *read_host_led_state(void) { 174void render_status(void) {
203 uint8_t leds = host_keyboard_leds();
204
205 snprintf(host_led_state_str, sizeof(host_led_state_str), "NL:%s CL:%s SL:%s",
206 (leds & (1 << USB_LED_NUM_LOCK)) ? "on" : "- ",
207 (leds & (1 << USB_LED_CAPS_LOCK)) ? "on" : "- ",
208 (leds & (1 << USB_LED_SCROLL_LOCK)) ? "on" : "- "
209 );
210
211 return host_led_state_str;
212}
213 175
214const char* read_layer_state(void) { 176 oled_write_P(PSTR("Layer"), false);
215 switch (biton32(layer_state)) { 177 switch (biton32(layer_state)) {
216 case _RAISE: 178 case 0:
217 snprintf(layer_state_str, sizeof(layer_state_str), "Layer: Raise "); 179 oled_write_P(PSTR("Base "), false);
218 break; 180 break;
219 case _LOWER: 181 case _RAISE:
220 snprintf(layer_state_str, sizeof(layer_state_str), "Layer: Lower "); 182 oled_write_P(PSTR("Raise"), false);
221 break; 183 break;
222 case _ADJUST: 184 case _LOWER:
223 snprintf(layer_state_str, sizeof(layer_state_str), "Layer: Adjust "); 185 oled_write_P(PSTR("Lower"), false);
224 break; 186 break;
225 default: 187 case _ADJUST:
226 switch (biton32(default_layer_state)) { 188 oled_write_P(PSTR("Adjst"), false);
189 break;
190 default:
191 oled_write_P(PSTR("Unkn "), false);
192 break;
193 }
194 oled_write_P(PSTR("Lyout"), false);
195 switch (biton32(default_layer_state)) {
227 case _QWERTY: 196 case _QWERTY:
228 snprintf(layer_state_str, sizeof(layer_state_str), "Layer: Qwerty "); 197 oled_write_P(PSTR("QWRTY"), false);
229 break; 198 break;
230 case _COLEMAK: 199 case _COLEMAK:
231 snprintf(layer_state_str, sizeof(layer_state_str), "Layer: Colemak"); 200 oled_write_P(PSTR("COLMK"), false);
232 break; 201 break;
233 case _DVORAK: 202 case _DVORAK:
234 snprintf(layer_state_str, sizeof(layer_state_str), "Layer: Dvorak "); 203 oled_write_P(PSTR("DVRAK"), false);
235 break; 204 break;
236 case _WORKMAN: 205 case _WORKMAN:
237 snprintf(layer_state_str, sizeof(layer_state_str), "Layer: Workman"); 206 oled_write_P(PSTR("WRKMN"), false);
238 break; 207 break;
239 } 208 case _NORMAN:
240 break; 209 oled_write_P(PSTR("NORMN"), false);
241 } 210 break;
242 211 case _MALTRON:
243 return layer_state_str; 212 oled_write_P(PSTR("MLTRN"), false);
244} 213 break;
245 214 case _EUCALYN:
246void matrix_scan_keymap(void) { 215 oled_write_P(PSTR("ECLYN"), false);
247 iota_gfx_task(); 216 break;
248} 217 case _CARPLAX:
249 218 oled_write_P(PSTR("CRPLX"), false);
250void matrix_render_user(struct CharacterMatrix *matrix) { 219 break;
251 if (is_master) { 220 }
252 //If you want to change the display of OLED, you need to change here
253 matrix_write_ln(matrix, read_layer_state());
254 matrix_write_ln(matrix, read_modifier_state());
255 // matrix_write_ln(matrix, read_keylog());
256 matrix_write_ln(matrix, read_keylogs());
257 // matrix_write_ln(matrix, read_mode_icon(keymap_config.swap_lalt_lgui));
258 // matrix_write(matrix, read_host_led_state());
259 //matrix_write_ln(matrix, read_timelog());
260 } else {
261 matrix_write(matrix, read_logo());
262 }
263}
264
265void matrix_update(struct CharacterMatrix *dest, const struct CharacterMatrix *source) {
266 if (memcmp(dest->display, source->display, sizeof(dest->display))) {
267 memcpy(dest->display, source->display, sizeof(dest->display));
268 dest->dirty = true;
269 }
270}
271
272void iota_gfx_task_user(void) {
273 struct CharacterMatrix matrix;
274 matrix_clear(&matrix);
275 matrix_render_user(&matrix);
276 matrix_update(&display, &matrix);
277}
278
279bool process_record_keymap(uint16_t keycode, keyrecord_t *record) {
280 switch (keycode) {
281 case KC_A ... KC_SLASH:
282 case KC_F1 ... KC_F12:
283 case KC_INSERT ... KC_UP:
284 case KC_KP_SLASH ... KC_KP_DOT:
285 case KC_F13 ... KC_F24:
286 if (record->event.pressed) { set_keylog(keycode, record); }
287 break;
288 // set_timelog();
289 }
290 return true;
291}
292 221
293#endif 222 uint8_t modifiers = get_mods();
223 uint8_t one_shot = get_oneshot_mods();
294 224
225 oled_write_P(PSTR("Mods:"), false);
226 oled_write_P( (modifiers & MOD_MASK_SHIFT || one_shot & MOD_MASK_SHIFT) ? PSTR(" SFT ") : PSTR(" "), false);
227 oled_write_P( (modifiers & MOD_MASK_CTRL || one_shot & MOD_MASK_CTRL ) ? PSTR(" CTL ") : PSTR(" "), false);
228 oled_write_P( (modifiers & MOD_MASK_ALT || one_shot & MOD_MASK_ALT ) ? PSTR(" ALT ") : PSTR(" "), false);
229 oled_write_P( (modifiers & MOD_MASK_GUI || one_shot & MOD_MASK_GUI ) ? PSTR(" GUI ") : PSTR(" "), false);
295 230
296#ifdef OLED_DRIVER_ENABLE
297oled_rotation_t oled_init_user(oled_rotation_t rotation) {
298 if (is_master) {
299 return OLED_ROTATION_270;
300 } else {
301 return rotation;
302 }
303}
304 231
305void render_crkbd_logo(void) { 232 oled_write_P(PSTR("BTMGK"), false);
306 static const char PROGMEM crkbd_logo[] = {
307 0x80, 0x81, 0x82, 0x83, 0x84, 0x85, 0x86, 0x87, 0x88, 0x89, 0x8a, 0x8b, 0x8c, 0x8d, 0x8e, 0x8f, 0x90, 0x91, 0x92, 0x93, 0x94,
308 0xa0, 0xa1, 0xa2, 0xa3, 0xa4, 0xa5, 0xa6, 0xa7, 0xa8, 0xa9, 0xaa, 0xab, 0xac, 0xad, 0xae, 0xaf, 0xb0, 0xb1, 0xb2, 0xb3, 0xb4,
309 0xc0, 0xc1, 0xc2, 0xc3, 0xc4, 0xc5, 0xc6, 0xc7, 0xc8, 0xc9, 0xca, 0xcb, 0xcc, 0xcd, 0xce, 0xcf, 0xd0, 0xd1, 0xd2, 0xd3, 0xd4,
310 0};
311 oled_write_P(crkbd_logo, false);
312}
313 233
234 if (keymap_config.swap_lalt_lgui) {
235 oled_write_P(PSTR(" Mac "), false);
236 } else {
237 oled_write_P(PSTR(" Win "), false);
238 }
314 239
315void render_status(void) { 240 uint8_t led_usb_state = host_keyboard_leds();
241 oled_write_P(PSTR("Lock:"), false);
242 oled_write_P(led_usb_state & (1<<USB_LED_NUM_LOCK) ? PSTR(" NUM ") : PSTR(" "), false);
243 oled_write_P(led_usb_state & (1<<USB_LED_CAPS_LOCK) ? PSTR(" CAPS") : PSTR(" "), false);
244 oled_write_P(led_usb_state & (1<<USB_LED_SCROLL_LOCK) ? PSTR(" SCRL") : PSTR(" "), false);
316 245
317 oled_write_P(PSTR("Layer"), false); 246 oled_write(keylog_str, false);
318 switch (biton32(layer_state)) {
319 case 0:
320 oled_write_P(PSTR("Base "), false);
321 break;
322 case _RAISE:
323 oled_write_P(PSTR("Raise"), false);
324 break;
325 case _LOWER:
326 oled_write_P(PSTR("Lower"), false);
327 break;
328 case _ADJUST:
329 oled_write_P(PSTR("Adjst"), false);
330 break;
331 default:
332 oled_write_P(PSTR("Unkn "), false);
333 break;
334 }
335 oled_write_P(PSTR("Lyout"), false);
336 switch (biton32(default_layer_state)) {
337 case _QWERTY:
338 oled_write_P(PSTR("QWRTY"), false);
339 break;
340 case _COLEMAK:
341 oled_write_P(PSTR("COLMK"), false);
342 break;
343 case _DVORAK:
344 oled_write_P(PSTR("DVRAK"), false);
345 break;
346 case _WORKMAN:
347 oled_write_P(PSTR("WRKMN"), false);
348 break;
349 case _NORMAN:
350 oled_write_P(PSTR("NORMN"), false);
351 break;
352 case _MALTRON:
353 oled_write_P(PSTR("MLTRN"), false);
354 break;
355 case _EUCALYN:
356 oled_write_P(PSTR("ECLYN"), false);
357 break;
358 case _CARPLAX:
359 oled_write_P(PSTR("CRPLX"), false);
360 break;
361 }
362
363 uint8_t modifiers = get_mods();
364 uint8_t one_shot = get_oneshot_mods();
365
366 oled_write_P(PSTR("Mods:"), false);
367 oled_write_P( (modifiers & MOD_MASK_CTRL || one_shot & MOD_MASK_CTRL ) ? PSTR(" CTL ") : PSTR(" "), false);
368 oled_write_P( (modifiers & MOD_MASK_GUI || one_shot & MOD_MASK_GUI ) ? PSTR(" GUI ") : PSTR(" "), false);
369 oled_write_P( (modifiers & MOD_MASK_ALT || one_shot & MOD_MASK_ALT ) ? PSTR(" ALT ") : PSTR(" "), false);
370 oled_write_P( (modifiers & MOD_MASK_SHIFT || one_shot & MOD_MASK_SHIFT) ? PSTR(" SFT ") : PSTR(" "), false);
371
372
373 oled_write_P(PSTR("BTMGK"), false);
374 static const char PROGMEM mode_logo[4][4] = {
375 {0x95,0x96,0x0a,0},
376 {0xb5,0xb6,0x0a,0},
377 {0x97,0x98,0x0a,0},
378 {0xb7,0xb8,0x0a,0} };
379
380 if (keymap_config.swap_lalt_lgui != false) {
381 oled_write_P(mode_logo[0], false);
382 oled_write_P(mode_logo[1], false);
383 } else {
384 oled_write_P(mode_logo[2], false);
385 oled_write_P(mode_logo[3], false);
386 }
387
388 uint8_t led_usb_state = host_keyboard_leds();
389 oled_write_P(PSTR("Lock:"), false);
390 oled_write_P(led_usb_state & (1<<USB_LED_NUM_LOCK) ? PSTR(" NUM ") : PSTR(" "), false);
391 oled_write_P(led_usb_state & (1<<USB_LED_CAPS_LOCK) ? PSTR(" CAPS") : PSTR(" "), false);
392 oled_write_P(led_usb_state & (1<<USB_LED_SCROLL_LOCK) ? PSTR(" SCRL") : PSTR(" "), false);
393} 247}
394 248
395 249
396void oled_task_user(void) { 250void oled_task_user(void) {
397 if (is_master) { 251 if (is_master) {
398 render_status(); // Renders the current keyboard state (layer, lock, caps, scroll, etc) 252 render_status(); // Renders the current keyboard state (layer, lock, caps, scroll, etc)
399 } else { 253 } else {
400 render_crkbd_logo(); 254 render_crkbd_logo();
401 oled_scroll_left(); // Turns on scrolling 255 oled_scroll_left(); // Turns on scrolling
402 } 256 }
403} 257}
258
259void matrix_scan_keymap(void) { update_log(); }
404#endif 260#endif
405 261
406uint16_t get_tapping_term(uint16_t keycode) { 262uint16_t get_tapping_term(uint16_t keycode) {
407 switch (keycode) { 263 switch (keycode) {
408 case ALT_T(KC_A): 264 case ALT_T(KC_A):
409 return TAPPING_TERM + 100; 265 return TAPPING_TERM + 100;
410 default: 266 default:
411 return TAPPING_TERM; 267 return TAPPING_TERM;
412 } 268 }
413} 269}
diff --git a/keyboards/crkbd/keymaps/drashna/rules.mk b/keyboards/crkbd/keymaps/drashna/rules.mk
index a9a705869..39b48f944 100644
--- a/keyboards/crkbd/keymaps/drashna/rules.mk
+++ b/keyboards/crkbd/keymaps/drashna/rules.mk
@@ -14,9 +14,10 @@ MIDI_ENABLE = no # MIDI controls
14AUDIO_ENABLE = no # Audio output on port C6 14AUDIO_ENABLE = no # Audio output on port C6
15UNICODE_ENABLE = no # Unicode 15UNICODE_ENABLE = no # Unicode
16BLUETOOTH_ENABLE = no # Enable Bluetooth with the Adafruit EZ-Key HID 16BLUETOOTH_ENABLE = no # Enable Bluetooth with the Adafruit EZ-Key HID
17RGBLIGHT_ENABLE = yes # Enable WS2812 RGB underlight. 17RGBLIGHT_ENABLE = no # Enable WS2812 RGB underlight.
18SWAP_HANDS_ENABLE = no # Enable one-hand typing 18SWAP_HANDS_ENABLE = no # Enable one-hand typing
19RGBLIGHT_STARTUP_ANIMATION = yes 19RGBLIGHT_STARTUP_ANIMATION = yes
20RGB_MATRIX_ENABLE = WS2812
20 21
21# Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE 22# Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE
22SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend 23SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend
@@ -24,3 +25,7 @@ SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend
24BOOTLOADER = qmk-dfu 25BOOTLOADER = qmk-dfu
25 26
26OLED_DRIVER_ENABLE = yes 27OLED_DRIVER_ENABLE = yes
28
29ifneq ($(strip $(OLED_DRIVER_ENABLE)), yes)
30 RGB_MATRIX_SPLIT_RIGHT=yes
31endif
diff --git a/keyboards/gergo/keymaps/drashna/keymap.c b/keyboards/gergo/keymaps/drashna/keymap.c
index a882ff72d..ffa23462e 100644
--- a/keyboards/gergo/keymaps/drashna/keymap.c
+++ b/keyboards/gergo/keymaps/drashna/keymap.c
@@ -9,23 +9,17 @@
9#include QMK_KEYBOARD_H 9#include QMK_KEYBOARD_H
10#include "drashna.h" 10#include "drashna.h"
11 11
12// Blank template at the bottom
13 12
14enum customKeycodes {
15 URL = 1
16};
17
18#define LAYOUT_gergo_wrapper(...) LAYOUT_gergo(__VA_ARGS__)
19#define LAYOUT_gergo_base( \ 13#define LAYOUT_gergo_base( \
20 K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, \ 14 K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, \
21 K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, \ 15 K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, \
22 K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A \ 16 K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A \
23 ) \ 17 ) \
24 LAYOUT_gergo_wrapper( \ 18 LAYOUT_gergo_wrapper( \
25 KC_ESC, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, KC_PIPE, \ 19 KC_ESC, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, KC_PIPE, \
26 KC_TAB, ALT_T(K11), K12, K13, K14, K15, _______, _______, K16, K17, K18, K19, K1A, RGUI_T(KC_QUOT), \ 20 KC_TAB, K11, K12, K13, K14, K15, _______, _______, K16, K17, K18, K19, K1A, KC_QUOT, \
27 OS_LSFT, CTL_T(K21), K22, K23, K24, K25, _______, _______, _______, _______, K26, K27, K28, K29, CTL_T(K2A), OS_RSFT, \ 21 OS_LSFT, CTL_T(K21), K22, K23, K24, K25, _______, _______, _______, _______, K26, K27, K28, K29, RCTL_T(K2A), OS_RSFT, \
28 _______, _______, KC_SPC, LT(_LOWER, KC_BSPC), LT(_RAISE, KC_DEL), KC_ENT, _______, _______ \ 22 KC_GRV, KC_SPC, BK_LWER, OS_LALT, OS_RGUI, DL_RAIS, KC_ENT, _______ \
29 ) 23 )
30 24
31#define LAYOUT_gergo_base_wrapper(...) LAYOUT_gergo_base(__VA_ARGS__) 25#define LAYOUT_gergo_base_wrapper(...) LAYOUT_gergo_base(__VA_ARGS__)
diff --git a/keyboards/gergo/keymaps/drashna/rules.mk b/keyboards/gergo/keymaps/drashna/rules.mk
index e69de29bb..ec81d11e9 100644
--- a/keyboards/gergo/keymaps/drashna/rules.mk
+++ b/keyboards/gergo/keymaps/drashna/rules.mk
@@ -0,0 +1,2 @@
1CONSOLE_ENABLE = no
2COMMAND_ENABLE = no
diff --git a/keyboards/keebio/iris/keymaps/drashna/config.h b/keyboards/keebio/iris/keymaps/drashna/config.h
index 41933b0f3..1a937b4b7 100644
--- a/keyboards/keebio/iris/keymaps/drashna/config.h
+++ b/keyboards/keebio/iris/keymaps/drashna/config.h
@@ -29,24 +29,23 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
29#define EE_HANDS 29#define EE_HANDS
30 30
31#ifdef RGBLIGHT_ENABLE 31#ifdef RGBLIGHT_ENABLE
32#undef RGBLED_NUM 32# undef RGBLED_NUM
33#define RGBLED_NUM 18 // Number of LEDs 33# define RGBLED_NUM 18 // Number of LEDs
34#define RGBLED_SPLIT { 9, 9 } 34# define RGBLED_SPLIT { 9, 9 }
35#define RGBLIGHT_HUE_STEP 12 35# define RGBLIGHT_HUE_STEP 12
36#define RGBLIGHT_SAT_STEP 12 36# define RGBLIGHT_SAT_STEP 12
37#define RGBLIGHT_VAL_STEP 12 37# define RGBLIGHT_VAL_STEP 12
38#define RGBLIGHT_EFFECT_KNIGHT_LENGTH 2 38# define RGBLIGHT_EFFECT_KNIGHT_LENGTH 2
39#define RGBLIGHT_EFFECT_SNAKE_LENGTH 2 39# define RGBLIGHT_EFFECT_SNAKE_LENGTH 2
40#define RGBLIGHT_EFFECT_BREATHE_CENTER 1 40
41 41# define RGBLIGHT_LIMIT_VAL 225
42#define RGBLIGHT_LIMIT_VAL 225
43#endif // RGBLIGHT_ENABLE 42#endif // RGBLIGHT_ENABLE
44 43
45#ifdef AUDIO_ENABLE 44#ifdef AUDIO_ENABLE
46#define C6_AUDIO 45# define C6_AUDIO
47#ifdef RGBLIGHT_ENABLE 46# ifdef RGBLIGHT_ENABLE
48#define NO_MUSIC_MODE 47# define NO_MUSIC_MODE
49#endif //RGBLIGHT_ENABLE 48# endif //RGBLIGHT_ENABLE
50#endif //AUDIO_ENABLE 49#endif //AUDIO_ENABLE
51 50
52#define QMK_ESC_OUTPUT F6 // usually COL 51#define QMK_ESC_OUTPUT F6 // usually COL
@@ -56,7 +55,7 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
56 55
57#undef PRODUCT 56#undef PRODUCT
58#ifdef KEYBOARD_keebio_iris_rev2 57#ifdef KEYBOARD_keebio_iris_rev2
59#define PRODUCT Drashna Hacked Iris Rev.2 58# define PRODUCT Drashna Hacked Iris Rev.2
60#endif 59#endif
61 60
62#define SHFT_LED1 6 61#define SHFT_LED1 6
diff --git a/keyboards/keebio/iris/keymaps/drashna/keymap.c b/keyboards/keebio/iris/keymaps/drashna/keymap.c
index b306b6928..95092cc52 100644
--- a/keyboards/keebio/iris/keymaps/drashna/keymap.c
+++ b/keyboards/keebio/iris/keymaps/drashna/keymap.c
@@ -12,7 +12,7 @@
12 KC_ESC, ________________NUMBER_LEFT________________, ________________NUMBER_RIGHT_______________, KC_MINS, \ 12 KC_ESC, ________________NUMBER_LEFT________________, ________________NUMBER_RIGHT_______________, KC_MINS, \
13 KC_TAB , K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, KC_BSLS, \ 13 KC_TAB , K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, KC_BSLS, \
14 KC_C1R3, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, KC_QUOT, \ 14 KC_C1R3, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, KC_QUOT, \
15 OS_LSFT, CTL_T(K21), K22, K23, K24, K25, OS_LALT, OS_RGUI, K26, K27, K28, K29, CTL_T(K2A), OS_RSFT, \ 15 OS_LSFT, CTL_T(K21), K22, K23, K24, K25, OS_LALT, OS_RGUI, K26, K27, K28, K29, RCTL_T(K2A), OS_RSFT, \
16 LT(_LOWER,KC_GRV), KC_SPC, KC_BSPC, KC_DEL, KC_ENT, RAISE \ 16 LT(_LOWER,KC_GRV), KC_SPC, KC_BSPC, KC_DEL, KC_ENT, RAISE \
17 ) 17 )
18#define LAYOUT_iris_base_wrapper(...) LAYOUT_iris_base(__VA_ARGS__) 18#define LAYOUT_iris_base_wrapper(...) LAYOUT_iris_base(__VA_ARGS__)
@@ -113,22 +113,22 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
113 113
114 114
115void matrix_init_keymap(void) { 115void matrix_init_keymap(void) {
116 #ifndef CONVERT_TO_PROTON_C 116#ifndef CONVERT_TO_PROTON_C
117 setPinOutput(D5); 117 setPinOutput(D5);
118 writePinHigh(D5); 118 writePinHigh(D5);
119 119
120 setPinOutput(B0); 120 setPinOutput(B0);
121 writePinHigh(B0); 121 writePinHigh(B0);
122 #endif 122#endif
123} 123}
124 124
125 125
126void keyboard_post_init_keymap(void) { 126void keyboard_post_init_keymap(void) {
127#if BACKLIGHT_ENABLE 127#if BACKLIGHT_ENABLE
128 backlight_enable(); 128 backlight_enable();
129 backlight_level(5); 129 backlight_level(5);
130 #ifdef BACKLIGHT_BREATHING 130 #ifdef BACKLIGHT_BREATHING
131 breathing_enable(); 131 breathing_enable();
132 #endif 132 #endif
133#endif 133#endif
134} 134}
diff --git a/keyboards/keebio/iris/keymaps/drashna/rules.mk b/keyboards/keebio/iris/keymaps/drashna/rules.mk
index bac5f95f3..1311ab280 100644
--- a/keyboards/keebio/iris/keymaps/drashna/rules.mk
+++ b/keyboards/keebio/iris/keymaps/drashna/rules.mk
@@ -9,6 +9,7 @@ AUDIO_ENABLE = no
9NKRO_ENABLE = yes 9NKRO_ENABLE = yes
10BACKLIGHT_ENABLE = no 10BACKLIGHT_ENABLE = no
11SWAP_HANDS_ENABLE = no 11SWAP_HANDS_ENABLE = no
12SPACE_CADET_ENABLE = no
12 13
13INDICATOR_LIGHTS = no 14INDICATOR_LIGHTS = no
14MACROS_ENABLED = no 15MACROS_ENABLED = no
diff --git a/keyboards/keebio/iris/keymaps/drashna_lp/config.h b/keyboards/keebio/iris/keymaps/drashna_lp/config.h
index 4e2bf729f..d59890b46 100644
--- a/keyboards/keebio/iris/keymaps/drashna_lp/config.h
+++ b/keyboards/keebio/iris/keymaps/drashna_lp/config.h
@@ -21,15 +21,15 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
21#include "../drashna/config.h" 21#include "../drashna/config.h"
22 22
23#ifdef RGBLIGHT_ENABLE 23#ifdef RGBLIGHT_ENABLE
24#undef RGBLED_NUM 24# undef RGBLED_NUM
25#define RGBLED_NUM 16 // Number of LEDs 25# define RGBLED_NUM 16 // Number of LEDs
26#undef RGBLED_SPLIT 26# undef RGBLED_SPLIT
27#define RGBLED_SPLIT { 8, 8 } 27# define RGBLED_SPLIT { 8, 8 }
28#endif 28#endif
29 29
30#undef PRODUCT 30#undef PRODUCT
31#ifdef KEYBOARD_keebio_iris_rev2 31#ifdef KEYBOARD_keebio_iris_rev2
32#define PRODUCT Drashna Hacked Iris LP Rev.2 (Backlit) 32# define PRODUCT Drashna Hacked Iris LP Rev.2 (Backlit)
33#endif 33#endif
34 34
35#undef SHFT_LED1 35#undef SHFT_LED1
diff --git a/keyboards/keebio/iris/keymaps/drashna_old/config.h b/keyboards/keebio/iris/keymaps/drashna_old/config.h
index 1b462d8ca..5adf014e3 100644
--- a/keyboards/keebio/iris/keymaps/drashna_old/config.h
+++ b/keyboards/keebio/iris/keymaps/drashna_old/config.h
@@ -21,15 +21,15 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
21#include "../drashna/config.h" 21#include "../drashna/config.h"
22 22
23#ifdef RGBLIGHT_ENABLE 23#ifdef RGBLIGHT_ENABLE
24#undef RGBLED_NUM 24# undef RGBLED_NUM
25#define RGBLED_NUM 16 // Number of LEDs 25# define RGBLED_NUM 16 // Number of LEDs
26#undef RGBLED_SPLIT 26# undef RGBLED_SPLIT
27#define RGBLED_SPLIT { 8, 8 } 27# define RGBLED_SPLIT { 8, 8 }
28#endif 28#endif
29 29
30#undef PRODUCT 30#undef PRODUCT
31#ifdef KEYBOARD_keebio_iris_rev2 31#ifdef KEYBOARD_keebio_iris_rev2
32#define PRODUCT Drashna Hacked Iris Rev.2 (16 LED) 32# define PRODUCT Drashna Hacked Iris Rev.2 (16 LED)
33#endif 33#endif
34 34
35#undef SHFT_LED1 35#undef SHFT_LED1
diff --git a/keyboards/keebio/viterbi/keymaps/drashna/config.h b/keyboards/keebio/viterbi/keymaps/drashna/config.h
index c0a50cc04..201c02e41 100644
--- a/keyboards/keebio/viterbi/keymaps/drashna/config.h
+++ b/keyboards/keebio/viterbi/keymaps/drashna/config.h
@@ -21,35 +21,25 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
21#define MATRIX_ROWS 5 21#define MATRIX_ROWS 5
22 22
23#ifdef RGBLIGHT_ENABLE 23#ifdef RGBLIGHT_ENABLE
24#undef RGBLED_NUM 24# undef RGBLED_NUM
25#define RGBLED_NUM 16 25# define RGBLED_NUM 16
26 26
27#define RGBLIGHT_HUE_STEP 8 27# define RGBLIGHT_HUE_STEP 8
28#define RGBLIGHT_SAT_STEP 8 28# define RGBLIGHT_SAT_STEP 8
29#define RGBLIGHT_VAL_STEP 8 29# define RGBLIGHT_VAL_STEP 8
30#define RGBLIGHT_EFFECT_KNIGHT_LENGTH 2 30# define RGBLIGHT_EFFECT_KNIGHT_LENGTH 2
31#define RGBLIGHT_EFFECT_SNAKE_LENGTH 2 31# define RGBLIGHT_EFFECT_SNAKE_LENGTH 2
32#define RGBLIGHT_EFFECT_BREATHE_CENTER 1
33#endif // RGBLIGHT_ENABLE 32#endif // RGBLIGHT_ENABLE
34 33
35 34
36#undef LOCKING_SUPPORT_ENABLE
37#undef LOCKING_RESYNC_ENABLE
38
39 35
40/* disable action features */
41//#define NO_ACTION_LAYER
42//#define NO_ACTION_TAPPING
43//#define NO_ACTION_ONESHOT
44//#define NO_ACTION_MACRO
45//#define NO_ACTION_FUNCTION
46 36
47#undef PRODUCT 37#undef PRODUCT
48#define PRODUCT Drashnas Viterbi Macro Pad 38#define PRODUCT Drashnas Viterbi Macro Pad
49 39
50#ifdef AUDIO_ENABLE 40#ifdef AUDIO_ENABLE
51#define C6_AUDIO 41# define C6_AUDIO
52#define NO_MUSIC_MODE 42# define NO_MUSIC_MODE
53#endif 43#endif
54 44
55#define LAYOUT_ortho_5x7( \ 45#define LAYOUT_ortho_5x7( \
diff --git a/keyboards/keebio/viterbi/keymaps/drashna/rules.mk b/keyboards/keebio/viterbi/keymaps/drashna/rules.mk
index f28ecc533..f42e065d5 100644
--- a/keyboards/keebio/viterbi/keymaps/drashna/rules.mk
+++ b/keyboards/keebio/viterbi/keymaps/drashna/rules.mk
@@ -8,6 +8,7 @@ RGBLIGHT_ENABLE = yes
8AUDIO_ENABLE = yes 8AUDIO_ENABLE = yes
9NKRO_ENABLE = yes 9NKRO_ENABLE = yes
10SPLIT_KEYBOARD = no 10SPLIT_KEYBOARD = no
11SPACE_CADET_ENABLE = no
11 12
12NO_SECRETS = yes 13NO_SECRETS = yes
13MACROS_ENABLED = yes 14MACROS_ENABLED = yes
diff --git a/keyboards/keebio/viterbi/keymaps/drashna_old/config.h b/keyboards/keebio/viterbi/keymaps/drashna_old/config.h
index b36a4edd4..5697f7f11 100644
--- a/keyboards/keebio/viterbi/keymaps/drashna_old/config.h
+++ b/keyboards/keebio/viterbi/keymaps/drashna_old/config.h
@@ -20,6 +20,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
20#include "../drashna/config.h" 20#include "../drashna/config.h"
21 21
22#ifdef RGBLIGHT_ENABLE 22#ifdef RGBLIGHT_ENABLE
23#undef RGBLED_NUM 23# undef RGBLED_NUM
24#define RGBLED_NUM 12 24# define RGBLED_NUM 12
25#endif 25#endif
diff --git a/keyboards/orthodox/keymaps/drashna/config.h b/keyboards/orthodox/keymaps/drashna/config.h
index 1f04d5298..4719c2269 100644
--- a/keyboards/orthodox/keymaps/drashna/config.h
+++ b/keyboards/orthodox/keymaps/drashna/config.h
@@ -39,37 +39,36 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
39) 39)
40 40
41#ifdef RGBLIGHT_ENABLE 41#ifdef RGBLIGHT_ENABLE
42#define RGB_DI_PIN D3 42# define RGB_DI_PIN D3
43#define RGBLED_NUM 16 // Number of LEDs 43# define RGBLED_NUM 16 // Number of LEDs
44#define RGBLED_SPLIT { 8, 8 } 44# define RGBLED_SPLIT { 8, 8 }
45 45
46#define RGBLIGHT_HUE_STEP 12 46# define RGBLIGHT_HUE_STEP 12
47#define RGBLIGHT_SAT_STEP 12 47# define RGBLIGHT_SAT_STEP 12
48#define RGBLIGHT_VAL_STEP 12 48# define RGBLIGHT_VAL_STEP 12
49#define RGBLIGHT_EFFECT_KNIGHT_LENGTH 2 49# define RGBLIGHT_EFFECT_KNIGHT_LENGTH 2
50#define RGBLIGHT_EFFECT_SNAKE_LENGTH 2 50# define RGBLIGHT_EFFECT_SNAKE_LENGTH 2
51#define RGBLIGHT_EFFECT_BREATHE_CENTER 1
52#endif // RGBLIGHT_ENABLE 51#endif // RGBLIGHT_ENABLE
53 52
54#ifdef AUDIO_ENABLE 53#ifdef AUDIO_ENABLE
55#define C6_AUDIO 54# define C6_AUDIO
56#ifdef RGBLIGHT_ENABLE 55# ifdef RGBLIGHT_ENABLE
57#define NO_MUSIC_MODE 56# define NO_MUSIC_MODE
58#endif 57# endif
59#endif //AUDIO_ENABLE 58#endif //AUDIO_ENABLE
60 59
61#undef PRODUCT 60#undef PRODUCT
62#ifdef KEYBOARD_orthodox_rev1 61#ifdef KEYBOARD_orthodox_rev1
63#define PRODUCT Drashna Hacked Orthodox Rev.1 62# define PRODUCT Drashna Hacked Orthodox Rev.1
64#elif KEYBOARD_orthodox_rev3 63#elif KEYBOARD_orthodox_rev3
65#define PRODUCT Drashna Hacked Orthodox Rev.3 64# define PRODUCT Drashna Hacked Orthodox Rev.3
66#endif 65#endif
67 66
68#define QMK_ESC_OUTPUT D7 // usually COL 67#define QMK_ESC_OUTPUT D7 // usually COL
69#ifdef KEYBOARD_orthodox_rev1 68#ifdef KEYBOARD_orthodox_rev1
70#define QMK_ESC_INPUT D4 // usually ROW 69# define QMK_ESC_INPUT D4 // usually ROW
71#else 70#else
72#define QMK_ESC_INPUT D2 // usually ROW 71# define QMK_ESC_INPUT D2 // usually ROW
73#endif 72#endif
74#define QMK_LED B0 73#define QMK_LED B0
75#define QMK_SPEAKER C6 74#define QMK_SPEAKER C6
diff --git a/keyboards/orthodox/keymaps/drashna/keymap.c b/keyboards/orthodox/keymaps/drashna/keymap.c
index b1d406905..bde959f5e 100644
--- a/keyboards/orthodox/keymaps/drashna/keymap.c
+++ b/keyboards/orthodox/keymaps/drashna/keymap.c
@@ -38,8 +38,8 @@ uint8_t last_osm;
38 ) \ 38 ) \
39 LAYOUT_wrapper( \ 39 LAYOUT_wrapper( \
40 KC_ESC, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, KC_BSPC, \ 40 KC_ESC, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, KC_BSPC, \
41 KC_TAB, K11, K12, K13, K14, K15, OS_LALT, OS_LGUI, OS_RALT, RAISE, K16, K17, K18, K19, K1A, KC_QUOT, \ 41 KC_TAB, K11, K12, K13, K14, K15, OS_LALT, OS_LGUI, OS_RALT, RAISE, K16, K17, K18, K19, K1A, KC_QUOT, \
42 KC_MLSF, CTL_T(K21), K22, K23, K24, K25, LOWER, KC_SPACE,KC_BSPC, KC_DEL, KC_ENT, RAISE, K26, K27, K28, K29, CTL_T(K2A), KC_MRSF \ 42 KC_MLSF, CTL_T(K21), K22, K23, K24, K25, LOWER, KC_SPACE,KC_BSPC, KC_DEL, KC_ENT, RAISE, K26, K27, K28, K29, RCTL_T(K2A), KC_MRSF \
43 ) 43 )
44#define LAYOUT_orthodox_base_wrapper(...) LAYOUT_orthodox_base(__VA_ARGS__) 44#define LAYOUT_orthodox_base_wrapper(...) LAYOUT_orthodox_base(__VA_ARGS__)
45 45
@@ -123,11 +123,11 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
123}; 123};
124 124
125void matrix_init_keymap(void) { 125void matrix_init_keymap(void) {
126 #ifndef CONVERT_TO_PROTON_C 126#ifndef CONVERT_TO_PROTON_C
127 setPinOutput(D5); 127 setPinOutput(D5);
128 writePinHigh(D5); 128 writePinHigh(D5);
129 129
130 setPinOutput(B0); 130 setPinOutput(B0);
131 writePinHigh(B0); 131 writePinHigh(B0);
132 #endif 132#endif
133} 133}
diff --git a/keyboards/orthodox/keymaps/drashna/rules.mk b/keyboards/orthodox/keymaps/drashna/rules.mk
index fdbfc94c9..a122b9e0f 100644
--- a/keyboards/orthodox/keymaps/drashna/rules.mk
+++ b/keyboards/orthodox/keymaps/drashna/rules.mk
@@ -7,6 +7,7 @@ TAP_DANCE_ENABLE = no
7RGBLIGHT_ENABLE = yes 7RGBLIGHT_ENABLE = yes
8AUDIO_ENABLE = no 8AUDIO_ENABLE = no
9NKRO_ENABLE = yes 9NKRO_ENABLE = yes
10SPACE_CADET_ENABLE = no
10 11
11INDICATOR_LIGHTS = yes 12INDICATOR_LIGHTS = yes
12MACROS_ENABLED = no 13MACROS_ENABLED = no