Add files via upload
This commit is contained in:
parent
efa14b8193
commit
7ddc7fb033
13 changed files with 1015 additions and 0 deletions
42
keyboards/boardsource/unicorne/config.h
Normal file
42
keyboards/boardsource/unicorne/config.h
Normal file
|
|
@ -0,0 +1,42 @@
|
||||||
|
// Copyright 2023 jack (@waffle87)
|
||||||
|
// SPDX-License-Identifier: GPL-2.0-or-later
|
||||||
|
#pragma once
|
||||||
|
|
||||||
|
// Board:
|
||||||
|
#define RP2040_BOOTLOADER_DOUBLE_TAP_RESET
|
||||||
|
|
||||||
|
#define I2C_DRIVER I2CD1
|
||||||
|
#define I2C1_SDA_PIN GP22
|
||||||
|
#define I2C1_SCL_PIN GP23
|
||||||
|
|
||||||
|
#define MASTER_LEFT
|
||||||
|
|
||||||
|
// Audio Buzzer:
|
||||||
|
#define AUDIO_PIN GP28
|
||||||
|
#define AUDIO_PWM_DRIVER PWMD6
|
||||||
|
#define AUDIO_INIT_DELAY
|
||||||
|
#define AUDIO_PWM_CHANNEL RP2040_PWM_CHANNEL_A
|
||||||
|
// #define STARTUP_SONG SONG(ODE_TO_JOY) // AHHHHHHHHH
|
||||||
|
|
||||||
|
// Analog Sticks:
|
||||||
|
#define ANALOG_JOYSTICK_Y_AXIS_PIN GP26
|
||||||
|
#define ANALOG_JOYSTICK_X_AXIS_PIN GP27
|
||||||
|
#define POINTING_DEVICE_INVERT_Y
|
||||||
|
#define POINTING_DEVICE_INVERT_X
|
||||||
|
|
||||||
|
// Reset Upon Reinitializtion:
|
||||||
|
#define OS_DETECTION_KEYBOARD_RESET // enables the keyboard reset upon a USB device reinitialization,
|
||||||
|
// such as switching devices on some KVMs
|
||||||
|
// OLEDs:
|
||||||
|
#define OLED_BRIGHTNESS 200
|
||||||
|
#define OLED_TIMEOUT 10000
|
||||||
|
|
||||||
|
// Tap Dance: (milliseconds)
|
||||||
|
#define TAPPING_TERM 175
|
||||||
|
|
||||||
|
// Split Keyboard Actions
|
||||||
|
#define SPLIT_ACTIVITY_ENABLE // allow timeouts
|
||||||
|
#define SPLIT_LED_STATE_ENABLE // caps-lock, num-lock, etc.
|
||||||
|
#define SPLIT_MODS_ENABLE // mod key status
|
||||||
|
#define SPLIT_OLED_ENABLE // oled status (on, off, etc.)
|
||||||
|
#define SPLIT_WPM_ENABLE // words-per-minute
|
||||||
9
keyboards/boardsource/unicorne/halconf.h
Normal file
9
keyboards/boardsource/unicorne/halconf.h
Normal file
|
|
@ -0,0 +1,9 @@
|
||||||
|
// Copyright 2022 jack (@waffle87)
|
||||||
|
// SPDX-License-Identifier: GPL-2.0-or-later
|
||||||
|
#pragma once
|
||||||
|
|
||||||
|
#define HAL_USE_I2C TRUE
|
||||||
|
#define HAL_USE_PWM TRUE
|
||||||
|
#define HAL_USE_ADC TRUE
|
||||||
|
|
||||||
|
#include_next <halconf.h>
|
||||||
173
keyboards/boardsource/unicorne/info.json
Normal file
173
keyboards/boardsource/unicorne/info.json
Normal file
|
|
@ -0,0 +1,173 @@
|
||||||
|
{
|
||||||
|
"manufacturer": "Boardsource",
|
||||||
|
"maintainer": "waffle87",
|
||||||
|
"processor": "RP2040",
|
||||||
|
"bootloader": "rp2040",
|
||||||
|
"diode_direction": "COL2ROW",
|
||||||
|
"features": {
|
||||||
|
"audio": true,
|
||||||
|
"bootmagic": true,
|
||||||
|
"encoder": true,
|
||||||
|
"extrakey": true,
|
||||||
|
"mousekey": true,
|
||||||
|
"nkro": true,
|
||||||
|
"oled": true,
|
||||||
|
"pointing_device": false,
|
||||||
|
"rgb_matrix": true
|
||||||
|
},
|
||||||
|
"indicators": {
|
||||||
|
"caps": "GP24"
|
||||||
|
},
|
||||||
|
"split": {
|
||||||
|
"enabled": true,
|
||||||
|
"soft_serial_pin": "GP0",
|
||||||
|
"transport": {
|
||||||
|
"sync": {
|
||||||
|
"layer_state": true
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"usb": {
|
||||||
|
"device_version": "1.0.0",
|
||||||
|
"pid": "0x7563",
|
||||||
|
"vid": "0x4273"
|
||||||
|
},
|
||||||
|
"ws2812": {
|
||||||
|
"driver": "vendor",
|
||||||
|
"pin": "GP29"
|
||||||
|
},
|
||||||
|
"matrix_pins": {
|
||||||
|
"cols": ["GP2", "GP3", "GP4", "GP5", "GP6", "GP7"],
|
||||||
|
"rows": ["GP14", "GP15", "GP16", "GP17"]
|
||||||
|
},
|
||||||
|
"encoder": {
|
||||||
|
"rotary": [
|
||||||
|
{"pin_a": "GP8", "pin_b": "GP9"}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"rgb_matrix": {
|
||||||
|
"animations": {
|
||||||
|
"alphas_mods": true,
|
||||||
|
"band_sat": true,
|
||||||
|
"band_val": true,
|
||||||
|
"breathing": true,
|
||||||
|
"gradient_left_right": true,
|
||||||
|
"gradient_up_down": true
|
||||||
|
},
|
||||||
|
"default": {
|
||||||
|
"animation": "alphas_mods"
|
||||||
|
},
|
||||||
|
"max_brightness": 150,
|
||||||
|
"split_count": [27, 27],
|
||||||
|
"driver": "ws2812",
|
||||||
|
"layout": [
|
||||||
|
{"x": 85, "y": 16, "flags": 2},
|
||||||
|
{"x": 50, "y": 13, "flags": 2},
|
||||||
|
{"x": 16, "y": 20, "flags": 2},
|
||||||
|
{"x": 16, "y": 38, "flags": 2},
|
||||||
|
{"x": 50, "y": 48, "flags": 2},
|
||||||
|
{"x": 85, "y": 52, "flags": 2},
|
||||||
|
{"matrix": [3, 5], "x": 95, "y": 63, "flags": 1},
|
||||||
|
{"matrix": [2, 5], "x": 85, "y": 39, "flags": 4},
|
||||||
|
{"matrix": [1, 5], "x": 85, "y": 21, "flags": 4},
|
||||||
|
{"matrix": [0, 5], "x": 85, "y": 4, "flags": 4},
|
||||||
|
{"matrix": [0, 4], "x": 68, "y": 2, "flags": 4},
|
||||||
|
{"matrix": [1, 4], "x": 68, "y": 19, "flags": 4},
|
||||||
|
{"matrix": [2, 4], "x": 68, "y": 37, "flags": 4},
|
||||||
|
{"matrix": [3, 4], "x": 80, "y": 58, "flags": 1},
|
||||||
|
{"matrix": [3, 3], "x": 60, "y": 55, "flags": 1},
|
||||||
|
{"matrix": [2, 3], "x": 50, "y": 35, "flags": 4},
|
||||||
|
{"matrix": [1, 3], "x": 50, "y": 13, "flags": 4},
|
||||||
|
{"matrix": [0, 3], "x": 50, "y": 0, "flags": 4},
|
||||||
|
{"matrix": [0, 2], "x": 33, "y": 3, "flags": 4},
|
||||||
|
{"matrix": [1, 2], "x": 33, "y": 20, "flags": 4},
|
||||||
|
{"matrix": [2, 2], "x": 33, "y": 37, "flags": 4},
|
||||||
|
{"matrix": [2, 1], "x": 16, "y": 42, "flags": 4},
|
||||||
|
{"matrix": [1, 1], "x": 16, "y": 24, "flags": 4},
|
||||||
|
{"matrix": [0, 1], "x": 16, "y": 7, "flags": 4},
|
||||||
|
{"matrix": [0, 0], "x": 0, "y": 7, "flags": 1},
|
||||||
|
{"matrix": [1, 0], "x": 0, "y": 24, "flags": 1},
|
||||||
|
{"matrix": [2, 0], "x": 0, "y": 41, "flags": 1},
|
||||||
|
{"x": 139, "y": 16, "flags": 2},
|
||||||
|
{"x": 174, "y": 13, "flags": 2},
|
||||||
|
{"x": 208, "y": 20, "flags": 2},
|
||||||
|
{"x": 208, "y": 38, "flags": 2},
|
||||||
|
{"x": 174, "y": 48, "flags": 2},
|
||||||
|
{"x": 139, "y": 52, "flags": 2},
|
||||||
|
{"matrix": [7, 5], "x": 129, "y": 63, "flags": 1},
|
||||||
|
{"matrix": [6, 5], "x": 139, "y": 39, "flags": 4},
|
||||||
|
{"matrix": [5, 5], "x": 139, "y": 21, "flags": 4},
|
||||||
|
{"matrix": [4, 5], "x": 139, "y": 4, "flags": 4},
|
||||||
|
{"matrix": [4, 4], "x": 156, "y": 2, "flags": 4},
|
||||||
|
{"matrix": [5, 4], "x": 156, "y": 19, "flags": 4},
|
||||||
|
{"matrix": [6, 4], "x": 156, "y": 37, "flags": 4},
|
||||||
|
{"matrix": [7, 4], "x": 144, "y": 58, "flags": 1},
|
||||||
|
{"matrix": [7, 3], "x": 164, "y": 55, "flags": 1},
|
||||||
|
{"matrix": [6, 3], "x": 174, "y": 35, "flags": 4},
|
||||||
|
{"matrix": [5, 3], "x": 174, "y": 13, "flags": 4},
|
||||||
|
{"matrix": [4, 3], "x": 174, "y": 0, "flags": 4},
|
||||||
|
{"matrix": [4, 2], "x": 191, "y": 3, "flags": 4},
|
||||||
|
{"matrix": [5, 2], "x": 191, "y": 20, "flags": 4},
|
||||||
|
{"matrix": [6, 2], "x": 191, "y": 37, "flags": 4},
|
||||||
|
{"matrix": [6, 1], "x": 208, "y": 42, "flags": 4},
|
||||||
|
{"matrix": [5, 1], "x": 208, "y": 24, "flags": 4},
|
||||||
|
{"matrix": [4, 1], "x": 208, "y": 7, "flags": 4},
|
||||||
|
{"matrix": [4, 0], "x": 0, "y": 7, "flags": 1},
|
||||||
|
{"matrix": [5, 0], "x": 0, "y": 24, "flags": 1},
|
||||||
|
{"matrix": [6, 0], "x": 0, "y": 41, "flags": 1}
|
||||||
|
],
|
||||||
|
"sleep": true
|
||||||
|
},
|
||||||
|
"community_layouts": ["split_3x6_3"],
|
||||||
|
"layout_aliases": {
|
||||||
|
"LAYOUT": "LAYOUT_split_3x6_3"
|
||||||
|
},
|
||||||
|
"layouts": {
|
||||||
|
"LAYOUT_split_3x6_3": {
|
||||||
|
"layout": [
|
||||||
|
{"matrix": [0, 0], "x": 0, "y": 0.3},
|
||||||
|
{"matrix": [0, 1], "x": 1, "y": 0.3},
|
||||||
|
{"matrix": [0, 2], "x": 2, "y": 0.1},
|
||||||
|
{"matrix": [0, 3], "x": 3, "y": 0},
|
||||||
|
{"matrix": [0, 4], "x": 4, "y": 0.1},
|
||||||
|
{"matrix": [0, 5], "x": 5, "y": 0.2},
|
||||||
|
{"matrix": [4, 5], "x": 9, "y": 0.2},
|
||||||
|
{"matrix": [4, 4], "x": 10, "y": 0.1},
|
||||||
|
{"matrix": [4, 3], "x": 11, "y": 0},
|
||||||
|
{"matrix": [4, 2], "x": 12, "y": 0.1},
|
||||||
|
{"matrix": [4, 1], "x": 13, "y": 0.3},
|
||||||
|
{"matrix": [4, 0], "x": 14, "y": 0.3},
|
||||||
|
{"matrix": [1, 0], "x": 0, "y": 1.3},
|
||||||
|
{"matrix": [1, 1], "x": 1, "y": 1.3},
|
||||||
|
{"matrix": [1, 2], "x": 2, "y": 1.1},
|
||||||
|
{"matrix": [1, 3], "x": 3, "y": 1},
|
||||||
|
{"matrix": [1, 4], "x": 4, "y": 1.1},
|
||||||
|
{"matrix": [1, 5], "x": 5, "y": 1.2},
|
||||||
|
{"matrix": [5, 5], "x": 9, "y": 1.2},
|
||||||
|
{"matrix": [5, 4], "x": 10, "y": 1.1},
|
||||||
|
{"matrix": [5, 3], "x": 11, "y": 1},
|
||||||
|
{"matrix": [5, 2], "x": 12, "y": 1.1},
|
||||||
|
{"matrix": [5, 1], "x": 13, "y": 1.3},
|
||||||
|
{"matrix": [5, 0], "x": 14, "y": 1.3},
|
||||||
|
{"matrix": [2, 0], "x": 0, "y": 2.3},
|
||||||
|
{"matrix": [2, 1], "x": 1, "y": 2.3},
|
||||||
|
{"matrix": [2, 2], "x": 2, "y": 2.1},
|
||||||
|
{"matrix": [2, 3], "x": 3, "y": 2},
|
||||||
|
{"matrix": [2, 4], "x": 4, "y": 2.1},
|
||||||
|
{"matrix": [2, 5], "x": 5, "y": 2.2},
|
||||||
|
{"matrix": [6, 5], "x": 9, "y": 2.2},
|
||||||
|
{"matrix": [6, 4], "x": 10, "y": 2.1},
|
||||||
|
{"matrix": [6, 3], "x": 11, "y": 2},
|
||||||
|
{"matrix": [6, 2], "x": 12, "y": 2.1},
|
||||||
|
{"matrix": [6, 1], "x": 13, "y": 2.3},
|
||||||
|
{"matrix": [6, 0], "x": 14, "y": 2.3},
|
||||||
|
{"matrix": [3, 3], "x": 4, "y": 3.7},
|
||||||
|
{"matrix": [3, 4], "x": 5, "y": 3.7},
|
||||||
|
{"matrix": [3, 5], "x": 6, "y": 3.2, "h": 1.5},
|
||||||
|
{"matrix": [7, 5], "x": 8, "y": 3.2, "h": 1.5},
|
||||||
|
{"matrix": [7, 4], "x": 9, "y": 3.7},
|
||||||
|
{"matrix": [7, 3], "x": 10, "y": 3.7}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
25
keyboards/boardsource/unicorne/keymaps/Trinxic/keymap.json
Normal file
25
keyboards/boardsource/unicorne/keymaps/Trinxic/keymap.json
Normal file
|
|
@ -0,0 +1,25 @@
|
||||||
|
{
|
||||||
|
"keyboard": "boardsource/unicorne",
|
||||||
|
"keymap": "default",
|
||||||
|
"layout": "LAYOUT_split_3x6_3",
|
||||||
|
"layers": [
|
||||||
|
[
|
||||||
|
"KC_TAB", "KC_Q", "KC_W", "KC_E", "KC_R", "KC_T", "KC_Y", "KC_U", "KC_I", "KC_O", "KC_P", "KC_BSPC",
|
||||||
|
"KC_LCTL", "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_ESC",
|
||||||
|
"KC_LGUI", "MO(1)", "KC_SPC", "KC_ENT", "MO(2)", "KC_RALT"
|
||||||
|
],
|
||||||
|
[
|
||||||
|
"_______", "KC_1", "KC_2", "KC_3", "KC_4", "KC_5", "KC_6", "KC_7", "KC_8", "KC_9", "KC_0", "_______",
|
||||||
|
"_______", "KC_EXLM", "KC_AT", "KC_HASH", "KC_DLR", "KC_PERC", "KC_CIRC", "KC_AMPR", "KC_ASTR", "KC_LPRN", "KC_RPRN", "_______",
|
||||||
|
"_______", "_______", "_______", "_______", "_______", "_______", "_______", "_______", "_______", "_______", "_______", "_______",
|
||||||
|
"_______", "_______", "_______", "_______", "_______", "_______"
|
||||||
|
],
|
||||||
|
[
|
||||||
|
"QK_BOOT", "_______", "_______", "_______", "_______", "_______", "RGB_VAI", "RGB_HUI", "RGB_SAI", "RGB_MOD", "RGB_TOG", "_______",
|
||||||
|
"EE_CLR", "_______", "_______", "_______", "_______", "_______", "RGB_VAD", "RGB_HUD", "RGB_SAD", "RGB_RMOD", "CK_TOGG", "_______",
|
||||||
|
"_______", "_______", "_______", "_______", "_______", "_______", "_______", "_______", "_______", "_______", "_______", "_______",
|
||||||
|
"_______", "_______", "_______", "_______", "_______", "_______"
|
||||||
|
]
|
||||||
|
]
|
||||||
|
}
|
||||||
407
keyboards/boardsource/unicorne/keymaps/david/keymap.c
Normal file
407
keyboards/boardsource/unicorne/keymaps/david/keymap.c
Normal file
|
|
@ -0,0 +1,407 @@
|
||||||
|
#include QMK_KEYBOARD_H
|
||||||
|
|
||||||
|
|
||||||
|
// ------------------ Tap-Dance ----------------- //
|
||||||
|
enum {
|
||||||
|
TD_SHFT_CAPS = 0
|
||||||
|
};
|
||||||
|
tap_dance_action_t tap_dance_actions[] = {
|
||||||
|
[TD_SHFT_CAPS] = ACTION_TAP_DANCE_DOUBLE(KC_LSFT, KC_CAPS)
|
||||||
|
};
|
||||||
|
// if caps lock is on && is pressed: toggle/turn off caps lock
|
||||||
|
|
||||||
|
// ------------------- Layers ------------------- //
|
||||||
|
enum layers { // Layers
|
||||||
|
_DVRK,
|
||||||
|
_QWRT,
|
||||||
|
_GAME,
|
||||||
|
_SYMB,
|
||||||
|
_NAV,
|
||||||
|
_FUNC,
|
||||||
|
_SYS
|
||||||
|
};
|
||||||
|
|
||||||
|
/* Layer Blueprint:
|
||||||
|
[_{NAME}] = LAYOUT_split_3x6_3(
|
||||||
|
//,-----------------------------------------------------, ,-----------------------------------------------------,
|
||||||
|
XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
|
||||||
|
//|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------|
|
||||||
|
XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
|
||||||
|
//|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------|
|
||||||
|
XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
|
||||||
|
//'--------+--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+--------'
|
||||||
|
XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX
|
||||||
|
//'--------------------------' '--------------------------'
|
||||||
|
),
|
||||||
|
*/
|
||||||
|
|
||||||
|
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||||
|
[_DVRK] = LAYOUT_split_3x6_3(
|
||||||
|
//,-----------------------------------------------------, ,-----------------------------------------------------,
|
||||||
|
KC_TAB, KC_SCLN, KC_COMM, KC_DOT, KC_P, KC_Y, KC_F, KC_G, KC_C, KC_R, KC_L, KC_ENT,
|
||||||
|
//|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------|
|
||||||
|
KC_LCTL, KC_A, KC_O, KC_E, KC_U, KC_I, KC_D, KC_H, KC_T, KC_N, KC_S, KC_MINS,
|
||||||
|
//|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------|
|
||||||
|
TD(TD_SHFT_CAPS), KC_QUOT, KC_Q, KC_J, KC_K, KC_X, KC_B, KC_M, KC_W, KC_V, KC_Z, KC_RSFT,
|
||||||
|
//'--------+--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+--------'
|
||||||
|
KC_LGUI, KC_BSPC, MO(_NAV), MO(_SYMB), KC_SPC, KC_RALT
|
||||||
|
//'--------------------------' '--------------------------'
|
||||||
|
),
|
||||||
|
[_QWRT] = LAYOUT_split_3x6_3(
|
||||||
|
//,-----------------------------------------------------, ,-----------------------------------------------------,
|
||||||
|
KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_ENT,
|
||||||
|
//|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------|
|
||||||
|
KC_LCTL, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT,
|
||||||
|
//|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------|
|
||||||
|
TD(TD_SHFT_CAPS), KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT,
|
||||||
|
//'--------+--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+--------'
|
||||||
|
KC_LGUI, KC_BSPC, MO(_NAV), MO(_SYMB), KC_SPC, KC_RALT
|
||||||
|
//'--------------------------' '--------------------------'
|
||||||
|
),
|
||||||
|
[_GAME] = LAYOUT_split_3x6_3(
|
||||||
|
//,-----------------------------------------------------, ,-----------------------------------------------------,
|
||||||
|
KC_TAB, KC_T, KC_Q, KC_W, KC_E, KC_R, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_ENT,
|
||||||
|
//|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------|
|
||||||
|
KC_G, KC_LSFT, KC_A, KC_S, KC_D, KC_F, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT,
|
||||||
|
//|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------|
|
||||||
|
KC_B, KC_LCTL, KC_Z, KC_X, KC_C, KC_V, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT,
|
||||||
|
//'--------+--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+--------'
|
||||||
|
KC_LALT, KC_SPC, MO(_SYMB), MO(_NAV), KC_SPC, KC_LGUI
|
||||||
|
//'--------------------------' '--------------------------'
|
||||||
|
),
|
||||||
|
[_SYMB] = LAYOUT_split_3x6_3(
|
||||||
|
//,-----------------------------------------------------, ,-----------------------------------------------------,
|
||||||
|
KC_ESC, _______, _______, _______, KC_ASTR, KC_CIRC, KC_PLUS, KC_1, KC_2, KC_3, KC_PERC, TO(_FUNC),
|
||||||
|
//|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------|
|
||||||
|
_______, KC_HASH, KC_LPRN, KC_RPRN, KC_SLSH, KC_BSLS, KC_EQL, KC_4, KC_5, KC_6, KC_0, KC_AT,
|
||||||
|
//|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------|
|
||||||
|
_______, _______, KC_LBRC, KC_RBRC, KC_EXLM, KC_GRV, KC_MINS, KC_7, KC_8, KC_9, KC_DLR, _______,
|
||||||
|
//'--------+--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+--------'
|
||||||
|
_______, _______, XXXXXXX, _______, _______, _______
|
||||||
|
//'--------------------------' '--------------------------'
|
||||||
|
),
|
||||||
|
[_NAV] = LAYOUT_split_3x6_3(
|
||||||
|
//,-----------------------------------------------------, ,-----------------------------------------------------,
|
||||||
|
TO(_FUNC), XXXXXXX, KC_FIND, KC_UNDO, KC_AGIN, XXXXXXX, XXXXXXX, KC_END, KC_PGDN, KC_PGUP, KC_HOME, XXXXXXX,
|
||||||
|
//|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------|
|
||||||
|
_______, XXXXXXX, KC_CUT, KC_COPY, KC_PSTE, XXXXXXX, XXXXXXX, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT, XXXXXXX,
|
||||||
|
//|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------|
|
||||||
|
_______, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
|
||||||
|
//'--------+--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+--------'
|
||||||
|
KC_LGUI, XXXXXXX, _______, XXXXXXX, _______, _______
|
||||||
|
//'--------------------------' '--------------------------'
|
||||||
|
),
|
||||||
|
[_FUNC] = LAYOUT_split_3x6_3(
|
||||||
|
//,-----------------------------------------------------, ,-----------------------------------------------------,
|
||||||
|
KC_F1, KC_F2, KC_F3, KC_F4, XXXXXXX, XXXXXXX, KC_VOLU, KC_MNXT, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
|
||||||
|
//|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------|
|
||||||
|
KC_F5, KC_F6, KC_F7, KC_F8, XXXXXXX, XXXXXXX, KC_MUTE, KC_MPLY, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
|
||||||
|
//|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------|
|
||||||
|
KC_F9, KC_F10, KC_F11, KC_F12, XXXXXXX, XXXXXXX, KC_VOLD, KC_MPRV, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
|
||||||
|
//'--------+--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+--------'
|
||||||
|
TO(_SYS), TO(_DVRK), XXXXXXX, XXXXXXX, TO(_DVRK), TO(_SYS)
|
||||||
|
//'--------------------------' '--------------------------'
|
||||||
|
),
|
||||||
|
[_SYS] = LAYOUT_split_3x6_3(
|
||||||
|
//,-----------------------------------------------------, ,-----------------------------------------------------,
|
||||||
|
QK_RBT, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, RGB_MOD, RGB_VAI, RGB_SPI, BL_BRTG, BL_UP, QK_RBT,
|
||||||
|
//|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------|
|
||||||
|
XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, RGB_TOG, RGB_VAD, RGB_SPD, BL_TOGG, BL_DOWN, XXXXXXX,
|
||||||
|
//|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------|
|
||||||
|
QK_BOOT, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, RGB_RMOD, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, QK_BOOT,
|
||||||
|
//'--------+--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+--------'
|
||||||
|
TO(_QWRT), TO(_DVRK), TO(_GAME), TO(_GAME), TO(_DVRK), TO(_QWRT)
|
||||||
|
//'--------------------------' '--------------------------'
|
||||||
|
)
|
||||||
|
};
|
||||||
|
|
||||||
|
|
||||||
|
// don't touch.. idk what this does at the moment
|
||||||
|
#if defined(ENCODER_ENABLE) && defined(ENCODER_MAP_ENABLE)
|
||||||
|
const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][NUM_DIRECTIONS] = {
|
||||||
|
|
||||||
|
};
|
||||||
|
#endif
|
||||||
|
|
||||||
|
// Layer Timeout
|
||||||
|
void matrix_scan_user(void) {
|
||||||
|
if ( // any 'toggled' layer is active
|
||||||
|
(get_highest_layer(layer_state) == _FUNC
|
||||||
|
|| get_highest_layer(layer_state) == _SYS)
|
||||||
|
&& last_input_activity_elapsed() > 10000 // 10 seconds
|
||||||
|
) {
|
||||||
|
layer_move(_DVRK);
|
||||||
|
oled_off(); // not working... now try
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// ------------------- Macros ------------------- //
|
||||||
|
// https://docs.qmk.fm/feature_advanced_keycodes#shift-backspace-for-delete
|
||||||
|
uint8_t mod_state;
|
||||||
|
bool process_record_user(uint16_t keycode, keyrecord_t *record) {
|
||||||
|
mod_state = get_mods(); // Store the current modifier state
|
||||||
|
switch (keycode) {
|
||||||
|
case KC_BSPC: {
|
||||||
|
// Track delete key status: registered or not?
|
||||||
|
static bool delkey_registered;
|
||||||
|
if (record->event.pressed) {
|
||||||
|
// Detect the activation of either shift keys
|
||||||
|
if (mod_state & MOD_MASK_SHIFT) {
|
||||||
|
// Temporarily canceling both shifts
|
||||||
|
// so 'shift' isn't applied to KC_DEL
|
||||||
|
del_mods(MOD_MASK_SHIFT);
|
||||||
|
register_code(KC_DEL);
|
||||||
|
// Update the boolean variable to reflect the status of KC_DEL
|
||||||
|
delkey_registered = true;
|
||||||
|
// Reapplying modifier state so that the held shift key(s)
|
||||||
|
// still work even after having tapped the Backspace/Delete key.
|
||||||
|
set_mods(mod_state);
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
} else { // on release of KC_BSPC
|
||||||
|
// In case KC_DEL is still being sent even after the release of KC_BSPC
|
||||||
|
if (delkey_registered) {
|
||||||
|
unregister_code(KC_DEL);
|
||||||
|
delkey_registered = false;
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
// Let QMK process the KC_BSPC keycode as usual outside of shift
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return true;
|
||||||
|
};
|
||||||
|
|
||||||
|
// ---------------- OLED Screens ---------------- //
|
||||||
|
#ifdef OLED_ENABLE
|
||||||
|
|
||||||
|
// Rotate Screens
|
||||||
|
oled_rotation_t oled_init_kb(oled_rotation_t rotation) {
|
||||||
|
bool vertical_text = false;
|
||||||
|
if (vertical_text) { // vertical
|
||||||
|
if (!is_keyboard_left()) { return OLED_ROTATION_180; }
|
||||||
|
return rotation;
|
||||||
|
} else { // horizontal
|
||||||
|
return OLED_ROTATION_270;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// Layer Status
|
||||||
|
void render_current_layer(void) {
|
||||||
|
oled_set_cursor(0, 1);
|
||||||
|
switch (get_highest_layer(layer_state)) {
|
||||||
|
case _DVRK:
|
||||||
|
oled_write_P(PSTR(" DVRK\n"), false); break;
|
||||||
|
case _QWRT:
|
||||||
|
oled_write_P(PSTR(" QWRT\n"), false); break;
|
||||||
|
case _GAME:
|
||||||
|
oled_write_P(PSTR(" GAME\n"), false); break;
|
||||||
|
case _SYMB:
|
||||||
|
oled_write_P(PSTR(" SYMB\n"), false); break;
|
||||||
|
case _NAV:
|
||||||
|
oled_write_P(PSTR(" NAV\n"), false); break;
|
||||||
|
case _FUNC:
|
||||||
|
oled_write_P(PSTR(" FUNC\n"), false); break;
|
||||||
|
case _SYS:
|
||||||
|
oled_write_P(PSTR(" SYS\n"), false); break;
|
||||||
|
default:
|
||||||
|
oled_write_P(PSTR("ERROR\n"), false); break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// Logos
|
||||||
|
static void render_apple_logo(void) {
|
||||||
|
static const char PROGMEM raw_logo_apple[] = { // `const unsigned char`
|
||||||
|
0, 0, 0, 0, 0, 0, 0, 0, 0,128,128,128,128, 0, 0, 0,
|
||||||
|
112,124, 62, 62,159,135,128,128,128, 0, 0, 0, 0, 0, 0, 0,
|
||||||
|
0, 0, 0,224,248,252,254,255,255,255,255,255,255,255,255,254,
|
||||||
|
254,254,255,255,255,255,255,255,255, 31, 15, 6, 0, 0, 0, 0,
|
||||||
|
0, 0, 0, 31,255,255,255,255,255,255,255,255,255,255,255,255,
|
||||||
|
255,255,255,255,255,255,255,255,255,248,224,192,192, 0, 0, 0,
|
||||||
|
0, 0, 0, 0, 0, 3, 7, 15, 31, 63,127,127,127, 63, 63, 31,
|
||||||
|
31, 31, 31, 63, 63,127,127, 63, 63, 31, 15, 3, 0, 0, 0, 0,
|
||||||
|
};
|
||||||
|
oled_write_raw_P(raw_logo_apple, sizeof(raw_logo_apple));
|
||||||
|
}
|
||||||
|
static void render_arch_logo(void) {
|
||||||
|
static const char PROGMEM raw_arch_logo[] = {
|
||||||
|
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128,224,
|
||||||
|
240,192, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||||
|
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128,224,248,242,247,239,
|
||||||
|
255,255,255,252,240,192, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||||
|
0, 0, 0, 0, 0, 0,192,240,252,254,255,255,127, 7, 3, 1,
|
||||||
|
1, 3, 7,127,255,255,255,252,184,160,128, 0, 0, 0, 0, 0,
|
||||||
|
0, 0, 0, 8, 12, 7, 7, 3, 1, 1, 0, 0, 0, 0, 0, 0,
|
||||||
|
0, 0, 0, 0, 0, 0, 1, 1, 3, 3, 7, 14, 8, 0, 0, 0,
|
||||||
|
};
|
||||||
|
oled_write_raw_P(raw_arch_logo, sizeof(raw_arch_logo));
|
||||||
|
}
|
||||||
|
static void render_windows_logo(void) {
|
||||||
|
static const char PROGMEM raw_windows_logo[] = {
|
||||||
|
0, 0, 0,128,128,128,128,192,192,192,192,192,192,224, 0,224,
|
||||||
|
224,224,224,224,240,240,240,240,240,240,248,248,248, 0, 0, 0,
|
||||||
|
0, 0, 0,255,255,255,255,255,255,255,255,255,255,255, 0,255,
|
||||||
|
255,255,255,255,255,255,255,255,255,255,255,255,255, 0, 0, 0,
|
||||||
|
0, 0, 0,254,254,254,254,254,254,254,254,254,254,254, 0,254,
|
||||||
|
254,254,254,254,254,254,254,254,254,254,254,254,254, 0, 0, 0,
|
||||||
|
0, 0, 0, 3, 3, 3, 3, 3, 3, 7, 7, 7, 7, 7, 0, 7,
|
||||||
|
15, 15, 15, 15, 15, 15, 15, 15, 31, 31, 31, 31, 31, 0, 0, 0,
|
||||||
|
};
|
||||||
|
oled_write_raw_P(raw_windows_logo, sizeof(raw_windows_logo));
|
||||||
|
}
|
||||||
|
// Display Current OS on start-up
|
||||||
|
bool process_detected_host_os_kb(os_variant_t detected_os) {
|
||||||
|
if (!process_detected_host_os_user(detected_os)) {
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
if (is_keyboard_master()) {
|
||||||
|
oled_set_cursor(0, 5);
|
||||||
|
switch (detected_os) {
|
||||||
|
case OS_MACOS:
|
||||||
|
case OS_IOS:
|
||||||
|
render_apple_logo();
|
||||||
|
break;
|
||||||
|
case OS_WINDOWS:
|
||||||
|
render_windows_logo();
|
||||||
|
break;
|
||||||
|
case OS_LINUX:
|
||||||
|
render_arch_logo(); // this would be awkward if it's not Arch..
|
||||||
|
// I'm not drawing the penguin for this
|
||||||
|
break;
|
||||||
|
case OS_UNSURE:
|
||||||
|
oled_write(PSTR("OS: ?"), false);
|
||||||
|
// display some symbol to represent unfamiliar OS
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
|
// Mod Key Icons (Paired)
|
||||||
|
static const char PROGMEM mod_icons[4][4][64] = { // 1 = pressed
|
||||||
|
{ // ctl_shft
|
||||||
|
/*0 0*/ { 0,240,248, 4, 2,130,194, 98, 50, 98,194,130, 2, 4,248, 0, 0,240,248, 4, 2, 66, 98,242,250,242, 98, 66, 2, 4,248, 0, 0, 31, 63,112, 96, 97, 96, 96, 96, 96, 96, 97, 32, 16, 15, 0, 0, 31, 63,112, 96, 96, 96,111,111,111, 96, 96, 32, 16, 15, 0},
|
||||||
|
/*0 1*/ { 0,240,248, 4, 2,130,194, 98, 50, 98,194,130, 2, 4,248, 0, 0,240,248,252,124, 60, 28, 12, 28, 60,124,252,248,240, 0, 0, 0, 31, 63,112, 96, 97, 96, 96, 96, 96, 96, 97, 32, 16, 15, 0, 0, 31, 63,127,127,127, 96, 96, 96,127,127,127, 63, 31, 0, 0},
|
||||||
|
/*1 0*/ { 0,240,248,252,252,124, 60,156, 60,124,252,252,248,240, 0, 0, 0,240,248, 4, 2, 66, 98,242,250,242, 98, 66, 2, 4,248, 0, 0, 31, 63,127,124,126,127,127,127,126,124,127, 63, 31, 0, 0, 0, 31, 63,112, 96, 96, 96,111,111,111, 96, 96, 32, 16, 15, 0},
|
||||||
|
/*1 1*/ { 0,240,248,252,252,124, 60,156, 60,124,252,252,248,240, 0, 0, 0,240,248,252,124, 60, 28, 12, 28, 60,124,252,248,240, 0, 0, 0, 31, 63,127,124,126,127,127,127,126,124,127, 63, 31, 0, 0, 0, 31, 63,127,127,127, 96, 96, 96,127,127,127, 63, 31, 0, 0},
|
||||||
|
}, { // gui_alt (linux/unknown)
|
||||||
|
/*0 0*/ { 0,240,248, 4,114,250,154,154,154,154,154,186, 50, 4,248, 0, 0,240,248, 4, 2,194,226, 50, 50, 50,226,194, 2, 4,248, 0, 0, 31, 63,112,102,110,108,108,108,108,108,111, 39, 16, 15, 0, 0, 31, 63,112, 96,103,103, 97, 97, 97,103,103, 32, 16, 15, 0},
|
||||||
|
/*0 1*/ { 0,240,248, 4,114,250,154,154,154,154,154,186, 50, 4,248, 0, 0,240,248,252,124, 60,156,156,156, 60,124,252,248,240, 0, 0, 0, 31, 63,112,102,110,108,108,108,108,108,111, 39, 16, 15, 0, 0, 31, 63,127,112,112,125,125,125,112,112,127, 63, 31, 0, 0},
|
||||||
|
/*1 0*/ { 0,240,248, 28, 12,204,204,204,204,204,140,156,248,240, 0, 0, 0,240,248, 4, 2,194,226, 50, 50, 50,226,194, 2, 4,248, 0, 0, 31, 63,115, 98,102,102,102,102,102, 96,113, 63, 31, 0, 0, 0, 31, 63,112, 96,103,103, 97, 97, 97,103,103, 32, 16, 15, 0},
|
||||||
|
/*1 1*/ { 0,240,248, 28, 12,204,204,204,204,204,140,156,248,240, 0, 0, 0,240,248,252,124, 60,156,156,156, 60,124,252,248,240, 0, 0, 0, 31, 63,115, 98,102,102,102,102,102, 96,113, 63, 31, 0, 0, 0, 31, 63,127,112,112,125,125,125,112,112,127, 63, 31, 0, 0},
|
||||||
|
}, { // gui_alt (mac/ios)
|
||||||
|
/*0 0*/ { 0,240,248, 4, 18, 42,242, 34, 34, 34,242, 42, 18, 4,248, 0, 0,240,248, 4, 2, 18, 18, 34,194, 2, 18, 18, 2, 4,248, 0, 0, 31, 63,112,100,106,103, 98, 98, 98,103,106, 36, 16, 15, 0, 0, 31, 63,112, 96, 96, 96, 96, 97, 98,100,100, 32, 16, 15, 0},
|
||||||
|
/*0 1*/ { 0,240,248, 4, 18, 42,242, 34, 34, 34,242, 42, 18, 4,248, 0, 0,240,248,252,220,220,188,124,252,220,220,252,248,240, 0, 0, 0, 31, 63,112,100,106,103, 98, 98, 98,103,106, 36, 16, 15, 0, 0, 31, 63,127,127,127,127,124,123,119,119,127, 63, 31, 0, 0},
|
||||||
|
/*1 0*/ { 0,240,248,220,172, 28,188,188,188, 28,172,220,248,240, 0, 0, 0,240,248, 4, 2, 18, 18, 34,194, 2, 18, 18, 2, 4,248, 0, 0, 31, 63,119,107,112,123,123,123,112,107,119, 63, 31, 0, 0, 0, 31, 63,112, 96, 96, 96, 96, 97, 98,100,100, 32, 16, 15, 0},
|
||||||
|
/*1 1*/ { 0,240,248,220,172, 28,188,188,188, 28,172,220,248,240, 0, 0, 0,240,248,252,220,220,188,124,252,220,220,252,248,240, 0, 0, 0, 31, 63,119,107,112,123,123,123,112,107,119, 63, 31, 0, 0, 0, 31, 63,127,127,127,127,124,123,119,119,127, 63, 31, 0, 0},
|
||||||
|
}, { // gui_alt (windows)
|
||||||
|
/*0 0*/ { 0,240,248, 4, 2,114,114,114, 2,114,114,114, 2, 4,248, 0, 0,240,248, 4, 2,194,226, 50, 50, 50,226,194, 2, 4,248, 0, 0, 31, 63,112, 96,103,103,103, 96,103,103,103, 32, 16, 15, 0, 0, 31, 63,112, 96,103,103, 97, 97, 97,103,103, 32, 16, 15, 0},
|
||||||
|
/*0 1*/ { 0,240,248, 4, 2,114,114,114, 2,114,114,114, 2, 4,248, 0, 0,240,248,252,124, 60,156,156,156, 60,124,252,248,240, 0, 0, 0, 31, 63,112, 96,103,103,103, 96,103,103,103, 32, 16, 15, 0, 0, 31, 63,127,112,112,125,125,125,112,112,127, 63, 31, 0, 0},
|
||||||
|
/*1 0*/ { 0,240,248,252, 28, 28, 28,252, 28, 28, 28,252,248,240, 0, 0, 0,240,248, 4, 2,194,226, 50, 50, 50,226,194, 2, 4,248, 0, 0, 31, 63,127,113,113,113,127,113,113,113,127, 63, 31, 0, 0, 0, 31, 63,112, 96,103,103, 97, 97, 97,103,103, 32, 16, 15, 0},
|
||||||
|
/*1 1*/ { 0,240,248,252, 28, 28, 28,252, 28, 28, 28,252,248,240, 0, 0, 0,240,248,252,124, 60,156,156,156, 60,124,252,248,240, 0, 0, 0, 31, 63,127,113,113,113,127,113,113,113,127, 63, 31, 0, 0, 0, 31, 63,127,112,112,125,125,125,112,112,127, 63, 31, 0, 0},
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
|
|
||||||
|
static void render_ctl_shift(int ctl, int shft) {
|
||||||
|
oled_write_raw_P(
|
||||||
|
mod_icons[0][2*ctl + shft],
|
||||||
|
sizeof(mod_icons[0][2*ctl + shft])
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
static void render_gui_alt(int gui, int alt) {
|
||||||
|
int os_num;
|
||||||
|
os_variant_t detected_os = detected_host_os();
|
||||||
|
switch (detected_os) {
|
||||||
|
case OS_MACOS:
|
||||||
|
case OS_IOS:
|
||||||
|
os_num = 1;
|
||||||
|
break;
|
||||||
|
case OS_WINDOWS:
|
||||||
|
os_num = 2;
|
||||||
|
break;
|
||||||
|
default:
|
||||||
|
os_num = 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
oled_write_raw_P(
|
||||||
|
mod_icons[1 + os_num][2*gui + alt],
|
||||||
|
sizeof(mod_icons[1 + os_num][2*gui + alt])
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
void render_mod_status(uint8_t mod_status) {
|
||||||
|
bool is_caps = host_keyboard_led_state().caps_lock;
|
||||||
|
#ifdef CAPS_WORD_ENABLE
|
||||||
|
is_caps |= is_caps_word_on();
|
||||||
|
#endif
|
||||||
|
|
||||||
|
oled_set_cursor(0, 5);
|
||||||
|
render_ctl_shift(
|
||||||
|
(mod_status & MOD_MASK_CTRL) ? 1 : 0,
|
||||||
|
(mod_status & MOD_MASK_SHIFT || is_caps) ? 1 : 0
|
||||||
|
);
|
||||||
|
|
||||||
|
oled_set_cursor(0, 7);
|
||||||
|
render_gui_alt(
|
||||||
|
(mod_status & MOD_MASK_GUI) ? 1 : 0,
|
||||||
|
(mod_status & MOD_MASK_ALT) ? 1 : 0
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
|
// Display Words-per-minute
|
||||||
|
int peak_wpm, curr_wpm;
|
||||||
|
void render_wpm(void) {
|
||||||
|
curr_wpm = get_current_wpm();
|
||||||
|
|
||||||
|
// get WPM Peak | reset if wpm is 0
|
||||||
|
oled_set_cursor(1, 12);
|
||||||
|
if (curr_wpm == 0) { peak_wpm = 0; }
|
||||||
|
if (curr_wpm > peak_wpm || last_input_activity_elapsed() > 3500) {
|
||||||
|
peak_wpm = curr_wpm;
|
||||||
|
}
|
||||||
|
oled_write(get_u8_str(peak_wpm, '0'), false);
|
||||||
|
|
||||||
|
oled_set_cursor(0, 13);
|
||||||
|
oled_write(PSTR("-----"), false);
|
||||||
|
oled_set_cursor(1, 14);
|
||||||
|
oled_write(get_u8_str(get_current_wpm(), '0'), false);
|
||||||
|
oled_set_cursor(1, 15);
|
||||||
|
oled_write(PSTR("WPM"), false);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
void render_caps_lock(void) {
|
||||||
|
oled_set_cursor(1, 10);
|
||||||
|
oled_write_P(
|
||||||
|
host_keyboard_led_state().caps_lock ? PSTR("CAPS") : PSTR("\n"),
|
||||||
|
false
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
void master_oled(void) { // Left Side
|
||||||
|
render_current_layer();
|
||||||
|
// render_caps_lock(); // don't need if I have mod key status active
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
void slave_oled(void) { // Right Side
|
||||||
|
render_current_layer();
|
||||||
|
render_mod_status(get_mods() | get_oneshot_mods());
|
||||||
|
render_wpm();
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
bool oled_task_user() {
|
||||||
|
if(is_keyboard_master()) master_oled();
|
||||||
|
else slave_oled();
|
||||||
|
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
#endif
|
||||||
25
keyboards/boardsource/unicorne/keymaps/david/keymap.c.old
Normal file
25
keyboards/boardsource/unicorne/keymaps/david/keymap.c.old
Normal file
|
|
@ -0,0 +1,25 @@
|
||||||
|
#include QMK_KEYBOARD_H
|
||||||
|
|
||||||
|
|
||||||
|
/* THIS FILE WAS GENERATED!
|
||||||
|
*
|
||||||
|
* This file was generated by qmk json2c. You may or may not want to
|
||||||
|
* edit it directly.
|
||||||
|
*/
|
||||||
|
|
||||||
|
|
||||||
|
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||||
|
[0] = LAYOUT_split_3x6_3(KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSPC, KC_LCTL, 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_ESC, KC_LGUI, MO(1), KC_SPC, KC_ENT, MO(2), KC_RALT),
|
||||||
|
[1] = LAYOUT_split_3x6_3(_______, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, _______, _______, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______),
|
||||||
|
[2] = LAYOUT_split_3x6_3(QK_BOOT, _______, _______, _______, _______, _______, RGB_VAI, RGB_HUI, RGB_SAI, RGB_MOD, RGB_TOG, _______, EE_CLR, _______, _______, _______, _______, _______, RGB_VAD, RGB_HUD, RGB_SAD, RGB_RMOD, CK_TOGG, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______)
|
||||||
|
};
|
||||||
|
|
||||||
|
#if defined(ENCODER_ENABLE) && defined(ENCODER_MAP_ENABLE)
|
||||||
|
const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][NUM_DIRECTIONS] = {
|
||||||
|
|
||||||
|
};
|
||||||
|
#endif // defined(ENCODER_ENABLE) && defined(ENCODER_MAP_ENABLE)
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
25
keyboards/boardsource/unicorne/keymaps/default/keymap.json
Normal file
25
keyboards/boardsource/unicorne/keymaps/default/keymap.json
Normal file
|
|
@ -0,0 +1,25 @@
|
||||||
|
{
|
||||||
|
"keyboard": "boardsource/unicorne",
|
||||||
|
"keymap": "default",
|
||||||
|
"layout": "LAYOUT_split_3x6_3",
|
||||||
|
"layers": [
|
||||||
|
[
|
||||||
|
"KC_TAB", "KC_Q", "KC_W", "KC_E", "KC_R", "KC_T", "KC_Y", "KC_U", "KC_I", "KC_O", "KC_P", "KC_BSPC",
|
||||||
|
"KC_LCTL", "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_ESC",
|
||||||
|
"KC_LGUI", "MO(1)", "KC_SPC", "KC_ENT", "MO(2)", "KC_RALT"
|
||||||
|
],
|
||||||
|
[
|
||||||
|
"_______", "KC_1", "KC_2", "KC_3", "KC_4", "KC_5", "KC_6", "KC_7", "KC_8", "KC_9", "KC_0", "_______",
|
||||||
|
"_______", "KC_EXLM", "KC_AT", "KC_HASH", "KC_DLR", "KC_PERC", "KC_CIRC", "KC_AMPR", "KC_ASTR", "KC_LPRN", "KC_RPRN", "_______",
|
||||||
|
"_______", "_______", "_______", "_______", "_______", "_______", "_______", "_______", "_______", "_______", "_______", "_______",
|
||||||
|
"_______", "_______", "_______", "_______", "_______", "_______"
|
||||||
|
],
|
||||||
|
[
|
||||||
|
"QK_BOOT", "_______", "_______", "_______", "_______", "_______", "RGB_VAI", "RGB_HUI", "RGB_SAI", "RGB_MOD", "RGB_TOG", "_______",
|
||||||
|
"EE_CLR", "_______", "_______", "_______", "_______", "_______", "RGB_VAD", "RGB_HUD", "RGB_SAD", "RGB_RMOD", "CK_TOGG", "_______",
|
||||||
|
"_______", "_______", "_______", "_______", "_______", "_______", "_______", "_______", "_______", "_______", "_______", "_______",
|
||||||
|
"_______", "_______", "_______", "_______", "_______", "_______"
|
||||||
|
]
|
||||||
|
]
|
||||||
|
}
|
||||||
30
keyboards/boardsource/unicorne/keymaps/via/keymap.json
Normal file
30
keyboards/boardsource/unicorne/keymaps/via/keymap.json
Normal file
|
|
@ -0,0 +1,30 @@
|
||||||
|
{
|
||||||
|
"keyboard": "boardsource/unicorne",
|
||||||
|
"keymap": "via",
|
||||||
|
"layout": "LAYOUT_split_3x6_3",
|
||||||
|
"config": {
|
||||||
|
"features": {
|
||||||
|
"via": true
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"layers": [
|
||||||
|
[
|
||||||
|
"KC_TAB", "KC_Q", "KC_W", "KC_E", "KC_R", "KC_T", "KC_Y", "KC_U", "KC_I", "KC_O", "KC_P", "KC_BSPC",
|
||||||
|
"KC_LCTL", "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_ESC",
|
||||||
|
"KC_LGUI", "MO(1)", "KC_SPC", "KC_ENT", "MO(2)", "KC_RALT"
|
||||||
|
],
|
||||||
|
[
|
||||||
|
"_______", "KC_1", "KC_2", "KC_3", "KC_4", "KC_5", "KC_6", "KC_7", "KC_8", "KC_9", "KC_0", "_______",
|
||||||
|
"_______", "KC_EXLM", "KC_AT", "KC_HASH", "KC_DLR", "KC_PERC", "KC_CIRC", "KC_AMPR", "KC_ASTR", "KC_LPRN", "KC_RPRN", "_______",
|
||||||
|
"_______", "_______", "_______", "_______", "_______", "_______", "_______", "_______", "_______", "_______", "_______", "_______",
|
||||||
|
"_______", "_______", "_______", "_______", "_______", "_______"
|
||||||
|
],
|
||||||
|
[
|
||||||
|
"QK_BOOT", "_______", "_______", "_______", "_______", "_______", "RGB_VAI", "RGB_HUI", "RGB_SAI", "RGB_MOD", "RGB_TOG", "_______",
|
||||||
|
"EE_CLR", "_______", "_______", "_______", "_______", "_______", "RGB_VAD", "RGB_HUD", "RGB_SAD", "RGB_RMOD", "CK_TOGG", "_______",
|
||||||
|
"_______", "_______", "_______", "_______", "_______", "_______", "_______", "_______", "_______", "_______", "_______", "_______",
|
||||||
|
"_______", "_______", "_______", "_______", "_______", "_______"
|
||||||
|
]
|
||||||
|
]
|
||||||
|
}
|
||||||
13
keyboards/boardsource/unicorne/mcuconf.h
Normal file
13
keyboards/boardsource/unicorne/mcuconf.h
Normal file
|
|
@ -0,0 +1,13 @@
|
||||||
|
// Copyright 2022 jack (@waffle87)
|
||||||
|
// SPDX-License-Identifier: GPL-2.0-or-later
|
||||||
|
#pragma once
|
||||||
|
#include_next <mcuconf.h>
|
||||||
|
|
||||||
|
#undef RP_I2C_USE_I2C1
|
||||||
|
#define RP_I2C_USE_I2C1 TRUE
|
||||||
|
|
||||||
|
#undef RP_PWM_USE_PWM6
|
||||||
|
#define RP_PWM_USE_PWM6 TRUE
|
||||||
|
|
||||||
|
#undef RP_ADC_USE_ADC1
|
||||||
|
#define RP_ADC_USE_ADC1 TRUE
|
||||||
25
keyboards/boardsource/unicorne/readme.md
Normal file
25
keyboards/boardsource/unicorne/readme.md
Normal file
|
|
@ -0,0 +1,25 @@
|
||||||
|
# Unicorne
|
||||||
|
|
||||||
|

|
||||||
|
|
||||||
|
* Keyboard Maintainer: [waffle87](https://github.com/waffle87)
|
||||||
|
* Hardware Supported: Unicorne PCBs w/ integrated RP2040 microcontroller
|
||||||
|
* Hardware Availability: [boardsource.xyz](https://boardsource.xyz)
|
||||||
|
|
||||||
|
Make example for this keyboard (after setting up your build environment):
|
||||||
|
|
||||||
|
make boardsource/unicorne:default
|
||||||
|
|
||||||
|
Flashing example for this keyboard:
|
||||||
|
|
||||||
|
make boardsource/unicorne: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 (the top left key) and plug in the keyboard
|
||||||
|
* **Physical reset button**: Briefly press the button on the back of the PCB
|
||||||
|
* **Keycode in layout**: Press the key mapped to `QK_BOOT` if it is available
|
||||||
8
keyboards/boardsource/unicorne/rules.mk
Normal file
8
keyboards/boardsource/unicorne/rules.mk
Normal file
|
|
@ -0,0 +1,8 @@
|
||||||
|
SERIAL_DRIVER = vendor
|
||||||
|
AUDIO_DRIVER = pwm_hardware
|
||||||
|
POINTING_DEVICE_DRIVER = analog_joystick
|
||||||
|
BOOTLOADER = rp2040
|
||||||
|
LTO_ENABLE = yes
|
||||||
|
WPM_ENABLE = yes
|
||||||
|
TAP_DANCE_ENABLE = yes
|
||||||
|
OS_DETECTION_ENABLE = yes
|
||||||
39
keyboards/boardsource/unicorne/unicorne.c
Normal file
39
keyboards/boardsource/unicorne/unicorne.c
Normal file
|
|
@ -0,0 +1,39 @@
|
||||||
|
// Copyright 2023 jack (@waffle87)
|
||||||
|
// SPDX-License-Identifier: GPL-2.0-or-later
|
||||||
|
#include "unicorne.h"
|
||||||
|
|
||||||
|
/* DEFAULT DISPLAY:
|
||||||
|
#ifdef OLED_ENABLE
|
||||||
|
oled_rotation_t oled_init_kb(oled_rotation_t rotation) {
|
||||||
|
if (!is_keyboard_master()) {
|
||||||
|
return OLED_ROTATION_180;
|
||||||
|
}
|
||||||
|
return rotation;
|
||||||
|
}
|
||||||
|
|
||||||
|
bool oled_task_kb(void) {
|
||||||
|
if (!oled_task_user()) {
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
if (is_keyboard_master()) {
|
||||||
|
switch (get_highest_layer(layer_state)) {
|
||||||
|
case 0:
|
||||||
|
oled_write_raw(layer_zero, sizeof(layer_zero));
|
||||||
|
break;
|
||||||
|
case 1:
|
||||||
|
oled_write_raw(layer_one, sizeof(layer_one));
|
||||||
|
break;
|
||||||
|
case 2:
|
||||||
|
oled_write_raw(layer_two, sizeof(layer_two));
|
||||||
|
break;
|
||||||
|
case 3:
|
||||||
|
oled_write_raw(layer_three, sizeof(layer_three));
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
oled_write_raw(logo, sizeof(logo));
|
||||||
|
}
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
#endif
|
||||||
|
*/
|
||||||
194
keyboards/boardsource/unicorne/unicorne.h
Normal file
194
keyboards/boardsource/unicorne/unicorne.h
Normal file
|
|
@ -0,0 +1,194 @@
|
||||||
|
// Copyright 2023 jack (@waffle87)
|
||||||
|
// SPDX-License-Identifier: GPL-2.0-or-later
|
||||||
|
#pragma once
|
||||||
|
#include "quantum.h"
|
||||||
|
|
||||||
|
#ifdef OLED_ENABLE
|
||||||
|
// clang-format off
|
||||||
|
static const char PROGMEM logo[] = {
|
||||||
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x80, 0x80, 0x80, 0x80, 0x00, 0x00, 0x00,
|
||||||
|
0x00, 0x00, 0x00, 0x80, 0x80, 0x80, 0x80, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||||
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0xc0, 0xc0, 0xc0, 0xc0,
|
||||||
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||||
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||||
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||||
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||||
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||||
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00,
|
||||||
|
0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0,
|
||||||
|
0xc0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xc0, 0x80, 0x00, 0x00, 0x00, 0x01, 0xe3, 0xe7, 0xe7, 0xe3,
|
||||||
|
0x00, 0x00, 0x00, 0x00, 0x80, 0xc0, 0xc0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0x00, 0x00, 0x00,
|
||||||
|
0x80, 0xc0, 0xc0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xc0, 0x80, 0x00, 0x00, 0x00, 0x00,
|
||||||
|
0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xc0, 0xc0, 0xe0, 0xe0, 0xe0, 0x00, 0x00, 0xe0, 0xe0, 0xe0, 0xe0,
|
||||||
|
0x80, 0xc0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xc0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0xc0, 0xe0,
|
||||||
|
0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xc0, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||||
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x7f, 0xff, 0xff, 0xff, 0xff, 0xc0, 0xc0, 0xc0,
|
||||||
|
0xc0, 0xc0, 0xe0, 0xff, 0xff, 0xff, 0xff, 0x1f, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff,
|
||||||
|
0x01, 0x01, 0x01, 0x01, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff,
|
||||||
|
0x00, 0x00, 0x00, 0x7e, 0xff, 0xff, 0xff, 0xe7, 0xc1, 0x81, 0x81, 0x81, 0xc1, 0x00, 0x00, 0x7f,
|
||||||
|
0xff, 0xff, 0xff, 0xe3, 0xc1, 0x81, 0x81, 0xc1, 0xe3, 0xff, 0xff, 0xff, 0xff, 0x3c, 0x00, 0x00,
|
||||||
|
0xff, 0xff, 0xff, 0xff, 0xff, 0x03, 0x01, 0x01, 0x01, 0x01, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff,
|
||||||
|
0x03, 0x01, 0x01, 0x01, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x7f, 0xff, 0xff, 0xff,
|
||||||
|
0xcd, 0x8c, 0x8c, 0x8c, 0x8d, 0xcf, 0xcf, 0xcf, 0xcf, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||||
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x03, 0x03, 0x03, 0x07, 0x07, 0x07,
|
||||||
|
0x07, 0x07, 0x07, 0x03, 0x03, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x03, 0x03, 0x03, 0x03,
|
||||||
|
0x00, 0x00, 0x00, 0x00, 0x03, 0x03, 0x03, 0x03, 0x03, 0x00, 0x00, 0x00, 0x03, 0x03, 0x03, 0x03,
|
||||||
|
0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x03, 0x03, 0x07, 0x07, 0x07, 0x03, 0x03, 0x00, 0x00, 0x00,
|
||||||
|
0x00, 0x01, 0x03, 0x03, 0x07, 0x07, 0x07, 0x07, 0x03, 0x03, 0x03, 0x01, 0x00, 0x00, 0x00, 0x00,
|
||||||
|
0x03, 0x03, 0x03, 0x03, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x03, 0x03, 0x03,
|
||||||
|
0x00, 0x00, 0x00, 0x00, 0x03, 0x03, 0x03, 0x03, 0x03, 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, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||||
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||||
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||||
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
||||||
|
};
|
||||||
|
|
||||||
|
static const char PROGMEM layer_zero[] = {
|
||||||
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xfc, 0xfc, 0x18, 0x30, 0x60, 0xe0, 0xc0, 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, 0x80, 0x80, 0x80, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0,
|
||||||
|
0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0,
|
||||||
|
0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0, 0xc0, 0xc0,
|
||||||
|
0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc8, 0xf8, 0xf0, 0xc0, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||||
|
0x00, 0x00, 0x00, 0x00, 0x02, 0x02, 0x02, 0x02, 0x0f, 0x0f, 0x02, 0x02, 0x02, 0x02, 0x03, 0x03,
|
||||||
|
0x03, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||||
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||||
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xf0,
|
||||||
|
0xfc, 0x0e, 0x07, 0x03, 0x01, 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, 0xf0, 0x70, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0, 0xc0, 0xc0, 0x80, 0x00,
|
||||||
|
0xf0, 0xf0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||||
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 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,
|
||||||
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||||
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||||
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xf8, 0xf0, 0x60,
|
||||||
|
0xe0, 0xc0, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x18, 0x70, 0xe0, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||||
|
0x00, 0x00, 0x00, 0x00, 0x03, 0x07, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x07, 0x03, 0x01, 0x03, 0x07,
|
||||||
|
0x07, 0x0f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||||
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||||
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||||
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||||
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||||
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0f, 0x0f, 0x00,
|
||||||
|
0x00, 0x01, 0x03, 0x07, 0x06, 0x0c, 0x0c, 0x0c, 0x0c, 0x07, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00
|
||||||
|
};
|
||||||
|
|
||||||
|
|
||||||
|
static const char PROGMEM layer_one[] = {
|
||||||
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xfc, 0xfc, 0x18, 0x30, 0x60, 0xe0, 0xc0, 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, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||||
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||||
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0, 0xc0, 0xc0,
|
||||||
|
0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc8, 0xf8, 0xf0, 0xc0, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||||
|
0x00, 0x00, 0x00, 0x00, 0x02, 0x02, 0x02, 0x02, 0x0f, 0x0f, 0x02, 0x02, 0x02, 0x02, 0x03, 0x03,
|
||||||
|
0x03, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||||
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 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,
|
||||||
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||||
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||||
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||||
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||||
|
0x00, 0x00, 0x00, 0x00, 0xf0, 0x70, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0, 0xc0, 0xc0, 0x80, 0x00,
|
||||||
|
0xf0, 0xf0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||||
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||||
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0f,
|
||||||
|
0x3f, 0x70, 0xe0, 0xc0, 0x80, 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, 0xf8, 0xf0, 0x60,
|
||||||
|
0xe0, 0xc0, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x18, 0x70, 0xe0, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||||
|
0x00, 0x00, 0x00, 0x00, 0x03, 0x07, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x07, 0x03, 0x01, 0x03, 0x07,
|
||||||
|
0x07, 0x0f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||||
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 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, 0x01, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03,
|
||||||
|
0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03,
|
||||||
|
0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0f, 0x0f, 0x00,
|
||||||
|
0x00, 0x01, 0x03, 0x07, 0x06, 0x0c, 0x0c, 0x0c, 0x0c, 0x07, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00
|
||||||
|
};
|
||||||
|
|
||||||
|
|
||||||
|
static const char PROGMEM layer_two[] = {
|
||||||
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xfc, 0xfc, 0x18, 0x30, 0x60, 0xe0, 0xc0, 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, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||||
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||||
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0, 0xc0, 0xc0,
|
||||||
|
0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc8, 0xf8, 0xf0, 0xc0, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||||
|
0x00, 0x00, 0x00, 0x00, 0x02, 0x02, 0x02, 0x02, 0x0f, 0x0f, 0x02, 0x02, 0x02, 0x02, 0x03, 0x03,
|
||||||
|
0x03, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||||
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 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,
|
||||||
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||||
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||||
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||||
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||||
|
0x00, 0x00, 0x00, 0x00, 0xf0, 0x70, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0, 0xc0, 0xc0, 0x80, 0x00,
|
||||||
|
0xf0, 0xf0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80,
|
||||||
|
0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80,
|
||||||
|
0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0xc0, 0xc0, 0xe0, 0x70, 0x38, 0x1f, 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, 0xf8, 0xf0, 0x60,
|
||||||
|
0xe0, 0xc0, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x18, 0x70, 0xe0, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||||
|
0x00, 0x00, 0x00, 0x00, 0x03, 0x07, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x07, 0x03, 0x01, 0x03, 0x07,
|
||||||
|
0x07, 0x0f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01,
|
||||||
|
0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01,
|
||||||
|
0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 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, 0x0f, 0x0f, 0x00,
|
||||||
|
0x00, 0x01, 0x03, 0x07, 0x06, 0x0c, 0x0c, 0x0c, 0x0c, 0x07, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00
|
||||||
|
};
|
||||||
|
|
||||||
|
|
||||||
|
static const char PROGMEM layer_three[] = {
|
||||||
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xfc, 0xfc, 0x18, 0x30, 0x60, 0xe0, 0xc0, 0x80,
|
||||||
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0,
|
||||||
|
0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0,
|
||||||
|
0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0x80, 0x80, 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, 0xc0, 0xc0, 0xc0,
|
||||||
|
0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc8, 0xf8, 0xf0, 0xc0, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||||
|
0x00, 0x00, 0x00, 0x00, 0x02, 0x02, 0x02, 0x02, 0x0f, 0x0f, 0x02, 0x02, 0x02, 0x02, 0x03, 0x03,
|
||||||
|
0x03, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||||
|
0x00, 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, 0x03, 0x07, 0x0e, 0xfc, 0xf0,
|
||||||
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||||
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||||
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||||
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||||
|
0x00, 0x00, 0x00, 0x00, 0xf0, 0x70, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0, 0xc0, 0xc0, 0x80, 0x00,
|
||||||
|
0xf0, 0xf0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||||
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 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,
|
||||||
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||||
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||||
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xf8, 0xf0, 0x60,
|
||||||
|
0xe0, 0xc0, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x18, 0x70, 0xe0, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||||
|
0x00, 0x00, 0x00, 0x00, 0x03, 0x07, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x07, 0x03, 0x01, 0x03, 0x07,
|
||||||
|
0x07, 0x0f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||||
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||||
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||||
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||||
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||||
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0f, 0x0f, 0x00,
|
||||||
|
0x00, 0x01, 0x03, 0x07, 0x06, 0x0c, 0x0c, 0x0c, 0x0c, 0x07, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00
|
||||||
|
};
|
||||||
|
// clang-format on
|
||||||
|
#endif
|
||||||
Loading…
Add table
Add a link
Reference in a new issue