summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorDrashna Jaelre <drashna@live.com>2021-10-15 22:30:23 -0700
committerGitHub <noreply@github.com>2021-10-15 22:30:23 -0700
commit9a0addc77e3e48b908b846fc78326d4a20c30bc9 (patch)
tree6174272f2946e0ac984a924d6f8b4af466baca7f
parenta8422cca0324ce61247dd0d8320a3d11a433cecf (diff)
[Keymap] Drashna Keymap Updates (#14842)
* Fix issues with user split transport code * Improve OLED (More font stuff, improved keylogger, etc) * Add `KEYLOCK` macro to disable USB, borrowed from command feature. * Convert Kyria fully to proton C (no more AVR kyria) * Add Work Louder Work Board keymap
-rw-r--r--keyboards/handwired/tractyl_manuform/5x6_right/keymaps/drashna/keymap.c2
-rw-r--r--keyboards/moonlander/keymaps/drashna/keymap.c2
-rw-r--r--keyboards/splitkb/kyria/keymaps/drashna/keymap.c4
-rw-r--r--keyboards/splitkb/kyria/keymaps/drashna/rules.mk40
-rw-r--r--keyboards/splitkb/zima/keymaps/drashna/config.h3
-rw-r--r--keyboards/work_louder/work_board/keymaps/drashna/config.h17
-rw-r--r--keyboards/work_louder/work_board/keymaps/drashna/keymap.c217
-rw-r--r--keyboards/work_louder/work_board/keymaps/drashna/rules.mk6
-rw-r--r--layouts/community/ergodox/drashna/keymap.c2
-rw-r--r--layouts/community/ortho_4x12/drashna/keymap.c2
-rw-r--r--layouts/community/ortho_5x12/drashna/keymap.c2
-rw-r--r--layouts/community/split_3x6_3/drashna/keymap.c2
-rw-r--r--users/drashna/drashna.c5
-rw-r--r--users/drashna/drashna_font.h1684
-rw-r--r--users/drashna/oled_stuff.c36
-rw-r--r--users/drashna/process_records.c19
-rw-r--r--users/drashna/process_records.h1
-rw-r--r--users/drashna/transport_sync.c20
-rw-r--r--users/drashna/transport_sync.h16
19 files changed, 1031 insertions, 1049 deletions
diff --git a/keyboards/handwired/tractyl_manuform/5x6_right/keymaps/drashna/keymap.c b/keyboards/handwired/tractyl_manuform/5x6_right/keymaps/drashna/keymap.c
index be2938ebf6..abfec41a62 100644
--- a/keyboards/handwired/tractyl_manuform/5x6_right/keymaps/drashna/keymap.c
+++ b/keyboards/handwired/tractyl_manuform/5x6_right/keymaps/drashna/keymap.c
@@ -117,7 +117,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
[_ADJUST] = LAYOUT_5x6_right_wrapper(
KC_MAKE, ___________________BLANK___________________, _________________ADJUST_R1_________________, KC_RST,
VRSN, _________________ADJUST_L1_________________, _________________ADJUST_R1_________________, EEP_RST,
- _______, _________________ADJUST_L2_________________, _________________ADJUST_R2_________________, TG_MODS,
+ KEYLOCK, _________________ADJUST_L2_________________, _________________ADJUST_R2_________________, TG_MODS,
UC_MOD, _________________ADJUST_L3_________________, _________________ADJUST_R3_________________, KC_MPLY,
HPT_DWLI, HPT_DWLD, TG_GAME, TG_DBLO,
HPT_TOG, HPT_BUZ, KC_NUKE,
diff --git a/keyboards/moonlander/keymaps/drashna/keymap.c b/keyboards/moonlander/keymaps/drashna/keymap.c
index f6af7e53af..257959c07f 100644
--- a/keyboards/moonlander/keymaps/drashna/keymap.c
+++ b/keyboards/moonlander/keymaps/drashna/keymap.c
@@ -105,7 +105,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
KC_MAKE, _________________FUNC_LEFT_________________, UC_MOD, KC_NUKE, _________________ADJUST_R1_________________, KC_RST,
VRSN, _________________ADJUST_L1_________________, _______, _______, _________________ADJUST_R1_________________, EEP_RST,
_______, _________________ADJUST_L2_________________, _______, _______, _________________ADJUST_R2_________________, RGB_IDL,
- _______, _________________ADJUST_L3_________________, _________________ADJUST_R3_________________, TG_MODS,
+ KEYLOCK, _________________ADJUST_L3_________________, _________________ADJUST_R3_________________, TG_MODS,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_PAUS,
_______, _______, _______, _______, _______, _______
),
diff --git a/keyboards/splitkb/kyria/keymaps/drashna/keymap.c b/keyboards/splitkb/kyria/keymaps/drashna/keymap.c
index 2dc9346442..6c7ac34d51 100644
--- a/keyboards/splitkb/kyria/keymaps/drashna/keymap.c
+++ b/keyboards/splitkb/kyria/keymaps/drashna/keymap.c
@@ -92,8 +92,8 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
[_ADJUST] = LAYOUT_wrapper(
KC_MAKE, _________________ADJUST_L1_________________, _________________ADJUST_R1_________________, KC_RESET,
VRSN, _________________ADJUST_L2_________________, _________________ADJUST_R2_________________, EEP_RST,
- _______, _________________ADJUST_L3_________________, HPT_TOG, HPT_FBK, MG_NKRO, UC_MOD, _________________ADJUST_R3_________________, TG_MODS,
- _______, _______, _______, KC_NUKE, _______, _______, _______, _______, _______, _______
+ UC_MOD, _________________ADJUST_L3_________________, HPT_TOG, HPT_FBK, MG_NKRO, UC_MOD, _________________ADJUST_R3_________________, TG_MODS,
+ _______, _______, KEYLOCK, KC_NUKE, _______, _______, _______, _______, _______, _______
),
// [_LAYERINDEX] = LAYOUT_wrapper(
// _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
diff --git a/keyboards/splitkb/kyria/keymaps/drashna/rules.mk b/keyboards/splitkb/kyria/keymaps/drashna/rules.mk
index b51cc1b626..6accf8cc03 100644
--- a/keyboards/splitkb/kyria/keymaps/drashna/rules.mk
+++ b/keyboards/splitkb/kyria/keymaps/drashna/rules.mk
@@ -1,23 +1,19 @@
-OLED_ENABLE = yes
-OLED_DRIVER = SSD1306 # Enables the use of OLED displays
-ENCODER_ENABLE = yes # ENables the use of one or more encoders
-RGBLIGHT_ENABLE = yes # Enable keyboard RGB underglow
-RGBLIGHT_STARTUP_ANIMATION = no
+BOOTMAGIC_ENABLE = yes # Enable Bootmagic Lite
+MOUSEKEY_ENABLE = yes # Mouse keys
+EXTRAKEY_ENABLE = yes # Audio control and System control
+CONSOLE_ENABLE = yes # Console for debug
+COMMAND_ENABLE = no # Commands for debug and configuration
+NKRO_ENABLE = yes # USB Nkey Rollover
+UNICODE_ENABLE = yes # Unicode
+OLED_ENABLE = yes
+OLED_DRIVER = SSD1306 # Enables the use of OLED displays
+ENCODER_ENABLE = yes # Enables the use of one or more encoders
-BOOTMAGIC_ENABLE = no # Enable Bootmagic Lite
-MOUSEKEY_ENABLE = no # Mouse keys
-EXTRAKEY_ENABLE = yes # Audio control and System control
-CONSOLE_ENABLE = no # Console for debug
-COMMAND_ENABLE = no # Commands for debug and configuration
-NKRO_ENABLE = yes # USB Nkey Rollover
-UNICODE_ENABLE = no # Unicode
-KEY_LOCK_ENABLE = no
-
-
-BOOTLOADER = hid
-BOOTLOADER_SIZE = 512
-PROGRAM_CMD = $(HID_BOOTLOADER_CLI) -mmcu=$(MCU) -w -v $(BUILD_DIR)/$(TARGET).hex
-# TAP_DANCE_ENABLE = yes
-
-WPM_ENABLE = yes
-SWAP_HANDS_ENABLE = yes
+RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow
+RGBLIGHT_STARTUP_ANIMATION = yes
+RGB_MATRIX_ENABLE = yes
+TAP_DANCE_ENABLE = yes
+KEY_LOCK_ENABLE = no
+WPM_ENABLE = yes
+SWAP_HANDS_ENABLE = yes
+LTO_ENABLE = no
diff --git a/keyboards/splitkb/zima/keymaps/drashna/config.h b/keyboards/splitkb/zima/keymaps/drashna/config.h
index 133ab6a914..8d0908182e 100644
--- a/keyboards/splitkb/zima/keymaps/drashna/config.h
+++ b/keyboards/splitkb/zima/keymaps/drashna/config.h
@@ -32,3 +32,6 @@
#define OLED_LOGO_SCIFI
#define ENCODER_RESOLUTION 2
+
+#define RGBLIGHT_DEFAULT_MODE RGBLIGHT_MODE_TWINKLE+4
+#define RGBLIGHT_DEFAULT_HUE 213
diff --git a/keyboards/work_louder/work_board/keymaps/drashna/config.h b/keyboards/work_louder/work_board/keymaps/drashna/config.h
new file mode 100644
index 0000000000..5ea4dc7e48
--- /dev/null
+++ b/keyboards/work_louder/work_board/keymaps/drashna/config.h
@@ -0,0 +1,17 @@
+/* Copyright 2020 Christopher Courtney, aka Drashna Jael're (@drashna) <drashna@live.com>
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ */
+
+#pragma once
diff --git a/keyboards/work_louder/work_board/keymaps/drashna/keymap.c b/keyboards/work_louder/work_board/keymaps/drashna/keymap.c
new file mode 100644
index 0000000000..fb86275da9
--- /dev/null
+++ b/keyboards/work_louder/work_board/keymaps/drashna/keymap.c
@@ -0,0 +1,217 @@
+/* Copyright 2020 Christopher Courtney, aka Drashna Jael're (@drashna) <drashna@live.com>
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ */
+
+#include "drashna.h"
+
+#define PLNK_1 SP_LWER
+#define PLNK_2 BK_LWER
+#define PLNK_3 DL_RAIS
+#define PLNK_4 ET_RAIS
+
+/*
+ * The `LAYOUT_ortho_4x12_base` macro is a template to allow the use of identical
+ * modifiers for the default layouts (eg QWERTY, Colemak, Dvorak, etc), so
+ * that there is no need to set them up for each layout, and modify all of
+ * them if I want to change them. This helps to keep consistency and ease
+ * of use. K## is a placeholder to pass through the individual keycodes
+ */
+// clang-format off
+#define LAYOUT_wrapper(...) LAYOUT(__VA_ARGS__)
+#define LAYOUT_base( \
+ K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, \
+ K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, \
+ K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A \
+ ) \
+ LAYOUT_wrapper( \
+ KC_ESC, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, KC_DEL, KC_MUTE, \
+ LALT_T(KC_TAB), K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, RALT_T(K1B), \
+ KC_MLSF, CTL_T(K21), K22, K23, K24, K25, K26, K27, K28, K29, RCTL_T(K2A), KC_ENT, \
+ OS_LSFT, OS_LCTL, OS_LALT, OS_LGUI, PLNK_1, PLNK_2, PLNK_3, PLNK_4, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT \
+ )
+#define LAYOUT_base_wrapper(...) LAYOUT_base(__VA_ARGS__)
+
+
+const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
+ [_DEFAULT_LAYER_1] = LAYOUT_base_wrapper(
+ _________________QWERTY_L1_________________, _________________QWERTY_R1_________________,
+ _________________QWERTY_L2_________________, _________________QWERTY_R2_________________,
+ _________________QWERTY_L3_________________, _________________QWERTY_R3_________________
+ ),
+
+ [_DEFAULT_LAYER_2] = LAYOUT_base_wrapper(
+ ______________COLEMAK_MOD_DH_L1____________, ______________COLEMAK_MOD_DH_R1____________,
+ ______________COLEMAK_MOD_DH_L2____________, ______________COLEMAK_MOD_DH_R2____________,
+ ______________COLEMAK_MOD_DH_L3____________, ______________COLEMAK_MOD_DH_R3____________
+ ),
+ [_DEFAULT_LAYER_3] = LAYOUT_base_wrapper(
+ _________________COLEMAK_L1________________, _________________COLEMAK_R1________________,
+ _________________COLEMAK_L2________________, _________________COLEMAK_R2________________,
+ _________________COLEMAK_L3________________, _________________COLEMAK_R3________________
+ ),
+
+ [_DEFAULT_LAYER_4] = LAYOUT_base_wrapper(
+ _________________DVORAK_L1_________________, _________________DVORAK_R1_________________,
+ _________________DVORAK_L2_________________, _________________DVORAK_R2_________________,
+ _________________DVORAK_L3_________________, _________________DVORAK_R3_________________
+ ),
+
+ [_LOWER] = LAYOUT_wrapper(
+ KC_TILD, _________________LOWER_L1__________________, _________________LOWER_R1__________________, KC_BSPC, _______,
+ KC_DEL, _________________LOWER_L2__________________, _________________LOWER_R2__________________, KC_PIPE,
+ _______, _________________LOWER_L3__________________, _________________LOWER_R3__________________, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
+ ),
+
+ [_RAISE] = LAYOUT_wrapper(
+ KC_GRV, _________________RAISE_L1__________________, _________________RAISE_R1__________________, KC_BSPC, _______,
+ KC_DEL, _________________RAISE_L2__________________, _________________RAISE_R2__________________, KC_BSLS,
+ _______, _________________RAISE_L3__________________, _________________RAISE_R3__________________, _______,
+ _______, _______, _______, _______, _______, _______, _______, _________________RAISE_R3__________________
+ ),
+
+ [_ADJUST] = LAYOUT_wrapper(
+ KC_MAKE, _________________ADJUST_L1_________________, _________________ADJUST_R1_________________, KC_RST, _______,
+ VRSN, _________________ADJUST_L2_________________, _________________ADJUST_R2_________________, EEP_RST,
+ _______, _________________ADJUST_L3_________________, _________________ADJUST_R3_________________, RGB_IDL,
+ KEYLOCK, _______, _______, _______, _______, KC_NUKE, _______, _______, _______, _______, _______, TG_MODS
+ )
+
+};
+
+#ifdef ENCODER_ENABLE
+# ifdef ENCODER_MAP_ENABLE
+const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][2] = {
+ [_DEFAULT_LAYER_1] = { { KC_DOWN, KC_UP } },
+ [_DEFAULT_LAYER_2] = { { _______, _______ } },
+ [_DEFAULT_LAYER_3] = { { _______, _______ } },
+ [_DEFAULT_LAYER_4] = { { _______, _______ } },
+ [_GAMEPAD] = { { _______, _______ } },
+ [_DIABLO] = { { _______, _______ } },
+ [_MOUSE] = { { KC_WH_D, KC_WH_U } },
+ [_MEDIA] = { { _______, _______ } },
+ [_RAISE] = { { KC_VOLD, KC_VOLU } },
+ [_LOWER] = { { RGB_MOD, RGB_RMOD} },
+ [_ADJUST] = { { CK_DOWN, CK_UP } },
+};
+// clang-format on
+# else
+bool encoder_update_user(uint8_t index, bool clockwise) {
+ switch (get_highest_layer(layer_state)) {
+ case _RAISE:
+ clockwise ? rgblight_step() : rgblight_step_reverse();
+ break;
+ case _LOWER:
+ clockwise ? rgb_matrix_step() : rgb_matrix_step_reverse();
+ break;
+ default:
+ clockwise ? tap_code(KC_VOLD) : tap_code(KC_VOLU);
+ break;
+ }
+ return false;
+}
+# endif // ENCODER_ENABLE
+
+#endif
+
+void rgb_matrix_indicators_user(void) {}
+
+void rgb_matrix_indicators_advanced_user(uint8_t led_min, uint8_t led_max) {
+ uint8_t this_mod = get_mods();
+ uint8_t this_led = host_keyboard_leds();
+ uint8_t this_osm = get_oneshot_mods();
+#define THUMB_LED 6
+#define RGB_MATRIX_INDICATOR_SET_COLOR_wrapper(...) RGB_MATRIX_INDICATOR_SET_COLOR(__VA_ARGS__)
+ if (!userspace_config.rgb_layer_change) {
+ switch (get_highest_layer(layer_state | default_layer_state)) {
+ case _GAMEPAD:
+ rgb_matrix_layer_helper(HSV_ORANGE, 1, rgb_matrix_config.speed, LED_FLAG_MODIFIER, led_min, led_max);
+ break;
+ case _DIABLO:
+ rgb_matrix_layer_helper(HSV_RED, 1, rgb_matrix_config.speed * 8, LED_FLAG_MODIFIER, led_min, led_max);
+ break;
+ case _RAISE:
+ rgb_matrix_layer_helper(HSV_YELLOW, 1, rgb_matrix_config.speed, LED_FLAG_MODIFIER, led_min, led_max);
+ break;
+ case _LOWER:
+ rgb_matrix_layer_helper(HSV_GREEN, 1, rgb_matrix_config.speed, LED_FLAG_MODIFIER, led_min, led_max);
+ break;
+ case _ADJUST:
+ rgb_matrix_layer_helper(HSV_RED, 1, rgb_matrix_config.speed, LED_FLAG_MODIFIER, led_min, led_max);
+ break;
+ case _DEFAULT_LAYER_1:
+ rgb_matrix_layer_helper(DEFAULT_LAYER_1_HSV, 0, rgb_matrix_config.speed, LED_FLAG_MODIFIER, led_min, led_max);
+ break;
+ case _DEFAULT_LAYER_2:
+ rgb_matrix_layer_helper(DEFAULT_LAYER_2_HSV, 0, rgb_matrix_config.speed, LED_FLAG_MODIFIER, led_min, led_max);
+ break;
+ case _DEFAULT_LAYER_3:
+ rgb_matrix_layer_helper(DEFAULT_LAYER_3_HSV, 0, rgb_matrix_config.speed, LED_FLAG_MODIFIER, led_min, led_max);
+ break;
+ case _DEFAULT_LAYER_4:
+ rgb_matrix_layer_helper(DEFAULT_LAYER_4_HSV, 0, rgb_matrix_config.speed, LED_FLAG_MODIFIER, led_min, led_max);
+ break;
+ }
+ }
+
+ extern bool host_driver_disabled;
+ if (host_driver_disabled) {
+ RGB_MATRIX_INDICATOR_SET_COLOR_wrapper(THUMB_LED, RGB_OFF);
+ } else {
+ switch (get_highest_layer(default_layer_state)) {
+ case _DEFAULT_LAYER_1:
+ RGB_MATRIX_INDICATOR_SET_COLOR_wrapper(THUMB_LED, DEFAULT_LAYER_1_RGB);
+ break;
+ case _DEFAULT_LAYER_2:
+ RGB_MATRIX_INDICATOR_SET_COLOR_wrapper(THUMB_LED, DEFAULT_LAYER_2_RGB);
+ break;
+ case _DEFAULT_LAYER_3:
+ RGB_MATRIX_INDICATOR_SET_COLOR_wrapper(THUMB_LED, DEFAULT_LAYER_3_RGB);
+ break;
+ case _DEFAULT_LAYER_4:
+ RGB_MATRIX_INDICATOR_SET_COLOR_wrapper(THUMB_LED, DEFAULT_LAYER_4_RGB);
+ break;
+ }
+ }
+
+ if ((this_mod | this_osm) & MOD_MASK_SHIFT || this_led & (1 << USB_LED_CAPS_LOCK)) {
+ if (!layer_state_is(_ADJUST)) {
+ RGB_MATRIX_INDICATOR_SET_COLOR(12, 0x00, 0xFF, 0x00);
+ RGB_MATRIX_INDICATOR_SET_COLOR(13, 0x00, 0xFF, 0x00);
+ }
+ RGB_MATRIX_INDICATOR_SET_COLOR(24, 0x00, 0xFF, 0x00);
+ }
+ if ((this_mod | this_osm) & MOD_MASK_CTRL) {
+ RGB_MATRIX_INDICATOR_SET_COLOR(11, 0xFF, 0x00, 0x00);
+ RGB_MATRIX_INDICATOR_SET_COLOR(23, 0xFF, 0x00, 0x00);
+ RGB_MATRIX_INDICATOR_SET_COLOR(14, 0xFF, 0x00, 0x00);
+ }
+ if ((this_mod | this_osm) & MOD_MASK_GUI) {
+ RGB_MATRIX_INDICATOR_SET_COLOR(9, 0xFF, 0xD9, 0x00);
+ }
+ if ((this_mod | this_osm) & MOD_MASK_ALT) {
+ RGB_MATRIX_INDICATOR_SET_COLOR(10, 0x00, 0x00, 0xFF);
+ RGB_MATRIX_INDICATOR_SET_COLOR(25, 0x00, 0x00, 0xFF);
+ RGB_MATRIX_INDICATOR_SET_COLOR(36, 0x00, 0x00, 0xFF);
+ }
+ if (layer_state_is(_LOWER)) {
+ RGB_MATRIX_INDICATOR_SET_COLOR(7, 0x00, 0xFF, 0x00);
+ RGB_MATRIX_INDICATOR_SET_COLOR(8, 0x00, 0xFF, 0x00);
+ }
+ if (layer_state_is(_RAISE)) {
+ RGB_MATRIX_INDICATOR_SET_COLOR(4, 0xFF, 0xFF, 0x00);
+ RGB_MATRIX_INDICATOR_SET_COLOR(5, 0xFF, 0xFF, 0x00);
+ }
+}
diff --git a/keyboards/work_louder/work_board/keymaps/drashna/rules.mk b/keyboards/work_louder/work_board/keymaps/drashna/rules.mk
new file mode 100644
index 0000000000..6a4558aa0e
--- /dev/null
+++ b/keyboards/work_louder/work_board/keymaps/drashna/rules.mk
@@ -0,0 +1,6 @@
+BOOTMAGIC_ENABLE = lite
+EXTRAKEY_ENABLE = yes
+TAP_DANCE_ENABLE = no
+NKRO_ENABLE = yes
+RGBLIGHT_STARTUP_ANIMATION = yes
+ENCODER_MAP_ENABLE = yes
diff --git a/layouts/community/ergodox/drashna/keymap.c b/layouts/community/ergodox/drashna/keymap.c
index 430328fed7..dd47899d7a 100644
--- a/layouts/community/ergodox/drashna/keymap.c
+++ b/layouts/community/ergodox/drashna/keymap.c
@@ -174,7 +174,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
KC_MAKE, _______, _______, _______, _______, _______, UC_MOD, KC_NUKE, _________________ADJUST_R1_________________, KC_RST,
VRSN, _________________ADJUST_L1_________________, _______, _______, _________________ADJUST_R1_________________, EEP_RST,
_______, _________________ADJUST_L2_________________, _________________ADJUST_R2_________________, RGB_IDL,
- _______, _________________ADJUST_L3_________________, _______, _______, _________________ADJUST_R3_________________, TG_MODS,
+ KEYLOCK, _________________ADJUST_L3_________________, _______, _______, _________________ADJUST_R3_________________, TG_MODS,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
_______, _______, _______, _______,
_______, _______,
diff --git a/layouts/community/ortho_4x12/drashna/keymap.c b/layouts/community/ortho_4x12/drashna/keymap.c
index cb3166c940..3ba9cf64f9 100644
--- a/layouts/community/ortho_4x12/drashna/keymap.c
+++ b/layouts/community/ortho_4x12/drashna/keymap.c
@@ -106,7 +106,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
KC_MAKE, _________________ADJUST_L1_________________, _________________ADJUST_R1_________________, KC_RST,
VRSN, _________________ADJUST_L2_________________, _________________ADJUST_R2_________________, EEP_RST,
TH_LVL, _________________ADJUST_L3_________________, _________________ADJUST_R3_________________, RGB_IDL,
- HPT_TOG, _______, _______, _______, _______, KC_NUKE, _______, _______, _______, _______, _______, TG_MODS
+ KEYLOCK, _______, _______, _______, _______, KC_NUKE, _______, _______, _______, _______, _______, TG_MODS
)
};
diff --git a/layouts/community/ortho_5x12/drashna/keymap.c b/layouts/community/ortho_5x12/drashna/keymap.c
index 01b06d627d..ab70be2822 100644
--- a/layouts/community/ortho_5x12/drashna/keymap.c
+++ b/layouts/community/ortho_5x12/drashna/keymap.c
@@ -124,7 +124,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
KC_MAKE, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_RST,
VRSN, _________________ADJUST_L1_________________, _________________ADJUST_R1_________________, EEP_RST,
_______, _________________ADJUST_L2_________________, _________________ADJUST_R2_________________, RGB_IDL,
- _______, _________________ADJUST_L3_________________, _________________ADJUST_R3_________________, TG_MODS,
+ KEYLOCK, _________________ADJUST_L3_________________, _________________ADJUST_R3_________________, TG_MODS,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
)
};
diff --git a/layouts/community/split_3x6_3/drashna/keymap.c b/layouts/community/split_3x6_3/drashna/keymap.c
index a3145a4044..7c31972e3f 100644
--- a/layouts/community/split_3x6_3/drashna/keymap.c
+++ b/layouts/community/split_3x6_3/drashna/keymap.c
@@ -89,7 +89,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
[_ADJUST] = LAYOUT_split_3x6_3_wrapper( \
KC_MAKE, _________________ADJUST_L1_________________, _________________ADJUST_R1_________________, KC_RESET,
VRSN, _________________ADJUST_L2_________________, _________________ADJUST_R2_________________, EEP_RST,
- MG_NKRO, _________________ADJUST_L3_________________, _________________ADJUST_R3_________________, RGB_IDL,
+ KEYLOCK, _________________ADJUST_L3_________________, _________________ADJUST_R3_________________, RGB_IDL,
HPT_TOG, KC_NUKE, _______, _______, TG_MODS, HPT_FBK
)
};
diff --git a/users/drashna/drashna.c b/users/drashna/drashna.c
index 871136c137..71539e8b80 100644
--- a/users/drashna/drashna.c
+++ b/users/drashna/drashna.c
@@ -103,8 +103,11 @@ void shutdown_user(void) {
#ifdef RGB_MATRIX_ENABLE
rgb_matrix_set_color_all(0xFF, 0x00, 0x00);
rgb_matrix_update_pwm_buffers();
-
#endif // RGB_MATRIX_ENABLE
+#ifdef OLED_ENABLE
+ oled_off();
+#endif
+
shutdown_keymap();
}
diff --git a/users/drashna/drashna_font.h b/users/drashna/drashna_font.h
index e9353e62a9..27dc8b1b5d 100644
--- a/users/drashna/drashna_font.h
+++ b/users/drashna/drashna_font.h
@@ -6,660 +6,559 @@
#if __has_include("../../../../Documents/qmk/oled_font.h")
# include "../../../../Documents/qmk/oled_font.h"
#else
+
+// additional fonts from
+// https://github.com/datacute/TinyOLED-Fonts
+
# include "progmem.h"
// clang-format off
static const unsigned char font[] PROGMEM = {
- 0x07, 0x08, 0x7F, 0x08, 0x07, 0x00, // 0x00 0
- 0x3E, 0x5B, 0x4F, 0x5B, 0x3E, 0x00, // 0x01 1
- 0x3E, 0x6B, 0x4F, 0x6B, 0x3E, 0x00, // 0x02 2
- 0x1C, 0x3E, 0x7C, 0x3E, 0x1C, 0x00, // 0x03 3 ♥
- 0x18, 0x3C, 0x7E, 0x3C, 0x18, 0x00, // 0x04 4 ♦
- 0x1C, 0x57, 0x7D, 0x57, 0x1C, 0x00, // 0x05 5 ♧
- 0x1C, 0x5E, 0x7F, 0x5E, 0x1C, 0x00, // 0x06 6 ♤
- 0x00, 0x18, 0x3C, 0x18, 0x00, 0x00, // 0x07 7
- 0xFF, 0xE7, 0xC3, 0xE7, 0xFF, 0x00, // 0x08 8
- 0x00, 0x18, 0x24, 0x18, 0x00, 0x00, // 0x09 9
- 0xFF, 0xE7, 0xDB, 0xE7, 0xFF, 0x00, // 0x0A 10
- 0x30, 0x48, 0x3A, 0x06, 0x0E, 0x00, // 0x0B 11 ♂
- 0x26, 0x29, 0x79, 0x29, 0x26, 0x00, // 0x0C 12 ♀
- 0x40, 0x7F, 0x05, 0x05, 0x07, 0x00, // 0x0D 13 ♪
- 0x40, 0x7F, 0x05, 0x25, 0x3F, 0x00, // 0x0E 14 ♫
- 0x5A, 0x3C, 0xE7, 0x3C, 0x5A, 0x00, // 0x0F 15
- 0x7F, 0x3E, 0x1C, 0x1C, 0x08, 0x00, // 0x10 16
- 0x08, 0x1C, 0x1C, 0x3E, 0x7F, 0x00, // 0x11 17
- 0x14, 0x22, 0x7F, 0x22, 0x14, 0x00, // 0x12 18 ↕
- 0x5F, 0x5F, 0x00, 0x5F, 0x5F, 0x00, // 0x13 19 ‼
- 0x06, 0x09, 0x7F, 0x01, 0x7F, 0x00, // 0x14 20 ¶
- 0x00, 0x66, 0x89, 0x95, 0x6A, 0x00, // 0x15 21 §
- 0x60, 0x60, 0x60, 0x60, 0x60, 0x00, // 0x16 22 _
- 0x94, 0xA2, 0xFF, 0xA2, 0x94, 0x00, // 0x17 23 ↨
- 0x08, 0x04, 0x7E, 0x04, 0x08, 0x00, // 0x18 24 ↑
- 0x10, 0x20, 0x7E, 0x20, 0x10, 0x00, // 0x19 25 ↓
- 0x08, 0x08, 0x2A, 0x1C, 0x08, 0x00, // 0x1A 26 →
- 0x08, 0x1C, 0x2A, 0x08, 0x08, 0x00, // 0x1B 27 ←
- 0x1E, 0x10, 0x10, 0x10, 0x10, 0x00, // 0x1C 28 ⌙h
- 0x0C, 0x1E, 0x0C, 0x1E, 0x0C, 0x00, // 0x1D 29 ↭
- 0x30, 0x38, 0x3E, 0x38, 0x30, 0x00, // 0x1E 30
- 0x06, 0x0E, 0x3E, 0x0E, 0x06, 0x00, // 0x1F 31
+ 0x07, 0x08, 0x7F, 0x08, 0x07, 0x00,
+ 0x3E, 0x5B, 0x4F, 0x5B, 0x3E, 0x00,
+ 0x3E, 0x6B, 0x4F, 0x6B, 0x3E, 0x00,
+ 0x1C, 0x3E, 0x7C, 0x3E, 0x1C, 0x00,
+ 0x18, 0x3C, 0x7E, 0x3C, 0x18, 0x00,
+ 0x1C, 0x57, 0x7D, 0x57, 0x1C, 0x00,
+ 0x1C, 0x5E, 0x7F, 0x5E, 0x1C, 0x00,
+ 0x00, 0x18, 0x3C, 0x18, 0x00, 0x00,
+ 0xFF, 0xE7, 0xC3, 0xE7, 0xFF, 0x00,
+ 0x00, 0x18, 0x24, 0x18, 0x00, 0x00,
+ 0xFF, 0xE7, 0xDB, 0xE7, 0xFF, 0x00,
+ 0x30, 0x48, 0x3A, 0x06, 0x0E, 0x00,
+ 0x26, 0x29, 0x79, 0x29, 0x26, 0x00,
+ 0x40, 0x7F, 0x05, 0x05, 0x07, 0x00,
+ 0x40, 0x7F, 0x05, 0x25, 0x3F, 0x00,
+ 0x5A, 0x3C, 0xE7, 0x3C, 0x5A, 0x00,
+ 0x7F, 0x3E, 0x1C, 0x1C, 0x08, 0x00,
+ 0x08, 0x1C, 0x1C, 0x3E, 0x7F, 0x00,
+ 0x14, 0x22, 0x7F, 0x22, 0x14, 0x00,
+ 0x5F, 0x5F, 0x00, 0x5F, 0x5F, 0x00,
+ 0x06, 0x09, 0x7F, 0x01, 0x7F, 0x00,
+ 0x00, 0x66, 0x89, 0x95, 0x6A, 0x00,
+ 0x60, 0x60, 0x60, 0x60, 0x60, 0x00,
+ 0x94, 0xA2, 0xFF, 0xA2, 0x94, 0x00,
+ 0x08, 0x04, 0x7E, 0x04, 0x08, 0x00,
+ 0x10, 0x20, 0x7E, 0x20, 0x10, 0x00,
+ 0x08, 0x08, 0x2A, 0x1C, 0x08, 0x00,
+ 0x08, 0x1C, 0x2A, 0x08, 0x08, 0x00,
+ 0x1E, 0x10, 0x10, 0x10, 0x10, 0x00,
+ 0x0C, 0x1E, 0x0C, 0x1E, 0x0C, 0x00,
+ 0x30, 0x38, 0x3E, 0x38, 0x30, 0x00,
+ 0x06, 0x0E, 0x3E, 0x0E, 0x06, 0x00,
+
# if defined(OLED_FONT_5X5)
- 0x00,0x00,0x00,0x00,0x00,0x00, // 0x20 32
- 0x5c,0x00,0x00,0x00,0x00,0x00, // 0x21 33 !
- 0x06,0x00,0x06,0x00,0x00,0x00, // 0x22 34 "
- 0x28,0x7c,0x28,0x7c,0x28,0x00, // 0x23 35 #
- 0x5c,0x54,0xfe,0x54,0x74,0x00, // 0x24 36 $
- 0x44,0x20,0x10,0x08,0x44,0x00, // 0x25 37 %
- 0x28,0x54,0x54,0x20,0x50,0x00, // 0x26 38 &
- 0x06,0x00,0x00,0x00,0x00,0x00, // 0x27 39 '
- 0x38,0x44,0x00,0x00,0x00,0x00, // 0x28 40 (
- 0x44,0x38,0x00,0x00,0x00,0x00, // 0x29 41 )
- 0x02,0x07,0x02,0x00,0x00,0x00, // 0x2A 42 *
- 0x10,0x10,0x7c,0x10,0x10,0x00, // 0x2B 43 +
- 0xc0,0x00,0x00,0x00,0x00,0x00, // 0x2C 44 ,
- 0x10,0x10,0x10,0x10,0x10,0x00, // 0x2D 45 -
- 0x40,0x00,0x00,0x00,0x00,0x00, // 0x2E 46 .
- 0x60,0x10,0x0c,0x00,0x00,0x00, // 0x2F 47 /
- 0x7c,0x64,0x54,0x4c,0x7c,0x00, // 0x30 48 0
- 0x48,0x7c,0x40,0x00,0x00,0x00, // 0x31 49 1
- 0x64,0x54,0x54,0x54,0x48,0x00, // 0x32 50 2
- 0x44,0x54,0x54,0x54,0x6c,0x00, // 0x33 51 3
- 0x3c,0x20,0x70,0x20,0x20,0x00, // 0x34 52 4
- 0x5c,0x54,0x54,0x54,0x24,0x00, // 0x35 53 5
- 0x7c,0x54,0x54,0x54,0x74,0x00, // 0x36 54 6
- 0x04,0x04,0x64,0x14,0x0c,0x00, // 0x37 55 7
- 0x7c,0x54,0x54,0x54,0x7c,0x00, // 0x38 56 8
- 0x5c,0x54,0x54,0x54,0x7c,0x00, // 0x39 57 9
- 0x44,0x00,0x00,0x00,0x00,0x00, // 0x3A 58 :
- 0xc4,0x00,0x00,0x00,0x00,0x00, // 0x3B 59 ;
- 0x10,0x28,0x44,0x00,0x00,0x00, // 0x3C 60 <
- 0x28,0x28,0x28,0x28,0x28,0x00, // 0x3D 61 =
- 0x44,0x28,0x10,0x00,0x00,0x00, // 0x3E 62 >
- 0x08,0x04,0x54,0x08,0x00,0x00, // 0x3F 63 ?
- 0x7c,0x44,0x54,0x54,0x5c,0x00, // 0x40 64 @
- 0x7c,0x24,0x24,0x24,0x7c,0x00, // 0x41 65 A
- 0x7c,0x54,0x54,0x54,0x6c,0x00, // 0x42 66 B
- 0x7c,0x44,0x44,0x44,0x44,0x00, // 0x43 67 C
- 0x7c,0x44,0x44,0x44,0x38,0x00, // 0x44 68 D
- 0x7c,0x54,0x54,0x54,0x44,0x00, // 0x45 69 E
- 0x7c,0x14,0x14,0x14,0x04,0x00, // 0x46 70 F
- 0x7c,0x44,0x44,0x54,0x74,0x00, // 0x47 71 G
- 0x7c,0x10,0x10,0x10,0x7c,0x00, // 0x48 72 H
- 0x44,0x44,0x7c,0x44,0x44,0x00, // 0x49 73 I
- 0x60,0x40,0x40,0x44,0x7c,0x00, // 0x4A 74 J
- 0x7c,0x10,0x10,0x28,0x44,0x00, // 0x4B 75 K
- 0x7c,0x40,0x40,0x40,0x40,0x00, // 0x4C 76 L
- 0x7c,0x08,0x10,0x08,0x7c,0x00, // 0x4D 77 M
- 0x7c,0x08,0x10,0x20,0x7c,0x00, // 0x4E 78 N
- 0x38,0x44,0x44,0x44,0x38,0x00, // 0x4F 79 O
- 0x7c,0x14,0x14,0x14,0x08,0x00, // 0x50 80 P
- 0x3c,0x24,0x64,0x24,0x3c,0x00, // 0x51 81 Q
- 0x7c,0x14,0x14,0x14,0x68,0x00, // 0x52 82 R
- 0x5c,0x54,0x54,0x54,0x74,0x00, // 0x53 83 S
- 0x04,0x04,0x7c,0x04,0x04,0x00, // 0x54 84 T
- 0x7c,0x40,0x40,0x40,0x7c,0x00, // 0x55 85 U
- 0x0c,0x30,0x40,0x30,0x0c,0x00, // 0x56 86 V
- 0x3c,0x40,0x30,0x40,0x3c,0x00, // 0x57 87 W
- 0x44,0x28,0x10,0x28,0x44,0x00, // 0x58 88 X
- 0x0c,0x10,0x60,0x10,0x0c,0x00, // 0x59 89 Y
- 0x44,0x64,0x54,0x4c,0x44,0x00, // 0x5A 90 Z
- 0x7c,0x44,0x00,0x00,0x00,0x00, // 0x5B 91 [
- 0x0c,0x10,0x60,0x00,0x00,0x00, // 0x5C 92 \ backslash
- 0x44,0x7c,0x00,0x00,0x00,0x00, // 0x5D 93 ]
- 0x00,0x01,0x00,0x01,0x00,0x00, // 0x5E 94 ^
- 0x40,0x40,0x40,0x40,0x40,0x40, // 0x5F 95 _
- 0x00,0x01,0x00,0x00,0x00,0x00, // 0x60 96 `
- 0x7c,0x24,0x24,0x24,0x7c,0x00, // 0x61 97 a
- 0x7c,0x54,0x54,0x54,0x6c,0x00, // 0x62 98 b
- 0x7c,0x44,0x44,0x44,0x44,0x00, // 0x63 99 c
- 0x7c,0x44,0x44,0x44,0x38,0x00, // 0x64 100 d
- 0x7c,0x54,0x54,0x54,0x44,0x00, // 0x65 101 e
- 0x7c,0x14,0x14,0x14,0x04,0x00, // 0x66 102 f
- 0x7c,0x44,0x44,0x54,0x74,0x00, // 0x67 103 g
- 0x7c,0x10,0x10,0x10,0x7c,0x00, // 0x68 104 h
- 0x44,0x44,0x7c,0x44,0x44,0x00, // 0x69 105 i
- 0x60,0x40,0x40,0x44,0x7c,0x00, // 0x6A 106 j
- 0x7c,0x10,0x10,0x28,0x44,0x00, // 0x6B 107 k
- 0x7c,0x40,0x40,0x40,0x40,0x00, // 0x6C 108 l
- 0x7c,0x08,0x10,0x08,0x7c,0x00, // 0x6D 109 m
- 0x7c,0x08,0x10,0x20,0x7c,0x00, // 0x6E 110 n
- 0x38,0x44,0x44,0x44,0x38,0x00, // 0x6F 111 o
- 0x7c,0x14,0x14,0x14,0x08,0x00, // 0x70 112 p
- 0x3c,0x24,0x64,0x24,0x3c,0x00, // 0x71 113 q
- 0x7c,0x14,0x14,0x14,0x68,0x00, // 0x72 114 r
- 0x5c,0x54,0x54,0x54,0x74,0x00, // 0x73 115 s
- 0x04,0x04,0x7c,0x04,0x04,0x00, // 0x74 116 t
- 0x7c,0x40,0x40,0x40,0x7c,0x00, // 0x75 117 u
- 0x0c,0x30,0x40,0x30,0x0c,0x00, // 0x76 118 v
- 0x3c,0x40,0x30,0x40,0x3c,0x00, // 0x77 119 w
- 0x44,0x28,0x10,0x28,0x44,0x00, // 0x78 120 x
- 0x0c,0x10,0x60,0x10,0x0c,0x00, // 0x79 121 y
- 0x44,0x64,0x54,0x4c,0x44,0x00, // 0x7A 122 z
- 0x10,0x7c,0x44,0x00,0x00,0x00, // 0x7B 123 {
- 0x6c,0x00,0x00,0x00,0x00,0x00, // 0x7C 124 |
- 0x44,0x7c,0x10,0x00,0x00,0x00, // 0x7D 125 }
- 0x02,0x01,0x02,0x01,0x00,0x00, // 0x7E 126 ~
- 0x00,0x00,0x00,0x00,0x00,0x00, // 0x7F 127
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x5c, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x06, 0x00, 0x06, 0x00, 0x00, 0x00,
+ 0x28, 0x7c, 0x28, 0x7c, 0x28, 0x00,
+ 0x5c, 0x54, 0xfe, 0x54, 0x74, 0x00,
+ 0x44, 0x20, 0x10, 0x08, 0x44, 0x00,
+ 0x28, 0x54, 0x54, 0x20, 0x50, 0x00,
+ 0x06, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x38, 0x44, 0x00, 0x00, 0x00, 0x00,
+ 0x44, 0x38, 0x00, 0x00, 0x00, 0x00,
+ 0x02, 0x07, 0x02, 0x00, 0x00, 0x00,
+ 0x10, 0x10, 0x7c, 0x10, 0x10, 0x00,
+ 0xc0, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x10, 0x10, 0x10, 0x10, 0x10, 0x00,
+ 0x40, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x60, 0x10, 0x0c, 0x00, 0x00, 0x00,
+ 0x7c, 0x64, 0x54, 0x4c, 0x7c, 0x00,
+ 0x48, 0x7c, 0x40, 0x00, 0x00, 0x00,
+ 0x64, 0x54, 0x54, 0x54, 0x48, 0x00,
+ 0x44, 0x54, 0x54, 0x54, 0x6c, 0x00,
+ 0x3c, 0x20, 0x70, 0x20, 0x20, 0x00,
+ 0x5c, 0x54, 0x54, 0x54, 0x24, 0x00,
+ 0x7c, 0x54, 0x54, 0x54, 0x74, 0x00,
+ 0x04, 0x04, 0x64, 0x14, 0x0c, 0x00,
+ 0x7c, 0x54, 0x54, 0x54, 0x7c, 0x00,
+ 0x5c, 0x54, 0x54, 0x54, 0x7c, 0x00,
+ 0x44, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0xc4, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x10, 0x28, 0x44, 0x00, 0x00, 0x00,
+ 0x28, 0x28, 0x28, 0x28, 0x28, 0x00,
+ 0x44, 0x28, 0x10, 0x00, 0x00, 0x00,
+ 0x08, 0x04, 0x54, 0x08, 0x00, 0x00,
+ 0x7c, 0x44, 0x54, 0x54, 0x5c, 0x00,
+ 0x7c, 0x24, 0x24, 0x24, 0x7c, 0x00,
+ 0x7c, 0x54, 0x54, 0x54, 0x6c, 0x00,
+ 0x7c, 0x44, 0x44, 0x44, 0x44, 0x00,
+ 0x7c, 0x44, 0x44, 0x44, 0x38, 0x00,
+ 0x7c, 0x54, 0x54, 0x54, 0x44, 0x00,
+ 0x7c, 0x14, 0x14, 0x14, 0x04, 0x00,
+ 0x7c, 0x44, 0x44, 0x54, 0x74, 0x00,
+ 0x7c, 0x10, 0x10, 0x10, 0x7c, 0x00,
+ 0x44, 0x44, 0x7c, 0x44, 0x44, 0x00,
+ 0x60, 0x40, 0x40, 0x44, 0x7c, 0x00,
+ 0x7c, 0x10, 0x10, 0x28, 0x44, 0x00,
+ 0x7c, 0x40, 0x40, 0x40, 0x40, 0x00,
+ 0x7c, 0x08, 0x10, 0x08, 0x7c, 0x00,
+ 0x7c, 0x08, 0x10, 0x20, 0x7c, 0x00,
+ 0x38, 0x44, 0x44, 0x44, 0x38, 0x00,
+ 0x7c, 0x14, 0x14, 0x14, 0x08, 0x00,
+ 0x3c, 0x24, 0x64, 0x24, 0x3c, 0x00,
+ 0x7c, 0x14, 0x14, 0x14, 0x68, 0x00,
+ 0x5c, 0x54, 0x54, 0x54, 0x74, 0x00,
+ 0x04, 0x04, 0x7c, 0x04, 0x04, 0x00,
+ 0x7c, 0x40, 0x40, 0x40, 0x7c, 0x00,
+ 0x0c, 0x30, 0x40, 0x30, 0x0c, 0x00,
+ 0x3c, 0x40, 0x30, 0x40, 0x3c, 0x00,
+ 0x44, 0x28, 0x10, 0x28, 0x44, 0x00,
+ 0x0c, 0x10, 0x60, 0x10, 0x0c, 0x00,
+ 0x44, 0x64, 0x54, 0x4c, 0x44, 0x00,
+ 0x7c, 0x44, 0x00, 0x00, 0x00, 0x00,
+ 0x0c, 0x10, 0x60, 0x00, 0x00, 0x00,
+ 0x44, 0x7c, 0x00, 0x00, 0