diff options
author | Drashna Jaelre <drashna@live.com> | 2021-02-23 10:57:24 -0800 |
---|---|---|
committer | GitHub <noreply@github.com> | 2021-02-23 10:57:24 -0800 |
commit | 0b69e4df818c2515cf4eee3d8b6fd4a07775b887 (patch) | |
tree | bdeee9c5a88c2aef8aca366b3e6ea986f44174c0 | |
parent | 11146ecd086c6b6736ab3c5947f26a96be642671 (diff) | |
download | qmk_firmware-0b69e4df818c2515cf4eee3d8b6fd4a07775b887.tar.gz qmk_firmware-0b69e4df818c2515cf4eee3d8b6fd4a07775b887.zip |
[Keymap] Drashna Updates - Split+OLED edition (#11968)
44 files changed, 2513 insertions, 753 deletions
diff --git a/keyboards/c39/keymaps/drashna/keymap.c b/keyboards/c39/keymaps/drashna/keymap.c index 3fd3ef35e..b5d11104d 100755 --- a/keyboards/c39/keymaps/drashna/keymap.c +++ b/keyboards/c39/keymaps/drashna/keymap.c | |||
@@ -24,14 +24,15 @@ | |||
24 | * of use. K## is a placeholder to pass through the individual keycodes | 24 | * of use. K## is a placeholder to pass through the individual keycodes |
25 | */ | 25 | */ |
26 | // clang-format off | 26 | // clang-format off |
27 | #define LAYOUT_wrapper(...) LAYOUT(__VA_ARGS__) | ||
27 | #define LAYOUT_base( \ | 28 | #define LAYOUT_base( \ |
28 | K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, \ | 29 | K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, \ |
29 | K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, \ | 30 | K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, \ |
30 | K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A \ | 31 | K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A \ |
31 | ) \ | 32 | ) \ |
32 | LAYOUT_wrapper( \ | 33 | LAYOUT_wrapper( \ |
33 | KC_ESC, K01, K02, K03, K04, K05, KC_NO, K06, K07, K08, K09, K0A, KC_DEL, \ | 34 | KC_ESC, K01, K02, K03, K04, K05, KC_NO, K06, K07, K08, K09, K0A, KC_DEL, \ |
34 | ALT_T(KC_TAB), K11, K12, K13, K14, K15, KC_BSPC, K16, K17, K18, K19, K1A, RALT_T(KC_QUOT), \ | 35 | ALT_T(KC_TAB), K11, K12, K13, K14, K15, KC_BSPC, K16, K17, K18, K19, K1A, RALT_T(K1B), \ |
35 | KC_MLSF, CTL_T(K21), K22, K23, K24, LT(_LOWER,K25), KC_SPC, LT(_RAISE,K26), K27, K28, K29, RCTL_T(K2A), KC_ENT \ | 36 | KC_MLSF, CTL_T(K21), K22, K23, K24, LT(_LOWER,K25), KC_SPC, LT(_RAISE,K26), K27, K28, K29, RCTL_T(K2A), KC_ENT \ |
36 | ) | 37 | ) |
37 | #define LAYOUT_base_wrapper(...) LAYOUT_base(__VA_ARGS__) | 38 | #define LAYOUT_base_wrapper(...) LAYOUT_base(__VA_ARGS__) |
diff --git a/keyboards/gergo/keymaps/drashna/keymap.c b/keyboards/gergo/keymaps/drashna/keymap.c index 7258d350d..ecf5f3903 100644 --- a/keyboards/gergo/keymaps/drashna/keymap.c +++ b/keyboards/gergo/keymaps/drashna/keymap.c | |||
@@ -24,14 +24,15 @@ | |||
24 | * of use. K## is a placeholder to pass through the individual keycodes | 24 | * of use. K## is a placeholder to pass through the individual keycodes |
25 | */ | 25 | */ |
26 | // clang-format off | 26 | // clang-format off |
27 | #define LAYOUT_gergo_wrapper(...) LAYOUT_gergo(__VA_ARGS__) | ||
27 | #define LAYOUT_gergo_base( \ | 28 | #define LAYOUT_gergo_base( \ |
28 | K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, \ | 29 | K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, \ |
29 | K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, \ | 30 | K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, \ |
30 | K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A \ | 31 | K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A \ |
31 | ) \ | 32 | ) \ |
32 | LAYOUT_gergo_wrapper( \ | 33 | LAYOUT_gergo_wrapper( \ |
33 | KC_ESC, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, KC_PIPE, \ | 34 | KC_ESC, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, KC_PIPE, \ |
34 | LALT_T(KC_TAB), K11, K12, K13, K14, K15, _______, _______, K16, K17, K18, K19, K1A, RALT_T(KC_QUOT), \ | 35 | LALT_T(KC_TAB), K11, K12, K13, K14, K15, _______, _______, K16, K17, K18, K19, K1A, RALT_T(K1B), \ |
35 | OS_LSFT, CTL_T(K21), K22, K23, K24, K25, _______, _______, _______, _______, K26, K27, K28, K29, RCTL_T(K2A), OS_RSFT, \ | 36 | OS_LSFT, CTL_T(K21), K22, K23, K24, K25, _______, _______, _______, _______, K26, K27, K28, K29, RCTL_T(K2A), OS_RSFT, \ |
36 | KC_GRV, KC_SPC, BK_LWER, OS_LALT, OS_RGUI, DL_RAIS, KC_ENT, _______ \ | 37 | KC_GRV, KC_SPC, BK_LWER, OS_LALT, OS_RGUI, DL_RAIS, KC_ENT, _______ \ |
37 | ) | 38 | ) |
diff --git a/keyboards/handwired/dactyl_manuform/5x6_right_trackball/5x6_right_trackball.c b/keyboards/handwired/dactyl_manuform/5x6_right_trackball/5x6_right_trackball.c index d931fd940..69f750095 100644 --- a/keyboards/handwired/dactyl_manuform/5x6_right_trackball/5x6_right_trackball.c +++ b/keyboards/handwired/dactyl_manuform/5x6_right_trackball/5x6_right_trackball.c | |||
@@ -85,7 +85,11 @@ bool process_record_kb(uint16_t keycode, keyrecord_t* record) { | |||
85 | 85 | ||
86 | #ifdef POINTING_DEVICE_ENABLE | 86 | #ifdef POINTING_DEVICE_ENABLE |
87 | if (keycode == DPI_CONFIG && record->event.pressed) { | 87 | if (keycode == DPI_CONFIG && record->event.pressed) { |
88 | keyboard_config.dpi_config = (keyboard_config.dpi_config + 1) % DPI_OPTION_SIZE; | 88 | if ((get_mods()|get_oneshot_mods()) & MOD_MASK_SHIFT) { |
89 | keyboard_config.dpi_config = (keyboard_config.dpi_config - 1) % DPI_OPTION_SIZE; | ||
90 | } else { | ||
91 | keyboard_config.dpi_config = (keyboard_config.dpi_config + 1) % DPI_OPTION_SIZE; | ||
92 | } | ||
89 | eeconfig_update_kb(keyboard_config.raw); | 93 | eeconfig_update_kb(keyboard_config.raw); |
90 | trackball_set_cpi(dpi_array[keyboard_config.dpi_config]); | 94 | trackball_set_cpi(dpi_array[keyboard_config.dpi_config]); |
91 | } | 95 | } |
diff --git a/keyboards/handwired/dactyl_manuform/5x6_right_trackball/config.h b/keyboards/handwired/dactyl_manuform/5x6_right_trackball/config.h index 6d89314a2..b9b27f0b7 100644 --- a/keyboards/handwired/dactyl_manuform/5x6_right_trackball/config.h +++ b/keyboards/handwired/dactyl_manuform/5x6_right_trackball/config.h | |||
@@ -62,6 +62,7 @@ along with this program. If not, see <http://www.gnu.org/licenses/>. | |||
62 | #define BOOTMAGIC_LITE_COLUMN_RIGHT 5 | 62 | #define BOOTMAGIC_LITE_COLUMN_RIGHT 5 |
63 | 63 | ||
64 | #define C6_AUDIO | 64 | #define C6_AUDIO |
65 | #define B7_AUDIO | ||
65 | 66 | ||
66 | #define DYNAMIC_KEYMAP_EEPROM_MAX_ADDR 4095 | 67 | #define DYNAMIC_KEYMAP_EEPROM_MAX_ADDR 4095 |
67 | #define DYNAMIC_KEYMAP_LAYER_COUNT 16 | 68 | #define DYNAMIC_KEYMAP_LAYER_COUNT 16 |
diff --git a/keyboards/handwired/dactyl_manuform/5x6_right_trackball/keymaps/drashna/config.h b/keyboards/handwired/dactyl_manuform/5x6_right_trackball/keymaps/drashna/config.h index 73bf32b25..41b2e07c7 100644 --- a/keyboards/handwired/dactyl_manuform/5x6_right_trackball/keymaps/drashna/config.h +++ b/keyboards/handwired/dactyl_manuform/5x6_right_trackball/keymaps/drashna/config.h | |||
@@ -18,9 +18,10 @@ | |||
18 | 18 | ||
19 | // #define USE_I2C | 19 | // #define USE_I2C |
20 | #define SELECT_SOFT_SERIAL_SPEED 0 | 20 | #define SELECT_SOFT_SERIAL_SPEED 0 |
21 | #define SERIAL_USE_MULTI_TRANSACTION | 21 | // #define SERIAL_USE_MULTI_TRANSACTION |
22 | 22 | #define SPLIT_MODS_ENABLE | |
23 | #define EE_HANDS | 23 | #define EE_HANDS |
24 | |||
24 | #define TRACKBALL_DPI_OPTIONS \ | 25 | #define TRACKBALL_DPI_OPTIONS \ |
25 | { 1200, 1800, 2600, 3400 } | 26 | { 1200, 1800, 2600, 3400 } |
26 | 27 | ||
@@ -35,8 +36,6 @@ | |||
35 | #define SOLENOID_DEFAULT_DWELL 8 | 36 | #define SOLENOID_DEFAULT_DWELL 8 |
36 | 37 | ||
37 | #define OLED_DISPLAY_128X64 | 38 | #define OLED_DISPLAY_128X64 |
38 | #define OLED_TIMEOUT 0 | ||
39 | #define OLED_BRIGHTNESS 100 | 39 | #define OLED_BRIGHTNESS 100 |
40 | #define SPLIT_MODS_ENABLE | ||
41 | 40 | ||
42 | #define MK_KINETIC_SPEED | 41 | #define MK_KINETIC_SPEED |
diff --git a/keyboards/handwired/dactyl_manuform/5x6_right_trackball/keymaps/drashna/keymap.c b/keyboards/handwired/dactyl_manuform/5x6_right_trackball/keymaps/drashna/keymap.c index f8803edb9..5a1bb79fe 100644 --- a/keyboards/handwired/dactyl_manuform/5x6_right_trackball/keymaps/drashna/keymap.c +++ b/keyboards/handwired/dactyl_manuform/5x6_right_trackball/keymaps/drashna/keymap.c | |||
@@ -16,24 +16,21 @@ | |||
16 | 16 | ||
17 | #include "drashna.h" | 17 | #include "drashna.h" |
18 | 18 | ||
19 | #define TG_DBLO TG(_DIABLO) | ||
20 | |||
21 | |||
22 | // clang-format off | 19 | // clang-format off |
23 | #define LAYOUT_5x6_right_trackball_wrapper(...) LAYOUT_5x6_right_trackball(__VA_ARGS__) | 20 | #define LAYOUT_5x6_right_trackball_wrapper(...) LAYOUT_5x6_right_trackball(__VA_ARGS__) |
24 | #define LAYOUT_5x6_right_trackball_base( \ | 21 | #define LAYOUT_5x6_right_trackball_base( \ |
25 | K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, \ | 22 | K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, \ |
26 | K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, \ | 23 | K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, \ |
27 | K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A \ | 24 | K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A \ |
28 | ) \ | 25 | ) \ |
29 | LAYOUT_5x6_right_trackball_wrapper( \ | 26 | LAYOUT_5x6_right_trackball_wrapper( \ |
30 | KC_GRV, ________________NUMBER_LEFT________________, ________________NUMBER_RIGHT_______________, KC_MINS, \ | 27 | KC_ESC, ________________NUMBER_LEFT________________, ________________NUMBER_RIGHT_______________, KC_MINS, \ |
31 | KC_ESC, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, KC_BSLS, \ | 28 | SH_TT, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, SH_TT, \ |
32 | LALT_T(KC_TAB), K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, RALT_T(KC_QUOT), \ | 29 | LALT_T(KC_TAB), K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, RALT_T(K1B), \ |
33 | OS_LSFT, CTL_T(K21), K22, K23, K24, K25, K26, K27, K28, K29, RCTL_T(K2A), OS_RSFT, \ | 30 | OS_LSFT, CTL_T(K21), K22, K23, K24, K25, K26, K27, K28, K29, RCTL_T(K2A), OS_RSFT, \ |
34 | OS_LALT, OS_LGUI, TG_GAME, TG_DBLO, \ | 31 | OS_LALT, OS_LGUI, TG_GAME, TG_DBLO, \ |
35 | OS_LGUI, KC_GRV, OS_RGUI, \ | 32 | OS_LGUI, KC_GRV, OS_RGUI, \ |
36 | KC_SPC, _______, KC_ENT, \ | 33 | KC_SPC, TT(_MOUSE), KC_ENT, \ |
37 | BK_LWER, MO(_MOUSE), MO(_MOUSE), DL_RAIS \ | 34 | BK_LWER, MO(_MOUSE), MO(_MOUSE), DL_RAIS \ |
38 | ) | 35 | ) |
39 | #define LAYOUT_5x6_right_trackball_base_wrapper(...) LAYOUT_5x6_right_trackball_base(__VA_ARGS__) | 36 | #define LAYOUT_5x6_right_trackball_base_wrapper(...) LAYOUT_5x6_right_trackball_base(__VA_ARGS__) |
@@ -149,13 +146,13 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { | |||
149 | _______, _______, KC_NUKE, _______ | 146 | _______, _______, KC_NUKE, _______ |
150 | ), | 147 | ), |
151 | }; | 148 | }; |
152 | // clang-format off | 149 | // clang-format on |
153 | |||
154 | 150 | ||
155 | #ifdef POINTING_DEVICE_ENABLE | 151 | #ifdef POINTING_DEVICE_ENABLE |
156 | static uint16_t mouse_timer = 0; | 152 | static uint16_t mouse_timer = 0; |
157 | static uint16_t mouse_debounce_timer = 0; | 153 | static uint16_t mouse_debounce_timer = 0; |
158 | static uint8_t mouse_keycode_tracker = 0; | 154 | static uint8_t mouse_keycode_tracker = 0; |
155 | bool tap_toggling = false; | ||
159 | 156 | ||
160 | void process_mouse_user(report_mouse_t* mouse_report, int16_t x, int16_t y) { | 157 | void process_mouse_user(report_mouse_t* mouse_report, int16_t x, int16_t y) { |
161 | if ((x || y) && timer_elapsed(mouse_timer) > 125) { | 158 | if ((x || y) && timer_elapsed(mouse_timer) > 125) { |
@@ -164,29 +161,64 @@ void process_mouse_user(report_mouse_t* mouse_report, int16_t x, int16_t y) { | |||
164 | layer_on(_MOUSE); | 161 | layer_on(_MOUSE); |
165 | } | 162 | } |
166 | } | 163 | } |
167 | if (timer_elapsed(mouse_debounce_timer) > 125 || layer_state_is(_GAMEPAD) ) { | 164 | |
165 | # ifdef TAPPING_TERM_PER_KEY | ||
166 | if (timer_elapsed(mouse_debounce_timer) > get_tapping_term(KC_BTN1, NULL) | ||
167 | # else | ||
168 | if (timer_elapsed(mouse_debounce_timer) > TAPPING_TERM | ||
169 | # endif | ||
170 | || layer_state_is(_GAMEPAD)) { | ||
168 | mouse_report->x = x; | 171 | mouse_report->x = x; |
169 | mouse_report->y = y; | 172 | mouse_report->y = y; |
170 | } | 173 | } |
174 | # ifdef OLED_DRIVER_ENABLE | ||
175 | if (x || y) oled_timer = timer_read32(); | ||
176 | # endif | ||
171 | } | 177 | } |
172 | 178 | ||
173 | void matrix_scan_keymap(void) { | 179 | void matrix_scan_keymap(void) { |
174 | if (timer_elapsed(mouse_timer) > 650 && layer_state_is(_MOUSE) && !mouse_keycode_tracker) { | 180 | if (timer_elapsed(mouse_timer) > 650 && layer_state_is(_MOUSE) && !mouse_keycode_tracker && !tap_toggling) { |
175 | layer_off(_MOUSE); | 181 | layer_off(_MOUSE); |
176 | } | 182 | } |
183 | if (tap_toggling) { | ||
184 | if (!layer_state_is(_MOUSE)) { | ||
185 | layer_on(_MOUSE); | ||
186 | } | ||
187 | } | ||
177 | } | 188 | } |
178 | 189 | ||
179 | bool process_record_keymap(uint16_t keycode, keyrecord_t *record) { | 190 | bool process_record_keymap(uint16_t keycode, keyrecord_t* record) { |
180 | switch(keycode){ | 191 | switch (keycode) { |
192 | case TT(_MOUSE): { | ||
193 | if (record->event.pressed) { | ||
194 | mouse_keycode_tracker++; | ||
195 | } else { | ||
196 | # if TAPPING_TOGGLE != 0 | ||
197 | if (record->tap.count == TAPPING_TOGGLE) { | ||
198 | tap_toggling ^= 1; | ||
199 | # if TAPPING_TOGGLE == 1 | ||
200 | if (!tap_toggling) mouse_keycode_tracker -= record->tap.count + 1; | ||
201 | # else | ||
202 | if (!tap_toggling) mouse_keycode_tracker -= record->tap.count; | ||
203 | # endif | ||
204 | } else { | ||
205 | mouse_keycode_tracker--; | ||
206 | } | ||
207 | # endif | ||
208 | } | ||
209 | mouse_timer = timer_read(); | ||
210 | break; | ||
211 | } | ||
181 | case MO(_MOUSE): | 212 | case MO(_MOUSE): |
182 | case DPI_CONFIG: | 213 | case DPI_CONFIG: |
183 | case KC_MS_UP...KC_MS_WH_RIGHT: | 214 | case KC_MS_UP ... KC_MS_WH_RIGHT: |
184 | record->event.pressed ? mouse_keycode_tracker++ : mouse_keycode_tracker--; | 215 | record->event.pressed ? mouse_keycode_tracker++ : mouse_keycode_tracker--; |
185 | mouse_timer = timer_read(); | 216 | mouse_timer = timer_read(); |
186 | break; | 217 | break; |
187 | default: | 218 | default: |
188 | if (layer_state_is(_MOUSE) && !mouse_keycode_tracker) { | 219 | if (layer_state_is(_MOUSE) && !mouse_keycode_tracker) { |
189 | layer_off(_MOUSE); | 220 | layer_off(_MOUSE); |
221 | mouse_keycode_tracker = 0; | ||
190 | } | 222 | } |
191 | mouse_debounce_timer = timer_read(); | 223 | mouse_debounce_timer = timer_read(); |
192 | break; | 224 | break; |
diff --git a/keyboards/handwired/dactyl_manuform/5x6_right_trackball/keymaps/drashna/rules.mk b/keyboards/handwired/dactyl_manuform/5x6_right_trackball/keymaps/drashna/rules.mk index be584e8c4..9999c0ddf 100644 --- a/keyboards/handwired/dactyl_manuform/5x6_right_trackball/keymaps/drashna/rules.mk +++ b/keyboards/handwired/dactyl_manuform/5x6_right_trackball/keymaps/drashna/rules.mk | |||
@@ -5,5 +5,5 @@ AUDIO_ENABLE = yes | |||
5 | TAP_DANCE_ENABLE = yes | 5 | TAP_DANCE_ENABLE = yes |
6 | UNICODE_ENABLE = yes | 6 | UNICODE_ENABLE = yes |
7 | OLED_DRIVER_ENABLE = yes | 7 | OLED_DRIVER_ENABLE = yes |
8 | 8 | WPM_ENABLE = yes | |
9 | # DEBOUNCE_TYPE = sym_eager_pk | 9 | # DEBOUNCE_TYPE = sym_eager_pk |
diff --git a/keyboards/handwired/dactyl_manuform/5x6_right_trackball/pointer_transport.c b/keyboards/handwired/dactyl_manuform/5x6_right_trackball/pointer_transport.c index 20216a21d..5df90258b 100644 --- a/keyboards/handwired/dactyl_manuform/5x6_right_trackball/pointer_transport.c +++ b/keyboards/handwired/dactyl_manuform/5x6_right_trackball/pointer_transport.c | |||
@@ -77,7 +77,8 @@ typedef struct _I2C_slave_buffer_t { | |||
77 | bool oled_on; | 77 | bool oled_on; |
78 | layer_state_t t_layer_state; | 78 | layer_state_t t_layer_state; |
79 | layer_state_t t_default_layer_state; | 79 | layer_state_t t_default_layer_state; |
80 | } I2C_slave_buffer_t; | 80 | bool is_rgb_matrix_suspended; |
81 | } __attribute__((packed)) I2C_slave_buffer_t; | ||
81 | 82 | ||
82 | static I2C_slave_buffer_t *const i2c_buffer = (I2C_slave_buffer_t *)i2c_slave_reg; | 83 | static I2C_slave_buffer_t *const i2c_buffer = (I2C_slave_buffer_t *)i2c_slave_reg; |
83 | 84 | ||
@@ -93,9 +94,10 @@ static I2C_slave_buffer_t *const i2c_buffer = (I2C_slave_buffer_t *)i2c_slave_re | |||
93 | # define I2C_MOUSE_X_START offsetof(I2C_slave_buffer_t, mouse_x) | 94 | # define I2C_MOUSE_X_START offsetof(I2C_slave_buffer_t, mouse_x) |
94 | # define I2C_MOUSE_Y_START offsetof(I2C_slave_buffer_t, mouse_y) | 95 | # define I2C_MOUSE_Y_START offsetof(I2C_slave_buffer_t, mouse_y) |
95 | # define I2C_MOUSE_DPI_START offsetof(I2C_slave_buffer_t, device_cpi) | 96 | # define I2C_MOUSE_DPI_START offsetof(I2C_slave_buffer_t, device_cpi) |
96 | # define I2C_OLED_ON_START offsetof(I2C_slave_buffent, oled_on) | 97 | # define I2C_OLED_ON_START offsetof(I2C_slave_buffer_t, oled_on) |
97 | # define I2C_LAYER_STATE_START offsetof(I2C_slave_buffent, t_layer_state) | 98 | # define I2C_LAYER_STATE_START offsetof(I2C_slave_buffer_t, t_layer_state) |
98 | # define I2C_DEFAULT_LAYER_STATE_START offsetof(I2C_slave_buffent, t_default_layer_state) | 99 | # define I2C_DEFAULT_LAYER_STATE_START offsetof(I2C_slave_buffer_t, t_default_layer_state) |
100 | # define I2C_RGB_MATRIX_SUSPEND_START offsetof(I2C_slave_buffer_t, is_rgb_matrix_suspended) | ||
99 | 101 | ||
100 | # define TIMEOUT 100 | 102 | # define TIMEOUT 100 |
101 | 103 | ||
@@ -196,9 +198,19 @@ bool transport_master(matrix_row_t matrix[]) { | |||
196 | } | 198 | } |
197 | 199 | ||
198 | # ifdef OLED_DRIVER_ENABLE | 200 | # ifdef OLED_DRIVER_ENABLE |
199 | if (is_oled_on() != i2c_buffer->oled_on) { | 201 | bool is_oled_on = is_oled_on(); |
200 | if (i2c_writeReg(SLAVE_I2C_ADDRESS, I2C_LAYER_STATE_START, (void *)&is_oled_on(), sizeof(bool), TIMEOUT) >= 0) { | 202 | if (is_oled_on != i2c_buffer->oled_on) { |
201 | i2c_buffer->oled_on = is_oled_on(); | 203 | if (i2c_writeReg(SLAVE_I2C_ADDRESS, I2C_LAYER_STATE_START, (void *)&is_oled_on, sizeof(is_oled_on), TIMEOUT) >= 0) { |
204 | i2c_buffer->oled_on = is_oled_on; | ||
205 | } | ||
206 | } | ||
207 | # endif | ||
208 | |||
209 | # ifdef RGB_MATRIX_ENABLE | ||
210 | bool sus_state = rgb_matrix_get_suspend_state(); | ||
211 | if (sus_state != i2c_buffer->is_rgb_matrix_suspended) { | ||
212 | if (i2c_writeReg(SLAVE_I2C_ADDRESS, I2C_RGB_MATRIX_SUSPEND_START, (void *)&sus_state, sizeof(sus_state), TIMEOUT) >= 0) { | ||
213 | i2c_buffer->is_rgb_matrix_suspended = sus_state; | ||
202 | } | 214 | } |
203 | } | 215 | } |
204 | # endif | 216 | # endif |
@@ -255,10 +267,10 @@ void transport_slave(matrix_row_t matrix[]) { | |||
255 | # endif | 267 | # endif |
256 | 268 | ||
257 | if (layer_state != i2c_buffer->t_layer_state) { | 269 | if (layer_state != i2c_buffer->t_layer_state) { |
258 | layer_state_set(i2c_buffer->t_layer_state); | 270 | layer_state = i2c_buffer->t_layer_state; |
259 | } | 271 | } |
260 | if (default_layer_state != i2c_buffer->t_default_layer_state) { | 272 | if (default_layer_state != i2c_buffer->t_default_layer_state) { |
261 | default_layer_state_set(i2c_buffer->t_default_layer_state); | 273 | default_layer_state = i2c_buffer->t_default_layer_state; |
262 | } | 274 | } |
263 | 275 | ||
264 | # ifdef OLED_DRIVER_ENABLE | 276 | # ifdef OLED_DRIVER_ENABLE |
@@ -268,6 +280,10 @@ void transport_slave(matrix_row_t matrix[]) { | |||
268 | oled_off(); | 280 | oled_off(); |
269 | } | 281 | } |
270 | # endif | 282 | # endif |
283 | |||
284 | # ifdef RGB_MATRIX_ENABLE | ||
285 | rgb_matrix_set_suspend_state(i2c_buffer->is_rgb_matrix_suspended); | ||
286 | # endif | ||
271 | } | 287 | } |
272 | 288 | ||
273 | void transport_master_init(void) { i2c_init(); } | 289 | void transport_master_init(void) { i2c_init(); } |
@@ -286,7 +302,7 @@ typedef struct _Serial_s2m_buffer_t { | |||
286 | # endif | 302 | # endif |
287 | int8_t mouse_x; | 303 | int8_t mouse_x; |
288 | int8_t mouse_y; | 304 | int8_t mouse_y; |
289 | } Serial_s2m_buffer_t; | 305 | } __attribute__((packed)) Serial_s2m_buffer_t; |
290 | 306 | ||
291 | typedef struct _Serial_m2s_buffer_t { | 307 | typedef struct _Serial_m2s_buffer_t { |
292 | # ifdef SPLIT_MODS_ENABLE | 308 | # ifdef SPLIT_MODS_ENABLE |
@@ -309,7 +325,8 @@ typedef struct _Serial_m2s_buffer_t { | |||
309 | bool oled_on; | 325 | bool oled_on; |
310 | layer_state_t t_layer_state; | 326 | layer_state_t t_layer_state; |
311 | layer_state_t t_default_layer_state; | 327 | layer_state_t t_default_layer_state; |
312 | } Serial_m2s_buffer_t; | 328 | bool is_rgb_matrix_suspended; |
329 | } __attribute__((packed)) Serial_m2s_buffer_t; | ||
313 | 330 | ||
314 | # if defined(RGBLIGHT_ENABLE) && defined(RGBLIGHT_SPLIT) | 331 | # if defined(RGBLIGHT_ENABLE) && defined(RGBLIGHT_SPLIT) |
315 | // When MCUs on both sides drive their respective RGB LED chains, | 332 | // When MCUs on both sides drive their respective RGB LED chains, |
@@ -434,10 +451,14 @@ bool transport_master(matrix_row_t matrix[]) { | |||
434 | } | 451 | } |
435 | # endif | 452 | # endif |
436 | 453 | ||
437 | serial_m2s_buffer.t_layer_state = layer_state; | 454 | serial_m2s_buffer.t_layer_state = layer_state; |
438 | serial_m2s_buffer.t_default_layer_state = default_layer_state; | 455 | serial_m2s_buffer.t_default_layer_state = default_layer_state; |
439 | # ifdef OLED_DRIVER_ENABLE | 456 | # ifdef OLED_DRIVER_ENABLE |
440 | serial_m2s_buffer.oled_on = is_oled_on(); | 457 | serial_m2s_buffer.oled_on = is_oled_on(); |
458 | # endif | ||
459 | |||
460 | # ifdef RGB_MATRIX_ENABLE | ||
461 | serial_m2s_buffer.is_rgb_matrix_suspended = rgb_matrix_get_suspend_state(); | ||
441 | # endif | 462 | # endif |
442 | 463 | ||
443 | return true; | 464 | return true; |
@@ -484,10 +505,10 @@ void transport_slave(matrix_row_t matrix[]) { | |||
484 | # endif | 505 | # endif |
485 | 506 | ||
486 | if (layer_state != serial_m2s_buffer.t_layer_state) { | 507 | if (layer_state != serial_m2s_buffer.t_layer_state) { |
487 | layer_state_set(serial_m2s_buffer.t_layer_state); | 508 | layer_state = serial_m2s_buffer.t_layer_state; |
488 | } | 509 | } |
489 | if (default_layer_state != serial_m2s_buffer.t_default_layer_state) { | 510 | if (default_layer_state != serial_m2s_buffer.t_default_layer_state) { |
490 | default_layer_set(serial_m2s_buffer.t_default_layer_state); | 511 | default_layer_state = serial_m2s_buffer.t_default_layer_state; |
491 | } | 512 | } |
492 | # ifdef OLED_DRIVER_ENABLE | 513 | # ifdef OLED_DRIVER_ENABLE |
493 | if (serial_m2s_buffer.oled_on) { | 514 | if (serial_m2s_buffer.oled_on) { |
@@ -496,6 +517,10 @@ void transport_slave(matrix_row_t matrix[]) { | |||
496 | oled_off(); | 517 | oled_off(); |
497 | } | 518 | } |
498 | # endif | 519 | # endif |
520 | |||
521 | # ifdef RGB_MATRIX_ENABLE | ||
522 | rgb_matrix_set_suspend_state(serial_m2s_buffer.is_rgb_matrix_suspended); | ||
523 | # endif | ||
499 | } | 524 | } |
500 | 525 | ||
501 | #endif | 526 | #endif |
diff --git a/keyboards/handwired/dactyl_manuform/5x6_right_trackball/rules.mk b/keyboards/handwired/dactyl_manuform/5x6_right_trackball/rules.mk index 19b330cdc..99275c15a 100644 --- a/keyboards/handwired/dactyl_manuform/5x6_right_trackball/rules.mk +++ b/keyboards/handwired/dactyl_manuform/5x6_right_trackball/rules.mk | |||
@@ -26,5 +26,5 @@ POINTING_DEVICE_ENABLE = yes | |||
26 | SPLIT_KEYBOARD = yes | 26 | SPLIT_KEYBOARD = yes |
27 | SPLIT_TRANSPORT = custom | 27 | SPLIT_TRANSPORT = custom |
28 | 28 | ||
29 | SRC += pointer_transport.c pmw3360.c | 29 | SRC += pmw3360.c |
30 | QUANTUM_LIB_SRC += serial.c i2c_master.c i2c_slave.c spi_master.c | 30 | QUANTUM_LIB_SRC += pointer_transport.c serial.c i2c_master.c i2c_slave.c spi_master.c |
diff --git a/keyboards/keebio/iris/keymaps/drashna/keymap.c b/keyboards/keebio/iris/keymaps/drashna/keymap.c index bc34ba822..1dc6f0e52 100644 --- a/keyboards/keebio/iris/keymaps/drashna/keymap.c +++ b/keyboards/keebio/iris/keymaps/drashna/keymap.c | |||
@@ -25,15 +25,16 @@ | |||
25 | */ | 25 | */ |
26 | 26 | ||
27 | // clang-format off | 27 | // clang-format off |
28 | #define LAYOUT_wrapper(...) LAYOUT(__VA_ARGS__) | ||
28 | #define LAYOUT_iris_base( \ | 29 | #define LAYOUT_iris_base( \ |
29 | K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, \ | 30 | K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, \ |
30 | K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, \ | 31 | K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, \ |
31 | K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A \ | 32 | K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A \ |
32 | ) \ | 33 | ) \ |
33 | LAYOUT_wrapper( \ | 34 | LAYOUT_wrapper( \ |
34 | KC_ESC, ________________NUMBER_LEFT________________, ________________NUMBER_RIGHT_______________, KC_MINS, \ | 35 | KC_ESC, ________________NUMBER_LEFT________________, ________________NUMBER_RIGHT_______________, KC_MINS, \ |
35 | LALT_T(KC_TAB), K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, KC_BSLS, \ | 36 | LALT_T(KC_TAB), K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, KC_BSLS, \ |
36 | KC_C1R3, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, RALT_T(KC_QUOT), \ | 37 | KC_C1R3, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, RALT_T(K1B), \ |
37 | OS_LSFT, CTL_T(K21), K22, K23, K24, K25, OS_LALT, OS_RGUI, K26, K27, K28, K29, RCTL_T(K2A), OS_RSFT, \ | 38 | OS_LSFT, CTL_T(K21), K22, K23, K24, K25, OS_LALT, OS_RGUI, K26, K27, K28, K29, RCTL_T(K2A), OS_RSFT, \ |
38 | KC_GRV, KC_SPC, LT(_LOWER,KC_BSPC), LT(_RAISE,KC_DEL), KC_ENT, RAISE \ | 39 | KC_GRV, KC_SPC, LT(_LOWER,KC_BSPC), LT(_RAISE,KC_DEL), KC_ENT, RAISE \ |
39 | ) | 40 | ) |
diff --git a/keyboards/keebio/viterbi/keymaps/drashna/keymap.c b/keyboards/keebio/viterbi/keymaps/drashna/keymap.c index 99e06b4de..0c4563e63 100644 --- a/keyboards/keebio/viterbi/keymaps/drashna/keymap.c +++ b/keyboards/keebio/viterbi/keymaps/drashna/keymap.c | |||
@@ -17,9 +17,7 @@ | |||
17 | #include "drashna.h" | 17 | #include "drashna.h" |
18 | 18 | ||
19 | // Fillers to make layering more clear | 19 | // Fillers to make layering more clear |
20 | #define DIABLO TG(_DIABLO) | 20 | #define TT_MDIA TT(_MEDIA) |
21 | #define GAMEPAD TG(_GAMEPAD) | ||
22 | #define MEDIA TT(_MEDIA) | ||
23 | 21 | ||
24 | // enum more_custom_keycodes { | 22 | // enum more_custom_keycodes { |
25 | // KC_P00 = NEW_SAFE_RANGE | 23 | // KC_P00 = NEW_SAFE_RANGE |
@@ -29,15 +27,15 @@ | |||
29 | const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { | 27 | const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { |
30 | 28 | ||
31 | [_NUMLOCK] = LAYOUT_ortho_5x7( | 29 | [_NUMLOCK] = LAYOUT_ortho_5x7( |
32 | KC_NO, DIABLO, GAMEPAD, KC_NLCK, KC_SLCK, KC_COLN, KC_PSLS, | 30 | KC_NO, TG_DBLO, TG_GAME, KC_NLCK, KC_SLCK, KC_COLN, KC_PSLS, |
33 | MEDIA, KC_CALC, XXXXXXX, KC_P7, KC_P8, KC_P9, KC_PAST, | 31 | TT_MDIA, KC_CALC, XXXXXXX, KC_P7, KC_P8, KC_P9, KC_PAST, |
34 | KC_HOME, KC_DEL, KC_PGUP, KC_P4, KC_P5, KC_P6, KC_PMNS, | 32 | KC_HOME, KC_DEL, KC_PGUP, KC_P4, KC_P5, KC_P6, KC_PMNS, |
35 | KC_END, KC_UP, KC_PGDN, KC_P1, KC_P2, KC_P3, KC_PPLS, | 33 | KC_END, KC_UP, KC_PGDN, KC_P1, KC_P2, KC_P3, KC_PPLS, |
36 | KC_LEFT, KC_DOWN, KC_RGHT, KC_P0, KC_PDOT, KC_COLN, KC_PENT | 34 | KC_LEFT, KC_DOWN, KC_RGHT, KC_P0, KC_PDOT, KC_COLN, KC_PENT |
37 | ), | 35 | ), |
38 | 36 | ||
39 | [_DIABLO] = LAYOUT_ortho_5x7( | 37 | [_DIABLO] = LAYOUT_ortho_5x7( |
40 | KC_ESC, DIABLO, KC_V, KC_D, XXXXXXX, XXXXXXX, KC_L, | 38 | KC_ESC, _______, KC_V, KC_D, XXXXXXX, XXXXXXX, KC_L, |
41 | KC_TAB, KC_S, KC_F, KC_I, KC_M, KC_T, KC_J, | 39 | KC_TAB, KC_S, KC_F, KC_I, KC_M, KC_T, KC_J, |
42 | KC_Q, KC_1, KC_2, KC_3, KC_4, KC_G, KC_F, | 40 | KC_Q, KC_1, KC_2, KC_3, KC_4, KC_G, KC_F, |
43 | KC_LCTL, KC_D3_3, KC_D3_3, KC_D3_3, KC_D3_3, KC_Z, KC_DIABLO_CLEAR, | 41 | KC_LCTL, KC_D3_3, KC_D3_3, KC_D3_3, KC_D3_3, KC_Z, KC_DIABLO_CLEAR, |
@@ -45,16 +43,16 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { | |||
45 | ), | 43 | ), |
46 | 44 | ||
47 | [_GAMEPAD] = LAYOUT_ortho_5x7( // Game pad layout designed primarily for Overwatch | 45 | [_GAMEPAD] = LAYOUT_ortho_5x7( // Game pad layout designed primarily for Overwatch |
48 | KC_NO, KC_ESC, GAMEPAD, KC_1, KC_2, KC_3, KC_4, | 46 | KC_NO, KC_ESC, _______, KC_1, KC_2, KC_3, KC_4, |
49 | MEDIA, KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, | 47 | TT_MDIA, KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, |
50 | KC_Z, KC_LCTL, KC_A, KC_S, KC_D, KC_F, KC_G, | 48 | KC_Z, KC_LCTL, KC_A, KC_S, KC_D, KC_F, KC_G, |
51 | KC_Y, KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, | 49 | KC_Y, KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, |
52 | KC_F1, KC_U, KC_I, KC_Y, KC_V, KC_SPC, KC_V | 50 | KC_F1, KC_U, KC_I, KC_Y, KC_V, KC_SPC, KC_V |
53 | ), | 51 | ), |
54 | 52 | ||
55 | [_MEDIA] = LAYOUT_ortho_5x7( | 53 | [_MEDIA] = LAYOUT_ortho_5x7( |
56 | KC_MAKE, KC_RESET,MU_TOG, AU_ON, AU_OFF, CK_TOGG, RGB_SAD, | 54 | KC_MAKE, RESET, MU_TOG, AU_ON, AU_OFF, CK_TOGG, RGB_SAD, |
57 | MEDIA, EEP_RST, KC_RGB_T,RGB_M_P, RGB_M_B, RGB_M_R, RGB_SAI, | 55 | _______, EEP_RST, KC_RGB_T,RGB_M_P, RGB_M_B, RGB_M_R, RGB_SAI, |
58 | RGB_TOG, RGB_MOD, RGB_RMOD,RGB_M_SW,RGB_M_SN,RGB_M_K, RGB_HUD, | 56 | RGB_TOG, RGB_MOD, RGB_RMOD,RGB_M_SW,RGB_M_SN,RGB_M_K, RGB_HUD, |
59 | KC_MPLY, KC_MPRV, KC_MNXT, RGB_M_X, RGB_M_G, RGB_M_P, RGB_HUI, | 57 | KC_MPLY, KC_MPRV, KC_MNXT, RGB_M_X, RGB_M_G, RGB_M_P, RGB_HUI, |
60 | KC_MUTE, KC_VOLD, KC_VOLU, XXXXXXX, XXXXXXX, RGB_VAD, RGB_VAI | 58 | KC_MUTE, KC_VOLD, KC_VOLU, XXXXXXX, XXXXXXX, RGB_VAD, RGB_VAI |
diff --git a/keyboards/kyria/keymaps/drashna/config.h b/keyboards/kyria/keymaps/drashna/config.h index d5fcf9088..afd17b436 100644 --- a/keyboards/kyria/keymaps/drashna/config.h +++ b/keyboards/kyria/keymaps/drashna/config.h | |||
@@ -20,8 +20,6 @@ | |||
20 | 20 | ||
21 | #ifdef OLED_DRIVER_ENABLE | 21 | #ifdef OLED_DRIVER_ENABLE |
22 | # define OLED_DISPLAY_128X64 | 22 | # define OLED_DISPLAY_128X64 |
23 | # define OLED_FONT_H "font_gmk_bad.h" | ||
24 | # define OLED_DISABLE_TIMEOUT | ||
25 | # define OLED_SCROLL_TIMEOUT_RIGHT 60000 | 23 | # define OLED_SCROLL_TIMEOUT_RIGHT 60000 |
26 | #endif | 24 | #endif |
27 | 25 | ||
diff --git a/keyboards/kyria/keymaps/drashna/keymap.c b/keyboards/kyria/keymaps/drashna/keymap.c index 08f32812e..ba1b03888 100644 --- a/keyboards/kyria/keymaps/drashna/keymap.c +++ b/keyboards/kyria/keymaps/drashna/keymap.c | |||
@@ -31,15 +31,16 @@ uint8_t is_master; | |||
31 | */ | 31 | */ |
32 | 32 | ||
33 | // clang-format off | 33 | // clang-format off |
34 | #define LAYOUT_wrapper(...) LAYOUT(__VA_ARGS__) | ||
34 | #define LAYOUT_kyria_base( \ | 35 | #define LAYOUT_kyria_base( \ |
35 | K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, \ | 36 | K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, \ |
36 | K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, \ | 37 | K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, \ |
37 | K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A \ | 38 | K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A \ |
38 | ) \ | 39 | ) \ |
39 | LAYOUT_wrapper( \ | 40 | LAYOUT_wrapper( \ |
40 | KC_ESC, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, KC_MINS, \ | 41 | KC_ESC, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, KC_MINS, \ |
41 | LALT_T(KC_TAB), K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, RALT_T(KC_QUOT), \ | 42 | LALT_T(KC_TAB), K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, RALT_T(K1B), \ |
42 | OS_LSFT, CTL_T(K21), K22, K23, K24, K25, TG(_GAMEPAD), MEH(KC_MINS), TG(_DIABLO), KC_CAPS, K26, K27, K28, K29, RCTL_T(K2A), OS_RSFT, \ | 43 | OS_LSFT, CTL_T(K21), K22, K23, K24, K25, TG_GAME, MEH(KC_MINS), TG_DBLO, KC_CAPS, K26, K27, K28, K29, RCTL_T(K2A), OS_RSFT, \ |
43 | KC_MUTE, OS_LALT, KC_GRV, KC_SPC, BK_LWER, DL_RAIS, KC_ENT, OS_RGUI, UC(0x03A8), UC(0x2E2E) \ | 44 | KC_MUTE, OS_LALT, KC_GRV, KC_SPC, BK_LWER, DL_RAIS, KC_ENT, OS_RGUI, UC(0x03A8), UC(0x2E2E) \ |
44 | ) | 45 | ) |
45 | /* Re-pass though to allow templates to be used */ | 46 | /* Re-pass though to allow templates to be used */ |
@@ -112,7 +113,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { | |||
112 | [_DIABLO] = LAYOUT_wrapper( | 113 | [_DIABLO] = LAYOUT_wrapper( |
113 | KC_ESC, KC_S, KC_I, KC_F, KC_M, KC_T, KC_F9, KC_F10, KC_F11, KC_F12, KC_NO, KC_NO, | 114 | KC_ESC, KC_S, KC_I, KC_F, KC_M, KC_T, KC_F9, KC_F10, KC_F11, KC_F12, KC_NO, KC_NO, |
114 | KC_TAB, KC_1, KC_2, KC_3, KC_4, KC_G, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, | 115 | KC_TAB, KC_1, KC_2, KC_3, KC_4, KC_G, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, |
115 | KC_LCTL, KC_D3_1, KC_D3_2, KC_D3_3, KC_D3_4, KC_Z, KC_J, KC_L, TG(_DIABLO), KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, | 116 | KC_LCTL, KC_D3_1, KC_D3_2, KC_D3_3, KC_D3_4, KC_Z, KC_J, KC_L, TG_DBLO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, |
116 | KC_DIABLO_CLEAR, KC_J, KC_NO, SFT_T(KC_SPACE), ALT_T(KC_Q), KC_NO, KC_NO, KC_NO, KC_NO, KC_NO | 117 | KC_DIABLO_CLEAR, KC_J, KC_NO, SFT_T(KC_SPACE), ALT_T(KC_Q), KC_NO, KC_NO, KC_NO, KC_NO, KC_NO |
117 | ), | 118 | ), |
118 | [_LOWER] = LAYOUT_wrapper( | 119 | [_LOWER] = LAYOUT_wrapper( |
diff --git a/keyboards/kyria/keymaps/drashna/rules.mk b/keyboards/kyria/keymaps/drashna/rules.mk index 756c044fa..7a6a86e9f 100644 --- a/keyboards/kyria/keymaps/drashna/rules.mk +++ b/keyboards/kyria/keymaps/drashna/rules.mk | |||
@@ -1,7 +1,7 @@ | |||
1 | OLED_DRIVER_ENABLE = yes # Enables the use of OLED displays | 1 | OLED_DRIVER_ENABLE = yes # Enables the use of OLED displays |
2 | ENCODER_ENABLE = yes # ENables the use of one or more encoders | 2 | ENCODER_ENABLE = yes # ENables the use of one or more encoders |
3 | RGBLIGHT_ENABLE = yes # Enable keyboard RGB underglow | 3 | RGBLIGHT_ENABLE = yes # Enable keyboard RGB underglow |
4 | RGBLIGHT_STARTUP_ANIMATION = yes | 4 | RGBLIGHT_STARTUP_ANIMATION = no |
5 | 5 | ||
6 | BOOTMAGIC_ENABLE = no # Virtual DIP switch configuration | 6 | BOOTMAGIC_ENABLE = no # Virtual DIP switch configuration |
7 | MOUSEKEY_ENABLE = no # Mouse keys | 7 | MOUSEKEY_ENABLE = no # Mouse keys |
diff --git a/keyboards/moonlander/keymaps/drashna/keymap.c b/keyboards/moonlander/keymaps/drashna/keymap.c index a12be12ea..57c69df48 100644 --- a/keyboards/moonlander/keymaps/drashna/keymap.c +++ b/keyboards/moonlander/keymaps/drashna/keymap.c | |||
@@ -27,13 +27,13 @@ enum more_custom_keycodes { KC_SWAP_NUM = NEW_SAFE_RANGE }; | |||
27 | 27 | ||
28 | #define LAYOUT_moonlander_base( \ | 28 | #define LAYOUT_moonlander_base( \ |
29 | K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, \ | 29 | K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, \ |
30 | K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, \ | 30 | K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, \ |
31 | K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A \ | 31 | K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A \ |
32 | ) \ | 32 | ) \ |
33 | LAYOUT_moonlander_wrapper( \ | 33 | LAYOUT_moonlander_wrapper( \ |
34 | KC_ESC, ________________NUMBER_LEFT________________, UC_FLIP, UC_TABL, ________________NUMBER_RIGHT_______________, KC_MINS, \ | 34 | KC_ESC, ________________NUMBER_LEFT________________, UC_FLIP, UC_TABL, ________________NUMBER_RIGHT_______________, KC_MINS, \ |
35 | KC_TAB, K01, K02, K03, K04, K05, TG(_DIABLO),TG(_DIABLO), K06, K07, K08, K09, K0A, KC_BSLS, \ | 35 | KC_TAB, K01, K02, K03, K04, K05, TG_DBLO,TG_DBLO, K06, K07, K08, K09, K0A, KC_BSLS, \ |
36 | KC_C1R3, K11, K12, K13, K14, K15, TG(_GAMEPAD),TG(_GAMEPAD), K16, K17, K18, K19, K1A, RALT_T(KC_QUOT), \ | 36 | KC_C1R3, K11, K12, K13, K14, K15, TG_GAME,TG_GAME, K16, K17, K18, K19, K1A, RALT_T(K1B), \ |
37 | KC_MLSF, CTL_T(K21), K22, K23, K24, K25, K26, K27, K28, K29, RCTL_T(K2A),KC_MRSF, \ | 37 | KC_MLSF, CTL_T(K21), K22, K23, K24, K25, K26, K27, K28, K29, RCTL_T(K2A),KC_MRSF, \ |
38 | KC_GRV, OS_MEH, OS_HYPR, KC_LBRC, KC_RBRC, KC_NO, KC_DEL, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT, UC(0x2E2E), \ | 38 | KC_GRV, OS_MEH, OS_HYPR, KC_LBRC, KC_RBRC, KC_NO, KC_DEL, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT, UC(0x2E2E), \ |
39 | KC_SPC, BK_LWER, OS_LALT, OS_RGUI, DL_RAIS, KC_ENT \ | 39 | KC_SPC, BK_LWER, OS_LALT, OS_RGUI, DL_RAIS, KC_ENT \ |
@@ -105,7 +105,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { | |||
105 | [_GAMEPAD] = LAYOUT_moonlander_wrapper( | 105 | [_GAMEPAD] = LAYOUT_moonlander_wrapper( |
106 | KC_ESC, KC_NO, KC_1, KC_2, KC_3, KC_4, HYPR(KC_Q), KC_TRNS, KC_F9, KC_F10, KC_F11, KC_F12, KC_NO, KC_NO, | 106 | KC_ESC, KC_NO, KC_1, KC_2, KC_3, KC_4, HYPR(KC_Q), KC_TRNS, KC_F9, KC_F10, KC_F11, KC_F12, KC_NO, KC_NO, |
107 | KC_F1, KC_K, KC_Q, KC_W, KC_E, KC_R, KC_T, UC_SHRG, UC_DISA, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, | 107 | KC_F1, KC_K, KC_Q, KC_W, KC_E, KC_R, KC_T, UC_SHRG, UC_DISA, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, |
108 | KC_TAB, KC_G, KC_A, KC_S, KC_D, KC_F, KC_TRNS, TG(_GAMEPAD), KC_I, KC_O, KC_NO, KC_NO, KC_NO, KC_NO, | 108 | KC_TAB, KC_G, KC_A, KC_S, KC_D, KC_F, KC_TRNS, TG_GAME, KC_I, KC_O, KC_NO, KC_NO, KC_NO, KC_NO, |
109 | KC_LCTL, KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_N, KC_M, KC_NO, KC_NO, KC_NO, KC_NO, | 109 | KC_LCTL, KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_N, KC_M, KC_NO, KC_NO, KC_NO, KC_NO, |
110 | KC_GRV, KC_U, KC_I, KC_Y, KC_T, KC_PSCR, _______, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT, KC_NO, | 110 | KC_GRV, KC_U, KC_I, KC_Y, KC_T, KC_PSCR, _______, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT, KC_NO, |
111 | KC_V, KC_SPC, KC_H, KC_NO, KC_NO, KC_SWAP_NUM | 111 | KC_V, KC_SPC, KC_H, KC_NO, KC_NO, KC_SWAP_NUM |
diff --git a/keyboards/orthodox/keymaps/drashna/keymap.c b/keyboards/orthodox/keymaps/drashna/keymap.c index 2dbe18634..32b0dcfeb 100644 --- a/keyboards/orthodox/keymaps/drashna/keymap.c +++ b/keyboards/orthodox/keymaps/drashna/keymap.c | |||
@@ -8,14 +8,15 @@ | |||
8 | * of use. K## is a placeholder to pass through the individual keycodes | 8 | * of use. K## is a placeholder to pass through the individual keycodes |
9 | */ | 9 | */ |
10 | // clang-format off | 10 | // clang-format off |
11 | #define LAYOUT_wrapper(...) LAYOUT(__VA_ARGS__) | ||
11 | #define LAYOUT_orthodox_base( \ | 12 | #define LAYOUT_orthodox_base( \ |
12 | K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, \ | 13 | K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, \ |
13 | K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, \ | 14 | K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, \ |
14 | K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A \ | 15 | K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A \ |
15 | ) \ | 16 | ) \ |
16 | LAYOUT_wrapper( \ | 17 | LAYOUT_wrapper( \ |
17 | KC_ESC, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, KC_BSPC, \ | 18 | KC_ESC, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, KC_BSPC, \ |
18 | LALT_T(KC_TAB), K11, K12, K13, K14, K15, OS_LALT, OS_LGUI, OS_RALT, RAISE, K16, K17, K18, K19, K1A, RALT_T(KC_QUOT), \ | 19 | LALT_T(KC_TAB), K11, K12, K13, K14, K15, OS_LALT, OS_LGUI, OS_RALT, RAISE, K16, K17, K18, K19, K1A, RALT_T(K1B), \ |
19 | 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 \ | 20 | 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 \ |
20 | ) | 21 | ) |
21 | #define LAYOUT_orthodox_base_wrapper(...) LAYOUT_orthodox_base(__VA_ARGS__) | 22 | #define LAYOUT_orthodox_base_wrapper(...) LAYOUT_orthodox_base(__VA_ARGS__) |
diff --git a/keyboards/splitkb/zima/keymaps/drashna/config.h b/keyboards/splitkb/zima/keymaps/drashna/config.h new file mode 100644 index 000000000..91d657eda --- /dev/null +++ b/keyboards/splitkb/zima/keymaps/drashna/config.h | |||
@@ -0,0 +1,32 @@ | |||
1 | /* Copyright 2019 Thomas Baart | ||
2 | * Copyright 2021 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 | |||
18 | #pragma once | ||
19 | |||
20 | #define OLED_FONT_H "users/drashna/drashna_font.h" | ||
21 | #define OLED_UPDATE_INTERVAL 15 | ||
22 | #define OLED_DISABLE_TIMEOUT | ||
23 | #define OLED_FONT_END 255 | ||
24 | // # define OLED_FONT_5X5 | ||
25 | // # define OLED_FONT_AZTECH | ||
26 | // # define OLED_FONT_BMPLAIN | ||
27 | # define OLED_FONT_SUPER_DIGG | ||
28 | // # define OLED_LOGO_GMK_BAD | ||
29 | // # define OLED_LOGO_HUE_MANITEE | ||
30 | // # define OLED_LOGO_CORNE | ||
31 | // # define OLED_LOGO_GOTHAM | ||
32 | #define OLED_LOGO_SCIFI | ||
diff --git a/keyboards/splitkb/zima/keymaps/drashna/keymap.c b/keyboards/splitkb/zima/keymaps/drashna/keymap.c new file mode 100644 index 000000000..9d3919ee2 --- /dev/null +++ b/keyboards/splitkb/zima/keymaps/drashna/keymap.c | |||
@@ -0,0 +1,140 @@ | |||
1 | /* Copyright 2019 Thomas Baart | ||
2 | * Copyright 2021 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 | #include QMK_KEYBOARD_H | ||
18 | #include <stdio.h> | ||
19 | |||
20 | #ifdef HAPTIC_ENABLE | ||
21 | # include "haptic.h" | ||
22 | extern haptic_config_t haptic_config; | ||
23 | #endif | ||
24 | |||
25 | const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { | ||
26 | [0] = LAYOUT_ortho_4x3( /* Base */ | ||
27 | KC_MUTE, TG(1), TG(2), | ||
28 | KC_P7, KC_P8, KC_P9, | ||
29 | KC_P4, KC_P5, KC_P6, | ||
30 | KC_P1, KC_P2, KC_P3 | ||
31 | ), | ||
32 | [1] = LAYOUT_ortho_4x3( /* Layer 1 */ | ||
33 | RESET, _______, XXXXXXX, | ||
34 | AU_ON, AU_OFF, XXXXXXX, | ||
35 | CK_TOGG, XXXXXXX, CK_UP, | ||
36 | CK_RST, XXXXXXX, CK_DOWN | ||
37 | ), | ||
38 | [2] = LAYOUT_ortho_4x3( /* Layer 2*/ | ||
39 | RGB_TOG, RGB_MOD, _______, | ||
40 | RGB_HUI, RGB_SAI, RGB_VAI, | ||
41 | RGB_HUD, RGB_SAD, RGB_VAD, | ||
42 | HPT_TOG, HPT_FBK, HPT_CONT | ||
43 | ) | ||
44 | }; | ||
45 | |||
46 | |||
47 | static bool is_asleep = false; | ||
48 | static uint32_t oled_timer; | ||
49 | |||
50 | void render_oled_logo(void) { | ||
51 | // clang-format off | ||
52 | static const char PROGMEM qmk_logo[] = { | ||
53 | 0x80,0x81,0x82,0x83,0x84,0x85,0x86,0x87,0x88,0x89,0x8a,0x8b,0x8c,0x8d,0x8e,0x8f,0x90,0x91,0x92,0x93,0x94, | ||
54 | 0xa0,0xa1,0xa2,0xa3,0xa4,0xa5,0xa6,0xa7,0xa8,0xa9,0xaa,0xab,0xac,0xad,0xae,0xaf,0xb0,0xb1,0xb2,0xb3,0xb4, | ||
55 | 0xc0,0xc1,0xc2,0xc3,0xc4,0xc5,0xc6,0xc7,0xc8,0xc9,0xca,0xcb,0xcc,0xcd,0xce,0xcf,0xd0,0xd1,0xd2,0xd3,0xd4,0}; | ||
56 | // clang-format on | ||
57 | oled_write_ln_P(qmk_logo, false); | ||
58 | } | ||
59 | |||
60 | void render_user_status(void) { | ||
61 | static const char PROGMEM audio_status[2][3] = {{0xE0, 0xE1, 0}, {0xE2, 0xE3, 0}}; | ||
62 | oled_write_P(audio_status[is_audio_on()], false); | ||
63 | static const char PROGMEM audio_clicky_status[2][3] = {{0xF4, 0xF5, 0}, {0xF6, 0xF7, 0}}; | ||
64 | oled_write_P(audio_clicky_status[is_clicky_on() && is_audio_on()], false); | ||
65 | static const char PROGMEM rgb_layer_status[2][3] = {{0xEE, 0xEF, 0}, {0xF0, 0xF1, 0}}; | ||
66 | oled_write_P(rgb_layer_status[rgblight_is_enabled()], false); | ||
67 | static const char PROGMEM nukem_good[2][3] = {{0xF8, 0xF9, 0}, {0xF6, 0xF7, 0}}; | ||
68 | oled_write_P(nukem_good[0], haptic_config.enable); | ||
69 | } | ||
70 | |||
71 | void keyboard_post_init_user(void) { | ||
72 | oled_scroll_set_speed(0); | ||
73 | } | ||
74 | |||
75 | void oled_task_user(void) { | ||
76 | if (is_asleep) { | ||
77 | oled_off(); | ||
78 | return; | ||
79 | } | ||
80 | |||
81 | if (timer_elapsed32(oled_timer) < 30000) { | ||
82 | oled_on(); | ||
83 | oled_scroll_off(); | ||
84 | oled_write_P(PSTR("SplitKB's Zima"), false); | ||
85 | char layer[2] = {0}; | ||
86 | snprintf(layer, sizeof(layer), "%d", get_highest_layer(layer_state)); | ||
87 | oled_write_P(PSTR(" L:"), false); | ||
88 | oled_write_ln(layer, false); | ||
89 | oled_write_ln_P(PSTR("--------------"), false); | ||
90 | if (rgblight_is_enabled()) { | ||
91 | oled_write_P(PSTR("HSV: "), false); | ||
92 | char rgbs[14]; | ||
93 | snprintf(rgbs, sizeof(rgbs), "%3d, %3d, %3d", rgblight_get_hue(), rgblight_get_sat(), rgblight_get_val()); | ||
94 | oled_write_ln(rgbs, false); | ||
95 | } else { | ||
96 | oled_write_ln_P(PSTR("RGB LIGHT DISABLED"), false); | ||
97 | } | ||
98 | render_user_status(); | ||
99 | } else { | ||
100 | if (timer_elapsed32(oled_timer) < 120000) { | ||
101 | oled_on(); | ||
102 | render_oled_logo(); | ||
103 | oled_scroll_right(); | ||
104 | } else { | ||
105 | oled_off(); | ||
106 | } | ||
107 | } | ||
108 | } | ||
109 | |||
110 | void suspend_power_down_user(void) { | ||
111 | is_asleep = true; | ||
112 | } | ||
113 | |||
114 | void suspend_wakeup_init_user(void) { | ||
115 | is_asleep = false; | ||
116 | } | ||
117 | |||
118 | bool process_record_user(uint16_t keycode, keyrecord_t* record) { | ||
119 | oled_timer = timer_read32(); | ||
120 | |||
121 | return true; | ||
122 | } | ||
123 | |||
124 | |||
125 | void encoder_update_user(uint8_t index, bool clockwise) { | ||
126 | if (clockwise) { | ||
127 | tap_code16(KC_VOLU); | ||
128 | } else { | ||
129 | tap_code16(KC_VOLD); | ||
130 | } | ||
131 | # ifdef OLED_DRIVER_ENABLE | ||
132 | oled_timer = timer_read32(); | ||
133 | # endif | ||
134 | # if defined(AUDIO_ENABLE) && defined(AUDIO_CLICKY) | ||
135 | if (is_audio_on() && is_clicky_on()) clicky_play(); | ||
136 | # endif | ||
137 | # ifdef HAPTIC_ENABLE | ||
138 | if (haptic_config.enable) haptic_play(); | ||
139 | # endif | ||
140 | } | ||
diff --git a/keyboards/splitkb/zima/keymaps/drashna/readme.md b/keyboards/splitkb/zima/keymaps/drashna/readme.md new file mode 100644 index 000000000..0f78f4bf1 --- /dev/null +++ b/keyboards/splitkb/zima/keymaps/drashna/readme.md | |||
@@ -0,0 +1,7 @@ | |||
1 | # The default keymap for zima | ||
2 | |||
3 | This includes support for the OLED and Encoder. However, the actual code is found in the `zima.c` file. This can be replaced by adding your own `oled_task_user(void)` and `encoder_update_user` functinons. These will replace what is in the keyboard, and allow you to customize these features. | ||
4 | |||
5 | The reason that this is done this way, is so that this functionality will work on the [QMK Configurator](https://config.qmk.fm/#/splitkb/zima/LAYOUT_ortho_4x3) | ||
6 | |||
7 | For reference, the code used for the oled and encoder defaults is in [zima.c](https://github.com/qmk/qmk_firmware/tree/master/keyboards/splitkb/zima/zima.c). | ||
diff --git a/keyboards/splitkb/zima/keymaps/drashna/rules.mk b/keyboards/splitkb/zima/keymaps/drashna/rules.mk new file mode 100644 index 000000000..b9a1f7f25 --- /dev/null +++ b/keyboards/splitkb/zima/keymaps/drashna/rules.mk | |||
@@ -0,0 +1,2 @@ | |||
1 | # is intentional. won't compile under size, otherwise. | ||
2 | USER_NAME := not_drashna | ||
diff --git a/layouts/community/ergodox/drashna/keymap.c b/layouts/community/ergodox/drashna/keymap.c index fb5bcc6bd..2bcf672a9 100644 --- a/layouts/community/ergodox/drashna/keymap.c +++ b/layouts/community/ergodox/drashna/keymap.c | |||
@@ -40,17 +40,20 @@ bool skip_leds = false; | |||
40 | * ease of use. K## is a placeholder to pass through the individual keycodes | 40 | * ease of use. K## is a placeholder to pass through the individual keycodes |
41 | */ | 41 | */ |
42 | // clang-format off | 42 | // clang-format off |
43 | #define LAYOUT_ergodox_wrapper(...) LAYOUT_ergodox(__VA_ARGS__) | ||
44 | #define LAYOUT_ergodox_pretty_wrapper(...) LAYOUT_ergodox_pretty(__VA_ARGS__) | ||
45 | |||
43 | #define LAYOUT_ergodox_pretty_base( \ | 46 | #define LAYOUT_ergodox_pretty_base( \ |
44 | K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, \ | 47 | K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, \ |
45 | K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, \ | 48 | K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, \ |
46 | K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A \ | 49 | K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A \ |
47 | ) \ | 50 | ) \ |
48 | LAYOUT_ergodox_pretty_wrapper( \ | 51 | LAYOUT_ergodox_pretty_wrapper( \ |
49 | KC_ESC, ________________NUMBER_LEFT________________, UC_FLIP, UC_TABL, ________________NUMBER_RIGHT_______________, KC_MINS, \ | 52 | KC_ESC, ________________NUMBER_LEFT________________, UC_FLIP, UC_TABL, ________________NUMBER_RIGHT_______________, KC_MINS, \ |
50 | LALT_T(KC_TAB), K01, K02, K03, K04, K05, TG(_DIABLO), TG(_DIABLO), K06, K07, K08, K09, K0A, KC_BSLS, \ | 53 | LALT_T(KC_TAB), K01, K02, K03, K04, K05, TG_DBLO, TG_DBLO, K06, K07, K08, K09, K0A, KC_BSLS, \ |
51 | KC_C1R3, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, RALT_T(KC_QUOT), \ | 54 | KC_C1R3, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, RALT_T(K1B), \ |
52 | KC_MLSF, CTL_T(K21), K22, K23, K24, K25, TG(_GAMEPAD), TG(_GAMEPAD), K26, K27, K28, K29, RCTL_T(K2A), KC_MRSF, \ | 55 | KC_MLSF, CTL_T(K21), K22, K23, K24, K25, TG_GAME, TG_GAME, K26, K27, K28, K29, RCTL_T(K2A), KC_MRSF, \ |
53 | KC_GRV, OS_MEH, OS_HYPR, KC_LBRC, KC_RBRC, KC_BTN1, KC_BTN3, KC_BTN2, PM_SCROLL, PM_PRECISION, \ | 56 | KC_GRV, OS_MEH, OS_HYPR, KC_LBRC, KC_RBRC, KC_BTN1, KC_BTN3, KC_BTN2, PM_SCROLL, PM_PRECISION, \ |
54 | OS_LALT, OS_LGUI, OS_RGUI, CTL_T(KC_ESCAPE), \ | 57 | OS_LALT, OS_LGUI, OS_RGUI, CTL_T(KC_ESCAPE), \ |
55 | KC_APP, KC_MENU, \ | 58 | KC_APP, KC_MENU, \ |
56 | KC_SPC, LT(_LOWER, KC_BSPC), OS_LWR, OS_RSE, LT(_RAISE, KC_DEL), KC_ENT \ | 59 | KC_SPC, LT(_LOWER, KC_BSPC), OS_LWR, OS_RSE, LT(_RAISE, KC_DEL), KC_ENT \ |
@@ -235,7 +238,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { | |||
235 | KC_ESC, KC_NO, KC_1, KC_2, KC_3, HYPR(KC_Q), HYPR(KC_GRV), KC_TRNS, KC_F9, KC_F10, KC_F11, KC_F12, KC_NO, KC_NO, | 238 | KC_ESC, KC_NO, KC_1, KC_2, KC_3, HYPR(KC_Q), HYPR(KC_GRV), KC_TRNS, KC_F9, KC_F10, KC_F11, KC_F12, KC_NO, KC_NO, |
236 | KC_F1, KC_K, KC_Q, KC_W, KC_E, KC_R, KC_T, UC_SHRG, UC_DISA, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, | 239 | KC_F1, KC_K, KC_Q, KC_W, KC_E, KC_R, KC_T, UC_SHRG, UC_DISA, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, |
237 | KC_TAB, KC_G, KC_A, KC_S, KC_D, KC_F, KC_I, KC_O, KC_NO, KC_NO, KC_NO, KC_NO, | 240 | KC_TAB, KC_G, KC_A, KC_S, KC_D, KC_F, KC_I, KC_O, KC_NO, KC_NO, KC_NO, KC_NO, |
238 | KC_LCTL, KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_TRNS, TG(_GAMEPAD), KC_N, KC_M, KC_NO, KC_NO, KC_NO, KC_NO, | 241 | KC_LCTL, KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_TRNS, TG_GAME, KC_N, KC_M, KC_NO, KC_NO, KC_NO, KC_NO, |
239 | KC_GRV, KC_U, KC_I, KC_Y, KC_T, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT, KC_NO, | 242 | KC_GRV, KC_U, KC_I, KC_Y, KC_T, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT, KC_NO, |
240 | KC_O, KC_P, MAGIC_TOGGLE_NKRO, LALT(KC_PSCR), | 243 | KC_O, KC_P, MAGIC_TOGGLE_NKRO, LALT(KC_PSCR), |
241 | KC_LGUI, KC_HYPR, | 244 | KC_LGUI, KC_HYPR, |
diff --git a/layouts/community/ortho_4x12/drashna/keymap.c b/layouts/community/ortho_4x12/drashna/keymap.c index d0df7f5c3..61f22dfe9 100644 --- a/layouts/community/ortho_4x12/drashna/keymap.c +++ b/layouts/community/ortho_4x12/drashna/keymap.c | |||
@@ -50,14 +50,15 @@ enum planck_keycodes { | |||
50 | * of use. K## is a placeholder to pass through the individual keycodes | 50 | * of use. K## is a placeholder to pass through the individual keycodes |
51 | */ | 51 | */ |
52 | // clang-format off | 52 | // clang-format off |
53 | #define LAYOUT_ortho_4x12_wrapper(...) LAYOUT_ortho_4x12(__VA_ARGS__) | ||
53 | #define LAYOUT_ortho_4x12_base( \ | 54 | #define LAYOUT_ortho_4x12_base( \ |
54 | K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, \ | 55 | K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, \ |
55 | K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, \ | 56 | K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, \ |
56 | K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A \ | 57 | K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A \ |
57 | ) \ | 58 | ) \ |
58 | LAYOUT_ortho_4x12_wrapper( \ | 59 | LAYOUT_ortho_4x12_wrapper( \ |
59 | KC_ESC, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, KC_DEL, \ | 60 | KC_ESC, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, KC_DEL, \ |
60 | LALT_T(KC_TAB), K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, RALT_T(KC_QUOT), \ | 61 | LALT_T(KC_TAB), K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, RALT_T(K1B), \ |
61 | KC_MLSF, CTL_T(K21), K22, K23, K24, K25, K26, K27, K28, K29, RCTL_T(K2A), KC_ENT, \ | 62 | KC_MLSF, CTL_T(K21), K22, K23, K24, K25, K26, K27, K28, K29, RCTL_T(K2A), KC_ENT, \ |
62 | BACKLIT, OS_LCTL, OS_LALT, OS_LGUI, PLNK_1, PLNK_2, PLNK_3, PLNK_4, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT \ | 63 | BACKLIT, OS_LCTL, OS_LALT, OS_LGUI, PLNK_1, PLNK_2, PLNK_3, PLNK_4, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT \ |
63 | ) | 64 | ) |
diff --git a/layouts/community/ortho_5x12/drashna/keymap.c b/layouts/community/ortho_5x12/drashna/keymap.c index 98c349b2e..9f6622c7d 100644 --- a/layouts/community/ortho_5x12/drashna/keymap.c +++ b/layouts/community/ortho_5x12/drashna/keymap.c | |||
@@ -24,17 +24,17 @@ | |||
24 | * of use. K## is a placeholder to pass through the individual keycodes | 24 | * of use. K## is a placeholder to pass through the individual keycodes |
25 | */ | 25 | */ |
26 | // clang-format off | 26 | // clang-format off |
27 | #define LAYOUT_ortho_5x12_wrapper(...) LAYOUT_ortho_5x12(__VA_ARGS__) | ||
27 | #define LAYOUT_ortho_5x12_base( \ | 28 | #define LAYOUT_ortho_5x12_base( \ |
28 | K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, \ | 29 | K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, \ |
29 | K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, \ | 30 | K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, \ |
30 | K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, \ | 31 | K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A \ |
31 | K31, K32, K33, K34, K35, K36, K37, K38, K39, K3A \ | ||
32 | ) \ | 32 | ) \ |
33 | LAYOUT_ortho_5x12_wrapper( \ | 33 | LAYOUT_ortho_5x12_wrapper( \ |
34 | KC_ESC, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, KC_BSPC, \ | 34 | KC_ESC, ________________NUMBER_LEFT________________, ________________NUMBER_RIGHT_______________, KC_BSPC, \ |
35 | LALT_T(KC_TAB), K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, KC_BSPC, \ | 35 | LALT_T(KC_TAB), K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, KC_BSPC, \ |
36 | KC_C1R3, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, RALT_T(KC_QUOT), \ | 36 | KC_C1R3, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, RALT_T(K1B), \ |
37 | KC_MLSF, CTL_T(K31), K32, K33, K34, K35, K36, K37, K38, K39, RCTL_T(K3A), KC_ENT, \ | 37 | KC_MLSF, CTL_T(K21), K22, K23, K24, K25, K26, K27, K28, K29, RCTL_T(K2A), KC_ENT, \ |
38 | KC_NO, OS_LCTL, OS_LALT, OS_LGUI, SP_LWER, BK_LWER, DL_RAIS, ET_RAIS, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT \ | 38 | KC_NO, OS_LCTL, OS_LALT, OS_LGUI, SP_LWER, BK_LWER, DL_RAIS, ET_RAIS, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT \ |
39 | ) | 39 | ) |
40 | 40 | ||
@@ -44,28 +44,24 @@ | |||
44 | const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { | 44 | const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { |
45 | 45 | ||
46 | [_QWERTY] = LAYOUT_ortho_5x12_base_wrapper( | 46 | [_QWERTY] = LAYOUT_ortho_5x12_base_wrapper( |
47 | ________________NUMBER_LEFT________________, ________________NUMBER_RIGHT_______________, | ||
48 | _________________QWERTY_L1_________________, _________________QWERTY_R1_________________, | 47 | _________________QWERTY_L1_________________, _________________QWERTY_R1_________________, |
49 | _________________QWERTY_L2_________________, _________________QWERTY_R2_________________, | 48 | _________________QWERTY_L2_________________, _________________QWERTY_R2_________________, |
50 | _________________QWERTY_L3_________________, _________________QWERTY_R3_________________ | 49 | _________________QWERTY_L3_________________, _________________QWERTY_R3_________________ |
51 | ), | 50 | ), |
52 | 51 | ||
53 | [_COLEMAK] = LAYOUT_ortho_5x12_base_wrapper( | 52 | [_COLEMAK] = LAYOUT_ortho_5x12_base_wrapper( |
54 | ________________NUMBER_LEFT________________, ________________NUMBER_RIGHT_______________, | ||
55 | _________________COLEMAK_L1________________, _________________COLEMAK_R1________________, | 53 | _________________COLEMAK_L1________________, _________________COLEMAK_R1________________, |
56 | _________________COLEMAK_L2________________, _________________COLEMAK_R2________________, | 54 | _________________COLEMAK_L2________________, _________________COLEMAK_R2________________, |
57 | _________________COLEMAK_L3________________, _________________COLEMAK_R3________________ | 55 | _________________COLEMAK_L3________________, _________________COLEMAK_R3________________ |
58 | ), | 56 | ), |
59 | 57 | ||
60 | [_DVORAK] = LAYOUT_ortho_5x12_base_wrapper( | 58 | [_DVORAK] = LAYOUT_ortho_5x12_base_wrapper( |
61 | ________________NUMBER_LEFT________________, ________________NUMBER_RIGHT_______________, | ||
62 | _________________DVORAK_L1_________________, _________________DVORAK_R1_________________, | 59 | _________________DVORAK_L1_________________, _________________DVORAK_R1_________________, |
63 | _________________DVORAK_L2_________________, _________________DVORAK_R2_________________, | 60 | _________________DVORAK_L2_________________, _________________DVORAK_R2_________________, |
64 | _________________DVORAK_L3_________________, _________________DVORAK_R3_________________ | 61 | _________________DVORAK_L3_________________, _________________DVORAK_R3_________________ |
65 | ), | 62 | ), |
66 | 63 | ||
67 | [_WORKMAN] = LAYOUT_ortho_5x12_base_wrapper( | 64 | [_WORKMAN] = LAYOUT_ortho_5x12_base_wrapper( |
68 | ________________NUMBER_LEFT________________, ________________NUMBER_RIGHT_______________, | ||
69 | _________________WORKMAN_L1________________, _________________WORKMAN_R1________________, | 65 | _________________WORKMAN_L1________________, _________________WORKMAN_R1________________, |
70 | _________________WORKMAN_L2________________, _________________WORKMAN_R2________________, | 66 | _________________WORKMAN_L2________________, _________________WORKMAN_R2________________, |
71 | _________________WORKMAN_L3________________, _________________WORKMAN_R3________________ | 67 | _________________WORKMAN_L3________________, _________________WORKMAN_R3________________ |
diff --git a/layouts/community/ortho_5x12/drashna/rules.mk b/layouts/community/ortho_5x12/drashna/rules.mk index 2c59c614f..af68e04c0 100644 --- a/layouts/community/ortho_5x12/drashna/rules.mk +++ b/layouts/community/ortho_5x12/drashna/rules.mk | |||
@@ -9,6 +9,8 @@ NKRO_ENABLE = yes | |||
9 | ifeq ($(strip $(KEYBOARD)), fractal) | 9 | ifeq ($(strip $(KEYBOARD)), fractal) |
10 | RGB_MATRIX_ENABLE = no | 10 | RGB_MATRIX_ENABLE = no |
11 | AUDIO_ENABLE = yes | 11 | AUDIO_ENABLE = yes |
12 | AUDIO_SUPPORTED = yes | ||
13 | RGBLIGHT_SUPPORTED = yes | ||
12 | RGBLIGHT_ENABLE = yes | 14 | RGBLIGHT_ENABLE = yes |
13 | RGBLIGHT_TWINKLE = yes | 15 | RGBLIGHT_TWINKLE = yes |
14 | RGBLIGHT_STARTUP_ANIMATION = yes | 16 | RGBLIGHT_STARTUP_ANIMATION = yes |
diff --git a/layouts/community/split_3x6_3/drashna/chconf.h b/layouts/community/split_3x6_3/drashna/chconf.h new file mode 100644 index 000000000..ffcfb1989 --- /dev/null +++ b/layouts/community/split_3x6_3/drashna/chconf.h | |||
@@ -0,0 +1,9 @@ | |||
1 | |||
2 | #define CH_CFG_ST_RESOLUTION 16 | ||
3 | #define CH_CFG_ST_FREQUENCY 10000 | ||
4 | |||
5 | #if __has_include("platforms/chibios/common/configs/chconf.h") | ||
6 | # include_next "platforms/chibios/common/configs/chconf.h" | ||
7 | #else | ||
8 | # include_next "chconf.h" | ||
9 | #endif | ||
diff --git a/layouts/community/split_3x6_3/drashna/config.h b/layouts/community/split_3x6_3/drashna/config.h index b9b1d073d..6205ededf 100644 --- a/layouts/community/split_3x6_3/drashna/config.h +++ b/layouts/community/split_3x6_3/drashna/config.h | |||
@@ -19,8 +19,10 @@ | |||
19 | /* Select hand configuration */ | 19 | /* Select hand configuration */ |
20 | 20 | ||
21 | // #define MASTER_LEFT | 21 | // #define MASTER_LEFT |
22 | #define MASTER_RIGHT | 22 | // #define MASTER_RIGHT |
23 | // #define EE_HAND | 23 | #define EE_HANDS |
24 | #define SPLIT_MODS_ENABLE | ||
25 | |||
24 | #undef USE_I2C | 26 | #undef USE_I2C |
25 | #undef SSD1306OLED | 27 | #undef SSD1306OLED |
26 | 28 | ||
@@ -40,7 +42,7 @@ | |||
40 | #ifdef RGB_MATRIX_ENABLE | 42 | #ifdef RGB_MATRIX_ENABLE |
41 | # ifdef CONVERT_TO_PROTON_C | 43 | # ifdef CONVERT_TO_PROTON_C |
42 | # undef RGB_DI_PIN | 44 | # undef RGB_DI_PIN |
43 | # define RGB_DI_PIN PAL_LINE(GPIOA, 3) | 45 | # define RGB_DI_PIN A3 |
44 | # endif | 46 | # endif |
45 | # define RGB_MATRIX_KEYPRESSES // reacts to keypresses | 47 | # define RGB_MATRIX_KEYPRESSES // reacts to keypresses |
46 | // # define RGB_MATRIX_KEYRELEASES // reacts to keyreleases (instead of keypresses) | 48 | // # define RGB_MATRIX_KEYRELEASES // reacts to keyreleases (instead of keypresses) |
@@ -56,24 +58,23 @@ | |||
56 | #endif | 58 | #endif |
57 | 59 | ||
58 | #ifdef CONVERT_TO_PROTON_C | 60 | #ifdef CONVERT_TO_PROTON_C |
59 | # define WS2812_PWM_DRIVER PWMD15 // default: PWMD2 | 61 | # define WS2812_PWM_DRIVER PWMD2 // default: PWMD2 |
60 | # define WS2812_PWM_CHANNEL 2 // default: 2 | 62 | # define WS2812_PWM_CHANNEL 4 // default: 2 |
61 | # define WS2812_PWM_PAL_MODE 9 // Pin "alternate function", see the respective datasheet for the appropriate values for your MCU. default: 2 | 63 | # define WS2812_PWM_PAL_MODE 1 // Pin "alternate function", see the respective datasheet for the appropriate values for your MCU. default: 2 |
62 | # define WS2812_DMA_STREAM STM32_DMA1_STREAM5 // DMA Stream for TIMx_UP, see the respective reference manual for the appropriate values for your MCU. | 64 | # define WS2812_DMA_STREAM STM32_DMA1_STREAM2 // DMA Stream for TIMx_UP, see the respective reference manual for the appropriate values for your MCU. |
63 | # define WS2812_DMA_CHANNEL 5 // DMA Channel for TIMx_UP, see the respective reference manual for the appropriate values for your MCU. | 65 | # define WS2812_DMA_CHANNEL 2 // DMA Channel for TIMx_UP, see the respective reference manual for the appropriate values for your MCU. |
64 | # define WS2812_DMAMUX_ID STM32_DMAMUX1_TIM15_UP // DMAMUX configuration for TIMx_UP -- only required if your MCU has a DMAMUX peripheral, see the respective reference manual for the appropriate values for your MCU. | 66 | # define WS2812_DMAMUX_ID STM32_DMAMUX1_TIM2_UP // DMAMUX configuration for TIMx_UP -- only required if your MCU has a DMAMUX peripheral, see the respective reference manual for the appropriate values for your MCU. |
65 | 67 | ||
66 | # undef SOFT_SERIAL_PIN | 68 | # undef SOFT_SERIAL_PIN |
67 | # define SOFT_SERIAL_PIN D3 | 69 | # define SOFT_SERIAL_PIN D3 |
68 | # define SERIAL_USART_DRIVER SD1 // USART driver of TX pin. default: SD1 | 70 | # define SERIAL_USART_DRIVER SD1 // USART driver of TX pin. default: SD1 |
69 | # define SERIAL_USART_TX_PAL_MODE 7 // Pin "alternate function", see the respective datasheet for the appropriate values for your MCU. default: 7 | 71 | # define SERIAL_USART_TX_PAL_MODE 7 // Pin "alternate function", see the respective datasheet for the appropriate values for your MCU. default: 7 |
70 | 72 | ||
71 | |||
72 | // #define INIT_EE_HANDS_LEFT | 73 | // #define INIT_EE_HANDS_LEFT |
73 | // #define INIT_EE_HANDS_RIGHT | 74 | // #define INIT_EE_HANDS_RIGHT |
74 | #endif | 75 | #endif |
75 | 76 | ||
76 | #ifdef AUDIO_ENABLE | 77 | #if defined(AUDIO_ENABLE) && !defined(CONVERT_TO_PROTON_C) |
77 | # define B6_AUDIO | 78 | # define B6_AUDIO |
78 | # define NO_MUSIC_MODE | 79 | # define NO_MUSIC_MODE |
79 | #endif | 80 | #endif |
@@ -88,9 +89,5 @@ | |||
88 | #else | 89 | #else |
89 | # define PRODUCT Drashna Hacked Corne Keyboard | 90 | # define PRODUCT Drashna Hacked Corne Keyboard |
90 | #endif | 91 | #endif |
91 | #define OLED_FONT_H "layouts/community/split_3x6_3/drashna/glcdfont.c" | ||
92 | // #define OLED_FONT_WIDTH 5 | ||
93 | // #define OLED_FONT_HEIGHT 7 | ||
94 | 92 | ||
95 | #define OLED_DISABLE_TIMEOUT | ||
96 | #define TAPPING_TERM_PER_KEY | 93 | #define TAPPING_TERM_PER_KEY |
diff --git a/layouts/community/split_3x6_3/drashna/keymap.c b/layouts/community/split_3x6_3/drashna/keymap.c index 513cc7f7d..65e05f64b 100644 --- a/layouts/community/split_3x6_3/drashna/keymap.c +++ b/layouts/community/split_3x6_3/drashna/keymap.c | |||
@@ -27,14 +27,15 @@ enum crkbd_keycodes { RGBRST = NEW_SAFE_RANGE }; | |||
27 | */ | 27 | */ |
28 | 28 | ||
29 | // clang-format off | 29 | // clang-format off |
30 | #define LAYOUT_split_3x6_3_wrapper(...) LAYOUT_split_3x6_3(__VA_ARGS__) | ||
30 | #define LAYOUT_split_3x6_3_base( \ | 31 | #define LAYOUT_split_3x6_3_base( \ |
31 | K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, \ | 32 | K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, \ |
32 | K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, \ | 33 | K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, \ |
33 | K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A \ | 34 | K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A \ |
34 | ) \ | 35 | ) \ |
35 | LAYOUT_split_3x6_3_wrapper( \ | 36 | LAYOUT_split_3x6_3_wrapper( \ |
36 | KC_ESC, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, KC_MINS, \ | 37 | KC_ESC, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, KC_MINS, \ |
37 | ALT_T(KC_TAB), K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, RALT_T(KC_QUOT), \ | 38 | ALT_T(KC_TAB), K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, RALT_T(K1B), \ |
38 | OS_LSFT, CTL_T(K21), K22, K23, K24, K25, K26, K27, K28, K29, RCTL_T(K2A), OS_RSFT, \ | 39 | OS_LSFT, CTL_T(K21), K22, K23, K24, K25, K26, K27, K28, K29, RCTL_T(K2A), OS_RSFT, \ |
39 | RGB_MOD, KC_SPC, BK_LWER, DL_RAIS, KC_ENT, OS_RGUI \ | 40 | RGB_MOD, KC_SPC, BK_LWER, DL_RAIS, KC_ENT, OS_RGUI \ |
40 | ) | 41 | ) |
@@ -121,11 +122,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { | |||
121 | 122 | ||
122 | #ifdef OLED_DRIVER_ENABLE | 123 | #ifdef OLED_DRIVER_ENABLE |
123 | oled_rotation_t oled_init_user(oled_rotation_t rotation) { | 124 | oled_rotation_t oled_init_user(oled_rotation_t rotation) { |
124 | if (is_keyboard_master()) { | 125 | return OLED_ROTATION_270; |
125 | return OLED_ROTATION_270; | ||
126 | } else { | ||
127 | return rotation; | ||
128 | } | ||
129 | } | 126 | } |
130 | #endif | 127 | #endif |
131 | 128 | ||
diff --git a/layouts/community/split_3x6_3/drashna/mcuconf.h b/layouts/community/split_3x6_3/drashna/mcuconf.h index 429e4e1cd..649af5d1f 100644 --- a/layouts/community/split_3x6_3/drashna/mcuconf.h +++ b/layouts/community/split_3x6_3/drashna/mcuconf.h | |||
@@ -19,14 +19,18 @@ | |||
19 | 19 | ||
20 | // #undef STM32_HSE_ENABLED | 20 | // #undef STM32_HSE_ENABLED |
21 | // #define STM32_HSE_ENABLED FALSE | 21 | // #define STM32_HSE_ENABLED FALSE |
22 | #undef STM32_GPT_USE_TIM15 | 22 | // #undef STM32_GPT_USE_TIM15 |
23 | #define STM32_GPT_USE_TIM15 FALSE | 23 | // #define STM32_GPT_USE_TIM15 FALSE |
24 | 24 | ||
25 | #undef STM32_PWM_USE_TIM15 | 25 | #undef STM32_PWM_USE_TIM2 |
26 | #define STM32_PWM_USE_TIM15 TRUE | 26 | #define STM32_PWM_USE_TIM2 TRUE |
27 | #undef STM32_PWM_USE_TIM3 | ||
28 | #define STM32_PWM_USE_TIM3 FALSE | ||
27 | 29 | ||
28 | #undef STM32_SERIAL_USE_USART1 | 30 | #undef STM32_SERIAL_USE_USART1 |
29 | #define STM32_SERIAL_USE_USART1 TRUE | 31 | #define STM32_SERIAL_USE_USART1 TRUE |
30 | 32 | ||
31 | #undef STM32_PWM_TIM15_IRQ_PRIORITY | 33 | // #undef STM32_PWM_TIM15_IRQ_PRIORITY |
32 | #define STM32_PWM_TIM15_IRQ_PRIORITY 16 | 34 | // #define STM32_PWM_TIM15_IRQ_PRIORITY 16 |
35 | #undef STM32_ST_USE_TIMER | ||
36 | #define STM32_ST_USE_TIMER 3 | ||
diff --git a/layouts/community/split_3x6_3/drashna/rules.mk b/layouts/community/split_3x6_3/drashna/rules.mk index 5358cb0ac..db284f78d 100644 --- a/layouts/community/split_3x6_3/drashna/rules.mk +++ b/layouts/community/split_3x6_3/drashna/rules.mk | |||
@@ -29,6 +29,6 @@ endif | |||
29 | 29 | ||
30 | ifeq ($(strip $(CTPC)), yes) | 30 | ifeq ($(strip $(CTPC)), yes) |
31 | HAPTIC_ENABLE = no | 31 | HAPTIC_ENABLE = no |
32 | WS2812_DRIVER = pwm | 32 | WS2812_DRIVER = pwm # won't work without a patch to the ctpc mk file |
33 | SERIAL_DRIVER = usart | 33 | SERIAL_DRIVER = usart |
34 | endif | 34 | endif |
diff --git a/users/drashna/config.h b/users/drashna/config.h index 8837ca0a5..8081af9cc 100644 --- a/users/drashna/config.h +++ b/users/drashna/config.h | |||
@@ -22,8 +22,11 @@ | |||
22 | /* Set Polling rate to 1000Hz */ | 22 | /* Set Polling rate to 1000Hz */ |
23 | #define USB_POLLING_INTERVAL_MS 1 | 23 | #define USB_POLLING_INTERVAL_MS 1 |
24 | 24 | ||
25 | #if defined(SPLIT_KEYBOAD) | 25 | #if defined(SPLIT_KEYBOARD) |
26 | # define SPLIT_MODS_ENABLE | 26 | # define SPLIT_MODS_ENABLE |
27 | // # define SPLIT_TRANSPORT_MIRROR | ||
28 | # define SERIAL_USE_MULTI_TRANSACTION | ||
29 | // # define SPLIT_NUM_TRANSACTIONS_KB 2 | ||
27 | #endif | 30 | #endif |
28 | 31 | ||
29 | #ifdef AUDIO_ENABLE | 32 | #ifdef AUDIO_ENABLE |
@@ -111,6 +114,18 @@ | |||
111 | # else | 114 | # else |
112 | # define OLED_UPDATE_INTERVAL 15 | 115 | # define OLED_UPDATE_INTERVAL 15 |
113 | # endif | 116 | # endif |
117 | # define OLED_DISABLE_TIMEOUT | ||
118 | # define OLED_FONT_H "drashna_font.h" | ||
119 | # define OLED_FONT_END 255 | ||
120 | // # define OLED_FONT_5X5 | ||
121 | // # define OLED_FONT_AZTECH | ||
122 | // # define OLED_FONT_BMPLAIN | ||
123 | // # define OLED_FONT_SUPER_DIGG | ||
124 | // # define OLED_LOGO_GMK_BAD | ||
125 | // # define OLED_LOGO_HUE_MANITEE | ||
126 | // # define OLED_LOGO_CORNE | ||
127 | // # define OLED_LOGO_GOTHAM | ||
128 | # define OLED_LOGO_SCIFI | ||
114 | #endif | 129 | #endif |
115 | 130 | ||
116 | #ifndef ONESHOT_TAP_TOGGLE | 131 | #ifndef ONESHOT_TAP_TOGGLE |
@@ -162,3 +177,22 @@ | |||
162 | #ifdef LOCKING_RESYNC_ENABLE | 177 | #ifdef LOCKING_RESYNC_ENABLE |
163 | # undef LOCKING_RESYNC_ENABLE | 178 | # undef LOCKING_RESYNC_ENABLE |
164 | #endif | 179 | #endif |
180 | |||
181 | #ifdef CONVERT_TO_PROTON_C | ||
182 | // pins that are available but not present on Pro Micro | ||
183 | # define A3 PAL_LINE(GPIOA, 3) | ||
184 | # define A4 PAL_LINE(GPIOA, 4) | ||
185 | # define A5 PAL_LINE(GPIOA, 5) | ||
186 | # define A6 PAL_LINE(GPIOA, 6) | ||
187 | # define A7 PAL_LINE(GPIOA, 7) | ||
188 | # define A8 PAL_LINE(GPIOA, 8) | ||
189 | # define A13 PAL_LINE(GPIOA, 13) | ||
190 | # define A14 PAL_LINE(GPIOA, 14) | ||
191 | # define A15 PAL_LINE(GPIOA, 15) | ||
192 | # define B10 PAL_LINE(GPIOB, 10) | ||
193 | # define B11 PAL_LINE(GPIOB, 11) | ||
194 | # define B12 PAL_LINE(GPIOB, 12) | ||
195 | # define C13 PAL_LINE(GPIOC, 13) | ||
196 | # define C14 PAL_LINE(GPIOC, 14) | ||
197 | # define C15 PAL_LINE(GPIOC, 15) | ||
198 | #endif | ||
diff --git a/users/drashna/drashna.c b/users/drashna/drashna.c index 95c9d2f62..6a13f0d9b 100644 --- a/users/drashna/drashna.c +++ b/users/drashna/drashna.c | |||
@@ -111,7 +111,12 @@ void shutdown_user(void) { | |||
111 | 111 | ||
112 | __attribute__((weak)) void suspend_power_down_keymap(void) {} | 112 | __attribute__((weak)) void suspend_power_down_keymap(void) {} |
113 | 113 | ||
114 | void suspend_power_down_user(void) { suspend_power_down_keymap(); } | 114 | void suspend_power_down_user(void) { |
115 | #ifdef OLED_DRIVER_ENABLE | ||
116 | oled_off(); | ||
117 | #endif | ||
118 | suspend_power_down_keymap(); | ||
119 | } | ||
115 | 120 | ||
116 | __attribute__((weak)) void suspend_wakeup_init_keymap(void) {} | 121 | __attribute__((weak)) void suspend_wakeup_init_keymap(void) {} |
117 | 122 | ||
@@ -146,17 +151,34 @@ void matrix_scan_user(void) { | |||
146 | matrix_scan_keymap(); | 151 | matrix_scan_keymap(); |
147 | } | 152 | } |
148 | 153 | ||
154 | #ifdef AUDIO_ENABLE | ||
155 | float doom_song[][2] = SONG(E1M1_DOOM); | ||
156 | #endif | ||
157 | |||
149 | __attribute__((weak)) layer_state_t layer_state_set_keymap(layer_state_t state) { return state; } | 158 | __attribute__((weak)) layer_state_t layer_state_set_keymap(layer_state_t state) { return state; } |
150 | 159 | ||
151 | // on layer change, no matter where the change was initiated | 160 | // on layer change, no matter where the change was initiated |
152 | // Then runs keymap's layer change check | 161 | // Then runs keymap's layer change check |
153 | layer_state_t layer_state_set_user(layer_state_t state) { | 162 | layer_state_t layer_state_set_user(layer_state_t state) { |
154 | if (!is_keyboard_master()) { return state; } | 163 | if (!is_keyboard_master()) { |
155 | 164 | return state; | |
165 | } | ||
166 | |||
156 | state = update_tri_layer_state(state, _RAISE, _LOWER, _ADJUST); | 167 | state = update_tri_layer_state(state, _RAISE, _LOWER, _ADJUST); |
157 | #if defined(RGBLIGHT_ENABLE) | 168 | #if defined(RGBLIGHT_ENABLE) |
158 | state = layer_state_set_rgb_light(state); | 169 | state = layer_state_set_rgb_light(state); |
159 | #endif // RGBLIGHT_ENABLE | 170 | #endif // RGBLIGHT_ENABLE |
171 | #if defined(AUDIO_ENABLE) && !defined(__arm__) | ||
172 | static bool is_gamepad_on = false; | ||
173 | if (layer_state_cmp(state, _GAMEPAD) != is_gamepad_on) { | ||
174 | is_gamepad_on = layer_state_cmp(state, _GAMEPAD); | ||
175 | if (is_gamepad_on) { | ||
176 | PLAY_LOOP(doom_song); | ||
177 | } else { | ||
178 | stop_all_notes(); | ||
179 | } | ||
180 | } | ||
181 | #endif | ||
160 | return layer_state_set_keymap(state); | 182 | return layer_state_set_keymap(state); |
161 | } | 183 | } |
162 | 184 | ||
@@ -164,7 +186,9 @@ __attribute__((weak)) layer_state_t default_layer_state_set_keymap(layer_state_t | |||
164 | 186 | ||
165 | // Runs state check and changes underglow color and animation | 187 | // Runs state check and changes underglow color and animation |
166 | layer_state_t default_layer_state_set_user(layer_state_t state) { | 188 | layer_state_t default_layer_state_set_user(layer_state_t state) { |
167 | if (!is_keyboard_master()) { return state; } | 189 | if (!is_keyboard_master()) { |
190 | return state; | ||
191 | } | ||
168 | 192 | ||
169 | state = default_layer_state_set_keymap(state); | 193 | state = default_layer_state_set_keymap(state); |
170 | #if 0 | 194 | #if 0 |
@@ -189,6 +213,9 @@ void eeconfig_init_user(void) { | |||
189 | userspace_config.rgb_layer_change = true; | 213 | userspace_config.rgb_layer_change = true; |
190 | eeconfig_update_user(userspace_config.raw); | 214 | eeconfig_update_user(userspace_config.raw); |
191 | eeconfig_init_keymap(); | 215 | eeconfig_init_keymap(); |
216 | #ifdef VIA_ENABLE | ||
217 | via_eeprom_reset(); | ||
218 | #endif | ||
192 | keyboard_init(); | 219 | keyboard_init(); |
193 | } | 220 | } |
194 | 221 | ||
diff --git a/users/drashna/drashna.h b/users/drashna/drashna.h index 35d11101d..9a18a8296 100644 --- a/users/drashna/drashna.h +++ b/users/drashna/drashna.h | |||
@@ -105,3 +105,7 @@ We use custom codes here, so we can substitute the right stuff | |||
105 | # define KC_D3_3 KC_3 | 105 | # define KC_D3_3 KC_3 |
106 | # define KC_D3_4 KC_4 | 106 | # define KC_D3_4 KC_4 |
107 | #endif // TAP_DANCE_ENABLE | 107 | #endif // TAP_DANCE_ENABLE |
108 | |||
109 | #if defined(DRASHNA_CUSTOM_TRANSPORT) && defined(POINTING_DEVICE_ENABLE) | ||
110 | void master_mouse_send(int8_t x, int8_t y); | ||
111 | #endif | ||
diff --git a/users/drashna/drashna_font.h b/users/drashna/drashna_font.h new file mode 100644 index 000000000..6a3865a44 --- /dev/null +++ b/users/drashna/drashna_font.h | |||
@@ -0,0 +1,1306 @@ | |||
1 | #pragma once | ||
2 | |||
3 | // additional fonts from | ||
4 | // https://github.com/datacute/TinyOLED-Fonts | ||
5 | |||
6 | #include "progmem.h" | ||
7 | |||
8 | static const unsigned char font[] PROGMEM = { | ||
9 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // 0x00 0 | ||
10 | 0x3E, 0x5B, 0x4F, 0x5B, 0x3E, 0x00, // 0x01 1 | ||
11 | 0x3E, 0x6B, 0x4F, 0x6B, 0x3E, 0x00, // 0x02 2 | ||
12 | 0x1C, 0x3E, 0x7C, 0x3E, 0x1C, 0x00, // 0x03 3 ♥ | ||
13 | 0x18, 0x3C, 0x7E, 0x3C, 0x18, 0x00, // 0x04 4 ♦ | ||
14 | 0x1C, 0x57, 0x7D, 0x57, 0x1C, 0x00, // 0x05 5 ♧ | ||
15 | 0x1C, 0x5E, 0x7F, 0x5E, 0x1C, 0x00, // 0x06 6 ♤ | ||
16 | 0x00, 0x18, 0x3C, 0x18, 0x00, 0x00, // 0x07 7 | ||
17 | 0xFF, 0xE7, 0xC3, 0xE7, 0xFF, 0x00, // 0x08 8 | ||
18 | 0x00, 0x18, 0x24, 0x18, 0x00, 0x00, // 0x09 9 | ||
19 | 0xFF, 0xE7, 0xDB, 0xE7, 0xFF, 0x00, // 0x0A 10 | ||
20 | 0x30, 0x48, 0x3A, 0x06, 0x0E, 0x00, // 0x0B 11 ♂ | ||
21 | 0x26, 0x29, 0x79, 0x29, 0x26, 0x00, // 0x0C 12 ♀ | ||
22 | 0x40, 0x7F, 0x05, 0x05, 0x07, 0x00, // 0x0D 13 ♪ | ||
23 | 0x40, 0x7F, 0x05, 0x25, 0x3F, 0x00, // 0x0E 14 ♫ | ||
24 | 0x5A, 0x3C, 0xE7, 0x3C, 0x5A, 0x00, // 0x0F 15 | ||
25 | 0x7F, 0x3E, 0x1C, 0x1C, 0x08, 0x00, // 0x10 16 | ||
26 | 0x08, 0x1C, 0x1C, 0x3E, 0x7F, 0x00, // 0x11 17 | ||
27 | 0x14, 0x22, 0x7F, 0x22, 0x14, 0x00, // 0x12 18 ↕ | ||
28 | 0x5F, 0x5F, 0x00, 0x5F, 0x5F, 0x00, // 0x13 19 ‼ | ||
29 | 0x06, 0x09, 0x7F, 0x01, 0x7F, 0x00, // 0x14 20 ¶ | ||
30 | 0x00, 0x66, 0x89, 0x95, 0x6A, 0x00, // 0x15 21 § | ||
31 | 0x60, 0x60, 0x60, 0x60, 0x60, 0x00, // 0x16 22 _ | ||
32 | 0x94, 0xA2, 0xFF, 0xA2, 0x94, 0x00, // 0x17 23 ↨ | ||
33 | 0x08, 0x04, 0x7E, 0x04, 0x08, 0x00, // 0x18 24 ↑ | ||
34 | 0x10, 0x20, 0x7E, 0x20, 0x10, 0x00, // 0x19 25 ↓ | ||
35 | 0x08, 0x08, 0x2A, 0x1C, 0x08, 0x00, // 0x1A 26 → | ||
36 | 0x08, 0x1C, 0x2A, 0x08, 0x08, 0x00, // 0x1B 27 ← | ||
37 | 0x1E, 0x10, 0x10, 0x10, 0x10, 0x00, // 0x1C 28 ⌙h | ||
38 | 0x0C, 0x1E, 0x0C, 0x1E, 0x0C, 0x00, // 0x1D 29 ↭ | ||
39 | 0x30, 0x38, 0x3E, 0x38, 0x30, 0x00, // 0x1E 30 | ||
40 | 0x06, 0x0E, 0x3E, 0x0E, 0x06, 0x00, // 0x1F 31 | ||
41 | #if defined(OLED_FONT_5X5) | ||
42 | 0x00,0x00,0x00,0x00,0x00,0x00, // 0x20 32 | ||
43 | 0x5c,0x00,0x00,0x00,0x00,0x00, // 0x21 33 ! | ||
44 | 0x06,0x00,0x06,0x00,0x00,0x00, // 0x22 34 " | ||
45 | 0x28,0x7c,0x28,0x7c,0x28,0x00, // 0x23 35 # | ||
46 | 0x5c,0x54,0xfe,0x54,0x74,0x00, // 0x24 36 $ | ||
47 | 0x44,0x20,0x10,0x08,0x44,0x00, // 0x25 37 % | ||
48 | 0x28,0x54,0x54,0x20,0x50,0x00, // 0x26 38 & | ||
49 | 0x06,0x00,0x00,0x00,0x00,0x00, // 0x27 39 ' | ||
50 | 0x38,0x44,0x00,0x00,0x00,0x00, // 0x28 40 ( | ||
51 | 0x44,0x38,0x00,0x00,0x00,0x00, // 0x29 41 ) | ||
52 | 0x02,0x07,0x02,0x00,0x00,0x00, // 0x2A 42 * | ||
53 | 0x10,0x10,0x7c,0x10,0x10,0x00, // 0x2B 43 + | ||
54 | 0xc0,0x00,0x00,0x00,0x00,0x00, // 0x2C 44 , | ||
55 | 0x10,0x10,0x10,0x10,0x10,0x00, // 0x2D 45 - | ||
56 | 0x40,0x00,0x00,0x00,0x00,0x00, // 0x2E 46 . | ||
57 | 0x60,0x10,0x0c,0x00,0x00,0x00, // 0x2F 47 / | ||
58 | 0x7c,0x64,0x54,0x4c,0x7c,0x00, // 0x30 48 0 | ||
59 | 0x48,0x7c,0x40,0x00,0x00,0x00, // 0x31 49 1 | ||
60 | 0x64,0x54,0x54,0x54,0x48,0x00, // 0x32 50 2 | ||
61 | 0x44,0x54,0x54,0x54,0x6c,0x00, // 0x33 51 3 | ||
62 | 0x3c,0x20,0x70,0x20,0x20,0x00, // 0x34 52 4 | ||
63 | 0x5c,0x54,0x54,0x54,0x24,0x00, // 0x35 53 5 | ||
64 | 0x7c,0x54,0x54,0x54,0x74,0x00, // 0x36 54 6 | ||
65 | 0x04,0x04,0x64,0x14,0x0c,0x00, // 0x37 55 7 | ||
66 | 0x7c,0x54,0x54,0x54,0x7c,0x00, // 0x38 56 8 | ||
67 | 0x5c,0x54,0x54,0x54,0x7c,0x00, // 0x39 57 9 | ||
68 | 0x44,0x00,0x00,0x00,0x00,0x00, // 0x3A 58 : | ||
69 | 0xc4,0x00,0x00,0x00,0x00,0x00, // 0x3B 59 ; | ||
70 | 0x10,0x28,0x44,0x00,0x00,0x00, // 0x3C 60 < | ||
71 | 0x28,0x28,0x28,0x28,0x28,0x00, // 0x3D 61 = | ||
72 | 0x44,0x28,0x10,0x00,0x00,0x00, // 0x3E 62 > | ||
73 | 0x08,0x04,0x54,0x08,0x00,0x00, // 0x3F 63 ? | ||
74 | 0x7c,0x44,0x54,0x54,0x5c,0x00, // 0x40 64 @ | ||
75 | 0x7c,0x24,0x24,0x24,0x7c,0x00, // 0x41 65 A | ||
76 | 0x7c,0x54,0x54,0x54,0x6c,0x00, // 0x42 66 B | ||
77 | 0x7c,0x44,0x44,0x44,0x44,0x00, // 0x43 67 C | ||
78 | 0x7c,0x44,0x44,0x44,0x38,0x00, // 0x44 68 D | ||
79 | 0x7c,0x54,0x54,0x54,0x44,0x00, // 0x45 69 E | ||
80 | 0x7c,0x14,0x14,0x14,0x04,0x00, // 0x46 70 F | ||
81 | 0x7c,0x44,0x44,0x54,0x74,0x00, // 0x47 71 G | ||
82 | 0x7c,0x10,0x10,0x10,0x7c,0x00, // 0x48 72 H | ||
83 | 0x44,0x44,0x7c,0x44,0x44,0x00, // 0x49 73 I | ||
84 | 0x60,0x40,0x40,0x44,0x7c,0x00, // 0x4A 74 J | ||
85 | 0x7c,0x10,0x10,0x28,0x44,0x00, // 0x4B 75 K | ||
86 | 0x7c,0x40,0x40,0x40,0x40,0x00, // 0x4C 76 L | ||
87 | 0x7c,0x08,0x10,0x08,0x7c,0x00, // 0x4D 77 M | ||
88 | 0x7c,0x08,0x10,0x20,0x7c,0x00, // 0x4E 78 N | ||
89 | 0x38,0x44,0x44,0x44,0x38,0x00, // 0x4F 79 O | ||
90 | 0x7c,0x14,0x14,0x14,0x08,0x00, // 0x50 80 P | ||
91 | 0x3c,0x24,0x64,0x24,0x3c,0x00, // 0x51 81 Q | ||
92 | 0x7c,0x14,0x14,0x14,0x68,0x00, // 0x52 82 R | ||
93 | 0x5c,0x54,0x54,0x54,0x74,0x00, // 0x53 83 S | ||
94 | 0x04,0x04,0x7c,0x04,0x04,0x00, // 0x54 84 T | ||
95 | 0x7c,0x40,0x40,0x40,0x7c,0x00, // 0x55 85 U | ||
96 | 0x0c,0x30,0x40,0x30,0x0c,0x00, // 0x56 86 V | ||
97 | 0x3c,0x40,0x30,0x40,0x3c,0x00, // 0x57 87 W | ||
98 | 0x44,0x28,0x10,0x28,0x44,0x00, // 0x58 88 X | ||
99 | 0x0c,0x10,0x60,0x10,0x0c,0x00, // 0x59 89 Y | ||
100 | 0x44,0x64,0x54,0x4c,0x44,0x00, // 0x5A 90 Z | ||
101 | 0x7c,0x44,0x00,0x00,0x00,0x00, // 0x5B 91 [ | ||
102 | 0x0c,0x10,0x60,0x00,0x00,0x00, // 0x5C 92 \ backslash | ||
103 | 0x44,0x7c,0x00,0x00,0x00,0x00, // 0x5D 93 ] | ||
104 | 0x00,0x01,0x00,0x01,0x00,0x00, // 0x5E 94 ^ | ||
105 | 0x40,0x40,0x40,0x40,0x40,0x40, // 0x5F 95 _ | ||
106 | 0x00,0x01,0x00,0x00,0x00,0x00, // 0x60 96 ` | ||
107 | 0x7c,0x24,0x24,0x24,0x7c,0x00, // 0x61 97 a | ||
108 | 0x7c,0x54,0x54,0x54,0x6c,0x00, // 0x62 98 b | ||
109 | 0x7c,0x44,0x44,0x44,0x44,0x00, // 0x63 99 c | ||
110 | 0x7c,0x44,0x44,0x44,0x38,0x00, // 0x64 100 d | ||
111 | 0x7c,0x54,0x54,0x54,0x44,0x00, // 0x65 101 e | ||
112 | 0x7c,0x14,0x14,0x14,0x04,0x00, // 0x66 102 f | ||
113 | 0x7c,0x44,0x44,0x54,0x74,0x00, // 0x67 103 g | ||
114 | 0x7c,0x10,0x10,0x10,0x7c,0x00, // 0x68 104 h | ||
115 | 0x44,0x44,0x7c,0x44,0x44,0x00, // 0x69 105 i | ||
116 | 0x60,0x40,0x40,0x44,0x7c,0x00, // 0x6A 106 j | ||
117 | 0x7c,0x10,0x10,0x28,0x44,0x00, // 0x6B 107 k | ||
118 | 0x7c,0x40,0x40,0x40,0x40,0x00, // 0x6C 108 l | ||
119 | 0x7c,0x08,0x10,0x08,0x7c,0x00, // 0x6D 109 m | ||
120 | 0x7c,0x08,0x10,0x20,0x7c,0x00, // 0x6E 110 n | ||
121 | 0x38,0x44,0x44,0x44,0x38,0x00, // 0x6F 111 o | ||
122 | 0x7c,0x14,0x14,0x14,0x08,0x00, // 0x70 112 p | ||
123 | 0x3c,0x24,0x64,0x24,0x3c,0x00, // 0x71 113 q | ||
124 | 0x7c,0x14,0x14,0x14,0x68,0x00, // 0x72 114 r | ||
125 | 0x5c,0x54,0x54,0x54,0x74,0x00, // 0x73 115 s | ||
126 | 0x04,0x04,0x7c,0x04,0x04,0x00, // 0x74 116 t | ||
127 | 0x7c,0x40,0x40,0x40,0x7c,0x00, // 0x75 117 u | ||
128 | 0x0c,0x30,0x40,0x30,0x0c,0x00, // 0x76 118 v | ||
129 | 0x3c,0x40,0x30,0x40,0x3c,0x00, // 0x77 119 w | ||
130 | 0x44,0x28,0x10,0x28,0x44,0x00, // 0x78 120 x | ||
131 | 0x0c,0x10,0x60,0x10,0x0c,0x00, // 0x79 121 y | ||
132 | 0x44,0x64,0x54,0x4c,0x44,0x00, // 0x7A 122 z | ||
133 | 0x10,0x7c,0x44,0x00,0x00,0x00, // 0x7B 123 { | ||
134 | 0x6c,0x00,0x00,0x00,0x00,0x00, // 0x7C 124 | | ||
135 | 0x44,0x7c,0x10,0x00,0x00,0x00, // 0x7D 125 } | ||
136 | 0x02,0x01,0x02,0x01,0x00,0x00, // 0x7E 126 ~ | ||
137 | 0x00,0x00,0x00,0x00,0x00,0x00, // 0x7F 127 | ||
138 | #elif defined(OLED_FONT_AZTECH) | ||
139 | 0x00,0x00,0x00,0x00,0x00,0x00, // 0x20 32 | ||
140 | 0x00,0x2e,0x00,0x00,0x00,0x00, // 0x21 33 ! | ||
141 | 0x00,0x02,0x00,0x02,0x00,0x00, // 0x22 34 " | ||
142 | 0x00,0x0a,0x1e,0x0a,0x1e,0x00, // 0x23 35 # | ||
143 | 0x00,0x0e,0x2a,0x6b,0x2a,0x3a, // 0x24 36 $ | ||
144 | 0x00,0x06,0x06,0x26,0x18,0x06, // 0x25 37 % | ||
145 | 0x38,0x3e,0x2a,0x2a,0x28,0x38, // 0x26 38 & | ||
146 | 0x18,0x02,0x00,0x00,0x00,0x00, // 0x27 39 ' | ||
147 | 0x00,0x3e,0x22,0x00,0x00,0x00, // 0x28 40 ( | ||
148 | 0x00,0x22,0x3e,0x00,0x00,0x00, // 0x29 41 ) | ||
149 | 0x00,0x0e,0x0e,0x0e,0x04,0x00, // 0x2A 42 * | ||
150 | 0x00,0x08,0x1c,0x08,0x00,0x00, // 0x2B 43 + | ||
151 | 0x00,0x20,0x00,0x00,0x00,0x00, // 0x2C 44 , | ||
152 | 0x00,0x08,0x08,0x08,0x00,0x00, // 0x2D 45 - | ||
153 | 0x00,0x20,0x00,0x00,0x00,0x00, // 0x2E 46 . | ||
154 | 0x00,0x20,0x18,0x06,0x00,0x00, // 0x2F 47 / | ||
155 | 0x00,0x3e,0x22,0x2a,0x22,0x3e, // 0x30 48 0 | ||
156 | 0x02,0x3e,0x00,0x00,0x00,0x00, // 0x31 49 1 | ||
157 | 0x00,0x38,0x28,0x2a,0x2a,0x2e, // 0x32 50 2 | ||
158 | 0x00,0x22,0x2a,0x2e,0x38,0x00, // 0x33 51 3 | ||
159 | 0x00,0x0e,0x08,0x08,0x3e,0x08, // 0x34 52 4 | ||
160 | 0x00,0x2e,0x2a,0x2a,0x28,0x38, // 0x35 53 5 | ||
161 | 0x00,0x3e,0x2a,0x2a,0x28,0x38, // 0x36 54 6 | ||
162 | 0x00,0x06,0x02,0x02,0x0a,0x3e, // 0x37 55 7 | ||
163 | 0x00,0x38,0x2e,0x2a,0x2e,0x38, // 0x38 56 8 | ||
164 | 0x00,0x0e,0x0a,0x2a,0x2a,0x3e, // 0x39 57 9 | ||
165 | 0x00,0x28,0x00,0x00,0x00,0x00, // 0x3A 58 : | ||
166 | 0x00,0x28,0x00,0x00,0x00,0x00, // 0x3B 59 ; | ||
167 | 0x00,0x08,0x14,0x22,0x00,0x00, // 0x3C 60 < | ||
168 | 0x00,0x14,0x14,0x14,0x14,0x00, // 0x3D 61 = | ||
169 | 0x00,0x22,0x14,0x08,0x00,0x00, // 0x3E 62 > | ||
170 | 0x00,0x06,0x02,0x2a,0x0a,0x06, // 0x3F 63 ? | ||
171 | 0x00,0x3e,0x02,0x3a,0x2a,0x0a, // 0x40 64 @ | ||
172 | 0x22,0x3e,0x02,0x0a,0x0a,0x3e, // 0x41 65 A | ||
173 | 0x00,0x3e,0x22,0x2a,0x2e,0x38, // 0x42 66 B | ||
174 | 0x00,0x3e,0x22,0x22,0x20,0x30, // 0x43 67 C | ||
175 | 0x00,0x3e,0x22,0x22,0x22,0x3c, // 0x44 68 D | ||
176 | 0x00,0x3e,0x2a,0x22,0x20,0x30, // 0x45 69 E | ||
177 | 0x00,0x3e,0x0a,0x0a,0x06,0x02, // 0x46 70 F | ||
178 | 0x00,0x3e,0x22,0x2a,0x28,0x38, // 0x47 71 G | ||
179 | 0x00,0x3e,0x08,0x08,0x08,0x3e, // 0x48 72 H | ||
180 | 0x00,0x22,0x3e,0x22,0x00,0x00, // 0x49 73 I | ||
181 | 0x00,0x30,0x20,0x20,0x22,0x3e, // 0x4A 74 J | ||
182 | 0x00,0x3e,0x08,0x08,0x0e,0x38, // 0x4B 75 K | ||
183 | 0x00,0x3e,0x20,0x20,0x20,0x30, // 0x4C 76 L | ||
184 | 0x00,0x3e,0x02,0x3e,0x20,0x3e, // 0x4D 77 M | ||
185 | 0x3e,0x3e,0x02,0x3e,0x20,0x3e, // 0x4E 78 N | ||
186 | 0x00,0x3e,0x22,0x22,0x22,0x3e, // 0x4F 79 O | ||
187 | 0x00,0x3e,0x02,0x0a,0x0a,0x0e, // 0x50 80 P | ||
188 | 0x00,0x3e,0x22,0x22,0x22,0x3e, // 0x51 81 Q | ||
189 | 0x00,0x3e,0x02,0x0a,0x0e,0x38, // 0x52 82 R | ||
190 | 0x00,0x0e,0x0a,0x2a,0x2a,0x3a, // 0x53 83 S | ||
191 | 0x00,0x06,0x02,0x3e,0x02,0x06, // 0x54 84 T | ||
192 | 0x00,0x3e,0x20,0x20,0x20,0x3e, // 0x55 85 U | ||
193 | 0x00,0x3e,0x20,0x20,0x3e,0x00, // 0x56 86 V | ||
194 | 0x00,0x3e,0x20,0x3e,0x02,0x3e, // 0x57 87 W | ||
195 | 0x3e,0x3a,0x0e,0x08,0x0e,0x3a, // 0x58 88 X | ||
196 | 0x00,0x0e,0x08,0x08,0x28,0x3e, // 0x59 89 Y | ||
197 | 0x00,0x3a,0x2a,0x2a,0x0a,0x0e, // 0x5A 90 Z | ||
198 | 0x00,0x3e,0x22,0x00,0x00,0x00, // 0x5B 91 [ | ||
199 | 0x00,0x02,0x0c,0x30,0x00,0x00, // 0x5C 92 \ backslash | ||
200 | 0x22,0x3e,0x00,0x00,0x00,0x00, // 0x5D 93 ] | ||
201 | 0x00,0x01,0x00,0x01,0x00,0x00, // 0x5E 94 ^ | ||
202 | 0x00,0x20,0x20,0x20,0x00,0x00, // 0x5F 95 _ | ||
203 | 0x00,0x01,0x00,0x00,0x00,0x00, // 0x60 96 ` | ||
204 | 0x00,0x38,0x28,0x28,0x08,0x38, // 0x61 97 a | ||
205 | 0x00,0x3e,0x20,0x28,0x28,0x38, // 0x62 98 b | ||
206 | 0x00,0x38,0x28,0x28,0x20,0x30, // 0x63 99 c | ||
207 | 0x00,0x38,0x28,0x28,0x20,0x3e, // 0x64 100 d | ||
208 | 0x00,0xf8,0x88,0x28,0x28,0x38, // 0x65 101 e | ||
209 | 0x00,0xf8,0x28,0x28,0x18,0x08, // 0x66 102 f | ||
210 | 0x00,0x38,0x28,0xa8,0x88,0xf8, // 0x67 103 g | ||
211 | 0x00,0x3c,0x08,0x08,0x08,0x38, // 0x68 104 h | ||
212 | 0x00,0x3a,0x00,0x00,0x00,0x00, // 0x69 105 i | ||
213 | 0x80,0xfa,0x00,0x00,0x00,0x00, // 0x6A 106 j | ||
214 | 0x00,0x3e,0x08,0x08,0x38,0x2c, // 0x6B 107 k | ||
215 | 0x00,0x3e,0x20,0x00,0x00,0x00, // 0x6C 108 l | ||
216 | 0x00,0x38,0x08,0x38,0x20,0x38, // 0x6D 109 m | ||
217 | 0x38,0x38,0x08,0x38,0x20,0x38, // 0x6E 110 n | ||
218 | 0x00,0x38,0x28,0x28,0x28,0x38, // 0x6F 111 o | ||
219 | 0x00,0xf8,0x08,0x28,0x28,0x38, // 0x70 112 p | ||
220 | 0x00,0x38,0x28,0x28,0x08,0xf8, // 0x71 113 q | ||
221 | 0x00,0x38,0x08,0x08,0x18,0x08, // 0x72 114 r | ||
222 | 0x00,0x38,0x28,0xa8,0xa8,0xe8, // 0x73 115 s | ||
223 | 0x00,0x3e,0x28,0x28,0x20,0x30, // 0x74 116 t | ||
224 | 0x00,0x38,0x20,0x20,0x20,0x38, // 0x75 117 u | ||
225 | 0x00,0x38,0x20,0x38,0x00,0x00, // 0x76 118 v | ||
226 | 0x00,0x38,0x20,0x38,0x08,0x38, // 0x77 119 w | ||
227 | 0x38,0x28,0x38,0x10,0x38,0x28, // 0x78 120 x | ||
228 | 0x00,0x38,0x20,0xa0,0xa0,0xf8, // 0x79 121 y | ||
229 | 0x00,0xe8,0xa8,0xa8,0x28,0x38, // 0x7A 122 z | ||
230 | 0x08,0x3e,0x22,0x00,0x00,0x00, // 0x7B 123 { | ||
231 | 0x00,0x3f,0x00,0x00,0x00,0x00, // 0x7C 124 | | ||
232 | 0x22,0x3e,0x08,0x00,0x00,0x00, // 0x7D 125 } | ||
233 | 0x00,0x00,0x00,0x00,0x00,0x00, // 0x7E 126 ~ | ||
234 | 0x00,0x00,0x00,0x00,0x00,0x00, // 0x7F 127 | ||
235 | #elif defined(OLED_FONT_BMPLAIN) | ||
236 | 0x00,0x00,0x00,0x00,0x00,0x00, // 0x20 32 | ||
237 | 0x2e,0x00,0x00,0x00,0x00,0x00, // 0x21 33 ! | ||
238 | 0x03,0x00,0x03,0x00,0x00,0x00, // 0x22 34 " | ||
239 | 0x0a,0x1f,0x0a,0x1f,0x0a,0x00, // 0x23 35 # | ||
240 | 0x2e,0x2a,0x6b,0x2a,0x3a,0x00, // 0x24 36 $ | ||
241 | 0x0e,0x2a,0x1e,0x08,0x3c,0x2a, // 0x25 37 % | ||
242 | 0x3e,0x2a,0x2a,0x22,0x38,0x08, // 0x26 38 & | ||
243 | 0x03,0x00,0x00,0x00,0x00,0x00, // 0x27 39 ' | ||
244 | 0x1c,0x22,0x00,0x00,0x00,0x00, // 0x28 40 ( | ||
245 | 0x22,0x1c,0x00,0x00,0x00,0x00, // 0x29 41 ) | ||
246 | 0x15,0x0e,0x04,0x0e,0x15,0x00, // 0x2A 42 * | ||
247 | 0x08,0x08,0x3e,0x08,0x08,0x00, // 0x2B 43 + | ||
248 | 0x60,0x00,0x00,0x00,0x00,0x00, // 0x2C 44 , | ||
249 | 0x08,0x08,0x08,0x08,0x08,0x00, // 0x2D 45 - | ||
250 | 0x20,0x00,0x00,0x00,0x00,0x00, // 0x2E 46 . | ||
251 | 0x20,0x10,0x08,0x04,0x02,0x00, // 0x2F 47 / | ||
252 | 0x3e,0x22,0x2a,0x22,0x3e,0x00, // 0x30 48 0 | ||
253 | 0x04,0x3e,0x00,0x00,0x00,0x00, // 0x31 49 1 | ||
254 | 0x3a,0x2a,0x2a,0x2a,0x2e,0x00, // 0x32 50 2 | ||
255 | 0x2a,0x2a,0x2a,0x2a,0x3e,0x00, // 0x33 51 3 | ||
256 | 0x0e,0x08,0x08,0x08,0x3e,0x00, // 0x34 52 4 | ||
257 | 0x2e,0x2a,0x2a,0x2a,0x3a,0x00, // 0x35 53 5 | ||
258 | 0x3e,0x2a,0x2a,0x2a,0x3a,0x00, // 0x36 54 6 | ||
259 | 0x02,0x02,0x02,0x02,0x3e,0x00, // 0x37 55 7 | ||
260 | 0x3e,0x2a,0x2a,0x2a,0x3e,0x00, // 0x38 56 8 | ||
261 | 0x2e,0x2a,0x2a,0x2a,0x3e,0x00, // 0x39 57 9 | ||
262 | 0x14,0x00,0x00,0x00,0x00,0x00, // 0x3A 58 : | ||
263 | 0x34,0x00,0x00,0x00,0x00,0x00, // 0x3B 59 ; | ||
264 | 0x08,0x14,0x22,0x00,0x00,0x00, // 0x3C 60 < | ||
265 | 0x14,0x14,0x14,0x14,0x14,0x00, // 0x3D 61 = | ||
266 | 0x22,0x14,0x08,0x00,0x00,0x00, // 0x3E 62 > | ||
267 | 0x06,0x02,0x2a,0x0a,0x0e,0x00, // 0x3F 63 ? | ||
268 | 0x3e,0x02,0x3a,0x2a,0x3e,0x00, // 0x40 64 @ | ||
269 | 0x3e,0x12,0x12,0x12,0x3e,0x00, // 0x41 65 A | ||
270 | 0x3e,0x2a,0x2a,0x2a,0x36,0x00, // 0x42 66 B | ||
271 | 0x3e,0x22,0x22,0x22,0x22,0x00, // 0x43 67 C | ||
272 | 0x3e,0x22,0x22,0x22,0x1c,0x00, // 0x44 68 D | ||
273 | 0x3e,0x2a,0x2a,0x2a,0x22,0x00, // 0x45 69 E | ||
274 | 0x3e,0x0a,0x0a,0x0a,0x02,0x00, // 0x46 70 F | ||
275 | 0x3e,0x22,0x2a,0x2a,0x3a,0x00, // 0x47 71 G | ||
276 | 0x3e,0x08,0x08,0x08,0x3e,0x00, // 0x48 72 H | ||
277 | 0x22,0x3e,0x22,0x00,0x00,0x00, // 0x49 73 I | ||
278 | 0x38,0x20,0x20,0x20,0x3e,0x00, // 0x4A 74 J | ||
279 | 0x3e,0x08,0x08,0x14,0x22,0x00, // 0x4B 75 K | ||
280 | 0x3e,0x20,0x20,0x20,0x20,0x00, // 0x4C 76 L | ||
281 | 0x3e,0x04,0x38,0x04,0x3e,0x00, // 0x4D 77 M | ||
282 | 0x3e,0x04,0x08,0x10,0x3e,0x00, // 0x4E 78 N | ||
283 | 0x3e,0x22,0x22,0x22,0x3e,0x00, // 0x4F 79 O | ||
284 | 0x3e,0x0a,0x0a,0x0a,0x0e,0x00, // 0x50 80 P | ||
285 | 0x3e,0x22,0x72,0x22,0x3e,0x00, // 0x51 81 Q | ||
286 | 0x3e,0x0a,0x0a,0x1a,0x2e,0x00, // 0x52 82 R | ||
287 | 0x2e,0x2a,0x2a,0x2a,0x3a,0x00, // 0x53 83 S | ||
288 | 0x02,0x02,0x3e,0x02,0x02,0x00, // 0x54 84 T | ||
289 | 0x1e,0x20,0x20,0x20,0x1e,0x00, // 0x55 85 U | ||
290 | 0x0e,0x10,0x20,0x10,0x0e,0x00, // 0x56 86 V | ||
291 | 0x3e,0x10,0x0e,0x10,0x3e,0x00, // 0x57 87 W | ||
292 | 0x22,0x14,0x08,0x14,0x22,0x00, // 0x58 88 X | ||
293 | 0x02,0x04,0x38,0x04,0x02,0x00, // 0x59 89 Y | ||
294 | 0x3a,0x2a,0x2a,0x2a,0x2e,0x00, // 0x5A 90 Z | ||
295 | 0x3e,0x22,0x00,0x00,0x00,0x00, // 0x5B 91 [ | ||
296 | 0x3f,0x21,0x3f,0x00,0x00,0x00, // 0x5C 92 \ backslash | ||
297 | 0x22,0x3e,0x00,0x00,0x00,0x00, // 0x5D 93 ] | ||
298 | 0x0c,0x1e,0x3c,0x1e,0x0c,0x00, // 0x5E 94 ^ | ||
299 | 0x20,0x20,0x20,0x20,0x20,0x00, // 0x5F 95 _ | ||
300 | 0x1c,0x3e,0x3e,0x3e,0x1c,0x00, // 0x60 96 ` | ||
301 | 0x3c,0x24,0x24,0x24,0x3c,0x20, // 0x61 97 a | ||
302 | 0x3e,0x24,0x24,0x24,0x3c,0x00, // 0x62 98 b | ||
303 | 0x3c,0x24,0x24,0x24,0x24,0x00, // 0x63 99 c | ||
304 | 0x3c,0x24,0x24,0x24,0x3e,0x00, // 0x64 100 d | ||
305 | 0x3c,0x24,0x34,0x2c,0x24,0x00, // 0x65 101 e | ||
306 | 0x08,0x3e,0x0a,0x0a,0x00,0x00, // 0x66 102 f | ||
307 | 0x1c,0x54,0x54,0x54,0x7c,0x00, // 0x67 103 g | ||
308 | 0x3e,0x04,0x04,0x04,0x3c,0x00, // 0x68 104 h | ||
309 | 0x3a,0x00,0x00,0x00,0x00,0x00, // 0x69 105 i | ||
310 | 0x7a,0x00,0x00,0x00,0x00,0x00, // 0x6A 106 j | ||
311 | 0x3e,0x08,0x14,0x22,0x00,0x00, // 0x6B 107 k | ||
312 | 0x02,0x3e,0x00,0x00,0x00,0x00, // 0x6C 108 l | ||
313 | 0x3c,0x04,0x3c,0x04,0x3c,0x00, // 0x6D 109 m | ||
314 | 0x3c,0x04,0x04,0x04,0x3c,0x00, // 0x6E 110 n | ||
315 | 0x3c,0x24,0x24,0x24,0x3c,0x00, // 0x6F 111 o | ||
316 | 0x7c,0x24,0x24,0x24,0x3c,0x00, // 0x70 112 p | ||
317 | 0x3c,0x24,0x24,0x24,0x7c,0x00, // 0x71 113 q | ||
318 | 0x3c,0x04,0x04,0x04,0x00,0x00, // 0x72 114 r | ||
319 | 0x24,0x2c,0x34,0x24,0x00,0x00, // 0x73 115 s | ||
320 | 0x04,0x3e,0x24,0x24,0x00,0x00, // 0x74 116 t | ||
321 | 0x3c,0x20,0x20,0x20,0x3c,0x00, // 0x75 117 u | ||
322 | 0x0c,0x10,0x20,0x10,0x0c,0x00, // 0x76 118 v | ||
323 | 0x3c,0x20,0x3c,0x20,0x3c,0x00, // 0x77 119 w | ||
324 | 0x24,0x24,0x18,0x24,0x24,0x00, // 0x78 120 x | ||
325 | 0x1c,0x50,0x50,0x50,0x7c,0x00, // 0x79 121 y | ||
326 | 0x24,0x34,0x2c,0x24,0x00,0x00, // 0x7A 122 z | ||
327 | 0x08,0x3e,0x22,0x00,0x00,0x00, // 0x7B 123 { | ||
328 | 0x1c,0x22,0x22,0x22,0x1c,0x00, // 0x7C 124 | | ||
329 | 0x22,0x3e,0x08,0x00,0x00,0x00, // 0x7D 125 } | ||
330 | 0x01,0x01,0x01,0x00,0x00,0x00, // 0x7E 126 ~ | ||
331 | 0x00,0x00,0x00,0x00,0x00,0x00, // 0x7F 127 | ||
332 | #elif defined(OLED_FONT_SUPER_DIGG) | ||
333 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // 0x20 32 | ||
334 | 0x58, 0x5C, 0x00, 0x00, 0x00, 0x00, // 0x21 33 ! | ||
335 | 0x00, 0x01, 0x00, 0x00, 0x01, 0x00, // 0x22 34 " | ||
336 | 0x14, 0x7F, 0x14, 0x7F, 0x14, 0x00, // 0x23 35 # | ||
337 | 0x5C, 0xFE, 0x54, 0xFE, 0x74, 0x00, // 0x24 36 $ | ||
338 | 0x03, 0x63, 0x38, 0x0C, 0x63, 0x60, // 0x25 37 % | ||
339 | 0x70, 0x5C, 0x54, 0x74, 0x7C, 0x50, // 0x26 38 & | ||
340 | 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, // 0x27 39 ' | ||
341 | 0x70, 0x7C, 0x44, 0x00, 0x00, 0x00, // 0x28 40 ( | ||
342 | 0x44, 0x7C, 0x70, 0x00, 0x00, 0x00, // 0x29 41 ) | ||
343 | 0x2A, 0x1C, 0x7F, 0x1C, 0x2A, 0x00, // 0x2A 42 * | ||
344 | 0x10, 0x10, 0x70, 0x7C, 0x10, 0x00, // 0x2B 43 + | ||
345 | 0x40, 0xC0, 0x00, 0x00, 0x00, 0x00, // 0x2C 44 , | ||
346 | 0x10, 0x10, 0x10, 0x10, 0x00, 0x00, // 0x2D 45 - | ||
347 | 0x40, 0x40, 0x00, 0x00, 0x00, 0x00, // 0x2E 46 . | ||
348 | 0x70, 0x7C, 0x03, 0x00, 0x00, 0x00, // 0x2F 47 / | ||
349 | 0x7C, 0x44, 0x44, 0x44, 0x7C, 0x1C, // 0x30 48 0 | ||
350 | 0x04, 0x04, 0x7C, 0x1C, 0x00, 0x00, // 0x31 49 1 | ||
351 | 0x74, 0x74, 0x54, 0x54, 0x5C, 0x00, // 0x32 50 2 | ||
352 | 0x44, 0x54, 0x54, 0x54, 0x7C, 0x70, // 0x33 51 3 | ||
353 | 0x1C, 0x10, 0x10, 0x7C, 0x7C, 0x00, // 0x34 52 4 | ||
354 | 0x5C, 0x5C, 0x54, 0x54, 0x74, 0x00, // 0x35 53 5 | ||
355 | 0x70, 0x7C, 0x54, 0x54, 0x74, 0x00, // 0x36 54 6 | ||
356 | 0x04, 0x14, 0x14, 0x14, 0x7C, 0x70, // 0x37 55 7 | ||
357 | 0x70, 0x5C, 0x54, 0x74, 0x7C, 0x00, // 0x38 56 8 | ||
358 | 0x5C, 0x54, 0x54, 0x54, 0x7C, 0x1C, // 0x39 57 9 | ||
359 | 0x50, 0x50, 0x00, 0x00, 0x00, 0x00, // 0x3A 58 : | ||
360 | 0x50, 0xD0, 0x00, 0x00, 0x00, 0x00, // 0x3B 59 ; | ||
361 | 0x18, 0x18, 0x24, 0x42, 0x00, 0x00, // 0x3C 60 < | ||
362 | 0x28, 0x28, 0x28, 0x28, 0x00, 0x00, // 0x3D 61 = | ||
363 | 0x42, 0x24, 0x18, 0x18, 0x00, 0x00, // 0x3E 62 > | ||
364 | 0x04, 0x14, 0x54, 0x54, 0x1C, 0x1C, // 0x3F 63 ? | ||
365 | 0xF8, 0x04, 0x74, 0x74, 0x54, 0x54, // 0x40 64 @ | ||
366 | 0x70, 0x7C, 0x14, 0x14, 0x3C, 0x00, // 0x41 65 A | ||
367 | 0x7C, 0x74, 0x54, 0x54, 0x7C, 0x00, // 0x42 66 B | ||
368 | 0x70, 0x7C, 0x44, 0x44, 0x44, 0x44, // 0x43 67 C | ||
369 | 0x70, 0x7C, 0x44, 0x44, 0x48, 0x70, // 0x44 68 D | ||
370 | 0x70, 0x7C, 0x54, 0x54, 0x54, 0x44, // 0x45 69 E | ||
371 | 0x70, 0x7C, 0x14, 0x14, 0x14, 0x04, // 0x46 70 F | ||
372 | 0x70, 0x7C, 0x44, 0x44, 0x54, 0x74, // 0x47 71 G | ||
373 | 0x70, 0x7C, 0x10, 0x10, 0x7C, 0x00, // 0x48 72 H | ||
374 | 0x70, 0x7C, 0x00, 0x00, 0x00, 0x00, // 0x49 73 I | ||
375 | 0x60, 0x40, 0x40, 0x40, 0x7C, 0x70, // 0x4A 74 J | ||
376 | 0x7C, 0x70, 0x10, 0x1C, 0x70, 0x00, // 0x4B 75 K | ||
377 | 0x70, 0x7C, 0x40, 0x40, 0x40, 0x60, // 0x4C 76 L | ||
378 | 0x70, 0x7C, 0x04, 0x04, 0x7C, 0x04, // 0x4D 77 M | ||
379 | 0x70, 0x7C, 0x04, 0x04, 0x04, 0x7C, // 0x4E 78 N | ||
380 | 0x70, 0x7C, 0x44, 0x44, 0x44, 0x7C, // 0x4F 79 O | ||
381 | 0x70, 0x7C, 0x24, 0x24, 0x3C, 0x00, // 0x50 80 P | ||
382 | 0x7C, 0x44, 0x44, 0x44, 0x7C, 0x00, // 0x51 81 Q | ||
383 | 0x7C, 0x74, 0x14, 0x14, 0x3C, 0x00, // 0x52 82 R | ||
384 | 0x5C, 0x5C, 0x54, 0x54, 0x74, 0x00, // 0x53 83 S | ||
385 | 0x04, 0x04, 0x7C, 0x74, 0x04, 0x00, // 0x54 84 T | ||
386 | 0x70, 0x7C, 0x40, 0x40, 0x40, 0x7C, // 0x55 85 U | ||
387 | 0x70, 0x7C, 0x40, 0x40, 0x20, 0x1C, // 0x56 86 V | ||
388 | 0x70, 0x7C, 0x40, 0x40, 0x7C, 0x40, // 0x57 87 W | ||
389 | 0x70, 0x7C, 0x10, 0x10, 0x3C, 0x00, // 0x58 88 X | ||
390 | 0x1C, 0x10, 0x70, 0x70, 0x1C, 0x00, // 0x59 89 Y | ||
391 | 0x74, 0x74, 0x54, 0x54, 0x5C, 0x00, // 0x5A 90 Z | ||
392 | 0xF0, 0xFE, 0x82, 0x00, 0x00, 0x00, // 0x5B 91 [ | ||
393 | 0x03, 0x7C, 0x70, 0x00, 0x00, 0x00, // 0x5C 92 \ backslash | ||
394 | 0x82, 0xFE, 0xF0, 0x00, 0x00, 0x00, // 0x5D 93 ] | ||
395 | 0x04, 0x02, 0x01, 0x06, 0x04, 0x00, // 0x5E 94 ^ | ||
396 | 0x40, 0x40, 0x40, 0x40, 0x00, 0x00, // 0x5F 95 _ | ||
397 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // 0x60 96 ` | ||
398 | 0x70, 0x7C, 0x14, 0x14, 0x3C, 0x00, // 0x61 97 a | ||
399 | 0x7C, 0x74, 0x54, 0x54, 0x7C, 0x00, // 0x62 98 b | ||
400 | 0x70, 0x7C, 0x44, 0x44, 0x44, 0x44, // 0x63 99 c | ||
401 | 0x70, 0x7C, 0x44, 0x44, 0x48, 0x70, // 0x64 100 d | ||
402 | 0x70, 0x7C, 0x54, 0x54, 0x54, 0x44, // 0x65 101 e | ||
403 | 0x70, 0x7C, 0x14, 0x14, 0x14, 0x04, // 0x66 102 f | ||
404 | 0x70, 0x7C, 0x44, 0x44, 0x54, 0x74, // 0x67 103 g | ||
405 | 0x70, 0x7C, 0x10, 0x10, 0x7C, 0x00, // 0x68 104 h | ||
406 | 0x70, 0x7C, 0x00, 0x00, 0x00, 0x00, // 0x69 105 i | ||
407 | 0x60, 0x40, 0x40, 0x40, 0x7C, 0x70, // 0x6A 106 j | ||
408 | 0x7C, 0x70, 0x10, 0x1C, 0x70, 0x00, // 0x6B 107 k | ||
409 | 0x70, 0x7C, 0x40, 0x40, 0x40, 0x60, // 0x6C 108 l | ||
410 | 0x70, 0x7C, 0x04, 0x04, 0x7C, 0x04, // 0x6D 109 m | ||
411 | 0x70, 0x7C, 0x04, 0x04, 0x04, 0x7C, // 0x6E 110 n | ||
412 | 0x70, 0x7C, 0x44, 0x44, 0x44, 0x7C, // 0x6F 111 o | ||
413 | 0x70, 0x7C, 0x24, 0x24, 0x3C, 0x00, // 0x70 112 p | ||
414 | 0x7C, 0x44, 0x44, 0x44, 0x7C, 0x00, // 0x71 113 q | ||
415 | 0x7C, 0x74, 0x14, 0x14, 0x3C, 0x00, // 0x72 114 r | ||
416 | 0x5C, 0x5C, 0x54, 0x54, 0x74, 0x00, // 0x73 115 s | ||
417 | 0x04, 0x04, 0x7C, 0x74, 0x04, 0x00, // 0x74 116 t | ||
418 | 0x70, 0x7C, 0x40, 0x40, 0x40, 0x7C, // 0x75 117 u | ||
419 | 0x70, 0x7C, 0x40, 0x40, 0x20, 0x1C, // 0x76 118 v | ||
420 | 0x70, 0x7C, 0x40, 0x40, 0x7C, 0x40, // 0x77 119 w | ||
421 | 0x70, 0x7C, 0x10, 0x10, 0x3C, 0x00, // 0x78 120 x | ||
422 | 0x1C, 0x10, 0x70, 0x70, 0x1C, 0x00, // 0x79 121 y | ||
423 | 0x74, 0x74, 0x54, 0x54, 0x5C, 0x00, // 0x7A 122 z | ||
424 | 0x10, 0xFE, 0xC2, 0x00, 0x00, 0x00, // 0x7B 123 { | ||
425 | 0x00, 0x44, 0x77, 0x00, 0x00, 0x00, // 0x7C 124 | | ||
426 | 0xC2, 0xFE, 0x10, 0x00, 0x00, 0x00, // 0x7D 125 } | ||
427 | 0x02, 0x01, 0x03, 0x04, 0x06, 0x02, // 0x7E 126 ~ | ||
428 | 0x3C, 0x22, 0x21, 0x22, 0x3C, 0x00, // 0x7F 127 | ||
429 | #else // default font | ||
430 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // 0x20 32 | ||
431 | 0x00, 0x00, 0x5F, 0x00, 0x00, 0x00, // 0x21 33 ! | ||
432 | 0x00, 0x07, 0x00, 0x07, 0x00, 0x00, // 0x22 34 " | ||
433 | 0x14, 0x7F, 0x14, 0x7F, 0x14, 0x00, // 0x23 35 # | ||
434 | 0x24, 0x2A, 0x7F, 0x2A, 0x12, 0x00, // 0x24 36 $ | ||
435 | 0x23, 0x13, 0x08, 0x64, 0x62, 0x00, // 0x25 37 % | ||
436 | 0x36, 0x49, 0x56, 0x20, 0x50, 0x00, // 0x26 38 & | ||
437 | 0x00, 0x08, 0x07, 0x03, 0x00, 0x00, // 0x27 39 ' | ||
438 | 0x00, 0x1C, 0x22, 0x41, 0x00, 0x00, // 0x28 40 ( | ||
439 | 0x00, 0x41, 0x22, 0x1C, 0x00, 0x00, // 0x29 41 ) | ||
440 | 0x2A, 0x1C, 0x7F, 0x1C, 0x2A, 0x00, // 0x2A 42 * | ||
441 | 0x08, 0x08, 0x3E, 0x08, 0x08, 0x00, // 0x2B 43 + | ||
442 | 0x00, 0x80, 0x70, 0x30, 0x00, 0x00, // 0x2C 44 , | ||
443 | 0x08, 0x08, 0x08, 0x08, 0x08, 0x00, // 0x2D 45 - | ||
444 | 0x00, 0x00, 0x60, 0x60, 0x00, 0x00, // 0x2E 46 . | ||
445 | 0x20, 0x10, 0x08, 0x04, 0x02, 0x00, // 0x2F 47 / | ||
446 | 0x3E, 0x51, 0x49, 0x45, 0x3E, 0x00, // 0x30 48 0 | ||
447 | 0x00, 0x42, 0x7F, 0x40, 0x00, 0x00, // 0x31 49 1 | ||
448 | 0x72, 0x49, 0x49, 0x49, 0x46, 0x00, // 0x32 50 2 | ||
449 | 0x21, 0x41, 0x49, 0x4D, 0x33, 0x00, // 0x33 51 3 | ||
450 | 0x18, 0x14, 0x12, 0x7F, 0x10, 0x00, // 0x34 52 4 | ||
451 | 0x27, 0x45, 0x45, 0x45, 0x39, 0x00, // 0x35 53 5 | ||
452 | 0x3C, 0x4A, 0x49, 0x49, 0x31, 0x00, // 0x36 54 6 | ||
453 | 0x41, 0x21, 0x11, 0x09, 0x07, 0x00, // 0x37 55 7 | ||
454 | 0x36, 0x49, 0x49, 0x49, 0x36, 0x00, // 0x38 56 8 | ||
455 | 0x46, 0x49, 0x49, 0x29, 0x1E, 0x00, // 0x39 57 9 | ||
456 | 0x00, 0x00, 0x14, 0x00, 0x00, 0x00, // 0x3A 58 : | ||
457 | 0x00, 0x40, 0x34, 0x00, 0x00, 0x00, // 0x3B 59 ; | ||
458 | 0x00, 0x08, 0x14, 0x22, 0x41, 0x00, // 0x3C 60 < | ||
459 | 0x14, 0x14, 0x14, 0x14, 0x14, 0x00, // 0x3D 61 = | ||
460 | 0x00, 0x41, 0x22, 0x14, 0x08, 0x00, // 0x3E 62 > | ||
461 | 0x02, 0x01, 0x59, 0x09, 0x06, 0x00, // 0x3F 63 ? | ||
462 | 0x3E, 0x41, 0x5D, 0x59, 0x4E, 0x00, // 0x40 64 @ | ||
463 | 0x7C, 0x12, 0x11, 0x12, 0x7C, 0x00, // 0x41 65 A | ||
464 | 0x7F, 0x49, 0x49, 0x49, 0x36, 0x00, // 0x42 66 B | ||
465 | 0x3E, 0x41, 0x41, 0x41, 0x22, 0x00, // 0x43 67 C | ||
466 | 0x7F, 0x41, 0x41, 0x41, 0x3E, 0x00, // 0x44 68 D | ||
467 | 0x7F, 0x49, 0x49, 0x49, 0x41, 0x00, // 0x45 69 E | ||
468 | 0x7F, 0x09, 0x09, 0x09, 0x01, 0x00, // 0x46 70 F | ||
469 | 0x3E, 0x41, 0x41, 0x51, 0x73, 0x00, // 0x47 71 G | ||
470 | 0x7F, 0x08, 0x08, 0x08, 0x7F, 0x00, // 0x48 72 H | ||
471 | 0x00, 0x41, 0x7F, 0x41, 0x00, 0x00, // 0x49 73 I | ||
472 | 0x20, 0x40, 0x41, 0x3F, 0x01, 0x00, // 0x4A 74 J | ||
473 | 0x7F, 0x08, 0x14, 0x22, 0x41, 0x00, // 0x4B 75 K | ||
474 | 0x7F, 0x40, 0x40, 0x40, 0x40, 0x00, // 0x4C 76 L | ||
475 | 0x7F, 0x02, 0x1C, 0x02, 0x7F, 0x00, // 0x4D 77 M | ||
476 | 0x7F, 0x04, 0x08, 0x10, 0x7F, 0x00, // 0x4E 78 N | ||
477 | 0x3E, 0x41, 0x41, 0x41, 0x3E, 0x00, // 0x4F 79 O | ||
478 | 0x7F, 0x09, 0x09, 0x09, 0x06, 0x00, // 0x50 80 P | ||
479 | 0x3E, 0x41, 0x51, 0x21, 0x5E, 0x00, // 0x51 81 Q | ||
480 | 0x7F, 0x09, 0x19, 0x29, 0x46, 0x00, // 0x52 82 R | ||
481 | 0x26, 0x49, 0x49, 0x49, 0x32, 0x00, // 0x53 83 S | ||
482 | 0x03, 0x01, 0x7F, 0x01, 0x03, 0x00, // 0x54 84 T | ||
483 | 0x3F, 0x40, 0x40, 0x40, 0x3F, 0x00, // 0x55 85 U | ||
484 | 0x1F, 0x20, 0x40, 0x20, 0x1F, 0x00, // 0x56 86 V | ||
485 | 0x3F, 0x40, 0x38, 0x40, 0x3F, 0x00, // 0x57 87 W | ||
486 | 0x63, 0x14, 0x08, 0x14, 0x63, 0x00, // 0x58 88 X | ||
487 | 0x03, 0x04, 0x78, 0x04, 0x03, 0x00, // 0x59 89 Y | ||
488 | 0x61, 0x59, 0x49, 0x4D, 0x43, 0x00, // 0x5A 90 Z | ||
489 | 0x00, 0x7F, 0x41, 0x41, 0x41, 0x00, // 0x5B 91 [ | ||
490 | 0x02, 0x04, 0x08, 0x10, 0x20, 0x00, // 0x5C 92 \ backslash | ||
491 | 0x00, 0x41, 0x41, 0x41, 0x7F, 0x00, // 0x5D 93 ] | ||
492 | 0x04, 0x02, 0x01, 0x02, 0x04, 0x00, // 0x5E 94 ^ | ||
493 | 0x40, 0x40, 0x40, 0x40, 0x40, 0x00, // 0x5F 95 _ | ||
494 | 0x00, 0x03, 0x07, 0x08, 0x00, 0x00, // 0x60 96 ` | ||
495 | 0x20, 0x54, 0x54, 0x78, 0x40, 0x00, // 0x61 97 a | ||
496 | 0x7F, 0x28, 0x44, 0x44, 0x38, 0x00, // 0x62 98 b | ||
497 | 0x38, 0x44, 0x44, 0x44, 0x28, 0x00, // 0x63 99 c | ||
498 | 0x38, 0x44, 0x44, 0x28, 0x7F, 0x00, // 0x64 100 d | ||
499 | 0x38, 0x54, 0x54, 0x54, 0x18, 0x00, // 0x65 101 e | ||
500 | 0x00, 0x08, 0x7E, 0x09, 0x02, 0x00, // 0x66 102 f | ||
501 | 0x18, 0x24, 0x24, 0x1C, 0x78, 0x00, // 0x67 103 g | ||
502 | 0x7F, 0x08, 0x04, 0x04, 0x78, 0x00, // 0x68 104 h | ||
503 | 0x00, 0x44, 0x7D, 0x40, 0x00, 0x00, // 0x69 105 i | ||
504 | 0x20, 0x40, 0x40, 0x3D, 0x00, 0x00, // 0x6A 106 j | ||
505 | 0x7F, 0x10, 0x28, 0x44, 0x00, 0x00, // 0x6B 107 k | ||
506 | 0x00, 0x41, 0x7F, 0x40, 0x00, 0x00, // 0x6C 108 l | ||
507 | 0x7C, 0x04, 0x78, 0x04, 0x78, 0x00, // 0x6D 109 m | ||
508 | 0x7C, 0x08, 0x04, 0x04, 0x78, 0x00, // 0x6E 110 n | ||
509 | 0x38, 0x44, 0x44, 0x44, 0x38, 0x00, // 0x6F 111 o | ||
510 | 0x7C, 0x18, 0x24, 0x24, 0x18, 0x00, // 0x70 112 p | ||
511 | 0x18, 0x24, 0x24, 0x18, 0x7C, 0x00, // 0x71 113 q | ||
512 | 0x7C, 0x08, 0x04, 0x04, 0x08, 0x00, // 0x72 114 r | ||
513 | 0x48, 0x54, 0x54, 0x54, 0x24, 0x00, // 0x73 115 s | ||
514 | 0x04, 0x04, 0x3F, 0x44, 0x24, 0x00, // 0x74 116 t | ||
515 | 0x3C, 0x40, 0x40, 0x20, 0x7C, 0x00, // 0x75 117 u | ||
516 | 0x1C, 0x20, 0x40, 0x20, 0x1C, 0x00, // 0x76 118 v | ||
517 | 0x3C, 0x40, 0x30, 0x40, 0x3C, 0x00, // 0x77 119 w | ||
518 | 0x44, 0x28, 0x10, 0x28, 0x44, 0x00, // 0x78 120 x | ||
519 | 0x4C, 0x90, 0x10, 0x90, 0x7C, 0x00, // 0x79 121 y | ||
520 | 0x44, 0x64, 0x54, 0x4C, 0x44, 0x00, // 0x7A 122 z | ||
521 | 0x00, 0x08, 0x36, 0x41, 0x00, 0x00, // 0x7B 123 { | ||
522 | 0x00, 0x00, 0x77, 0x00, 0x00, 0x00, // 0x7C 124 | | ||
523 | 0x00, 0x41, 0x36, 0x08, 0x00, 0x00, // 0x7D 125 } | ||
524 | 0x02, 0x01, 0x02, 0x04, 0x02, 0x00, // 0x7E 126 ~ | ||
525 | 0x3C, 0x26, 0x23, 0x26, 0x3C, 0x00, // 0x7F 127 | ||
526 | #endif | ||
527 | |||
528 | #if defined(OLED_LOGO_GMK_BAD) | ||
529 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // 0x80 | ||
530 | 0x80, 0xC0, 0xE0, 0xF0, 0xF0, 0x70, // 0x81 | ||
531 | 0x38, 0x38, 0x38, 0x78, 0x70, 0xF0, // 0x82 | ||
532 | 0xE0, 0xE0, 0x80, 0x00, 0x00, 0x00, // 0x83 | ||
533 | 0x00, 0x00, 0x00, 0x80, 0xF0, 0xF8, // 0x84 | ||
534 | 0xF8, 0xF8, 0xF8, 0x00, 0x00, 0x00, // 0x85 | ||
535 | 0x80, 0xE0, 0xF8, 0xF8, 0xF8, 0xF8, // 0x86 | ||
536 | 0xF0, 0x00, 0x00, 0x00, 0x00, 0x00, // 0x87 | ||
537 | 0x80, 0xF8, 0xF8, 0xF8, 0x38, 0x00, // 0x88 | ||
538 | 0x80, 0xE0, 0xF0, 0xF8, 0x78, 0x38, // 0x89 | ||
539 | 0x08, 0x08, 0x00, 0x00, 0x00, 0x00, // 0x8A | ||
540 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // 0x8B | ||
541 | 0x80, 0xF8, 0xF8, 0xF8, 0x38, 0x38, // 0x8C | ||
542 | 0x38, 0xF8, 0xF0, 0xF0, 0xE0, 0x00, // 0x8D | ||
543 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // 0x8E | ||
544 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // 0x8F | ||
545 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // 0x90 | ||
546 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // 0x91 | ||
547 | 0x00, 0x00, 0x00, 0x80, 0xFC, 0xFC, // 0x92 | ||
548 | 0xFC, 0x1C, 0x00, 0x00, 0x00, 0x00, // 0x93 | ||
549 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // 0x94 | ||
550 | 0xE0, 0xF0, 0xF0, 0xF0, 0xE0, 0xEC, // 0x95 | ||
551 | 0xEE, 0xF7, 0xF3, 0x70, 0x20, 0x00, // 0x96 | ||
552 | 0x7C, 0x7C, 0x7C, 0x7E, 0x00, 0x7E, // 0x97 | ||
553 | 0x7E, 0x7E, 0x7F, 0x7F, 0x7F, 0x00, // 0x98 | ||
554 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // 0x99 | ||
555 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // 0x9A | ||
556 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // 0x9B | ||
557 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // 0x9C | ||
558 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // 0x9D | ||
559 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // 0x9E | ||
560 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // 0x9F | ||
561 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x3C, // 0xA0 | ||
562 | 0xFF, 0xFF, 0xFF, 0xC1, 0x80, 0x00, // 0xA1 | ||
563 | 0x00, 0x38, 0x38, 0xB8, 0xB8, 0xF9, // 0xA2 | ||
564 | 0xF9, 0xF8, 0x38, 0x00, 0x00, 0x00, // 0xA3 | ||
565 | 0x00, 0xC0, 0xF8, 0xFF, 0xFF, 0x1F, // 0xA4 | ||
566 | 0x01, 0x3F, 0xFF, 0xFF, 0xF0, 0xFE, // 0xA5 | ||
567 | 0x7F, 0x0F, 0x03, 0xFF, 0xFF, 0xFF, // 0xA6 | ||
568 | 0xFF, 0x00, 0x00, 0x00, 0x00, 0x80, // 0xA7 | ||
569 | 0xFF, 0xFF, 0xFF, 0x3F, 0x1E, 0x7F, // 0xA8 | ||
570 | 0xFF, 0xFF, 0xF3, 0xC1, 0x80, 0x00, // 0xA9 | ||
571 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // 0xAA | ||
572 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, // 0xAB | ||
573 | 0xFF, 0xFF, 0xFF, 0x3F, 0x1C, 0x1C, // 0xAC | ||
574 | 0x9C, 0xFF, 0xFF, 0xF3, 0xE1, 0x00, // 0xAD | ||
575 | 0x00, 0x00, 0x00, 0xF0, 0xFC, 0xFE, // 0xAE | ||
576 | 0xFF, 0x0F, 0x07, 0x07, 0x8E, 0xFF, // 0xAF | ||
577 | 0xFF, 0xFF, 0x3F, 0x00, 0x00, 0x00, // 0xB0 | ||
578 | 0x00, 0xF0, 0xFC, 0xFE, 0xFF, 0x8F, // 0xB1 | ||
579 | 0x07, 0x07, 0x8E, 0xFF, 0xFF, 0xFF, // 0xB2 | ||
580 | 0x3F, 0x00, 0x00, 0x00, 0x00, 0x80, // 0xB3 | ||
581 | 0xC0, 0x80, 0x00, 0x00, 0x00, 0x00, // 0xB4 | ||
582 | 0x0F, 0x1F, 0x3F, 0x7F, 0x7F, 0x7F, // 0xB5 | ||
583 | 0x7F, 0x7F, 0x3F, 0x1E, 0x0C, 0x00, // 0xB6 | ||
584 | 0x1F, 0x1F, 0x1F, 0x3F, 0x00, 0x3F, // 0xB7 | ||
585 | 0x3F, 0x3F, 0x7F, 0x7F, 0x7F, 0x00, // 0xB8 | ||
586 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // 0xB9 | ||
587 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // 0xBA | ||
588 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // 0xBB | ||
589 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // 0xBC | ||
590 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // 0xBD | ||
591 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // 0xBE | ||
592 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // 0xBF | ||
593 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // 0xC0 | ||
594 | 0x00, 0x01, 0x03, 0x03, 0x03, 0x07, // 0xC1 | ||
595 | 0x07, 0x07, 0x07, 0x03, 0x03, 0x03, // 0xC2 | ||
596 | 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, // 0xC3 | ||
597 | 0x06, 0x07, 0x07, 0x07, 0x01, 0x00, // 0xC4 | ||
598 | 0x00, 0x00, 0x07, 0x07, 0x07, 0x01, // 0xC5 | ||
599 | 0x00, 0x00, 0x00, 0x07, 0x07, 0x07, // 0xC6 | ||
600 | 0x07, 0x00, 0x00, 0x00, 0x00, 0x07, // 0xC7 | ||
601 | 0x07, 0x07, 0x07, 0x00, 0x00, 0x00, // 0xC8 | ||
602 | 0x00, 0x03, 0x07, 0x07, 0x07, 0x06, // 0xC9 | ||
603 | 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, // 0xCA | ||
604 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, // 0xCB | ||
605 | 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, // 0xCC | ||
606 | 0x07, 0x07, 0x03, 0x01, 0x00, 0x00, // 0xCD | ||
607 | 0x00, 0x00, 0x00, 0x00, 0x03, 0x07, // 0xCE | ||
608 | 0x07, 0x07, 0x07, 0x03, 0x07, 0x07, // 0xCF | ||
609 | 0x07, 0x07, 0x00, 0x00, 0x00, 0x00, // 0xD0 | ||
610 | 0x00, 0x00, 0x03, 0x07, 0x07, 0x07, // 0xD1 | ||
611 | 0x07, 0x03, 0x07, 0x07, 0x07, 0x07, // 0xD2 | ||
612 | 0x00, 0x00, 0x00, 0x00, 0x01, 0x07, // 0xD3 | ||
613 | 0x07, 0x07, 0x01, 0x00, 0x00, 0x00, // 0xD4 | ||
614 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // 0xD5 | ||
615 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // 0xD6 | ||
616 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // 0xD7 | ||
617 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // 0xD8 | ||
618 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // 0xD9 | ||
619 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // 0xDA | ||
620 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // 0xDB | ||
621 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // 0xDC | ||
622 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // 0xDD | ||
623 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // 0xDE | ||
624 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // 0xDF | ||
625 | 0x00, 0x1C, 0x1C, 0x3E, 0x7F, 0x7F, | ||
626 | 0x00, 0x14, 0x08, 0x14, 0x00, 0x00, | ||
627 | 0x00, 0x1C, 0x1C, 0x3E, 0x7F, 0x7F, | ||
628 | 0x00, 0x22, 0x1C, 0x41, 0x3E, 0x00, | ||
629 | 0x00, 0x00, 0x00, 0x30, 0x18, 0x0C, | ||
630 | 0x06, 0x0C, 0x18, 0x30, 0x00, 0x00, | ||
631 | 0x00, 0x00, 0x06, 0x06, 0x06, 0x0C, | ||
632 | 0x18, 0x30, 0x66, 0x66, 0x66, 0x00, | ||
633 | 0x00, 0x00, 0x00, 0x08, 0x0C, 0x7E, | ||
634 | 0x7F, 0x7E, 0x0C, 0x08, 0x00, 0x00, | ||
635 | 0x00, 0x00, 0x77, 0x77, 0x77, 0x00, | ||
636 | 0x77, 0x77, 0x77, 0x00, 0x00, 0x00, | ||
637 | 0x00, 0x00, 0xE7, 0xA5, 0xFF, 0x24, | ||
638 | 0x24, 0xFF, 0xA5, 0xE7, 0x00, 0x00, | ||
639 | 0x00, 0x00, 0x1C, 0x22, 0xC9, 0xD1, | ||
640 | 0xC9, 0x22, 0x1C, 0x00, 0x00, 0x00, | ||
641 | 0x00, 0x10, 0x02, 0x38, 0xFC, 0xED, | ||
642 | 0xFC, 0x38, 0x02, 0x10, 0x00, 0x00, | ||
643 | 0x00, 0x00, 0x00, 0x3E, 0x4A, 0x4F, | ||
644 | 0x4A, 0x3E, 0x00, 0x00, 0x00, 0x00, | ||
645 | 0x00, 0x00, 0x40, 0x60, 0x6A, 0x64, | ||
646 | 0x6A, 0x60, 0x40, 0x00, 0x00, 0x00, | ||
647 | 0x00, 0x04, 0x42, 0x69, 0x65, 0x65, | ||
648 | 0x65, 0x69, 0x42, 0x04, 0x00, 0x00, | ||
649 | 0x00, 0x00, 0x1C, 0x14, 0x1C, 0x08, | ||
650 | 0x18, 0x08, 0x18, 0x00, 0x00, 0x00, | ||
651 | 0x00, 0x70, 0xC8, 0xEE, 0xF9, 0x70, | ||
652 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, | ||
653 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, | ||
654 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, | ||
655 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, | ||
656 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, | ||
657 | #elif defined(OLED_LOGO_HUE_MANITEE) | ||
658 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // 0x80 | ||
659 | 0x00, 0x00, 0x00, 0x80, 0xC0, 0xC0, | ||
660 | 0x90, 0x70, 0xE8, 0xA8, 0xE4, 0xC4, | ||
661 | 0xC4, 0xA0, 0xE4, 0xB0, 0xDC, 0xE4, | ||
662 | 0xFC, 0xFC, 0xFC, 0xFC, 0x3C, 0x3C, | ||
663 | 0xFC, 0xF8, 0xF0, 0xF0, 0xE0, 0x00, | ||
664 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, | ||
665 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, | ||
666 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, | ||
667 | 0x00, 0x00, 0x00, 0x00, 0xF8, 0xF8, | ||
668 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, | ||
669 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, | ||
670 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, | ||
671 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, | ||
672 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, | ||
673 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, | ||
674 | 0xF8, 0xF8, 0x00, 0x00, 0x00, 0x00, // 0x90 | ||
675 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, | ||
676 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, | ||
677 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, | ||
678 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, | ||
679 | 0xE0, 0xF0, 0xF0, 0xF0, 0xE0, 0xEC, | ||
680 | 0xEE, 0xF7, 0xF3, 0x70, 0x20, 0x00, | ||
681 | 0x7C, 0x7C, 0x7C, 0x7E, 0x00, 0x7E, | ||
682 | 0x7E, 0x7E, 0x7F, 0x7F, 0x7F, 0x00, | ||
683 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, | ||
684 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, | ||
685 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, | ||
686 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, | ||
687 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, | ||
688 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, | ||
689 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, | ||
690 | 0x00, 0x00, 0x00, 0x00, 0x00, 0xF0, // 0xA0 | ||
691 | 0xFC, 0xF6, 0xF7, 0xEF, 0xFF, 0x87, | ||
692 | 0x1F, 0x1F, 0x1F, 0x1F, 0x1F, 0x1F, | ||
693 | 0x1F, 0x1F, 0x1F, 0xFF, 0xFF, 0xFF, | ||
694 | 0xFF, 0x07, 0x1F, 0x1F, 0x19, 0x15, | ||
695 | 0xF7, 0x16, 0x1A, 0x1B, 0x16, 0x07, | ||
696 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, | ||
697 | 0x00, 0x00, 0x0C, 0x0C, 0x33, 0x33, | ||
698 | 0x33, 0x33, 0x33, 0x33, 0xC0, 0xC0, | ||
699 | 0x00, 0x00, 0x03, 0x03, 0xFF, 0xFF, | ||
700 | 0x03, 0x03, 0x00, 0x00, 0xC0, 0xC0, | ||
701 | 0x00, 0x00, 0x00, 0xFC, 0xFC, 0x03, | ||
702 | 0x03, 0x03, 0x03, 0x03, 0x03, 0xFC, | ||
703 | 0xFC, 0x00, 0x00, 0x00, 0xFC, 0xFC, | ||
704 | 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, | ||
705 | 0xC0, 0xC0, 0x00, 0x00, 0x00, 0x00, | ||
706 | 0xFF, 0xFF, 0x30, 0x30, 0xCC, 0xCC, // 0xB0 | ||
707 | 0x03, 0x03, 0x00, 0x00, 0x00, 0x00, | ||
708 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, | ||
709 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, | ||
710 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, | ||
711 | 0x0F, 0x1F, 0x3F, 0x7F, 0x7F, 0x7F, | ||
712 | 0x7F, 0x7F, 0x3F, 0x1E, 0x0C, 0x00, | ||
713 | 0x1F, 0x1F, 0x1F, 0x3F, 0x00, 0x3F, | ||
714 | 0x3F, 0x3F, 0x7F, 0x7F, 0x7F, 0x00, | ||
715 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, | ||
716 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, | ||
717 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, | ||
718 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, | ||
719 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, | ||
720 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, | ||
721 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, | ||
722 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, // 0xC0 | ||
723 | 0x03, 0x07, 0x07, 0x07, 0x07, 0x01, | ||
724 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, | ||
725 | 0x00, 0x00, 0x00, 0x03, 0x07, 0x07, | ||
726 | 0x03, 0x00, 0x00, 0x02, 0x04, 0x00, | ||
727 | 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, | ||
728 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, | ||
729 | 0x00, 0x00, 0x03, 0x03, 0x03, 0x03, | ||
730 | 0x03, 0x03, 0x03, 0x03, 0x00, 0x00, | ||
731 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, | ||
732 | 0x03, 0x03, 0x03, 0x03, 0x00, 0x00, | ||
733 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, | ||
734 | 0x03, 0x03, 0x03, 0x03, 0x03, 0x00, | ||
735 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, | ||
736 | 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, | ||
737 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, | ||
738 | 0x03, 0x03, 0x00, 0x00, 0x00, 0x00, // 0xD0 | ||
739 | 0x03, 0x03, 0x00, 0x00, 0x00, 0x00, | ||
740 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, | ||
741 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, | ||
742 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, | ||
743 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, | ||
744 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, | ||
745 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, | ||
746 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, | ||
747 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, | ||
748 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, | ||
749 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, | ||
750 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, | ||
751 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, | ||
752 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, | ||
753 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // 0xDF | ||
754 | 0x00, 0x1C, 0x1C, 0x3E, 0x7F, 0x7F, | ||
755 | 0x00, 0x14, 0x08, 0x14, 0x00, 0x00, | ||
756 | 0x00, 0x1C, 0x1C, 0x3E, 0x7F, 0x7F, | ||
757 | 0x00, 0x22, 0x1C, 0x41, 0x3E, 0x00, | ||
758 | 0x00, 0x00, 0x00, 0x30, 0x18, 0x0C, | ||
759 | 0x06, 0x0C, 0x18, 0x30, 0x00, 0x00, | ||
760 | 0x00, 0x00, 0x06, 0x06, 0x06, 0x0C, | ||
761 | 0x18, 0x30, 0x66, 0x66, 0x66, 0x00, | ||
762 | 0x00, 0x00, 0x00, 0x08, 0x0C, 0x7E, | ||
763 | 0x7F, 0x7E, 0x0C, 0x08, 0x00, 0x00, | ||
764 | 0x00, 0x00, 0x77, 0x77, 0x77, 0x00, | ||
765 | 0x77, 0x77, 0x77, 0x00, 0x00, 0x00, | ||
766 | 0x00, 0x00, 0xE7, 0xA5, 0xFF, 0x24, | ||
767 | 0x24, 0xFF, 0xA5, 0xE7, 0x00, 0x00, | ||
768 | 0x00, 0x00, 0x1C, 0x22, 0xC9, 0xD1, | ||
769 | 0xC9, 0x22, 0x1C, 0x00, 0x00, 0x00, | ||
770 | 0x00, 0x10, 0x02, 0x38, 0xFC, 0xED, | ||
771 | 0xFC, 0x38, 0x02, 0x10, 0x00, 0x00, | ||
772 | 0x00, 0x00, 0x00, 0x3E, 0x4A, 0x4F, | ||
773 | 0x4A, 0x3E, 0x00, 0x00, 0x00, 0x00, | ||
774 | 0x00, 0x00, 0x40, 0x60, 0x6A, 0x64, | ||
775 | 0x6A, 0x60, 0x40, 0x00, 0x00, 0x00, | ||
776 | 0x00, 0x04, 0x42, 0x69, 0x65, 0x65, | ||
777 | 0x65, 0x69, 0x42, 0x04, 0x00, 0x00, | ||
778 | 0x00, 0x00, 0x1C, 0x14, 0x1C, 0x08, | ||
779 | 0x18, 0x08, 0x18, 0x00, 0x00, 0x00, | ||
780 | 0x00, 0x70, 0xC8, 0xEE, 0xF9, 0x70, | ||
781 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, | ||
782 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, | ||
783 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, | ||
784 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, | ||
785 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, | ||
786 | #elif defined(OLED_LOGO_CORNE) | ||
787 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // 0x80 | ||
788 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, | ||
789 | 0x00, 0x00, 0x00, 0x00, 0xC0, 0xE0, | ||
790 | 0xF0, 0xF8, 0xF8, 0x18, 0x00, 0xC0, | ||
791 | 0xF0, 0xFC, 0xFE, 0xFF, 0xFF, 0xFF, | ||
792 | 0xFF, 0xFF, 0xFF, 0xFF, 0x7E, 0x00, | ||
793 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, | ||
794 | 0x00, 0x00, 0x80, 0xC0, 0xE0, 0xE0, | ||
795 | 0xE0, 0xE0, 0xE0, 0xE0, 0xE0, 0xE0, | ||
796 | 0xC0, 0x80, 0x00, 0x00, 0x00, 0x00, | ||
797 | 0x80, 0xC0, 0xE0, 0xE0, 0xE0, 0xE0, | ||
798 | 0xE0, 0xE0, 0xE0, 0xE0, 0xC0, 0x80, | ||
799 | 0x00, 0x00, 0x00, 0xE0, 0xE0, 0xC0, | ||
800 | 0xC0, 0xE0, 0xE0, 0xE0, 0xE0, 0x00, | ||
801 | 0x00, 0xE0, 0xE0, 0xC0, 0xC0, 0xE0, | ||
802 | 0xE0, 0xE0, 0xE0, 0xE0, 0xC0, 0x80, | ||
803 | 0x00, 0x00, 0x00, 0x00, 0x80, 0xC0, // 0x90 | ||
804 | 0xE0, 0xE0, 0xE0, 0xE0, 0xE0, 0xE0, | ||
805 | 0xE0, 0xE0, 0xC0, 0x80, 0x00, 0x00, | ||
806 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, | ||
807 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, | ||
808 | 0xE0, 0xF0, 0xF0, 0xF0, 0xE0, 0xEC, | ||
809 | 0xEE, 0xF7, 0xF3, 0x70, 0x20, 0x00, | ||
810 | 0x7C, 0x7C, 0x7C, 0x7E, 0x00, 0x7E, | ||
811 | 0x7E, 0x7E, 0x7F, 0x7F, 0x7F, 0x00, | ||
812 | 0x00, 0x80, 0xC0, 0xE0, 0x7E, 0x5B, | ||
813 | 0x4F, 0x5B, 0xFE, 0xC0, 0x00, 0x00, | ||
814 | 0xC0, 0x00, 0xDC, 0xD7, 0xDE, 0xDE, | ||
815 | 0xDE, 0xD7, 0xDC, 0x00, 0xC0, 0x00, | ||
816 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, | ||
817 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, | ||
818 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, | ||
819 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // 0xA0 | ||
820 | 0x00, 0x00, 0x00, 0xF8, 0xFC, 0xFE, | ||
821 | 0xFF, 0xE0, 0x00, 0xFF, 0xFF, 0xFF, | ||
822 | 0xFF, 0xFF, 0xFF, 0x80, 0xFF, 0xFF, | ||
823 | 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, | ||
824 | 0xFF, 0x1F, 0x07, 0x01, 0x00, 0x00, | ||
825 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, | ||
826 | 0x00, 0xFF, 0xFF, 0xFF, 0x81, 0x00, | ||
827 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x81, | ||
828 | 0xC3, 0xC3, 0xC3, 0x00, 0x00, 0xFF, | ||
829 | 0xFF, 0xFF, 0x81, 0x00, 0x00, 0x00, | ||
830 | 0x00, 0x00, 0x00, 0x81, 0xFF, 0xFF, | ||
831 | 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0xFF, | ||
832 | 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, | ||
833 | 0x00, 0xFF, 0xFF, 0xFF, 0x01, 0x00, | ||
834 | 0x00, 0x00, 0x00, 0x01, 0xFF, 0xFF, | ||
835 | 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0xFF, // 0xB0 | ||
836 | 0x9D, 0x1C, 0x1C, 0x1C, 0x1C, 0x1C, | ||
837 | 0x1C, 0x9D, 0xDF, 0xDF, 0xDF, 0x00, | ||
838 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, | ||
839 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, | ||
840 | 0x0F, 0x1F, 0x3F, 0x7F, 0x7F, 0x7F, | ||
841 | 0x7F, 0x7F, 0x3F, 0x1E, 0x0C, 0x00, | ||
842 | 0x1F, 0x1F, 0x1F, 0x3F, 0x00, 0x3F, | ||
843 | 0x3F, 0x3F, 0x7F, 0x7F, 0x7F, 0x00, | ||
844 | 0x30, 0x7B, 0x7F, 0x78, 0x30, 0x20, | ||
845 | 0x20, 0x30, 0x78, 0x7F, 0x3B, 0x00, | ||
846 | 0x03, 0x00, 0x0F, 0x7F, 0x0F, 0x0F, | ||
847 | 0x0F, 0x7F, 0x0F, 0x00, 0x03, 0x00, | ||
848 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, | ||
849 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, | ||
850 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, | ||
851 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // 0xC0 | ||
852 | 0x00, 0x00, 0x00, 0x03, 0x0F, 0x1F, | ||
853 | 0x3F, 0x3F, 0x3F, 0x3F, 0x1F, 0x1F, | ||
854 | 0x3F, 0x3F, 0x7F, 0x7F, 0x7F, 0x3F, | ||
855 | 0x3F, 0x1F, 0x3F, 0x7F, 0x7F, 0x7F, | ||
856 | 0x7F, 0x7C, 0x78, 0x78, 0x38, 0x1C, | ||
857 | 0x0F, 0x00, 0x00, 0x00, 0x00, 0x00, | ||
858 | 0x00, 0x00, 0x01, 0x03, 0x07, 0x07, | ||
859 | 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, | ||
860 | 0x03, 0x01, 0x00, 0x00, 0x00, 0x00, | ||
861 | 0x01, 0x03, 0x07, 0x07, 0x07, 0x07, | ||
862 | 0x07, 0x07, 0x07, 0x07, 0x03, 0x01, | ||
863 | 0x00, 0x00, 0x00, 0x07, 0x07, 0x07, | ||
864 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, | ||
865 | 0x00, 0x07, 0x07, 0x07, 0x00, 0x00, | ||
866 | 0x00, 0x00, 0x00, 0x00, 0x07, 0x07, | ||
867 | 0x07, 0x00, 0x00, 0x00, 0x01, 0x03, // 0xD0 | ||
868 | 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, | ||
869 | 0x07, 0x07, 0x03, 0x01, 0x00, 0x00, | ||
870 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, | ||
871 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, | ||
872 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, | ||
873 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, | ||
874 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, | ||
875 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, | ||
876 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, | ||
877 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, | ||
878 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, | ||
879 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, | ||
880 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, | ||
881 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, | ||
882 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // 0xDF | ||
883 | 0x00, 0x1C, 0x1C, 0x3E, 0x7F, 0x7F, | ||
884 | 0x00, 0x14, 0x08, 0x14, 0x00, 0x00, | ||
885 | 0x00, 0x1C, 0x1C, 0x3E, 0x7F, 0x7F, | ||
886 | 0x00, 0x22, 0x1C, 0x41, 0x3E, 0x00, | ||
887 | 0x00, 0x00, 0x00, 0x30, 0x18, 0x0C, | ||
888 | 0x06, 0x0C, 0x18, 0x30, 0x00, 0x00, | ||
889 | 0x00, 0x00, 0x06, 0x06, 0x06, 0x0C, | ||
890 | 0x18, 0x30, 0x66, 0x66, 0x66, 0x00, | ||
891 | 0x00, 0x00, 0x00, 0x08, 0x0C, 0x7E, | ||
892 | 0x7F, 0x7E, 0x0C, 0x08, 0x00, 0x00, | ||
893 | 0x00, 0x00, 0x77, 0x77, 0x77, 0x00, | ||
894 | 0x77, 0x77, 0x77, 0x00, 0x00, 0x00, | ||
895 | 0x00, 0x00, 0xE7, 0xA5, 0xFF, 0x24, | ||
896 | 0x24, 0xFF, 0xA5, 0xE7, 0x00, 0x00, | ||
897 | 0x00, 0x00, 0x1C, 0x22, 0xC9, 0xD1, | ||
898 | 0xC9, 0x22, 0x1C, 0x00, 0x00, 0x00, | ||
899 | 0x00, 0x10, 0x02, 0x38, 0xFC, 0xED, | ||
900 | 0xFC, 0x38, 0x02, 0x10, 0x00, 0x00, | ||
901 | 0x00, 0x00, 0x00, 0x3E, 0x4A, 0x4F, | ||
902 | 0x4A, 0x3E, 0x00, 0x00, 0x00, 0x00, | ||
903 | 0x00, 0x00, 0x40, 0x60, 0x6A, 0x64, | ||
904 | 0x6A, 0x60, 0x40, 0x00, 0x00, 0x00, | ||
905 | 0x00, 0x04, 0x42, 0x69, 0x65, 0x65, | ||
906 | 0x65, 0x69, 0x42, 0x04, 0x00, 0x00, | ||
907 | 0x00, 0x00, 0x1C, 0x14, 0x1C, 0x08, | ||
908 | 0x18, 0x08, 0x18, 0x00, 0x00, 0x00, | ||
909 | 0x00, 0x70, 0xC8, 0xEE, 0xF9, 0x70, | ||
910 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, | ||
911 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, | ||
912 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, | ||
913 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, | ||
914 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, | ||
915 | |||
916 | #elif defined(OLED_LOGO_GOTHAM) // see /keyboards/crkbd/keymaps/gotham/oled.c | ||
917 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // 0x80 | ||
918 | 0x00, 0x00, 0xC0, 0x60, 0x30, 0x18, | ||
919 | 0xF8, 0x18, 0x00, 0xC0, 0x70, 0x1C, | ||
920 | 0x06, 0x03, 0x01, 0x01, 0x01, 0x01, | ||
921 | 0x01, 0xC3, 0x7E, 0x00, 0x00, 0x00, | ||
922 | 0x00, 0x00, 0x08, 0x08, 0x08, 0x00, | ||
923 | 0x00, 0x08, 0x08, 0x08, 0x00, 0x1C, | ||
924 | 0x22, 0x41, 0x41, 0x41, 0x22, 0x1C, | ||
925 | 0x00, 0x08, 0x08, 0x08, 0x00, 0x00, | ||
926 | 0x08, 0x08, 0x08, 0x00, 0x00, 0x00, | ||
927 | 0x00, 0x00, 0x00, 0x20, 0x20, 0xF8, | ||
928 | 0x0C, 0x04, 0xE7, 0xE4, 0xE4, 0x07, | ||
929 | 0x04, 0xE4, 0xE7, 0xE4, 0x04, 0x07, | ||
930 | 0xE4, 0xE4, 0xE7, 0x04, 0x0C, 0xF8, | ||
931 | 0x20, 0x20, 0x00, 0x00, 0x00, 0x00, | ||
932 | 0x00, 0x1C, 0x1C, 0x3E, 0x7F, 0x7F, | ||
933 | 0x00, 0x14, 0x08, 0x14, 0x00, 0x00, // 0x90 | ||
934 | 0x00, 0x1C, 0x1C, 0x3E, 0x7F, 0x7F, | ||
935 | 0x00, 0x22, 0x1C, 0x41, 0x3E, 0x00, | ||
936 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x30, | ||
937 | 0x18, 0x0C, 0x06, 0x0C, 0x18, 0x30, | ||
938 | 0x77, 0x77, 0x77, 0x00, 0x77, 0x77, | ||
939 | 0x77, 0x00, 0x00, 0x00, 0x00, 0x00, | ||
940 | 0x00, 0x00, 0x00, 0x3E, 0x4A, 0x4F, | ||
941 | 0x4A, 0x3E, 0x00, 0x00, 0x00, 0x00, | ||
942 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, | ||
943 | 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, | ||
944 | 0x00, 0x00, 0x08, 0x00, 0x00, 0x60, | ||
945 | 0x70, 0x3E, 0x1F, 0x19, 0x18, 0x0C, | ||
946 | 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, | ||
947 | 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, | ||
948 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, | ||
949 | 0x00, 0xF8, 0x0C, 0x06, 0x07, 0xFC, // 0xA0 | ||
950 | 0x00, 0xFF, 0x01, 0x00, 0x00, 0x00, | ||
951 | 0xFF, 0x80, 0xFF, 0x01, 0x00, 0x00, | ||
952 | 0x00, 0x00, 0x00, 0x00, 0xF0, 0x1C, | ||
953 | 0x07, 0x01, 0x00, 0x00, 0x00, 0x00, | ||
954 | 0x00, 0x00, 0x1C, 0x22, 0x41, 0x00, | ||
955 | 0x00, 0x1C, 0x22, 0x00, 0x00, 0x1C, | ||
956 | 0x3E, 0x7F, 0x63, 0x41, 0x22, 0x1C, | ||
957 | 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, | ||
958 | 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, | ||
959 | 0x00, 0x00, 0x00, 0x49, 0x49, 0xFF, | ||
960 | 0x00, 0x00, 0x0F, 0x1F, 0x3F, 0x38, | ||
961 | 0x30, 0xFF, 0xFF, 0xFF, 0x30, 0x38, | ||
962 | 0x3F, 0x1F, 0x0F, 0x00, 0x00, 0xFF, | ||
963 | 0x49, 0x49, 0x00, 0x00, 0x00, 0x00, | ||
964 | 0x00, 0x00, 0x40, 0x60, 0x6A, 0x64, | ||
965 | 0x6A, 0x60, 0x40, 0x00, 0x00, 0x00, // 0xB0 | ||
966 | 0x00, 0x04, 0x42, 0x69, 0x65, 0x65, | ||
967 | 0x65, 0x69, 0x42, 0x04, 0x00, 0x00, | ||
968 | 0x00, 0x00, 0x00, 0x06, 0x06, 0x06, | ||
969 | 0x0C, 0x18, 0x30, 0x66, 0x66, 0x66, | ||
970 | 0x00, 0x00, 0xFC, 0x24, 0x24, 0xFC, | ||
971 | 0x24, 0x24, 0xFC, 0x24, 0x24, 0xFC, | ||
972 | 0x24, 0x24, 0xFC, 0x24, 0x24, 0xFC, | ||
973 | 0x24, 0x24, 0xFC, 0x24, 0x24, 0xFC, | ||
974 | 0x24, 0x24, 0xFC, 0x00, 0x00, 0x00, | ||
975 | 0xF0, 0x90, 0x90, 0xF0, 0x90, 0x90, | ||
976 | 0xF0, 0x98, 0x9C, 0xF2, 0x22, 0x21, | ||
977 | 0xE1, 0x01, 0x01, 0x01, 0xF1, 0x91, | ||
978 | 0x91, 0xFA, 0x4C, 0x4C, 0xF8, 0x48, | ||
979 | 0x48, 0xF8, 0x48, 0x48, 0xF8, 0x00, | ||
980 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, | ||
981 | 0x00, 0x03, 0x0E, 0x18, 0x30, 0x21, // 0xC0 | ||
982 | 0x21, 0x31, 0x18, 0x10, 0x30, 0x20, | ||
983 | 0x60, 0x41, 0x60, 0x20, 0x30, 0x18, | ||
984 | 0x30, 0x60, 0x40, 0x40, 0x47, 0x4C, | ||
985 | 0x48, 0x68, 0x38, 0x1C, 0x0F, 0x00, | ||
986 | 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, | ||
987 | 0x00, 0x00, 0x08, 0x00, 0x00, 0x1C, | ||
988 | 0x22, 0x41, 0x63, 0x7F, 0x3E, 0x1C, | ||
989 | 0x00, 0x00, 0x22, 0x1C, 0x00, 0x00, | ||
990 | 0x41, 0x22, 0x1C, 0x00, 0x00, 0x00, | ||
991 | 0x00, 0x00, 0x00, 0x02, 0x02, 0x0F, | ||
992 | 0x18, 0x10, 0x70, 0x10, 0x10, 0x70, | ||
993 | 0x10, 0x13, 0x73, 0x13, 0x10, 0x70, | ||
994 | 0x10, 0x10, 0x70, 0x10, 0x18, 0x0F, | ||
995 | 0x02, 0x02, 0x00, 0x00, 0x00, 0x00, | ||
996 | 0x00, 0x00, 0x1C, 0x22, 0xC9, 0xD1, | ||
997 | 0xC9, 0x22, 0x1C, 0x00, 0x00, 0x00, // 0xD0 | ||
998 | 0x00, 0x10, 0x02, 0x38, 0xFC, 0xED, | ||
999 | 0xFC, 0x38, 0x02, 0x10, 0x00, 0x00, | ||
1000 | 0x08, 0x0C, 0x7E, 0x7F, 0x7E, 0x0C, | ||
1001 | 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, | ||
1002 | 0x00, 0x00, 0x0F, 0x09, 0x09, 0x09, | ||
1003 | 0x0F, 0x09, 0x09, 0x0F, 0x09, 0x09, | ||
1004 | 0x09, 0x09, 0x09, 0x09, 0x09, 0x09, | ||
1005 | 0x09, 0x0F, 0x09, 0x09, 0x0F, 0x09, | ||
1006 | 0x09, 0x09, 0x0F, 0x00, 0x00, 0x00, | ||
1007 | 0x07, 0x04, 0x04, 0x07, 0x04, 0x04, | ||
1008 | 0x07, 0x04, 0x04, 0x0F, 0x09, 0x09, | ||
1009 | 0x0F, 0x00, 0x00, 0x00, 0x07, 0x04, | ||
1010 | 0x04, 0x07, 0x02, 0x02, 0x03, 0x02, | ||
1011 | 0x02, 0x03, 0x02, 0x02, 0x03, 0x00, | ||
1012 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // 0xDF | ||
1013 | 0x00, 0x1C, 0x1C, 0x3E, 0x7F, 0x7F, | ||
1014 | 0x00, 0x14, 0x08, 0x14, 0x00, 0x00, | ||
1015 | 0x00, 0x1C, 0x1C, 0x3E, 0x7F, 0x7F, | ||
1016 | 0x00, 0x22, 0x1C, 0x41, 0x3E, 0x00, | ||
1017 | 0x00, 0x00, 0x00, 0x30, 0x18, 0x0C, | ||
1018 | 0x06, 0x0C, 0x18, 0x30, 0x00, 0x00, | ||
1019 | 0x00, 0x00, 0x06, 0x06, 0x06, 0x0C, | ||
1020 | 0x18, 0x30, 0x66, 0x66, 0x66, 0x00, | ||
1021 | 0x00, 0x00, 0x00, 0x08, 0x0C, 0x7E, | ||
1022 | 0x7F, 0x7E, 0x0C, 0x08, 0x00, 0x00, | ||
1023 | 0x00, 0x00, 0x77, 0x77, 0x77, 0x00, | ||
1024 | 0x77, 0x77, 0x77, 0x00, 0x00, 0x00, | ||
1025 | 0x00, 0x00, 0xE7, 0xA5, 0xFF, 0x24, | ||
1026 | 0x24, 0xFF, 0xA5, 0xE7, 0x00, 0x00, | ||
1027 | 0x00, 0x00, 0x1C, 0x22, 0xC9, 0xD1, | ||
1028 | 0xC9, 0x22, 0x1C, 0x00, 0x00, 0x00, | ||
1029 | 0x00, 0x10, 0x02, 0x38, 0xFC, 0xED, | ||
1030 | 0xFC, 0x38, 0x02, 0x10, 0x00, 0x00, | ||
1031 | 0x00, 0x00, 0x00, 0x3E, 0x4A, 0x4F, | ||
1032 | 0x4A, 0x3E, 0x00, 0x00, 0x00, 0x00, | ||
1033 | 0x00, 0x00, 0x40, 0x60, 0x6A, 0x64, | ||
1034 | 0x6A, 0x60, 0x40, 0x00, 0x00, 0x00, | ||
1035 | 0x00, 0x04, 0x42, 0x69, 0x65, 0x65, | ||
1036 | 0x65, 0x69, 0x42, 0x04, 0x00, 0x00, | ||
1037 | 0x00, 0x00, 0x1C, 0x14, 0x1C, 0x08, | ||
1038 | 0x18, 0x08, 0x18, 0x00, 0x00, 0x00, | ||
1039 | 0x00, 0x70, 0xC8, 0xEE, 0xF9, 0x70, | ||
1040 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, | ||
1041 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, | ||
1042 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, | ||
1043 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, | ||
1044 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, | ||
1045 | |||
1046 | #elif defined(OLED_LOGO_SCIFI) | ||
1047 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, | ||
1048 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, | ||
1049 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, | ||
1050 | 0x80, 0x80, 0xC0, 0xC0, 0xE0, 0x60, | ||
1051 | 0x70, 0x30, 0x38, 0x18, 0x0C, 0x0C, | ||
1052 | 0x1E, 0x0C, 0x80, 0x00, 0x00, 0x00, | ||
1053 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, | ||
1054 | 0xC0, 0xE0, 0xF0, 0x38, 0x1C, 0x0E, | ||
1055 | 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, | ||
1056 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, | ||
1057 | 0x80, 0x80, 0x00, 0x00, 0x00, 0x00, | ||
1058 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, | ||
1059 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, | ||
1060 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, | ||
1061 | 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, | ||
1062 | 0x00, 0x00, 0x80, 0x40, 0x00, 0x00, | ||
1063 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, | ||
1064 | 0x00, 0x00, 0x80, 0x80, 0x80, 0x00, | ||
1065 | 0x00, 0x00, 0x00, 0x80, 0x80, 0xC0, | ||
1066 | 0xC0, 0x60, 0x60, 0x30, 0x10, 0x00, | ||
1067 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, | ||
1068 | 0xE0, 0xF0, 0xF0, 0xF0, 0xE0, 0xEC, | ||
1069 | 0xEE, 0xF7, 0xF3, 0x70, 0x20, 0x00, | ||
1070 | 0x7C, 0x7C, 0x7C, 0x7E, 0x00, 0x7E, | ||
1071 | 0x7E, 0x7E, 0x7F, 0x7F, 0x7F, 0x00, | ||
1072 | 0x00, 0x80, 0xC0, 0xE0, 0x7E, 0x5B, | ||
1073 | 0x4F, 0x5B, 0xFE, 0xC0, 0x00, 0x00, | ||
1074 | 0xC0, 0x00, 0xDC, 0xD7, 0xDE, 0xDE, | ||
1075 | 0xDE, 0xD7, 0xDC, 0x00, 0xC0, 0x00, | ||
1076 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, | ||
1077 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, | ||
1078 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, | ||
1079 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, | ||
1080 | 0x30, 0x30, 0x70, 0x78, 0x78, 0x7C, | ||
1081 | 0x7C, 0x7E, 0x3E, 0x3F, 0x3F, 0x3B, | ||
1082 | 0x3B, 0x39, 0x39, 0x38, 0x38, 0x38, | ||
1083 | 0x38, 0x38, 0x38, 0x38, 0x3C, 0x38, | ||
1084 | 0x18, 0x8F, 0xDF, 0xF8, 0x7C, 0xBE, | ||
1085 | 0xDF, 0xF7, 0xFB, 0xFD, 0xFE, 0xEF, | ||
1086 | 0x73, 0x3B, 0x1B, 0x1F, 0xEF, 0xF7, | ||
1087 | 0xFF, 0x7E, 0x6F, 0x6F, 0x6F, 0x6F, | ||
1088 | 0x6D, 0xBD, 0xE1, 0xF9, 0x3F, 0x3F, | ||
1089 | 0x39, 0x79, 0x79, 0x7D, 0xED, 0xED, | ||
1090 | 0xCD, 0xC7, 0xC7, 0x87, 0xC7, 0xE3, | ||
1091 | 0xE0, 0xF8, 0x7E, 0x3F, 0x37, 0x33, | ||
1092 | 0x3B, 0x1B, 0x19, 0x19, 0x0D, 0xED, | ||
1093 | 0xFF, 0xBF, 0xC7, 0xE7, 0xE3, 0xF0, | ||
1094 | 0x7C, 0xDE, 0xE7, 0xFB, 0x3E, 0x3F, | ||
1095 | 0xFC, 0xE0, 0xF8, 0x3E, 0xCF, 0xF3, | ||
1096 | 0xFC, 0x3F, 0x1F, 0x1F, 0x3C, 0x7E, | ||
1097 | 0x76, 0xF3, 0xE3, 0x81, 0x01, 0x00, | ||
1098 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, | ||
1099 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, | ||
1100 | 0x0F, 0x1F, 0x3F, 0x7F, 0x7F, 0x7F, | ||
1101 | 0x7F, 0x7F, 0x3F, 0x1E, 0x0C, 0x00, | ||
1102 | 0x1F, 0x1F, 0x1F, 0x3F, 0x00, 0x3F, | ||
1103 | 0x3F, 0x3F, 0x7F, 0x7F, 0x7F, 0x00, | ||
1104 | 0x30, 0x7B, 0x7F, 0x78, 0x30, 0x20, | ||
1105 | 0x20, 0x30, 0x78, 0x7F, 0x3B, 0x00, | ||
1106 | 0x03, 0x00, 0x0F, 0x7F, 0x0F, 0x0F, | ||
1107 | 0x0F, 0x7F, 0x0F, 0x00, 0x03, 0x00, | ||
1108 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, | ||
1109 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, | ||
1110 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, | ||
1111 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, | ||
1112 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, | ||
1113 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, | ||
1114 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, | ||
1115 | 0x00, 0x00, 0x20, 0x30, 0x18, 0x1E, | ||
1116 | 0x0F, 0x03, 0x01, 0x00, 0x00, 0x00, | ||
1117 | 0x01, 0x03, 0x03, 0x01, 0x00, 0x00, | ||
1118 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, | ||
1119 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, | ||
1120 | 0x00, 0x03, 0x07, 0x00, 0x00, 0x00, | ||
1121 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, | ||
1122 | 0x00, 0x01, 0xE1, 0x79, 0x3E, 0x1F, | ||
1123 | 0x07, 0x01, 0x00, 0x00, 0x00, 0x00, | ||
1124 | 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, | ||
1125 | 0x01, 0x00, 0x00, 0x01, 0x01, 0x01, | ||
1126 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, | ||
1127 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, | ||
1128 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, | ||
1129 | 0x00, 0x00, 0x00, 0x01, 0x01, 0x03, | ||
1130 | 0x02, 0x06, 0x04, 0x08, 0x18, 0x10, | ||
1131 | 0x30, 0x20, 0x60, 0x00, 0x00, 0x00, | ||
1132 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, | ||
1133 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, | ||
1134 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, | ||
1135 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, | ||
1136 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, | ||
1137 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, | ||
1138 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, | ||
1139 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, | ||
1140 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, | ||
1141 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, | ||
1142 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, | ||
1143 | 0x00, 0x1C, 0x1C, 0x3E, 0x7F, 0x7F, | ||
1144 | 0x00, 0x14, 0x08, 0x14, 0x00, 0x00, | ||
1145 | 0x00, 0x1C, 0x1C, 0x3E, 0x7F, 0x7F, | ||
1146 | 0x00, 0x22, 0x1C, 0x41, 0x3E, 0x00, | ||
1147 | 0x00, 0x00, 0x00, 0x30, 0x18, 0x0C, | ||
1148 | 0x06, 0x0C, 0x18, 0x30, 0x00, 0x00, | ||
1149 | 0x00, 0x00, 0x06, 0x06, 0x06, 0x0C, | ||
1150 | 0x18, 0x30, 0x66, 0x66, 0x66, 0x00, | ||
1151 | 0x00, 0x00, 0x00, 0x08, 0x0C, 0x7E, | ||
1152 | 0x7F, 0x7E, 0x0C, 0x08, 0x00, 0x00, | ||
1153 | 0x00, 0x00, 0x77, 0x77, 0x77, 0x00, | ||
1154 | 0x77, 0x77, 0x77, 0x00, 0x00, 0x00, | ||
1155 | 0x00, 0x00, 0xE7, 0xA5, 0xFF, 0x24, | ||
1156 | 0x24, 0xFF, 0xA5, 0xE7, 0x00, 0x00, | ||
1157 | 0x00, 0x00, 0x1C, 0x22, 0xC9, 0xD1, | ||
1158 | 0xC9, 0x22, 0x1C, 0x00, 0x00, 0x00, | ||
1159 | 0x00, 0x10, 0x02, 0x38, 0xFC, 0xED, | ||
1160 | 0xFC, 0x38, 0x02, 0x10, 0x00, 0x00, | ||
1161 | 0x00, 0x00, 0x00, 0x3E, 0x4A, 0x4F, | ||
1162 | 0x4A, 0x3E, 0x00, 0x00, 0x00, 0x00, | ||
1163 | 0x00, 0x00, 0x40, 0x60, 0x6A, 0x64, | ||
1164 | 0x6A, 0x60, 0x40, 0x00, 0x00, 0x00, | ||
1165 | 0x00, 0x04, 0x42, 0x69, 0x65, 0x65, | ||
1166 | 0x65, 0x69, 0x42, 0x04, 0x00, 0x00, | ||
1167 | 0x00, 0x00, 0x1C, 0x14, 0x1C, 0x08, | ||
1168 | 0x18, 0x08, 0x18, 0x00, 0x00, 0x00, | ||
1169 | 0x00, 0x70, 0xC8, 0xEE, 0xF9, 0x70, | ||
1170 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, | ||
1171 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, | ||
1172 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, | ||
1173 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, | ||
1174 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 | ||
1175 | #else | ||
1176 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // 0x80 | ||
1177 | 0x40, 0x40, 0x40, 0xF0, 0xF8, 0xF8, | ||
1178 | 0xFF, 0x38, 0xFF, 0xF8, 0xF8, 0x3F, | ||
1179 | 0xF8, 0xF8, 0xFF, 0x38, 0xFF, 0xF8, | ||
1180 | 0xF8, 0xF0, 0x40, 0x40, 0x40, 0x00, | ||
1181 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, | ||
1182 | 0xC0, 0xC0, 0xC0, 0x80, 0x00, 0x00, | ||
1183 | 0xC0, 0xC0, 0x80, 0x00, 0x00, 0x00, | ||
1184 | 0x80, 0xC0, 0xC0, 0x00, 0xC0, 0xC0, | ||
1185 | 0x00, 0x00, 0x80, 0xC0, 0xC0, 0x00, | ||
1186 | 0x00, 0x00, 0x00, 0x00, 0xC0, 0xC0, | ||
1187 | 0xC0, 0xC0, 0xC0, 0x00, 0xC0, 0xC0, | ||
1188 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, | ||
1189 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, | ||
1190 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, | ||
1191 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, | ||
1192 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // 0x90 | ||
1193 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, | ||
1194 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, | ||
1195 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, | ||
1196 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, | ||
1197 | 0xE0, 0xF0, 0xF0, 0xF0, 0xE0, 0xEC, | ||
1198 | 0xEE, 0xF7, 0xF3, 0x70, 0x20, 0x00, | ||
1199 | 0x7C, 0x7C, 0x7C, 0x7E, 0x00, 0x7E, | ||
1200 | 0x7E, 0x7E, 0x7F, 0x7F, 0x7F, 0x00, | ||
1201 | 0x00, 0x80, 0xC0, 0xE0, 0x7E, 0x5B, | ||
1202 | 0x4F, 0x5B, 0xFE, 0xC0, 0x00, 0x00, | ||
1203 | 0xC0, 0x00, 0xDC, 0xD7, 0xDE, 0xDE, | ||
1204 | 0xDE, 0xD7, 0xDC, 0x00, 0xC0, 0x00, | ||
1205 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, | ||
1206 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, | ||
1207 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, | ||
1208 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // 0xA0 | ||
1209 | 0x49, 0x49, 0x49, 0xFF, 0xFF, 0xFF, | ||
1210 | 0xFF, 0xE0, 0xDF, 0xBF, 0xBF, 0x00, | ||
1211 | 0xBF, 0xBF, 0xDF, 0xE0, 0xFF, 0xFF, | ||
1212 | 0xFF, 0xFF, 0x49, 0x49, 0x49, 0x00, | ||
1213 | 0x00, 0x00, 0x00, 0x00, 0x1F, 0x3F, | ||
1214 | 0x60, 0x60, 0xE0, 0xBF, 0x1F, 0x00, | ||
1215 | 0x7F, 0x7F, 0x07, 0x1E, 0x38, 0x1E, | ||
1216 | 0x07, 0x7F, 0x7F, 0x00, 0x7F, 0x7F, | ||
1217 | 0x0E, 0x1F, 0x3B, 0x71, 0x60, 0x00, | ||
1218 | 0x00, 0x00, 0x00, 0x00, 0x7F, 0x7F, | ||
1219 | 0x0C, 0x0C, 0x0C, 0x00, 0x7E, 0x7E, | ||
1220 | 0x00, 0x7F, 0x7E, 0x03, 0x03, 0x00, | ||
1221 | 0x7F, 0x7E, 0x03, 0x03, 0x7E, 0x7E, | ||
1222 | 0x03, 0x03, 0x7F, 0x7E, 0x00, 0x0F, | ||
1223 | 0x3E, 0x70, 0x3C, 0x06, 0x3C, 0x70, | ||
1224 | 0x3E, 0x0F, 0x00, 0x32, 0x7B, 0x49, // 0xB0 | ||
1225 | 0x49, 0x3F, 0x7E, 0x00, 0x7F, 0x7E, | ||
1226 | 0x03, 0x03, 0x00, 0x1E, 0x3F, 0x69, | ||
1227 | 0x69, 0x6F, 0x26, 0x00, 0x00, 0x00, | ||
1228 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, | ||
1229 | 0x0F, 0x1F, 0x3F, 0x7F, 0x7F, 0x7F, | ||
1230 | 0x7F, 0x7F, 0x3F, 0x1E, 0x0C, 0x00, | ||
1231 | 0x1F, 0x1F, 0x1F, 0x3F, 0x00, 0x3F, | ||
1232 | 0x3F, 0x3F, 0x7F, 0x7F, 0x7F, 0x00, | ||
1233 | 0x30, 0x7B, 0x7F, 0x78, 0x30, 0x20, | ||
1234 | 0x20, 0x30, 0x78, 0x7F, 0x3B, 0x00, | ||
1235 | 0x03, 0x00, 0x0F, 0x7F, 0x0F, 0x0F, | ||
1236 | 0x0F, 0x7F, 0x0F, 0x00, 0x03, 0x00, | ||
1237 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, | ||
1238 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, | ||
1239 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, | ||
1240 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // 0xC0 | ||
1241 | 0x01, 0x01, 0x01, 0x07, 0x0F, 0x0F, | ||
1242 | 0x7F, 0x0F, 0x7F, 0x0F, 0x0F, 0x7E, | ||
1243 | 0x0F, 0x0F, 0x7F, 0x0F, 0x7F, 0x0F, | ||
1244 | 0x0F, 0x07, 0x01, 0x01, 0x01, 0x00, | ||
1245 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, | ||
1246 | 0x00, 0x00, 0x00, 0x01, 0x01, 0x00, | ||
1247 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, | ||
1248 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, | ||
1249 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, | ||
1250 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, | ||
1251 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, | ||
1252 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, | ||
1253 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, | ||
1254 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, | ||
1255 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, | ||
1256 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // 0xD0 | ||
1257 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, | ||
1258 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, | ||
1259 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, | ||
1260 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, | ||
1261 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, | ||
1262 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, | ||
1263 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, | ||
1264 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, | ||
1265 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, | ||
1266 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, | ||
1267 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, | ||
1268 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, | ||
1269 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, | ||
1270 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, | ||
1271 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // 0xDF | ||
1272 | 0x00, 0x1C, 0x1C, 0x3E, 0x7F, 0x7F, | ||
1273 | 0x00, 0x14, 0x08, 0x14, 0x00, 0x00, | ||
1274 | 0x00, 0x1C, 0x1C, 0x3E, 0x7F, 0x7F, | ||
1275 | 0x00, 0x22, 0x1C, 0x41, 0x3E, 0x00, | ||
1276 | 0x00, 0x00, 0x00, 0x30, 0x18, 0x0C, | ||
1277 | 0x06, 0x0C, 0x18, 0x30, 0x00, 0x00, | ||
1278 | 0x00, 0x00, 0x06, 0x06, 0x06, 0x0C, | ||
1279 | 0x18, 0x30, 0x66, 0x66, 0x66, 0x00, | ||
1280 | 0x00, 0x00, 0x00, 0x08, 0x0C, 0x7E, | ||
1281 | 0x7F, 0x7E, 0x0C, 0x08, 0x00, 0x00, | ||
1282 | 0x00, 0x00, 0x77, 0x77, 0x77, 0x00, | ||
1283 | 0x77, 0x77, 0x77, 0x00, 0x00, 0x00, | ||
1284 | 0x00, 0x00, 0xE7, 0xA5, 0xFF, 0x24, | ||
1285 | 0x24, 0xFF, 0xA5, 0xE7, 0x00, 0x00, | ||
1286 | 0x00, 0x00, 0x1C, 0x22, 0xC9, 0xD1, | ||
1287 | 0xC9, 0x22, 0x1C, 0x00, 0x00, 0x00, | ||
1288 | 0x00, 0x10, 0x02, 0x38, 0xFC, 0xED, | ||
1289 | 0xFC, 0x38, 0x02, 0x10, 0x00, 0x00, | ||
1290 | 0x00, 0x00, 0x00, 0x3E, 0x4A, 0x4F, | ||
1291 | 0x4A, 0x3E, 0x00, 0x00, 0x00, 0x00, | ||
1292 | 0x00, 0x00, 0x40, 0x60, 0x6A, 0x64, | ||
1293 | 0x6A, 0x60, 0x40, 0x00, 0x00, 0x00, | ||
1294 | 0x00, 0x04, 0x42, 0x69, 0x65, 0x65, | ||
1295 | 0x65, 0x69, 0x42, 0x04, 0x00, 0x00, | ||
1296 | 0x00, 0x00, 0x1C, 0x14, 0x1C, 0x08, | ||
1297 | 0x18, 0x08, 0x18, 0x00, 0x00, 0x00, | ||
1298 | 0x00, 0x70, 0xC8, 0xEE, 0xF9, 0x70, | ||
1299 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, | ||
1300 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, | ||
1301 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, | ||
1302 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, | ||
1303 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, | ||
1304 | |||
1305 | #endif | ||
1306 | }; | ||
diff --git a/users/drashna/drashna_transport.c b/users/drashna/drashna_transport.c new file mode 100644 index 000000000..f0908b490 --- /dev/null +++ b/users/drashna/drashna_transport.c | |||
@@ -0,0 +1,508 @@ | |||
1 | /* Copyright 2020 Christopher Courtney, aka Drashna Jael're (@drashna) <drashna@live.com> | ||
2 | * | ||
3 | * 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 | ||
5 | * the Free Software Foundation, either version 2 of the License, or | ||
6 | * (at your option) any later version. | ||
7 | * | ||
8 | * This program is distributed in the hope that it will be useful, | ||
9 | * but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
10 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
11 | * GNU General Public License for more details. | ||
12 | * | ||
13 | * You should have received a copy of the GNU General Public License | ||
14 | * along with this program. If not, see <http://www.gnu.org/licenses/>. | ||
15 | */ | ||
16 | |||
17 | #include <string.h> | ||
18 | #include <stddef.h> | ||
19 | |||
20 | #include "matrix.h" | ||
21 | #include QMK_KEYBOARD_H | ||
22 | |||
23 | #define ROWS_PER_HAND (MATRIX_ROWS / 2) | ||
24 | |||
25 | #ifdef RGBLIGHT_ENABLE | ||
26 | # include "rgblight.h" | ||
27 | #endif | ||
28 | |||
29 | #ifdef BACKLIGHT_ENABLE | ||
30 | # include "backlight.h" | ||
31 | #endif | ||
32 | |||
33 | #ifdef ENCODER_ENABLE | ||
34 | # include "encoder.h" | ||
35 | static pin_t encoders_pad[] = ENCODERS_PAD_A; | ||
36 | # define NUMBER_OF_ENCODERS (sizeof(encoders_pad) / sizeof(pin_t)) | ||
37 | #endif | ||
38 | |||
39 | #ifdef POINTING_DEVICE_ENABLE | ||
40 | static int8_t split_mouse_x = 0, split_mouse_y = 0; | ||
41 | #endif | ||
42 | |||
43 | #ifdef OLED_DRIVER_ENABLE | ||
44 | # include "oled_driver.h" | ||
45 | #endif | ||
46 | |||
47 | #if defined(USE_I2C) | ||
48 | |||
49 | # include "i2c_master.h" | ||
50 | # include "i2c_slave.h" | ||
51 | |||
52 | typedef struct _I2C_slave_buffer_t { | ||
53 | matrix_row_t smatrix[ROWS_PER_HAND]; | ||
54 | # ifdef SPLIT_MODS_ENABLE | ||
55 | uint8_t real_mods; | ||
56 | uint8_t weak_mods; | ||
57 | # ifndef NO_ACTION_ONESHOT | ||
58 | uint8_t oneshot_mods; | ||
59 | # endif | ||
60 | # endif | ||
61 | # ifdef BACKLIGHT_ENABLE | ||
62 | uint8_t backlight_level; | ||
63 | # endif | ||
64 | # if defined(RGBLIGHT_ENABLE) && defined(RGBLIGHT_SPLIT) | ||
65 | rgblight_syncinfo_t rgblight_sync; | ||
66 | # endif | ||
67 | # ifdef ENCODER_ENABLE | ||
68 | uint8_t encoder_state[NUMBER_OF_ENCODERS]; | ||
69 | # endif | ||
70 | # ifdef WPM_ENABLE | ||
71 | uint8_t current_wpm; | ||
72 | # endif | ||
73 | int8_t mouse_x; | ||
74 | int8_t mouse_y; | ||
75 | bool oled_on; | ||
76 | layer_state_t t_layer_state; | ||
77 | layer_state_t t_default_layer_state; | ||
78 | bool is_rgb_matrix_suspended; | ||
79 | } __attribute__((packed)) I2C_slave_buffer_t; | ||
80 | |||
81 | static I2C_slave_buffer_t *const i2c_buffer = (I2C_slave_buffer_t *)i2c_slave_reg; | ||
82 | |||
83 | # define I2C_BACKLIGHT_START offsetof(I2C_slave_buffer_t, backlight_level) | ||
84 | # define I2C_RGB_START offsetof(I2C_slave_buffer_t, rgblight_sync) | ||
85 | # define I2C_KEYMAP_START offsetof(I2C_slave_buffer_t, smatrix) | ||
86 | # define I2C_REAL_MODS_START offsetof(I2C_slave_buffer_t, real_mods) | ||
87 | # define I2C_WEAK_MODS_START offsetof(I2C_slave_buffer_t, weak_mods) | ||
88 | # define I2C_ONESHOT_MODS_START offsetof(I2C_slave_buffer_t, oneshot_mods) | ||
89 | # define I2C_ENCODER_START offsetof(I2C_slave_buffer_t, encoder_state) | ||
90 | # define I2C_WPM_START offsetof(I2C_slave_buffer_t, current_wpm) | ||
91 | # define I2C_MOUSE_X_START offsetof(I2C_slave_buffer_t, mouse_x) | ||
92 | # define I2C_MOUSE_Y_START offsetof(I2C_slave_buffer_t, mouse_y) | ||
93 | # define I2C_OLED_ON_START offsetof(I2C_slave_buffer_t, oled_on) | ||
94 | # define I2C_LAYER_STATE_START offsetof(I2C_slave_buffer_t, t_layer_state) | ||
95 | # define I2C_DEFAULT_LAYER_STATE_START offsetof(I2C_slave_buffer_t, t_default_layer_state) | ||
96 | # define I2C_RGB_MATRIX_SUSPEND_START offsetof(I2C_slave_buffer_t, is_rgb_matrix_suspended) | ||
97 | |||
98 | # define TIMEOUT 100 | ||
99 | |||
100 | # ifndef SLAVE_I2C_ADDRESS | ||
101 | # define SLAVE_I2C_ADDRESS 0x32 | ||
102 | # endif | ||
103 | |||
104 | // Get rows from other half over i2c | ||
105 | bool transport_master(matrix_row_t matrix[]) { | ||
106 | i2c_readReg(SLAVE_I2C_ADDRESS, I2C_KEYMAP_START, (void *)matrix, sizeof(i2c_buffer->smatrix), TIMEOUT); | ||
107 | |||
108 | // write backlight info | ||
109 | # ifdef BACKLIGHT_ENABLE | ||
110 | uint8_t level = is_backlight_enabled() ? get_backlight_level() : 0; | ||
111 | if (level != i2c_buffer->backlight_level) { | ||
112 | if (i2c_writeReg(SLAVE_I2C_ADDRESS, I2C_BACKLIGHT_START, (void *)&level, sizeof(level), TIMEOUT) >= 0) { | ||
113 | i2c_buffer->backlight_level = level; | ||
114 | } | ||
115 | } | ||
116 | # endif | ||
117 | |||
118 | # if defined(RGBLIGHT_ENABLE) && defined(RGBLIGHT_SPLIT) | ||
119 | if (rgblight_get_change_flags()) { | ||
120 | rgblight_syncinfo_t rgblight_sync; | ||
121 | rgblight_get_syncinfo(&rgblight_sync); | ||
122 | if (i2c_writeReg(SLAVE_I2C_ADDRESS, I2C_RGB_START, (void *)&rgblight_sync, sizeof(rgblight_sync), TIMEOUT) >= 0) { | ||
123 | rgblight_clear_change_flags(); | ||
124 | } | ||
125 | } | ||
126 | # endif | ||
127 | |||
128 | # ifdef ENCODER_ENABLE | ||
129 | i2c_readReg(SLAVE_I2C_ADDRESS, I2C_ENCODER_START, (void *)i2c_buffer->encoder_state, sizeof(i2c_buffer->encoder_state), TIMEOUT); | ||
130 | encoder_update_raw(i2c_buffer->encoder_state); | ||
131 | # endif | ||
132 | |||
133 | # ifdef WPM_ENABLE | ||
134 | uint8_t current_wpm = get_current_wpm(); | ||
135 | if (current_wpm != i2c_buffer->current_wpm) { | ||
136 | if (i2c_writeReg(SLAVE_I2C_ADDRESS, I2C_WPM_START, (void *)¤t_wpm, sizeof(current_wpm), TIMEOUT) >= 0) { | ||
137 | i2c_buffer->current_wpm = current_wpm; | ||
138 | } | ||
139 | } | ||
140 | # endif | ||
141 | |||
142 | # ifdef POINTING_DEVICE_ENABLE | ||
143 | if (is_keyboard_left()) { | ||
144 | report_mouse_t temp_report = pointing_device_get_report(); | ||
145 | i2c_readReg(SLAVE_I2C_ADDRESS, I2C_MOUSE_X_START, (void *)&i2c_buffer->mouse_x, sizeof(i2c_buffer->mouse_x), TIMEOUT); | ||
146 | temp_report.x = i2c_buffer->mouse_x; | ||
147 | i2c_readReg(SLAVE_I2C_ADDRESS, I2C_MOUSE_Y_START, (void *)&i2c_buffer->mouse_y, sizeof(i2c_buffer->mouse_y), TIMEOUT); | ||
148 | temp_report.y = i2c_buffer->mouse_y; | ||
149 | pointing_device_set_report(temp_report); | ||
150 | } | ||
151 | # endif | ||
152 | |||
153 | # ifdef SPLIT_MODS_ENABLE | ||
154 | uint8_t real_mods = get_mods(); | ||
155 | if (real_mods != i2c_buffer->real_mods) { | ||
156 | if (i2c_writeReg(SLAVE_I2C_ADDRESS, I2C_REAL_MODS_START, (void *)&real_mods, sizeof(real_mods), TIMEOUT) >= 0) { | ||
157 | i2c_buffer->real_mods = real_mods; | ||
158 | } | ||
159 | } | ||
160 | |||
161 | uint8_t weak_mods = get_weak_mods(); | ||
162 | if (weak_mods != i2c_buffer->weak_mods) { | ||
163 | if (i2c_writeReg(SLAVE_I2C_ADDRESS, I2C_WEAK_MODS_START, (void *)&weak_mods, sizeof(weak_mods), TIMEOUT) >= 0) { | ||
164 | i2c_buffer->weak_mods = weak_mods; | ||
165 | } | ||
166 | } | ||
167 | |||
168 | # ifndef NO_ACTION_ONESHOT | ||
169 | uint8_t oneshot_mods = get_oneshot_mods(); | ||
170 | if (oneshot_mods != i2c_buffer->oneshot_mods) { | ||
171 | if (i2c_writeReg(SLAVE_I2C_ADDRESS, I2C_ONESHOT_MODS_START, (void *)&oneshot_mods, sizeof(oneshot_mods), TIMEOUT) >= 0) { | ||
172 | i2c_buffer->oneshot_mods = oneshot_mods; | ||
173 | } | ||
174 | } | ||
175 | # endif | ||
176 | # endif | ||
177 | |||
178 | if (layer_state != i2c_buffer->t_layer_state) { | ||
179 | if (i2c_writeReg(SLAVE_I2C_ADDRESS, I2C_LAYER_STATE_START, (void *)&layer_state, sizeof(layer_state), TIMEOUT) >= 0) { | ||
180 | i2c_buffer->t_layer_state = layer_state; | ||
181 | } | ||
182 | } | ||
183 | |||
184 | if (default_layer_state != i2c_buffer->t_default_layer_state) { | ||
185 | if (i2c_writeReg(SLAVE_I2C_ADDRESS, I2C_DEFAULT_LAYER_STATE_START, (void *)&default_layer_state, sizeof(default_layer_state), TIMEOUT) >= 0) { | ||
186 | i2c_buffer->t_default_layer_state = default_layer_state; | ||
187 | } | ||
188 | } | ||
189 | |||
190 | # ifdef OLED_DRIVER_ENABLE | ||
191 | bool is_oled = is_oled_on(); | ||
192 | if (is_oled != i2c_buffer->oled_on) { | ||
193 | if (i2c_writeReg(SLAVE_I2C_ADDRESS, I2C_LAYER_STATE_START, (void *)&is_oled, sizeof(is_oled), TIMEOUT) >= 0) { | ||
194 | i2c_buffer->oled_on = is_oled; | ||
195 | } | ||
196 | } | ||
197 | # endif | ||
198 | |||
199 | # ifdef RGB_MATRIX_ENABLE | ||
200 | bool sus_state = rgb_matrix_get_suspend_state(); | ||
201 | if (sus_state != i2c_buffer->is_rgb_matrix_suspended) { | ||
202 | if (i2c_writeReg(SLAVE_I2C_ADDRESS, I2C_RGB_MATRIX_SUSPEND_START, (void *)&sus_state, sizeof(sus_state), TIMEOUT) >= 0) { | ||
203 | i2c_buffer->is_rgb_matrix_suspended = sus_state; | ||
204 | } | ||
205 | } | ||
206 | # endif | ||
207 | |||
208 | return true; | ||
209 | } | ||
210 | |||
211 | void transport_slave(matrix_row_t matrix[]) { | ||
212 | // Copy matrix to I2C buffer | ||
213 | memcpy((void *)i2c_buffer->smatrix, (void *)matrix, sizeof(i2c_buffer->smatrix)); | ||
214 | |||
215 | // Read Backlight Info | ||
216 | # ifdef BACKLIGHT_ENABLE | ||
217 | backlight_set(i2c_buffer->backlight_level); | ||
218 | # endif | ||
219 | |||
220 | # if defined(RGBLIGHT_ENABLE) && defined(RGBLIGHT_SPLIT) | ||
221 | // Update the RGB with the new data | ||
222 | if (i2c_buffer->rgblight_sync.status.change_flags != 0) { | ||
223 | rgblight_update_sync(&i2c_buffer->rgblight_sync, false); | ||
224 | i2c_buffer->rgblight_sync.status.change_flags = 0; | ||
225 | } | ||
226 | # endif | ||
227 | |||
228 | # ifdef ENCODER_ENABLE | ||
229 | encoder_state_raw(i2c_buffer->encoder_state); | ||
230 | # endif | ||
231 | |||
232 | # ifdef WPM_ENABLE | ||
233 | set_current_wpm(i2c_buffer->current_wpm); | ||
234 | # endif | ||
235 | |||
236 | # ifdef POINTING_DEVICE_ENABLE | ||
237 | if (!is_keyboard_left()) { | ||
238 | i2c_buffer->mouse_x = split_mouse_x; | ||
239 | i2c_writeReg(SLAVE_I2C_ADDRESS, I2C_MOUSE_X_START, (void *)&i2c_buffer->mouse_x, sizeof(i2c_buffer->mouse_x), TIMEOUT); | ||
240 | i2c_buffer->mouse_y = split_mouse_y; | ||
241 | i2c_writeReg(SLAVE_I2C_ADDRESS, I2C_MOUSE_Y_START, (void *)&i2c_buffer->mouse_y, sizeof(i2c_buffer->mouse_y), TIMEOUT); | ||
242 | } | ||
243 | |||
244 | # endif | ||
245 | |||
246 | # ifdef SPLIT_MODS_ENABLE | ||
247 | set_mods(i2c_buffer->real_mods); | ||
248 | set_weak_mods(i2c_buffer->weak_mods); | ||
249 | # ifndef NO_ACTION_ONESHOT | ||
250 | set_oneshot_mods(i2c_buffer->oneshot_mods); | ||
251 | # endif | ||
252 | # endif | ||
253 | |||
254 | if (layer_state != i2c_buffer->t_layer_state) { | ||
255 | layer_state = i2c_buffer->t_layer_state; | ||
256 | } | ||
257 | if (default_layer_state != i2c_buffer->t_default_layer_state) { | ||
258 | default_layer_state = i2c_buffer->t_default_layer_state; | ||
259 | } | ||
260 | |||
261 | # ifdef OLED_DRIVER_ENABLE | ||
262 | if (i2c_buffer->oled_on) { | ||
263 | oled_on(); | ||
264 | } else { | ||
265 | oled_off(); | ||
266 | } | ||
267 | # endif | ||
268 | |||
269 | # ifdef RGB_MATRIX_ENABLE | ||
270 | rgb_matrix_set_suspend_state(i2c_buffer->is_rgb_matrix_suspended); | ||
271 | # endif | ||
272 | } | ||
273 | |||
274 | void transport_master_init(void) { i2c_init(); } | ||
275 | |||
276 | void transport_slave_init(void) { i2c_slave_init(SLAVE_I2C_ADDRESS); } | ||
277 | |||
278 | #else // USE_SERIAL | ||
279 | |||
280 | # include "serial.h" | ||
281 | |||
282 | typedef struct _Serial_s2m_buffer_t { | ||
283 | // TODO: if MATRIX_COLS > 8 change to uint8_t packed_matrix[] for pack/unpack | ||
284 | matrix_row_t smatrix[ROWS_PER_HAND]; | ||
285 | # ifdef ENCODER_ENABLE | ||
286 | uint8_t encoder_state[NUMBER_OF_ENCODERS]; | ||
287 | # endif | ||
288 | int8_t mouse_x; | ||
289 | int8_t mouse_y; | ||
290 | } __attribute__((packed)) Serial_s2m_buffer_t; | ||
291 | |||
292 | typedef struct _Serial_m2s_buffer_t { | ||
293 | # ifdef SPLIT_MODS_ENABLE | ||
294 | uint8_t real_mods; | ||
295 | uint8_t weak_mods; | ||
296 | # ifndef NO_ACTION_ONESHOT | ||
297 | uint8_t oneshot_mods; | ||
298 | # endif | ||
299 | # endif | ||
300 | # ifdef BACKLIGHT_ENABLE | ||
301 | uint8_t backlight_level; | ||
302 | # endif | ||
303 | # ifdef WPM_ENABLE | ||
304 | uint8_t current_wpm; | ||
305 | # endif | ||
306 | bool oled_on; | ||
307 | layer_state_t t_layer_state; | ||
308 | layer_state_t t_default_layer_state; | ||
309 | bool is_rgb_matrix_suspended; | ||
310 | } __attribute__((packed)) Serial_m2s_buffer_t; | ||
311 | |||
312 | # if defined(RGBLIGHT_ENABLE) && defined(RGBLIGHT_SPLIT) | ||
313 | // When MCUs on both sides drive their respective RGB LED chains, | ||
314 | // it is necessary to synchronize, so it is necessary to communicate RGB | ||
315 | // information. In that case, define RGBLIGHT_SPLIT with info on the number | ||
316 | // of LEDs on each half. | ||
317 | // | ||
318 | // Otherwise, if the master side MCU drives both sides RGB LED chains, | ||
319 | // there is no need to communicate. | ||
320 | |||
321 | typedef struct _Serial_rgblight_t { | ||
322 | rgblight_syncinfo_t rgblight_sync; | ||
323 | } Serial_rgblight_t; | ||
324 | |||
325 | volatile Serial_rgblight_t serial_rgblight = {}; | ||
326 | uint8_t volatile status_rgblight = 0; | ||
327 | # endif | ||
328 | |||
329 | volatile Serial_s2m_buffer_t serial_s2m_buffer = {}; | ||
330 | volatile Serial_m2s_buffer_t serial_m2s_buffer = {}; | ||
331 | uint8_t volatile status0 = 0; | ||
332 | |||
333 | enum serial_transaction_id { | ||
334 | GET_SLAVE_MATRIX = 0, | ||
335 | # if defined(RGBLIGHT_ENABLE) && defined(RGBLIGHT_SPLIT) | ||
336 | PUT_RGBLIGHT, | ||
337 | # endif | ||
338 | }; | ||
339 | |||
340 | SSTD_t transactions[] = { | ||
341 | [GET_SLAVE_MATRIX] = | ||
342 | { | ||
343 | (uint8_t *)&status0, | ||
344 | sizeof(serial_m2s_buffer), | ||
345 | (uint8_t *)&serial_m2s_buffer, | ||
346 | sizeof(serial_s2m_buffer), | ||
347 | (uint8_t *)&serial_s2m_buffer, | ||
348 | }, | ||
349 | # if defined(RGBLIGHT_ENABLE) && defined(RGBLIGHT_SPLIT) | ||
350 | [PUT_RGBLIGHT] = | ||
351 | { | ||
352 | (uint8_t *)&status_rgblight, sizeof(serial_rgblight), (uint8_t *)&serial_rgblight, 0, NULL // no slave to master transfer | ||
353 | }, | ||
354 | # endif | ||
355 | }; | ||
356 | |||
357 | void transport_master_init(void) { soft_serial_initiator_init(transactions, TID_LIMIT(transactions)); } | ||
358 | |||
359 | void transport_slave_init(void) { soft_serial_target_init(transactions, TID_LIMIT(transactions)); } | ||
360 | |||
361 | # if defined(RGBLIGHT_ENABLE) && defined(RGBLIGHT_SPLIT) | ||
362 | |||
363 | // rgblight synchronization information communication. | ||
364 | |||
365 | void transport_rgblight_master(void) { | ||
366 | if (rgblight_get_change_flags()) { | ||
367 | rgblight_get_syncinfo((rgblight_syncinfo_t *)&serial_rgblight.rgblight_sync); | ||
368 | if (soft_serial_transaction(PUT_RGBLIGHT) == TRANSACTION_END) { | ||
369 | rgblight_clear_change_flags(); | ||
370 | } | ||
371 | } | ||
372 | } | ||
373 | |||
374 | void transport_rgblight_slave(void) { | ||
375 | if (status_rgblight == TRANSACTION_ACCEPTED) { | ||
376 | rgblight_update_sync((rgblight_syncinfo_t *)&serial_rgblight.rgblight_sync, false); | ||
377 | status_rgblight = TRANSACTION_END; | ||
378 | } | ||
379 | } | ||
380 | |||
381 | # else | ||
382 | # define transport_rgblight_master() | ||
383 | # define transport_rgblight_slave() | ||
384 | # endif | ||
385 | |||
386 | bool transport_master(matrix_row_t matrix[]) { | ||
387 | # ifndef SERIAL_USE_MULTI_TRANSACTION | ||
388 | if (soft_serial_transaction() != TRANSACTION_END) { | ||
389 | return false; | ||
390 | } | ||
391 | # else | ||
392 | transport_rgblight_master(); | ||
393 | if (soft_serial_transaction(GET_SLAVE_MATRIX) != TRANSACTION_END) { | ||
394 | return false; | ||
395 | } | ||
396 | # endif | ||
397 | |||
398 | // TODO: if MATRIX_COLS > 8 change to unpack() | ||
399 | for (int i = 0; i < ROWS_PER_HAND; ++i) { | ||
400 | matrix[i] = serial_s2m_buffer.smatrix[i]; | ||
401 | } | ||
402 | |||
403 | # ifdef BACKLIGHT_ENABLE | ||
404 | // Write backlight level for slave to read | ||
405 | serial_m2s_buffer.backlight_level = is_backlight_enabled() ? get_backlight_level() : 0; | ||
406 | # endif | ||
407 | |||
408 | # ifdef ENCODER_ENABLE | ||
409 | encoder_update_raw((uint8_t *)serial_s2m_buffer.encoder_state); | ||
410 | # endif | ||
411 | |||
412 | # ifdef WPM_ENABLE | ||
413 | // Write wpm to slave | ||
414 | serial_m2s_buffer.current_wpm = get_current_wpm(); | ||
415 | # endif | ||
416 | |||
417 | # ifdef SPLIT_MODS_ENABLE | ||
418 | serial_m2s_buffer.real_mods = get_mods(); | ||
419 | serial_m2s_buffer.weak_mods = get_weak_mods(); | ||
420 | # ifndef NO_ACTION_ONESHOT | ||
421 | serial_m2s_buffer.oneshot_mods = get_oneshot_mods(); | ||
422 | # endif | ||
423 | # endif | ||
424 | |||
425 | # ifdef POINTING_DEVICE_ENABLE | ||
426 | if (is_keyboard_left()) { | ||
427 | report_mouse_t temp_report = pointing_device_get_report(); | ||
428 | temp_report.x = serial_s2m_buffer.mouse_x; | ||
429 | temp_report.y = serial_s2m_buffer.mouse_y; | ||
430 | pointing_device_set_report(temp_report); | ||
431 | } | ||
432 | # endif | ||
433 | |||
434 | serial_m2s_buffer.t_layer_state = layer_state; | ||
435 | serial_m2s_buffer.t_default_layer_state = default_layer_state; | ||
436 | # ifdef OLED_DRIVER_ENABLE | ||
437 | serial_m2s_buffer.oled_on = is_oled_on(); | ||
438 | # endif | ||
439 | |||
440 | # ifdef RGB_MATRIX_ENABLE | ||
441 | serial_m2s_buffer.is_rgb_matrix_suspended = rgb_matrix_get_suspend_state(); | ||
442 | # endif | ||
443 | |||
444 | return true; | ||
445 | } | ||
446 | |||
447 | void transport_slave(matrix_row_t matrix[]) { | ||
448 | transport_rgblight_slave(); | ||
449 | |||
450 | // TODO: if MATRIX_COLS > 8 change to pack() | ||
451 | for (int i = 0; i < ROWS_PER_HAND; ++i) { | ||
452 | serial_s2m_buffer.smatrix[i] = matrix[i]; | ||
453 | } | ||
454 | |||
455 | # ifdef BACKLIGHT_ENABLE | ||
456 | backlight_set(serial_m2s_buffer.backlight_level); | ||
457 | # endif | ||
458 | |||
459 | # ifdef ENCODER_ENABLE | ||
460 | encoder_state_raw((uint8_t *)serial_s2m_buffer.encoder_state); | ||
461 | # endif | ||
462 | |||
463 | # ifdef WPM_ENABLE | ||
464 | set_current_wpm(serial_m2s_buffer.current_wpm); | ||
465 | # endif | ||
466 | |||
467 | # ifdef SPLIT_MODS_ENABLE | ||
468 | set_mods(serial_m2s_buffer.real_mods); | ||
469 | set_weak_mods(serial_m2s_buffer.weak_mods); | ||
470 | # ifndef NO_ACTION_ONESHOT | ||
471 | set_oneshot_mods(serial_m2s_buffer.oneshot_mods); | ||
472 | # endif | ||
473 | # endif | ||
474 | |||
475 | # ifdef POINTING_DEVICE_ENABLE | ||
476 | if (!is_keyboard_left()) { | ||
477 | serial_s2m_buffer.mouse_x = split_mouse_x; | ||
478 | serial_s2m_buffer.mouse_y = split_mouse_y; | ||
479 | } | ||
480 | # endif | ||
481 | |||
482 | if (layer_state != serial_m2s_buffer.t_layer_state) { | ||
483 | layer_state = serial_m2s_buffer.t_layer_state; | ||
484 | } | ||
485 | if (default_layer_state != serial_m2s_buffer.t_default_layer_state) { | ||
486 | default_layer_state = serial_m2s_buffer.t_default_layer_state; | ||
487 | } | ||
488 | # ifdef OLED_DRIVER_ENABLE | ||
489 | if (serial_m2s_buffer.oled_on) { | ||
490 | oled_on(); | ||
491 | } else { | ||
492 | oled_off(); | ||
493 | } | ||
494 | # endif | ||
495 | |||
496 | # ifdef RGB_MATRIX_ENABLE | ||
497 | rgb_matrix_set_suspend_state(serial_m2s_buffer.is_rgb_matrix_suspended); | ||
498 | # endif | ||
499 | } | ||
500 | |||
501 | #endif | ||
502 | |||
503 | #ifdef POINTING_DEVICE_ENABLE | ||
504 | void master_mouse_send(int8_t x, int8_t y) { | ||
505 | split_mouse_x = x; | ||
506 | split_mouse_y = y; | ||
507 | } | ||
508 | #endif | ||
diff --git a/users/drashna/font_gmk_bad.h b/users/drashna/font_gmk_bad.h deleted file mode 100644 index 2f660d7eb..000000000 --- a/users/drashna/font_gmk_bad.h +++ /dev/null | |||
@@ -1,234 +0,0 @@ | |||
1 | #pragma once | ||
2 | |||
3 | #include "progmem.h" | ||
4 | |||
5 | // Corne 8x6 font with QMK Firmware Logo | ||
6 | // Online editor: https://helixfonteditor.netlify.com/ | ||
7 | |||
8 | // clang-format off | ||
9 | const unsigned char font[] PROGMEM = { | ||
10 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, | ||
11 | 0x3E, 0x5B, 0x4F, 0x5B, 0x3E, 0x00, | ||
12 | 0x3E, 0x6B, 0x4F, 0x6B, 0x3E, 0x00, | ||
13 | 0x1C, 0x3E, 0x7C, 0x3E, 0x1C, 0x00, | ||
14 | 0x18, 0x3C, 0x7E, 0x3C, 0x18, 0x00, | ||
15 | 0x1C, 0x57, 0x7D, 0x57, 0x1C, 0x00, | ||
16 | 0x1C, 0x5E, 0x7F, 0x5E, 0x1C, 0x00, | ||
17 | 0x00, 0x18, 0x3C, 0x18, 0x00, 0x00, | ||
18 | 0xFF, 0xE7, 0xC3, 0xE7, 0xFF, 0x00, | ||
19 | 0x00, 0x18, 0x24, 0x18, 0x00, 0x00, | ||
20 | 0xFF, 0xE7, 0xDB, 0xE7, 0xFF, 0x00, | ||
21 | 0x30, 0x48, 0x3A, 0x06, 0x0E, 0x00, | ||
22 | 0x26, 0x29, 0x79, 0x29, 0x26, 0x00, | ||
23 | 0x40, 0x7F, 0x05, 0x05, 0x07, 0x00, | ||
24 | 0x40, 0x7F, 0x05, 0x25, 0x3F, 0x00, | ||
25 | 0x5A, 0x3C, 0xE7, 0x3C, 0x5A, 0x00, | ||
26 | 0x7F, 0x3E, 0x1C, 0x1C, 0x08, 0x00, | ||
27 | 0x08, 0x1C, 0x1C, 0x3E, 0x7F, 0x00, | ||
28 | 0x14, 0x22, 0x7F, 0x22, 0x14, 0x00, | ||
29 | 0x5F, 0x5F, 0x00, 0x5F, 0x5F, 0x00, | ||
30 | 0x06, 0x09, 0x7F, 0x01, 0x7F, 0x00, | ||
31 | 0x00, 0x66, 0x89, 0x95, 0x6A, 0x00, | ||
32 | 0x60, 0x60, 0x60, 0x60, 0x60, 0x00, | ||
33 | 0x94, 0xA2, 0xFF, 0xA2, 0x94, 0x00, | ||
34 | 0x08, 0x04, 0x7E, 0x04, 0x08, 0x00, | ||
35 | 0x10, 0x20, 0x7E, 0x20, 0x10, 0x00, | ||
36 | 0x08, 0x08, 0x2A, 0x1C, 0x08, 0x00, | ||
37 | 0x08, 0x1C, 0x2A, 0x08, 0x08, 0x00, | ||
38 | 0x1E, 0x10, 0x10, 0x10, 0x10, 0x00, | ||
39 | 0x0C, 0x1E, 0x0C, 0x1E, 0x0C, 0x00, | ||
40 | 0x30, 0x38, 0x3E, 0x38, 0x30, 0x00, | ||
41 | 0x06, 0x0E, 0x3E, 0x0E, 0x06, 0x00, | ||
42 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, | ||
43 | 0x00, 0x00, 0x5F, 0x00, 0x00, 0x00, | ||
44 | 0x00, 0x07, 0x00, 0x07, 0x00, 0x00, | ||
45 | 0x14, 0x7F, 0x14, 0x7F, 0x14, 0x00, | ||
46 | 0x24, 0x2A, 0x7F, 0x2A, 0x12, 0x00, | ||
47 | 0x23, 0x13, 0x08, 0x64, 0x62, 0x00, | ||
48 | 0x36, 0x49, 0x56, 0x20, 0x50, 0x00, | ||
49 | 0x00, 0x08, 0x07, 0x03, 0x00, 0x00, | ||
50 | 0x00, 0x1C, 0x22, 0x41, 0x00, 0x00, | ||
51 | 0x00, 0x41, 0x22, 0x1C, 0x00, 0x00, | ||
52 | 0x2A, 0x1C, 0x7F, 0x1C, 0x2A, 0x00, | ||
53 | 0x08, 0x08, 0x3E, 0x08, 0x08, 0x00, | ||
54 | 0x00, 0x80, 0x70, 0x30, 0x00, 0x00, | ||
55 | 0x08, 0x08, 0x08, 0x08, 0x08, 0x00, | ||
56 | 0x00, 0x00, 0x60, 0x60, 0x00, 0x00, | ||
57 | 0x20, 0x10, 0x08, 0x04, 0x02, 0x00, | ||
58 | 0x3E, 0x51, 0x49, 0x45, 0x3E, 0x00, | ||
59 | 0x00, 0x42, 0x7F, 0x40, 0x00, 0x00, | ||
60 | 0x72, 0x49, 0x49, 0x49, 0x46, 0x00, | ||
61 | 0x21, 0x41, 0x49, 0x4D, 0x33, 0x00, | ||
62 | 0x18, 0x14, 0x12, 0x7F, 0x10, 0x00, | ||
63 | 0x27, 0x45, 0x45, 0x45, 0x39, 0x00, | ||
64 | 0x3C, 0x4A, 0x49, 0x49, 0x31, 0x00, | ||
65 | 0x41, 0x21, 0x11, 0x09, 0x07, 0x00, | ||
66 | 0x36, 0x49, 0x49, 0x49, 0x36, 0x00, | ||
67 | 0x46, 0x49, 0x49, 0x29, 0x1E, 0x00, | ||
68 | 0x00, 0x00, 0x14, 0x00, 0x00, 0x00, | ||
69 | 0x00, 0x40, 0x34, 0x00, 0x00, 0x00, | ||
70 | 0x00, 0x08, 0x14, 0x22, 0x41, 0x00, | ||
71 | 0x14, 0x14, 0x14, 0x14, 0x14, 0x00, | ||
72 | 0x00, 0x41, 0x22, 0x14, 0x08, 0x00, | ||
73 | 0x02, 0x01, 0x59, 0x09, 0x06, 0x00, | ||
74 | 0x3E, 0x41, 0x5D, 0x59, 0x4E, 0x00, | ||
75 | 0x7C, 0x12, 0x11, 0x12, 0x7C, 0x00, | ||
76 | 0x7F, 0x49, 0x49, 0x49, 0x36, 0x00, | ||
77 | 0x3E, 0x41, 0x41, 0x41, 0x22, 0x00, | ||
78 | 0x7F, 0x41, 0x41, 0x41, 0x3E, 0x00, | ||
79 | 0x7F, 0x49, 0x49, 0x49, 0x41, 0x00, | ||
80 | 0x7F, 0x09, 0x09, 0x09, 0x01, 0x00, | ||
81 | 0x3E, 0x41, 0x41, 0x51, 0x73, 0x00, | ||
82 | 0x7F, 0x08, 0x08, 0x08, 0x7F, 0x00, | ||
83 | 0x00, 0x41, 0x7F, 0x41, 0x00, 0x00, | ||
84 | 0x20, 0x40, 0x41, 0x3F, 0x01, 0x00, | ||
85 | 0x7F, 0x08, 0x14, 0x22, 0x41, 0x00, | ||
86 | 0x7F, 0x40, 0x40, 0x40, 0x40, 0x00, | ||
87 | 0x7F, 0x02, 0x1C, 0x02, 0x7F, 0x00, | ||
88 | 0x7F, 0x04, 0x08, 0x10, 0x7F, 0x00, | ||
89 | 0x3E, 0x41, 0x41, 0x41, 0x3E, 0x00, | ||
90 | 0x7F, 0x09, 0x09, 0x09, 0x06, 0x00, | ||
91 | 0x3E, 0x41, 0x51, 0x21, 0x5E, 0x00, | ||
92 | 0x7F, 0x09, 0x19, 0x29, 0x46, 0x00, | ||
93 | 0x26, 0x49, 0x49, 0x49, 0x32, 0x00, | ||
94 | 0x03, 0x01, 0x7F, 0x01, 0x03, 0x00, | ||
95 | 0x3F, 0x40, 0x40, 0x40, 0x3F, 0x00, | ||
96 | 0x1F, 0x20, 0x40, 0x20, 0x1F, 0x00, | ||
97 | 0x3F, 0x40, 0x38, 0x40, 0x3F, 0x00, | ||
98 | 0x63, 0x14, 0x08, 0x14, 0x63, 0x00, | ||
99 | 0x03, 0x04, 0x78, 0x04, 0x03, 0x00, | ||
100 | 0x61, 0x59, 0x49, 0x4D, 0x43, 0x00, | ||
101 | 0x00, 0x7F, 0x41, 0x41, 0x41, 0x00, | ||
102 | 0x02, 0x04, 0x08, 0x10, 0x20, 0x00, | ||
103 | 0x00, 0x41, 0x41, 0x41, 0x7F, 0x00, | ||
104 | 0x04, 0x02, 0x01, 0x02, 0x04, 0x00, | ||
105 | 0x40, 0x40, 0x40, 0x40, 0x40, 0x00, | ||
106 | 0x00, 0x03, 0x07, 0x08, 0x00, 0x00, | ||
107 | 0x20, 0x54, 0x54, 0x78, 0x40, 0x00, | ||
108 | 0x7F, 0x28, 0x44, 0x44, 0x38, 0x00, | ||
109 | 0x38, 0x44, 0x44, 0x44, 0x28, 0x00, | ||
110 | 0x38, 0x44, 0x44, 0x28, 0x7F, 0x00, | ||
111 | 0x38, 0x54, 0x54, 0x54, 0x18, 0x00, | ||
112 | 0x00, 0x08, 0x7E, 0x09, 0x02, 0x00, | ||
113 | 0x18, 0x24, 0x24, 0x1C, 0x78, 0x00, | ||
114 | 0x7F, 0x08, 0x04, 0x04, 0x78, 0x00, | ||
115 | 0x00, 0x44, 0x7D, 0x40, 0x00, 0x00, | ||
116 | 0x20, 0x40, 0x40, 0x3D, 0x00, 0x00, | ||
117 | 0x7F, 0x10, 0x28, 0x44, 0x00, 0x00, | ||
118 | 0x00, 0x41, 0x7F, 0x40, 0x00, 0x00, | ||
119 | 0x7C, 0x04, 0x78, 0x04, 0x78, 0x00, | ||
120 | 0x7C, 0x08, 0x04, 0x04, 0x78, 0x00, | ||
121 | 0x38, 0x44, 0x44, 0x44, 0x38, 0x00, | ||
122 | 0x7C, 0x18, 0x24, 0x24, 0x18, 0x00, | ||
123 | 0x18, 0x24, 0x24, 0x18, 0x7C, 0x00, | ||
124 | 0x7C, 0x08, 0x04, 0x04, 0x08, 0x00, | ||
125 | 0x48, 0x54, 0x54, 0x54, 0x24, 0x00, | ||
126 | 0x04, 0x04, 0x3F, 0x44, 0x24, 0x00, | ||
127 | 0x3C, 0x40, 0x40, 0x20, 0x7C, 0x00, | ||
128 | 0x1C, 0x20, 0x40, 0x20, 0x1C, 0x00, | ||
129 | 0x3C, 0x40, 0x30, 0x40, 0x3C, 0x00, | ||
130 | 0x44, 0x28, 0x10, 0x28, 0x44, 0x00, | ||
131 | 0x4C, 0x90, 0x10, 0x90, 0x7C, 0x00, | ||
132 | 0x44, 0x64, 0x54, 0x4C, 0x44, 0x00, | ||
133 | 0x00, 0x08, 0x36, 0x41, 0x00, 0x00, | ||
134 | 0x00, 0x00, 0x77, 0x00, 0x00, 0x00, | ||
135 | 0x00, 0x41, 0x36, 0x08, 0x00, 0x00, | ||
136 | 0x02, 0x01, 0x02, 0x04, 0x02, 0x00, | ||
137 | 0x3C, 0x26, 0x23, 0x26, 0x3C, 0x00, | ||
138 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, | ||
139 | 0x80, 0xC0, 0xE0, 0xF0, 0xF0, 0x70, | ||
140 | 0x38, 0x38, 0x38, 0x78, 0x70, 0xF0, | ||
141 | 0xE0, 0xE0, 0x80, 0x00, 0x00, 0x00, | ||
142 | 0x00, 0x00, 0x00, 0x80, 0xF0, 0xF8, | ||
143 | 0xF8, 0xF8, 0xF8, 0x00, 0x00, 0x00, | ||
144 | 0x80, 0xE0, 0xF8, 0xF8, 0xF8, 0xF8, | ||
145 | 0xF0, 0x00, 0x00, 0x00, 0x00, 0x00, | ||
146 | 0x80, 0xF8, 0xF8, 0xF8, 0x38, 0x00, | ||
147 | 0x80, 0xE0, 0xF0, 0xF8, 0x78, 0x38, | ||
148 | 0x08, 0x08, 0x00, 0x00, 0x00, 0x00, | ||
149 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, | ||
150 | 0x80, 0xF8, 0xF8, 0xF8, 0x38, 0x38, | ||
151 | 0x38, 0xF8, 0xF0, 0xF0, 0xE0, 0x00, | ||
152 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, | ||
153 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, | ||
154 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, | ||
155 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, | ||
156 | 0x00, 0x00, 0x00, 0x80, 0xFC, 0xFC, | ||
157 | 0xFC, 0x1C, 0x00, 0x00, 0x00, 0x00, | ||
158 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, | ||
159 | 0xE0, 0xF0, 0xF0, 0xF0, 0xE0, 0xEC, | ||
160 | 0xEE, 0xF7, 0xF3, 0x70, 0x20, 0x00, | ||
161 | 0x7C, 0x7C, 0x7C, 0x7E, 0x00, 0x7E, | ||
162 | 0x7E, 0x7E, 0x7F, 0x7F, 0x7F, 0x00, | ||
163 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, | ||
164 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, | ||
165 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, | ||
166 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, | ||
167 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, | ||
168 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, | ||
169 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, | ||
170 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x3C, | ||
171 | 0xFF, 0xFF, 0xFF, 0xC1, 0x80, 0x00, | ||
172 | 0x00, 0x38, 0x38, 0xB8, 0xB8, 0xF9, | ||
173 | 0xF9, 0xF8, 0x38, 0x00, 0x00, 0x00, | ||
174 | 0x00, 0xC0, 0xF8, 0xFF, 0xFF, 0x1F, | ||
175 | 0x01, 0x3F, 0xFF, 0xFF, 0xF0, 0xFE, | ||
176 | 0x7F, 0x0F, 0x03, 0xFF, 0xFF, 0xFF, | ||
177 | 0xFF, 0x00, 0x00, 0x00, 0x00, 0x80, | ||
178 | 0xFF, 0xFF, 0xFF, 0x3F, 0x1E, 0x7F, | ||
179 | 0xFF, 0xFF, 0xF3, 0xC1, 0x80, 0x00, | ||
180 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, | ||
181 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, | ||
182 | 0xFF, 0xFF, 0xFF, 0x3F, 0x1C, 0x1C, | ||
183 | 0x9C, 0xFF, 0xFF, 0xF3, 0xE1, 0x00, | ||
184 | 0x00, 0x00, 0x00, 0xF0, 0xFC, 0xFE, | ||
185 | 0xFF, 0x0F, 0x07, 0x07, 0x8E, 0xFF, | ||
186 | 0xFF, 0xFF, 0x3F, 0x00, 0x00, 0x00, | ||
187 | 0x00, 0xF0, 0xFC, 0xFE, 0xFF, 0x8F, | ||
188 | 0x07, 0x07, 0x8E, 0xFF, 0xFF, 0xFF, | ||
189 | 0x3F, 0x00, 0x00, 0x00, 0x00, 0x80, | ||
190 | 0xC0, 0x80, 0x00, 0x00, 0x00, 0x00, | ||
191 | 0x0F, 0x1F, 0x3F, 0x7F, 0x7F, 0x7F, | ||
192 | 0x7F, 0x7F, 0x3F, 0x1E, 0x0C, 0x00, | ||
193 | 0x1F, 0x1F, 0x1F, 0x3F, 0x00, 0x3F, | ||
194 | 0x3F, 0x3F, 0x7F, 0x7F, 0x7F, 0x00, | ||
195 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, | ||
196 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, | ||
197 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, | ||
198 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, | ||
199 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, | ||
200 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, | ||
201 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, | ||
202 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, | ||
203 | 0x00, 0x01, 0x03, 0x03, 0x03, 0x07, | ||
204 | 0x07, 0x07, 0x07, 0x03, 0x03, 0x03, | ||
205 | 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, | ||
206 | 0x06, 0x07, 0x07, 0x07, 0x01, 0x00, | ||
207 | 0x00, 0x00, 0x07, 0x07, 0x07, 0x01, | ||
208 | 0x00, 0x00, 0x00, 0x07, 0x07, 0x07, | ||
209 | 0x07, 0x00, 0x00, 0x00, 0x00, 0x07, | ||
210 | 0x07, 0x07, 0x07, 0x00, 0x00, 0x00, | ||
211 | 0x00, 0x03, 0x07, 0x07, 0x07, 0x06, | ||
212 | 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, | ||
213 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, | ||
214 | 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, | ||
215 | 0x07, 0x07, 0x03, 0x01, 0x00, 0x00, | ||
216 | 0x00, 0x00, 0x00, 0x00, 0x03, 0x07, | ||
217 | 0x07, 0x07, 0x07, 0x03, 0x07, 0x07, | ||
218 | 0x07, 0x07, 0x00, 0x00, 0x00, 0x00, | ||
219 | 0x00, 0x00, 0x03, 0x07, 0x07, 0x07, | ||
220 | 0x07, 0x03, 0x07, 0x07, 0x07, 0x07, | ||
221 | 0x00, 0x00, 0x00, 0x00, 0x01, 0x07, | ||
222 | 0x07, 0x07, 0x01, 0x00, 0x00, 0x00, | ||
223 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, | ||
224 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, | ||
225 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, | ||
226 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, | ||
227 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, | ||
228 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, | ||
229 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, | ||
230 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, | ||
231 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, | ||
232 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, | ||
233 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, | ||
234 | }; | ||
diff --git a/users/drashna/hue_manitee_font.h b/users/drashna/hue_manitee_font.h deleted file mode 100644 index 2deb4d32d..000000000 --- a/users/drashna/hue_manitee_font.h +++ /dev/null | |||
@@ -1,234 +0,0 @@ | |||
1 | #pragma once | ||
2 | |||
3 | #include "progmem.h" | ||
4 | |||
5 | // Corne 8x6 font with QMK Firmware Logo | ||
6 | // Online editor: https://helixfonteditor.netlify.com/ | ||
7 | |||
8 | // clang-format off | ||
9 | const unsigned char font[] PROGMEM = { | ||
10 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, | ||
11 | 0x3E, 0x5B, 0x4F, 0x5B, 0x3E, 0x00, | ||
12 | 0x3E, 0x6B, 0x4F, 0x6B, 0x3E, 0x00, | ||
13 | 0x1C, 0x3E, 0x7C, 0x3E, 0x1C, 0x00, | ||
14 | 0x18, 0x3C, 0x7E, 0x3C, 0x18, 0x00, | ||
15 | 0x1C, 0x57, 0x7D, 0x57, 0x1C, 0x00, | ||
16 | 0x1C, 0x5E, 0x7F, 0x5E, 0x1C, 0x00, | ||
17 | 0x00, 0x18, 0x3C, 0x18, 0x00, 0x00, | ||
18 | 0xFF, 0xE7, 0xC3, 0xE7, 0xFF, 0x00, | ||
19 | 0x00, 0x18, 0x24, 0x18, 0x00, 0x00, | ||
20 | 0xFF, 0xE7, 0xDB, 0xE7, 0xFF, 0x00, | ||
21 | 0x30, 0x48, 0x3A, 0x06, 0x0E, 0x00, | ||
22 | 0x26, 0x29, 0x79, 0x29, 0x26, 0x00, | ||
23 | 0x40, 0x7F, 0x05, 0x05, 0x07, 0x00, | ||
24 | 0x40, 0x7F, 0x05, 0x25, 0x3F, 0x00, | ||
25 | 0x5A, 0x3C, 0xE7, 0x3C, 0x5A, 0x00, | ||
26 | 0x7F, 0x3E, 0x1C, 0x1C, 0x08, 0x00, | ||
27 | 0x08, 0x1C, 0x1C, 0x3E, 0x7F, 0x00, | ||
28 | 0x14, 0x22, 0x7F, 0x22, 0x14, 0x00, | ||
29 | 0x5F, 0x5F, 0x00, 0x5F, 0x5F, 0x00, | ||
30 | 0x06, 0x09, 0x7F, 0x01, 0x7F, 0x00, | ||
31 | 0x00, 0x66, 0x89, 0x95, 0x6A, 0x00, | ||
32 | 0x60, 0x60, 0x60, 0x60, 0x60, 0x00, | ||
33 | 0x94, 0xA2, 0xFF, 0xA2, 0x94, 0x00, | ||
34 | 0x08, 0x04, 0x7E, 0x04, 0x08, 0x00, | ||
35 | 0x10, 0x20, 0x7E, 0x20, 0x10, 0x00, | ||
36 | 0x08, 0x08, 0x2A, 0x1C, 0x08, 0x00, | ||
37 | 0x08, 0x1C, 0x2A, 0x08, 0x08, 0x00, | ||
38 | 0x1E, 0x10, 0x10, 0x10, 0x10, 0x00, | ||
39 | 0x0C, 0x1E, 0x0C, 0x1E, 0x0C, 0x00, | ||
40 | 0x30, 0x38, 0x3E, 0x38, 0x30, 0x00, | ||
41 | 0x06, 0x0E, 0x3E, 0x0E, 0x06, 0x00, | ||
42 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, | ||
43 | 0x00, 0x00, 0x5F, 0x00, 0x00, 0x00, | ||
44 | 0x00, 0x07, 0x00, 0x07, 0x00, 0x00, | ||
45 | 0x14, 0x7F, 0x14, 0x7F, 0x14, 0x00, | ||
46 | 0x24, 0x2A, 0x7F, 0x2A, 0x12, 0x00, | ||
47 | 0x23, 0x13, 0x08, 0x64, 0x62, 0x00, | ||
48 | 0x36, 0x49, 0x56, 0x20, 0x50, 0x00, | ||
49 | 0x00, 0x08, 0x07, 0x03, 0x00, 0x00, | ||
50 | 0x00, 0x1C, 0x22, 0x41, 0x00, 0x00, | ||
51 | 0x00, 0x41, 0x22, 0x1C, 0x00, 0x00, | ||
52 | 0x2A, 0x1C, 0x7F, 0x1C, 0x2A, 0x00, | ||
53 | 0x08, 0x08, 0x3E, 0x08, 0x08, 0x00, | ||
54 | 0x00, 0x80, 0x70, 0x30, 0x00, 0x00, | ||
55 | 0x08, 0x08, 0x08, 0x08, 0x08, 0x00, | ||
56 | 0x00, 0x00, 0x60, 0x60, 0x00, 0x00, | ||
57 | 0x20, 0x10, 0x08, 0x04, 0x02, 0x00, | ||
58 | 0x3E, 0x51, 0x49, 0x45, 0x3E, 0x00, | ||
59 | 0x00, 0x42, 0x7F, 0x40, 0x00, 0x00, | ||
60 | 0x72, 0x49, 0x49, 0x49, 0x46, 0x00, | ||
61 | 0x21, 0x41, 0x49, 0x4D, 0x33, 0x00, | ||
62 | 0x18, 0x14, 0x12, 0x7F, 0x10, 0x00, | ||
63 | 0x27, 0x45, 0x45, 0x45, 0x39, 0x00, | ||
64 | 0x3C, 0x4A, 0x49, 0x49, 0x31, 0x00, | ||
65 | 0x41, 0x21, 0x11, 0x09, 0x07, 0x00, | ||
66 | 0x36, 0x49, 0x49, 0x49, 0x36, 0x00, | ||
67 | 0x46, 0x49, 0x49, 0x29, 0x1E, 0x00, | ||
68 | 0x00, 0x00, 0x14, 0x00, 0x00, 0x00, | ||
69 | 0x00, 0x40, 0x34, 0x00, 0x00, 0x00, | ||
70 | 0x00, 0x08, 0x14, 0x22, 0x41, 0x00, | ||
71 | 0x14, 0x14, 0x14, 0x14, 0x14, 0x00, | ||
72 | 0x00, 0x41, 0x22, 0x14, 0x08, 0x00, | ||
73 | 0x02, 0x01, 0x59, 0x09, 0x06, 0x00, | ||
74 | 0x3E, 0x41, 0x5D, 0x59, 0x4E, 0x00, | ||
75 | 0x7C, 0x12, 0x11, 0x12, 0x7C, 0x00, | ||
76 | 0x7F, 0x49, 0x49, 0x49, 0x36, 0x00, | ||
77 | 0x3E, 0x41, 0x41, 0x41, 0x22, 0x00, | ||
78 | 0x7F, 0x41, 0x41, 0x41, 0x3E, 0x00, | ||
79 | 0x7F, 0x49, 0x49, 0x49, 0x41, 0x00, | ||
80 | 0x7F, 0x09, 0x09, 0x09, 0x01, 0x00, | ||
81 | 0x3E, 0x41, 0x41, 0x51, 0x73, 0x00, | ||
82 | 0x7F, 0x08, 0x08, 0x08, 0x7F, 0x00, | ||
83 | 0x00, 0x41, 0x7F, 0x41, 0x00, 0x00, | ||
84 | 0x20, 0x40, 0x41, 0x3F, 0x01, 0x00, | ||
85 | 0x7F, 0x08, 0x14, 0x22, 0x41, 0x00, | ||
86 | 0x7F, 0x40, 0x40, 0x40, 0x40, 0x00, | ||
87 | 0x7F, 0x02, 0x1C, 0x02, 0x7F, 0x00, | ||
88 | 0x7F, 0x04, 0x08, 0x10, 0x7F, 0x00, | ||
89 | 0x3E, 0x41, 0x41, 0x41, 0x3E, 0x00, | ||
90 | 0x7F, 0x09, 0x09, 0x09, 0x06, 0x00, | ||
91 | 0x3E, 0x41, 0x51, 0x21, 0x5E, 0x00, | ||
92 | 0x7F, 0x09, 0x19, 0x29, 0x46, 0x00, | ||
93 | 0x26, 0x49, 0x49, 0x49, 0x32, 0x00, | ||
94 | 0x03, 0x01, 0x7F, 0x01, 0x03, 0x00, | ||
95 | 0x3F, 0x40, 0x40, 0x40, 0x3F, 0x00, | ||
96 | 0x1F, 0x20, 0x40, 0x20, 0x1F, 0x00, | ||
97 | 0x3F, 0x40, 0x38, 0x40, 0x3F, 0x00, | ||
98 | 0x63, 0x14, 0x08, 0x14, 0x63, 0x00, | ||
99 | 0x03, 0x04, 0x78, 0x04, 0x03, 0x00, | ||
100 | 0x61, 0x59, 0x49, 0x4D, 0x43, 0x00, | ||
101 | 0x00, 0x7F, 0x41, 0x41, 0x41, 0x00, | ||
102 | 0x02, 0x04, 0x08, 0x10, 0x20, 0x00, | ||
103 | 0x00, 0x41, 0x41, 0x41, 0x7F, 0x00, | ||
104 | 0x04, 0x02, 0x01, 0x02, 0x04, 0x00, | ||
105 | 0x40, 0x40, 0x40, 0x40, 0x40, 0x00, | ||
106 | 0x00, 0x03, 0x07, 0x08, 0x00, 0x00, | ||
107 | 0x20, 0x54, 0x54, 0x78, 0x40, 0x00, | ||
108 | 0x7F, 0x28, 0x44, 0x44, 0x38, 0x00, | ||
109 | 0x38, 0x44, 0x44, 0x44, 0x28, 0x00, | ||
110 | 0x38, 0x44, 0x44, 0x28, 0x7F, 0x00, | ||
111 | 0x38, 0x54, 0x54, 0x54, 0x18, 0x00, | ||
112 | 0x00, 0x08, 0x7E, 0x09, 0x02, 0x00, | ||
113 | 0x18, 0x24, 0x24, 0x1C, 0x78, 0x00, | ||
114 | 0x7F, 0x08, 0x04, 0x04, 0x78, 0x00, | ||
115 | 0x00, 0x44, 0x7D, 0x40, 0x00, 0x00, | ||
116 | 0x20, 0x40, 0x40, 0x3D, 0x00, 0x00, | ||
117 | 0x7F, 0x10, 0x28, 0x44, 0x00, 0x00, | ||
118 | 0x00, 0x41, 0x7F, 0x40, 0x00, 0x00, | ||
119 | 0x7C, 0x04, 0x78, 0x04, 0x78, 0x00, | ||
120 | 0x7C, 0x08, 0x04, 0x04, 0x78, 0x00, | ||
121 | 0x38, 0x44, 0x44, 0x44, 0x38, 0x00, | ||
122 | 0x7C, 0x18, 0x24, 0x24, 0x18, 0x00, | ||
123 | 0x18, 0x24, 0x24, 0x18, 0x7C, 0x00, | ||
124 | 0x7C, 0x08, 0x04, 0x04, 0x08, 0x00, | ||
125 | 0x48, 0x54, 0x54, 0x54, 0x24, 0x00, | ||
126 | 0x04, 0x04, 0x3F, 0x44, 0x24, 0x00, | ||
127 | 0x3C, 0x40, 0x40, 0x20, 0x7C, 0x00, | ||
128 | 0x1C, 0x20, 0x40, 0x20, 0x1C, 0x00, | ||
129 | 0x3C, 0x40, 0x30, 0x40, 0x3C, 0x00, | ||
130 | 0x44, 0x28, 0x10, 0x28, 0x44, 0x00, | ||
131 | 0x4C, 0x90, 0x10, 0x90, 0x7C, 0x00, | ||
132 | 0x44, 0x64, 0x54, 0x4C, 0x44, 0x00, | ||
133 | 0x00, 0x08, 0x36, 0x41, 0x00, 0x00, | ||
134 | 0x00, 0x00, 0x77, 0x00, 0x00, 0x00, | ||
135 | 0x00, 0x41, 0x36, 0x08, 0x00, 0x00, | ||
136 | 0x02, 0x01, 0x02, 0x04, 0x02, 0x00, | ||
137 | 0x3C, 0x26, 0x23, 0x26, 0x3C, 0x00, | ||
138 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, | ||
139 | 0x00, 0x00, 0x00, 0x80, 0xC0, 0xC0, | ||
140 | 0x90, 0x70, 0xE8, 0xA8, 0xE4, 0xC4, | ||
141 | 0xC4, 0xA0, 0xE4, 0xB0, 0xDC, 0xE4, | ||
142 | 0xFC, 0xFC, 0xFC, 0xFC, 0x3C, 0x3C, | ||
143 | 0xFC, 0xF8, 0xF0, 0xF0, 0xE0, 0x00, | ||
144 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, | ||
145 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, | ||
146 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, | ||
147 | 0x00, 0x00, 0x00, 0x00, 0xF8, 0xF8, | ||
148 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, | ||
149 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, | ||
150 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, | ||
151 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, | ||
152 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, | ||
153 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, | ||
154 | 0xF8, 0xF8, 0x00, 0x00, 0x00, 0x00, | ||
155 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, | ||
156 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, | ||
157 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, | ||
158 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, | ||
159 | 0xE0, 0xF0, 0xF0, 0xF0, 0xE0, 0xEC, | ||
160 | 0xEE, 0xF7, 0xF3, 0x70, 0x20, 0x00, | ||
161 | 0x7C, 0x7C, 0x7C, 0x7E, 0x00, 0x7E, | ||
162 | 0x7E, 0x7E, 0x7F, 0x7F, 0x7F, 0x00, | ||
163 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, | ||
164 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, | ||
165 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, | ||
166 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, | ||
167 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, | ||
168 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, | ||
169 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, | ||
170 | 0x00, 0x00, 0x00, 0x00, 0x00, 0xF0, | ||
171 | 0xFC, 0xF6, 0xF7, 0xEF, 0xFF, 0x87, | ||
172 | 0x1F, 0x1F, 0x1F, 0x1F, 0x1F, 0x1F, | ||
173 | 0x1F, 0x1F, 0x1F, 0xFF, 0xFF, 0xFF, | ||
174 | 0xFF, 0x07, 0x1F, 0x1F, 0x19, 0x15, | ||
175 | 0xF7, 0x16, 0x1A, 0x1B, 0x16, 0x07, | ||
176 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, | ||
177 | 0x00, 0x00, 0x0C, 0x0C, 0x33, 0x33, | ||
178 | 0x33, 0x33, 0x33, 0x33, 0xC0, 0xC0, | ||
179 | 0x00, 0x00, 0x03, 0x03, 0xFF, 0xFF, | ||
180 | 0x03, 0x03, 0x00, 0x00, 0xC0, 0xC0, | ||
181 | 0x00, 0x00, 0x00, 0xFC, 0xFC, 0x03, | ||
182 | 0x03, 0x03, 0x03, 0x03, 0x03, 0xFC, | ||
183 | 0xFC, 0x00, 0x00, 0x00, 0xFC, 0xFC, | ||
184 | 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, | ||
185 | 0xC0, 0xC0, 0x00, 0x00, 0x00, 0x00, | ||
186 | 0xFF, 0xFF, 0x30, 0x30, 0xCC, 0xCC, | ||
187 | 0x03, 0x03, 0x00, 0x00, 0x00, 0x00, | ||
188 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, | ||
189 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, | ||
190 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, | ||
191 | 0x0F, 0x1F, 0x3F, 0x7F, 0x7F, 0x7F, | ||
192 | 0x7F, 0x7F, 0x3F, 0x1E, 0x0C, 0x00, | ||
193 | 0x1F, 0x1F, 0x1F, 0x3F, 0x00, 0x3F, | ||
194 | 0x3F, 0x3F, 0x7F, 0x7F, 0x7F, 0x00, | ||
195 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, | ||
196 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, | ||
197 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, | ||
198 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, | ||
199 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, | ||
200 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, | ||
201 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, | ||
202 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, | ||
203 | 0x03, 0x07, 0x07, 0x07, 0x07, 0x01, | ||
204 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, | ||
205 | 0x00, 0x00, 0x00, 0x03, 0x07, 0x07, | ||
206 | 0x03, 0x00, 0x00, 0x02, 0x04, 0x00, | ||
207 | 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, | ||
208 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, | ||
209 | 0x00, 0x00, 0x03, 0x03, 0x03, 0x03, | ||
210 | 0x03, 0x03, 0x03, 0x03, 0x00, 0x00, | ||
211 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, | ||
212 | 0x03, 0x03, 0x03, 0x03, 0x00, 0x00, | ||
213 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, | ||
214 | 0x03, 0x03, 0x03, 0x03, 0x03, 0x00, | ||
215 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, | ||
216 | 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, | ||
217 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, | ||
218 | 0x03, 0x03, 0x00, 0x00, 0x00, 0x00, | ||
219 | 0x03, 0x03, 0x00, 0x00, 0x00, 0x00, | ||
220 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, | ||
221 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, | ||
222 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, | ||
223 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, | ||
224 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, | ||
225 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, | ||
226 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, | ||
227 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, | ||
228 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, | ||
229 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, | ||
230 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, | ||
231 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, | ||
232 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, | ||
233 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, | ||
234 | }; | ||
diff --git a/users/drashna/oled_stuff.c b/users/drashna/oled_stuff.c index 30eb068f7..4abf5f05f 100644 --- a/users/drashna/oled_stuff.c +++ b/users/drashna/oled_stuff.c | |||
@@ -15,6 +15,7 @@ | |||
15 | */ | 15 | */ |
16 | 16 | ||
17 | #include "drashna.h" | 17 | #include "drashna.h" |
18 | #include <stdio.h> | ||
18 | 19 | ||
19 | #ifndef KEYLOGGER_LENGTH | 20 | #ifndef KEYLOGGER_LENGTH |
20 | // # ifdef OLED_DISPLAY_128X64 | 21 | // # ifdef OLED_DISPLAY_128X64 |
@@ -24,7 +25,7 @@ | |||
24 | // # endif | 25 | // # endif |
25 | #endif | 26 | #endif |
26 | 27 | ||
27 | static uint32_t oled_timer = 0; | 28 | uint32_t oled_timer = 0; |
28 | static char keylog_str[KEYLOGGER_LENGTH + 1] = {"\n"}; | 29 | static char keylog_str[KEYLOGGER_LENGTH + 1] = {"\n"}; |
29 | static uint16_t log_timer = 0; | 30 | static uint16_t log_timer = 0; |
30 | 31 | ||
@@ -132,28 +133,26 @@ void render_layer_state(void) { | |||
132 | oled_write_P(PSTR(" "), false); | 133 | oled_write_P(PSTR(" "), false); |
133 | #endif | 134 | #endif |
134 | oled_write_P(PSTR(OLED_RENDER_LAYER_RAISE), layer_state_is(_RAISE)); | 135 | oled_write_P(PSTR(OLED_RENDER_LAYER_RAISE), layer_state_is(_RAISE)); |
135 | #if _MODS | ||
136 | # ifdef OLED_DISPLAY_128X64 | ||
137 | oled_write_P(PSTR(" "), false); | ||
138 | # endif | ||
139 | oled_write_P(PSTR(OLED_RENDER_LAYER_MODS), layer_state_is(_MODS)); | ||
140 | #endif | ||
141 | #ifdef OLED_DISPLAY_128X64 | 136 | #ifdef OLED_DISPLAY_128X64 |
142 | oled_advance_page(true); | 137 | oled_advance_page(true); |
138 | oled_write_P(PSTR(" "), false); | ||
139 | oled_write_P(PSTR("GamePad"), layer_state_is(_GAMEPAD)); | ||
140 | oled_write_P(PSTR(" "), false); | ||
141 | oled_write_P(PSTR("Diablo"), layer_state_is(_DIABLO)); | ||
142 | oled_write_P(PSTR(" "), false); | ||
143 | oled_write_P(PSTR("Mouse"), layer_state_is(_MOUSE)); | ||
143 | #endif | 144 | #endif |
144 | } | 145 | } |
145 | 146 | ||
146 | void render_keylock_status(uint8_t led_usb_state) { | 147 | void render_keylock_status(uint8_t led_usb_state) { |
147 | oled_write_P(PSTR(OLED_RENDER_LOCK_NAME), false); | 148 | oled_write_P(PSTR(OLED_RENDER_LOCK_NAME), false); |
149 | #if !defined(OLED_DISPLAY_128X64) | ||
148 | oled_write_P(PSTR(" "), false); | 150 | oled_write_P(PSTR(" "), false); |
151 | #endif | ||
149 | oled_write_P(PSTR(OLED_RENDER_LOCK_NUML), led_usb_state & (1 << USB_LED_NUM_LOCK)); | 152 | oled_write_P(PSTR(OLED_RENDER_LOCK_NUML), led_usb_state & (1 << USB_LED_NUM_LOCK)); |
150 | #ifdef OLED_DISPLAY_128X64 | ||
151 | oled_write_P(PSTR(" "), false); | 153 | oled_write_P(PSTR(" "), false); |
152 | #endif | ||
153 | oled_write_P(PSTR(OLED_RENDER_LOCK_CAPS), led_usb_state & (1 << USB_LED_CAPS_LOCK)); | 154 | oled_write_P(PSTR(OLED_RENDER_LOCK_CAPS), led_usb_state & (1 << USB_LED_CAPS_LOCK)); |
154 | #ifdef OLED_DISPLAY_128X64 | ||
155 | oled_write_P(PSTR(" "), false); | 155 | oled_write_P(PSTR(" "), false); |
156 | #endif | ||
157 | oled_write_P(PSTR(OLED_RENDER_LOCK_SCLK), led_usb_state & (1 << USB_LED_SCROLL_LOCK)); | 156 | oled_write_P(PSTR(OLED_RENDER_LOCK_SCLK), led_usb_state & (1 << USB_LED_SCROLL_LOCK)); |
158 | #ifndef OLED_DISPLAY_128X64 | 157 | #ifndef OLED_DISPLAY_128X64 |
159 | oled_advance_page(true); | 158 | oled_advance_page(true); |
@@ -161,20 +160,18 @@ void render_keylock_status(uint8_t led_usb_state) { | |||
161 | } | 160 | } |
162 | 161 | ||
163 | void render_mod_status(uint8_t modifiers) { | 162 | void render_mod_status(uint8_t modifiers) { |
163 | static const char PROGMEM mod_status[5][3] = {{0xE8, 0xE9, 0}, {0xE4, 0xE5, 0}, {0xE6, 0xE7, 0}, {0xEA, 0xEB, 0}, {0xEC, 0xED, 0}}; | ||
164 | oled_write_P(PSTR(OLED_RENDER_MODS_NAME), false); | 164 | oled_write_P(PSTR(OLED_RENDER_MODS_NAME), false); |
165 | oled_write_P(PSTR(OLED_RENDER_MODS_SFT), (modifiers & MOD_MASK_SHIFT)); | 165 | oled_write_P(mod_status[0], (modifiers & MOD_MASK_SHIFT)); |
166 | #ifdef OLED_DISPLAY_128X64 | 166 | oled_write_P(mod_status[!keymap_config.swap_lctl_lgui ? 3 : 4], (modifiers & MOD_MASK_GUI)); |
167 | #if !defined(OLED_DISPLAY_128X64) | ||
167 | oled_write_P(PSTR(" "), false); | 168 | oled_write_P(PSTR(" "), false); |
168 | #endif | 169 | #endif |
169 | oled_write_P(PSTR(OLED_RENDER_MODS_CTL), (modifiers & MOD_MASK_CTRL)); | 170 | oled_write_P(mod_status[2], (modifiers & MOD_MASK_ALT)); |
170 | #ifdef OLED_DISPLAY_128X64 | 171 | oled_write_P(mod_status[1], (modifiers & MOD_MASK_CTRL)); |
171 | oled_write_P(PSTR(" "), false); | 172 | #if defined(OLED_DISPLAY_128X64) |
172 | #endif | 173 | oled_advance_page(true); |
173 | oled_write_P(PSTR(OLED_RENDER_MODS_ALT), (modifiers & MOD_MASK_ALT)); | ||
174 | #ifdef OLED_DISPLAY_128X64 | ||
175 | oled_write_P(PSTR(" "), false); | ||
176 | #endif | 174 | #endif |
177 | oled_write_P(PSTR(OLED_RENDER_MODS_GUI), (modifiers & MOD_MASK_GUI)); | ||
178 | } | 175 | } |
179 | 176 | ||
180 | void render_bootmagic_status(void) { | 177 | void render_bootmagic_status(void) { |
@@ -204,41 +201,71 @@ void render_bootmagic_status(void) { | |||
204 | #endif | 201 | #endif |
205 | oled_write_P(logo[0][0], !is_bootmagic_on); | 202 | oled_write_P(logo[0][0], !is_bootmagic_on); |
206 | } | 203 | } |
204 | #ifndef OLED_DISPLAY_128X64 | ||
205 | oled_write_P(PSTR(" "), false); | ||
206 | oled_write_P(logo[1][1], is_bootmagic_on); | ||
207 | oled_write_P(logo[0][1], !is_bootmagic_on); | ||
208 | #endif | ||
207 | oled_write_P(PSTR(" "), false); | 209 | oled_write_P(PSTR(" "), false); |
208 | #ifdef OLED_DISPLAY_128X64 | ||
209 | oled_write_P(PSTR(OLED_RENDER_BOOTMAGIC_NKRO), keymap_config.nkro); | 210 | oled_write_P(PSTR(OLED_RENDER_BOOTMAGIC_NKRO), keymap_config.nkro); |
210 | oled_write_P(PSTR(" "), false); | 211 | oled_write_P(PSTR(" "), false); |
211 | oled_write_ln_P(PSTR(OLED_RENDER_BOOTMAGIC_NOGUI), !keymap_config.no_gui); | 212 | oled_write_P(PSTR(OLED_RENDER_BOOTMAGIC_NOGUI), !keymap_config.no_gui); |
212 | oled_write_P(PSTR("Magic "), false); | ||
213 | if (keymap_config.swap_lctl_lgui) | ||
214 | #endif | ||
215 | { | ||
216 | oled_write_P(logo[1][1], is_bootmagic_on); | ||
217 | #ifdef OLED_DISPLAY_128X64 | 213 | #ifdef OLED_DISPLAY_128X64 |
214 | oled_advance_page(true); | ||
215 | oled_write_P(PSTR("Magic"), false); | ||
216 | oled_write_P(PSTR(" "), false); | ||
217 | if (keymap_config.swap_lctl_lgui) { | ||
218 | oled_write_P(logo[1][1], is_bootmagic_on); | ||
218 | } else { | 219 | } else { |
219 | #endif | ||
220 | oled_write_P(logo[0][1], !is_bootmagic_on); | 220 | oled_write_P(logo[0][1], !is_bootmagic_on); |
221 | } | 221 | } |
222 | #endif | ||
222 | oled_write_P(PSTR(" "), false); | 223 | oled_write_P(PSTR(" "), false); |
223 | #ifdef OLED_DISPLAY_128X64 | ||
224 | oled_write_P(PSTR(OLED_RENDER_BOOTMAGIC_GRV), keymap_config.swap_grave_esc); | 224 | oled_write_P(PSTR(OLED_RENDER_BOOTMAGIC_GRV), keymap_config.swap_grave_esc); |
225 | oled_write_P(PSTR(" "), false); | 225 | oled_write_P(PSTR(" "), false); |
226 | oled_write_P(PSTR(" "), false); | ||
226 | oled_write_P(PSTR(OLED_RENDER_BOOTMAGIC_CAPS), keymap_config.swap_control_capslock); | 227 | oled_write_P(PSTR(OLED_RENDER_BOOTMAGIC_CAPS), keymap_config.swap_control_capslock); |
228 | #ifdef OLED_DISPLAY_128X64 | ||
227 | oled_advance_page(true); | 229 | oled_advance_page(true); |
228 | #else | ||
229 | oled_write_P(PSTR(OLED_RENDER_BOOTMAGIC_NKRO), keymap_config.nkro); | ||
230 | #endif | 230 | #endif |
231 | } | 231 | } |
232 | 232 | ||
233 | #if defined(POINTING_DEVICE_ENABLE) | ||
234 | extern bool tap_toggling; | ||
235 | #endif | ||
236 | |||
233 | void render_user_status(void) { | 237 | void render_user_status(void) { |
234 | oled_write_P(PSTR(OLED_RENDER_USER_NAME), false); | 238 | oled_write_P(PSTR(OLED_RENDER_USER_NAME), false); |
239 | #if !defined(OLED_DISPLAY_128X64) | ||
235 | oled_write_P(PSTR(" "), false); | 240 | oled_write_P(PSTR(" "), false); |
241 | #endif | ||
242 | #if defined(RGB_MATRIX_ENABLE) | ||
236 | oled_write_P(PSTR(OLED_RENDER_USER_ANIM), userspace_config.rgb_matrix_idle_anim); | 243 | oled_write_P(PSTR(OLED_RENDER_USER_ANIM), userspace_config.rgb_matrix_idle_anim); |
244 | # if !defined(OLED_DISPLAY_128X64) | ||
237 | oled_write_P(PSTR(" "), false); | 245 | oled_write_P(PSTR(" "), false); |
238 | oled_write_P(PSTR(OLED_RENDER_USER_LAYR), userspace_config.rgb_layer_change); | 246 | # endif |
247 | #elif defined(POINTING_DEVICE_ENABLE) | ||
248 | static const char PROGMEM mouse_lock[3] = {0xF2, 0xF3, 0}; | ||
249 | oled_write_P(mouse_lock, tap_toggling); | ||
250 | #endif | ||
251 | #ifdef AUDIO_ENABLE | ||
252 | static const char PROGMEM audio_status[2][3] = {{0xE0, 0xE1, 0}, {0xE2, 0xE3, 0}}; | ||
253 | oled_write_P(audio_status[is_audio_on()], false); | ||
254 | |||
255 | # ifdef AUDIO_CLICKY | ||
256 | static const char PROGMEM audio_clicky_status[2][3] = {{0xF4, 0xF5, 0}, {0xF6, 0xF7, 0}}; | ||
257 | oled_write_P(audio_clicky_status[is_clicky_on() && is_audio_on()], false); | ||
258 | # if !defined(OLED_DISPLAY_128X64) | ||
239 | oled_write_P(PSTR(" "), false); | 259 | oled_write_P(PSTR(" "), false); |
240 | oled_write_P(PSTR(OLED_RENDER_USER_NUKE), userspace_config.nuke_switch); | 260 | # endif |
241 | #ifdef OLED_DISPLAY_128X64 | 261 | # endif |
262 | #endif | ||
263 | |||
264 | static const char PROGMEM rgb_layer_status[2][3] = {{0xEE, 0xEF, 0}, {0xF0, 0xF1, 0}}; | ||
265 | oled_write_P(rgb_layer_status[userspace_config.rgb_layer_change], false); | ||
266 | static const char PROGMEM nukem_good[2][3] = {{0xF8, 0xF9, 0}, {0xF6, 0xF7, 0}}; | ||
267 | oled_write_P(nukem_good[0], userspace_config.nuke_switch); | ||
268 | #if defined(OLED_DISPLAY_128X64) | ||
242 | oled_advance_page(true); | 269 | oled_advance_page(true); |
243 | #endif | 270 | #endif |
244 | } | 271 | } |
@@ -253,23 +280,55 @@ __attribute__((weak)) void oled_driver_render_logo(void) { | |||
253 | oled_write_P(qmk_logo, false); | 280 | oled_write_P(qmk_logo, false); |
254 | } | 281 | } |
255 | 282 | ||
283 | void render_wpm(void) { | ||
284 | #ifdef WPM_ENABLE | ||
285 | # ifdef OLED_DISPLAY_128X64 | ||
286 | char wpm_counter[4]; | ||
287 | # else | ||
288 | char wpm_counter[6]; | ||
289 | # endif | ||
290 | snprintf(wpm_counter, sizeof(wpm_counter), "%3u", get_current_wpm()); | ||
291 | oled_write_P(PSTR(OLED_RENDER_WPM_COUNTER), false); | ||
292 | oled_write(wpm_counter, false); | ||
293 | #endif | ||
294 | } | ||
295 | |||
296 | #ifdef KEYBOARD_handwired_dactyl_manuform_5x6_right_trackball | ||
297 | extern keyboard_config_t keyboard_config; | ||
298 | extern uint16_t dpi_array[]; | ||
299 | |||
300 | void render_pointing_dpi_status(void) { | ||
301 | char dpi_status[6]; | ||
302 | snprintf(dpi_status, sizeof(dpi_status), "%5u", dpi_array[keyboard_config.dpi_config]); | ||
303 | oled_write_P(PSTR(" DPI: "), false); | ||
304 | oled_write(dpi_status, false); | ||
305 | } | ||
306 | #endif | ||
307 | |||
256 | void render_status_secondary(void) { | 308 | void render_status_secondary(void) { |
257 | #if !defined(SPLIT_TRANSPORT_MIRROR) || defined(OLED_DISPLAY_128X64) | 309 | #if defined(OLED_DISPLAY_128X64) |
258 | oled_driver_render_logo(); | 310 | oled_driver_render_logo(); |
259 | #endif | 311 | #endif |
260 | /* Show Keyboard Layout */ | 312 | /* Show Keyboard Layout */ |
261 | render_default_layer_state(); | 313 | render_default_layer_state(); |
262 | render_layer_state(); | 314 | render_layer_state(); |
263 | render_mod_status(get_mods() | get_oneshot_mods()); | 315 | render_mod_status(get_mods() | get_oneshot_mods()); |
264 | render_keylogger_status(); | 316 | // render_keylogger_status(); |
265 | 317 | render_keylock_status(host_keyboard_leds()); | |
266 | } | 318 | } |
267 | // clang-format on | ||
268 | 319 | ||
269 | void render_status_main(void) { | 320 | void render_status_main(void) { |
321 | #if defined(OLED_DISPLAY_128X64) | ||
270 | oled_driver_render_logo(); | 322 | oled_driver_render_logo(); |
271 | /* Show Keyboard Layout */ | 323 | render_wpm(); |
324 | # ifdef KEYBOARD_handwired_dactyl_manuform_5x6_right_trackball | ||
325 | render_pointing_dpi_status(); | ||
326 | # endif | ||
327 | oled_write_P(PSTR("\n"), false); | ||
328 | #else | ||
272 | render_default_layer_state(); | 329 | render_default_layer_state(); |
330 | #endif | ||
331 | /* Show Keyboard Layout */ | ||
273 | // render_keylock_status(host_keyboard_leds()); | 332 | // render_keylock_status(host_keyboard_leds()); |
274 | render_bootmagic_status(); | 333 | render_bootmagic_status(); |
275 | render_user_status(); | 334 | render_user_status(); |
diff --git a/users/drashna/oled_stuff.h b/users/drashna/oled_stuff.h index 7f2786d00..2224cd90e 100644 --- a/users/drashna/oled_stuff.h +++ b/users/drashna/oled_stuff.h | |||
@@ -21,6 +21,7 @@ | |||
21 | 21 | ||
22 | void oled_driver_render_logo(void); | 22 | void oled_driver_render_logo(void); |
23 | bool process_record_user_oled(uint16_t keycode, keyrecord_t *record); | 23 | bool process_record_user_oled(uint16_t keycode, keyrecord_t *record); |
24 | extern uint32_t oled_timer; | ||
24 | 25 | ||
25 | #ifdef OLED_DISPLAY_128X64 | 26 | #ifdef OLED_DISPLAY_128X64 |
26 | # define OLED_RENDER_KEYLOGGER "Keylogger: " | 27 | # define OLED_RENDER_KEYLOGGER "Keylogger: " |
@@ -35,7 +36,7 @@ bool process_record_user_oled(uint16_t keycode, keyrecord_t *record); | |||
35 | # define OLED_RENDER_LAYOUT_EUCALYN "Eucalyn" | 36 | # define OLED_RENDER_LAYOUT_EUCALYN "Eucalyn" |
36 | # define OLED_RENDER_LAYOUT_CARPLAX "Carplax" | 37 | # define OLED_RENDER_LAYOUT_CARPLAX "Carplax" |
37 | 38 | ||
38 | # define OLED_RENDER_LAYER_NAME "Layer:\n" | 39 | # define OLED_RENDER_LAYER_NAME "Layer:" |
39 | # define OLED_RENDER_LAYER_LOWER "Lower" | 40 | # define OLED_RENDER_LAYER_LOWER "Lower" |
40 | # define OLED_RENDER_LAYER_RAISE "Raise" | 41 | # define OLED_RENDER_LAYER_RAISE "Raise" |
41 | # define OLED_RENDER_LAYER_ADJUST "Adjust" | 42 | # define OLED_RENDER_LAYER_ADJUST "Adjust" |
@@ -46,7 +47,7 @@ bool process_record_user_oled(uint16_t keycode, keyrecord_t *record); | |||
46 | # define OLED_RENDER_LOCK_CAPS "CAPS" | 47 | # define OLED_RENDER_LOCK_CAPS "CAPS" |
47 | # define OLED_RENDER_LOCK_SCLK "SCLK" | 48 | # define OLED_RENDER_LOCK_SCLK "SCLK" |
48 | 49 | ||
49 | # define OLED_RENDER_MODS_NAME "Mods: " | 50 | # define OLED_RENDER_MODS_NAME "Mods:" |
50 | # define OLED_RENDER_MODS_SFT "Sft" | 51 | # define OLED_RENDER_MODS_SFT "Sft" |
51 | # define OLED_RENDER_MODS_CTL "Ctl" | 52 | # define OLED_RENDER_MODS_CTL "Ctl" |
52 | # define OLED_RENDER_MODS_ALT "Alt" | 53 | # define OLED_RENDER_MODS_ALT "Alt" |
@@ -63,6 +64,7 @@ bool process_record_user_oled(uint16_t keycode, keyrecord_t *record); | |||
63 | # define OLED_RENDER_USER_LAYR "Layr" | 64 | # define OLED_RENDER_USER_LAYR "Layr" |
64 | # define OLED_RENDER_USER_NUKE "Nuke" | 65 | # define OLED_RENDER_USER_NUKE "Nuke" |
65 | 66 | ||
67 | # define OLED_RENDER_WPM_COUNTER "WPM: " | ||
66 | #else | 68 | #else |
67 | # define OLED_RENDER_KEYLOGGER "KLogr" | 69 | # define OLED_RENDER_KEYLOGGER "KLogr" |
68 | 70 | ||
@@ -83,15 +85,15 @@ bool process_record_user_oled(uint16_t keycode, keyrecord_t *record); | |||
83 | # define OLED_RENDER_LAYER_MODS " Mods" | 85 | # define OLED_RENDER_LAYER_MODS " Mods" |
84 | 86 | ||
85 | # define OLED_RENDER_LOCK_NAME "Lock:" | 87 | # define OLED_RENDER_LOCK_NAME "Lock:" |
86 | # define OLED_RENDER_LOCK_NUML "N" | 88 | # define OLED_RENDER_LOCK_NUML "NumL" |
87 | # define OLED_RENDER_LOCK_CAPS "C" | 89 | # define OLED_RENDER_LOCK_CAPS "CapL" |
88 | # define OLED_RENDER_LOCK_SCLK "S" | 90 | # define OLED_RENDER_LOCK_SCLK "ScrL" |
89 | 91 | ||
90 | # define OLED_RENDER_MODS_NAME "Mods: " | 92 | # define OLED_RENDER_MODS_NAME "Mods: " |
91 | # define OLED_RENDER_MODS_SFT "S" | 93 | # define OLED_RENDER_MODS_SFT "Shft" |
92 | # define OLED_RENDER_MODS_CTL "C" | 94 | # define OLED_RENDER_MODS_CTL "Ctrl" |
93 | # define OLED_RENDER_MODS_ALT "A" | 95 | # define OLED_RENDER_MODS_ALT "Alt\n" |
94 | # define OLED_RENDER_MODS_GUI "G" | 96 | # define OLED_RENDER_MODS_GUI "GUI\n" |
95 | 97 | ||
96 | # define OLED_RENDER_BOOTMAGIC_NAME "BTMGK" | 98 | # define OLED_RENDER_BOOTMAGIC_NAME "BTMGK" |
97 | # define OLED_RENDER_BOOTMAGIC_NKRO "NKRO" | 99 | # define OLED_RENDER_BOOTMAGIC_NKRO "NKRO" |
@@ -104,4 +106,6 @@ bool process_record_user_oled(uint16_t keycode, keyrecord_t *record); | |||
104 | # define OLED_RENDER_USER_LAYR "Layr" | 106 | # define OLED_RENDER_USER_LAYR "Layr" |
105 | # define OLED_RENDER_USER_NUKE "Nuke" | 107 | # define OLED_RENDER_USER_NUKE "Nuke" |
106 | 108 | ||
109 | # define OLED_RENDER_WPM_COUNTER "WPM: " | ||
110 | |||
107 | #endif | 111 | #endif |
diff --git a/users/drashna/pimoroni_trackball.h b/users/drashna/pimoroni_trackball.h index 83d248d3f..a30fb0bb8 100644 --- a/users/drashna/pimoroni_trackball.h +++ b/users/drashna/pimoroni_trackball.h | |||
@@ -23,13 +23,13 @@ | |||
23 | # define TRACKBALL_ADDRESS 0x0A | 23 | # define TRACKBALL_ADDRESS 0x0A |
24 | #endif | 24 | #endif |
25 | #define TRACKBALL_WRITE ((TRACKBALL_ADDRESS << 1) | I2C_WRITE) | 25 | #define TRACKBALL_WRITE ((TRACKBALL_ADDRESS << 1) | I2C_WRITE) |
26 | #define TRACKBALL_READ ((TRACKBALL_ADDRESS << 1) | I2C_READ) | 26 | #define TRACKBALL_READ ((TRACKBALL_ADDRESS << 1) | I2C_READ) |
27 | 27 | ||
28 | void trackball_set_rgbw(uint8_t red, uint8_t green, uint8_t blue, uint8_t white); | 28 | void trackball_set_rgbw(uint8_t red, uint8_t green, uint8_t blue, uint8_t white); |
29 | void trackball_check_click(bool pressed, report_mouse_t *mouse); | 29 | void trackball_check_click(bool pressed, report_mouse_t *mouse); |
30 | void trackball_register_button(bool pressed, enum mouse_buttons button); | 30 | void trackball_register_button(bool pressed, enum mouse_buttons button); |
31 | 31 | ||
32 | float trackball_get_precision(void); | 32 | float trackball_get_precision(void); |
33 | void trackball_set_precision(float precision); | 33 | void trackball_set_precision(float precision); |
34 | bool trackball_is_scrolling(void); | 34 | bool trackball_is_scrolling(void); |
35 | void trackball_set_scrolling(bool scroll); | 35 | void trackball_set_scrolling(bool scroll); |
diff --git a/users/drashna/process_records.c b/users/drashna/process_records.c index 14fda92de..ef901226e 100644 --- a/users/drashna/process_records.c +++ b/users/drashna/process_records.c | |||
@@ -36,12 +36,12 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) { | |||
36 | 36 | ||
37 | if (!(process_record_keymap(keycode, record) && process_record_secrets(keycode, record) | 37 | if (!(process_record_keymap(keycode, record) && process_record_secrets(keycode, record) |
38 | #ifdef RGB_MATRIX_ENABLE | 38 | #ifdef RGB_MATRIX_ENABLE |
39 | && process_record_user_rgb_matrix(keycode, record) | 39 | && process_record_user_rgb_matrix(keycode, record) |
40 | #endif | 40 | #endif |
41 | #ifdef RGBLIGHT_ENABLE | 41 | #ifdef RGBLIGHT_ENABLE |
42 | && process_record_user_rgb_light(keycode, record) | 42 | && process_record_user_rgb_light(keycode, record) |
43 | #endif | 43 | #endif |
44 | && true)) { | 44 | && true)) { |
45 | return false; | 45 | return false; |
46 | } | 46 | } |
47 | 47 | ||
diff --git a/users/drashna/process_records.h b/users/drashna/process_records.h index e59e2242e..2e2467050 100644 --- a/users/drashna/process_records.h +++ b/users/drashna/process_records.h | |||
@@ -55,6 +55,7 @@ bool process_record_keymap(uint16_t keycode, keyrecord_t *record); | |||
55 | #define ADJUST MO(_ADJUST) | 55 | #define ADJUST MO(_ADJUST) |
56 | #define TG_MODS TG(_MODS) | 56 | #define TG_MODS TG(_MODS) |
57 | #define TG_GAME TG(_GAMEPAD) | 57 | #define TG_GAME TG(_GAMEPAD) |
58 | #define TG_DBLO TG(_DIABLO) | ||
58 | #define OS_LWR OSL(_LOWER) | 59 | #define OS_LWR OSL(_LOWER) |
59 | #define OS_RSE OSL(_RAISE) | 60 | #define OS_RSE OSL(_RAISE) |
60 | 61 | ||
diff --git a/users/drashna/rgb_stuff.c b/users/drashna/rgb_stuff.c index b67f707b6..c8b2f4c72 100644 --- a/users/drashna/rgb_stuff.c +++ b/users/drashna/rgb_stuff.c | |||
@@ -14,15 +14,17 @@ | |||
14 | * along with this program. If not, see <http://www.gnu.org/licenses/>. | 14 | * along with this program. If not, see <http://www.gnu.org/licenses/>. |
15 | */ | 15 | */ |
16 | 16 | ||
17 | #include "drashna.h" | 17 | #ifdef RGBLIGHT_ENABLE |
18 | #include "rgb_stuff.h" | 18 | |
19 | #include "eeprom.h" | 19 | # include "drashna.h" |
20 | # include "rgb_stuff.h" | ||
21 | # include "eeprom.h" | ||
20 | 22 | ||
21 | bool has_initialized; | 23 | bool has_initialized; |
22 | 24 | ||
23 | void rgblight_sethsv_default_helper(uint8_t index) { rgblight_sethsv_at(rgblight_get_hue(), rgblight_get_sat(), rgblight_get_val(), index); } | 25 | void rgblight_sethsv_default_helper(uint8_t index) { rgblight_sethsv_at(rgblight_get_hue(), rgblight_get_sat(), rgblight_get_val(), index); } |
24 | 26 | ||
25 | #ifdef RGBLIGHT_TWINKLE | 27 | # ifdef RGBLIGHT_TWINKLE |
26 | static rgblight_fadeout lights[RGBLED_NUM]; | 28 | static rgblight_fadeout lights[RGBLED_NUM]; |
27 | 29 | ||
28 | /* Handler for fading/twinkling effect */ | 30 | /* Handler for fading/twinkling effect */ |
@@ -91,7 +93,7 @@ void start_rgb_light(void) { | |||
91 | 93 | ||
92 | rgblight_sethsv_at(light->hue, 255, light->life, light_index); | 94 | rgblight_sethsv_at(light->hue, 255, light->life, light_index); |
93 | } | 95 | } |
94 | #endif | 96 | # endif |
95 | 97 | ||
96 | bool process_record_user_rgb_light(uint16_t keycode, keyrecord_t *record) { | 98 | bool process_record_user_rgb_light(uint16_t keycode, keyrecord_t *record) { |
97 | uint16_t temp_keycode = keycode; | 99 | uint16_t temp_keycode = keycode; |
@@ -101,7 +103,7 @@ bool process_record_user_rgb_light(uint16_t keycode, keyrecord_t *record) { | |||
101 | } | 103 | } |
102 | 104 | ||
103 | switch (temp_keycode) { | 105 | switch (temp_keycode) { |
104 | #ifdef RGBLIGHT_TWINKLE | 106 | # ifdef RGBLIGHT_TWINKLE |
105 | case KC_A ... KC_SLASH: | 107 | case KC_A ... KC_SLASH: |
106 | case KC_F1 ... KC_F12: | 108 | case KC_F1 ... KC_F12: |
107 | case KC_INSERT ... KC_UP: | 109 | case KC_INSERT ... KC_UP: |
@@ -112,20 +114,20 @@ bool process_record_user_rgb_light(uint16_t keycode, keyrecord_t *record) { | |||
112 | start_rgb_light(); | 114 | start_rgb_light(); |
113 | } | 115 | } |
114 | break; | 116 | break; |
115 | #endif // RGBLIGHT_TWINKLE | 117 | # endif // RGBLIGHT_TWINKLE |
116 | } | 118 | } |
117 | return true; | 119 | return true; |
118 | } | 120 | } |
119 | 121 | ||
120 | #if defined(RGBLIGHT_STARTUP_ANIMATION) | 122 | # if defined(RGBLIGHT_STARTUP_ANIMATION) |
121 | static bool is_enabled; | 123 | static bool is_enabled; |
122 | static bool is_rgblight_startup; | 124 | static bool is_rgblight_startup; |
123 | static uint8_t old_hue; | 125 | static uint8_t old_hue; |
124 | static uint16_t rgblight_startup_loop_timer; | 126 | static uint16_t rgblight_startup_loop_timer; |
125 | #endif | 127 | # endif |
126 | 128 | ||
127 | void keyboard_post_init_rgb_light(void) { | 129 | void keyboard_post_init_rgb_light(void) { |
128 | #if defined(RGBLIGHT_STARTUP_ANIMATION) | 130 | # if defined(RGBLIGHT_STARTUP_ANIMATION) |
129 | is_enabled = rgblight_is_enabled(); | 131 | is_enabled = rgblight_is_enabled(); |
130 | if (userspace_config.rgb_layer_change) { | 132 | if (userspace_config.rgb_layer_change) { |
131 | rgblight_enable_noeeprom(); | 133 | rgblight_enable_noeeprom(); |
@@ -136,7 +138,7 @@ void keyboard_post_init_rgb_light(void) { | |||
136 | rgblight_mode_noeeprom(RGBLIGHT_MODE_STATIC_LIGHT); | 138 | rgblight_mode_noeeprom(RGBLIGHT_MODE_STATIC_LIGHT); |
137 | is_rgblight_startup = true; | 139 | is_rgblight_startup = true; |
138 | } | 140 | } |
139 | #endif | 141 | # endif |
140 | layer_state_set_rgb_light(layer_state); | 142 | layer_state_set_rgb_light(layer_state); |
141 | } | 143 | } |
142 | 144 | ||
@@ -145,7 +147,7 @@ void matrix_scan_rgb_light(void) { | |||
145 | scan_rgblight_fadeout(); | 147 | scan_rgblight_fadeout(); |
146 | # endif // RGBLIGHT_ENABLE | 148 | # endif // RGBLIGHT_ENABLE |
147 | 149 | ||
148 | #if defined(RGBLIGHT_STARTUP_ANIMATION) | 150 | # if defined(RGBLIGHT_STARTUP_ANIMATION) |
149 | if (is_rgblight_startup && is_keyboard_master()) { | 151 | if (is_rgblight_startup && is_keyboard_master()) { |
150 | if (timer_elapsed(rgblight_startup_loop_timer) > 10) { | 152 | if (timer_elapsed(rgblight_startup_loop_timer) > 10) { |
151 | static uint8_t counter; | 153 | static uint8_t counter; |
@@ -163,7 +165,7 @@ void matrix_scan_rgb_light(void) { | |||
163 | } | 165 | } |
164 | } | 166 | } |
165 | } | 167 | } |
166 | #endif | 168 | # endif |
167 | } | 169 | } |
168 | 170 | ||
169 | void rgblight_set_hsv_and_mode(uint8_t hue, uint8_t sat, uint8_t val, uint8_t mode) { | 171 | void rgblight_set_hsv_and_mode(uint8_t hue, uint8_t sat, uint8_t val, uint8_t mode) { |
@@ -173,16 +175,16 @@ void rgblight_set_hsv_and_mode(uint8_t hue, uint8_t sat, uint8_t val, uint8_t mo | |||
173 | } | 175 | } |
174 | 176 | ||
175 | layer_state_t layer_state_set_rgb_light(layer_state_t state) { | 177 | layer_state_t layer_state_set_rgb_light(layer_state_t state) { |
176 | #ifdef RGBLIGHT_ENABLE | 178 | # ifdef RGBLIGHT_ENABLE |
177 | if (userspace_config.rgb_layer_change) { | 179 | if (userspace_config.rgb_layer_change) { |
178 | uint8_t mode = layer_state_cmp(state,_MODS) ? RGBLIGHT_MODE_BREATHING : RGBLIGHT_MODE_STATIC_LIGHT; | 180 | uint8_t mode = layer_state_cmp(state, _MODS) ? RGBLIGHT_MODE_BREATHING : RGBLIGHT_MODE_STATIC_LIGHT; |
179 | switch (get_highest_layer(state|default_layer_state)) { | 181 | switch (get_highest_layer(state | default_layer_state)) { |
180 | case _MACROS: | 182 | case _MACROS: |
181 | # ifdef RGBLIGHT_EFFECT_TWINKLE | 183 | # ifdef RGBLIGHT_EFFECT_TWINKLE |
182 | rgblight_set_hsv_and_mode(HSV_CHARTREUSE, RGBLIGHT_MODE_TWINKLE + 5); | 184 | rgblight_set_hsv_and_mode(HSV_CHARTREUSE, RGBLIGHT_MODE_TWINKLE + 5); |
183 | # else | 185 | # else |
184 | rgblight_set_hsv_and_mode(HSV_CHARTREUSE, RGBLIGHT_MODE_BREATHING + 3); | 186 | rgblight_set_hsv_and_mode(HSV_CHARTREUSE, RGBLIGHT_MODE_BREATHING + 3); |
185 | # endif | 187 | # endif |
186 | break; | 188 | break; |
187 | case _MEDIA: | 189 | case _MEDIA: |
188 | rgblight_set_hsv_and_mode(HSV_CHARTREUSE, RGBLIGHT_MODE_KNIGHT + 1); | 190 | rgblight_set_hsv_and_mode(HSV_CHARTREUSE, RGBLIGHT_MODE_KNIGHT + 1); |
@@ -228,7 +230,9 @@ layer_state_t layer_state_set_rgb_light(layer_state_t state) { | |||
228 | break; | 230 | break; |
229 | } | 231 | } |
230 | } | 232 | } |
231 | #endif // RGBLIGHT_ENABLE | 233 | # endif // RGBLIGHT_ENABLE |
232 | 234 | ||
233 | return state; | 235 | return state; |
234 | } | 236 | } |
237 | |||
238 | #endif | ||
diff --git a/users/drashna/rules.mk b/users/drashna/rules.mk index b7523a436..2ae01c62e 100644 --- a/users/drashna/rules.mk +++ b/users/drashna/rules.mk | |||
@@ -66,3 +66,27 @@ ifeq ($(strip $(PIMORONI_TRACKBALL_ENABLE)), yes) | |||
66 | SRC += pimoroni_trackball.c | 66 | SRC += pimoroni_trackball.c |
67 | QUANTUM_LIB_SRC += i2c_master.c | 67 | QUANTUM_LIB_SRC += i2c_master.c |
68 | endif | 68 | endif |
69 | |||
70 | |||
71 | ifeq ($(strip $(SPLIT_KEYBOARD)), yes) | ||
72 | ifneq ($(strip $(SPLIT_TRANSPORT)), custom) | ||
73 | SPLIT_TRANSPORT = custom | ||
74 | QUANTUM_LIB_SRC += drashna_transport.c | ||
75 | OPT_DEFS += -DDRASHNA_CUSTOM_TRANSPORT | ||
76 | # Unused functions are pruned away, which is why we can add multiple drivers here without bloat. | ||
77 | ifeq ($(PLATFORM),AVR) | ||
78 | ifneq ($(NO_I2C),yes) | ||
79 | QUANTUM_LIB_SRC += i2c_master.c \ | ||
80 | i2c_slave.c | ||
81 | endif | ||
82 | endif | ||
83 | |||
84 | SERIAL_DRIVER ?= bitbang | ||
85 | OPT_DEFS += -DSERIAL_DRIVER_$(strip $(shell echo $(SERIAL_DRIVER) | tr '[:lower:]' '[:upper:]')) | ||
86 | ifeq ($(strip $(SERIAL_DRIVER)), bitbang) | ||
87 | QUANTUM_LIB_SRC += serial.c | ||
88 | else | ||
89 | QUANTUM_LIB_SRC += serial_$(strip $(SERIAL_DRIVER)).c | ||
90 | endif | ||
91 | endif | ||
92 | endif | ||
diff --git a/users/drashna/wrappers.h b/users/drashna/wrappers.h index d135f44af..be8162dfa 100644 --- a/users/drashna/wrappers.h +++ b/users/drashna/wrappers.h | |||
@@ -21,19 +21,6 @@ Since our quirky block definitions are basically a list of comma separated | |||
21 | arguments, we need a wrapper in order for these definitions to be | 21 | arguments, we need a wrapper in order for these definitions to be |
22 | expanded before being used as arguments to the LAYOUT_xxx macro. | 22 | expanded before being used as arguments to the LAYOUT_xxx macro. |
23 | */ | 23 | */ |
24 | #if (!defined(LAYOUT) && defined(KEYMAP)) | ||
25 | # define LAYOUT KEYMAP | ||
26 | #endif | ||
27 | |||
28 | // clang-format off | ||
29 | #define LAYOUT_ergodox_wrapper(...) LAYOUT_ergodox(__VA_ARGS__) | ||
30 | #define LAYOUT_ergodox_pretty_wrapper(...) LAYOUT_ergodox_pretty(__VA_ARGS__) | ||
31 | #define KEYMAP_wrapper(...) LAYOUT(__VA_ARGS__) | ||
32 | #define LAYOUT_wrapper(...) LAYOUT(__VA_ARGS__) | ||
33 | #define LAYOUT_ortho_4x12_wrapper(...) LAYOUT_ortho_4x12(__VA_ARGS__) | ||
34 | #define LAYOUT_ortho_5x12_wrapper(...) LAYOUT_ortho_5x12(__VA_ARGS__) | ||
35 | #define LAYOUT_gergo_wrapper(...) LAYOUT_gergo(__VA_ARGS__) | ||
36 | #define LAYOUT_split_3x6_3_wrapper(...) LAYOUT_split_3x6_3(__VA_ARGS__) | ||
37 | 24 | ||
38 | /* | 25 | /* |
39 | Blocks for each of the four major keyboard layouts | 26 | Blocks for each of the four major keyboard layouts |
@@ -46,14 +33,14 @@ NOTE: These are all the same length. If you do a search/replace | |||
46 | then you need to add/remove underscores to keep the | 33 | then you need to add/remove underscores to keep the |
47 | lengths consistent. | 34 | lengths consistent. |
48 | */ | 35 | */ |
36 | // clang-format off | ||
37 | #define _________________QWERTY_L1_________________ KC_Q, KC_W, KC_E, KC_R, KC_T | ||
38 | #define _________________QWERTY_L2_________________ KC_A, KC_S, KC_D, KC_F, KC_G | ||
39 | #define _________________QWERTY_L3_________________ KC_Z, KC_X, KC_C, KC_V, KC_B | ||
49 | 40 | ||
50 | #define _________________QWERTY_L1_________________ KC_Q, KC_W, KC_E, KC_R, KC_T | 41 | #define _________________QWERTY_R1_________________ KC_Y, KC_U, KC_I, KC_O, KC_P |
51 | #define _________________QWERTY_L2_________________ KC_A, KC_S, KC_D, KC_F, KC_G | 42 | #define _________________QWERTY_R2_________________ KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT |
52 | #define _________________QWERTY_L3_________________ KC_Z, KC_X, KC_C, KC_V, KC_B | 43 | #define _________________QWERTY_R3_________________ KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH |
53 | |||
54 | #define _________________QWERTY_R1_________________ KC_Y, KC_U, KC_I, KC_O, KC_P | ||
55 | #define _________________QWERTY_R2_________________ KC_H, KC_J, KC_K, KC_L, KC_SCLN | ||
56 | #define _________________QWERTY_R3_________________ KC_N, KC_M, KC_COMM, KC_DOT, KC_SLASH | ||
57 | 44 | ||
58 | 45 | ||
59 | #define _________________COLEMAK_L1________________ KC_Q, KC_W, KC_F, KC_P, KC_G | 46 | #define _________________COLEMAK_L1________________ KC_Q, KC_W, KC_F, KC_P, KC_G |
@@ -61,15 +48,15 @@ NOTE: These are all the same length. If you do a search/replace | |||
61 | #define _________________COLEMAK_L3________________ KC_Z, KC_X, KC_C, KC_V, KC_B | 48 | #define _________________COLEMAK_L3________________ KC_Z, KC_X, KC_C, KC_V, KC_B |
62 | 49 | ||
63 | #define _________________COLEMAK_R1________________ KC_J, KC_L, KC_U, KC_Y, KC_SCLN | 50 | #define _________________COLEMAK_R1________________ KC_J, KC_L, KC_U, KC_Y, KC_SCLN |
64 | #define _________________COLEMAK_R2________________ KC_H, KC_N, KC_E, KC_I, KC_O | 51 | #define _________________COLEMAK_R2________________ KC_H, KC_N, KC_E, KC_I, KC_O, KC_QUOT |
65 | #define _________________COLEMAK_R3________________ KC_K, KC_M, KC_COMM, KC_DOT, KC_SLASH | 52 | #define _________________COLEMAK_R3________________ KC_K, KC_M, KC_COMM, KC_DOT, KC_SLSH |
66 | 53 | ||
67 | #define ______________COLEMAK_MOD_DH_L1____________ KC_Q, KC_W, KC_F, KC_P, KC_B | 54 | #define ______________COLEMAK_MOD_DH_L1____________ KC_Q, KC_W, KC_F, KC_P, KC_B |
68 | #define ______________COLEMAK_MOD_DH_L2____________ KC_A, KC_R, KC_S, KC_T, KC_G | 55 | #define ______________COLEMAK_MOD_DH_L2____________ KC_A, KC_R, KC_S, KC_T, KC_G |
69 | #define ______________COLEMAK_MOD_DH_L3____________ KC_Z, KC_X, KC_C, KC_D, KC_V | 56 | #define ______________COLEMAK_MOD_DH_L3____________ KC_Z, KC_X, KC_C, KC_D, KC_V |
70 | 57 | ||
71 | #define ______________COLEMAK_MOD_DH_R1____________ KC_J, KC_L, KC_U, KC_Y, KC_SCLN | 58 | #define ______________COLEMAK_MOD_DH_R1____________ KC_J, KC_L, KC_U, KC_Y, KC_SCLN |
72 | #define ______________COLEMAK_MOD_DH_R2____________ KC_M, KC_N, KC_E, KC_I, KC_O | 59 | #define ______________COLEMAK_MOD_DH_R2____________ KC_M, KC_N, KC_E, KC_I, KC_O, KC_QUOT |
73 | #define ______________COLEMAK_MOD_DH_R3____________ KC_K, KC_H, KC_COMM, KC_DOT, KC_SLASH | 60 | #define ______________COLEMAK_MOD_DH_R3____________ KC_K, KC_H, KC_COMM, KC_DOT, KC_SLASH |
74 | 61 | ||
75 | 62 | ||
@@ -78,7 +65,7 @@ NOTE: These are all the same length. If you do a search/replace | |||
78 | #define _________________DVORAK_L3_________________ KC_SCLN, KC_Q, KC_J, KC_K, KC_X | 65 | #define _________________DVORAK_L3_________________ KC_SCLN, KC_Q, KC_J, KC_K, KC_X |
79 | 66 | ||
80 | #define _________________DVORAK_R1_________________ KC_F, KC_G, KC_C, KC_R, KC_L | 67 | #define _________________DVORAK_R1_________________ KC_F, KC_G, KC_C, KC_R, KC_L |
81 | #define _________________DVORAK_R2_________________ KC_D, KC_H, KC_T, KC_N, KC_S | 68 | #define _________________DVORAK_R2_________________ KC_D, KC_H, KC_T, KC_N, KC_S, KC_SLSH |
82 | #define _________________DVORAK_R3_________________ KC_B, KC_M, KC_W, KC_V, KC_Z | 69 | #define _________________DVORAK_R3_________________ KC_B, KC_M, KC_W, KC_V, KC_Z |
83 | 70 | ||
84 | 71 | ||
@@ -87,88 +74,106 @@ NOTE: These are all the same length. If you do a search/replace | |||
87 | #define ________________DVORAK_AU_L3_______________ KC_SCLN, KC_Q, KC_J, KC_K, KC_X | 74 | #define ________________DVORAK_AU_L3_______________ KC_SCLN, KC_Q, KC_J, KC_K, KC_X |
88 | 75 | ||
89 | #define ________________DVORAK_AU_R1_______________ KC_F, KC_G, KC_C, KC_R, KC_L | 76 | #define ________________DVORAK_AU_R1_______________ KC_F, KC_G, KC_C, KC_R, KC_L |
90 | #define ________________DVORAK_AU_R2_______________ KC_D, KC_H, KC_T, KC_N, KC_S | 77 | #define ________________DVORAK_AU_R2_______________ KC_D, KC_H, KC_T, KC_N, KC_S, KC_SLSH |
91 | #define ________________DVORAK_AU_R3_______________ KC_B, KC_M, KC_W, KC_V, KC_Z | 78 | #define ________________DVORAK_AU_R3_______________ KC_B, KC_M, KC_W, KC_V, KC_Z |
92 | 79 | ||
93 | #define _________________WORKMAN_L1________________ KC_Q, KC_D, KC_R, KC_W, KC_B | 80 | #define _________________WORKMAN_L1________________ KC_Q, KC_D, KC_R, KC_W, KC_B |
94 | #define _________________WORKMAN_L2________________ KC_A, KC_S, KC_H, KC_T, KC_G | 81 | #define _________________WORKMAN_L2________________ KC_A, KC_S, KC_H, KC_T, KC_G |
95 | #define _________________WORKMAN_L3________________ KC_Z, KC_X, KC_M, KC_C, KC_V | 82 | #define _________________WORKMAN_L3________________ KC_Z, KC_X, KC_M, KC_C, KC_V |
83 | |||
84 | #define _________________WORKMAN_R1________________ KC_J, KC_F, KC_U, KC_P, KC_SCLN | ||
85 | #define _________________WORKMAN_R2________________ KC_Y, KC_N, KC_E, KC_O, KC_I, KC_QUOT | ||
86 | #define _________________WORKMAN_R3________________ KC_K, KC_L, KC_COMM, KC_DOT, KC_SLSH | ||
87 | |||
96 | 88 | ||
97 | #define _________________WORKMAN_R1________________ KC_J, KC_F, KC_U, KC_P, KC_SCLN | 89 | #define _________________NORMAN_L1_________________ KC_Q, KC_W, KC_D, KC_F, KC_K |
98 | #define _________________WORKMAN_R2________________ KC_Y, KC_N, KC_E, KC_O, KC_I | 90 | #define _________________NORMAN_L2_________________ KC_A, KC_S, KC_E, KC_T, KC_G |
99 | #define _________________WORKMAN_R3________________ KC_K, KC_L, KC_COMM, KC_DOT, KC_SLASH | 91 | #define _________________NORMAN_L3_________________ KC_Z, KC_X, KC_C, KC_V, KC_B |
100 | 92 | ||
93 | #define _________________NORMAN_R1_________________ KC_J, KC_U, KC_R, KC_L, KC_SCLN | ||
94 | #define _________________NORMAN_R2_________________ KC_Y, KC_N, KC_I, KC_O, KC_U, KC_QUOT | ||
95 | #define _________________NORMAN_R3_________________ KC_P, KC_M, KC_COMM, KC_DOT, KC_SLSH | ||
101 | 96 | ||
102 | #define _________________NORMAN_L1_________________ KC_Q, KC_W, KC_D, KC_F, KC_K | ||
103 | #define _________________NORMAN_L2_________________ KC_A, KC_S, KC_E, KC_T, KC_G | ||
104 | #define _________________NORMAN_L3_________________ KC_Z, KC_X, KC_C, KC_V, KC_B | ||
105 | 97 | ||
106 | #define _________________NORMAN_R1_________________ KC_J, KC_U, KC_R, KC_L, KC_SCLN | 98 | #define _________________MALTRON_L1________________ KC_Q, KC_P, KC_Y, KC_C, KC_B |
107 | #define _________________NORMAN_R2_________________ KC_Y, KC_N, KC_I, KC_O, KC_U | 99 | #define _________________MALTRON_L2________________ KC_A, KC_N, KC_I, KC_S, KC_F |
108 | #define _________________NORMAN_R3_________________ KC_P, KC_M, KC_COMM, KC_DOT, KC_SLASH | 100 | #define _________________MALTRON_L3________________ KC_SCLN, KC_SLSH, KC_J, KC_G, KC_COMM |
109 | 101 | ||
102 | #define _________________MALTRON_R1________________ KC_V, KC_M, KC_U, KC_Z, KC_L | ||
103 | #define _________________MALTRON_R2________________ KC_D, KC_T, KC_D, KC_O, KC_R, KC_QUOT | ||
104 | #define _________________MALTRON_R3________________ KC_DOT, KC_W, KC_K, KC_MINS, KC_X | ||
110 | 105 | ||
111 | #define _________________MALTRON_L1________________ KC_Q, KC_P, KC_Y, KC_C, KC_B | ||
112 | #define _________________MALTRON_L2________________ KC_A, KC_N, KC_I, KC_S, KC_F | ||
113 | #define _________________MALTRON_L3________________ KC_SCLN, KC_SLSH, KC_J, KC_G, KC_COMM | ||
114 | 106 | ||
115 | #define _________________MALTRON_R1________________ KC_V, KC_M, KC_U, KC_Z, KC_L | 107 | #define _________________EUCALYN_L1________________ KC_Q, KC_W, KC_COMM, KC_DOT, KC_SCLN |
116 | #define _________________MALTRON_R2________________ KC_D, KC_T, KC_D, KC_O, KC_R | 108 | #define _________________EUCALYN_L2________________ KC_A, KC_O, KC_E, KC_I, KC_U |
117 | #define _________________MALTRON_R3________________ KC_DOT, KC_W, KC_K, KC_MINS, KC_X | 109 | #define _________________EUCALYN_L3________________ KC_Z, KC_X, KC_C, KC_V, KC_F |
118 | 110 | ||
111 | #define _________________EUCALYN_R1________________ KC_M, KC_R, KC_D, KC_Y, KC_P | ||
112 | #define _________________EUCALYN_R2________________ KC_G, KC_T, KC_K, KC_S, KC_N, KC_QUOT | ||
113 | #define _________________EUCALYN_R3________________ KC_B, KC_H, KC_J, KC_L, KC_SLSH | ||
119 | 114 | ||
120 | #define _________________EUCALYN_L1________________ KC_SLSH, KC_COMM, KC_DOT, KC_F, KC_Q | 115 | // Qwerty-like |
121 | #define _________________EUCALYN_L2________________ KC_A, KC_O, KC_E, KC_I, KC_U | 116 | #define _____________CARPLAX_QFMLWY_L1_____________ KC_Q, KC_F, KC_M, KC_L, KC_W |
122 | #define _________________EUCALYN_L3________________ KC_Z, KC_X, KC_C, KC_V, KC_W | 117 | #define _____________CARPLAX_QFMLWY_L2_____________ KC_D, KC_S, KC_T, KC_N, KC_R |
118 | #define _____________CARPLAX_QFMLWY_L3_____________ KC_Z, KC_V, KC_G, KC_C, KC_X | ||
123 | 119 | ||
124 | #define _________________EUCALYN_R1________________ KC_M, KC_R, KC_D, KC_Y, KC_P | 120 | #define _____________CARPLAX_QFMLWY_R1_____________ KC_Y, KC_U, KC_O, KC_B, KC_J |
125 | #define _________________EUCALYN_R2________________ KC_G, KC_T, KC_K, KC_S, KC_N | 121 | #define _____________CARPLAX_QFMLWY_R2_____________ KC_I, KC_A, KC_E, KC_H, KC_SCLN, KC_QUOT |
126 | #define _________________EUCALYN_R3________________ KC_B, KC_H, KC_J, KC_L, KC_SCLN | 122 | #define _____________CARPLAX_QFMLWY_R3_____________ KC_P, KC_K, KC_COMM, KC_DOT, KC_SLSH |
127 | 123 | ||
124 | // Colemak like | ||
125 | #define _____________CARPLAX_QGMLWB_L1_____________ KC_Q, KC_G, KC_M, KC_L, KC_W | ||
126 | #define _____________CARPLAX_QGMLWB_L2_____________ KC_D, KC_S, KC_T, KC_N, KC_R | ||
127 | #define _____________CARPLAX_QGMLWB_L3_____________ KC_Z, KC_X, KC_C, KC_F, KC_J | ||
128 | 128 | ||
129 | #define _____________CARPLAX_QFMLWY_L1_____________ KC_Q, KC_F, KC_M, KC_L, KC_W | 129 | #define _____________CARPLAX_QGMLWB_R1_____________ KC_B, KC_Y, KC_U, KC_V, KC_SCLN |
130 | #define _____________CARPLAX_QFMLWY_L2_____________ KC_D, KC_S, KC_T, KC_N, KC_R | 130 | #define _____________CARPLAX_QGMLWB_R2_____________ KC_I, KC_A, KC_E, KC_O, KC_H, KC_QUOT |
131 | #define _____________CARPLAX_QFMLWY_L3_____________ KC_Z, KC_V, KC_G, KC_C, KC_X | 131 | #define _____________CARPLAX_QGMLWB_R3_____________ KC_K, KC_P, KC_COMM, KC_DOT, KC_SLSH |
132 | 132 | ||
133 | #define _____________CARPLAX_QFMLWY_R1_____________ KC_Y, KC_U, KC_O, KC_B, KC_J | 133 | // colemak like, zxcv fixed |
134 | #define _____________CARPLAX_QFMLWY_R2_____________ KC_I, KC_A, KC_E, KC_H, KC_SCLN | 134 | #define _____________CARPLAX_QGMLWY_L1_____________ KC_Q, KC_G, KC_M, KC_L, KC_W |
135 | #define _____________CARPLAX_QFMLWY_R3_____________ KC_P, KC_K, KC_COMM, KC_DOT, KC_SLSH | 135 | #define _____________CARPLAX_QGMLWY_L2_____________ KC_D, KC_S, KC_T, KC_N, KC_R |
136 | #define _____________CARPLAX_QGMLWY_L3_____________ KC_Z, KC_X, KC_C, KC_V, KC_J | ||
136 | 137 | ||
138 | #define _____________CARPLAX_QGMLWY_R1_____________ KC_Y, KC_F, KC_U, KC_B, KC_SCLN | ||
139 | #define _____________CARPLAX_QGMLWY_R2_____________ KC_I, KC_A, KC_E, KC_O, KC_H, KC_QUOT | ||
140 | #define _____________CARPLAX_QGMLWY_R3_____________ KC_K, KC_P, KC_COMM, KC_DOT, KC_SLSH | ||
137 | 141 | ||
138 | #define _____________CARPLAX_QGMLWB_L1_____________ KC_Q, KC_G, KC_M, KC_L, KC_W | 142 | // teeheehee |
139 | #define _____________CARPLAX_QGMLWB_L2_____________ KC_D, KC_S, KC_T, KC_N, KC_R | 143 | #define _____________CARPLAX_TNWCLR_L1_____________ KC_T, KC_N, KC_W, KC_C, KC_L |
140 | #define _____________CARPLAX_QGMLWB_L3_____________ KC_Z, KC_X, KC_C, KC_F, KC_J | 144 | #define _____________CARPLAX_TNWCLR_L2_____________ KC_S, KC_K, KC_J, KC_X, KC_G |
145 | #define _____________CARPLAX_TNWCLR_L3_____________ KC_E, KC_O, KC_D, KC_I, KC_A | ||
141 | 146 | ||
142 | #define _____________CARPLAX_QGMLWB_R1_____________ KC_B, KC_Y, KC_U, KC_V, KC_SCLN | 147 | #define _____________CARPLAX_TNWCLR_R1_____________ KC_R, KC_B, KC_F, KC_M, KC_H |
143 | #define _____________CARPLAX_QGMLWB_R2_____________ KC_I, KC_A, KC_E, KC_O, KC_H | 148 | #define _____________CARPLAX_TNWCLR_R2_____________ KC_P, KC_Q, KC_Z, KC_V, KC_SCLN, KC_QUOT |
144 | #define _____________CARPLAX_QGMLWB_R3_____________ KC_K, KC_P, KC_COMM, KC_DOT, KC_SLSH | 149 | #define _____________CARPLAX_TNWCLR_R3_____________ KC_U, KC_Y, KC_COMM, KC_DOT, KC_SLSH |
145 | 150 | ||
146 | 151 | ||
147 | #define _____________CARPLAX_QGMLWY_L1_____________ KC_Q, KC_G, KC_M, KC_L, KC_W | 152 | #define _________________WHITE_R1__________________ KC_V, KC_Y, KC_D, KC_COMM, KC_QUOT |
148 | #define _____________CARPLAX_QGMLWY_L2_____________ KC_D, KC_S, KC_T, KC_N, KC_R | 153 | #define _________________WHITE_R2__________________ KC_A, KC_T, KC_H, KC_E, KC_B |
149 | #define _____________CARPLAX_QGMLWY_L3_____________ KC_Z, KC_X, KC_C, KC_V, KC_J | 154 | #define _________________WHITE_R3__________________ KC_P, KC_K, KC_G, KC_W, KC_Q |
150 | 155 | ||
151 | #define _____________CARPLAX_QGMLWY_R1_____________ KC_Y, KC_F, KC_U, KC_B, KC_SCLN | 156 | #define _________________WHITE_L1__________________ KC_INT1, KC_J, KC_M, KC_L, KC_U |
152 | #define _____________CARPLAX_QGMLWY_R2_____________ KC_I, KC_A, KC_E, KC_O, KC_H | 157 | #define _________________WHITE_L2__________________ KC_MINS, KC_C, KC_S, KC_N, KC_O, KC_I |
153 | #define _____________CARPLAX_QGMLWY_R3_____________ KC_K, KC_P, KC_COMM, KC_DOT, KC_SLSH | 158 | #define _________________WHITE_L3__________________ KC_X, KC_R, KC_F, KC_DOT, KC_Z |
154 | 159 | ||
155 | 160 | ||
156 | #define _________________WHITE_R1__________________ KC_V, KC_Y, KC_D, KC_COMM, KC_QUOT | 161 | #define _________________HALMAK_L1_________________ KC_W, KC_L, KC_R, KC_B, KC_Z |
157 | #define _________________WHITE_R2__________________ KC_A, KC_T, KC_H, KC_E, KC_B | 162 | #define _________________HALMAK_L2_________________ KC_S, KC_H, KC_N, KC_T, KC_COMM |
158 | #define _________________WHITE_R3__________________ KC_P, KC_K, KC_G, KC_W, KC_Q | 163 | #define _________________HALMAK_L3_________________ KC_F, KC_M, KC_V, KC_V, KC_SLASH |
159 | 164 | ||
160 | #define _________________WHITE_L1__________________ KC_INT1, KC_J, KC_M, KC_L, KC_U | 165 | #define _________________HALMAK_R1_________________ KC_SCLN, KC_Q, KC_U, KC_D, KC_J |
161 | #define _________________WHITE_L2__________________ KC_MINS, KC_C, KC_S, KC_N, KC_O // KC_I | 166 | #define _________________HALMAK_R2_________________ KC_DOT, KC_A, KC_E, KC_O, KC_I, KC_QUOTE |
162 | #define _________________WHITE_L3__________________ KC_X, KC_R, KC_F, KC_DOT, KC_Z | 167 | #define _________________HALMAK_R3_________________ KC_G, KC_P, KC_X, KC_K, KC_Y |
163 | 168 | ||
164 | 169 | ||
165 | #define _________________HALMAK_L1_________________ KC_W, KC_L, KC_R, KC_B, KC_Z | 170 | #define _________________HALMAK_L1_________________ KC_W, KC_L, KC_R, KC_B, KC_Z |
166 | #define _________________HALMAK_L2_________________ KC_S, KC_H, KC_N, KC_T, KC_COMM | 171 | #define _________________HALMAK_L2_________________ KC_S, KC_H, KC_N, KC_T, KC_COMM |
167 | #define _________________HALMAK_L3_________________ KC_F, KC_M, KC_V, KC_V, KC_SLASH | 172 | #define _________________HALMAK_L3_________________ KC_F, KC_M, KC_V, KC_V, KC_SLASH |
168 | 173 | ||
169 | #define _________________HALMAK_R1_________________ KC_SCLN, KC_Q, KC_U, KC_D, KC_J | 174 | #define _________________HALMAK_R1_________________ KC_SCLN, KC_Q, KC_U, KC_D, KC_J |
170 | #define _________________HALMAK_R2_________________ KC_DOT, KC_A, KC_E, KC_O, KC_I | 175 | #define _________________HALMAK_R2_________________ KC_DOT, KC_A, KC_E, KC_O, KC_I, KC_QUOTE |
171 | #define _________________HALMAK_R3_________________ KC_G, KC_P, KC_X, KC_K, KC_Y | 176 | #define _________________HALMAK_R3_________________ KC_G, KC_P, KC_X, KC_K, KC_Y |
172 | 177 | ||
173 | 178 | ||
174 | #define ________________NUMBER_LEFT________________ KC_1, KC_2, KC_3, KC_4, KC_5 | 179 | #define ________________NUMBER_LEFT________________ KC_1, KC_2, KC_3, KC_4, KC_5 |
@@ -185,7 +190,7 @@ NOTE: These are all the same length. If you do a search/replace | |||
185 | 190 | ||
186 | #define _________________LOWER_R1__________________ KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN | 191 | #define _________________LOWER_R1__________________ KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN |
187 | #define _________________LOWER_R2__________________ _______, KC_UNDS, KC_PLUS, KC_LCBR, KC_RCBR | 192 | #define _________________LOWER_R2__________________ _______, KC_UNDS, KC_PLUS, KC_LCBR, KC_RCBR |
188 | #define _________________LOWER_R3__________________ _______, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT | 193 | #define _________________LOWER_R3__________________ _______, KC_HOME, KC_PGDN, KC_PGUP, KC_END |
189 | 194 | ||
190 | 195 | ||
191 | 196 | ||
@@ -195,7 +200,7 @@ NOTE: These are all the same length. If you do a search/replace | |||
195 | 200 | ||
196 | #define _________________RAISE_R1__________________ ________________NUMBER_RIGHT_______________ | 201 | #define _________________RAISE_R1__________________ ________________NUMBER_RIGHT_______________ |
197 | #define _________________RAISE_R2__________________ _______, KC_MINS, KC_EQL, KC_LBRC, KC_RBRC | 202 | #define _________________RAISE_R2__________________ _______, KC_MINS, KC_EQL, KC_LBRC, KC_RBRC |
198 | #define _________________RAISE_R3__________________ _______, KC_HOME, KC_PGDN, KC_PGUP, KC_END | 203 | #define _________________RAISE_R3__________________ _______, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT |
199 | 204 | ||
200 | 205 | ||
201 | 206 | ||