~ruther/qmk_firmware

9a0addc77e3e48b908b846fc78326d4a20c30bc9 — Drashna Jaelre 3 years ago a8422cc
[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
M keyboards/handwired/tractyl_manuform/5x6_right/keymaps/drashna/keymap.c => keyboards/handwired/tractyl_manuform/5x6_right/keymaps/drashna/keymap.c +1 -1
@@ 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,

M keyboards/moonlander/keymaps/drashna/keymap.c => keyboards/moonlander/keymaps/drashna/keymap.c +1 -1
@@ 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,
                                            _______, _______, _______,        _______, _______, _______
    ),

M keyboards/splitkb/kyria/keymaps/drashna/keymap.c => keyboards/splitkb/kyria/keymaps/drashna/keymap.c +2 -2
@@ 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(
//       _______, _______, _______, _______, _______, _______,                                       _______, _______, _______, _______, _______, _______,

M keyboards/splitkb/kyria/keymaps/drashna/rules.mk => keyboards/splitkb/kyria/keymaps/drashna/rules.mk +18 -22
@@ 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

M keyboards/splitkb/zima/keymaps/drashna/config.h => keyboards/splitkb/zima/keymaps/drashna/config.h +3 -0
@@ 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

A keyboards/work_louder/work_board/keymaps/drashna/config.h => keyboards/work_louder/work_board/keymaps/drashna/config.h +17 -0
@@ 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

A keyboards/work_louder/work_board/keymaps/drashna/keymap.c => keyboards/work_louder/work_board/keymaps/drashna/keymap.c +217 -0
@@ 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);
    }
}

A keyboards/work_louder/work_board/keymaps/drashna/rules.mk => keyboards/work_louder/work_board/keymaps/drashna/rules.mk +6 -0
@@ 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

M layouts/community/ergodox/drashna/keymap.c => layouts/community/ergodox/drashna/keymap.c +1 -1
@@ 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,
             _______, _______, _______, _______, _______,                                                     _______, _______, _______, _______, _______,
                                                          _______, _______,                 _______, _______,
                                                                   _______,                 _______,

M layouts/community/ortho_4x12/drashna/keymap.c => layouts/community/ortho_4x12/drashna/keymap.c +1 -1
@@ 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
  )

};

M layouts/community/ortho_5x12/drashna/keymap.c => layouts/community/ortho_5x12/drashna/keymap.c +1 -1
@@ 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,
  _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
)
};

M layouts/community/split_3x6_3/drashna/keymap.c => layouts/community/split_3x6_3/drashna/keymap.c +1 -1
@@ 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
  )
};

M users/drashna/drashna.c => users/drashna/drashna.c +4 -1
@@ 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();
}


M users/drashna/drashna_font.h => users/drashna/drashna_font.h +693 -991
@@ 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, 0x00, 0x00,
    0x00, 0x01, 0x00, 0x01, 0x00, 0x00,
    0x40, 0x40, 0x40, 0x40, 0x40, 0x40,
    0x00, 0x01, 0x00, 0x00, 0x00, 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,
    0x10, 0x7c, 0x44, 0x00, 0x00, 0x00,
    0x6c, 0x00, 0x00, 0x00, 0x00, 0x00,
    0x44, 0x7c, 0x10, 0x00, 0x00, 0x00,
    0x02, 0x01, 0x02, 0x01, 0x00, 0x00,
    0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
#    lif defined(OLED_FONT_AZTECH)
    0x00,0x00,0x00,0x00,0x00,0x00, // 0x20 32
    0x00,0x2e,0x00,0x00,0x00,0x00, // 0x21 33 !
    0x00,0x02,0x00,0x02,0x00,0x00, // 0x22 34 "
    0x00,0x0a,0x1e,0x0a,0x1e,0x00, // 0x23 35 #
    0x00,0x0e,0x2a,0x6b,0x2a,0x3a, // 0x24 36 $
    0x00,0x06,0x06,0x26,0x18,0x06, // 0x25 37 %
    0x38,0x3e,0x2a,0x2a,0x28,0x38, // 0x26 38 &
    0x18,0x02,0x00,0x00,0x00,0x00, // 0x27 39 '
    0x00,0x3e,0x22,0x00,0x00,0x00, // 0x28 40 (
    0x00,0x22,0x3e,0x00,0x00,0x00, // 0x29 41 )
    0x00,0x0e,0x0e,0x0e,0x04,0x00, // 0x2A 42 *
    0x00,0x08,0x1c,0x08,0x00,0x00, // 0x2B 43 +
    0x00,0x20,0x00,0x00,0x00,0x00, // 0x2C 44 ,
    0x00,0x08,0x08,0x08,0x00,0x00, // 0x2D 45 -
    0x00,0x20,0x00,0x00,0x00,0x00, // 0x2E 46 .
    0x00,0x20,0x18,0x06,0x00,0x00, // 0x2F 47 /
    0x00,0x3e,0x22,0x2a,0x22,0x3e, // 0x30 48 0
    0x02,0x3e,0x00,0x00,0x00,0x00, // 0x31 49 1
    0x00,0x38,0x28,0x2a,0x2a,0x2e, // 0x32 50 2
    0x00,0x22,0x2a,0x2e,0x38,0x00, // 0x33 51 3
    0x00,0x0e,0x08,0x08,0x3e,0x08, // 0x34 52 4
    0x00,0x2e,0x2a,0x2a,0x28,0x38, // 0x35 53 5
    0x00,0x3e,0x2a,0x2a,0x28,0x38, // 0x36 54 6
    0x00,0x06,0x02,0x02,0x0a,0x3e, // 0x37 55 7
    0x00,0x38,0x2e,0x2a,0x2e,0x38, // 0x38 56 8
    0x00,0x0e,0x0a,0x2a,0x2a,0x3e, // 0x39 57 9
    0x00,0x28,0x00,0x00,0x00,0x00, // 0x3A 58 :
    0x00,0x28,0x00,0x00,0x00,0x00, // 0x3B 59 ;
    0x00,0x08,0x14,0x22,0x00,0x00, // 0x3C 60 <
    0x00,0x14,0x14,0x14,0x14,0x00, // 0x3D 61 =
    0x00,0x22,0x14,0x08,0x00,0x00, // 0x3E 62 >
    0x00,0x06,0x02,0x2a,0x0a,0x06, // 0x3F 63 ?
    0x00,0x3e,0x02,0x3a,0x2a,0x0a, // 0x40 64 @
    0x22,0x3e,0x02,0x0a,0x0a,0x3e, // 0x41 65 A
    0x00,0x3e,0x22,0x2a,0x2e,0x38, // 0x42 66 B
    0x00,0x3e,0x22,0x22,0x20,0x30, // 0x43 67 C
    0x00,0x3e,0x22,0x22,0x22,0x3c, // 0x44 68 D
    0x00,0x3e,0x2a,0x22,0x20,0x30, // 0x45 69 E
    0x00,0x3e,0x0a,0x0a,0x06,0x02, // 0x46 70 F
    0x00,0x3e,0x22,0x2a,0x28,0x38, // 0x47 71 G
    0x00,0x3e,0x08,0x08,0x08,0x3e, // 0x48 72 H
    0x00,0x22,0x3e,0x22,0x00,0x00, // 0x49 73 I
    0x00,0x30,0x20,0x20,0x22,0x3e, // 0x4A 74 J
    0x00,0x3e,0x08,0x08,0x0e,0x38, // 0x4B 75 K
    0x00,0x3e,0x20,0x20,0x20,0x30, // 0x4C 76 L
    0x00,0x3e,0x02,0x3e,0x20,0x3e, // 0x4D 77 M
    0x3e,0x3e,0x02,0x3e,0x20,0x3e, // 0x4E 78 N
    0x00,0x3e,0x22,0x22,0x22,0x3e, // 0x4F 79 O
    0x00,0x3e,0x02,0x0a,0x0a,0x0e, // 0x50 80 P
    0x00,0x3e,0x22,0x22,0x22,0x3e, // 0x51 81 Q
    0x00,0x3e,0x02,0x0a,0x0e,0x38, // 0x52 82 R
    0x00,0x0e,0x0a,0x2a,0x2a,0x3a, // 0x53 83 S
    0x00,0x06,0x02,0x3e,0x02,0x06, // 0x54 84 T
    0x00,0x3e,0x20,0x20,0x20,0x3e, // 0x55 85 U
    0x00,0x3e,0x20,0x20,0x3e,0x00, // 0x56 86 V
    0x00,0x3e,0x20,0x3e,0x02,0x3e, // 0x57 87 W
    0x3e,0x3a,0x0e,0x08,0x0e,0x3a, // 0x58 88 X
    0x00,0x0e,0x08,0x08,0x28,0x3e, // 0x59 89 Y
    0x00,0x3a,0x2a,0x2a,0x0a,0x0e, // 0x5A 90 Z
    0x00,0x3e,0x22,0x00,0x00,0x00, // 0x5B 91 [
    0x00,0x02,0x0c,0x30,0x00,0x00, // 0x5C 92 \ backslash
    0x22,0x3e,0x00,0x00,0x00,0x00, // 0x5D 93 ]
    0x00,0x01,0x00,0x01,0x00,0x00, // 0x5E 94 ^
    0x00,0x20,0x20,0x20,0x00,0x00, // 0x5F 95 _
    0x00,0x01,0x00,0x00,0x00,0x00, // 0x60 96 `
    0x00,0x38,0x28,0x28,0x08,0x38, // 0x61 97 a
    0x00,0x3e,0x20,0x28,0x28,0x38, // 0x62 98 b
    0x00,0x38,0x28,0x28,0x20,0x30, // 0x63 99 c
    0x00,0x38,0x28,0x28,0x20,0x3e, // 0x64 100 d
    0x00,0xf8,0x88,0x28,0x28,0x38, // 0x65 101 e
    0x00,0xf8,0x28,0x28,0x18,0x08, // 0x66 102 f
    0x00,0x38,0x28,0xa8,0x88,0xf8, // 0x67 103 g
    0x00,0x3c,0x08,0x08,0x08,0x38, // 0x68 104 h
    0x00,0x3a,0x00,0x00,0x00,0x00, // 0x69 105 i
    0x80,0xfa,0x00,0x00,0x00,0x00, // 0x6A 106 j
    0x00,0x3e,0x08,0x08,0x38,0x2c, // 0x6B 107 k
    0x00,0x3e,0x20,0x00,0x00,0x00, // 0x6C 108 l
    0x00,0x38,0x08,0x38,0x20,0x38, // 0x6D 109 m
    0x38,0x38,0x08,0x38,0x20,0x38, // 0x6E 110 n
    0x00,0x38,0x28,0x28,0x28,0x38, // 0x6F 111 o
    0x00,0xf8,0x08,0x28,0x28,0x38, // 0x70 112 p
    0x00,0x38,0x28,0x28,0x08,0xf8, // 0x71 113 q
    0x00,0x38,0x08,0x08,0x18,0x08, // 0x72 114 r
    0x00,0x38,0x28,0xa8,0xa8,0xe8, // 0x73 115 s
    0x00,0x3e,0x28,0x28,0x20,0x30, // 0x74 116 t
    0x00,0x38,0x20,0x20,0x20,0x38, // 0x75 117 u
    0x00,0x38,0x20,0x38,0x00,0x00, // 0x76 118 v
    0x00,0x38,0x20,0x38,0x08,0x38, // 0x77 119 w
    0x38,0x28,0x38,0x10,0x38,0x28, // 0x78 120 x
    0x00,0x38,0x20,0xa0,0xa0,0xf8, // 0x79 121 y
    0x00,0xe8,0xa8,0xa8,0x28,0x38, // 0x7A 122 z
    0x08,0x3e,0x22,0x00,0x00,0x00, // 0x7B 123 {
    0x00,0x3f,0x00,0x00,0x00,0x00, // 0x7C 124 |
    0x22,0x3e,0x08,0x00,0x00,0x00, // 0x7D 125 }
    0x00,0x00,0x00,0x00,0x00,0x00, // 0x7E 126 ~
    0x00,0x00,0x00,0x00,0x00,0x00, // 0x7F 127
    0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
    0x00, 0x2e, 0x00, 0x00, 0x00, 0x00,
    0x00, 0x02, 0x00, 0x02, 0x00, 0x00,
    0x00, 0x0a, 0x1e, 0x0a, 0x1e, 0x00,
    0x00, 0x0e, 0x2a, 0x6b, 0x2a, 0x3a,
    0x00, 0x06, 0x06, 0x26, 0x18, 0x06,
    0x38, 0x3e, 0x2a, 0x2a, 0x28, 0x38,
    0x18, 0x02, 0x00, 0x00, 0x00, 0x00,
    0x00, 0x3e, 0x22, 0x00, 0x00, 0x00,
    0x00, 0x22, 0x3e, 0x00, 0x00, 0x00,
    0x00, 0x0e, 0x0e, 0x0e, 0x04, 0x00,
    0x00, 0x08, 0x1c, 0x08, 0x00, 0x00,
    0x00, 0x20, 0x00, 0x00, 0x00, 0x00,
    0x00, 0x08, 0x08, 0x08, 0x00, 0x00,
    0x00, 0x20, 0x00, 0x00, 0x00, 0x00,
    0x00, 0x20, 0x18, 0x06, 0x00, 0x00,
    0x00, 0x3e, 0x22, 0x2a, 0x22, 0x3e,
    0x02, 0x3e, 0x00, 0x00, 0x00, 0x00,
    0x00, 0x38, 0x28, 0x2a, 0x2a, 0x2e,
    0x00, 0x22, 0x2a, 0x2e, 0x38, 0x00,
    0x00, 0x0e, 0x08, 0x08, 0x3e, 0x08,
    0x00, 0x2e, 0x2a, 0x2a, 0x28, 0x38,
    0x00, 0x3e, 0x2a, 0x2a, 0x28, 0x38,
    0x00, 0x06, 0x02, 0x02, 0x0a, 0x3e,
    0x00, 0x38, 0x2e, 0x2a, 0x2e, 0x38,
    0x00, 0x0e, 0x0a, 0x2a, 0x2a, 0x3e,
    0x00, 0x28, 0x00, 0x00, 0x00, 0x00,
    0x00, 0x28, 0x00, 0x00, 0x00, 0x00,
    0x00, 0x08, 0x14, 0x22, 0x00, 0x00,
    0x00, 0x14, 0x14, 0x14, 0x14, 0x00,
    0x00, 0x22, 0x14, 0x08, 0x00, 0x00,
    0x00, 0x06, 0x02, 0x2a, 0x0a, 0x06,
    0x00, 0x3e, 0x02, 0x3a, 0x2a, 0x0a,
    0x22, 0x3e, 0x02, 0x0a, 0x0a, 0x3e,
    0x00, 0x3e, 0x22, 0x2a, 0x2e, 0x38,
    0x00, 0x3e, 0x22, 0x22, 0x20, 0x30,
    0x00, 0x3e, 0x22, 0x22, 0x22, 0x3c,
    0x00, 0x3e, 0x2a, 0x22, 0x20, 0x30,
    0x00, 0x3e, 0x0a, 0x0a, 0x06, 0x02,
    0x00, 0x3e, 0x22, 0x2a, 0x28, 0x38,
    0x00, 0x3e, 0x08, 0x08, 0x08, 0x3e,
    0x00, 0x22, 0x3e, 0x22, 0x00, 0x00,
    0x00, 0x30, 0x20, 0x20, 0x22, 0x3e,
    0x00, 0x3e, 0x08, 0x08, 0x0e, 0x38,
    0x00, 0x3e, 0x20, 0x20, 0x20, 0x30,
    0x00, 0x3e, 0x02, 0x3e, 0x20, 0x3e,
    0x3e, 0x3e, 0x02, 0x3e, 0x20, 0x3e,
    0x00, 0x3e, 0x22, 0x22, 0x22, 0x3e,
    0x00, 0x3e, 0x02, 0x0a, 0x0a, 0x0e,
    0x00, 0x3e, 0x22, 0x22, 0x22, 0x3e,
    0x00, 0x3e, 0x02, 0x0a, 0x0e, 0x38,
    0x00, 0x0e, 0x0a, 0x2a, 0x2a, 0x3a,
    0x00, 0x06, 0x02, 0x3e, 0x02, 0x06,
    0x00, 0x3e, 0x20, 0x20, 0x20, 0x3e,
    0x00, 0x3e, 0x20, 0x20, 0x3e, 0x00,
    0x00, 0x3e, 0x20, 0x3e, 0x02, 0x3e,
    0x3e, 0x3a, 0x0e, 0x08, 0x0e, 0x3a,
    0x00, 0x0e, 0x08, 0x08, 0x28, 0x3e,
    0x00, 0x3a, 0x2a, 0x2a, 0x0a, 0x0e,
    0x00, 0x3e, 0x22, 0x00, 0x00, 0x00,
    0x00, 0x02, 0x0c, 0x30, 0x00, 0x00,
    0x22, 0x3e, 0x00, 0x00, 0x00, 0x00,
    0x00, 0x01, 0x00, 0x01, 0x00, 0x00,
    0x00, 0x20, 0x20, 0x20, 0x00, 0x00,
    0x00, 0x01, 0x00, 0x00, 0x00, 0x00,
    0x00, 0x38, 0x28, 0x28, 0x08, 0x38,
    0x00, 0x3e, 0x20, 0x28, 0x28, 0x38,
    0x00, 0x38, 0x28, 0x28, 0x20, 0x30,
    0x00, 0x38, 0x28, 0x28, 0x20, 0x3e,
    0x00, 0xf8, 0x88, 0x28, 0x28, 0x38,
    0x00, 0xf8, 0x28, 0x28, 0x18, 0x08,
    0x00, 0x38, 0x28, 0xa8, 0x88, 0xf8,
    0x00, 0x3c, 0x08, 0x08, 0x08, 0x38,
    0x00, 0x3a, 0x00, 0x00, 0x00, 0x00,
    0x80, 0xfa, 0x00, 0x00, 0x00, 0x00,
    0x00, 0x3e, 0x08, 0x08, 0x38, 0x2c,
    0x00, 0x3e, 0x20, 0x00, 0x00, 0x00,
    0x00, 0x38, 0x08, 0x38, 0x20, 0x38,
    0x38, 0x38, 0x08, 0x38, 0x20, 0x38,
    0x00, 0x38, 0x28, 0x28, 0x28, 0x38,
    0x00, 0xf8, 0x08, 0x28, 0x28, 0x38,
    0x00, 0x38, 0x28, 0x28, 0x08, 0xf8,
    0x00, 0x38, 0x08, 0x08, 0x18, 0x08,
    0x00, 0x38, 0x28, 0xa8, 0xa8, 0xe8,
    0x00, 0x3e, 0x28, 0x28, 0x20, 0x30,
    0x00, 0x38, 0x20, 0x20, 0x20, 0x38,
    0x00, 0x38, 0x20, 0x38, 0x00, 0x00,
    0x00, 0x38, 0x20, 0x38, 0x08, 0x38,
    0x38, 0x28, 0x38, 0x10, 0x38, 0x28,
    0x00, 0x38, 0x20, 0xa0, 0xa0, 0xf8,
    0x00, 0xe8, 0xa8, 0xa8, 0x28, 0x38,
    0x08, 0x3e, 0x22, 0x00, 0x00, 0x00,
    0x00, 0x3f, 0x00, 0x00, 0x00, 0x00,
    0x22, 0x3e, 0x08, 0x00, 0x00, 0x00,
    0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
    0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
#    elif defined(OLED_FONT_BMPLAIN)
    0x00,0x00,0x00,0x00,0x00,0x00, // 0x20 32
    0x2e,0x00,0x00,0x00,0x00,0x00, // 0x21 33 !
    0x03,0x00,0x03,0x00,0x00,0x00, // 0x22 34 "
    0x0a,0x1f,0x0a,0x1f,0x0a,0x00, // 0x23 35 #
    0x2e,0x2a,0x6b,0x2a,0x3a,0x00, // 0x24 36 $
    0x0e,0x2a,0x1e,0x08,0x3c,0x2a, // 0x25 37 %
    0x3e,0x2a,0x2a,0x22,0x38,0x08, // 0x26 38 &
    0x03,0x00,0x00,0x00,0x00,0x00, // 0x27 39 '
    0x1c,0x22,0x00,0x00,0x00,0x00, // 0x28 40 (
    0x22,0x1c,0x00,0x00,0x00,0x00, // 0x29 41 )
    0x15,0x0e,0x04,0x0e,0x15,0x00, // 0x2A 42 *
    0x08,0x08,0x3e,0x08,0x08,0x00, // 0x2B 43 +
    0x60,0x00,0x00,0x00,0x00,0x00, // 0x2C 44 ,
    0x08,0x08,0x08,0x08,0x08,0x00, // 0x2D 45 -
    0x20,0x00,0x00,0x00,0x00,0x00, // 0x2E 46 .
    0x20,0x10,0x08,0x04,0x02,0x00, // 0x2F 47 /
    0x3e,0x22,0x2a,0x22,0x3e,0x00, // 0x30 48 0
    0x04,0x3e,0x00,0x00,0x00,0x00, // 0x31 49 1
    0x3a,0x2a,0x2a,0x2a,0x2e,0x00, // 0x32 50 2
    0x2a,0x2a,0x2a,0x2a,0x3e,0x00, // 0x33 51 3
    0x0e,0x08,0x08,0x08,0x3e,0x00, // 0x34 52 4
    0x2e,0x2a,0x2a,0x2a,0x3a,0x00, // 0x35 53 5
    0x3e,0x2a,0x2a,0x2a,0x3a,0x00, // 0x36 54 6
    0x02,0x02,0x02,0x02,0x3e,0x00, // 0x37 55 7
    0x3e,0x2a,0x2a,0x2a,0x3e,0x00, // 0x38 56 8
    0x2e,0x2a,0x2a,0x2a,0x3e,0x00, // 0x39 57 9
    0x14,0x00,0x00,0x00,0x00,0x00, // 0x3A 58 :
    0x34,0x00,0x00,0x00,0x00,0x00, // 0x3B 59 ;
    0x08,0x14,0x22,0x00,0x00,0x00, // 0x3C 60 <
    0x14,0x14,0x14,0x14,0x14,0x00, // 0x3D 61 =
    0x22,0x14,0x08,0x00,0x00,0x00, // 0x3E 62 >
    0x06,0x02,0x2a,0x0a,0x0e,0x00, // 0x3F 63 ?
    0x3e,0x02,0x3a,0x2a,0x3e,0x00, // 0x40 64 @
    0x3e,0x12,0x12,0x12,0x3e,0x00, // 0x41 65 A
    0x3e,0x2a,0x2a,0x2a,0x36,0x00, // 0x42 66 B
    0x3e,0x22,0x22,0x22,0x22,0x00, // 0x43 67 C
    0x3e,0x22,0x22,0x22,0x1c,0x00, // 0x44 68 D
    0x3e,0x2a,0x2a,0x2a,0x22,0x00, // 0x45 69 E
    0x3e,0x0a,0x0a,0x0a,0x02,0x00, // 0x46 70 F
    0x3e,0x22,0x2a,0x2a,0x3a,0x00, // 0x47 71 G
    0x3e,0x08,0x08,0x08,0x3e,0x00, // 0x48 72 H
    0x22,0x3e,0x22,0x00,0x00,0x00, // 0x49 73 I
    0x38,0x20,0x20,0x20,0x3e,0x00, // 0x4A 74 J
    0x3e,0x08,0x08,0x14,0x22,0x00, // 0x4B 75 K
    0x3e,0x20,0x20,0x20,0x20,0x00, // 0x4C 76 L
    0x3e,0x04,0x38,0x04,0x3e,0x00, // 0x4D 77 M
    0x3e,0x04,0x08,0x10,0x3e,0x00, // 0x4E 78 N
    0x3e,0x22,0x22,0x22,0x3e,0x00, // 0x4F 79 O
    0x3e,0x0a,0x0a,0x0a,0x0e,0x00, // 0x50 80 P
    0x3e,0x22,0x72,0x22,0x3e,0x00, // 0x51 81 Q
    0x3e,0x0a,0x0a,0x1a,0x2e,0x00, // 0x52 82 R
    0x2e,0x2a,0x2a,0x2a,0x3a,0x00, // 0x53 83 S
    0x02,0x02,0x3e,0x02,0x02,0x00, // 0x54 84 T
    0x1e,0x20,0x20,0x20,0x1e,0x00, // 0x55 85 U
    0x0e,0x10,0x20,0x10,0x0e,0x00, // 0x56 86 V
    0x3e,0x10,0x0e,0x10,0x3e,0x00, // 0x57 87 W
    0x22,0x14,0x08,0x14,0x22,0x00, // 0x58 88 X
    0x02,0x04,0x38,0x04,0x02,0x00, // 0x59 89 Y
    0x3a,0x2a,0x2a,0x2a,0x2e,0x00, // 0x5A 90 Z
    0x3e,0x22,0x00,0x00,0x00,0x00, // 0x5B 91 [
    0x3f,0x21,0x3f,0x00,0x00,0x00, // 0x5C 92 \ backslash
    0x22,0x3e,0x00,0x00,0x00,0x00, // 0x5D 93 ]
    0x0c,0x1e,0x3c,0x1e,0x0c,0x00, // 0x5E 94 ^
    0x20,0x20,0x20,0x20,0x20,0x00, // 0x5F 95 _
    0x1c,0x3e,0x3e,0x3e,0x1c,0x00, // 0x60 96 `
    0x3c,0x24,0x24,0x24,0x3c,0x20, // 0x61 97 a
    0x3e,0x24,0x24,0x24,0x3c,0x00, // 0x62 98 b
    0x3c,0x24,0x24,0x24,0x24,0x00, // 0x63 99 c
    0x3c,0x24,0x24,0x24,0x3e,0x00, // 0x64 100 d
    0x3c,0x24,0x34,0x2c,0x24,0x00, // 0x65 101 e
    0x08,0x3e,0x0a,0x0a,0x00,0x00, // 0x66 102 f
    0x1c,0x54,0x54,0x54,0x7c,0x00, // 0x67 103 g
    0x3e,0x04,0x04,0x04,0x3c,0x00, // 0x68 104 h
    0x3a,0x00,0x00,0x00,0x00,0x00, // 0x69 105 i
    0x7a,0x00,0x00,0x00,0x00,0x00, // 0x6A 106 j
    0x3e,0x08,0x14,0x22,0x00,0x00, // 0x6B 107 k
    0x02,0x3e,0x00,0x00,0x00,0x00, // 0x6C 108 l
    0x3c,0x04,0x3c,0x04,0x3c,0x00, // 0x6D 109 m
    0x3c,0x04,0x04,0x04,0x3c,0x00, // 0x6E 110 n
    0x3c,0x24,0x24,0x24,0x3c,0x00, // 0x6F 111 o
    0x7c,0x24,0x24,0x24,0x3c,0x00, // 0x70 112 p
    0x3c,0x24,0x24,0x24,0x7c,0x00, // 0x71 113 q
    0x3c,0x04,0x04,0x04,0x00,0x00, // 0x72 114 r
    0x24,0x2c,0x34,0x24,0x00,0x00, // 0x73 115 s
    0x04,0x3e,0x24,0x24,0x00,0x00, // 0x74 116 t
    0x3c,0x20,0x20,0x20,0x3c,0x00, // 0x75 117 u
    0x0c,0x10,0x20,0x10,0x0c,0x00, // 0x76 118 v
    0x3c,0x20,0x3c,0x20,0x3c,0x00, // 0x77 119 w
    0x24,0x24,0x18,0x24,0x24,0x00, // 0x78 120 x
    0x1c,0x50,0x50,0x50,0x7c,0x00, // 0x79 121 y
    0x24,0x34,0x2c,0x24,0x00,0x00, // 0x7A 122 z
    0x08,0x3e,0x22,0x00,0x00,0x00, // 0x7B 123 {
    0x1c,0x22,0x22,0x22,0x1c,0x00, // 0x7C 124 |
    0x22,0x3e,0x08,0x00,0x00,0x00, // 0x7D 125 }
    0x01,0x01,0x01,0x00,0x00,0x00, // 0x7E 126 ~
    0x00,0x00,0x00,0x00,0x00,0x00, // 0x7F 127
    0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
    0x2e, 0x00, 0x00, 0x00, 0x00, 0x00,
    0x03, 0x00, 0x03, 0x00, 0x00, 0x00,
    0x0a, 0x1f, 0x0a, 0x1f, 0x0a, 0x00,
    0x2e, 0x2a, 0x6b, 0x2a, 0x3a, 0x00,
    0x0e, 0x2a, 0x1e, 0x08, 0x3c, 0x2a,
    0x3e, 0x2a, 0x2a, 0x22, 0x38, 0x08,
    0x03, 0x00, 0x00, 0x00, 0x00, 0x00,
    0x1c, 0x22, 0x00, 0x00, 0x00, 0x00,
    0x22, 0x1c, 0x00, 0x00, 0x00, 0x00,
    0x15, 0x0e, 0x04, 0x0e, 0x15, 0x00,
    0x08, 0x08, 0x3e, 0x08, 0x08, 0x00,
    0x60, 0x00, 0x00, 0x00, 0x00, 0x00,
    0x08, 0x08, 0x08, 0x08, 0x08, 0x00,
    0x20, 0x00, 0x00, 0x00, 0x00, 0x00,
    0x20, 0x10, 0x08, 0x04, 0x02, 0x00,
    0x3e, 0x22, 0x2a, 0x22, 0x3e, 0x00,
    0x04, 0x3e, 0x00, 0x00, 0x00, 0x00,
    0x3a, 0x2a, 0x2a, 0x2a, 0x2e, 0x00,
    0x2a, 0x2a, 0x2a, 0x2a, 0x3e, 0x00,
    0x0e, 0x08, 0x08, 0x08, 0x3e, 0x00,
    0x2e, 0x2a, 0x2a, 0x2a, 0x3a, 0x00,
    0x3e, 0x2a, 0x2a, 0x2a, 0x3a, 0x00,
    0x02, 0x02, 0x02, 0x02, 0x3e, 0x00,
    0x3e, 0x2a, 0x2a, 0x2a, 0x3e, 0x00,
    0x2e, 0x2a, 0x2a, 0x2a, 0x3e, 0x00,
    0x14, 0x00, 0x00, 0x00, 0x00, 0x00,
    0x34, 0x00, 0x00, 0x00, 0x00, 0x00,
    0x08, 0x14, 0x22, 0x00, 0x00, 0x00,
    0x14, 0x14, 0x14, 0x14, 0x14, 0x00,
    0x22, 0x14, 0x08, 0x00, 0x00, 0x00,
    0x06, 0x02, 0x2a, 0x0a, 0x0e, 0x00,
    0x3e, 0x02, 0x3a, 0x2a, 0x3e, 0x00,
    0x3e, 0x12, 0x12, 0x12, 0x3e, 0x00,
    0x3e, 0x2a, 0x2a, 0x2a, 0x36, 0x00,
    0x3e, 0x22, 0x22, 0x22, 0x22, 0x00,
    0x3e, 0x22, 0x22, 0x22, 0x1c, 0x00,
    0x3e, 0x2a, 0x2a, 0x2a, 0x22, 0x00,
    0x3e, 0x0a, 0x0a, 0x0a, 0x02, 0x00,
    0x3e, 0x22, 0x2a, 0x2a, 0x3a, 0x00,
    0x3e, 0x08, 0x08, 0x08, 0x3e, 0x00,
    0x22, 0x3e, 0x22, 0x00, 0x00, 0x00,
    0x38, 0x20, 0x20, 0x20, 0x3e, 0x00,
    0x3e, 0x08, 0x08, 0x14, 0x22, 0x00,
    0x3e, 0x20, 0x20, 0x20, 0x20, 0x00,
    0x3e, 0x04, 0x38, 0x04, 0x3e, 0x00,
    0x3e, 0x04, 0x08, 0x10, 0x3e, 0x00,
    0x3e, 0x22, 0x22, 0x22, 0x3e, 0x00,
    0x3e, 0x0a, 0x0a, 0x0a, 0x0e, 0x00,
    0x3e, 0x22, 0x72, 0x22, 0x3e, 0x00,
    0x3e, 0x0a, 0x0a, 0x1a, 0x2e, 0x00,
    0x2e, 0x2a, 0x2a, 0x2a, 0x3a, 0x00,
    0x02, 0x02, 0x3e, 0x02, 0x02, 0x00,
    0x1e, 0x20, 0x20, 0x20, 0x1e, 0x00,
    0x0e, 0x10, 0x20, 0x10, 0x0e, 0x00,
    0x3e, 0x10, 0x0e, 0x10, 0x3e, 0x00,
    0x22, 0x14, 0x08, 0x14, 0x22, 0x00,
    0x02, 0x04, 0x38, 0x04, 0x02, 0x00,
    0x3a, 0x2a, 0x2a, 0x2a, 0x2e, 0x00,
    0x3e, 0x22, 0x00, 0x00, 0x00, 0x00,
    0x3f, 0x21, 0x3f, 0x00, 0x00, 0x00,
    0x22, 0x3e, 0x00, 0x00, 0x00, 0x00,
    0x0c, 0x1e, 0x3c, 0x1e, 0x0c, 0x00,
    0x20, 0x20, 0x20, 0x20, 0x20, 0x00,
    0x1c, 0x3e, 0x3e, 0x3e, 0x1c, 0x00,
    0x3c, 0x24, 0x24, 0x24, 0x3c, 0x20,
    0x3e, 0x24, 0x24, 0x24, 0x3c, 0x00,
    0x3c, 0x24, 0x24, 0x24, 0x24, 0x00,
    0x3c, 0x24, 0x24, 0x24, 0x3e, 0x00,
    0x3c, 0x24, 0x34, 0x2c, 0x24, 0x00,
    0x08, 0x3e, 0x0a, 0x0a, 0x00, 0x00,
    0x1c, 0x54, 0x54, 0x54, 0x7c, 0x00,
    0x3e, 0x04, 0x04, 0x04, 0x3c, 0x00,
    0x3a, 0x00, 0x00, 0x00, 0x00, 0x00,
    0x7a, 0x00, 0x00, 0x00, 0x00, 0x00,
    0x3e, 0x08, 0x14, 0x22, 0x00, 0x00,
    0x02, 0x3e, 0x00, 0x00, 0x00, 0x00,
    0x3c, 0x04, 0x3c, 0x04, 0x3c, 0x00,
    0x3c, 0x04, 0x04, 0x04, 0x3c, 0x00,
    0x3c, 0x24, 0x24, 0x24, 0x3c, 0x00,
    0x7c, 0x24, 0x24, 0x24, 0x3c, 0x00,
    0x3c, 0x24, 0x24, 0x24, 0x7c, 0x00,
    0x3c, 0x04, 0x04, 0x04, 0x00, 0x00,
    0x24, 0x2c, 0x34, 0x24, 0x00, 0x00,
    0x04, 0x3e, 0x24, 0x24, 0x00, 0x00,
    0x3c, 0x20, 0x20, 0x20, 0x3c, 0x00,
    0x0c, 0x10, 0x20, 0x10, 0x0c, 0x00,
    0x3c, 0x20, 0x3c, 0x20, 0x3c, 0x00,
    0x24, 0x24, 0x18, 0x24, 0x24, 0x00,
    0x1c, 0x50, 0x50, 0x50, 0x7c, 0x00,
    0x24, 0x34, 0x2c, 0x24, 0x00, 0x00,
    0x08, 0x3e, 0x22, 0x00, 0x00, 0x00,
    0x1c, 0x22, 0x22, 0x22, 0x1c, 0x00,
    0x22, 0x3e, 0x08, 0x00, 0x00, 0x00,
    0x01, 0x01, 0x01, 0x00, 0x00, 0x00,
    0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
#    elif defined(OLED_FONT_SUPER_DIGG)
    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // 0x20 32
    0x58, 0x5C, 0x00, 0x00, 0x00, 0x00, // 0x21 33 !
    0x00, 0x01, 0x00, 0x00, 0x01, 0x00, // 0x22 34 "
    0x14, 0x7F, 0x14, 0x7F, 0x14, 0x00, // 0x23 35 #
    0x5C, 0xFE, 0x54, 0xFE, 0x74, 0x00, // 0x24 36 $
    0x03, 0x63, 0x38, 0x0C, 0x63, 0x60, // 0x25 37 %
    0x70, 0x5C, 0x54, 0x74, 0x7C, 0x50, // 0x26 38 &
    0x00, 0x01, 0x00, 0x00, 0x00, 0x00, // 0x27 39 '
    0x70, 0x7C, 0x44, 0x00, 0x00, 0x00, // 0x28 40 (
    0x44, 0x7C, 0x70, 0x00, 0x00, 0x00, // 0x29 41 )
    0x2A, 0x1C, 0x7F, 0x1C, 0x2A, 0x00, // 0x2A 42 *
    0x10, 0x10, 0x70, 0x7C, 0x10, 0x00, // 0x2B 43 +
    0x40, 0xC0, 0x00, 0x00, 0x00, 0x00, // 0x2C 44 ,
    0x10, 0x10, 0x10, 0x10, 0x00, 0x00, // 0x2D 45 -
    0x40, 0x40, 0x00, 0x00, 0x00, 0x00, // 0x2E 46 .
    0x70, 0x7C, 0x03, 0x00, 0x00, 0x00, // 0x2F 47 /
    0x7C, 0x44, 0x44, 0x44, 0x7C, 0x1C, // 0x30 48 0
    0x04, 0x04, 0x7C, 0x1C, 0x00, 0x00, // 0x31 49 1
    0x74, 0x74, 0x54, 0x54, 0x5C, 0x00, // 0x32 50 2
    0x44, 0x54, 0x54, 0x54, 0x7C, 0x70, // 0x33 51 3
    0x1C, 0x10, 0x10, 0x7C, 0x7C, 0x00, // 0x34 52 4
    0x5C, 0x5C, 0x54, 0x54, 0x74, 0x00, // 0x35 53 5
    0x70, 0x7C, 0x54, 0x54, 0x74, 0x00, // 0x36 54 6
    0x04, 0x14, 0x14, 0x14, 0x7C, 0x70, // 0x37 55 7
    0x70, 0x5C, 0x54, 0x74, 0x7C, 0x00, // 0x38 56 8
    0x5C, 0x54, 0x54, 0x54, 0x7C, 0x1C, // 0x39 57 9
    0x50, 0x50, 0x00, 0x00, 0x00, 0x00, // 0x3A 58 :
    0x50, 0xD0, 0x00, 0x00, 0x00, 0x00, // 0x3B 59 ;
    0x18, 0x18, 0x24, 0x42, 0x00, 0x00, // 0x3C 60 <
    0x28, 0x28, 0x28, 0x28, 0x00, 0x00, // 0x3D 61 =
    0x42, 0x24, 0x18, 0x18, 0x00, 0x00, // 0x3E 62 >
    0x04, 0x14, 0x54, 0x54, 0x1C, 0x1C, // 0x3F 63 ?
    0xF8, 0x04, 0x74, 0x74, 0x54, 0x54, // 0x40 64 @
    0x70, 0x7C, 0x14, 0x14, 0x3C, 0x00, // 0x41 65 A
    0x7C, 0x74, 0x54, 0x54, 0x7C, 0x00, // 0x42 66 B
    0x70, 0x7C, 0x44, 0x44, 0x44, 0x44, // 0x43 67 C
    0x70, 0x7C, 0x44, 0x44, 0x48, 0x70, // 0x44 68 D
    0x70, 0x7C, 0x54, 0x54, 0x54, 0x44, // 0x45 69 E
    0x70, 0x7C, 0x14, 0x14, 0x14, 0x04, // 0x46 70 F
    0x70, 0x7C, 0x44, 0x44, 0x54, 0x74, // 0x47 71 G
    0x70, 0x7C, 0x10, 0x10, 0x7C, 0x00, // 0x48 72 H
    0x70, 0x7C, 0x00, 0x00, 0x00, 0x00, // 0x49 73 I
    0x60, 0x40, 0x40, 0x40, 0x7C, 0x70, // 0x4A 74 J
    0x7C, 0x70, 0x10, 0x1C, 0x70, 0x00, // 0x4B 75 K
    0x70, 0x7C, 0x40, 0x40, 0x40, 0x60, // 0x4C 76 L
    0x70, 0x7C, 0x04, 0x04, 0x7C, 0x04, // 0x4D 77 M
    0x70, 0x7C, 0x04, 0x04, 0x04, 0x7C, // 0x4E 78 N
    0x70, 0x7C, 0x44, 0x44, 0x44, 0x7C, // 0x4F 79 O
    0x70, 0x7C, 0x24, 0x24, 0x3C, 0x00, // 0x50 80 P
    0x7C, 0x44, 0x44, 0x44, 0x7C, 0x00, // 0x51 81 Q
    0x7C, 0x74, 0x14, 0x14, 0x3C, 0x00, // 0x52 82 R
    0x5C, 0x5C, 0x54, 0x54, 0x74, 0x00, // 0x53 83 S
    0x04, 0x04, 0x7C, 0x74, 0x04, 0x00, // 0x54 84 T
    0x70, 0x7C, 0x40, 0x40, 0x40, 0x7C, // 0x55 85 U
    0x70, 0x7C, 0x40, 0x40, 0x20, 0x1C, // 0x56 86 V
    0x70, 0x7C, 0x40, 0x40, 0x7C, 0x40, // 0x57 87 W
    0x70, 0x7C, 0x10, 0x10, 0x3C, 0x00, // 0x58 88 X
    0x1C, 0x10, 0x70, 0x70, 0x1C, 0x00, // 0x59 89 Y
    0x74, 0x74, 0x54, 0x54, 0x5C, 0x00, // 0x5A 90 Z
    0xF0, 0xFE, 0x82, 0x00, 0x00, 0x00, // 0x5B 91 [
    0x03, 0x7C, 0x70, 0x00, 0x00, 0x00, // 0x5C 92 \ backslash
    0x82, 0xFE, 0xF0, 0x00, 0x00, 0x00, // 0x5D 93 ]
    0x04, 0x02, 0x01, 0x06, 0x04, 0x00, // 0x5E 94 ^
    0x40, 0x40, 0x40, 0x40, 0x00, 0x00, // 0x5F 95 _
    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // 0x60 96 `
    0x70, 0x7C, 0x14, 0x14, 0x3C, 0x00, // 0x61 97 a
    0x7C, 0x74, 0x54, 0x54, 0x7C, 0x00, // 0x62 98 b
    0x70, 0x7C, 0x44, 0x44, 0x44, 0x44, // 0x63 99 c
    0x70, 0x7C, 0x44, 0x44, 0x48, 0x70, // 0x64 100 d
    0x70, 0x7C, 0x54, 0x54, 0x54, 0x44, // 0x65 101 e
    0x70, 0x7C, 0x14, 0x14, 0x14, 0x04, // 0x66 102 f
    0x70, 0x7C, 0x44, 0x44, 0x54, 0x74, // 0x67 103 g
    0x70, 0x7C, 0x10, 0x10, 0x7C, 0x00, // 0x68 104 h
    0x70, 0x7C, 0x00, 0x00, 0x00, 0x00, // 0x69 105 i
    0x60, 0x40, 0x40, 0x40, 0x7C, 0x70, // 0x6A 106 j
    0x7C, 0x70, 0x10, 0x1C, 0x70, 0x00, // 0x6B 107 k
    0x70, 0x7C, 0x40, 0x40, 0x40, 0x60, // 0x6C 108 l
    0x70, 0x7C, 0x04, 0x04, 0x7C, 0x04, // 0x6D 109 m
    0x70, 0x7C, 0x04, 0x04, 0x04, 0x7C, // 0x6E 110 n
    0x70, 0x7C, 0x44, 0x44, 0x44, 0x7C, // 0x6F 111 o
    0x70, 0x7C, 0x24, 0x24, 0x3C, 0x00, // 0x70 112 p
    0x7C, 0x44, 0x44, 0x44, 0x7C, 0x00, // 0x71 113 q
    0x7C, 0x74, 0x14, 0x14, 0x3C, 0x00, // 0x72 114 r
    0x5C, 0x5C, 0x54, 0x54, 0x74, 0x00, // 0x73 115 s
    0x04, 0x04, 0x7C, 0x74, 0x04, 0x00, // 0x74 116 t
    0x70, 0x7C, 0x40, 0x40, 0x40, 0x7C, // 0x75 117 u
    0x70, 0x7C, 0x40, 0x40, 0x20, 0x1C, // 0x76 118 v
    0x70, 0x7C, 0x40, 0x40, 0x7C, 0x40, // 0x77 119 w
    0x70, 0x7C, 0x10, 0x10, 0x3C, 0x00, // 0x78 120 x
    0x1C, 0x10, 0x70, 0x70, 0x1C, 0x00, // 0x79 121 y
    0x74, 0x74, 0x54, 0x54, 0x5C, 0x00, // 0x7A 122 z
    0x10, 0xFE, 0xC2, 0x00, 0x00, 0x00, // 0x7B 123 {
    0x00, 0x44, 0x77, 0x00, 0x00, 0x00, // 0x7C 124 |
    0xC2, 0xFE, 0x10, 0x00, 0x00, 0x00, // 0x7D 125 }
    0x02, 0x01, 0x03, 0x04, 0x06, 0x02, // 0x7E 126 ~
    0x3C, 0x22, 0x21, 0x22, 0x3C, 0x00, // 0x7F 127
    0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
    0x58, 0x5C, 0x00, 0x00, 0x00, 0x00,
    0x00, 0x01, 0x00, 0x00, 0x01, 0x00,
    0x14, 0x7F, 0x14, 0x7F, 0x14, 0x00,
    0x5C, 0xFE, 0x54, 0xFE, 0x74, 0x00,
    0x03, 0x63, 0x38, 0x0C, 0x63, 0x60,
    0x70, 0x5C, 0x54, 0x74, 0x7C, 0x50,
    0x00, 0x01, 0x00, 0x00, 0x00, 0x00,
    0x70, 0x7C, 0x44, 0x00, 0x00, 0x00,
    0x44, 0x7C, 0x70, 0x00, 0x00, 0x00,
    0x2A, 0x1C, 0x7F, 0x1C, 0x2A, 0x00,
    0x10, 0x10, 0x70, 0x7C, 0x10, 0x00,
    0x40, 0xC0, 0x00, 0x00, 0x00, 0x00,
    0x10, 0x10, 0x10, 0x10, 0x00, 0x00,
    0x40, 0x40, 0x00, 0x00, 0x00, 0x00,
    0x70, 0x7C, 0x03, 0x00, 0x00, 0x00,
    0x7C, 0x44, 0x44, 0x44, 0x7C, 0x1C,
    0x04, 0x04, 0x7C, 0x1C, 0x00, 0x00,
    0x74, 0x74, 0x54, 0x54, 0x5C, 0x00,
    0x44, 0x54, 0x54, 0x54, 0x7C, 0x70,
    0x1C, 0x10, 0x10, 0x7C, 0x7C, 0x00,
    0x5C, 0x5C, 0x54, 0x54, 0x74, 0x00,
    0x70, 0x7C, 0x54, 0x54, 0x74, 0x00,
    0x04, 0x14, 0x14, 0x14, 0x7C, 0x70,
    0x70, 0x5C, 0x54, 0x74, 0x7C, 0x00,
    0x5C, 0x54, 0x54, 0x54, 0x7C, 0x1C,
    0x50, 0x50, 0x00, 0x00, 0x00, 0x00,
    0x50, 0xD0, 0x00, 0x00, 0x00, 0x00,
    0x18, 0x18, 0x24, 0x42, 0x00, 0x00,
    0x28, 0x28, 0x28, 0x28, 0x00, 0x00,
    0x42, 0x24, 0x18, 0x18, 0x00, 0x00,
    0x04, 0x14, 0x54, 0x54, 0x1C, 0x1C,
    0xF8, 0x04, 0x74, 0x74, 0x54, 0x54,
    0x70, 0x7C, 0x14, 0x14, 0x3C, 0x00,
    0x7C, 0x74, 0x54, 0x54, 0x7C, 0x00,
    0x70, 0x7C, 0x44, 0x44, 0x44, 0x44,
    0x70, 0x7C, 0x44, 0x44, 0x48, 0x70,
    0x70, 0x7C, 0x54, 0x54, 0x54, 0x44,
    0x70, 0x7C, 0x14, 0x14, 0x14, 0x04,
    0x70, 0x7C, 0x44, 0x44, 0x54, 0x74,
    0x70, 0x7C, 0x10, 0x10, 0x7C, 0x00,
    0x70, 0x7C, 0x00, 0x00, 0x00, 0x00,
    0x60, 0x40, 0x40, 0x40, 0x7C, 0x70,
    0x7C, 0x70, 0x10, 0x1C, 0x70, 0x00,
    0x70, 0x7C, 0x40, 0x40, 0x40, 0x60,
    0x70, 0x7C, 0x04, 0x04, 0x7C, 0x04,
    0x70, 0x7C, 0x04, 0x04, 0x04, 0x7C,
    0x70, 0x7C, 0x44, 0x44, 0x44, 0x7C,
    0x70, 0x7C, 0x24, 0x24, 0x3C, 0x00,
    0x7C, 0x44, 0x44, 0x44, 0x7C, 0x00,
    0x7C, 0x74, 0x14, 0x14, 0x3C, 0x00,
    0x5C, 0x5C, 0x54, 0x54, 0x74, 0x00,
    0x04, 0x04, 0x7C, 0x74, 0x04, 0x00,
    0x70, 0x7C, 0x40, 0x40, 0x40, 0x7C,
    0x70, 0x7C, 0x40, 0x40, 0x20, 0x1C,
    0x70, 0x7C, 0x40, 0x40, 0x7C, 0x40,
    0x70, 0x7C, 0x10, 0x10, 0x3C, 0x00,
    0x1C, 0x10, 0x70, 0x70, 0x1C, 0x00,
    0x74, 0x74, 0x54, 0x54, 0x5C, 0x00,
    0xF0, 0xFE, 0x82, 0x00, 0x00, 0x00,
    0x03, 0x7C, 0x70, 0x00, 0x00, 0x00,
    0x82, 0xFE, 0xF0, 0x00, 0x00, 0x00,
    0x04, 0x02, 0x01, 0x06, 0x04, 0x00,
    0x40, 0x40, 0x40, 0x40, 0x00, 0x00,
    0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
    0x70, 0x7C, 0x14, 0x14, 0x3C, 0x00,
    0x7C, 0x74, 0x54, 0x54, 0x7C, 0x00,
    0x70, 0x7C, 0x44, 0x44, 0x44, 0x44,
    0x70, 0x7C, 0x44, 0x44, 0x48, 0x70,
    0x70, 0x7C, 0x54, 0x54, 0x54, 0x44,
    0x70, 0x7C, 0x14, 0x14, 0x14, 0x04,
    0x70, 0x7C, 0x44, 0x44, 0x54, 0x74,
    0x70, 0x7C, 0x10, 0x10, 0x7C, 0x00,
    0x70, 0x7C, 0x00, 0x00, 0x00, 0x00,
    0x60, 0x40, 0x40, 0x40, 0x7C, 0x70,
    0x7C, 0x70, 0x10, 0x1C, 0x70, 0x00,
    0x70, 0x7C, 0x40, 0x40, 0x40, 0x60,
    0x70, 0x7C, 0x04, 0x04, 0x7C, 0x04,
    0x70, 0x7C, 0x04, 0x04, 0x04, 0x7C,
    0x70, 0x7C, 0x44, 0x44, 0x44, 0x7C,
    0x70, 0x7C, 0x24, 0x24, 0x3C, 0x00,
    0x7C, 0x44, 0x44, 0x44, 0x7C, 0x00,
    0x7C, 0x74, 0x14, 0x14, 0x3C, 0x00,
    0x5C, 0x5C, 0x54, 0x54, 0x74, 0x00,
    0x04, 0x04, 0x7C, 0x74, 0x04, 0x00,
    0x70, 0x7C, 0x40, 0x40, 0x40, 0x7C,
    0x70, 0x7C, 0x40, 0x40, 0x20, 0x1C,
    0x70, 0x7C, 0x40, 0x40, 0x7C, 0x40,
    0x70, 0x7C, 0x10, 0x10, 0x3C, 0x00,
    0x1C, 0x10, 0x70, 0x70, 0x1C, 0x00,
    0x74, 0x74, 0x54, 0x54, 0x5C, 0x00,
    0x10, 0xFE, 0xC2, 0x00, 0x00, 0x00,
    0x00, 0x44, 0x77, 0x00, 0x00, 0x00,
    0xC2, 0xFE, 0x10, 0x00, 0x00, 0x00,
    0x02, 0x01, 0x03, 0x04, 0x06, 0x02,
    0x3C, 0x22, 0x21, 0x22, 0x3C, 0x00,
#    else // default font
    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // 0x20 32
    0x00, 0x00, 0x5F, 0x00, 0x00, 0x00, // 0x21 33 !
    0x00, 0x07, 0x00, 0x07, 0x00, 0x00, // 0x22 34 "
    0x14, 0x7F, 0x14, 0x7F, 0x14, 0x00, // 0x23 35 #
    0x24, 0x2A, 0x7F, 0x2A, 0x12, 0x00, // 0x24 36 $
    0x23, 0x13, 0x08, 0x64, 0x62, 0x00, // 0x25 37 %
    0x36, 0x49, 0x56, 0x20, 0x50, 0x00, // 0x26 38 &
    0x00, 0x08, 0x07, 0x03, 0x00, 0x00, // 0x27 39 '
    0x00, 0x1C, 0x22, 0x41, 0x00, 0x00, // 0x28 40 (
    0x00, 0x41, 0x22, 0x1C, 0x00, 0x00, // 0x29 41 )
    0x2A, 0x1C, 0x7F, 0x1C, 0x2A, 0x00, // 0x2A 42 *
    0x08, 0x08, 0x3E, 0x08, 0x08, 0x00, // 0x2B 43 +
    0x00, 0x80, 0x70, 0x30, 0x00, 0x00, // 0x2C 44 ,
    0x08, 0x08, 0x08, 0x08, 0x08, 0x00, // 0x2D 45 -
    0x00, 0x00, 0x60, 0x60, 0x00, 0x00, // 0x2E 46 .
    0x20, 0x10, 0x08, 0x04, 0x02, 0x00, // 0x2F 47 /
    0x3E, 0x51, 0x49, 0x45, 0x3E, 0x00, // 0x30 48 0
    0x00, 0x42, 0x7F, 0x40, 0x00, 0x00, // 0x31 49 1
    0x72, 0x49, 0x49, 0x49, 0x46, 0x00, // 0x32 50 2
    0x21, 0x41, 0x49, 0x4D, 0x33, 0x00, // 0x33 51 3
    0x18, 0x14, 0x12, 0x7F, 0x10, 0x00, // 0x34 52 4
    0x27, 0x45, 0x45, 0x45, 0x39, 0x00, // 0x35 53 5
    0x3C, 0x4A, 0x49, 0x49, 0x31, 0x00, // 0x36 54 6
    0x41, 0x21, 0x11, 0x09, 0x07, 0x00, // 0x37 55 7
    0x36, 0x49, 0x49, 0x49, 0x36, 0x00, // 0x38 56 8
    0x46, 0x49, 0x49, 0x29, 0x1E, 0x00, // 0x39 57 9
    0x00, 0x00, 0x14, 0x00, 0x00, 0x00, // 0x3A 58 :
    0x00, 0x40, 0x34, 0x00, 0x00, 0x00, // 0x3B 59 ;
    0x00, 0x08, 0x14, 0x22, 0x41, 0x00, // 0x3C 60 <
    0x14, 0x14, 0x14, 0x14, 0x14, 0x00, // 0x3D 61 =
    0x00, 0x41, 0x22, 0x14, 0x08, 0x00, // 0x3E 62 >
    0x02, 0x01, 0x59, 0x09, 0x06, 0x00, // 0x3F 63 ?
    0x3E, 0x41, 0x5D, 0x59, 0x4E, 0x00, // 0x40 64 @
    0x7C, 0x12, 0x11, 0x12, 0x7C, 0x00, // 0x41 65 A
    0x7F, 0x49, 0x49, 0x49, 0x36, 0x00, // 0x42 66 B
    0x3E, 0x41, 0x41, 0x41, 0x22, 0x00, // 0x43 67 C
    0x7F, 0x41, 0x41, 0x41, 0x3E, 0x00, // 0x44 68 D
    0x7F, 0x49, 0x49, 0x49, 0x41, 0x00, // 0x45 69 E
    0x7F, 0x09, 0x09, 0x09, 0x01, 0x00, // 0x46 70 F
    0x3E, 0x41, 0x41, 0x51, 0x73, 0x00, // 0x47 71 G
    0x7F, 0x08, 0x08, 0x08, 0x7F, 0x00, // 0x48 72 H
    0x00, 0x41, 0x7F, 0x41, 0x00, 0x00, // 0x49 73 I
    0x20, 0x40, 0x41, 0x3F, 0x01, 0x00, // 0x4A 74 J
    0x7F, 0x08, 0x14, 0x22, 0x41, 0x00, // 0x4B 75 K
    0x7F, 0x40, 0x40, 0x40, 0x40, 0x00, // 0x4C 76 L
    0x7F, 0x02, 0x1C, 0x02, 0x7F, 0x00, // 0x4D 77 M
    0x7F, 0x04, 0x08, 0x10, 0x7F, 0x00, // 0x4E 78 N
    0x3E, 0x41, 0x41, 0x41, 0x3E, 0x00, // 0x4F 79 O
    0x7F, 0x09, 0x09, 0x09, 0x06, 0x00, // 0x50 80 P
    0x3E, 0x41, 0x51, 0x21, 0x5E, 0x00, // 0x51 81 Q
    0x7F, 0x09, 0x19, 0x29, 0x46, 0x00, // 0x52 82 R
    0x26, 0x49, 0x49, 0x49, 0x32, 0x00, // 0x53 83 S
    0x03, 0x01, 0x7F, 0x01, 0x03, 0x00, // 0x54 84 T
    0x3F, 0x40, 0x40, 0x40, 0x3F, 0x00, // 0x55 85 U
    0x1F, 0x20, 0x40, 0x20, 0x1F, 0x00, // 0x56 86 V
    0x3F, 0x40, 0x38, 0x40, 0x3F, 0x00, // 0x57 87 W
    0x63, 0x14, 0x08, 0x14, 0x63, 0x00, // 0x58 88 X
    0x03, 0x04, 0x78, 0x04, 0x03, 0x00, // 0x59 89 Y
    0x61, 0x59, 0x49, 0x4D, 0x43, 0x00, // 0x5A 90 Z
    0x00, 0x7F, 0x41, 0x41, 0x41, 0x00, // 0x5B 91 [
    0x02, 0x04, 0x08, 0x10, 0x20, 0x00, // 0x5C 92 \ backslash
    0x00, 0x41, 0x41, 0x41, 0x7F, 0x00, // 0x5D 93 ]
    0x04, 0x02, 0x01, 0x02, 0x04, 0x00, // 0x5E 94 ^
    0x40, 0x40, 0x40, 0x40, 0x40, 0x00, // 0x5F 95 _
    0x00, 0x03, 0x07, 0x08, 0x00, 0x00, // 0x60 96 `
    0x20, 0x54, 0x54, 0x78, 0x40, 0x00, // 0x61 97 a
    0x7F, 0x28, 0x44, 0x44, 0x38, 0x00, // 0x62 98 b
    0x38, 0x44, 0x44, 0x44, 0x28, 0x00, // 0x63 99 c
    0x38, 0x44, 0x44, 0x28, 0x7F, 0x00, // 0x64 100 d
    0x38, 0x54, 0x54, 0x54, 0x18, 0x00, // 0x65 101 e
    0x00, 0x08, 0x7E, 0x09, 0x02, 0x00, // 0x66 102 f
    0x18, 0x24, 0x24, 0x1C, 0x78, 0x00, // 0x67 103 g
    0x7F, 0x08, 0x04, 0x04, 0x78, 0x00, // 0x68 104 h
    0x00, 0x44, 0x7D, 0x40, 0x00, 0x00, // 0x69 105 i
    0x20, 0x40, 0x40, 0x3D, 0x00, 0x00, // 0x6A 106 j
    0x7F, 0x10, 0x28, 0x44, 0x00, 0x00, // 0x6B 107 k
    0x00, 0x41, 0x7F, 0x40, 0x00, 0x00, // 0x6C 108 l
    0x7C, 0x04, 0x78, 0x04, 0x78, 0x00, // 0x6D 109 m
    0x7C, 0x08, 0x04, 0x04, 0x78, 0x00, // 0x6E 110 n
    0x38, 0x44, 0x44, 0x44, 0x38, 0x00, // 0x6F 111 o
    0x7C, 0x18, 0x24, 0x24, 0x18, 0x00, // 0x70 112 p
    0x18, 0x24, 0x24, 0x18, 0x7C, 0x00, // 0x71 113 q
    0x7C, 0x08, 0x04, 0x04, 0x08, 0x00, // 0x72 114 r
    0x48, 0x54, 0x54, 0x54, 0x24, 0x00, // 0x73 115 s
    0x04, 0x04, 0x3F, 0x44, 0x24, 0x00, // 0x74 116 t
    0x3C, 0x40, 0x40, 0x20, 0x7C, 0x00, // 0x75 117 u
    0x1C, 0x20, 0x40, 0x20, 0x1C, 0x00, // 0x76 118 v
    0x3C, 0x40, 0x30, 0x40, 0x3C, 0x00, // 0x77 119 w
    0x44, 0x28, 0x10, 0x28, 0x44, 0x00, // 0x78 120 x
    0x4C, 0x90, 0x10, 0x90, 0x7C, 0x00, // 0x79 121 y
    0x44, 0x64, 0x54, 0x4C, 0x44, 0x00, // 0x7A 122 z
    0x00, 0x08, 0x36, 0x41, 0x00, 0x00, // 0x7B 123 {
    0x00, 0x00, 0x77, 0x00, 0x00, 0x00, // 0x7C 124 |
    0x00, 0x41, 0x36, 0x08, 0x00, 0x00, // 0x7D 125 }
    0x02, 0x01, 0x02, 0x04, 0x02, 0x00, // 0x7E 126 ~
    0x3C, 0x26, 0x23, 0x26, 0x3C, 0x00, // 0x7F 127
    0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
    0x00, 0x00, 0x5F, 0x00, 0x00, 0x00,
    0x00, 0x07, 0x00, 0x07, 0x00, 0x00,
    0x14, 0x7F, 0x14, 0x7F, 0x14, 0x00,
    0x24, 0x2A, 0x7F, 0x2A, 0x12, 0x00,
    0x23, 0x13, 0x08, 0x64, 0x62, 0x00,
    0x36, 0x49, 0x56, 0x20, 0x50, 0x00,
    0x00, 0x08, 0x07, 0x03, 0x00, 0x00,
    0x00, 0x1C, 0x22, 0x41, 0x00, 0x00,
    0x00, 0x41, 0x22, 0x1C, 0x00, 0x00,
    0x2A, 0x1C, 0x7F, 0x1C, 0x2A, 0x00,
    0x08, 0x08, 0x3E, 0x08, 0x08, 0x00,
    0x00, 0x80, 0x70, 0x30, 0x00, 0x00,
    0x08, 0x08, 0x08, 0x08, 0x08, 0x00,
    0x00, 0x00, 0x60, 0x60, 0x00, 0x00,
    0x20, 0x10, 0x08, 0x04, 0x02, 0x00,
    0x3E, 0x51, 0x49, 0x45, 0x3E, 0x00,
    0x00, 0x42, 0x7F, 0x40, 0x00, 0x00,
    0x72, 0x49, 0x49, 0x49, 0x46, 0x00,
    0x21, 0x41, 0x49, 0x4D, 0x33, 0x00,
    0x18, 0x14, 0x12, 0x7F, 0x10, 0x00,
    0x27, 0x45, 0x45, 0x45, 0x39, 0x00,
    0x3C, 0x4A, 0x49, 0x49, 0x31, 0x00,
    0x41, 0x21, 0x11, 0x09, 0x07, 0x00,
    0x36, 0x49, 0x49, 0x49, 0x36, 0x00,
    0x46, 0x49, 0x49, 0x29, 0x1E, 0x00,
    0x00, 0x00, 0x14, 0x00, 0x00, 0x00,
    0x00, 0x40, 0x34, 0x00, 0x00, 0x00,
    0x00, 0x08, 0x14, 0x22, 0x41, 0x00,
    0x14, 0x14, 0x14, 0x14, 0x14, 0x00,
    0x00, 0x41, 0x22, 0x14, 0x08, 0x00,
    0x02, 0x01, 0x59, 0x09, 0x06, 0x00,
    0x3E, 0x41, 0x5D, 0x59, 0x4E, 0x00,
    0x7C, 0x12, 0x11, 0x12, 0x7C, 0x00,
    0x7F, 0x49, 0x49, 0x49, 0x36, 0x00,
    0x3E, 0x41, 0x41, 0x41, 0x22, 0x00,
    0x7F, 0x41, 0x41, 0x41, 0x3E, 0x00,
    0x7F, 0x49, 0x49, 0x49, 0x41, 0x00,
    0x7F, 0x09, 0x09, 0x09, 0x01, 0x00,
    0x3E, 0x41, 0x41, 0x51, 0x73, 0x00,
    0x7F, 0x08, 0x08, 0x08, 0x7F, 0x00,
    0x00, 0x41, 0x7F, 0x41, 0x00, 0x00,
    0x20, 0x40, 0x41, 0x3F, 0x01, 0x00,
    0x7F, 0x08, 0x14, 0x22, 0x41, 0x00,
    0x7F, 0x40, 0x40, 0x40, 0x40, 0x00,
    0x7F, 0x02, 0x1C, 0x02, 0x7F, 0x00,
    0x7F, 0x04, 0x08, 0x10, 0x7F, 0x00,
    0x3E, 0x41, 0x41, 0x41, 0x3E, 0x00,
    0x7F, 0x09, 0x09, 0x09, 0x06, 0x00,
    0x3E, 0x41, 0x51, 0x21, 0x5E, 0x00,
    0x7F, 0x09, 0x19, 0x29, 0x46, 0x00,
    0x26, 0x49, 0x49, 0x49, 0x32, 0x00,
    0x03, 0x01, 0x7F, 0x01, 0x03, 0x00,
    0x3F, 0x40, 0x40, 0x40, 0x3F, 0x00,
    0x1F, 0x20, 0x40, 0x20, 0x1F, 0x00,
    0x3F, 0x40, 0x38, 0x40, 0x3F, 0x00,
    0x63, 0x14, 0x08, 0x14, 0x63, 0x00,
    0x03, 0x04, 0x78, 0x04, 0x03, 0x00,
    0x61, 0x59, 0x49, 0x4D, 0x43, 0x00,
    0x00, 0x7F, 0x41, 0x41, 0x41, 0x00,
    0x02, 0x04, 0x08, 0x10, 0x20, 0x00,
    0x00, 0x41, 0x41, 0x41, 0x7F, 0x00,
    0x04, 0x02, 0x01, 0x02, 0x04, 0x00,
    0x40, 0x40, 0x40, 0x40, 0x40, 0x00,
    0x00, 0x03, 0x07, 0x08, 0x00, 0x00,
    0x20, 0x54, 0x54, 0x78, 0x40, 0x00,
    0x7F, 0x28, 0x44, 0x44, 0x38, 0x00,
    0x38, 0x44, 0x44, 0x44, 0x28, 0x00,
    0x38, 0x44, 0x44, 0x28, 0x7F, 0x00,
    0x38, 0x54, 0x54, 0x54, 0x18, 0x00,
    0x00, 0x08, 0x7E, 0x09, 0x02, 0x00,
    0x18, 0x24, 0x24, 0x1C, 0x78, 0x00,
    0x7F, 0x08, 0x04, 0x04, 0x78, 0x00,
    0x00, 0x44, 0x7D, 0x40, 0x00, 0x00,
    0x20, 0x40, 0x40, 0x3D, 0x00, 0x00,
    0x7F, 0x10, 0x28, 0x44, 0x00, 0x00,
    0x00, 0x41, 0x7F, 0x40, 0x00, 0x00,
    0x7C, 0x04, 0x78, 0x04, 0x78, 0x00,
    0x7C, 0x08, 0x04, 0x04, 0x78, 0x00,
    0x38, 0x44, 0x44, 0x44, 0x38, 0x00,
    0x7C, 0x18, 0x24, 0x24, 0x18, 0x00,
    0x18, 0x24, 0x24, 0x18, 0x7C, 0x00,
    0x7C, 0x08, 0x04, 0x04, 0x08, 0x00,
    0x48, 0x54, 0x54, 0x54, 0x24, 0x00,
    0x04, 0x04, 0x3F, 0x44, 0x24, 0x00,
    0x3C, 0x40, 0x40, 0x20, 0x7C, 0x00,
    0x1C, 0x20, 0x40, 0x20, 0x1C, 0x00,
    0x3C, 0x40, 0x30, 0x40, 0x3C, 0x00,
    0x44, 0x28, 0x10, 0x28, 0x44, 0x00,
    0x4C, 0x90, 0x10, 0x90, 0x7C, 0x00,
    0x44, 0x64, 0x54, 0x4C, 0x44, 0x00,
    0x00, 0x08, 0x36, 0x41, 0x00, 0x00,
    0x00, 0x00, 0x77, 0x00, 0x00, 0x00,
    0x00, 0x41, 0x36, 0x08, 0x00, 0x00,
    0x02, 0x01, 0x02, 0x04, 0x02, 0x00,
    0x3C, 0x26, 0x23, 0x26, 0x3C, 0x00,
#    endif

// top Logo section
#    if defined(OLED_LOGO_GMK_BAD)
    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // 0x80
    0x80, 0xC0, 0xE0, 0xF0, 0xF0, 0x70, // 0x81
    0x38, 0x38, 0x38, 0x78, 0x70, 0xF0, // 0x82
    0xE0, 0xE0, 0x80, 0x00, 0x00, 0x00, // 0x83
    0x00, 0x00, 0x00, 0x80, 0xF0, 0xF8, // 0x84
    0xF8, 0xF8, 0xF8, 0x00, 0x00, 0x00, // 0x85
    0x80, 0xE0, 0xF8, 0xF8, 0xF8, 0xF8, // 0x86
    0xF0, 0x00, 0x00, 0x00, 0x00, 0x00, // 0x87
    0x80, 0xF8, 0xF8, 0xF8, 0x38, 0x00, // 0x88
    0x80, 0xE0, 0xF0, 0xF8, 0x78, 0x38, // 0x89
    0x08, 0x08, 0x00, 0x00, 0x00, 0x00, // 0x8A
    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // 0x8B
    0x80, 0xF8, 0xF8, 0xF8, 0x38, 0x38, // 0x8C
    0x38, 0xF8, 0xF0, 0xF0, 0xE0, 0x00, // 0x8D
    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // 0x8E
    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // 0x8F
    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // 0x90
    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // 0x91
    0x00, 0x00, 0x00, 0x80, 0xFC, 0xFC, // 0x92
    0xFC, 0x1C, 0x00, 0x00, 0x00, 0x00, // 0x93
    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // 0x94
    0xE0, 0xF0, 0xF0, 0xF0, 0xE0, 0xEC, // 0x95
    0xEE, 0xF7, 0xF3, 0x70, 0x20, 0x00, // 0x96
    0x7C, 0x7C, 0x7C, 0x7E, 0x00, 0x7E, // 0x97
    0x7E, 0x7E, 0x7F, 0x7F, 0x7F, 0x00, // 0x98
    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // 0x99
    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // 0x9A
    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // 0x9B
    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // 0x9C
    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // 0x9D
    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // 0x9E
    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // 0x9F
    0x00, 0x00, 0x00, 0x00, 0x00, 0x3C, // 0xA0
    0xFF, 0xFF, 0xFF, 0xC1, 0x80, 0x00, // 0xA1
    0x00, 0x38, 0x38, 0xB8, 0xB8, 0xF9, // 0xA2
    0xF9, 0xF8, 0x38, 0x00, 0x00, 0x00, // 0xA3
    0x00, 0xC0, 0xF8, 0xFF, 0xFF, 0x1F, // 0xA4
    0x01, 0x3F, 0xFF, 0xFF, 0xF0, 0xFE, // 0xA5
    0x7F, 0x0F, 0x03, 0xFF, 0xFF, 0xFF, // 0xA6
    0xFF, 0x00, 0x00, 0x00, 0x00, 0x80, // 0xA7
    0xFF, 0xFF, 0xFF, 0x3F, 0x1E, 0x7F, // 0xA8
    0xFF, 0xFF, 0xF3, 0xC1, 0x80, 0x00, // 0xA9
    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // 0xAA
    0x00, 0x00, 0x00, 0x00, 0x00, 0x80, // 0xAB
    0xFF, 0xFF, 0xFF, 0x3F, 0x1C, 0x1C, // 0xAC
    0x9C, 0xFF, 0xFF, 0xF3, 0xE1, 0x00, // 0xAD
    0x00, 0x00, 0x00, 0xF0, 0xFC, 0xFE, // 0xAE
    0xFF, 0x0F, 0x07, 0x07, 0x8E, 0xFF, // 0xAF
    0xFF, 0xFF, 0x3F, 0x00, 0x00, 0x00, // 0xB0
    0x00, 0xF0, 0xFC, 0xFE, 0xFF, 0x8F, // 0xB1
    0x07, 0x07, 0x8E, 0xFF, 0xFF, 0xFF, // 0xB2
    0x3F, 0x00, 0x00, 0x00, 0x00, 0x80, // 0xB3
    0xC0, 0x80, 0x00, 0x00, 0x00, 0x00, // 0xB4
    0x0F, 0x1F, 0x3F, 0x7F, 0x7F, 0x7F, // 0xB5
    0x7F, 0x7F, 0x3F, 0x1E, 0x0C, 0x00, // 0xB6
    0x1F, 0x1F, 0x1F, 0x3F, 0x00, 0x3F, // 0xB7
    0x3F, 0x3F, 0x7F, 0x7F, 0x7F, 0x00, // 0xB8
    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // 0xB9
    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // 0xBA
    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // 0xBB
    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // 0xBC
    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // 0xBD
    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // 0xBE
    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // 0xBF
    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // 0xC0
    0x00, 0x01, 0x03, 0x03, 0x03, 0x07, // 0xC1
    0x07, 0x07, 0x07, 0x03, 0x03, 0x03, // 0xC2
    0x01, 0x00, 0x00, 0x00, 0x00, 0x00, // 0xC3
    0x06, 0x07, 0x07, 0x07, 0x01, 0x00, // 0xC4
    0x00, 0x00, 0x07, 0x07, 0x07, 0x01, // 0xC5
    0x00, 0x00, 0x00, 0x07, 0x07, 0x07, // 0xC6
    0x07, 0x00, 0x00, 0x00, 0x00, 0x07, // 0xC7
    0x07, 0x07, 0x07, 0x00, 0x00, 0x00, // 0xC8
    0x00, 0x03, 0x07, 0x07, 0x07, 0x06, // 0xC9
    0x04, 0x00, 0x00, 0x00, 0x00, 0x00, // 0xCA
    0x00, 0x00, 0x00, 0x00, 0x00, 0x07, // 0xCB
    0x07, 0x07, 0x07, 0x07, 0x07, 0x07, // 0xCC
    0x07, 0x07, 0x03, 0x01, 0x00, 0x00, // 0xCD
    0x00, 0x00, 0x00, 0x00, 0x03, 0x07, // 0xCE
    0x07, 0x07, 0x07, 0x03, 0x07, 0x07, // 0xCF
    0x07, 0x07, 0x00, 0x00, 0x00, 0x00, // 0xD0
    0x00, 0x00, 0x03, 0x07, 0x07, 0x07, // 0xD1
    0x07, 0x03, 0x07, 0x07, 0x07, 0x07, // 0xD2
    0x00, 0x00, 0x00, 0x00, 0x01, 0x07, // 0xD3
    0x07, 0x07, 0x01, 0x00, 0x00, 0x00, // 0xD4
    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // 0xD5
    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // 0xD6
    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // 0xD7
    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // 0xD8
    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // 0xD9
    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // 0xDA
    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // 0xDB
    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // 0xDC
    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // 0xDD
    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // 0xDE
    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // 0xDF
    0x00, 0x1C, 0x1C, 0x3E, 0x7F, 0x7F,
    0x00, 0x14, 0x08, 0x14, 0x00, 0x00,
    0x00, 0x1C, 0x1C, 0x3E, 0x7F, 0x7F,
    0x00, 0x22, 0x1C, 0x41, 0x3E, 0x00,
    0x00, 0x00, 0x00, 0x30, 0x18, 0x0C,
    0x06, 0x0C, 0x18, 0x30, 0x00, 0x00,
    0x00, 0x00, 0x06, 0x06, 0x06, 0x0C,
    0x18, 0x30, 0x66, 0x66, 0x66, 0x00,
    0x00, 0x00, 0x00, 0x08, 0x0C, 0x7E,
    0x7F, 0x7E, 0x0C, 0x08, 0x00, 0x00,
    0x00, 0x00, 0x77, 0x77, 0x77, 0x00,
    0x77, 0x77, 0x77, 0x00, 0x00, 0x00,
    0x00, 0x00, 0xE7, 0xA5, 0xFF, 0x24,
    0x24, 0xFF, 0xA5, 0xE7, 0x00, 0x00,
    0x00, 0x00, 0x1C, 0x22, 0xC9, 0xD1,
    0xC9, 0x22, 0x1C, 0x00, 0x00, 0x00,
    0x00, 0x10, 0x02, 0x38, 0xFC, 0xED,
    0xFC, 0x38, 0x02, 0x10, 0x00, 0x00,
    0x00, 0x00, 0x00, 0x3E, 0x4A, 0x4F,
    0x4A, 0x3E, 0x00, 0x00, 0x00, 0x00,
    0x00, 0x00, 0x40, 0x60, 0x6A, 0x64,
    0x6A, 0x60, 0x40, 0x00, 0x00, 0x00,
    0x00, 0x04, 0x42, 0x69, 0x65, 0x65,
    0x65, 0x69, 0x42, 0x04, 0x00, 0x00,
    0x00, 0x00, 0x1C, 0x14, 0x1C, 0x08,
    0x18, 0x08, 0x18, 0x00, 0x00, 0x00,
    0x00, 0x70, 0xC8, 0xEE, 0xF9, 0x70,
    0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
    0x80, 0xC0, 0xE0, 0xF0, 0xF0, 0x70,
    0x38, 0x38, 0x38, 0x78, 0x70, 0xF0,
    0xE0, 0xE0, 0x80, 0x00, 0x00, 0x00,
    0x00, 0x00, 0x00, 0x80, 0xF0, 0xF8,
    0xF8, 0xF8, 0xF8, 0x00, 0x00, 0x00,
    0x80, 0xE0, 0xF8, 0xF8, 0xF8, 0xF8,
    0xF0, 0x00, 0x00, 0x00, 0x00, 0x00,
    0x80, 0xF8, 0xF8, 0xF8, 0x38, 0x00,
    0x80, 0xE0, 0xF0, 0xF8, 0x78, 0x38,
    0x08, 0x08, 0x00, 0x00, 0x00, 0x00,
    0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
    0x80, 0xF8, 0xF8, 0xF8, 0x38, 0x38,
    0x38, 0xF8, 0xF0, 0xF0, 0xE0, 0x00,
    0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
    0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
    0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
    0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
    0x00, 0x00, 0x00, 0x80, 0xFC, 0xFC,
    0xFC, 0x1C, 0x00, 0x00, 0x00, 0x00,
    0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
#    elif defined(OLED_LOGO_HUE_MANITEE)
    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // 0x80
    0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
    0x00, 0x00, 0x00, 0x80, 0xC0, 0xC0,
    0x90, 0x70, 0xE8, 0xA8, 0xE4, 0xC4,
    0xC4, 0xA0, 0xE4, 0xB0, 0xDC, 0xE4,


@@ 675,120 574,13 @@ static const unsigned char font[] PROGMEM = {
    0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
    0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
    0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
    0xF8, 0xF8, 0x00, 0x00, 0x00, 0x00, // 0x90
    0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
    0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
    0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
    0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
    0xE0, 0xF0, 0xF0, 0xF0, 0xE0, 0xEC,
    0xEE, 0xF7, 0xF3, 0x70, 0x20, 0x00,
    0x7C, 0x7C, 0x7C, 0x7E, 0x00, 0x7E,
    0x7E, 0x7E, 0x7F, 0x7F, 0x7F, 0x00,
    0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
    0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
    0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
    0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
    0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
    0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
    0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
    0x00, 0x00, 0x00, 0x00, 0x00, 0xF0, // 0xA0
    0xFC, 0xF6, 0xF7, 0xEF, 0xFF, 0x87,
    0x1F, 0x1F, 0x1F, 0x1F, 0x1F, 0x1F,
    0x1F, 0x1F, 0x1F, 0xFF, 0xFF, 0xFF,
    0xFF, 0x07, 0x1F, 0x1F, 0x19, 0x15,
    0xF7, 0x16, 0x1A, 0x1B, 0x16, 0x07,
    0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
    0x00, 0x00, 0x0C, 0x0C, 0x33, 0x33,
    0x33, 0x33, 0x33, 0x33, 0xC0, 0xC0,
    0x00, 0x00, 0x03, 0x03, 0xFF, 0xFF,
    0x03, 0x03, 0x00, 0x00, 0xC0, 0xC0,
    0x00, 0x00, 0x00, 0xFC, 0xFC, 0x03,
    0x03, 0x03, 0x03, 0x03, 0x03, 0xFC,
    0xFC, 0x00, 0x00, 0x00, 0xFC, 0xFC,
    0x03, 0x03, 0x03, 0x03, 0x03, 0x03,
    0xC0, 0xC0, 0x00, 0x00, 0x00, 0x00,
    0xFF, 0xFF, 0x30, 0x30, 0xCC, 0xCC, // 0xB0
    0x03, 0x03, 0x00, 0x00, 0x00, 0x00,
    0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
    0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
    0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
    0x0F, 0x1F, 0x3F, 0x7F, 0x7F, 0x7F,
    0x7F, 0x7F, 0x3F, 0x1E, 0x0C, 0x00,
    0x1F, 0x1F, 0x1F, 0x3F, 0x00, 0x3F,
    0x3F, 0x3F, 0x7F, 0x7F, 0x7F, 0x00,
    0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
    0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
    0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
    0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
    0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
    0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
    0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
    0x00, 0x00, 0x00, 0x00, 0x00, 0x01, // 0xC0
    0x03, 0x07, 0x07, 0x07, 0x07, 0x01,
    0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
    0x00, 0x00, 0x00, 0x03, 0x07, 0x07,
    0x03, 0x00, 0x00, 0x02, 0x04, 0x00,
    0x07, 0x00, 0x00, 0x00, 0x00, 0x00,
    0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
    0x00, 0x00, 0x03, 0x03, 0x03, 0x03,
    0x03, 0x03, 0x03, 0x03, 0x00, 0x00,
    0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
    0x03, 0x03, 0x03, 0x03, 0x00, 0x00,
    0x00, 0x00, 0x00, 0x00, 0x00, 0x03,
    0x03, 0x03, 0x03, 0x03, 0x03, 0x00,
    0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
    0x03, 0x03, 0x03, 0x03, 0x03, 0x03,
    0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
    0x03, 0x03, 0x00, 0x00, 0x00, 0x00, // 0xD0
    0x03, 0x03, 0x00, 0x00, 0x00, 0x00,
    0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
    0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
    0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
    0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
    0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
    0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
    0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
    0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
    0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
    0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
    0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
    0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
    0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // 0xDF
    0x00, 0x1C, 0x1C, 0x3E, 0x7F, 0x7F,
    0x00, 0x14, 0x08, 0x14, 0x00, 0x00,
    0x00, 0x1C, 0x1C, 0x3E, 0x7F, 0x7F,
    0x00, 0x22, 0x1C, 0x41, 0x3E, 0x00,
    0x00, 0x00, 0x00, 0x30, 0x18, 0x0C,
    0x06, 0x0C, 0x18, 0x30, 0x00, 0x00,
    0x00, 0x00, 0x06, 0x06, 0x06, 0x0C,
    0x18, 0x30, 0x66, 0x66, 0x66, 0x00,
    0x00, 0x00, 0x00, 0x08, 0x0C, 0x7E,
    0x7F, 0x7E, 0x0C, 0x08, 0x00, 0x00,
    0x00, 0x00, 0x77, 0x77, 0x77, 0x00,
    0x77, 0x77, 0x77, 0x00, 0x00, 0x00,
    0x00, 0x00, 0xE7, 0xA5, 0xFF, 0x24,
    0x24, 0xFF, 0xA5, 0xE7, 0x00, 0x00,
    0x00, 0x00, 0x1C, 0x22, 0xC9, 0xD1,
    0xC9, 0x22, 0x1C, 0x00, 0x00, 0x00,
    0x00, 0x10, 0x02, 0x38, 0xFC, 0xED,
    0xFC, 0x38, 0x02, 0x10, 0x00, 0x00,
    0x00, 0x00, 0x00, 0x3E, 0x4A, 0x4F,
    0x4A, 0x3E, 0x00, 0x00, 0x00, 0x00,
    0x00, 0x00, 0x40, 0x60, 0x6A, 0x64,
    0x6A, 0x60, 0x40, 0x00, 0x00, 0x00,
    0x00, 0x04, 0x42, 0x69, 0x65, 0x65,
    0x65, 0x69, 0x42, 0x04, 0x00, 0x00,
    0x00, 0x00, 0x1C, 0x14, 0x1C, 0x08,
    0x18, 0x08, 0x18, 0x00, 0x00, 0x00,
    0x00, 0x70, 0xC8, 0xEE, 0xF9, 0x70,
    0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
    0xF8, 0xF8, 0x00, 0x00, 0x00, 0x00,
    0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
    0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
    0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
    0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
#    elif defined(OLED_LOGO_CORNE)
    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // 0x80
    0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
    0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
    0x00, 0x00, 0x00, 0x00, 0xC0, 0xE0,
    0xF0, 0xF8, 0xF8, 0x18, 0x00, 0xC0,


@@ 804,11 596,36 @@ static const unsigned char font[] PROGMEM = {
    0xC0, 0xE0, 0xE0, 0xE0, 0xE0, 0x00,
    0x00, 0xE0, 0xE0, 0xC0, 0xC0, 0xE0,
    0xE0, 0xE0, 0xE0, 0xE0, 0xC0, 0x80,
    0x00, 0x00, 0x00, 0x00, 0x80, 0xC0, // 0x90
    0x00, 0x00, 0x00, 0x00, 0x80, 0xC0,
    0xE0, 0xE0, 0xE0, 0xE0, 0xE0, 0xE0,
    0xE0, 0xE0, 0xC0, 0x80, 0x00, 0x00,
    0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
    0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
#    else
    0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
    0x40, 0x40, 0x40, 0xF0, 0xF8, 0xF8,
    0xFF, 0x38, 0xFF, 0xF8, 0xF8, 0x3F,
    0xF8, 0xF8, 0xFF, 0x38, 0xFF, 0xF8,
    0xF8, 0xF0, 0x40, 0x40, 0x40, 0x00,
    0x00, 0x00, 0x00, 0x00, 0x00, 0x80,
    0xC0, 0xC0, 0xC0, 0x80, 0x00, 0x00,
    0xC0, 0xC0, 0x80, 0x00, 0x00, 0x00,
    0x80, 0xC0, 0xC0, 0x00, 0xC0, 0xC0,
    0x00, 0x00, 0x80, 0xC0, 0xC0, 0x00,
    0x00, 0x00, 0x00, 0x00, 0xC0, 0xC0,
    0xC0, 0xC0, 0xC0, 0x00, 0xC0, 0xC0,
    0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
    0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
    0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
    0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
    0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
    0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
    0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
    0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
    0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
#endif

// First icon section
    0xE0, 0xF0, 0xF0, 0xF0, 0xE0, 0xEC,
    0xEE, 0xF7, 0xF3, 0x70, 0x20, 0x00,
    0x7C, 0x7C, 0x7C, 0x7E, 0x00, 0x7E,


@@ 817,10 634,57 @@ static const unsigned char font[] PROGMEM = {
    0x4F, 0x5B, 0xFE, 0xC0, 0x00, 0x00,
    0xC0, 0x00, 0xDC, 0xD7, 0xDE, 0xDE,
    0xDE, 0xD7, 0xDC, 0x00, 0xC0, 0x00,
    0x3E, 0x4A, 0x4F, 0x4A, 0x3E, 0x00,
    0x18, 0x3C, 0x7C, 0x3A, 0x7D, 0x24,
    0x14, 0x36, 0x00, 0x36, 0x77, 0x77,

// middle logo section
#    if defined(OLED_LOGO_GMK_BAD)
    0x00, 0x00, 0x00, 0x00, 0x00, 0x3C,
    0xFF, 0xFF, 0xFF, 0xC1, 0x80, 0x00,
    0x00, 0x38, 0x38, 0xB8, 0xB8, 0xF9,
    0xF9, 0xF8, 0x38, 0x00, 0x00, 0x00,
    0x00, 0xC0, 0xF8, 0xFF, 0xFF, 0x1F,
    0x01, 0x3F, 0xFF, 0xFF, 0xF0, 0xFE,
    0x7F, 0x0F, 0x03, 0xFF, 0xFF, 0xFF,
    0xFF, 0x00, 0x00, 0x00, 0x00, 0x80,
    0xFF, 0xFF, 0xFF, 0x3F, 0x1E, 0x7F,
    0xFF, 0xFF, 0xF3, 0xC1, 0x80, 0x00,
    0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
    0x00, 0x00, 0x00, 0x00, 0x00, 0x80,
    0xFF, 0xFF, 0xFF, 0x3F, 0x1C, 0x1C,
    0x9C, 0xFF, 0xFF, 0xF3, 0xE1, 0x00,
    0x00, 0x00, 0x00, 0xF0, 0xFC, 0xFE,
    0xFF, 0x0F, 0x07, 0x07, 0x8E, 0xFF,
    0xFF, 0xFF, 0x3F, 0x00, 0x00, 0x00,
    0x00, 0xF0, 0xFC, 0xFE, 0xFF, 0x8F,
    0x07, 0x07, 0x8E, 0xFF, 0xFF, 0xFF,
    0x3F, 0x00, 0x00, 0x00, 0x00, 0x80,
    0xC0, 0x80, 0x00, 0x00, 0x00, 0x00,
#    elif defined(OLED_LOGO_HUE_MANITEE)
    0x00, 0x00, 0x00, 0x00, 0x00, 0xF0,
    0xFC, 0xF6, 0xF7, 0xEF, 0xFF, 0x87,
    0x1F, 0x1F, 0x1F, 0x1F, 0x1F, 0x1F,
    0x1F, 0x1F, 0x1F, 0xFF, 0xFF, 0xFF,
    0xFF, 0x07, 0x1F, 0x1F, 0x19, 0x15,
    0xF7, 0x16, 0x1A, 0x1B, 0x16, 0x07,
    0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
    0x00, 0x00, 0x0C, 0x0C, 0x33, 0x33,
    0x33, 0x33, 0x33, 0x33, 0xC0, 0xC0,
    0x00, 0x00, 0x03, 0x03, 0xFF, 0xFF,
    0x03, 0x03, 0x00, 0x00, 0xC0, 0xC0,
    0x00, 0x00, 0x00, 0xFC, 0xFC, 0x03,
    0x03, 0x03, 0x03, 0x03, 0x03, 0xFC,
    0xFC, 0x00, 0x00, 0x00, 0xFC, 0xFC,
    0x03, 0x03, 0x03, 0x03, 0x03, 0x03,
    0xC0, 0xC0, 0x00, 0x00, 0x00, 0x00,
    0xFF, 0xFF, 0x30, 0x30, 0xCC, 0xCC,
    0x03, 0x03, 0x00, 0x00, 0x00, 0x00,
    0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
    0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
    0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
#    elif defined(OLED_LOGO_CORNE)
    0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // 0xA0
    0x00, 0x00, 0x00, 0xF8, 0xFC, 0xFE,
    0xFF, 0xE0, 0x00, 0xFF, 0xFF, 0xFF,
    0xFF, 0xFF, 0xFF, 0x80, 0xFF, 0xFF,


@@ 836,250 700,13 @@ static const unsigned char font[] PROGMEM = {
    0x01, 0x00, 0x00, 0x00, 0x00, 0x00,
    0x00, 0xFF, 0xFF, 0xFF, 0x01, 0x00,
    0x00, 0x00, 0x00, 0x01, 0xFF, 0xFF,
    0xFF, 0x00, 0x00, 0xFF, 0xFF, 0xFF, // 0xB0
    0xFF, 0x00, 0x00, 0xFF, 0xFF, 0xFF,
    0x9D, 0x1C, 0x1C, 0x1C, 0x1C, 0x1C,
    0x1C, 0x9D, 0xDF, 0xDF, 0xDF, 0x00,
    0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
    0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
    0x0F, 0x1F, 0x3F, 0x7F, 0x7F, 0x7F,
    0x7F, 0x7F, 0x3F, 0x1E, 0x0C, 0x00,
    0x1F, 0x1F, 0x1F, 0x3F, 0x00, 0x3F,
    0x3F, 0x3F, 0x7F, 0x7F, 0x7F, 0x00,
    0x30, 0x7B, 0x7F, 0x78, 0x30, 0x20,
    0x20, 0x30, 0x78, 0x7F, 0x3B, 0x00,
    0x03, 0x00, 0x0F, 0x7F, 0x0F, 0x0F,
    0x0F, 0x7F, 0x0F, 0x00, 0x03, 0x00,
    0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
    0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
    0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // 0xC0
    0x00, 0x00, 0x00, 0x03, 0x0F, 0x1F,
    0x3F, 0x3F, 0x3F, 0x3F, 0x1F, 0x1F,
    0x3F, 0x3F, 0x7F, 0x7F, 0x7F, 0x3F,
    0x3F, 0x1F, 0x3F, 0x7F, 0x7F, 0x7F,
    0x7F, 0x7C, 0x78, 0x78, 0x38, 0x1C,
    0x0F, 0x00, 0x00, 0x00, 0x00, 0x00,
    0x00, 0x00, 0x01, 0x03, 0x07, 0x07,
    0x07, 0x07, 0x07, 0x07, 0x07, 0x07,
    0x03, 0x01, 0x00, 0x00, 0x00, 0x00,
    0x01, 0x03, 0x07, 0x07, 0x07, 0x07,
    0x07, 0x07, 0x07, 0x07, 0x03, 0x01,
    0x00, 0x00, 0x00, 0x07, 0x07, 0x07,
    0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
    0x00, 0x07, 0x07, 0x07, 0x00, 0x00,
    0x00, 0x00, 0x00, 0x00, 0x07, 0x07,
    0x07, 0x00, 0x00, 0x00, 0x01, 0x03, // 0xD0
    0x07, 0x07, 0x07, 0x07, 0x07, 0x07,
    0x07, 0x07, 0x03, 0x01, 0x00, 0x00,
    0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
    0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
    0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
    0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
    0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
    0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
    0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
    0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
    0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
    0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
    0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
    0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // 0xDF
    0x00, 0x1C, 0x1C, 0x3E, 0x7F, 0x7F,
    0x00, 0x14, 0x08, 0x14, 0x00, 0x00,
    0x00, 0x1C, 0x1C, 0x3E, 0x7F, 0x7F,
    0x00, 0x22, 0x1C, 0x41, 0x3E, 0x00,
    0x00, 0x00, 0x00, 0x30, 0x18, 0x0C,
    0x06, 0x0C, 0x18, 0x30, 0x00, 0x00,
    0x00, 0x00, 0x06, 0x06, 0x06, 0x0C,
    0x18, 0x30, 0x66, 0x66, 0x66, 0x00,
    0x00, 0x00, 0x00, 0x08, 0x0C, 0x7E,
    0x7F, 0x7E, 0x0C, 0x08, 0x00, 0x00,
    0x00, 0x00, 0x77, 0x77, 0x77, 0x00,
    0x77, 0x77, 0x77, 0x00, 0x00, 0x00,
    0x00, 0x00, 0xE7, 0xA5, 0xFF, 0x24,
    0x24, 0xFF, 0xA5, 0xE7, 0x00, 0x00,
    0x00, 0x00, 0x1C, 0x22, 0xC9, 0xD1,
    0xC9, 0x22, 0x1C, 0x00, 0x00, 0x00,
    0x00, 0x10, 0x02, 0x38, 0xFC, 0xED,
    0xFC, 0x38, 0x02, 0x10, 0x00, 0x00,
    0x00, 0x00, 0x00, 0x3E, 0x4A, 0x4F,
    0x4A, 0x3E, 0x00, 0x00, 0x00, 0x00,
    0x00, 0x00, 0x40, 0x60, 0x6A, 0x64,
    0x6A, 0x60, 0x40, 0x00, 0x00, 0x00,
    0x00, 0x04, 0x42, 0x69, 0x65, 0x65,
    0x65, 0x69, 0x42, 0x04, 0x00, 0x00,
    0x00, 0x00, 0x1C, 0x14, 0x1C, 0x08,
    0x18, 0x08, 0x18, 0x00, 0x00, 0x00,
    0x00, 0x70, 0xC8, 0xEE, 0xF9, 0x70,
    0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
    0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
    0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
    0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
    0x00, 0x00, 0x00, 0x00, 0x00, 0x00,

#    elif defined(OLED_LOGO_GOTHAM) // see /keyboards/crkbd/keymaps/gotham/oled.c
    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // 0x80
    0x00, 0x00, 0xC0, 0x60, 0x30, 0x18,
    0xF8, 0x18, 0x00, 0xC0, 0x70, 0x1C,
    0x06, 0x03, 0x01, 0x01, 0x01, 0x01,
    0x01, 0xC3, 0x7E, 0x00, 0x00, 0x00,
    0x00, 0x00, 0x08, 0x08, 0x08, 0x00,
    0x00, 0x08, 0x08, 0x08, 0x00, 0x1C,
    0x22, 0x41, 0x41, 0x41, 0x22, 0x1C,
    0x00, 0x08, 0x08, 0x08, 0x00, 0x00,
    0x08, 0x08, 0x08, 0x00, 0x00, 0x00,
    0x00, 0x00, 0x00, 0x20, 0x20, 0xF8,
    0x0C, 0x04, 0xE7, 0xE4, 0xE4, 0x07,
    0x04, 0xE4, 0xE7, 0xE4, 0x04, 0x07,
    0xE4, 0xE4, 0xE7, 0x04, 0x0C, 0xF8,
    0x20, 0x20, 0x00, 0x00, 0x00, 0x00,
    0x00, 0x1C, 0x1C, 0x3E, 0x7F, 0x7F,
    0x00, 0x14, 0x08, 0x14, 0x00, 0x00, // 0x90
    0x00, 0x1C, 0x1C, 0x3E, 0x7F, 0x7F,
    0x00, 0x22, 0x1C, 0x41, 0x3E, 0x00,
    0x00, 0x00, 0x00, 0x00, 0x00, 0x30,
    0x18, 0x0C, 0x06, 0x0C, 0x18, 0x30,
    0x77, 0x77, 0x77, 0x00, 0x77, 0x77,
    0x77, 0x00, 0x00, 0x00, 0x00, 0x00,
    0x00, 0x00, 0x00, 0x3E, 0x4A, 0x4F,
    0x4A, 0x3E, 0x00, 0x00, 0x00, 0x00,
    0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
    0x00, 0x00, 0x00, 0x08, 0x00, 0x00,
    0x00, 0x00, 0x08, 0x00, 0x00, 0x60,
    0x70, 0x3E, 0x1F, 0x19, 0x18, 0x0C,
    0x00, 0x00, 0x08, 0x00, 0x00, 0x00,
    0x00, 0x08, 0x00, 0x00, 0x00, 0x00,
    0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
    0x00, 0xF8, 0x0C, 0x06, 0x07, 0xFC, // 0xA0
    0x00, 0xFF, 0x01, 0x00, 0x00, 0x00,
    0xFF, 0x80, 0xFF, 0x01, 0x00, 0x00,
    0x00, 0x00, 0x00, 0x00, 0xF0, 0x1C,
    0x07, 0x01, 0x00, 0x00, 0x00, 0x00,
    0x00, 0x00, 0x1C, 0x22, 0x41, 0x00,
    0x00, 0x1C, 0x22, 0x00, 0x00, 0x1C,
    0x3E, 0x7F, 0x63, 0x41, 0x22, 0x1C,
    0x00, 0x00, 0x08, 0x00, 0x00, 0x00,
    0x00, 0x08, 0x00, 0x00, 0x00, 0x00,
    0x00, 0x00, 0x00, 0x49, 0x49, 0xFF,
    0x00, 0x00, 0x0F, 0x1F, 0x3F, 0x38,
    0x30, 0xFF, 0xFF, 0xFF, 0x30, 0x38,
    0x3F, 0x1F, 0x0F, 0x00, 0x00, 0xFF,
    0x49, 0x49, 0x00, 0x00, 0x00, 0x00,
    0x00, 0x00, 0x40, 0x60, 0x6A, 0x64,
    0x6A, 0x60, 0x40, 0x00, 0x00, 0x00, // 0xB0
    0x00, 0x04, 0x42, 0x69, 0x65, 0x65,
    0x65, 0x69, 0x42, 0x04, 0x00, 0x00,
    0x00, 0x00, 0x00, 0x06, 0x06, 0x06,
    0x0C, 0x18, 0x30, 0x66, 0x66, 0x66,
    0x00, 0x00, 0xFC, 0x24, 0x24, 0xFC,
    0x24, 0x24, 0xFC, 0x24, 0x24, 0xFC,
    0x24, 0x24, 0xFC, 0x24, 0x24, 0xFC,
    0x24, 0x24, 0xFC, 0x24, 0x24, 0xFC,
    0x24, 0x24, 0xFC, 0x00, 0x00, 0x00,
    0xF0, 0x90, 0x90, 0xF0, 0x90, 0x90,
    0xF0, 0x98, 0x9C, 0xF2, 0x22, 0x21,
    0xE1, 0x01, 0x01, 0x01, 0xF1, 0x91,
    0x91, 0xFA, 0x4C, 0x4C, 0xF8, 0x48,
    0x48, 0xF8, 0x48, 0x48, 0xF8, 0x00,
    0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
    0x00, 0x03, 0x0E, 0x18, 0x30, 0x21, // 0xC0
    0x21, 0x31, 0x18, 0x10, 0x30, 0x20,
    0x60, 0x41, 0x60, 0x20, 0x30, 0x18,
    0x30, 0x60, 0x40, 0x40, 0x47, 0x4C,
    0x48, 0x68, 0x38, 0x1C, 0x0F, 0x00,
    0x00, 0x00, 0x00, 0x08, 0x00, 0x00,
    0x00, 0x00, 0x08, 0x00, 0x00, 0x1C,
    0x22, 0x41, 0x63, 0x7F, 0x3E, 0x1C,
    0x00, 0x00, 0x22, 0x1C, 0x00, 0x00,
    0x41, 0x22, 0x1C, 0x00, 0x00, 0x00,
    0x00, 0x00, 0x00, 0x02, 0x02, 0x0F,
    0x18, 0x10, 0x70, 0x10, 0x10, 0x70,
    0x10, 0x13, 0x73, 0x13, 0x10, 0x70,
    0x10, 0x10, 0x70, 0x10, 0x18, 0x0F,
    0x02, 0x02, 0x00, 0x00, 0x00, 0x00,
    0x00, 0x00, 0x1C, 0x22, 0xC9, 0xD1,
    0xC9, 0x22, 0x1C, 0x00, 0x00, 0x00, // 0xD0
    0x00, 0x10, 0x02, 0x38, 0xFC, 0xED,
    0xFC, 0x38, 0x02, 0x10, 0x00, 0x00,
    0x08, 0x0C, 0x7E, 0x7F, 0x7E, 0x0C,
    0x08, 0x00, 0x00, 0x00, 0x00, 0x00,
    0x00, 0x00, 0x0F, 0x09, 0x09, 0x09,
    0x0F, 0x09, 0x09, 0x0F, 0x09, 0x09,
    0x09, 0x09, 0x09, 0x09, 0x09, 0x09,
    0x09, 0x0F, 0x09, 0x09, 0x0F, 0x09,
    0x09, 0x09, 0x0F, 0x00, 0x00, 0x00,
    0x07, 0x04, 0x04, 0x07, 0x04, 0x04,
    0x07, 0x04, 0x04, 0x0F, 0x09, 0x09,
    0x0F, 0x00, 0x00, 0x00, 0x07, 0x04,
    0x04, 0x07, 0x02, 0x02, 0x03, 0x02,
    0x02, 0x03, 0x02, 0x02, 0x03, 0x00,
    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // 0xDF
    0x00, 0x1C, 0x1C, 0x3E, 0x7F, 0x7F,
    0x00, 0x14, 0x08, 0x14, 0x00, 0x00,
    0x00, 0x1C, 0x1C, 0x3E, 0x7F, 0x7F,
    0x00, 0x22, 0x1C, 0x41, 0x3E, 0x00,
    0x00, 0x00, 0x00, 0x30, 0x18, 0x0C,
    0x06, 0x0C, 0x18, 0x30, 0x00, 0x00,
    0x00, 0x00, 0x06, 0x06, 0x06, 0x0C,
    0x18, 0x30, 0x66, 0x66, 0x66, 0x00,
    0x00, 0x00, 0x00, 0x08, 0x0C, 0x7E,
    0x7F, 0x7E, 0x0C, 0x08, 0x00, 0x00,
    0x00, 0x00, 0x77, 0x77, 0x77, 0x00,
    0x77, 0x77, 0x77, 0x00, 0x00, 0x00,
    0x00, 0x00, 0xE7, 0xA5, 0xFF, 0x24,
    0x24, 0xFF, 0xA5, 0xE7, 0x00, 0x00,
    0x00, 0x00, 0x1C, 0x22, 0xC9, 0xD1,
    0xC9, 0x22, 0x1C, 0x00, 0x00, 0x00,
    0x00, 0x10, 0x02, 0x38, 0xFC, 0xED,
    0xFC, 0x38, 0x02, 0x10, 0x00, 0x00,
    0x00, 0x00, 0x00, 0x3E, 0x4A, 0x4F,
    0x4A, 0x3E, 0x00, 0x00, 0x00, 0x00,
    0x00, 0x00, 0x40, 0x60, 0x6A, 0x64,
    0x6A, 0x60, 0x40, 0x00, 0x00, 0x00,
    0x00, 0x04, 0x42, 0x69, 0x65, 0x65,
    0x65, 0x69, 0x42, 0x04, 0x00, 0x00,
    0x00, 0x00, 0x1C, 0x14, 0x1C, 0x08,
    0x18, 0x08, 0x18, 0x00, 0x00, 0x00,
    0x00, 0x70, 0xC8, 0xEE, 0xF9, 0x70,
    0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
    0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
    0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
    0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
    0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
#    else
    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // 0x80
    0x40, 0x40, 0x40, 0xF0, 0xF8, 0xF8,
    0xFF, 0x38, 0xFF, 0xF8, 0xF8, 0x3F,
    0xF8, 0xF8, 0xFF, 0x38, 0xFF, 0xF8,
    0xF8, 0xF0, 0x40, 0x40, 0x40, 0x00,
    0x00, 0x00, 0x00, 0x00, 0x00, 0x80,
    0xC0, 0xC0, 0xC0, 0x80, 0x00, 0x00,
    0xC0, 0xC0, 0x80, 0x00, 0x00, 0x00,
    0x80, 0xC0, 0xC0, 0x00, 0xC0, 0xC0,
    0x00, 0x00, 0x80, 0xC0, 0xC0, 0x00,
    0x00, 0x00, 0x00, 0x00, 0xC0, 0xC0,
    0xC0, 0xC0, 0xC0, 0x00, 0xC0, 0xC0,
    0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
    0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
    0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
    0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // 0x90
    0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
    0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
    0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
    0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
    0xE0, 0xF0, 0xF0, 0xF0, 0xE0, 0xEC,
    0xEE, 0xF7, 0xF3, 0x70, 0x20, 0x00,
    0x7C, 0x7C, 0x7C, 0x7E, 0x00, 0x7E,
    0x7E, 0x7E, 0x7F, 0x7F, 0x7F, 0x00,
    0x00, 0x80, 0xC0, 0xE0, 0x7E, 0x5B,
    0x4F, 0x5B, 0xFE, 0xC0, 0x00, 0x00,
    0xC0, 0x00, 0xDC, 0xD7, 0xDE, 0xDE,
    0xDE, 0xD7, 0xDC, 0x00, 0xC0, 0x00,
    0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
    0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
    0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // 0xA0
    0x49, 0x49, 0x49, 0xFF, 0xFF, 0xFF,
    0xFF, 0xE0, 0xDF, 0xBF, 0xBF, 0x00,
    0xBF, 0xBF, 0xDF, 0xE0, 0xFF, 0xFF,


@@ 1095,11 722,14 @@ static const unsigned char font[] PROGMEM = {
    0x7F, 0x7E, 0x03, 0x03, 0x7E, 0x7E,
    0x03, 0x03, 0x7F, 0x7E, 0x00, 0x0F,
    0x3E, 0x70, 0x3C, 0x06, 0x3C, 0x70,
    0x3E, 0x0F, 0x00, 0x32, 0x7B, 0x49, // 0xB0
    0x3E, 0x0F, 0x00, 0x32, 0x7B, 0x49,
    0x49, 0x3F, 0x7E, 0x00, 0x7F, 0x7E,
    0x03, 0x03, 0x00, 0x1E, 0x3F, 0x69,
    0x69, 0x6F, 0x26, 0x00, 0x00, 0x00,
    0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
#    endif

// second icon section
    0x0F, 0x1F, 0x3F, 0x7F, 0x7F, 0x7F,
    0x7F, 0x7F, 0x3F, 0x1E, 0x0C, 0x00,
    0x1F, 0x1F, 0x1F, 0x3F, 0x00, 0x3F,


@@ 1109,9 739,78 @@ static const unsigned char font[] PROGMEM = {
    0x03, 0x00, 0x0F, 0x7F, 0x0F, 0x0F,
    0x0F, 0x7F, 0x0F, 0x00, 0x03, 0x00,
    0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
    0xF0, 0xFE, 0xF1, 0x91, 0xF6, 0xF0,
    0xF0, 0xFC, 0xF2, 0x92, 0xFC, 0xF0,

// bottom logo section
#    if defined(OLED_LOGO_GMK_BAD)
    0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
    0x00, 0x01, 0x03, 0x03, 0x03, 0x07,
    0x07, 0x07, 0x07, 0x03, 0x03, 0x03,
    0x01, 0x00, 0x00, 0x00, 0x00, 0x00,
    0x06, 0x07, 0x07, 0x07, 0x01, 0x00,
    0x00, 0x00, 0x07, 0x07, 0x07, 0x01,
    0x00, 0x00, 0x00, 0x07, 0x07, 0x07,
    0x07, 0x00, 0x00, 0x00, 0x00, 0x07,
    0x07, 0x07, 0x07, 0x00, 0x00, 0x00,
    0x00, 0x03, 0x07, 0x07, 0x07, 0x06,
    0x04, 0x00, 0x00, 0x00, 0x00, 0x00,
    0x00, 0x00, 0x00, 0x00, 0x00, 0x07,
    0x07, 0x07, 0x07, 0x07, 0x07, 0x07,
    0x07, 0x07, 0x03, 0x01, 0x00, 0x00,
    0x00, 0x00, 0x00, 0x00, 0x03, 0x07,
    0x07, 0x07, 0x07, 0x03, 0x07, 0x07,
    0x07, 0x07, 0x00, 0x00, 0x00, 0x00,
    0x00, 0x00, 0x03, 0x07, 0x07, 0x07,
    0x07, 0x03, 0x07, 0x07, 0x07, 0x07,
    0x00, 0x00, 0x00, 0x00, 0x01, 0x07,
    0x07, 0x07, 0x01, 0x00, 0x00, 0x00,
#    elif defined(OLED_LOGO_HUE_MANITEE)
    0x00, 0x00, 0x00, 0x00, 0x00, 0x01,
    0x03, 0x07, 0x07, 0x07, 0x07, 0x01,
    0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
    0x00, 0x00, 0x00, 0x03, 0x07, 0x07,
    0x03, 0x00, 0x00, 0x02, 0x04, 0x00,
    0x07, 0x00, 0x00, 0x00, 0x00, 0x00,
    0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
    0x00, 0x00, 0x03, 0x03, 0x03, 0x03,
    0x03, 0x03, 0x03, 0x03, 0x00, 0x00,
    0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
    0x03, 0x03, 0x03, 0x03, 0x00, 0x00,
    0x00, 0x00, 0x00, 0x00, 0x00, 0x03,
    0x03, 0x03, 0x03, 0x03, 0x03, 0x00,
    0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
    0x03, 0x03, 0x03, 0x03, 0x03, 0x03,
    0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
    0x03, 0x03, 0x00, 0x00, 0x00, 0x00,
    0x03, 0x03, 0x00, 0x00, 0x00, 0x00,
    0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
    0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
    0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
#    elif defined(OLED_LOGO_CORNE)
    0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
    0x00, 0x00, 0x00, 0x03, 0x0F, 0x1F,
    0x3F, 0x3F, 0x3F, 0x3F, 0x1F, 0x1F,
    0x3F, 0x3F, 0x7F, 0x7F, 0x7F, 0x3F,
    0x3F, 0x1F, 0x3F, 0x7F, 0x7F, 0x7F,
    0x7F, 0x7C, 0x78, 0x78, 0x38, 0x1C,
    0x0F, 0x00, 0x00, 0x00, 0x00, 0x00,
    0x00, 0x00, 0x01, 0x03, 0x07, 0x07,
    0x07, 0x07, 0x07, 0x07, 0x07, 0x07,
    0x03, 0x01, 0x00, 0x00, 0x00, 0x00,
    0x01, 0x03, 0x07, 0x07, 0x07, 0x07,
    0x07, 0x07, 0x07, 0x07, 0x03, 0x01,
    0x00, 0x00, 0x00, 0x07, 0x07, 0x07,
    0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
    0x00, 0x07, 0x07, 0x07, 0x00, 0x00,
    0x00, 0x00, 0x00, 0x00, 0x07, 0x07,
    0x07, 0x00, 0x00, 0x00, 0x01, 0x03,
    0x07, 0x07, 0x07, 0x07, 0x07, 0x07,
    0x07, 0x07, 0x03, 0x01, 0x00, 0x00,
    0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
    0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // 0xC0
#else
    0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
    0x01, 0x01, 0x01, 0x07, 0x0F, 0x0F,
    0x7F, 0x0F, 0x7F, 0x0F, 0x0F, 0x7E,
    0x0F, 0x0F, 0x7F, 0x0F, 0x7F, 0x0F,


@@ 1127,12 826,16 @@ static const unsigned char font[] PROGMEM = {
    0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
    0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
    0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // 0xD0
    0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
    0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
    0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
    0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
    0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
#endif

// third icon section
    0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
    0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
    0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
    0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
    0x00, 0x00, 0x00, 0x00, 0x00, 0x00,


@@ 1142,7 845,8 @@ static const unsigned char font[] PROGMEM = {
    0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
    0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
    0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // 0xDF

// fourth icon section
    0x00, 0x1C, 0x1C, 0x3E, 0x7F, 0x7F,
    0x00, 0x14, 0x08, 0x14, 0x00, 0x00,
    0x00, 0x1C, 0x1C, 0x3E, 0x7F, 0x7F,


@@ 1175,8 879,6 @@ static const unsigned char font[] PROGMEM = {
    0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
    0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
    0x00, 0x00, 0x00, 0x00, 0x00, 0x00,

#    endif
  };
// clang-format on
#endif

M users/drashna/oled_stuff.c => users/drashna/oled_stuff.c +24 -12
@@ 16,6 16,8 @@

#include "drashna.h"

extern bool host_driver_disabled;

#ifndef KEYLOGGER_LENGTH
// #    ifdef OLED_DISPLAY_128X64
#    define KEYLOGGER_LENGTH ((uint8_t)(OLED_DISPLAY_HEIGHT / OLED_FONT_WIDTH))


@@ 29,24 31,24 @@ static char     keylog_str[KEYLOGGER_LENGTH + 1] = {0};
static uint16_t log_timer                        = 0;

// clang-format off
static const char PROGMEM code_to_name[0xFF] = {
static const char PROGMEM code_to_name[256] = {
//   0    1    2    3    4    5    6    7    8    9    A    B    c    D    E    F
    ' ', ' ', ' ', ' ', 'a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j', 'k', 'l',  // 0x
    'm', 'n', 'o', 'p', 'q', 'r', 's', 't', 'u', 'v', 'w', 'x', 'y', 'z', '1', '2',  // 1x
    '3', '4', '5', '6', '7', '8', '9', '0',  20,  19,  27,  26,  22, '-', '=', '[',  // 2x
    ']','\\', '#', ';','\'', '`', ',', '.', '/', 128, ' ', ' ', ' ', ' ', ' ', ' ',  // 3x
    ' ', ' ', ' ', ' ', ' ', ' ', 'P', 'S', ' ', ' ', ' ', ' ',  16, ' ', ' ', ' ',  // 4x
    ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ',  // 5x
    ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ',  // 6x
    ']','\\', '#', ';','\'', '`', ',', '.', '/', 128, '1', '2', '3', '4', '5', '6',  // 3x
    '7', '8', '9', '0', '1', '2', 'P', 'S',  19, ' ',  17,  30,  16,  16,  31,  26,  // 4x
     27,  25,  24, 'N', '/', '*', '-', '+',  23, '1', '2', '3', '4', '5', '6', '7',  // 5x
    '8', '9', '0', '.','\\', 'A',   0, '=', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ',  // 6x
    ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ',  // 7x
    ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ',  // 8x
    ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ',  // 9x
    ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ',  // Ax
    ' ', ' ', ' ', ' ', ' ',   0, ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ',  // Ax
    ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ',  // Bx
    ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ',  // Cx
    ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ',  // Dx
    'C', 'S', 'A', 'C', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ',  // Ex
    ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' '        // Fx
    'C', 'S', 'A', 'C', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', 24,  26,  24,  // Ex
     25,0x9D,0x9D,0x9D,0x9D,0x9D,0x9D,0x9D,0x9D,  24,  25,  27,  26,  ' ', ' ', ' '   // Fx
};
// clang-format on



@@ 148,8 150,8 @@ void render_keylock_status(uint8_t led_usb_state) {
    oled_write_P(PSTR(OLED_RENDER_LOCK_NUML), led_usb_state & (1 << USB_LED_NUM_LOCK));
    oled_write_P(PSTR(" "), false);
    oled_write_P(PSTR(OLED_RENDER_LOCK_CAPS), led_usb_state & (1 << USB_LED_CAPS_LOCK));
    oled_write_P(PSTR(" "), false);
    oled_write_P(PSTR(OLED_RENDER_LOCK_SCLK), led_usb_state & (1 << USB_LED_SCROLL_LOCK));
//    oled_write_P(PSTR(" "), false);
//    oled_write_P(PSTR(OLED_RENDER_LOCK_SCLK), led_usb_state & (1 << USB_LED_SCROLL_LOCK));
}

void render_matrix_scan_rate(void) {


@@ 292,12 294,22 @@ void render_user_status(void) {

    static const char PROGMEM rgb_layer_status[2][3] = {{0xEE, 0xEF, 0}, {0xF0, 0xF1, 0}};
    oled_write_P(rgb_layer_status[userspace_config.rgb_layer_change], false);
    static const char PROGMEM nukem_good[2][3] = {{0xF8, 0xF9, 0}, {0xF6, 0xF7, 0}};
    oled_write_P(nukem_good[0], userspace_config.nuke_switch);
    static const char PROGMEM cat_mode[2][3] = {{0xF8, 0xF9, 0}, {0xF6, 0xF7, 0}};
    oled_write_P(cat_mode[0], host_driver_disabled);
#if defined(UNICODE_ENABLE)
    static const char PROGMEM uc_mod_status[5][3] = {{0xEA, 0xEB, 0}, {0xEC, 0xED, 0}};
    oled_write_P(uc_mod_status[get_unicode_input_mode() == UC_MAC], false);
#endif
    if (userspace_config.nuke_switch) {
#if !defined(OLED_DISPLAY_128X64)
        oled_write_P(PSTR(" "), false);
#endif
        static const char PROGMEM nukem_good[2] = {0xFA, 0};
        oled_write_P(nukem_good, false);
#if !defined(OLED_DISPLAY_128X64)
        oled_advance_page(true);
#endif
    }
#if defined(OLED_DISPLAY_128X64)
    oled_advance_page(true);
#endif

M users/drashna/process_records.c => users/drashna/process_records.c +18 -1
@@ 18,7 18,7 @@
#include "version.h"

uint16_t copy_paste_timer;

bool     host_driver_disabled = false;
// Defines actions tor my global custom keycodes. Defined in drashna.h file
// Then runs the _keymap's record handier if not processed here



@@ 198,6 198,23 @@ bool                       process_record_user(uint16_t keycode, keyrecord_t *re
                    eeconfig_update_user(userspace_config.raw);
                }
            }
            break;
        case KEYLOCK: {
            static host_driver_t *host_driver = 0;

            if (record->event.pressed) {
                if (host_get_driver()) {
                    host_driver = host_get_driver();
                    clear_keyboard();
                    host_set_driver(0);
                    host_driver_disabled = true;
                } else {
                    host_set_driver(host_driver);
                    host_driver_disabled = false;
                }
            }
            break;
            }
#endif
    }
    return true;

M users/drashna/process_records.h => users/drashna/process_records.h +1 -0
@@ 46,6 46,7 @@ enum userspace_custom_keycodes {
    UC_TABL,                                  // ┬─┬ノ( º _ ºノ)
    UC_SHRG,                                  // ¯\_(ツ)_/¯
    UC_DISA,                                  // ಠ_ಠ
    KEYLOCK,                                  // Locks keyboard by unmounting driver
    NEW_SAFE_RANGE                            // use "NEWPLACEHOLDER for keymap specific codes
};


M users/drashna/transport_sync.c => users/drashna/transport_sync.c +12 -8
@@ 33,15 33,16 @@ extern bool tap_toggling;
extern bool swap_hands;
#endif
extern userspace_config_t userspace_config;
extern bool               host_driver_disabled;

uint16_t transport_keymap_config    = 0;
uint32_t transport_userspace_config = 0;
uint32_t transport_userspace_config = 0, transport_user_state = 0;

user_runtime_config_t user_state;

void user_state_sync(uint8_t initiator2target_buffer_size, const void* initiator2target_buffer, uint8_t target2initiator_buffer_size, void* target2initiator_buffer) {
    if (initiator2target_buffer_size == sizeof(user_state)) {
        memcpy(&user_state, initiator2target_buffer, initiator2target_buffer_size);
    if (initiator2target_buffer_size == sizeof(transport_user_state)) {
        memcpy(&transport_user_state, initiator2target_buffer, initiator2target_buffer_size);
    }
}
void user_keymap_sync(uint8_t initiator2target_buffer_size, const void* initiator2target_buffer, uint8_t target2initiator_buffer_size, void* target2initiator_buffer) {


@@ 79,9 80,13 @@ void user_transport_update(void) {
#ifdef SWAP_HANDS_ENABLE
        user_state.swap_hands = swap_hands;
#endif
        user_state.host_driver_disabled = host_driver_disabled;

        transport_user_state = user_state.raw;
    } else {
        keymap_config.raw    = transport_keymap_config;
        userspace_config.raw = transport_userspace_config;
        user_state.raw       = transport_user_state;
#ifdef UNICODE_ENABLE
        unicode_config.input_mode = user_state.unicode_mode;
#endif


@@ 91,22 96,21 @@ void user_transport_update(void) {
#ifdef SWAP_HANDS_ENABLE
        swap_hands = user_state.swap_hands;
#endif
        host_driver_disabled = user_state.host_driver_disabled;
    }
}

void user_transport_sync(void) {
    if (is_keyboard_master()) {
        // Keep track of the last state, so that we can tell if we need to propagate to slave
        static user_runtime_config_t last_user_state;
        static uint16_t              last_keymap = 0;
        static uint32_t              last_config = 0;
        static uint32_t              last_sync[3];
        static uint32_t              last_config = 0, last_sync[3], last_user_state = 0;
        bool                         needs_sync = false;

        // Check if the state values are different
        if (memcmp(&user_state, &last_user_state, sizeof(user_state))) {
        if (memcmp(&transport_user_state, &last_user_state, sizeof(transport_user_state))) {
            needs_sync = true;
            memcpy(&last_user_state, &user_state, sizeof(user_state));
            memcpy(&last_user_state, &transport_user_state, sizeof(transport_user_state));
        }
        // Send to slave every 500ms regardless of state change
        if (timer_elapsed32(last_sync[0]) > 250) {

M users/drashna/transport_sync.h => users/drashna/transport_sync.h +10 -6
@@ 19,12 19,16 @@

#include "drashna.h"

__attribute__((aligned(8))) typedef struct {
    bool audio_enable;
    bool audio_clicky_enable;
    bool tap_toggling;
    bool unicode_mode;
    bool swap_hands;
typedef union {
    uint32_t raw;
    struct {
        bool audio_enable         :1;
        bool audio_clicky_enable  :1;
        bool tap_toggling         :1;
        bool unicode_mode         :1;
        bool swap_hands           :1;
        bool host_driver_disabled :1;
    };
} user_runtime_config_t;

extern user_runtime_config_t user_state;