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