@ -0,0 +1,7 @@ | |||
// Copyright 2023 Dane Lipscombe (@dlip) | |||
// SPDX-License-Identifier: GPL-2.0-or-later | |||
#pragma once | |||
#define RP2040_BOOTLOADER_DOUBLE_TAP_RESET | |||
#define RP2040_BOOTLOADER_DOUBLE_TAP_RESET_TIMEOUT 1000U |
@ -0,0 +1,52 @@ | |||
{ | |||
"manufacturer": "dlip", | |||
"keyboard_name": "chouchou", | |||
"maintainer": "dlip", | |||
"bootloader": "rp2040", | |||
"features": { | |||
"bootmagic": true, | |||
"command": false, | |||
"console": false, | |||
"extrakey": true, | |||
"mousekey": false, | |||
"nkro": true | |||
}, | |||
"matrix_pins": { | |||
"direct": [ | |||
["GP0", "GP1", "GP2", "GP3", "GP4", "GP5", "GP6", "GP7", "GP8", "GP9", "GP10", "GP11", "GP12", "GP13", "GP14", "GP15", "GP26", "GP27", "GP28", "GP29"] | |||
] | |||
}, | |||
"processor": "RP2040", | |||
"url": "https://github.com/dlip/chouchou", | |||
"usb": { | |||
"device_version": "1.0.0", | |||
"pid": "0x0117", | |||
"vid": "0xFABE" | |||
}, | |||
"layouts": { | |||
"LAYOUT_split_2x4_2": { | |||
"layout": [ | |||
{"matrix": [0, 16], "x": 0, "y": 0.88}, | |||
{"matrix": [0, 17], "x": 1, "y": 0.38}, | |||
{"matrix": [0, 18], "x": 2, "y": 0}, | |||
{"matrix": [0, 19], "x": 3, "y": 0.38}, | |||
{"matrix": [0, 0], "x": 4, "y": 0.38}, | |||
{"matrix": [0, 1], "x": 5, "y": 0}, | |||
{"matrix": [0, 2], "x": 6, "y": 0.38}, | |||
{"matrix": [0, 3], "x": 7, "y": 0.88}, | |||
{"matrix": [0, 12], "x": 0, "y": 1.88}, | |||
{"matrix": [0, 13], "x": 1, "y": 1.38}, | |||
{"matrix": [0, 14], "x": 2, "y": 1}, | |||
{"matrix": [0, 15], "x": 3, "y": 1.38}, | |||
{"matrix": [0, 4], "x": 4, "y": 1.38}, | |||
{"matrix": [0, 5], "x": 5, "y": 1}, | |||
{"matrix": [0, 6], "x": 6, "y": 1.38}, | |||
{"matrix": [0, 7], "x": 7, "y": 1.88}, | |||
{"matrix": [0, 11], "x": 2, "y": 2.38}, | |||
{"matrix": [0, 10], "x": 3, "y": 2.5}, | |||
{"matrix": [0, 9], "x": 4, "y": 2.5}, | |||
{"matrix": [0, 8], "x": 5, "y": 2.38} | |||
] | |||
} | |||
} | |||
} |
@ -0,0 +1,11 @@ | |||
// Copyright 2023 Dane Lipscombe (@dlip) | |||
// SPDX-License-Identifier: GPL-2.0-or-later | |||
#include QMK_KEYBOARD_H | |||
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { | |||
[0] = LAYOUT_split_2x4_2( | |||
KC_A, KC_B, KC_C, KC_D, KC_N, KC_M, KC_L, KC_K, | |||
KC_E, KC_F, KC_G, KC_H, KC_R, KC_Q, KC_P, KC_O, | |||
KC_I, KC_J, KC_T, KC_S | |||
), | |||
}; |
@ -0,0 +1,26 @@ | |||
# Chouchou | |||
![Chouchou](https://i.imgur.com/BYk2n5Ch.jpeg) | |||
Chouchou (Japanese for butterfly) is a minimalist unibody keyboard designed to be used with the [Taipo](https://inkeys.wiki/en/keymaps/taipo) layout. | |||
- [Github repo](https://github.com/dlip/chouchou) | |||
- Keyboard Maintainer: [Dane Lipscombe](https://github.com/dlip) | |||
Make example for this keyboard (after setting up your build environment): | |||
make chouchou:default | |||
Flashing example for this keyboard: | |||
make chouchou: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 | |||
Enter the bootloader in 3 ways: | |||
* **Bootmagic reset**: Hold down the key at (0,0) in the matrix (usually the top left key or Escape) and plug in the keyboard | |||
* **Physical reset button**: Briefly press the button on the back of the PCB - some may have pads you must short instead | |||
* **Keycode in layout**: Press the key mapped to `QK_BOOT` if it is available |
@ -1,231 +0,0 @@ | |||
#include "progmem.h" | |||
// Helidox 8x6 font with QMK Firmware Logo | |||
// Online editor: http://teripom.x0.com/ | |||
const unsigned char font[] PROGMEM = { | |||
0x00, 0x00, 0x00, 0x00, 0x00, 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, | |||
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, 0x90, 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, | |||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, | |||
0x00, 0x00, 0x00, 0x00, 0x00, 0xE0, | |||
0x38, 0x1C, 0x0C, 0x06, 0x03, 0x03, | |||
0x01, 0x01, 0x01, 0x01, 0x01, 0x01, | |||
0x03, 0x03, 0x82, 0x86, 0xCC, 0xF8, | |||
0xF0, 0xF0, 0x38, 0x1C, 0x0C, 0x00, | |||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, | |||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, | |||
0x00, 0x00, 0x00, 0x00, 0xC0, 0x70, | |||
0xF8, 0x0C, 0x04, 0xC6, 0xA2, 0xB3, | |||
0x9F, 0x87, 0x01, 0x01, 0x1F, 0x66, | |||
0x66, 0x44, 0x4C, 0x58, 0x70, 0xE0, | |||
0x80, 0x00, 0x00, 0x00, 0x00, 0x00, | |||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, | |||
0x00, 0x00, 0x00, 0x00, 0x00, 0xC0, | |||
0xE0, 0x78, 0x18, 0x8C, 0xC6, 0xE6, | |||
0xE3, 0xE3, 0xC3, 0x83, 0x03, 0x03, | |||
0x73, 0x76, 0x76, 0x0C, 0x18, 0xF8, | |||
0xF0, 0xC0, 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, | |||
0x00, 0x80, 0xC0, 0x40, 0x7F, 0xF3, | |||
0x60, 0x20, 0x30, 0x30, 0x38, 0x18, | |||
0x9C, 0xCC, 0x6C, 0x6E, 0x3E, 0x3E, | |||
0x1F, 0x0F, 0x0F, 0x03, 0x03, 0x01, | |||
0xC0, 0xFF, 0x3E, 0x00, 0x00, 0x00, | |||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, | |||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, | |||
0x00, 0x00, 0x00, 0x7F, 0xC1, 0x00, | |||
0x1D, 0x67, 0xC0, 0x80, 0x01, 0x00, | |||
0x00, 0xF0, 0x0F, 0x00, 0x00, 0x00, | |||
0x0C, 0x1A, 0x32, 0xC2, 0x01, 0xC1, | |||
0xFF, 0x3E, 0x00, 0x00, 0x00, 0x00, | |||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, | |||
0x00, 0x00, 0x00, 0x00, 0x7E, 0xFF, | |||
0x80, 0x00, 0x00, 0xC3, 0xC7, 0xC7, | |||
0x8F, 0x0F, 0x07, 0x03, 0x80, 0xC0, | |||
0xC0, 0xC0, 0xC0, 0x80, 0x00, 0x07, | |||
0x0F, 0xFF, 0x7F, 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, | |||
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, | |||
0x01, 0x01, 0x00, 0x40, 0x60, 0x31, | |||
0x3B, 0x1E, 0x0C, 0x1E, 0x36, 0x23, | |||
0x61, 0x60, 0x60, 0x60, 0x60, 0x60, | |||
0x60, 0x30, 0x1C, 0x3E, 0x3E, 0x3F, | |||
0x1D, 0x00, 0x00, 0x00, 0x00, 0x00, | |||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, | |||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, | |||
0x00, 0x00, 0x00, 0x00, 0x01, 0x07, | |||
0x0C, 0x18, 0x10, 0x33, 0x3E, 0x38, | |||
0x6E, 0x67, 0x60, 0x60, 0x60, 0x20, | |||
0x30, 0x18, 0x08, 0x0F, 0x06, 0x03, | |||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, | |||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, | |||
0x00, 0x00, 0x00, 0x00, 0x00, 0x01, | |||
0x03, 0x06, 0x0C, 0x19, 0x31, 0x21, | |||
0x60, 0x60, 0x60, 0x60, 0x61, 0x63, | |||
0x67, 0x67, 0x33, 0x39, 0x18, 0x0E, | |||
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, | |||
}; |
@ -1,231 +0,0 @@ | |||
#include "progmem.h" | |||
// Helidox 8x6 font with QMK Firmware Logo | |||
// Online editor: http://teripom.x0.com/ | |||
const unsigned char font[] PROGMEM = { | |||
0x00, 0x00, 0x00, 0x00, 0x00, 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, | |||
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, 0x90, 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, | |||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, | |||
0x00, 0x00, 0x00, 0x00, 0x00, 0xE0, | |||
0x38, 0x1C, 0x0C, 0x06, 0x03, 0x03, | |||
0x01, 0x01, 0x01, 0x01, 0x01, 0x01, | |||
0x03, 0x03, 0x82, 0x86, 0xCC, 0xF8, | |||
0xF0, 0xF0, 0x38, 0x1C, 0x0C, 0x00, | |||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, | |||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, | |||
0x00, 0x00, 0x00, 0x00, 0xC0, 0x70, | |||
0xF8, 0x0C, 0x04, 0xC6, 0xA2, 0xB3, | |||
0x9F, 0x87, 0x01, 0x01, 0x1F, 0x66, | |||
0x66, 0x44, 0x4C, 0x58, 0x70, 0xE0, | |||
0x80, 0x00, 0x00, 0x00, 0x00, 0x00, | |||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, | |||
0x00, 0x00, 0x00, 0x00, 0x00, 0xC0, | |||
0xE0, 0x78, 0x18, 0x8C, 0xC6, 0xE6, | |||
0xE3, 0xE3, 0xC3, 0x83, 0x03, 0x03, | |||
0x73, 0x76, 0x76, 0x0C, 0x18, 0xF8, | |||
0xF0, 0xC0, 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, | |||
0x00, 0x80, 0xC0, 0x40, 0x7F, 0xF3, | |||
0x60, 0x20, 0x30, 0x30, 0x38, 0x18, | |||
0x9C, 0xCC, 0x6C, 0x6E, 0x3E, 0x3E, | |||
0x1F, 0x0F, 0x0F, 0x03, 0x03, 0x01, | |||
0xC0, 0xFF, 0x3E, 0x00, 0x00, 0x00, | |||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, | |||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, | |||
0x00, 0x00, 0x00, 0x7F, 0xC1, 0x00, | |||
0x1D, 0x67, 0xC0, 0x80, 0x01, 0x00, | |||
0x00, 0xF0, 0x0F, 0x00, 0x00, 0x00, | |||
0x0C, 0x1A, 0x32, 0xC2, 0x01, 0xC1, | |||
0xFF, 0x3E, 0x00, 0x00, 0x00, 0x00, | |||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, | |||
0x00, 0x00, 0x00, 0x00, 0x7E, 0xFF, | |||
0x80, 0x00, 0x00, 0xC3, 0xC7, 0xC7, | |||
0x8F, 0x0F, 0x07, 0x03, 0x80, 0xC0, | |||
0xC0, 0xC0, 0xC0, 0x80, 0x00, 0x07, | |||
0x0F, 0xFF, 0x7F, 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, | |||
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, | |||
0x01, 0x01, 0x00, 0x40, 0x60, 0x31, | |||
0x3B, 0x1E, 0x0C, 0x1E, 0x36, 0x23, | |||
0x61, 0x60, 0x60, 0x60, 0x60, 0x60, | |||
0x60, 0x30, 0x1C, 0x3E, 0x3E, 0x3F, | |||
0x1D, 0x00, 0x00, 0x00, 0x00, 0x00, | |||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, | |||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, | |||
0x00, 0x00, 0x00, 0x00, 0x01, 0x07, | |||
0x0C, 0x18, 0x10, 0x33, 0x3E, 0x38, | |||
0x6E, 0x67, 0x60, 0x60, 0x60, 0x20, | |||
0x30, 0x18, 0x08, 0x0F, 0x06, 0x03, | |||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, | |||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, | |||
0x00, 0x00, 0x00, 0x00, 0x00, 0x01, | |||
0x03, 0x06, 0x0C, 0x19, 0x31, 0x21, | |||
0x60, 0x60, 0x60, 0x60, 0x61, 0x63, | |||
0x67, 0x67, 0x33, 0x39, 0x18, 0x0E, | |||
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, | |||
}; |
@ -1,231 +0,0 @@ | |||
#include "progmem.h" | |||
// Helidox 8x6 font with QMK Firmware Logo | |||
// Online editor: http://teripom.x0.com/ | |||
const unsigned char font[] PROGMEM = { | |||
0x00, 0x00, 0x00, 0x00, 0x00, 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, | |||
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, 0x90, 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, | |||
0x00, 0x00, 0x00, 0x00, 0x00, 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, | |||
0xE0, 0xF8, 0x3E, 0x0F, 0x03, 0x00, | |||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, | |||
0x00, 0x00, 0x00, 0x00, 0x80, 0xC0, | |||
0xE0, 0xF0, 0xF8, 0xFC, 0x00, 0x00, | |||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, | |||
0x00, 0x00, 0x00, 0xE0, 0xF0, 0x7C, | |||
0x3F, 0x0F, 0x03, 0x03, 0x03, 0x03, | |||
0x03, 0x03, 0x1B, 0x1F, 0x1F, 0x07, | |||
0x03, 0xC0, 0xE0, 0xFC, 0x1C, 0x0F, | |||
0x03, 0x03, 0x03, 0x03, 0x03, 0x03, | |||
0x03, 0x03, 0x03, 0x03, 0x03, 0x03, | |||
0xE7, 0xFF, 0xFF, 0x0F, 0x03, 0x03, | |||
0x03, 0x03, 0x83, 0x83, 0xE3, 0xE7, | |||
0x3C, 0x3C, 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, | |||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, | |||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, | |||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, | |||
0x80, 0xC0, 0xF0, 0x7C, 0x1F, 0x07, | |||
0x01, 0x00, 0x00, 0x00, 0x00, 0x00, | |||
0x00, 0x00, 0x00, 0x00, 0x00, 0x80, | |||
0x80, 0x90, 0x98, 0x9C, 0x8C, 0x80, | |||
0x80, 0x80, 0x9C, 0x9C, 0x00, 0x00, | |||
0x00, 0x00, 0x00, 0x00, 0x00, 0x10, | |||
0x10, 0x1C, 0x1C, 0x1C, 0x1C, 0x1C, | |||
0x1C, 0x1C, 0x9C, 0x9C, 0x1C, 0x1C, | |||
0x0C, 0x0C, 0x80, 0x90, 0x90, 0x10, | |||
0x1C, 0x1C, 0x1C, 0x1C, 0x1C, 0x1C, | |||
0x1C, 0x1C, 0x1C, 0x1C, 0x1C, 0x0C, | |||
0x00, 0x00, 0x90, 0x90, 0x9C, 0x9C, | |||
0x1C, 0x1C, 0x1C, 0x1C, 0x9C, 0x9C, | |||
0x9C, 0x0C, 0x0C, 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, | |||
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, | |||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, | |||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, | |||
0x00, 0x00, 0x00, 0x70, 0x7C, 0x7E, | |||
0x6F, 0x63, 0x60, 0x60, 0x60, 0x60, | |||
0x60, 0x60, 0x60, 0x60, 0x60, 0x60, | |||
0x60, 0x70, 0x78, 0x3C, 0x1E, 0x0F, | |||
0x07, 0x03, 0x01, 0x01, 0x01, 0x01, | |||
0x01, 0x01, 0x7F, 0x7F, 0x00, 0x00, | |||
0x60, 0x70, 0x7C, 0x7C, 0x6C, 0x60, | |||
0x60, 0x60, 0x60, 0x60, 0x60, 0x78, | |||
0x3E, 0x0F, 0x03, 0x01, 0x00, 0x60, | |||
0x78, 0x7E, 0x67, 0x61, 0x60, 0x60, | |||
0x60, 0x60, 0x60, 0x60, 0x60, 0x60, | |||
0x70, 0x00, 0x00, 0x00, 0x00, 0x60, | |||
0x78, 0x7E, 0x0F, 0x07, 0x00, 0x00, | |||
0x00, 0x00, 0x00, 0x00, 0x03, 0x0F, | |||
0x7F, 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, 0x00, 0x00, 0x00, 0x00, | |||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, | |||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, | |||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, | |||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, | |||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, | |||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, | |||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, | |||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, | |||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, | |||
}; |
@ -0,0 +1,36 @@ | |||
// Copyright 2023 Your Name (@rpbaptist) | |||
// SPDX-License-Identifier: GPL-2.0-or-later | |||
#include "progmem.h" | |||
// Helidox 8x6 font with QMK Firmware Logo | |||
// Online editor: https://joric.github.io/qle/ | |||
const unsigned char font[] PROGMEM = { | |||
0x00, 0x00, 0x00, 0x00, 0x00, 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, 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, 0x90, 0x90, 0x7C, 0x00, 0x44, 0x64, 0x54, 0x4C, 0x44, 0x00, 0x00, 0x08, 0x36, 0x41, 0x00, 0x00, 0x00, 0x00, 0x77, 0x00, 0x00, 0x00, | |||
#if defined(THEME_GODSPEED) || defined(THEME_GODSPEED_ARES) | |||
0x00, 0x41, 0x36, 0x08, 0x00, 0x00, 0x02, 0x01, 0x02, 0x04, 0x02, 0x00, 0x3C, 0x26, 0x23, 0x26, 0x3C, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xE0, 0x38, 0x1C, 0x0C, 0x06, 0x03, 0x03, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x03, 0x03, 0x82, 0x86, 0xCC, 0xF8, 0xF0, 0xF0, 0x38, 0x1C, 0x0C, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xC0, 0x70, 0xF8, 0x0C, 0x04, 0xC6, 0xA2, 0xB3, 0x9F, 0x87, 0x01, 0x01, 0x1F, 0x66, 0x66, 0x44, 0x4C, 0x58, 0x70, 0xE0, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xC0, 0xE0, 0x78, 0x18, 0x8C, 0xC6, 0xE6, 0xE3, 0xE3, 0xC3, 0x83, 0x03, 0x03, 0x73, 0x76, 0x76, 0x0C, 0x18, 0xF8, 0xF0, 0xC0, 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, 0x00, 0x80, 0xC0, 0x40, 0x7F, 0xF3, 0x60, 0x20, 0x30, 0x30, 0x38, 0x18, 0x9C, 0xCC, 0x6C, 0x6E, 0x3E, 0x3E, 0x1F, 0x0F, 0x0F, 0x03, 0x03, 0x01, 0xC0, 0xFF, 0x3E, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x7F, 0xC1, 0x00, 0x1D, 0x67, 0xC0, 0x80, 0x01, 0x00, 0x00, 0xF0, 0x0F, 0x00, 0x00, 0x00, 0x0C, 0x1A, 0x32, 0xC2, 0x01, 0xC1, 0xFF, 0x3E, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x7E, 0xFF, | |||
0x80, 0x00, 0x00, 0xC3, 0xC7, 0xC7, 0x8F, 0x0F, 0x07, 0x03, 0x80, 0xC0, 0xC0, 0xC0, 0xC0, 0x80, 0x00, 0x07, 0x0F, 0xFF, 0x7F, 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, 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, 0x01, 0x01, 0x00, 0x40, 0x60, 0x31, 0x3B, 0x1E, 0x0C, 0x1E, 0x36, 0x23, 0x61, 0x60, 0x60, 0x60, 0x60, 0x60, 0x60, 0x30, 0x1C, 0x3E, 0x3E, 0x3F, 0x1D, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, | |||
0x00, 0x00, 0x00, 0x00, 0x01, 0x07, 0x0C, 0x18, 0x10, 0x33, 0x3E, 0x38, 0x6E, 0x67, 0x60, 0x60, 0x60, 0x20, 0x30, 0x18, 0x08, 0x0F, 0x06, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x03, 0x06, 0x0C, 0x19, 0x31, 0x21, 0x60, 0x60, 0x60, 0x60, 0x61, 0x63, 0x67, 0x67, 0x33, 0x39, 0x18, 0x0E, 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, | |||
#elif defined(THEME_LASER) | |||
0x00, 0x41, 0x36, 0x08, 0x00, 0x00, 0x02, 0x01, 0x02, 0x04, 0x02, 0x00, 0x3C, 0x26, 0x23, 0x26, 0x3C, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 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, 0xE0, 0xF8, 0x3E, 0x0F, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0xC0, 0xE0, 0xF0, 0xF8, 0xFC, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xE0, 0xF0, 0x7C, 0x3F, 0x0F, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x1B, 0x1F, 0x1F, 0x07, 0x03, 0xC0, 0xE0, 0xFC, 0x1C, 0x0F, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0xE7, 0xFF, 0xFF, 0x0F, 0x03, 0x03, 0x03, 0x03, 0x83, 0x83, 0xE3, 0xE7, 0x3C, 0x3C, 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, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0xC0, 0xF0, 0x7C, 0x1F, 0x07, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x80, 0x90, 0x98, 0x9C, 0x8C, 0x80, 0x80, 0x80, 0x9C, 0x9C, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x10, 0x1C, 0x1C, 0x1C, 0x1C, 0x1C, 0x1C, 0x1C, 0x9C, 0x9C, 0x1C, 0x1C, 0x0C, 0x0C, 0x80, 0x90, 0x90, 0x10, 0x1C, 0x1C, 0x1C, 0x1C, 0x1C, 0x1C, 0x1C, 0x1C, 0x1C, 0x1C, 0x1C, 0x0C, | |||
0x00, 0x00, 0x90, 0x90, 0x9C, 0x9C, 0x1C, 0x1C, 0x1C, 0x1C, 0x9C, 0x9C, 0x9C, 0x0C, 0x0C, 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, 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, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x70, 0x7C, 0x7E, 0x6F, 0x63, 0x60, 0x60, 0x60, 0x60, 0x60, 0x60, 0x60, 0x60, 0x60, 0x60, 0x60, 0x70, 0x78, 0x3C, 0x1E, 0x0F, 0x07, 0x03, 0x01, 0x01, 0x01, 0x01, | |||
0x01, 0x01, 0x7F, 0x7F, 0x00, 0x00, 0x60, 0x70, 0x7C, 0x7C, 0x6C, 0x60, 0x60, 0x60, 0x60, 0x60, 0x60, 0x78, 0x3E, 0x0F, 0x03, 0x01, 0x00, 0x60, 0x78, 0x7E, 0x67, 0x61, 0x60, 0x60, 0x60, 0x60, 0x60, 0x60, 0x60, 0x60, 0x70, 0x00, 0x00, 0x00, 0x00, 0x60, 0x78, 0x7E, 0x0F, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x0F, 0x7F, 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, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 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(THEME_MILKSHAKE) | |||
0x00, 0x41, 0x36, 0x08, 0x00, 0x00, 0x02, 0x01, 0x02, 0x04, 0x02, 0x00, 0x3C, 0x26, 0x23, 0x26, 0x3C, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0xC0, 0xC0, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xC0, 0xFC, 0xFE, 0xFE, 0xFE, 0x7C, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x70, 0xF8, 0xF8, 0xF8, 0xF0, 0xE0, 0xC0, 0x80, 0xC0, 0xE0, 0xF0, 0xF8, 0xF8, 0xF8, 0x70, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFC, 0xFE, 0xFE, 0xFE, 0xFC, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xC0, 0xE0, 0xF0, 0xF8, 0xF8, 0xFC, 0x7C, 0x7C, 0x7C, 0xFC, 0xF8, 0xF8, 0xF0, 0xE0, 0xC0, 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, 0x70, 0xF8, 0xFC, 0xFE, 0xFF, 0xDF, 0x8F, 0x07, 0x03, 0x00, 0x00, 0x70, 0xF8, 0xF8, 0xF8, 0xF8, 0xFC, 0x7C, 0x7E, 0x3F, 0x3F, 0x1F, 0x0F, 0x07, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xC0, 0xE0, 0xF1, 0xFB, 0xFF, 0xFF, 0x7F, 0x3F, 0x7F, 0xFF, 0xFF, 0xFB, 0xF1, 0xE0, 0xC0, 0x00, 0x00, 0x00, 0x0E, 0x1F, 0x1F, 0x1F, 0x0E, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x60, 0xF0, 0xF0, 0xF0, 0xE0, 0xC1, 0x83, 0x03, 0x83, 0xC1, 0xE0, 0xF0, 0xF0, 0xF0, 0x60, 0x00, 0x00, | |||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0E, 0x1F, 0x1F, 0x1F, 0x0E, 0x00, 0x00, 0x1F, 0x7F, 0xFF, 0xFF, 0xFF, 0xF1, 0xE0, 0xC0, 0xC0, 0xC0, 0xE0, 0xF1, 0xFF, 0xFF, 0xFF, 0x3F, 0x1F, 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, 0x01, 0x03, 0x07, 0x0F, 0x1F, 0x1F, 0x0E, 0x00, 0x00, 0x00, 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, 0x03, 0x03, 0x03, 0x01, 0x00, 0x00, 0x00, | |||
0x00, 0x00, 0x01, 0x03, 0x03, 0x03, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x03, 0x07, 0x0F, 0x1F, 0x1F, 0x1F, 0x0F, 0x07, 0x03, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x03, 0x03, 0x07, 0x07, 0x07, 0x07, 0x07, 0x03, 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, | |||
#else // default PULSE | |||
0x00, 0x41, 0x36, 0x08, 0x00, 0x00, 0x02, 0x01, 0x02, 0x04, 0x02, 0x00, 0x3C, 0x26, 0x23, 0x26, 0x3C, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 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, 0xF0, 0xF8, 0xF8, 0xF0, 0x80, 0x00, 0x00, 0x00, 0x00, 0x80, 0xF0, 0xFE, 0x7F, 0x7F, 0xFE, 0xF0, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 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, 0x1C, 0x1C, 0x1C, 0x1C, 0x1C, 0x1C, 0x1C, 0x1C, 0x1C, 0x1C, 0x1C, 0x1C, 0x1C, 0x1C, 0x1C, 0x1C, 0x1C, 0x1C, 0x1C, 0x1C, 0x1C, 0x1C, 0x1C, 0x1C, 0x1C, 0x1C, 0x1C, 0x1C, 0x1C, 0x1C, 0x1C, 0x1C, 0x1C, 0x1C, 0x1C, 0x1C, 0x1C, 0x1C, 0x1C, 0x1C, 0x1C, 0x1C, 0x1C, 0x1C, 0x1C, 0x1C, 0x1C, 0x1C, 0x1C, 0x1F, 0x0F, 0x03, 0x03, 0x1F, 0xFF, 0xFC, 0xE0, 0xE0, 0xFC, 0xFF, 0x1F, 0x03, 0x00, 0x00, 0x03, 0x1F, 0xFF, 0xFC, 0xE0, 0xE0, 0xF8, 0xFC, 0x1C, 0x1C, 0x1C, 0x1C, 0x1C, 0x1C, 0x1C, 0x1C, 0x1C, 0x1C, 0x1C, 0x1C, 0x1C, 0x1C, 0x1C, 0x1C, 0x1C, 0x1C, | |||
0x1C, 0x1C, 0x1C, 0x1C, 0x1C, 0x1C, 0x1C, 0x1C, 0x1C, 0x1C, 0x1C, 0x1C, 0x1C, 0x1C, 0x1C, 0x1C, 0x1C, 0x1C, 0x1C, 0x1C, 0x1C, 0x1C, 0x1C, 0x1C, 0x1C, 0x1C, 0x1C, 0x1C, 0x1C, 0x1C, 0x1C, 0x1C, 0x1C, 0x1C, 0x1C, 0x1C, 0x1F, 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, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, | |||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0x0F, 0x0F, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0x0F, 0x0F, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 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 | |||
}; |
@ -1,231 +0,0 @@ | |||
#include "progmem.h" | |||
// Helidox 8x6 font with QMK Firmware Logo | |||
// Online editor: http://teripom.x0.com/ | |||
const unsigned char font[] PROGMEM = { | |||
0x00, 0x00, 0x00, 0x00, 0x00, 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, | |||
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, 0x90, 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, | |||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, | |||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, | |||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, | |||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, | |||
0x00, 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, 0xF0, 0xF8, 0xF8, 0xF0, | |||
0x80, 0x00, 0x00, 0x00, 0x00, 0x80, | |||
0xF0, 0xFE, 0x7F, 0x7F, 0xFE, 0xF0, | |||
0x80, 0x00, 0x00, 0x00, 0x00, 0x00, | |||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, | |||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, | |||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, | |||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, | |||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, | |||
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, | |||
0x1C, 0x1C, 0x1C, 0x1C, 0x1C, 0x1C, | |||
0x1C, 0x1C, 0x1C, 0x1C, 0x1C, 0x1C, | |||
0x1C, 0x1C, 0x1C, 0x1C, 0x1C, 0x1C, | |||
0x1C, 0x1C, 0x1C, 0x1C, 0x1C, 0x1C, | |||
0x1C, 0x1C, 0x1C, 0x1C, 0x1C, 0x1C, | |||
0x1C, 0x1C, 0x1C, 0x1C, 0x1C, 0x1C, | |||
0x1C, 0x1C, 0x1C, 0x1C, 0x1C, 0x1C, | |||
0x1C, 0x1C, 0x1C, 0x1C, 0x1C, 0x1C, | |||
0x1C, 0x1F, 0x0F, 0x03, 0x03, 0x1F, | |||
0xFF, 0xFC, 0xE0, 0xE0, 0xFC, 0xFF, | |||
0x1F, 0x03, 0x00, 0x00, 0x03, 0x1F, | |||
0xFF, 0xFC, 0xE0, 0xE0, 0xF8, 0xFC, | |||
0x1C, 0x1C, 0x1C, 0x1C, 0x1C, 0x1C, | |||
0x1C, 0x1C, 0x1C, 0x1C, 0x1C, 0x1C, | |||
0x1C, 0x1C, 0x1C, 0x1C, 0x1C, 0x1C, | |||
0x1C, 0x1C, 0x1C, 0x1C, 0x1C, 0x1C, | |||
0x1C, 0x1C, 0x1C, 0x1C, 0x1C, 0x1C, | |||
0x1C, 0x1C, 0x1C, 0x1C, 0x1C, 0x1C, | |||
0x1C, 0x1C, 0x1C, 0x1C, 0x1C, 0x1C, | |||
0x1C, 0x1C, 0x1C, 0x1C, 0x1C, 0x1C, | |||
0x1C, 0x1C, 0x1C, 0x1C, 0x1C, 0x1C, | |||
0x1F, 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, | |||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, | |||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, | |||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, | |||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, | |||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, | |||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, | |||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, | |||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, | |||
0x00, 0x07, 0x0F, 0x0F, 0x07, 0x00, | |||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, | |||
0x00, 0x07, 0x0F, 0x0F, 0x07, 0x00, | |||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, | |||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, | |||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, | |||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, | |||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, | |||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, | |||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, | |||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, | |||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, | |||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, | |||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, | |||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, | |||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, | |||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, | |||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, | |||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, | |||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, | |||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, | |||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, | |||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, | |||
}; |
@ -0,0 +1,112 @@ | |||
// Copyright 2023 Your Name (@rpbaptist) | |||
// SPDX-License-Identifier: GPL-2.0-or-later | |||
#include "rpbaptist.h" | |||
oled_rotation_t oled_init_user(oled_rotation_t rotation) { | |||
if (is_keyboard_master()) { | |||
return OLED_ROTATION_270; | |||
} else { | |||
return OLED_ROTATION_180; | |||
} | |||
} | |||
void render_crkbd_logo(void) { | |||
static const char PROGMEM crkbd_logo[] = { | |||
0x80, 0x81, 0x82, 0x83, 0x84, 0x85, 0x86, 0x87, 0x88, 0x89, 0x8a, 0x8b, 0x8c, 0x8d, 0x8e, 0x8f, 0x90, 0x91, 0x92, 0x93, 0x94, | |||
0xa0, 0xa1, 0xa2, 0xa3, 0xa4, 0xa5, 0xa6, 0xa7, 0xa8, 0xa9, 0xaa, 0xab, 0xac, 0xad, 0xae, 0xaf, 0xb0, 0xb1, 0xb2, 0xb3, 0xb4, | |||
0xc0, 0xc1, 0xc2, 0xc3, 0xc4, 0xc5, 0xc6, 0xc7, 0xc8, 0xc9, 0xca, 0xcb, 0xcc, 0xcd, 0xce, 0xcf, 0xd0, 0xd1, 0xd2, 0xd3, 0xd4, | |||
0}; | |||
oled_write_P(crkbd_logo, false); | |||
} | |||
user_config_t user_config; | |||
void render_status(void) { | |||
switch (get_highest_layer(default_layer_state)) { | |||
case _COLEMAKDH: | |||
oled_write_P(PSTR("TYPE "), false); | |||
break; | |||
case _GAMING: | |||
oled_write_P(PSTR("GAME "), false); | |||
break; | |||
case _WASD: | |||
oled_write_P(PSTR("WASD "), false); | |||
break; | |||
} | |||
oled_write_P(PSTR("\n"), false); | |||
switch (get_highest_layer(layer_state)) { | |||
case 0: | |||
oled_write_P(PSTR(" "), false); | |||
break; | |||
case _SYM: | |||
oled_write_P(PSTR("Sym "), false); | |||
break; | |||
case _NAV: | |||
oled_write_P(PSTR("Nav "), false); | |||
break; | |||
case _GAMING_EXT: | |||
oled_write_P(PSTR("Ext "), false); | |||
break; | |||
case _NUMPAD: | |||
oled_write_P(PSTR("Num "), false); | |||
break; | |||
case _UTIL: | |||
oled_write_P(PSTR("Util "), false); | |||
break; | |||
default: | |||
oled_write_P(PSTR("Unkn "), false); | |||
break; | |||
} | |||
oled_write_P(PSTR("\n"), false); | |||
uint8_t modifiers = get_mods(); | |||
oled_write_P((modifiers & MOD_MASK_SHIFT) ? PSTR("SHIFT") : PSTR("\n"), false); | |||
oled_write_P((modifiers & MOD_MASK_CTRL) ? PSTR("CTRL ") : PSTR("\n"), false); | |||
oled_write_P((modifiers & MOD_MASK_ALT) ? PSTR("ALT ") : PSTR("\n"), false); | |||
oled_write_P((modifiers & MOD_MASK_GUI) ? PSTR("SUPER") : PSTR("\n"), false); | |||
oled_write_P(PSTR("\n"), false); | |||
led_t led_state = host_keyboard_led_state(); | |||
oled_write_P(PSTR("Mode:"), false); | |||
oled_write_P(led_state.num_lock ? PSTR(" NUM ") : PSTR("\n"), false); | |||
oled_write_P(led_state.caps_lock ? PSTR(" CAPS") : PSTR("\n"), false); | |||
#ifdef RGB_MATRIX_ENABLE | |||
oled_write_P(PSTR("\n"), false); | |||
oled_write_P(PSTR("\n"), false); | |||
if (rgb_matrix_config.enable) { | |||
if (user_config.rgb_matrix_idle_anim) { | |||
oled_write_P(rgb_matrix_anim_oled_text(user_config.rgb_matrix_active_mode), false); | |||
oled_write_P(rgb_matrix_anim_oled_text(user_config.rgb_matrix_idle_mode), false); | |||
} else { | |||
oled_write_P(PSTR("\n"), false); | |||
oled_write_P(rgb_matrix_anim_oled_text(rgb_matrix_get_mode()), false); | |||
} | |||
} else { | |||
oled_write_P(PSTR("\n"), false); | |||
oled_write_P(PSTR("\n"), false); | |||
} | |||
#endif | |||
} | |||
bool oled_task_user(void) { | |||
if (is_keyboard_master()) { | |||
render_status(); // Renders the current keyboard state (layer, lock, caps, scroll, etc) | |||
} else { | |||
render_crkbd_logo(); | |||
#ifdef RGB_MATRIX_ENABLE | |||
if (user_config.rgb_matrix_idle_anim && rgb_matrix_get_mode() == user_config.rgb_matrix_idle_mode) { | |||
oled_scroll_left(); // Turns on scrolling | |||
} else { | |||
oled_scroll_off(); | |||
} | |||
#endif | |||
} | |||
return false; | |||
} |
@ -0,0 +1,8 @@ | |||
// Copyright 2023 Your Name (@rpbaptist) | |||
// SPDX-License-Identifier: GPL-2.0-or-later | |||
#pragma once | |||
#include "oled_driver.h" | |||
void render_crkbd_logo(void); |
@ -0,0 +1,350 @@ | |||
// Copyright 2023 Your Name (@rpbaptist) | |||
// SPDX-License-Identifier: GPL-2.0-or-later | |||
#include "rpbaptist.h" | |||
uint32_t transport_user_config = 0; | |||
void user_config_sync(uint8_t initiator2target_buffer_size, const void* initiator2target_buffer, uint8_t target2initiator_buffer_size, void* target2initiator_buffer) { | |||
if (initiator2target_buffer_size == sizeof(transport_user_config)) { | |||
memcpy(&transport_user_config, initiator2target_buffer, initiator2target_buffer_size); | |||
} | |||
} | |||
#ifdef OLED_ENABLE | |||
const char* rgb_matrix_anim_oled_text(uint8_t mode) { | |||
switch (mode) { | |||
case RGB_MATRIX_TYPING_HEATMAP: | |||
return PSTR("Heat "); | |||
case RGB_MATRIX_SOLID_REACTIVE_MULTINEXUS: | |||
return PSTR("Nexus"); | |||
case RGB_MATRIX_SOLID_REACTIVE_SIMPLE: | |||
return PSTR("Ease "); | |||
case RGB_MATRIX_SOLID_COLOR: | |||
return PSTR("Solid"); | |||
case RGB_MATRIX_BREATHING: | |||
return PSTR("Fade "); | |||
case RGB_MATRIX_CYCLE_ALL: | |||
return PSTR("Cycle"); | |||
case RGB_MATRIX_RAINBOW_PINWHEELS: | |||
return PSTR("Wheel"); | |||
case RGB_MATRIX_CYCLE_LEFT_RIGHT: | |||
return PSTR("Wave "); | |||
default: | |||
return PSTR(""); | |||
} | |||
} | |||
#endif | |||
extern led_config_t g_led_config; | |||
void rgb_matrix_layer_helper(uint8_t hue, uint8_t sat, uint8_t val, uint8_t led_min, uint8_t led_max) { | |||
HSV hsv = {hue, sat, val}; | |||
if (hsv.v > rgb_matrix_get_val()) { | |||
hsv.v = rgb_matrix_get_val(); | |||
} | |||
RGB rgb = hsv_to_rgb(hsv); | |||
for (uint8_t i = 0; i < led_max; i++) { | |||
if (HAS_FLAGS(g_led_config.flags[i], LED_FLAG_UNDERGLOW)) { | |||
rgb_matrix_set_color(i, rgb.r, rgb.g, rgb.b); | |||
} | |||
} | |||
} | |||
extern user_config_t user_config; | |||
bool rgb_matrix_in_idle(void) { | |||
return (user_config.rgb_matrix_idle_anim && rgb_matrix_get_mode() == user_config.rgb_matrix_idle_mode); | |||
} | |||
bool rgb_matrix_indicators_advanced_user(uint8_t led_min, uint8_t led_max) { | |||
if (user_config.rgb_layer_indicator && !rgb_matrix_in_idle()) { | |||
switch (get_highest_layer(layer_state | default_layer_state)) { | |||
case _GAMING_EXT: | |||
rgb_matrix_layer_helper(HSV_PURPLE, led_min, led_max); | |||
break; | |||
case _SYM: | |||
rgb_matrix_layer_helper(HSV_YELLOW, led_min, led_max); | |||
break; | |||
case _NAV: | |||
rgb_matrix_layer_helper(HSV_SPRINGGREEN, led_min, led_max); | |||
break; | |||
case _UTIL: | |||
rgb_matrix_layer_helper(HSV_PINK, led_min, led_max); | |||
break; | |||
case _NUMPAD: | |||
rgb_matrix_layer_helper(HSV_CORAL, led_min, led_max); | |||
break; | |||
case _GAMING: | |||
case _WASD: | |||
rgb_matrix_layer_helper(HSV_RED, led_min, led_max); | |||
break; | |||
default: | |||
rgb_matrix_layer_helper(THEME_HSV, led_min, led_max); | |||
break; | |||
} | |||
} | |||
return false; | |||
} | |||
void rgb_matrix_turn_off_underglow(void) { | |||
rgb_matrix_layer_helper(0, 0, 0, 0, 54); | |||
} | |||
uint8_t rgb_matrix_speed_for_mode(uint8_t mode) { | |||
switch (mode) { | |||
case RGB_MATRIX_SOLID_REACTIVE_SIMPLE: | |||
case RGB_MATRIX_SOLID_REACTIVE_MULTINEXUS: | |||
return RGB_MATRIX_ANIMATION_SPEED_FAST; | |||
case RGB_MATRIX_BREATHING: | |||
case RGB_MATRIX_CYCLE_LEFT_RIGHT: | |||
case RGB_MATRIX_RAINBOW_PINWHEELS: | |||
return RGB_MATRIX_ANIMATION_SPEED_SLOW; | |||
case RGB_MATRIX_CYCLE_ALL: | |||
return RGB_MATRIX_ANIMATION_SPEED_SLOWER; | |||
default: | |||
return RGB_MATRIX_ANIMATION_SPEED_MEDIUM; | |||
} | |||
} | |||
bool rgb_matrix_mode_active(uint8_t mode) { | |||
return (mode == RGB_MATRIX_SOLID_REACTIVE_SIMPLE || mode == RGB_MATRIX_SOLID_REACTIVE_MULTINEXUS || mode == RGB_MATRIX_TYPING_HEATMAP); | |||
} | |||
void rgb_matrix_update_current_mode(uint8_t mode) { | |||
rgb_matrix_config.speed = rgb_matrix_speed_for_mode(mode); | |||
rgb_matrix_mode_noeeprom(mode); | |||
} | |||
void rgb_matrix_update_dynamic_mode(uint8_t mode) { | |||
uint8_t speed; | |||
speed = rgb_matrix_speed_for_mode(mode); | |||
if (rgb_matrix_mode_active(mode)) { | |||
user_config.rgb_matrix_active_speed = speed; | |||
user_config.rgb_matrix_active_mode = mode; | |||
} else { | |||
user_config.rgb_matrix_idle_speed = speed; | |||
user_config.rgb_matrix_idle_mode = mode; | |||
} | |||
} | |||
void rgb_matrix_update_mode(uint8_t mode) { | |||
if (user_config.rgb_matrix_idle_anim) { | |||
rgb_matrix_update_dynamic_mode(mode); | |||
} | |||
if (rgb_matrix_mode_active(mode) || !user_config.rgb_matrix_idle_anim) { | |||
rgb_matrix_update_current_mode(mode); | |||
} | |||
} | |||
uint8_t get_rgb_matrix_active_mode(void) { | |||
if (user_config.rgb_matrix_idle_anim) { | |||
return user_config.rgb_matrix_active_mode; | |||
} else { | |||
return rgb_matrix_get_mode(); | |||
} | |||
} | |||
void rgb_matrix_toggle_active_mode(void) { | |||
switch (get_rgb_matrix_active_mode()) { | |||
case RGB_MATRIX_SOLID_REACTIVE_SIMPLE: | |||
rgb_matrix_update_mode(RGB_MATRIX_TYPING_HEATMAP); | |||
break; | |||
case RGB_MATRIX_TYPING_HEATMAP: | |||
rgb_matrix_update_mode(RGB_MATRIX_SOLID_REACTIVE_MULTINEXUS); | |||
break; | |||
default: | |||
rgb_matrix_update_mode(RGB_MATRIX_SOLID_REACTIVE_SIMPLE); | |||
break; | |||
} | |||
} | |||
uint8_t get_rgb_matrix_idle_mode(void) { | |||
if (user_config.rgb_matrix_idle_anim) { | |||
return user_config.rgb_matrix_idle_mode; | |||
} else { | |||
return rgb_matrix_get_mode(); | |||
} | |||
} | |||
void rgb_matrix_toggle_simple_passive_mode(void) { | |||
switch (get_rgb_matrix_idle_mode()) { | |||
case RGB_MATRIX_SOLID_COLOR: | |||
rgb_matrix_update_mode(RGB_MATRIX_BREATHING); | |||
break; | |||
case RGB_MATRIX_BREATHING: | |||
rgb_matrix_update_mode(RGB_MATRIX_CYCLE_ALL); | |||
break; | |||
default: | |||
rgb_matrix_update_mode(RGB_MATRIX_SOLID_COLOR); | |||
break; | |||
} | |||
} | |||
void rgb_matrix_toggle_color_passive_mode(void) { | |||
switch (get_rgb_matrix_idle_mode()) { | |||
case RGB_MATRIX_RAINBOW_PINWHEELS: | |||
rgb_matrix_update_mode(RGB_MATRIX_CYCLE_LEFT_RIGHT); | |||
break; | |||
default: | |||
rgb_matrix_update_mode(RGB_MATRIX_RAINBOW_PINWHEELS); | |||
break; | |||
} | |||
} | |||
void rgb_matrix_toggle_underglow_layer_indicator(void) { | |||
user_config.rgb_layer_indicator ^= 1; | |||
if (user_config.rgb_layer_indicator) { | |||
layer_state_set(layer_state); // This is needed to immediately set the layer color (looks better) | |||
} else { | |||
rgb_matrix_turn_off_underglow(); | |||
} | |||
} | |||
void rgb_matrix_toggle_idle_animation_change(void) { | |||
user_config.rgb_matrix_idle_anim ^= 1; | |||
if (user_config.rgb_matrix_idle_anim) { | |||
rgb_matrix_update_mode(user_config.rgb_matrix_active_mode); | |||
} else { | |||
rgb_matrix_update_current_mode(user_config.rgb_matrix_idle_mode); | |||
} | |||
} | |||
void rgb_matrix_set_gaming_defaults(void) { | |||
if (!user_config.rgb_layer_indicator) { | |||
user_config.rgb_layer_indicator = true; | |||
} | |||
user_config.rgb_matrix_idle_timeout = GAMING_IDLE_TIMEOUT; | |||
rgb_matrix_update_mode(RGB_MATRIX_RAINBOW_PINWHEELS); | |||
rgb_matrix_update_mode(RGB_MATRIX_SOLID_REACTIVE_MULTINEXUS); | |||
} | |||
void rgb_matrix_set_typing_defaults(void) { | |||
user_config.rgb_matrix_idle_timeout = IDLE_TIMEOUT; | |||
rgb_matrix_update_mode(RGB_MATRIX_TYPING_PASSIVE); | |||
rgb_matrix_update_mode(RGB_MATRIX_TYPING_ACTIVE); | |||
} | |||
void rgb_matrix_set_defaults(void) { | |||
rgb_matrix_enable_noeeprom(); | |||
rgb_matrix_sethsv_noeeprom(THEME_HSV); | |||
user_config.rgb_layer_indicator = true; | |||
user_config.rgb_matrix_idle_anim = true; | |||
rgb_matrix_set_typing_defaults(); | |||
rgb_matrix_mode_noeeprom(RGB_MATRIX_SOLID_REACTIVE_SIMPLE); | |||
} | |||
void matrix_scan_rgb(void) { | |||
if (user_config.rgb_matrix_idle_anim && rgb_matrix_get_mode() == user_config.rgb_matrix_active_mode && last_input_activity_elapsed() > user_config.rgb_matrix_idle_timeout) { | |||
if (user_config.rgb_layer_indicator) { | |||
rgb_matrix_turn_off_underglow(); | |||
} | |||
rgb_matrix_update_current_mode(user_config.rgb_matrix_idle_mode); | |||
} | |||
} | |||
void user_transport_sync(void) { | |||
// Keep track of the last state, so that we can tell if we need to propagate to slave | |||
static uint32_t last_config = 0, last_sync = 0; | |||
// Check if the state values are different | |||
// or if sync timer elapsed | |||
if (memcmp(&user_config, &last_config, sizeof(transport_user_config)) || (timer_elapsed32(last_sync) > 250)) { | |||
memcpy(&last_config, &user_config, sizeof(transport_user_config)); | |||
if (transaction_rpc_send(USER_CONFIG_SYNC, sizeof(transport_user_config), &transport_user_config)) { | |||
last_sync = timer_read32(); | |||
} | |||
} | |||
} | |||
void user_transport_update(void) { | |||
if (is_keyboard_master()) { | |||
transport_user_config = user_config.raw; | |||
user_transport_sync(); | |||
} else { | |||
user_config.raw = transport_user_config; | |||
} | |||
} | |||
void housekeeping_task_user(void) { | |||
static bool has_ran_yet; | |||
if (!has_ran_yet) { | |||
has_ran_yet = true; | |||
startup_user(); | |||
} | |||
matrix_scan_rgb(); | |||
// Update config to slave | |||
user_transport_update(); | |||
} | |||
void eeconfig_init_user(void) { | |||
user_config.raw = 0; | |||
user_config.rgb_layer_indicator = true; | |||
user_config.rgb_matrix_idle_anim = true; | |||
rgb_matrix_enable(); | |||
rgb_matrix_sethsv(THEME_HSV); | |||
rgb_matrix_mode(RGB_MATRIX_SOLID_REACTIVE_SIMPLE); | |||
eeconfig_update_user(user_config.raw); | |||
} | |||
void keyboard_post_init_user(void) { | |||
set_single_persistent_default_layer(_COLEMAKDH); | |||
rgb_matrix_set_defaults(); | |||
// Register user config sync | |||
transaction_register_rpc(USER_CONFIG_SYNC, user_config_sync); | |||
} | |||
bool process_record_user_rgb_matrix(uint16_t keycode, keyrecord_t* record) { | |||
if (user_config.rgb_matrix_idle_anim) { | |||
if (rgb_matrix_get_mode() == user_config.rgb_matrix_idle_mode) { | |||
rgb_matrix_update_current_mode(user_config.rgb_matrix_active_mode); | |||
if (!user_config.rgb_layer_indicator) { | |||
rgb_matrix_turn_off_underglow(); | |||
} | |||
} | |||
} | |||
switch (keycode) { | |||
case RGB_RST: | |||
if (record->event.pressed) { | |||
rgb_matrix_set_defaults(); | |||
} | |||
break; | |||
case RGB_UND: // Toggle separate underglow status | |||
if (record->event.pressed) { | |||
rgb_matrix_toggle_underglow_layer_indicator(); | |||
} | |||
break; | |||
case RGB_IDL: // Toggle idle/heatmap animation | |||
if (record->event.pressed) { | |||
rgb_matrix_toggle_idle_animation_change(); | |||
} | |||
break; | |||
case RGB_ATG: | |||
if (record->event.pressed) { | |||
rgb_matrix_toggle_active_mode(); | |||
} | |||
break; | |||
case RGB_PST: | |||
if (record->event.pressed) { | |||
rgb_matrix_toggle_simple_passive_mode(); | |||
} | |||
break; | |||
case RGB_PCT: | |||
if (record->event.pressed) { | |||
rgb_matrix_toggle_color_passive_mode(); | |||
} | |||
break; | |||
} | |||
return true; | |||
} |
@ -0,0 +1,28 @@ | |||
// Copyright 2023 Your Name (@rpbaptist) | |||
// SPDX-License-Identifier: GPL-2.0-or-later | |||
#pragma once | |||
#include "transactions.h" | |||
typedef union { | |||
uint32_t raw; | |||
struct { | |||
bool rgb_layer_indicator : 1; | |||
bool rgb_matrix_idle_anim : 1; | |||
uint8_t rgb_matrix_active_mode : 4; | |||
uint8_t rgb_matrix_idle_mode : 4; | |||
uint8_t rgb_matrix_active_speed : 2; | |||
uint8_t rgb_matrix_idle_speed : 2; | |||
uint32_t rgb_matrix_idle_timeout : 18; | |||
}; | |||
} user_config_t; | |||
extern user_config_t user_config; | |||
_Static_assert(sizeof(user_config_t) == sizeof(uint32_t), "Userspace EECONFIG out of spec."); | |||
const char *rgb_matrix_anim_oled_text(uint8_t mode); | |||
void rgb_matrix_set_gaming_defaults(void); | |||
void rgb_matrix_set_typing_defaults(void); | |||
bool process_record_user_rgb_matrix(uint16_t keycode, keyrecord_t *record); |
@ -0,0 +1,73 @@ | |||
// Copyright 2023 Your Name (@rpbaptist) | |||
// SPDX-License-Identifier: GPL-2.0-or-later | |||
#pragma once | |||
#include QMK_KEYBOARD_H | |||
#include "quantum.h" | |||
#if defined(RGB_MATRIX_ENABLE) | |||
# include "rgb.h" | |||
#endif | |||
#if defined(OLED_ENABLE) | |||
# include "oled.h" | |||
#endif | |||
enum layer_names { | |||
_COLEMAKDH, | |||
_GAMING, | |||
_WASD, | |||
_GAMING_EXT, | |||
_NUMPAD, | |||
_SYM, | |||
_NAV, | |||
_UTIL | |||
}; | |||
enum custom_keycodes { | |||
BSP_DEL = SAFE_RANGE, | |||
#if defined(RGB_MATRIX_ENABLE) | |||
RGB_RST, // Reset RGB | |||
RGB_UND, // Toggle RGB underglow as layer indicator | |||
RGB_ATG, // Toggle active RGB mode | |||
RGB_PST, // Toggle simple passive RGB mode | |||
RGB_PCT, // Toggle colorful passive RGB mode | |||
RGB_IDL, // RGB Idling animations | |||
#endif | |||
TYPING, // Switch to Colemak layer | |||
GAMING, // Switch to gaming Colemak layer | |||
WASD // Switch to gaming with WASD positions | |||
}; | |||
// Layer toggle and switch | |||
#define T_NAV TT(_NAV) | |||
#define S_NAV MO(_NAV) | |||
#define T_SYM TT(_SYM) | |||
#define S_SYM MO(_SYM) | |||
// Layer keys with functionality on tap | |||
#define NAV_0 LT(_NAV, KC_0) | |||
#define TAB_NUM LT(_NUMPAD, KC_TAB) | |||
#define LCK_NMP TG(_NUMPAD) | |||
#define S_NUM MO(_NUMPAD) | |||
#define EXTALT LT(_GAMING_EXT, KC_LALT) | |||
// Tap/mod keys | |||
#define RCTL_BR RCTL_T(KC_RBRC) | |||
#define LCTL_BR LCTL_T(KC_LBRC) | |||
#define SFT_SPC LSFT_T(KC_SPACE) | |||
#define SFT_ENT RSFT_T(KC_ENTER) | |||
// Global tab forward and backward | |||
#define TAB_FWD LCTL(KC_TAB) | |||
#define TAB_BCK LCTL(LSFT(KC_TAB)) | |||
#define TAB_CLS LCTL(KC_W) | |||
#define WIN_CLS LALT(KC_F4) | |||
// € | |||
#define KC_EUR ALGR(KC_5) |
@ -0,0 +1,9 @@ | |||
// Copyright 2023 Yizhen Liu (@edwardslau) | |||
// SPDX-License-Identifier: GPL-2.0 | |||
#pragma once | |||
#define RGBLIGHT_DEFAULT_MODE RGBLIGHT_MODE_RAINBOW_MOOD | |||
/* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */ | |||
#define LOCKING_SUPPORT_ENABLE | |||
/* Locking resynchronize hack */ | |||
#define LOCKING_RESYNC_ENABLE | |||
@ -0,0 +1,275 @@ | |||
{ | |||
"keyboard_name": "think65v3", | |||
"url": "https://graystudio.club/products/testthink6-5-v3", | |||
"maintainer": "edwardslau", | |||
"manufacturer":"GrayStudio", | |||
"processor": "STM32F072", | |||
"diode_direction": "COL2ROW", | |||
"bootloader": "stm32-dfu", | |||
"usb": { | |||
"vid":"0x4753", | |||
"pid":"0x4003", | |||
"device_version": "0.0.3" | |||
}, | |||
"features": { | |||
"bootmagic": true, | |||
"command": false, | |||
"console": false, | |||
"extrakey": true, | |||
"mousekey": true, | |||
"nkro": true, | |||
"rgblight": true | |||
}, | |||
"ws2812": { | |||
"pin": "B10" | |||
} | |||
"matrix_pins": { | |||
"cols": ["A3", "A5", "A4", "B9", "B8", "B7", "B6", "B5", "B4", "B3", "A15", "B0", "A8", "B15", "B14", "B13"], | |||
"rows": ["A6", "B12", "A2", "A0", "A1"] | |||
}, | |||
"rgblight": { | |||
"led_count": 6, | |||
"sleep": true, | |||
"max_brightness": 150, | |||
"layers": { | |||
"enabled": true | |||
"override_rgb": true | |||
}, | |||
"animations": { | |||
"alternating": true, | |||
"breathing": true, | |||
"christmas": true, | |||
"knight": true, | |||
"rainbow_mood": true, | |||
"rainbow_swirl": true, | |||
"rgb_test": true, | |||
"snake": true, | |||
"static_gradient": true, | |||
"twinkle": true | |||
} | |||
}, | |||
"layouts": { | |||
"LAYOUT": { | |||
"layout": [ | |||
{"matrix": [0,0], "x": 0, "y": 0}, | |||
{"matrix": [0,1], "x": 1, "y": 0}, | |||
{"matrix": [0,2], "x": 2, "y": 0}, | |||
{"matrix": [0,3], "x": 3, "y": 0}, | |||
{"matrix": [0,4], "x": 4, "y": 0}, | |||
{"matrix": [0,5], "x": 5, "y": 0}, | |||
{"matrix": [0,6], "x": 6, "y": 0}, | |||
{"matrix": [0,7], "x": 7, "y": 0}, | |||
{"matrix": [0,8], "x": 8, "y": 0}, | |||
{"matrix": [0,9], "x": 9, "y": 0}, | |||
{"matrix": [0,10],"x": 10, "y": 0}, | |||
{"matrix": [0,11],"x": 11, "y": 0}, | |||
{"matrix": [0,12],"x": 12, "y": 0}, | |||
{"matrix": [0,13],"x": 13, "y": 0}, | |||
{"matrix": [0,14],"x": 14, "y": 0}, | |||
{"matrix": [0,15],"x": 15, "y": 0}, | |||
{"matrix": [1,0], "x": 0, "y": 1, "w": 1.5}, | |||
{"matrix": [1,2], "x": 1.5, "y": 1}, | |||
{"matrix": [1,3], "x": 2.5, "y": 1}, | |||
{"matrix": [1,4], "x": 3.5, "y": 1}, | |||
{"matrix": [1,5], "x": 4.5, "y": 1}, | |||
{"matrix": [1,6], "x": 5.5, "y": 1}, | |||
{"matrix": [1,7], "x": 6.5, "y": 1}, | |||
{"matrix": [1,8], "x": 7.5, "y": 1}, | |||
{"matrix": [1,9], "x": 8.5, "y": 1}, | |||
{"matrix": [1,10],"x": 9.5, "y": 1}, | |||
{"matrix": [1,11],"x": 10.5, "y": 1}, | |||
{"matrix": [1,12],"x": 11.5, "y": 1}, | |||
{"matrix": [1,13],"x": 12.5, "y": 1}, | |||
{"matrix": [1,14],"x": 13.5, "y": 1, "w": 1.5}, | |||
{"matrix": [1,15],"x": 15, "y": 1}, | |||
{"matrix": [2,0], "x": 0, "y": 2, "w": 1.75}, | |||
{"matrix": [2,2], "x": 1.75, "y": 2}, | |||
{"matrix": [2,3], "x": 2.75, "y": 2}, | |||
{"matrix": [2,4], "x": 3.75, "y": 2}, | |||
{"matrix": [2,5], "x": 4.75, "y": 2}, | |||
{"matrix": [2,6], "x": 5.75, "y": 2}, | |||
{"matrix": [2,7], "x": 6.75, "y": 2}, | |||
{"matrix": [2,8], "x": 7.75, "y": 2}, | |||
{"matrix": [2,9], "x": 8.75, "y": 2}, | |||
{"matrix": [2,10],"x": 9.75, "y": 2}, | |||
{"matrix": [2,11],"x": 10.75, "y": 2}, | |||
{"matrix": [2,12],"x": 11.75, "y": 2}, | |||
{"matrix": [2,13],"x": 12.75, "y": 2, "w": 2.25}, | |||
{"matrix": [3,0], "x": 0, "y": 3, "w": 1.25}, | |||
{"matrix": [3,1], "x": 1.25, "y": 3}, | |||
{"matrix": [3,2], "x": 2.25, "y": 3}, | |||
{"matrix": [3,3], "x": 3.25, "y": 3}, | |||
{"matrix": [3,4], "x": 4.25, "y": 3}, | |||
{"matrix": [3,5], "x": 5.25, "y": 3}, | |||
{"matrix": [3,6], "x": 6.25, "y": 3}, | |||
{"matrix": [3,7], "x": 7.25, "y": 3}, | |||
{"matrix": [3,8], "x": 8.25, "y": 3}, | |||
{"matrix": [3,9],"x": 9.25, "y": 3}, | |||
{"matrix": [3,10],"x": 10.25, "y": 3}, | |||
{"matrix": [3,11],"x": 11.25, "y": 3}, | |||
{"matrix": [3,13],"x": 12.25, "y": 3, "w": 1.75}, | |||
{"matrix": [3,14],"x": 14, "y": 3}, | |||
{"matrix": [4,0], "x": 0, "y": 4, "w": 1.25}, | |||
{"matrix": [4,1], "x": 1.25, "y": 4, "w": 1.25}, | |||
{"matrix": [4,2], "x": 2.5, "y": 4, "w": 1.25}, | |||
{"matrix": [4,7], "x": 3.75, "y": 4, "w": 6.25}, | |||
{"matrix": [4,10],"x": 10, "y": 4, "w": 1.25}, | |||
{"matrix": [4,11],"x": 11.25, "y": 4, "w": 1.25}, | |||
{"matrix": [4,13],"x": 13, "y": 4}, | |||
{"matrix": [4,14],"x": 14, "y": 4}, | |||
{"matrix": [4,15],"x": 15, "y": 4} | |||
] | |||
}, | |||
"LAYOUT_65_blocker": { | |||
"layout": [ | |||
{"matrix": [0,0], "x": 0, "y": 0}, | |||
{"matrix": [0,1], "x": 1, "y": 0}, | |||
{"matrix": [0,2], "x": 2, "y": 0}, | |||
{"matrix": [0,3], "x": 3, "y": 0}, | |||
{"matrix": [0,4], "x": 4, "y": 0}, | |||
{"matrix": [0,5], "x": 5, "y": 0}, | |||
{"matrix": [0,6], "x": 6, "y": 0}, | |||
{"matrix": [0,7], "x": 7, "y": 0}, | |||
{"matrix": [0,8], "x": 8, "y": 0}, | |||
{"matrix": [0,9], "x": 9, "y": 0}, | |||
{"matrix": [0,10],"x": 10, "y": 0}, | |||
{"matrix": [0,11],"x": 11, "y": 0}, | |||
{"matrix": [0,12],"x": 12, "y": 0}, | |||
{"matrix": [0,13],"x": 13, "y": 0, "w": 2}, | |||
{"matrix": [0,15],"x": 15, "y": 0}, | |||
{"matrix": [1,0], "x": 0, "y": 1, "w": 1.5}, | |||
{"matrix": [1,2], "x": 1.5, "y": 1}, | |||
{"matrix": [1,3], "x": 2.5, "y": 1}, | |||
{"matrix": [1,4], "x": 3.5, "y": 1}, | |||
{"matrix": [1,5], "x": 4.5, "y": 1}, | |||
{"matrix": [1,6], "x": 5.5, "y": 1}, | |||
{"matrix": [1,7], "x": 6.5, "y": 1}, | |||
{"matrix": [1,8], "x": 7.5, "y": 1}, | |||
{"matrix": [1,9], "x": 8.5, "y": 1}, | |||
{"matrix": [1,10],"x": 9.5, "y": 1}, | |||
{"matrix": [1,11],"x": 10.5, "y": 1}, | |||
{"matrix": [1,12],"x": 11.5, "y": 1}, | |||
{"matrix": [1,13],"x": 12.5, "y": 1}, | |||
{"matrix": [1,14],"x": 13.5, "y": 1, "w": 1.5}, | |||
{"matrix": [1,15],"x": 15, "y": 1}, | |||
{"matrix": [2,0], "x": 0, "y": 2, "w": 1.75}, | |||
{"matrix": [2,2], "x": 1.75, "y": 2}, | |||
{"matrix": [2,3], "x": 2.75, "y": 2}, | |||
{"matrix": [2,4], "x": 3.75, "y": 2}, | |||
{"matrix": [2,5], "x": 4.75, "y": 2}, | |||
{"matrix": [2,6], "x": 5.75, "y": 2}, | |||
{"matrix": [2,7], "x": 6.75, "y": 2}, | |||
{"matrix": [2,8], "x": 7.75, "y": 2}, | |||
{"matrix": [2,9], "x": 8.75, "y": 2}, | |||
{"matrix": [2,10],"x": 9.75, "y": 2}, | |||
{"matrix": [2,11],"x": 10.75, "y": 2}, | |||
{"matrix": [2,12],"x": 11.75, "y": 2}, | |||
{"matrix": [2,13],"x": 12.75, "y": 2, "w": 2.25}, | |||
{"matrix": [3,0], "x": 0, "y": 3, "w": 2.25}, | |||
{"matrix": [3,2], "x": 2.25, "y": 3}, | |||
{"matrix": [3,3], "x": 3.25, "y": 3}, | |||
{"matrix": [3,4], "x": 4.25, "y": 3}, | |||
{"matrix": [3,5], "x": 5.25, "y": 3}, | |||
{"matrix": [3,6], "x": 6.25, "y": 3}, | |||
{"matrix": [3,7], "x": 7.25, "y": 3}, | |||
{"matrix": [3,8], "x": 8.25, "y": 3}, | |||
{"matrix": [3,9], "x": 9.25, "y": 3}, | |||
{"matrix": [3,10],"x": 10.25, "y": 3}, | |||
{"matrix": [3,11],"x": 11.25, "y": 3}, | |||
{"matrix": [3,13],"x": 12.25, "y": 3, "w": 1.75}, | |||
{"matrix": [3,14],"x": 14, "y": 3}, | |||
{"matrix": [4,0], "x": 0, "y": 4, "w": 1.25}, | |||
{"matrix": [4,1], "x": 1.25, "y": 4, "w": 1.25}, | |||
{"matrix": [4,2], "x": 2.5, "y": 4, "w": 1.25}, | |||
{"matrix": [4,7], "x": 3.75, "y": 4, "w": 6.25}, | |||
{"matrix": [4,10],"x": 10, "y": 4, "w": 1.25}, | |||
{"matrix": [4,11],"x": 11.25, "y": 4, "w": 1.25}, | |||
{"matrix": [4,13],"x": 13, "y": 4}, | |||
{"matrix": [4,14],"x": 14, "y": 4}, | |||
{"matrix": [4,15],"x": 15, "y": 4} | |||
] | |||
}, | |||
"LAYOUT_65_iso_blocker": { | |||
"layout": [ | |||
{"matrix": [0,0], "x": 0, "y": 0}, | |||
{"matrix": [0,1], "x": 1, "y": 0}, | |||
{"matrix": [0,2], "x": 2, "y": 0}, | |||
{"matrix": [0,3], "x": 3, "y": 0}, | |||
{"matrix": [0,4], "x": 4, "y": 0}, | |||
{"matrix": [0,5], "x": 5, "y": 0}, | |||
{"matrix": [0,6], "x": 6, "y": 0}, | |||
{"matrix": [0,7], "x": 7, "y": 0}, | |||
{"matrix": [0,8], "x": 8, "y": 0}, | |||
{"matrix": [0,9], "x": 9, "y": 0}, | |||
{"matrix": [0,10],"x": 10, "y": 0}, | |||
{"matrix": [0,11],"x": 11, "y": 0}, | |||
{"matrix": [0,12],"x": 12, "y": 0}, | |||
{"matrix": [0,13],"x": 13, "y": 0, "w": 2}, | |||
{"matrix": [0,15],"x": 15, "y": 0}, | |||
{"matrix": [1,0], "x": 0, "y": 1, "w": 1.5}, | |||
{"matrix": [1,2], "x": 1.5, "y": 1}, | |||
{"matrix": [1,3], "x": 2.5, "y": 1}, | |||
{"matrix": [1,4], "x": 3.5, "y": 1}, | |||
{"matrix": [1,5], "x": 4.5, "y": 1}, | |||
{"matrix": [1,6], "x": 5.5, "y": 1}, | |||
{"matrix": [1,7], "x": 6.5, "y": 1}, | |||
{"matrix": [1,8], "x": 7.5, "y": 1}, | |||
{"matrix": [1,9], "x": 8.5, "y": 1}, | |||
{"matrix": [1,10],"x": 9.5, "y": 1}, | |||
{"matrix": [1,11],"x": 10.5, "y": 1}, | |||
{"matrix": [1,12],"x": 11.5, "y": 1}, | |||
{"matrix": [1,13],"x": 12.5, "y": 1}, | |||
{"matrix": [1,15],"x": 15, "y": 1}, | |||
{"matrix": [2,0], "x": 0, "y": 2, "w": 1.75}, | |||
{"matrix": [2,2], "x": 1.75, "y": 2}, | |||
{"matrix": [2,3], "x": 2.75, "y": 2}, | |||
{"matrix": [2,4], "x": 3.75, "y": 2}, | |||
{"matrix": [2,5], "x": 4.75, "y": 2}, | |||
{"matrix": [2,6], "x": 5.75, "y": 2}, | |||
{"matrix": [2,7], "x": 6.75, "y": 2}, | |||
{"matrix": [2,8], "x": 7.75, "y": 2}, | |||
{"matrix": [2,9], "x": 8.75, "y": 2}, | |||
{"matrix": [2,10],"x": 9.75, "y": 2}, | |||
{"matrix": [2,11],"x": 10.75, "y": 2}, | |||
{"matrix": [1,14],"x": 11.75, "y": 2}, | |||
{"matrix": [2,13],"x": 12.75, "y": 2}, | |||
{"matrix": [2,14],"x": 13.75, "y": 1, "w": 1.25, "h": 2}, | |||
{"matrix": [3,0], "x": 0, "y": 3, "w": 1.25}, | |||
{"matrix": [3,1],"x": 1.25, "y": 3}, | |||
{"matrix": [3,2], "x": 2.25, "y": 3}, | |||
{"matrix": [3,3], "x": 3.25, "y": 3}, | |||
{"matrix": [3,4], "x": 4.25, "y": 3}, | |||
{"matrix": [3,5], "x": 5.25, "y": 3}, | |||
{"matrix": [3,6], "x": 6.25, "y": 3}, | |||
{"matrix": [3,7], "x": 7.25, "y": 3}, | |||
{"matrix": [3,8], "x": 8.25, "y": 3}, | |||
{"matrix": [3,9], "x": 9.25, "y": 3}, | |||
{"matrix": [3,10],"x": 10.25, "y": 3}, | |||
{"matrix": [3,11],"x": 11.25, "y": 3}, | |||
{"matrix": [3,13],"x": 12.25, "y": 3, "w": 1.75}, | |||
{"matrix": [3,14],"x": 14, "y": 3}, | |||
{"matrix": [4,0], "x": 0, "y": 4, "w": 1.25}, | |||
{"matrix": [4,1], "x": 1.25, "y": 4, "w": 1.25}, | |||
{"matrix": [4,2], "x": 2.5, "y": 4, "w": 1.25}, | |||
{"matrix": [4,7], "x": 3.75, "y": 4, "w": 6.25}, | |||
{"matrix": [4,10],"x": 10, "y": 4, "w": 1.25}, | |||
{"matrix": [4,11],"x": 11.25, "y": 4, "w": 1.25}, | |||
{"matrix": [4,13],"x": 13, "y": 4}, | |||
{"matrix": [4,14],"x": 14, "y": 4}, | |||
{"matrix": [4,15],"x": 15, "y": 4} | |||
] | |||
} | |||
} | |||
} |
@ -0,0 +1,20 @@ | |||
// Copyright 2023 Yizhen Liu (@edwardslau) | |||
// SPDX-License-Identifier: GPL-2.0 | |||
#include QMK_KEYBOARD_H | |||
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { | |||
[0] = LAYOUT( | |||
QK_GESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_BSPC, KC_DEL, | |||
KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, KC_HOME, | |||
KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT, | |||
KC_LSFT, KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP, | |||
KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, MO(1), KC_LEFT, KC_DOWN, KC_RGHT | |||
), | |||
[1] = LAYOUT( | |||
_______, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, _______, _______, QK_BOOT, | |||
_______, RGB_TOG, RGB_MOD, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, _______, _______, _______, _______, _______, _______, | |||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, | |||
_______, _______, _______, _______, _______, _______, _______, NK_TOGG, _______, _______, _______, _______, _______, _______, | |||
_______, _______, _______, _______, _______, _______, _______, _______, _______ | |||
), | |||
}; |
@ -0,0 +1,20 @@ | |||
// Copyright 2023 Yizhen Liu (@edwardslau) | |||
// SPDX-License-Identifier: GPL-2.0 | |||
#include QMK_KEYBOARD_H | |||
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { | |||
[0] = LAYOUT( | |||
QK_GESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_BSPC, KC_DEL, | |||
KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, KC_HOME, | |||
KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT, | |||
KC_LSFT, KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP, | |||
KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, MO(1), KC_LEFT, KC_DOWN, KC_RGHT | |||
), | |||
[1] = LAYOUT( | |||
_______, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, _______, _______, QK_BOOT, | |||
_______, RGB_TOG, RGB_MOD, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, _______, _______, _______, _______, _______, _______, | |||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, | |||
_______, _______, _______, _______, _______, _______, _______, NK_TOGG, _______, _______, _______, _______, _______, _______, | |||
_______, _______, _______, _______, _______, _______, _______, _______, _______ | |||
), | |||
}; |
@ -0,0 +1 @@ | |||
VIA_ENABLE = yes |
@ -0,0 +1,21 @@ | |||
# Gray Studio think65v3 | |||
A 65% keyboard by Graystudio. PCB designed and manufactured by DEMO Studio. | |||
* Keyboard Maintainer: [edwardslau](https://github.com/edwardslau) | |||
* Hardware Support: Think6.5 V3 | |||
* Hardware Availability: | |||
Make example for this keyboard (after setting up your build environment): | |||
make gray_studio/think65v3:default | |||
Flashing example for this keyboard: | |||
make gray_studio/think65v3:default:flash | |||
## Bootloader | |||
* **Physical reset button**: Briefly press the button on the back of the PCB - some may have pads you must short instead | |||
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 infromation. Brand new to QMK? Start with our [Complete Newbs Guide](https://docs.qmk.fm/#/newbs). |
@ -0,0 +1 @@ | |||
# This file intentionally left blank |
@ -0,0 +1,22 @@ | |||
// Copyright 2023 Yizhen Liu (@edwardslau) | |||
// SPDX-License-Identifier: GPL-2.0 | |||
#include "quantum.h" | |||
const rgblight_segment_t PROGMEM my_capslock_layer[] = RGBLIGHT_LAYER_SEGMENTS( | |||
{0,6, HSV_WHITE} | |||
); | |||
const rgblight_segment_t* const PROGMEM my_rgb_layers[] = RGBLIGHT_LAYERS_LIST( | |||
my_capslock_layer | |||
); | |||
void keyboard_post_init_kb(void) { | |||
// Enable the LED layers | |||
rgblight_layers = my_rgb_layers; | |||
keyboard_post_init_user(); | |||
} | |||
bool led_update_kb(led_t led_state) { | |||
bool res = led_update_user(led_state); | |||
if (res) { | |||
rgblight_set_layer_state(0, led_state.caps_lock); | |||
} | |||
return res; | |||
} |
@ -0,0 +1,48 @@ | |||
/* Copyright 2023 Taerakul Janat | |||
* | |||
* 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 | |||
#ifdef AUDIO_ENABLE | |||
# define STARTUP_SONG SONG(PLANCK_SOUND) | |||
# define DEFAULT_LAYER_SONGS \ | |||
{ SONG(QWERTY_SOUND), SONG(COLEMAK_SOUND), SONG(QWERTY_SOUND) } | |||
#endif | |||
#define MIDI_BASIC | |||
// Configure the global tapping term (default: 200ms) | |||
#define TAPPING_TERM 180 | |||
// Prevent normal rollover on alphas from accidentally triggering mods. | |||
#define PERMISSIVE_HOLD | |||
#ifndef MOUSEKEY_INTERVAL | |||
#define MOUSEKEY_INTERVAL 10 | |||
#endif | |||
#ifndef MOUSEKEY_MAX_SPEED | |||
#define MOUSEKEY_MAX_SPEED 3 | |||
#endif | |||
#ifndef MOUSEKEY_TIME_TO_MAX | |||
#define MOUSEKEY_TIME_TO_MAX 100 | |||
#endif | |||
// Enable rapid switch from tap to hold, disables double tap hold auto-repeat. | |||
#define QUICK_TAP_TERM 0 | |||
#define TRI_LAYER_LOWER_LAYER 3 | |||
#define TRI_LAYER_UPPER_LAYER 4 | |||
#define TRI_LAYER_ADJUST_LAYER 7 |
@ -0,0 +1,328 @@ | |||
/* Copyright 2023 Taerakul Janat | |||
* | |||
* 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 QMK_KEYBOARD_H | |||
#ifdef AUDIO_ENABLE | |||
# include "muse.h" | |||
#endif | |||
enum planck_layers { | |||
_QWERTY, | |||
_COLEMAK, | |||
_NOMOD, | |||
_LOWER, | |||
_RAISE, | |||
_NAV, | |||
_MOUSE, | |||
_ADJUST | |||
}; | |||
enum planck_keycodes { | |||
QWERTY = SAFE_RANGE, | |||
COLEMAK, | |||
NOMOD | |||
}; | |||
#define MOU_Z LT(_MOUSE, KC_Z) | |||
#define MOU_SCLN LT(_MOUSE, KC_SCLN) | |||
#define NAV_SLSH LT(_NAV, KC_SLSH) | |||
#define NAV_Z LT(_NAV, KC_Z) | |||
// Left-hand home row mods QWERTY | |||
#define CTL_A LCTL_T(KC_A) | |||
#define ALT_S LALT_T(KC_S) | |||
#define GUI_D LGUI_T(KC_D) | |||
#define SFT_F LSFT_T(KC_F) | |||
// Right-hand home row mods QWERTY | |||
#define SFT_J RSFT_T(KC_J) | |||
#define GUI_K RGUI_T(KC_K) | |||
#define ALT_L LALT_T(KC_L) | |||
#define CTL_SCLN RCTL_T(KC_SCLN) | |||
// Left-hand home row mods COLEMAK | |||
#define CTL_A LCTL_T(KC_A) | |||
#define ALT_R LALT_T(KC_R) | |||
#define GUI_S LGUI_T(KC_S) | |||
#define SHFT_T LSFT_T(KC_T) | |||
// Right-hand home row mods COLEMAK | |||
#define SFT_N RSFT_T(KC_N) | |||
#define GUI_E RGUI_T(KC_E) | |||
#define ALT_I LALT_T(KC_I) | |||
#define CTL_O RCTL_T(KC_O) | |||
#define HYPER MEH(KC_LGUI) | |||
#define CT_ESC CTL_T(KC_ESC) | |||
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { | |||
/* Qwerty | |||
* ,-----------------------------------------------------------------------------------. | |||
* | Tab | Q | W | E | R | T | Y | U | I | O | P | BS | | |||
* |------+------+------+------+------+------+------+------+------+------+------+------| | |||
* | ESC |Ctl-A |Alt-S |GUI-D |Shft-F| G | H |Shft-J|GUI-K |Alt-L |Ctl-; | " | | |||
* |------+------+------+------+------+------+------+------+------+------+------+------| | |||
* | CW |MOU-Z | X | C | V | B | N | M | , | . |NAV-/ |Enter | | |||
* |------+------+------+------+------+------+------+------+------+------+------+------| | |||
* | HYPER| Ctrl | Alt | GUI |Lower | Space |Raise | Left | Down | Up |Right | | |||
* `-----------------------------------------------------------------------------------' | |||
*/ | |||
[_QWERTY] = LAYOUT_planck_grid( | |||
KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSPC, | |||
CT_ESC, CTL_A, ALT_S, GUI_D, SFT_F, KC_G, KC_H, SFT_J, GUI_K, ALT_L, CTL_SCLN,KC_QUOT, | |||
CW_TOGG, MOU_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, NAV_SLSH,KC_ENT, | |||
HYPER, KC_LCTL, KC_LALT, KC_LGUI, TL_LOWR, KC_SPC, KC_SPC, TL_UPPR, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT | |||
), | |||
/* Colemak | |||
* ,-----------------------------------------------------------------------------------. | |||
* | Tab | Q | W | F | P | B | J | L | U | Y | ; | BS | | |||
* |------+------+------+------+------+------+------+------+------+------+------+------| | |||
* | ESC |Ctl-A |Alt-R |GUI-S |Shft-T| G | M |Shft-N|GUI-E |Alt-I |Ctl-O | " | | |||
* |------+------+------+------+------+------+------+------+------+------+------+------| | |||
* | CW |MOU-Z | X | C | D | V | K | H | , | . |NAV-/ |Enter | | |||
* |------+------+------+------+------+------+------+------+------+------+------+------| | |||
* | HYPER| Ctrl | Alt | GUI |Lower | Space |Raise | Left | Down | Up |Right | | |||
* `-----------------------------------------------------------------------------------' | |||
*/ | |||
[_COLEMAK] = LAYOUT_planck_grid( | |||
KC_TAB, KC_Q, KC_W, KC_F, KC_P, KC_B, KC_J, KC_L, KC_U, KC_Y, KC_SCLN, KC_BSPC, | |||
CT_ESC, CTL_A, ALT_R, GUI_S, SHFT_T, KC_G, KC_M, SFT_N, GUI_E, ALT_I, CTL_O, KC_QUOT, | |||
CW_TOGG, MOU_Z, KC_X, KC_C, KC_D, KC_V, KC_K, KC_H, KC_COMM, KC_DOT, NAV_SLSH,KC_ENT, | |||
HYPER, KC_LCTL, KC_LALT, KC_LGUI, TL_LOWR, KC_SPC, KC_SPC, TL_UPPR, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT | |||
), | |||
/* Qwerty without home row mod | |||
* ,-----------------------------------------------------------------------------------. | |||
* | Tab | Q | W | E | R | T | Y | U | I | O | P | BS | | |||
* |------+------+------+------+------+------+------+------+------+------+------+------| | |||
* | ESC | A | S | D | F | G | H | J | K | L | ; | " | | |||
* |------+------+------+------+------+------+------+------+------+------+------+------| | |||
* | Shift| Z | X | C | V | B | N | M | , | . | / |Enter | | |||
* |------+------+------+------+------+------+------+------+------+------+------+------| | |||
* | HYPER| Ctrl | Alt | GUI |Lower | Space |Raise | Left | Down | Up |Right | | |||
* `-----------------------------------------------------------------------------------' | |||
*/ | |||
[_NOMOD] = LAYOUT_planck_grid( | |||
KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSPC, | |||
CT_ESC, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, | |||
KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_ENT, | |||
HYPER, KC_LCTL, KC_LALT, KC_LGUI, TL_LOWR, KC_SPC, KC_SPC, TL_UPPR, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT | |||
), | |||
/* Lower | |||
* ,-----------------------------------------------------------------------------------. | |||
* | ~ | ! | @ | # | $ | % | ^ | & | * | ( | ) | BS | | |||
* |------+------+------+------+------+------+------+------+------+------+------+------| | |||
* | Del | F13 | F14 | F15 | F16 | F17 | F18 | _ | + | { | } | | | | |||
* |------+------+------+------+------+------+------+------+------+------+------+------| | |||
* | | F19 | F20 | F21 | F22 | F23 | F24 |ISO ~ |ISO | | Home | End | | | |||
* |------+------+------+------+------+------+------+------+------+------+------+------| | |||
* | | | | | | |Adjust| Prev | Vol- | Vol+ | Play | | |||
* `-----------------------------------------------------------------------------------' | |||
*/ | |||
[_LOWER] = LAYOUT_planck_grid( | |||
KC_TILD, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, KC_BSPC, | |||
KC_DEL, KC_F13, KC_F14, KC_F15, KC_F16, KC_F17, KC_F18, KC_UNDS, KC_PLUS, KC_LCBR, KC_RCBR, KC_PIPE, | |||
_______, KC_F19, KC_F20, KC_F21, KC_F22, KC_F23, KC_F24, S(KC_NUHS), S(KC_NUBS), KC_HOME, KC_END, _______, | |||
_______, _______, _______, _______, _______, _______, _______, _______, KC_MPRV, KC_VOLD, KC_VOLU, KC_MPLY | |||
), | |||
/* Raise | |||
* ,-----------------------------------------------------------------------------------. | |||
* | ` | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 0 | BS | | |||
* |------+------+------+------+------+------+------+------+------+------+------+------| | |||
* | Del | F1 | F2 | F3 | F4 | F5 | F6 | - | = | [ | ] | \ | | |||
* |------+------+------+------+------+------+------+------+------+------+------+------| | |||
* | | F7 | F8 | F9 | F10 | F11 | F12 |ISO # |ISO / |Pg Up |Pg Dn | | | |||
* |------+------+------+------+------+------+------+------+------+------+------+------| | |||
* | | | | |Adjust| | | Next | Vol- | Vol+ | Play | | |||
* `-----------------------------------------------------------------------------------' | |||
*/ | |||
[_RAISE] = LAYOUT_planck_grid( | |||
KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_BSPC, | |||
KC_DEL, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_MINS, KC_EQL, KC_LBRC, KC_RBRC, KC_BSLS, | |||
_______, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_NUHS, KC_NUBS, KC_PGUP, KC_PGDN, _______, | |||
_______, _______, _______, _______, _______, _______, _______, _______, KC_MNXT, KC_VOLD, KC_VOLU, KC_MPLY | |||
), | |||
/* Nav | |||
* /-----------------------------------------------------------------------------------\ | |||
* | | Home | PgUp | PgDn | End | | T1 | T← | T→ | T9 | | | | |||
* |------+------+------+------+------+-------------+------+------+------+------+------| | |||
* | | Ctrl | Alt | GUI |Shift | | ← | ↓ | ↑ | → | Del | | | |||
* |------+------+------+------+------+------|------+------+------+------+------+------| | |||
* | | | | | | | | | | |[Nav] | | | |||
* |------+------+------+------+------+-------------+------+------+------+------+------| | |||
* | | | | | | Shift | | | | | | | |||
* \-----------------------------------------------------------------------------------/ | |||
*/ | |||
[_NAV] = LAYOUT_planck_grid( | |||
_______, KC_HOME, KC_PGUP, KC_PGDN, KC_END, _______, G(KC_1), SCMD(KC_LBRC), SCMD(KC_RBRC), G(KC_9), _______, _______, | |||
_______, KC_LCTL, KC_LALT, KC_LGUI, KC_LSFT, _______, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT, KC_DEL, _______, | |||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, | |||
_______, _______, _______, _______, _______, KC_LSFT, KC_LSFT, _______, _______, _______, _______, _______ | |||
), | |||
/* Mouse | |||
* /-----------------------------------------------------------------------------------\ | |||
* | | | S↓ | M↑ | S↑ | | S← | S↓ | S↑ | S→ | | | | |||
* |------+------+------+------+------+-------------+------+------+------+------+------| | |||
* | | | M← | M↓ | M→ | | M← | M↓ | M↑ | M→ | | | | |||
* |------+------+------+------+------+------|------+------+------+------+------+------| | |||
* | |[Mou] | | | | M3 | M3 | | | | | | | |||
* |------+------+------+------+------+-------------+------+------+------+------+------| | |||
* | | | | | M2 | LeftClick | M2 | | | | | | |||
* \-----------------------------------------------------------------------------------/ | |||
*/ | |||
[_MOUSE] = LAYOUT_planck_grid( | |||
_______, _______, KC_WH_D, KC_MS_U, KC_WH_U, _______, KC_WH_L, KC_WH_D, KC_WH_U, KC_WH_R, _______, _______, | |||
_______, _______, KC_MS_L, KC_MS_D, KC_MS_R, _______, KC_MS_L, KC_MS_D, KC_MS_U, KC_MS_R, _______, _______, | |||
_______, _______, _______, _______, _______, KC_BTN3, KC_BTN3, _______, _______, _______, _______, _______, | |||
_______, _______, _______, _______, KC_BTN2, KC_BTN1, KC_BTN1, KC_BTN2, _______, _______, _______, _______ | |||
), | |||
/* Adjust (Lower + Raise) | |||
* v------------------------RGB CONTROL--------------------v | |||
* ,-----------------------------------------------------------------------------------. | |||
* | PWR | Reset|Debug | RGB |RGBMOD| HUE+ | HUE- | SAT+ | SAT- |BRGTH+|BRGTH-| Del | | |||
* |------+------+------+------+------+------+------+------+------+------+------+------| | |||
* | | |MUSmod|Aud on|Audoff|AGnorm|AGswap|Qwerty|Colemk|NoMod | | | | |||
* |------+------+------+------+------+------+------+------+------+------+------+------| | |||
* | |Voice-|Voice+|Mus on|Musoff|MIDIon|MIDIof| | | | | | | |||
* |------+------+------+------+------+------+------+------+------+------+------+------| | |||
* | | | | | | | | | | | | | |||
* `-----------------------------------------------------------------------------------' | |||
*/ | |||
[_ADJUST] = LAYOUT_planck_grid( | |||
KC_PWR, QK_BOOT, DB_TOGG, RGB_TOG, RGB_MOD, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, KC_DEL, | |||
_______, _______, MU_NEXT, AU_ON, AU_OFF, AG_NORM, AG_SWAP, QWERTY, COLEMAK, NOMOD, _______, _______, | |||
_______, AU_PREV, AU_NEXT, MU_ON, MU_OFF, MI_ON, MI_OFF, _______, _______, _______, _______, _______, | |||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ | |||
) | |||
}; | |||
layer_state_t layer_state_set_user(layer_state_t state) { | |||
return update_tri_layer_state(state, _LOWER, _RAISE, _ADJUST); | |||
} | |||
bool process_record_user(uint16_t keycode, keyrecord_t *record) { | |||
switch (keycode) { | |||
case QWERTY: | |||
if (record->event.pressed) { | |||
print("mode just switched to qwerty and this is a huge string\n"); | |||
set_single_persistent_default_layer(_QWERTY); | |||
} | |||
return false; | |||
break; | |||
case COLEMAK: | |||
if (record->event.pressed) { | |||
set_single_persistent_default_layer(_COLEMAK); | |||
} | |||
return false; | |||
break; | |||
case NOMOD: | |||
if (record->event.pressed) { | |||
set_single_persistent_default_layer(_NOMOD); | |||
} | |||
return false; | |||
break; | |||
} | |||
return true; | |||
} | |||
bool muse_mode = false; | |||
uint8_t last_muse_note = 0; | |||
uint16_t muse_counter = 0; | |||
uint8_t muse_offset = 70; | |||
uint16_t muse_tempo = 50; | |||
bool encoder_update_user(uint8_t index, bool clockwise) { | |||
if (muse_mode) { | |||
if (IS_LAYER_ON(_RAISE)) { | |||
if (clockwise) { | |||
muse_offset++; | |||
} else { | |||
muse_offset--; | |||
} | |||
} else { | |||
if (clockwise) { | |||
muse_tempo+=1; | |||
} else { | |||
muse_tempo-=1; | |||
} | |||
} | |||
} else { | |||
if (clockwise) { | |||
#ifdef MOUSEKEY_ENABLE | |||
tap_code(KC_MS_WH_DOWN); | |||
#else | |||
tap_code(KC_PGDN); | |||
#endif | |||
} else { | |||
#ifdef MOUSEKEY_ENABLE | |||
tap_code(KC_MS_WH_UP); | |||
#else | |||
tap_code(KC_PGUP); | |||
#endif | |||
} | |||
} | |||
return true; | |||
} | |||
bool dip_switch_update_user(uint8_t index, bool active) { | |||
switch (index) { | |||
case 0: { | |||
if (active) { | |||
layer_on(_ADJUST); | |||
} else { | |||
layer_off(_ADJUST); | |||
} | |||
break; | |||
} | |||
case 1: | |||
if (active) { | |||
muse_mode = true; | |||
} else { | |||
muse_mode = false; | |||
} | |||
} | |||
return true; | |||
} | |||
void matrix_scan_user(void) { | |||
#ifdef AUDIO_ENABLE | |||
if (muse_mode) { | |||
if (muse_counter == 0) { | |||
uint8_t muse_note = muse_offset + SCALE[muse_clock_pulse()]; | |||
if (muse_note != last_muse_note) { | |||
stop_note(compute_freq_for_midi_note(last_muse_note)); | |||
play_note(compute_freq_for_midi_note(muse_note), 0xF); | |||
last_muse_note = muse_note; | |||
} | |||
} | |||
muse_counter = (muse_counter + 1) % muse_tempo; | |||
} else { | |||
if (muse_counter) { | |||
stop_all_notes(); | |||
muse_counter = 0; | |||
} | |||
} | |||
#endif | |||
} |
@ -0,0 +1,112 @@ | |||
# Janat's Planck Layout | |||
- MIT Layout | |||
- QWERTY and Colemak-DH with [Home Row Mods](https://precondition.github.io/home-row-mods) | |||
- QWERTY w/o mods for muggles | |||
- Lower + Uper + J/K/L: QWERTY/COLEMAK/NOMOD | |||
- Left Shift: [Caps Word](https://docs.qmk.fm/#/feature_caps_word) | |||
- Hold /: [Navigation Layer](#6-navigation-layer) | |||
- Hold Z: [Mouse Layer](#7-mouse-layer) | |||
## 1. QWERTY Layer - Qwerty with Home Row Mods | |||
``` | |||
,-----------------------------------------------------------------------------------. | |||
| Tab | Q | W | E | R | T | Y | U | I | O | P | BS | | |||
|------+------+------+------+------+------+------+------+------+------+------+------| | |||
| ESC |Ctl-A |Alt-S |GUI-D |Shft-F| G | H |Shft-J|GUI-K |Alt-L |Ctl-; | " | | |||
|------+------+------+------+------+------+------+------+------+------+------+------| | |||
| CW |MOU-Z | X | C | V | B | N | M | , | . |NAV-/ |Enter | | |||
|------+------+------+------+------+------+------+------+------+------+------+------| | |||
| HYPER| Ctrl | Alt | GUI |Lower | Space |Raise | Left | Down | Up |Right | | |||
`-----------------------------------------------------------------------------------' | |||
``` | |||
## 2. COLEMAK Layer - Colemak-DH with Home Row Mods | |||
``` | |||
,-----------------------------------------------------------------------------------. | |||
| Tab | Q | W | F | P | B | J | L | U | Y | ; | BS | | |||
|------+------+------+------+------+------+------+------+------+------+------+------| | |||
| ESC |Ctl-A |Alt-R |GUI-S |Shft-T| G | M |Shft-N|GUI-E |Alt-I |Ctl-O | " | | |||
|------+------+------+------+------+------+------+------+------+------+------+------| | |||
| CW |MOU-Z | X | C | D | V | K | H | , | . |NAV-/ |Enter | | |||
|------+------+------+------+------+------+------+------+------+------+------+------| | |||
| HYPER| Ctrl | Alt | GUI |Lower | Space |Raise | Left | Down | Up |Right | | |||
`-----------------------------------------------------------------------------------' | |||
``` | |||
## 3. NOMOD Layer - QWERTY without Home Row Mods | |||
``` | |||
,-----------------------------------------------------------------------------------. | |||
| Tab | Q | W | E | R | T | Y | U | I | O | P | BS | | |||
|------+------+------+------+------+------+------+------+------+------+------+------| | |||
| ESC | A | S | D | F | G | H | J | K | L | ; | " | | |||
|------+------+------+------+------+------+------+------+------+------+------+------| | |||
| Shift| Z | X | C | V | B | N | M | , | . | / |Enter | | |||
|------+------+------+------+------+------+------+------+------+------+------+------| | |||
| HYPER| Ctrl | Alt | GUI |Lower | Space |Raise | Left | Down | Up |Right | | |||
`-----------------------------------------------------------------------------------' | |||
``` | |||
## 4. Lower Layer | |||
``` | |||
,-----------------------------------------------------------------------------------. | |||
| ~ | ! | @ | # | $ | % | ^ | & | * | ( | ) | BS | | |||
|------+------+------+------+------+------+------+------+------+------+------+------| | |||
| Del | F13 | F14 | F15 | F16 | F17 | F18 | _ | + | { | } | | | | |||
|------+------+------+------+------+------+------+------+------+------+------+------| | |||
| | F19 | F20 | F21 | F22 | F23 | F24 |ISO ~ |ISO | | Home | End | | | |||
|------+------+------+------+------+------+------+------+------+------+------+------| | |||
| | | | | | |Adjust| Prev | Vol- | Vol+ | Play | | |||
`-----------------------------------------------------------------------------------' | |||
``` | |||
## 5. Raise Layer | |||
``` | |||
,-----------------------------------------------------------------------------------. | |||
| ` | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 0 | BS | | |||
|------+------+------+------+------+------+------+------+------+------+------+------| | |||
| Del | F1 | F2 | F3 | F4 | F5 | F6 | - | = | [ | ] | \ | | |||
|------+------+------+------+------+------+------+------+------+------+------+------| | |||
| | F7 | F8 | F9 | F10 | F11 | F12 |ISO # |ISO / |Pg Up |Pg Dn | | | |||
|------+------+------+------+------+------+------+------+------+------+------+------| | |||
| | | | |Adjust| | | Next | Vol- | Vol+ | Play | | |||
`-----------------------------------------------------------------------------------' | |||
``` | |||
## 6. Navigation Layer | |||
``` | |||
/-----------------------------------------------------------------------------------\ | |||
| | Home | PgUp | PgDn | End | | T1 | T← | T→ | T9 | | | | |||
|------+------+------+------+------+-------------+------+------+------+------+------| | |||
| | Ctrl | Alt | GUI |Shift | | ← | ↓ | ↑ | → | Del | | | |||
|------+------+------+------+------+------|------+------+------+------+------+------| | |||
| | | | | | | | | | |[Nav] | | | |||
|------+------+------+------+------+-------------+------+------+------+------+------| | |||
| | | | | | Shift | | | | | | | |||
\-----------------------------------------------------------------------------------/ | |||
``` | |||
## 7. Mouse Layer | |||
``` | |||
/-----------------------------------------------------------------------------------\ | |||
| | | S↓ | M↑ | S↑ | | S← | S↓ | S↑ | S→ | | | | |||
|------+------+------+------+------+-------------+------+------+------+------+------| | |||
| | | M← | M↓ | M→ | | M← | M↓ | M↑ | M→ | | | | |||
|------+------+------+------+------+------|------+------+------+------+------+------| | |||
| |[Mou] | | | | M3 | M3 | | | | | | | |||
|------+------+------+------+------+-------------+------+------+------+------+------| | |||
| | | | | M2 | LeftClick | M2 | | | | | | |||
\-----------------------------------------------------------------------------------/ | |||
``` | |||
## 8. Adjust Layer (Lower + Raise) | |||
``` | |||
v------------------------RGB CONTROL--------------------v | |||
,-----------------------------------------------------------------------------------. | |||
| PWR | Reset|Debug | RGB |RGBMOD| HUE+ | HUE- | SAT+ | SAT- |BRGTH+|BRGTH-| Del | | |||
|------+------+------+------+------+------+------+------+------+------+------+------| | |||
| | |MUSmod|Aud on|Audoff|AGnorm|AGswap|Qwerty|Colemk|NoMod | | | | |||
|------+------+------+------+------+------+------+------+------+------+------+------| | |||
| |Voice-|Voice+|Mus on|Musoff|MIDIon|MIDIof| | | | | | | |||
|------+------+------+------+------+------+------+------+------+------+------+------| | |||
| | | | | | | | | | | | | |||
`-----------------------------------------------------------------------------------' | |||
``` |
@ -0,0 +1,7 @@ | |||
ifeq ($(strip $(AUDIO_ENABLE)), yes) | |||
SRC += muse.c | |||
endif | |||
MIDI_ENABLE = yes | |||
CAPS_WORD_ENABLE = yes | |||
TRI_LAYER_ENABLE = yes |