diff options
| -rw-r--r-- | keyboards/handwired/tractyl_manuform/5x6_right/config.h | 2 | ||||
| -rw-r--r-- | keyboards/handwired/tractyl_manuform/5x6_right/f411/config.h | 6 | ||||
| -rw-r--r-- | keyboards/handwired/tractyl_manuform/5x6_right/f411/readme.md | 19 | ||||
| -rw-r--r-- | keyboards/handwired/tractyl_manuform/5x6_right/f411/rules.mk | 3 | ||||
| -rw-r--r-- | keyboards/handwired/tractyl_manuform/5x6_right/keymaps/drashna/config.h | 11 | ||||
| -rw-r--r-- | keyboards/handwired/tractyl_manuform/5x6_right/keymaps/drashna/keymap.c | 10 | ||||
| -rw-r--r-- | keyboards/handwired/tractyl_manuform/config.h | 3 | ||||
| -rw-r--r-- | users/drashna/config.h | 20 | ||||
| -rw-r--r-- | users/drashna/drashna.c | 58 | ||||
| -rw-r--r-- | users/drashna/drashna_font.h | 548 | ||||
| -rw-r--r-- | users/drashna/wrappers.h | 75 | 
11 files changed, 693 insertions, 62 deletions
| diff --git a/keyboards/handwired/tractyl_manuform/5x6_right/config.h b/keyboards/handwired/tractyl_manuform/5x6_right/config.h index cd42364b4f..ce35197f71 100644 --- a/keyboards/handwired/tractyl_manuform/5x6_right/config.h +++ b/keyboards/handwired/tractyl_manuform/5x6_right/config.h @@ -41,8 +41,6 @@ along with this program.  If not, see <http://www.gnu.org/licenses/>.  #define DYNAMIC_KEYMAP_LAYER_COUNT  16  #define LAYER_STATE_16BIT -/* Set 0 if debouncing isn't needed */ -#define DEBOUNCE 5  /* disable action features */  //#define NO_ACTION_LAYER diff --git a/keyboards/handwired/tractyl_manuform/5x6_right/f411/config.h b/keyboards/handwired/tractyl_manuform/5x6_right/f411/config.h index 172ccf7bc2..4dbe03acbf 100644 --- a/keyboards/handwired/tractyl_manuform/5x6_right/f411/config.h +++ b/keyboards/handwired/tractyl_manuform/5x6_right/f411/config.h @@ -44,11 +44,11 @@ along with this program.  If not, see <http://www.gnu.org/licenses/>.  #define WS2812_DMA_STREAM   STM32_DMA1_STREAM7  // DMA Stream for TIMx_UP, see the respective reference manual for the appropriate values for your MCU.  #define WS2812_DMA_CHANNEL  3                   // DMA Channel for TIMx_UP, see the respective reference manual for the appropriate values for your MCU. -#define RGBLED_NUM          20 +#define RGBLED_NUM          52  #define RGBLIGHT_SPLIT  #define RGBLED_SPLIT \ -    { 10, 10 } -#define RGBLIGHT_LMIT_VAL 80 +    { 26, 26 } +#define RGBLIGHT_LIMIT_VAL 150  #define DEBUG_LED_PIN      C13 diff --git a/keyboards/handwired/tractyl_manuform/5x6_right/f411/readme.md b/keyboards/handwired/tractyl_manuform/5x6_right/f411/readme.md index 5fb2c0fc72..b387435122 100644 --- a/keyboards/handwired/tractyl_manuform/5x6_right/f411/readme.md +++ b/keyboards/handwired/tractyl_manuform/5x6_right/f411/readme.md @@ -1,16 +1,21 @@  # Drashna's Blackpill Tractyl Manuform (5x6) with a right side trackball -* VBUS mod, using PB10 +* System Timer on TIM5 +* ~~VBUS mod, using PB10~~ (*doesn't seem to work for me*)  * Split Hand Pin, using PC14 -* Full Duplex Serial/USART using PA3 and PA4 on USART2 +* Full Duplex Serial/USART using PA2 and PA3 on USART2  * PWM Audio using PB1 and TIM3 and GPT on TIM4 -* PWM RGB using PA1 TIM2 -* pmw3360 sensor sharing PA5-PA7 on SPI1, with B0 as CS pin +* PWM WS2812 RGB using PA1 TIM2  * 8KB SPI EEPROM chip sharing PA5-PA7 on SPI1 with PA4 as CS pin +* pmw3360 sensor sharing PA5-PA7 on SPI1, with B0 as CS pin  * Encoder using PA13 and PA14  * SSD1306 OLED display (128x64) using PB8-PB9 on I2C1  * Pull-up resistor (22k) on PA10 to fix reset issue.  * Pull-up resistor (5.1k) on PA1 for WS2812 LED support, and wire it's VCC to the 5V pin. +* Pins PA9, PA11, A12 are not useable because they're used for USB connection, and can't be shared.  +* Pin PB2 is used by BOOT1, and is unusable + +## Keyboard Info  * Keyboard Maintainer: [Drashna Jael're](https://github.com/drashna)  * Hardware Supported: [Design files](https://gitlab.com/keyboards1/dm_r_track/-/tree/master/boolean), [WeAct BlackPill (F411)](https://github.com/WeActTC/MiniSTM32F4x1), [PMW3360 Optical Sensor](https://www.tindie.com/products/jkicklighter/pmw3360-motion-sensor/) @@ -24,3 +29,9 @@ Flashing example for this keyboard:      make handwired/tractyl_manuform/5x6_right/f411:default:flash  See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) and the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information. Brand new to QMK? Start with our [Complete Newbs Guide](https://docs.qmk.fm/#/newbs). + +## Bootloader  + +* **Bootmagic reset**: Hold down the top right key on the right side, or the top left key on the left side while plugging in. +* **Physical reset button**: Briefly press the "USER" button on the BlackPill +* **Keycode in layout**: Press the key mapped to `RESET`. diff --git a/keyboards/handwired/tractyl_manuform/5x6_right/f411/rules.mk b/keyboards/handwired/tractyl_manuform/5x6_right/f411/rules.mk index ede1a6baff..d6f972b468 100644 --- a/keyboards/handwired/tractyl_manuform/5x6_right/f411/rules.mk +++ b/keyboards/handwired/tractyl_manuform/5x6_right/f411/rules.mk @@ -6,8 +6,11 @@ BOOTLOADER = stm32-dfu  KEYBOARD_SHARED_EP = yes  CONSOLE_ENABLE     = yes +MOUSE_SHARED_EP    = no  EEPROM_DRIVER = spi  WS2812_DRIVER = pwm  SERIAL_DRIVER = usart  AUDIO_DRIVER  = pwm_hardware + +DEBOUNCE_TYPE = asym_eager_defer_pk diff --git a/keyboards/handwired/tractyl_manuform/5x6_right/keymaps/drashna/config.h b/keyboards/handwired/tractyl_manuform/5x6_right/keymaps/drashna/config.h index df3e877f98..a984ba4885 100644 --- a/keyboards/handwired/tractyl_manuform/5x6_right/keymaps/drashna/config.h +++ b/keyboards/handwired/tractyl_manuform/5x6_right/keymaps/drashna/config.h @@ -16,16 +16,7 @@  #pragma once -// #define USE_I2C -// #define SELECT_SOFT_SERIAL_SPEED 1 -// #define SERIAL_USE_MULTI_TRANSACTION -#define SPLIT_MODS_ENABLE -#define EE_HANDS -  #define TRACKBALL_DPI_OPTIONS { 1200, 1800, 2600, 3400 }  #undef DEBOUNCE -#define DEBOUNCE 10 - -#define SOLENOID_PIN F1 -#define SOLENOID_DEFAULT_DWELL 8 +#define DEBOUNCE 15 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 abfec41a62..5bfc21fd14 100644 --- a/keyboards/handwired/tractyl_manuform/5x6_right/keymaps/drashna/keymap.c +++ b/keyboards/handwired/tractyl_manuform/5x6_right/keymaps/drashna/keymap.c @@ -348,16 +348,8 @@ void render_kitty(void) {                                                                  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x01, 0x06, 0x04, 0x04, 0x04, 0x04, 0x05, 0x04, 0x04, 0x04, 0x07, 0x07, 0x07, 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, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}};      // assumes 1 frame prep stage -#ifdef SWAP_HANDS_ENABLE -    extern bool swap_hands; -#endif      void        animation_phase(void) { -#    ifdef SWAP_HANDS_ENABLE -        if (swap_hands) -#else -        if (tap_toggling) -#endif -        { +        if (tap_toggling) {              anim_frame_duration = 300;              current_rtogi_frame = (current_rtogi_frame + 1) % RTOGI_FRAMES;              oled_write_raw_P(rtogi[abs((RTOGI_FRAMES - 1) - current_rtogi_frame)], ANIM_SIZE); diff --git a/keyboards/handwired/tractyl_manuform/config.h b/keyboards/handwired/tractyl_manuform/config.h index ec67cff1ae..cc8a7546f4 100644 --- a/keyboards/handwired/tractyl_manuform/config.h +++ b/keyboards/handwired/tractyl_manuform/config.h @@ -24,9 +24,6 @@ along with this program.  If not, see <http://www.gnu.org/licenses/>.  #define VENDOR_ID               0x44DD  #define MANUFACTURER            Drashna -/* Set 0 if debouncing isn't needed */ -#define DEBOUNCE                5 -  #define USB_POLLING_INTERVAL_MS 1  /* disable debug print */ diff --git a/users/drashna/config.h b/users/drashna/config.h index 5e935827bf..f54da9e328 100644 --- a/users/drashna/config.h +++ b/users/drashna/config.h @@ -147,6 +147,9 @@  // #    define OLED_FONT_5X5  // #    define OLED_FONT_AZTECH  // #    define OLED_FONT_BMPLAIN +// #    define OLED_FONT_CRACKERS +// #    define OLED_FONT_HISKYF21 +#    define OLED_FONT_DEAD_MEAL  // #    define OLED_FONT_SUPER_DIGG  // #    define OLED_LOGO_GMK_BAD  // #    define OLED_LOGO_HUE_MANITEE @@ -163,17 +166,12 @@  #    define ONESHOT_TIMEOUT 3000  #endif  // !ONESHOT_TIMEOUT -// this makes it possible to do rolling combos (zx) with keys that -// convert to other keys on hold (z becomes ctrl when you hold it, -// and when this option isn't enabled, z rapidly followed by x -// actually sends Ctrl-x. That's bad.) -#define IGNORE_MOD_TAP_INTERRUPT -#undef PERMISSIVE_HOLD -//#define TAPPING_FORCE_HOLD_PER_KEY -//#define RETRO_TAPPING_PER_KEY -#if !defined(KEYBOARD_kyria) && !defined(KEYBOARD_splitkb_kyria) -#    define TAPPING_TERM_PER_KEY -#endif +#define IGNORE_MOD_TAP_INTERRUPT_PER_KEY +#define PERMISSIVE_HOLD_PER_KEY +#define TAPPING_FORCE_HOLD_PER_KEY +#define RETRO_TAPPING_PER_KEY +#define TAPPING_TERM_PER_KEY +  #ifndef TAPPING_TOGGLE  #    define TAPPING_TOGGLE 1 diff --git a/users/drashna/drashna.c b/users/drashna/drashna.c index 71539e8b80..7e07a2c7c5 100644 --- a/users/drashna/drashna.c +++ b/users/drashna/drashna.c @@ -259,3 +259,61 @@ void                       matrix_slave_scan_user(void) {      matrix_slave_scan_keymap();  }  #endif + +__attribute__((weak)) uint16_t get_tapping_term(uint16_t keycode, keyrecord_t *record) { +    switch (keycode) { +        default: +            return TAPPING_TERM; +    } +} + +__attribute__((weak)) bool get_permissive_hold(uint16_t keycode, keyrecord_t *record) { +    // Immediately select the hold action when another key is tapped: +    // return true; +    // Do not select the hold action when another key is tapped. +    // return false; +    switch (keycode) { +        default: +            return false; +    } +} + +__attribute__((weak)) bool get_hold_on_other_key_press(uint16_t keycode, keyrecord_t *record) { +    // Immediately select the hold action when another key is pressed. +    // return true; +    // Do not select the hold action when another key is pressed. +    // return false; +    switch (keycode) { +        case QK_LAYER_TAP ... QK_LAYER_TAP_MAX: +            return true; +        default: +            return false; +    } +} + +__attribute__((weak)) bool get_ignore_mod_tap_interrupt(uint16_t keycode, keyrecord_t *record) { +    // Do not force the mod-tap key press to be handled as a modifier +    // if any other key was pressed while the mod-tap key is held down. +    // return true; +    // Force the mod-tap key press to be handled as a modifier if any +    // other key was pressed while the mod-tap key is held down. +    // return false; +    switch (keycode) { +        default: +            return true; +    } +} + +__attribute__((weak)) bool get_tapping_force_hold(uint16_t keycode, keyrecord_t *record) { +    switch (keycode) { +        default: +            return false; +    } +} + +__attribute__((weak)) bool get_retro_tapping(uint16_t keycode, keyrecord_t *record) { +    switch (keycode) { +        default: +            return false; +    } +} diff --git a/users/drashna/drashna_font.h b/users/drashna/drashna_font.h index 27dc8b1b5d..844292a53a 100644 --- a/users/drashna/drashna_font.h +++ b/users/drashna/drashna_font.h @@ -338,6 +338,297 @@ static const unsigned char font[] PROGMEM = {      0x22, 0x3e, 0x08, 0x00, 0x00, 0x00,      0x01, 0x01, 0x01, 0x00, 0x00, 0x00,      0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +#    elif defined(OLED_FONT_CRACKERS) +    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +    0x5E, 0x06, 0x06, 0x00, 0x00, 0x00, +    0x1E, 0x00, 0x00, 0x1E, 0x00, 0x00, +    0x20, 0x7C, 0x38, 0x38, 0x7C, 0x08, +    0x48, 0xFE, 0x64, 0x64, 0x00, 0x00, +    0x64, 0x60, 0x60, 0x18, 0x0C, 0x0C, +    0x74, 0x4A, 0x4A, 0x7E, 0x48, 0x00, +    0x1E, 0x00, 0x00, 0x00, 0x00, 0x00, +    0x3C, 0x7E, 0x7E, 0x42, 0x00, 0x00, +    0x42, 0x7E, 0x7E, 0x3C, 0x00, 0x00, +    0x04, 0x0C, 0x04, 0x06, 0x0C, 0x04, +    0x10, 0x3C, 0x3C, 0x3C, 0x10, 0x00, +    0x00, 0x60, 0xE0, 0x00, 0x00, 0x00, +    0x08, 0x08, 0x08, 0x00, 0x00, 0x00, +    0x60, 0x60, 0x60, 0x00, 0x00, 0x00, +    0x60, 0x78, 0x78, 0x1E, 0x06, 0x00, +    0x3C, 0x3C, 0x7E, 0x42, 0x7E, 0x7E, +    0x04, 0x7E, 0x7E, 0x7E, 0x00, 0x00, +    0x76, 0x7A, 0x7E, 0x7E, 0x4C, 0x00, +    0x4A, 0x7E, 0x7E, 0x7C, 0x00, 0x00, +    0x0E, 0x08, 0x7E, 0x7E, 0x7E, 0x00, +    0x4E, 0x4E, 0x4E, 0x7A, 0x1A, 0x00, +    0x3C, 0x7E, 0x7E, 0x4A, 0x7A, 0x00, +    0x02, 0x02, 0x0A, 0x7E, 0x7E, 0x7E, +    0x7E, 0x7E, 0x7E, 0x4A, 0x7E, 0x00, +    0x0C, 0x4A, 0x7E, 0x7E, 0x3C, 0x00, +    0x66, 0x66, 0x66, 0x00, 0x00, 0x00, +    0x66, 0xE6, 0x00, 0x00, 0x00, 0x00, +    0x08, 0x3C, 0x7E, 0x7E, 0x62, 0x00, +    0x14, 0x14, 0x14, 0x00, 0x00, 0x00, +    0x62, 0x7E, 0x7E, 0x3C, 0x08, 0x00, +    0x02, 0x4A, 0x0E, 0x0E, 0x0C, 0x00, +    0x3C, 0x7E, 0x7E, 0x4A, 0x72, 0x30, +    0x7A, 0x4A, 0x7E, 0x7E, 0x7C, 0x00, +    0x7E, 0x7E, 0x7E, 0x4A, 0x24, 0x00, +    0x3C, 0x7E, 0x7E, 0x7E, 0x46, 0x00, +    0x7E, 0x7E, 0x7E, 0x62, 0x3C, 0x00, +    0x7E, 0x7E, 0x7E, 0x4A, 0x00, 0x00, +    0x7E, 0x7E, 0x7E, 0x0A, 0x00, 0x00, +    0x3C, 0x7E, 0x7E, 0x42, 0x62, 0x00, +    0x7E, 0x7E, 0x7E, 0x18, 0x7E, 0x00, +    0x7E, 0x7E, 0x7E, 0x00, 0x00, 0x00, +    0x40, 0x7E, 0x7E, 0x7E, 0x00, 0x00, +    0x7E, 0x7E, 0x7E, 0x3C, 0x66, 0x00, +    0x7E, 0x7E, 0x7E, 0x40, 0x00, 0x00, +    0x7E, 0x3E, 0x3E, 0x7C, 0x3E, 0x3E, +    0x7E, 0x3E, 0x7E, 0x7C, 0x7E, 0x00, +    0x3C, 0x3C, 0x7E, 0x62, 0x7E, 0x7E, +    0x7E, 0x7E, 0x7E, 0x22, 0x0C, 0x00, +    0x3C, 0x7E, 0x7E, 0x62, 0x7E, 0x7C, +    0x7E, 0x7E, 0x7E, 0x0A, 0x64, 0x00, +    0x4C, 0x4E, 0x4E, 0x7A, 0x1A, 0x00, +    0x02, 0x7E, 0x7E, 0x7E, 0x02, 0x00, +    0x7E, 0x60, 0x7E, 0x7E, 0x7E, 0x00, +    0x3E, 0x60, 0x7E, 0x7E, 0x3E, 0x00, +    0x7E, 0x7C, 0x7C, 0x3E, 0x7C, 0x7C, +    0x46, 0x7E, 0x08, 0x7E, 0x62, 0x62, +    0x5E, 0x5E, 0x5E, 0x70, 0x3E, 0x00, +    0x66, 0x7A, 0x7A, 0x5E, 0x66, 0x00, +    0x7E, 0x7E, 0x7E, 0x42, 0x00, 0x00, +    0x06, 0x1E, 0x1E, 0x78, 0x60, 0x00, +    0x42, 0x7E, 0x7E, 0x7E, 0x00, 0x00, +    0x0C, 0x06, 0x0C, 0x00, 0x00, 0x00, +    0x40, 0x40, 0x40, 0x40, 0x40, 0x00, +    0x02, 0x06, 0x06, 0x04, 0x00, 0x00, +    0x78, 0x24, 0x7C, 0x7C, 0x78, 0x00, +    0x7C, 0x7C, 0x7C, 0x48, 0x20, 0x00, +    0x18, 0x7C, 0x7C, 0x7C, 0x4C, 0x00, +    0x20, 0x48, 0x7C, 0x7C, 0x7C, 0x00, +    0x18, 0x7C, 0x7C, 0x74, 0x4C, 0x00, +    0x78, 0x7C, 0x7C, 0x24, 0x00, 0x00, +    0x18, 0x7C, 0x7C, 0x44, 0x74, 0x00, +    0x7C, 0x7C, 0x7C, 0x08, 0x60, 0x00, +    0x7C, 0x7C, 0x7C, 0x00, 0x00, 0x00, +    0x40, 0x7C, 0x7C, 0x7C, 0x00, 0x00, +    0x7C, 0x7C, 0x7C, 0x20, 0x48, 0x00, +    0x7C, 0x7C, 0x7C, 0x40, 0x00, 0x00, +    0x7C, 0x3C, 0x3C, 0x78, 0x3C, 0x3C, +    0x7C, 0x7C, 0x7C, 0x04, 0x78, 0x00, +    0x18, 0x18, 0x7C, 0x44, 0x7C, 0x7C, +    0x7C, 0x7C, 0x7C, 0x24, 0x08, 0x00, +    0x18, 0x18, 0x7C, 0x44, 0x7C, 0x7C, +    0x7C, 0x7C, 0x7C, 0x04, 0x00, 0x00, +    0x5C, 0x7C, 0x7C, 0x74, 0x00, 0x00, +    0x08, 0x7C, 0x7C, 0x7C, 0x48, 0x00, +    0x7C, 0x60, 0x7C, 0x7C, 0x7C, 0x00, +    0x3C, 0x60, 0x7C, 0x7C, 0x3C, 0x00, +    0x7C, 0x78, 0x78, 0x3C, 0x78, 0x78, +    0x4C, 0x3C, 0x3C, 0x78, 0x64, 0x00, +    0x4C, 0x4C, 0x4C, 0x78, 0x3C, 0x00, +    0x5C, 0x74, 0x44, 0x5C, 0x74, 0x00, +    0x24, 0x7E, 0x42, 0x42, 0x00, 0x00, +    0x7E, 0x00, 0x00, 0x00, 0x00, 0x00, +    0x42, 0x7E, 0x24, 0x00, 0x00, 0x00, +    0x04, 0x06, 0x06, 0x02, 0x04, 0x06, +    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +#    elif defined(OLED_FONT_EIN) +    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, +    0x00, 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, 0x00, 0x7F, 0x00, 0x00, 0x00, +    0x20, 0x40, 0x40, 0x3F, 0x00, 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, +    0x01, 0x01, 0x7F, 0x01, 0x01, 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, +    0x78, 0x14, 0x14, 0x78, 0x00, 0x00, +    0x7C, 0x54, 0x54, 0x28, 0x00, 0x00, +    0x38, 0x44, 0x44, 0x28, 0x00, 0x00, +    0x7C, 0x44, 0x44, 0x38, 0x00, 0x00, +    0x7C, 0x54, 0x54, 0x44, 0x00, 0x00, +    0x7C, 0x14, 0x14, 0x04, 0x00, 0x00, +    0x38, 0x44, 0x54, 0x34, 0x00, 0x00, +    0x7C, 0x10, 0x10, 0x7C, 0x00, 0x00, +    0x00, 0x7C, 0x00, 0x00, 0x00, 0x00, +    0x20, 0x40, 0x40, 0x3C, 0x00, 0x00, +    0x7C, 0x10, 0x28, 0x44, 0x00, 0x00, +    0x7C, 0x40, 0x40, 0x40, 0x00, 0x00, +    0x7C, 0x08, 0x70, 0x08, 0x7C, 0x00, +    0x7C, 0x08, 0x10, 0x7C, 0x00, 0x00, +    0x38, 0x44, 0x44, 0x38, 0x00, 0x00, +    0x7C, 0x14, 0x14, 0x08, 0x00, 0x00, +    0x38, 0x44, 0x24, 0x58, 0x00, 0x00, +    0x7C, 0x14, 0x34, 0x48, 0x00, 0x00, +    0x48, 0x54, 0x54, 0x24, 0x00, 0x00, +    0x04, 0x7C, 0x04, 0x00, 0x00, 0x00, +    0x3C, 0x40, 0x40, 0x3C, 0x00, 0x00, +    0x3C, 0x40, 0x20, 0x1C, 0x00, 0x00, +    0x3C, 0x40, 0x30, 0x40, 0x3C, 0x00, +    0x44, 0x28, 0x10, 0x28, 0x44, 0x00, +    0x0C, 0x10, 0x70, 0x10, 0x0C, 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, +#    elif defined(OLED_FONT_HISKYF21) +    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +    0x5C, 0x00, 0x00, 0x00, 0x00, 0x00, +    0x0C, 0x00, 0x0C, 0x00, 0x00, 0x00, +    0x28, 0x7C, 0x28, 0x7C, 0x28, 0x00, +    0x48, 0x54, 0x54, 0xFE, 0x54, 0x54, +    0x44, 0x20, 0x10, 0x08, 0x44, 0x00, +    0x28, 0x54, 0x54, 0x54, 0x74, 0x10, +    0x0C, 0x00, 0x00, 0x00, 0x00, 0x00, +    0x78, 0x84, 0x00, 0x00, 0x00, 0x00, +    0x84, 0x78, 0x00, 0x00, 0x00, 0x00, +    0x48, 0x30, 0x30, 0x48, 0x00, 0x00, +    0x10, 0x38, 0x10, 0x00, 0x00, 0x00, +    0xC0, 0x00, 0x00, 0x00, 0x00, 0x00, +    0x10, 0x10, 0x10, 0x10, 0x00, 0x00, +    0x40, 0x00, 0x00, 0x00, 0x00, 0x00, +    0x60, 0x10, 0x0C, 0x00, 0x00, 0x00, +    0x38, 0x44, 0x44, 0x44, 0x44, 0x38, +    0x08, 0x7C, 0x00, 0x00, 0x00, 0x00, +    0x64, 0x54, 0x54, 0x54, 0x48, 0x00, +    0x44, 0x54, 0x54, 0x54, 0x28, 0x00, +    0x1C, 0x10, 0x10, 0x10, 0x7C, 0x00, +    0x4C, 0x54, 0x54, 0x54, 0x24, 0x00, +    0x38, 0x54, 0x54, 0x54, 0x54, 0x20, +    0x44, 0x24, 0x14, 0x0C, 0x00, 0x00, +    0x28, 0x54, 0x54, 0x54, 0x54, 0x28, +    0x08, 0x54, 0x54, 0x54, 0x54, 0x38, +    0x48, 0x00, 0x00, 0x00, 0x00, 0x00, +    0xC8, 0x00, 0x00, 0x00, 0x00, 0x00, +    0x10, 0x28, 0x44, 0x00, 0x00, 0x00, +    0x28, 0x28, 0x28, 0x28, 0x00, 0x00, +    0x44, 0x28, 0x10, 0x00, 0x00, 0x00, +    0x04, 0x54, 0x14, 0x14, 0x08, 0x00, +    0x38, 0x44, 0x5C, 0x54, 0x48, 0x00, +    0x60, 0x18, 0x14, 0x14, 0x18, 0x60, +    0x7C, 0x54, 0x54, 0x54, 0x58, 0x30, +    0x38, 0x44, 0x44, 0x44, 0x40, 0x00, +    0x7C, 0x44, 0x44, 0x44, 0x38, 0x00, +    0x7C, 0x54, 0x54, 0x54, 0x54, 0x40, +    0x7C, 0x14, 0x14, 0x14, 0x10, 0x00, +    0x38, 0x44, 0x44, 0x44, 0x70, 0x10, +    0x7C, 0x10, 0x10, 0x10, 0x10, 0x7C, +    0x7C, 0x00, 0x00, 0x00, 0x00, 0x00, +    0x20, 0x40, 0x40, 0x40, 0x40, 0x3C, +    0x7C, 0x10, 0x10, 0x28, 0x44, 0x00, +    0x7C, 0x40, 0x40, 0x40, 0x00, 0x00, +    0x7C, 0x08, 0x10, 0x60, 0x10, 0x08, +    0x7C, 0x08, 0x10, 0x20, 0x7C, 0x00, +    0x38, 0x44, 0x44, 0x44, 0x44, 0x38, +    0x7C, 0x24, 0x24, 0x24, 0x18, 0x00, +    0x38, 0x44, 0x64, 0x44, 0x38, 0x00, +    0x7C, 0x14, 0x14, 0x14, 0x68, 0x00, +    0x48, 0x54, 0x54, 0x54, 0x54, 0x20, +    0x04, 0x04, 0x7C, 0x04, 0x04, 0x00, +    0x3C, 0x40, 0x40, 0x40, 0x3C, 0x00, +    0x0C, 0x30, 0x40, 0x30, 0x0C, 0x00, +    0x0C, 0x30, 0x40, 0x20, 0x1C, 0x20, +    0x74, 0x2C, 0x10, 0x28, 0x44, 0x00, +    0x04, 0x08, 0x70, 0x08, 0x04, 0x00, +    0x44, 0x64, 0x54, 0x4C, 0x44, 0x00, +    0xFC, 0x84, 0x00, 0x00, 0x00, 0x00, +    0x0C, 0x10, 0x60, 0x00, 0x00, 0x00, +    0x84, 0xFC, 0x00, 0x00, 0x00, 0x00, +    0x00, 0x7F, 0x41, 0x7F, 0x00, 0x00, +    0x40, 0x40, 0x40, 0x40, 0x00, 0x00, +    0x00, 0x7F, 0x41, 0x7F, 0x00, 0x00, +    0x60, 0x18, 0x14, 0x14, 0x18, 0x60, +    0x7C, 0x54, 0x54, 0x54, 0x58, 0x30, +    0x38, 0x44, 0x44, 0x44, 0x40, 0x00, +    0x7C, 0x44, 0x44, 0x44, 0x38, 0x00, +    0x7C, 0x54, 0x54, 0x54, 0x54, 0x40, +    0x7C, 0x14, 0x14, 0x14, 0x10, 0x00, +    0x38, 0x44, 0x44, 0x44, 0x70, 0x10, +    0x7C, 0x10, 0x10, 0x10, 0x10, 0x7C, +    0x7C, 0x00, 0x00, 0x00, 0x00, 0x00, +    0x20, 0x40, 0x40, 0x40, 0x40, 0x3C, +    0x7C, 0x10, 0x10, 0x28, 0x44, 0x00, +    0x7C, 0x40, 0x40, 0x40, 0x00, 0x00, +    0x7C, 0x08, 0x10, 0x60, 0x10, 0x08, +    0x7C, 0x08, 0x10, 0x20, 0x7C, 0x00, +    0x38, 0x44, 0x44, 0x44, 0x44, 0x38, +    0x7C, 0x24, 0x24, 0x24, 0x18, 0x00, +    0x38, 0x44, 0x64, 0x44, 0x38, 0x00, +    0x7C, 0x14, 0x14, 0x14, 0x68, 0x00, +    0x48, 0x54, 0x54, 0x54, 0x54, 0x20, +    0x04, 0x04, 0x7C, 0x04, 0x04, 0x00, +    0x3C, 0x40, 0x40, 0x40, 0x3C, 0x00, +    0x0C, 0x30, 0x40, 0x30, 0x0C, 0x00, +    0x0C, 0x30, 0x40, 0x20, 0x1C, 0x20, +    0x74, 0x2C, 0x10, 0x28, 0x44, 0x00, +    0x04, 0x08, 0x70, 0x08, 0x04, 0x00, +    0x44, 0x64, 0x54, 0x4C, 0x44, 0x00, +    0x00, 0x7F, 0x41, 0x7F, 0x00, 0x00, +    0xFC, 0x00, 0x00, 0x00, 0x00, 0x00, +    0x00, 0x7F, 0x41, 0x7F, 0x00, 0x00, +    0x00, 0x7F, 0x41, 0x7F, 0x00, 0x00, +    0x00, 0x00, 0x00, 0x00, 0x00, 0x00,  #    elif defined(OLED_FONT_SUPER_DIGG)      0x00, 0x00, 0x00, 0x00, 0x00, 0x00,      0x58, 0x5C, 0x00, 0x00, 0x00, 0x00, @@ -435,6 +726,103 @@ static const unsigned char font[] PROGMEM = {      0xC2, 0xFE, 0x10, 0x00, 0x00, 0x00,      0x02, 0x01, 0x03, 0x04, 0x06, 0x02,      0x3C, 0x22, 0x21, 0x22, 0x3C, 0x00, +#elif defined (OLED_FONT_ZXPIX) +    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +    0x2F, 0x00, 0x00, 0x00, 0x00, 0x00, +    0x03, 0x00, 0x03, 0x00, 0x00, 0x00, +    0x12, 0x3F, 0x12, 0x12, 0x3F, 0x12, +    0x2E, 0x2A, 0x7F, 0x2A, 0x3A, 0x00, +    0x23, 0x13, 0x08, 0x04, 0x32, 0x31, +    0x10, 0x2A, 0x25, 0x2A, 0x10, 0x20, +    0x02, 0x01, 0x00, 0x00, 0x00, 0x00, +    0x1E, 0x21, 0x00, 0x00, 0x00, 0x00, +    0x21, 0x1E, 0x00, 0x00, 0x00, 0x00, +    0x08, 0x2A, 0x1C, 0x2A, 0x08, 0x08, +    0x08, 0x08, 0x3E, 0x08, 0x08, 0x08, +    0x80, 0x60, 0x00, 0x00, 0x00, 0x00, +    0x08, 0x08, 0x08, 0x08, 0x08, 0x00, +    0x30, 0x30, 0x00, 0x00, 0x00, 0x00, +    0x20, 0x10, 0x08, 0x04, 0x02, 0x00, +    0x1E, 0x31, 0x29, 0x25, 0x23, 0x1E, +    0x22, 0x21, 0x3F, 0x20, 0x20, 0x20, +    0x32, 0x29, 0x29, 0x29, 0x29, 0x26, +    0x12, 0x21, 0x21, 0x25, 0x25, 0x1A, +    0x18, 0x14, 0x12, 0x3F, 0x10, 0x10, +    0x17, 0x25, 0x25, 0x25, 0x25, 0x19, +    0x1E, 0x25, 0x25, 0x25, 0x25, 0x18, +    0x01, 0x01, 0x31, 0x09, 0x05, 0x03, +    0x1A, 0x25, 0x25, 0x25, 0x25, 0x1A, +    0x06, 0x29, 0x29, 0x29, 0x29, 0x1E, +    0x24, 0x00, 0x00, 0x00, 0x00, 0x00, +    0x80, 0x64, 0x00, 0x00, 0x00, 0x00, +    0x08, 0x14, 0x22, 0x00, 0x00, 0x00, +    0x14, 0x14, 0x14, 0x14, 0x14, 0x00, +    0x22, 0x14, 0x08, 0x00, 0x00, 0x00, +    0x02, 0x01, 0x01, 0x29, 0x05, 0x02, +    0x1E, 0x21, 0x2D, 0x2B, 0x2D, 0x0E, +    0x3E, 0x09, 0x09, 0x09, 0x09, 0x3E, +    0x3F, 0x25, 0x25, 0x25, 0x25, 0x1A, +    0x1E, 0x21, 0x21, 0x21, 0x21, 0x12, +    0x3F, 0x21, 0x21, 0x21, 0x12, 0x0C, +    0x3F, 0x25, 0x25, 0x25, 0x25, 0x21, +    0x3F, 0x05, 0x05, 0x05, 0x05, 0x01, +    0x1E, 0x21, 0x21, 0x21, 0x29, 0x1A, +    0x3F, 0x04, 0x04, 0x04, 0x04, 0x3F, +    0x21, 0x21, 0x3F, 0x21, 0x21, 0x21, +    0x10, 0x20, 0x20, 0x20, 0x20, 0x1F, +    0x3F, 0x04, 0x0C, 0x0A, 0x11, 0x20, +    0x3F, 0x20, 0x20, 0x20, 0x20, 0x20, +    0x3F, 0x02, 0x04, 0x04, 0x02, 0x3F, +    0x3F, 0x02, 0x04, 0x08, 0x10, 0x3F, +    0x1E, 0x21, 0x21, 0x21, 0x21, 0x1E, +    0x3F, 0x09, 0x09, 0x09, 0x09, 0x06, +    0x1E, 0x21, 0x29, 0x31, 0x21, 0x1E, +    0x3F, 0x09, 0x09, 0x09, 0x19, 0x26, +    0x12, 0x25, 0x25, 0x25, 0x25, 0x18, +    0x01, 0x01, 0x01, 0x3F, 0x01, 0x01, +    0x1F, 0x20, 0x20, 0x20, 0x20, 0x1F, +    0x0F, 0x10, 0x20, 0x20, 0x10, 0x0F, +    0x1F, 0x20, 0x10, 0x10, 0x20, 0x1F, +    0x21, 0x12, 0x0C, 0x0C, 0x12, 0x21, +    0x01, 0x02, 0x0C, 0x38, 0x04, 0x02, +    0x21, 0x31, 0x29, 0x25, 0x23, 0x21, +    0x3F, 0x21, 0x00, 0x00, 0x00, 0x00, +    0x02, 0x04, 0x08, 0x10, 0x20, 0x00, +    0x21, 0x3F, 0x00, 0x00, 0x00, 0x00, +    0x04, 0x02, 0x3F, 0x02, 0x04, 0x00, +    0x40, 0x40, 0x40, 0x40, 0x40, 0x40, +    0x01, 0x02, 0x00, 0x00, 0x00, 0x00, +    0x10, 0x30, 0x2A, 0x2A, 0x3C, 0x00, +    0x3F, 0x24, 0x24, 0x24, 0x18, 0x00, +    0x0C, 0x14, 0x22, 0x22, 0x00, 0x00, +    0x18, 0x24, 0x24, 0x24, 0x3F, 0x00, +    0x1C, 0x2C, 0x2A, 0x2A, 0x24, 0x00, +    0x3E, 0x05, 0x01, 0x00, 0x00, 0x00, +    0x18, 0x28, 0xA4, 0xA4, 0x7C, 0x00, +    0x3F, 0x04, 0x04, 0x0C, 0x30, 0x00, +    0x24, 0x3D, 0x20, 0x00, 0x00, 0x00, +    0x20, 0x40, 0x40, 0x3D, 0x00, 0x00, +    0x3F, 0x0C, 0x12, 0x20, 0x00, 0x00, +    0x1F, 0x20, 0x20, 0x00, 0x00, 0x00, +    0x3E, 0x02, 0x3C, 0x02, 0x3C, 0x00, +    0x3E, 0x02, 0x02, 0x02, 0x3C, 0x00, +    0x0C, 0x14, 0x22, 0x32, 0x0C, 0x00, +    0xFC, 0x24, 0x24, 0x24, 0x18, 0x00, +    0x18, 0x24, 0x24, 0x24, 0xFC, 0x80, +    0x3C, 0x04, 0x02, 0x02, 0x00, 0x00, +    0x24, 0x2C, 0x2A, 0x2A, 0x10, 0x00, +    0x02, 0x1F, 0x22, 0x20, 0x00, 0x00, +    0x1E, 0x20, 0x20, 0x20, 0x1E, 0x00, +    0x06, 0x18, 0x20, 0x18, 0x06, 0x00, +    0x1E, 0x30, 0x1C, 0x30, 0x0E, 0x00, +    0x22, 0x14, 0x08, 0x14, 0x22, 0x00, +    0x0C, 0x10, 0xA0, 0xA0, 0x7C, 0x00, +    0x22, 0x32, 0x2A, 0x26, 0x22, 0x22, +    0x0C, 0x3F, 0x21, 0x00, 0x00, 0x00, +    0x3F, 0x00, 0x00, 0x00, 0x00, 0x00, +    0x21, 0x3F, 0x0C, 0x00, 0x00, 0x00, +    0x02, 0x01, 0x02, 0x01, 0x00, 0x00, +    0x00, 0x00, 0x00, 0x00, 0x00, 0x00,  #    else // default font      0x00, 0x00, 0x00, 0x00, 0x00, 0x00,      0x00, 0x00, 0x5F, 0x00, 0x00, 0x00, @@ -525,7 +913,7 @@ static const unsigned char font[] PROGMEM = {      0x1C, 0x20, 0x40, 0x20, 0x1C, 0x00,      0x3C, 0x40, 0x30, 0x40, 0x3C, 0x00,      0x44, 0x28, 0x10, 0x28, 0x44, 0x00, -    0x4C, 0x90, 0x10, 0x90, 0x7C, 0x00, +    0x4C, 0x90, 0x90, 0x90, 0x7C, 0x00,      0x44, 0x64, 0x54, 0x4C, 0x44, 0x00,      0x00, 0x08, 0x36, 0x41, 0x00, 0x00,      0x00, 0x00, 0x77, 0x00, 0x00, 0x00, @@ -601,6 +989,50 @@ static const unsigned char font[] PROGMEM = {      0xE0, 0xE0, 0xC0, 0x80, 0x00, 0x00,      0x00, 0x00, 0x00, 0x00, 0x00, 0x00,      0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +#    elif defined(OLED_LOGO_LOOSE) +    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +    0x00, 0x00, 0xC0, 0xE0, 0xF0, 0xF8, +    0xF8, 0xF8, 0xF8, 0xF8, 0xF8, 0x00, +    0xFC, 0xFE, 0xFE, 0xFE, 0xFE, 0xFE, +    0x02, 0xF9, 0x01, 0x01, 0x05, 0x09, +    0x11, 0x22, 0x06, 0xFE, 0xFE, 0xFE, +    0xFE, 0xFE, 0xFE, 0xFE, 0x46, 0x46, +    0x44, 0x44, 0x45, 0x44, 0x29, 0x28, +    0x2A, 0x28, 0x11, 0x13, 0x05, 0x07, +    0x05, 0x07, 0x05, 0x07, 0x05, 0x07, +    0xE5, 0xE7, 0xE5, 0x07, 0x05, 0x07, +    0x05, 0x07, 0x05, 0x07, 0x05, 0x07, +    0x85, 0xC7, 0xE5, 0xE7, 0xE5, 0xE7, +    0xE5, 0xE7, 0xE5, 0xC7, 0x85, 0x07, +    0x85, 0xC7, 0xE5, 0xE7, 0xE5, 0xE7, +    0xE5, 0xE7, 0xE5, 0xC7, 0x85, 0x07, +    0x85, 0xC7, 0xE5, 0xE7, 0xE5, 0xE7, +    0xE5, 0xE7, 0xE5, 0xE7, 0xE5, 0x07, +    0xE5, 0xE7, 0xE5, 0xE7, 0xE5, 0xE7, +    0xE5, 0xE7, 0xE5, 0xE7, 0xE5, 0x00, +    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +#    elif defined(OLED_LOGO_SKEEB) +    0xC0, 0x20, 0x10, 0x08, 0x04, 0x02, +    0x01, 0x01, 0x01, 0x01, 0x01, 0x01, +    0x01, 0x01, 0x03, 0x07, 0x0F, 0x1F, +    0x3F, 0x7F, 0xFF, 0xFF, 0xFF, 0xFF, +    0xFF, 0xFF, 0xFF, 0xFF, 0x01, 0x01, +    0xFF, 0xFF, 0x01, 0x01, 0xFF, 0xFF, +    0x01, 0x01, 0xFF, 0xFF, 0x19, 0x19, +    0x99, 0x99, 0x99, 0x99, 0x99, 0x99, +    0x01, 0x01, 0xFF, 0xFF, 0x81, 0x81, +    0x99, 0x99, 0x99, 0x99, 0x99, 0x99, +    0x19, 0x19, 0xFF, 0xFF, 0xF9, 0xF9, +    0xF9, 0xF9, 0x01, 0x01, 0xF9, 0xF9, +    0xF9, 0xF9, 0xFF, 0xFF, 0x99, 0x99, +    0x99, 0x99, 0x99, 0x99, 0x99, 0x99, +    0xF9, 0xF9, 0xFF, 0xFF, 0x19, 0x19, +    0x99, 0x99, 0x99, 0x99, 0x99, 0x99, +    0x67, 0x67, 0xFF, 0xFF, 0xFF, 0xFF, +    0xFF, 0xFF, 0xFF, 0xFF, 0x7F, 0x3F, +    0x1F, 0x0F, 0x07, 0x03, 0x01, 0x01, +    0x01, 0x01, 0x01, 0x01, 0x01, 0x01, +    0x02, 0x04, 0x08, 0x10, 0x20, 0xC0,  #    else      0x00, 0x00, 0x00, 0x00, 0x00, 0x00,      0x40, 0x40, 0x40, 0xF0, 0xF8, 0xF8, @@ -705,6 +1137,50 @@ static const unsigned char font[] PROGMEM = {      0x1C, 0x9D, 0xDF, 0xDF, 0xDF, 0x00,      0x00, 0x00, 0x00, 0x00, 0x00, 0x00,      0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +#    elif defined(OLED_LOGO_LOOSE) +    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +    0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, +    0xFF, 0xFF, 0xE3, 0xC1, 0xC1, 0x00, +    0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, +    0x00, 0xFF, 0x00, 0x00, 0x80, 0x00, +    0x1C, 0x3E, 0x7F, 0xFF, 0xFF, 0xFF, +    0xFF, 0xFF, 0xFF, 0xFF, 0x22, 0x22, +    0x22, 0x22, 0x22, 0x22, 0x22, 0x22, +    0x22, 0x22, 0x22, 0x14, 0x14, 0x14, +    0x14, 0x14, 0x08, 0x08, 0x00, 0x00, +    0xFF, 0xFF, 0xFF, 0x80, 0x80, 0x80, +    0x80, 0x80, 0x80, 0x80, 0x80, 0x00, +    0xFF, 0xFF, 0xFF, 0xFF, 0x80, 0xBE, +    0x80, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, +    0xFF, 0xFF, 0xFF, 0xFF, 0x81, 0xBD, +    0x81, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, +    0x8F, 0x9F, 0x9C, 0x9C, 0x9C, 0x9C, +    0x9C, 0x9C, 0x9C, 0xFC, 0xF8, 0x00, +    0xFF, 0xFF, 0xFF, 0x9C, 0x9C, 0x9C, +    0x9C, 0x9C, 0x9C, 0x80, 0x80, 0x00, +    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +#    elif defined(OLED_LOGO_SKEEB) +    0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, +    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +    0x00, 0x00, 0x00, 0x01, 0x03, 0x07, +    0x0F, 0x0F, 0x0F, 0x0F, 0x08, 0x08, +    0x0F, 0x0F, 0x0E, 0x0E, 0x0F, 0x0F, +    0x08, 0x08, 0x0F, 0x0F, 0x08, 0x08, +    0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, +    0x08, 0x08, 0x0F, 0x0F, 0x09, 0x09, +    0x09, 0x09, 0xF9, 0xF9, 0x09, 0x09, +    0x08, 0x08, 0x0F, 0x0F, 0x0F, 0x0F, +    0x0F, 0x0F, 0x08, 0x08, 0x0F, 0x0F, +    0x0F, 0x0F, 0x0F, 0x0F, 0x09, 0x09, +    0x09, 0x09, 0x09, 0x09, 0x09, 0x09, +    0x09, 0x09, 0x0F, 0x0F, 0x08, 0x08, +    0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, +    0x08, 0x08, 0x0F, 0x0F, 0x0F, 0x0F, +    0x07, 0x03, 0x01, 0x00, 0x00, 0x00, +    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +    0x00, 0x00, 0x00, 0x00, 0x00, 0xFF,  #    else      0x00, 0x00, 0x00, 0x00, 0x00, 0x00,      0x49, 0x49, 0x49, 0xFF, 0xFF, 0xFF, @@ -738,7 +1214,7 @@ static const unsigned char font[] PROGMEM = {      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, 0x44, 0x28, 0xFF, 0x5A, 0x24,      0xF0, 0xFE, 0xF1, 0x91, 0xF6, 0xF0,      0xF0, 0xFC, 0xF2, 0x92, 0xFC, 0xF0, @@ -809,16 +1285,42 @@ static const unsigned char font[] PROGMEM = {      0x07, 0x07, 0x03, 0x01, 0x00, 0x00,      0x00, 0x00, 0x00, 0x00, 0x00, 0x00,      0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -#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, -    0x0F, 0x07, 0x01, 0x01, 0x01, 0x00, -    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -    0x00, 0x00, 0x00, 0x01, 0x01, 0x00, +#    elif defined(OLED_LOGO_LOOSE)      0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +    0x00, 0x00, 0x01, 0x03, 0x07, 0x0F, +    0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x00, +    0x1F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, +    0x20, 0x47, 0x48, 0x50, 0x40, 0x41, +    0x42, 0x24, 0x30, 0x3F, 0x3F, 0x3F, +    0x3F, 0x3F, 0x3F, 0x3F, 0x31, 0x31, +    0x11, 0x51, 0x11, 0x11, 0x4A, 0x0A, +    0x2A, 0x0A, 0x44, 0x64, 0x50, 0x70, +    0x50, 0x70, 0x50, 0x70, 0x50, 0x70, +    0x53, 0x73, 0x53, 0x73, 0x53, 0x73, +    0x53, 0x73, 0x53, 0x73, 0x53, 0x70, +    0x50, 0x71, 0x53, 0x73, 0x53, 0x73, +    0x53, 0x73, 0x53, 0x71, 0x50, 0x70, +    0x50, 0x71, 0x53, 0x73, 0x53, 0x73, +    0x53, 0x73, 0x53, 0x71, 0x50, 0x70, +    0x53, 0x73, 0x53, 0x73, 0x53, 0x73, +    0x53, 0x73, 0x53, 0x73, 0x51, 0x70, +    0x53, 0x73, 0x53, 0x73, 0x53, 0x73, +    0x53, 0x73, 0x53, 0x73, 0x53, 0x00,      0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +#    elif defined(OLED_LOGO_SKEEB) +    0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, +    0xFF, 0x08, 0x08, 0x08, 0x08, 0x08, +    0x08, 0x08, 0x08, 0x08, 0x08, 0xFF, +    0x08, 0x08, 0x0F, 0x0F, 0x08, 0x08, +    0x03, 0x04, 0x08, 0x10, 0x20, 0x40, +    0x80, 0x80, 0x80, 0x80, 0x80, 0x80, +    0x40, 0x20, 0x10, 0x08, 0x04, 0x03, +    0x08, 0x08, 0x08, 0x08, 0x08, 0x08, +    0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, +    0x80, 0xC0, 0xE0, 0xF0, 0xF8, 0xF8, +    0xF8, 0xF8, 0xF8, 0xF8, 0xF8, 0xF8, +    0xF8, 0xF8, 0xF0, 0xE0, 0xC0, 0x80, +    0x01, 0x02, 0xFC, 0xF8, 0x00, 0x00,      0x00, 0x00, 0x00, 0x00, 0x00, 0x00,      0x00, 0x00, 0x00, 0x00, 0x00, 0x00,      0x00, 0x00, 0x00, 0x00, 0x00, 0x00, @@ -826,14 +1328,18 @@ 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, 0xFF, +#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, +    0x0F, 0x07, 0x01, 0x01, 0x01, 0x00,      0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +    0x00, 0x00, 0x00, 0x01, 0x01, 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, @@ -845,6 +1351,20 @@ 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 + +// third icon section +    0x1F, 0x05, 0x00, 0x02, 0x1F, 0x00, +    0x1F, 0x05, 0x00, 0x1D, 0x17, 0x00, +    0x1F, 0x05, 0x00, 0x15, 0x1F, 0x00, +    0x1F, 0x05, 0x00, 0x07, 0x1C, 0x00, +    0x1F, 0x05, 0x00, 0x17, 0x1D, 0x00, +    0x1F, 0x05, 0x00, 0x1F, 0x1D, 0x00, +    0x1F, 0x05, 0x00, 0x01, 0x1F, 0x00, +    0x1F, 0x05, 0x00, 0x1F, 0x1F, 0x00, +    0x1F, 0x05, 0x00, 0x07, 0x1F, 0x00, +    0x1F, 0x05, 0x00, 0x70, 0x77, 0x00, +    0x1F, 0x05, 0x00, 0x00, 0x77, 0x00,  // fourth icon section      0x00, 0x1C, 0x1C, 0x3E, 0x7F, 0x7F, @@ -874,7 +1394,7 @@ static const unsigned char font[] PROGMEM = {      0x00, 0x00, 0x1C, 0x14, 0x1C, 0x08,      0x18, 0x08, 0x18, 0x00, 0x00, 0x00,      0x00, 0x70, 0xC8, 0xEE, 0xF9, 0x70, -    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +    0x1F, 0x05, 0x00, 0x10, 0x77, 0x40,      0x00, 0x00, 0x00, 0x00, 0x00, 0x00,      0x00, 0x00, 0x00, 0x00, 0x00, 0x00,      0x00, 0x00, 0x00, 0x00, 0x00, 0x00, diff --git a/users/drashna/wrappers.h b/users/drashna/wrappers.h index 8ac252926e..c1ae815579 100644 --- a/users/drashna/wrappers.h +++ b/users/drashna/wrappers.h @@ -167,13 +167,76 @@ NOTE: These are all the same length.  If you do a search/replace  #define _________________HALMAK_R3_________________       KC_G,    KC_P,    KC_X,    KC_K,    KC_Y -#define _________________HALMAK_L1_________________       KC_W,    KC_L,    KC_R,    KC_B,    KC_Z -#define _________________HALMAK_L2_________________       KC_S,    KC_H,    KC_N,    KC_T,    KC_COMM -#define _________________HALMAK_L3_________________       KC_F,    KC_M,    KC_V,    KC_V,    KC_SLASH +#define __________________ISRT_L1__________________       KC_W,    KC_C,    KC_L,    KC_M,    KC_K +#define __________________ISRT_L2__________________       KC_I,    KC_S,    KC_R,    KC_T,    KC_G +#define __________________ISRT_L3__________________       KC_Q,    KC_V,    KC_W,    KC_D,    KC_J -#define _________________HALMAK_R1_________________       KC_SCLN, KC_Q,    KC_U,    KC_D,    KC_J -#define _________________HALMAK_R2_________________       KC_DOT,  KC_A,    KC_E,    KC_O,    KC_I,    KC_QUOTE -#define _________________HALMAK_R3_________________       KC_G,    KC_P,    KC_X,    KC_K,    KC_Y +#define __________________ISRT_R1__________________       KC_Z,    KC_F,    KC_U,    KC_COMM, KC_QUOTE +#define __________________ISRT_R2__________________       KC_P,    KC_N,    KC_E,    KC_A,    KC_O,    KC_SCLN +#define __________________ISRT_R3__________________       KC_B,    KC_H,    KC_SLSH, KC_DOT,  KC_X + + +#define __________________SOUL_L1__________________       KC_Q,    KC_W,    KC_L,    KC_D,    KC_P +#define __________________SOUL_L2__________________       KC_A,    KC_S,    KC_R,    KC_T,    KC_G +#define __________________SOUL_L3__________________       KC_Z,    KC_X,    KC_C,    KC_V,    KC_J + +#define __________________SOUL_R1__________________       KC_K,    KC_M,    KC_U,    KC_Y,    KC_SCLN +#define __________________SOUL_R2__________________       KC_F,    KC_N,    KC_E,    KC_I,    KC_O,    KC_QUOTE +#define __________________SOUL_R3__________________       KC_B,    KC_H,    KC_COMM, KC_DOT,  KC_SLSH + + +#define __________________NIRO_L1__________________       KC_Q,    KC_W,    KC_U,    KC_D,    KC_P +#define __________________NIRO_L2__________________       KC_A,    KC_S,    KC_E,    KC_T,    KC_G +#define __________________NIRO_L3__________________       KC_Z,    KC_X,    KC_C,    KC_V,    KC_B + +#define __________________NIRO_R1__________________       KC_J,    KC_F,    KC_Y,    KC_L,    KC_SCLN +#define __________________NIRO_R2__________________       KC_H,    KC_N,    KC_I,    KC_R,    KC_O,    KC_QUOTE +#define __________________NIRO_R3__________________       KC_K,    KC_M,    KC_COMM, KC_DOT,  KC_SLSH + + +#define _________________ASSET_L1__________________       KC_Q,    KC_W,    KC_J,    KC_F,    KC_G +#define _________________ASSET_L2__________________       KC_A,    KC_S,    KC_E,    KC_T,    KC_D +#define _________________ASSET_L3__________________       KC_Z,    KC_X,    KC_C,    KC_V,    KC_B + +#define _________________ASSET_R1__________________       KC_Y,    KC_P,    KC_U,    KC_L,    KC_SCLN +#define _________________ASSET_R2__________________       KC_H,    KC_N,    KC_I,    KC_O,    KC_R,    KC_QUOTE +#define _________________ASSET_R3__________________       KC_K,    KC_M,    KC_COMM, KC_DOT,  KC_SLSH + + +#define _________________MTGAP_L1__________________       KC_Y,    KC_P,    KC_O,    KC_U,    KC_J +#define _________________MTGAP_L2__________________       KC_I,    KC_N,    KC_E,    KC_A,    KC_COMM +#define _________________MTGAP_L3__________________       KC_Q,    KC_Z,    KC_SLSH, KC_DOT,  KC_SCLN + +#define _________________MTGAP_R1__________________       KC_K,    KC_D,    KC_L,    KC_C,    KC_W +#define _________________MTGAP_R2__________________       KC_M,    KC_H,    KC_T,    KC_S,    KC_R,    KC_QUOTE +#define _________________MTGAP_R3__________________       KC_B,    KC_F,    KC_G,    KC_V,    KC_X + + +#define _________________MINIMAK_L1________________       KC_Q,    KC_W,    KC_D,    KC_R,    KC_K +#define _________________MINIMAK_L2________________       KC_A,    KC_S,    KC_T,    KC_F,    KC_G +#define _________________MINIMAK_L3________________       KC_Z,    KC_X,    KC_C,    KC_V,    KC_B + +#define _________________MINIMAK_R1________________       KC_Y,    KC_U,    KC_I,    KC_O,    KC_P +#define _________________MINIMAK_R2________________       KC_H,    KC_J,    KC_E,    KC_L,    KC_SCLN, KC_QUOT +#define _________________MINIMAK_R3________________       KC_N,    KC_M,    KC_COMM, KC_DOT,  KC_SLSH + + +#define ________________MINIMAK_8_L1_______________       KC_Q,    KC_W,    KC_D,    KC_R,    KC_K +#define ________________MINIMAK_8_L2_______________       KC_A,    KC_S,    KC_T,    KC_F,    KC_G +#define ________________MINIMAK_8_L3_______________       KC_Z,    KC_X,    KC_C,    KC_V,    KC_B + +#define ________________MINIMAK_8_R1_______________       KC_Y,    KC_U,    KC_I,    KC_L,    KC_P +#define ________________MINIMAK_8_R2_______________       KC_H,    KC_N,    KC_E,    KC_O,    KC_SCLN, KC_QUOT +#define ________________MINIMAK_8_R3_______________       KC_J,    KC_M,    KC_COMM, KC_DOT,  KC_SLSH + + +#define _______________MINIMAK_12_L1_______________       KC_Q,    KC_W,    KC_D,    KC_F,    KC_K +#define _______________MINIMAK_12_L2_______________       KC_A,    KC_S,    KC_T,    KC_R,    KC_G +#define _______________MINIMAK_12_L3_______________       KC_Z,    KC_X,    KC_C,    KC_V,    KC_B + +#define _______________MINIMAK_12_R1_______________       KC_Y,    KC_U,    KC_I,    KC_L,    KC_SCLN +#define _______________MINIMAK_12_R2_______________       KC_H,    KC_N,    KC_E,    KC_O,    KC_P,    KC_QUOT +#define _______________MINIMAK_12_R3_______________       KC_J,    KC_M,    KC_COMM, KC_DOT,  KC_SLSH  #define ________________NUMBER_LEFT________________       KC_1,    KC_2,    KC_3,    KC_4,    KC_5 | 
