Compare commits

...

7 Commits

Author SHA1 Message Date
Nick Brassel 88780bf710 Fixup QP font rendering when --no-ascii is specified. (#20637) 2023-05-06 15:53:14 +01:00
DeskDaily a4be9b0ccb [Keyboard] Navi60 Keymap Edit (#20758)
Co-authored-by: Neil Brian Ramirez <nightlykeyboards@gmail.com>
Co-authored-by: Neil Brian Ramirez <nightlyboards@gmail.com>
2023-05-06 07:46:01 -07:00
ziptyze 7f413e9f01 [Keyboard] Add 1upkeyboards pi50 (#20242)
Co-authored-by: Drashna Jaelre <drashna@live.com>
Co-authored-by: Less/Rikki <86894501+lesshonor@users.noreply.github.com>
Co-authored-by: Ryan <fauxpark@gmail.com>
2023-05-04 12:29:45 -07:00
IreuN a4b36f0b4b sofle/via encoder map & doc handedness update (#20630) 2023-05-03 20:07:32 -06:00
Dennis Kruyt 9b41e8168d [Keyboard] add phantagom/baragon marcopad (#20543)
Co-authored-by: Pablo Martínez <58857054+elpekenin@users.noreply.github.com>
Co-authored-by: jack <0x6a73@protonmail.com>
Co-authored-by: Drashna Jaelre <drashna@live.com>
Co-authored-by: Tom Barnes <barnestom@me.com>
2023-05-01 20:28:05 -07:00
Dennis Kruyt e206a1684e [Keyboard] add phantagom/varan rgb numpad (#20587)
Co-authored-by: Drashna Jaelre <drashna@live.com>
2023-05-01 20:20:02 -07:00
Robert Mills 62a90945c7 [Keymap] Small changes to fix failing karn keyboard build (#20618) 2023-05-01 19:39:30 -07:00
40 changed files with 1742 additions and 54 deletions
+71
View File
@@ -0,0 +1,71 @@
// Copyright 2023 ziptyze
// SPDX-License-Identifier: GPL-2.0-or-later
#pragma once
#define OLED_DISPLAY_128X32
#define I2C1_SCL_PIN GP11
#define I2C1_SDA_PIN GP10
#define I2C_DRIVER I2CD1
#define OLED_BRIGHTNESS 128
#define OLED_FONT_H "keyboards/1upkeyboards/pi50/lib/glcdfont.c"
#define RGB_DI_PIN GP0
# define RGB_MATRIX_KEYPRESSES // reacts to keypresses
# define RGB_MATRIX_FRAMEBUFFER_EFFECTS
# define RGBLIGHT_LIMIT_VAL 150
# define RGB_DISABLE_WHEN_USB_SUSPENDED // turn off effects when suspended
# define RGB_MATRIX_MAXIMUM_BRIGHTNESS 150
// RGB Matrix Animation modes. Explicitly enabled
// For full list of effects, see:
// https://docs.qmk.fm/#/feature_rgb_matrix?id=rgb-matrix-effects
# define ENABLE_RGB_MATRIX_ALPHAS_MODS
# define ENABLE_RGB_MATRIX_GRADIENT_UP_DOWN
# define ENABLE_RGB_MATRIX_GRADIENT_LEFT_RIGHT
# define ENABLE_RGB_MATRIX_BREATHING
# define ENABLE_RGB_MATRIX_BAND_SAT
# define ENABLE_RGB_MATRIX_BAND_VAL
# define ENABLE_RGB_MATRIX_BAND_PINWHEEL_SAT
# define ENABLE_RGB_MATRIX_BAND_PINWHEEL_VAL
# define ENABLE_RGB_MATRIX_BAND_SPIRAL_SAT
# define ENABLE_RGB_MATRIX_BAND_SPIRAL_VAL
# define ENABLE_RGB_MATRIX_CYCLE_ALL
# define ENABLE_RGB_MATRIX_CYCLE_LEFT_RIGHT
# define ENABLE_RGB_MATRIX_CYCLE_UP_DOWN
# define ENABLE_RGB_MATRIX_RAINBOW_MOVING_CHEVRON
# define ENABLE_RGB_MATRIX_CYCLE_OUT_IN
# define ENABLE_RGB_MATRIX_CYCLE_OUT_IN_DUAL
# define ENABLE_RGB_MATRIX_CYCLE_PINWHEEL
# define ENABLE_RGB_MATRIX_CYCLE_SPIRAL
# define ENABLE_RGB_MATRIX_DUAL_BEACON
# define ENABLE_RGB_MATRIX_RAINBOW_BEACON
# define ENABLE_RGB_MATRIX_RAINBOW_PINWHEELS
# define ENABLE_RGB_MATRIX_RAINDROPS
# define ENABLE_RGB_MATRIX_JELLYBEAN_RAINDROPS
# define ENABLE_RGB_MATRIX_HUE_BREATHING
# define ENABLE_RGB_MATRIX_HUE_PENDULUM
# define ENABLE_RGB_MATRIX_HUE_WAVE
# define ENABLE_RGB_MATRIX_PIXEL_RAIN
# define ENABLE_RGB_MATRIX_PIXEL_FLOW
# define ENABLE_RGB_MATRIX_PIXEL_FRACTAL
// enabled only if RGB_MATRIX_FRAMEBUFFER_EFFECTS is defined
# define ENABLE_RGB_MATRIX_TYPING_HEATMAP
# define ENABLE_RGB_MATRIX_DIGITAL_RAIN
// enabled only of RGB_MATRIX_KEYPRESSES or RGB_MATRIX_KEYRELEASES is defined
# define ENABLE_RGB_MATRIX_SOLID_REACTIVE_SIMPLE
# define ENABLE_RGB_MATRIX_SOLID_REACTIVE
# define ENABLE_RGB_MATRIX_SOLID_REACTIVE_WIDE
# define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTIWIDE
# define ENABLE_RGB_MATRIX_SOLID_REACTIVE_CROSS
# define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTICROSS
# define ENABLE_RGB_MATRIX_SOLID_REACTIVE_NEXUS
# define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTINEXUS
# define ENABLE_RGB_MATRIX_SPLASH
# define ENABLE_RGB_MATRIX_MULTISPLASH
# define ENABLE_RGB_MATRIX_SOLID_SPLASH
# define ENABLE_RGB_MATRIX_SOLID_MULTISPLASH
/* 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,4 @@
// Copyright 2023 ziptyze (@ziptyze)
// SPDX-License-Identifier: GPL-2.0-or-later
#define RGB_MATRIX_LED_COUNT 60
+142
View File
@@ -0,0 +1,142 @@
{
"rgb_matrix": {
"layout": [
{ "flags": 1, "matrix": [0, 0], "x": 10, "y": 7 },
{ "flags": 4, "matrix": [1, 0], "x": 28, "y": 7 },
{ "flags": 4, "matrix": [0, 1], "x": 46, "y": 7 },
{ "flags": 4, "matrix": [1, 1], "x": 65, "y": 7 },
{ "flags": 4, "matrix": [0, 2], "x": 84, "y": 7 },
{ "flags": 4, "matrix": [1, 2], "x": 102, "y": 7 },
{ "flags": 4, "matrix": [0, 3], "x": 121, "y": 7 },
{ "flags": 4, "matrix": [1, 3], "x": 140, "y": 7 },
{ "flags": 4, "matrix": [0, 4], "x": 159, "y": 7 },
{ "flags": 4, "matrix": [1, 4], "x": 177, "y": 7 },
{ "flags": 4, "matrix": [0, 5], "x": 196, "y": 7 },
{ "flags": 1, "matrix": [1, 5], "x": 215, "y": 7 },
{ "flags": 1, "matrix": [3, 5], "x": 215, "y": 19 },
{ "flags": 4, "matrix": [2, 5], "x": 196, "y": 19 },
{ "flags": 4, "matrix": [3, 4], "x": 177, "y": 19 },
{ "flags": 4, "matrix": [2, 4], "x": 159, "y": 19 },
{ "flags": 4, "matrix": [3, 3], "x": 140, "y": 19 },
{ "flags": 4, "matrix": [2, 3], "x": 121, "y": 19 },
{ "flags": 4, "matrix": [3, 2], "x": 102, "y": 19 },
{ "flags": 4, "matrix": [2, 2], "x": 84, "y": 19 },
{ "flags": 4, "matrix": [3, 1], "x": 65, "y": 19 },
{ "flags": 4, "matrix": [2, 1], "x": 46, "y": 19 },
{ "flags": 4, "matrix": [3, 0], "x": 28, "y": 19 },
{ "flags": 1, "matrix": [2, 0], "x": 9, "y": 19 },
{ "flags": 1, "matrix": [4, 0], "x": 9, "y": 32 },
{ "flags": 4, "matrix": [5, 0], "x": 28, "y": 32 },
{ "flags": 4, "matrix": [4, 1], "x": 46, "y": 32 },
{ "flags": 4, "matrix": [5, 1], "x": 65, "y": 32 },
{ "flags": 4, "matrix": [4, 2], "x": 84, "y": 32 },
{ "flags": 4, "matrix": [5, 2], "x": 102, "y": 32 },
{ "flags": 4, "matrix": [4, 3], "x": 121, "y": 32 },
{ "flags": 4, "matrix": [5, 3], "x": 140, "y": 32 },
{ "flags": 4, "matrix": [4, 4], "x": 159, "y": 32 },
{ "flags": 4, "matrix": [5, 4], "x": 177, "y": 32 },
{ "flags": 4, "matrix": [4, 5], "x": 196, "y": 32 },
{ "flags": 1, "matrix": [5, 5], "x": 215, "y": 32 },
{ "flags": 1, "matrix": [7, 5], "x": 215, "y": 45 },
{ "flags": 4, "matrix": [6, 5], "x": 196, "y": 45 },
{ "flags": 4, "matrix": [7, 4], "x": 177, "y": 45 },
{ "flags": 4, "matrix": [6, 4], "x": 159, "y": 45 },
{ "flags": 4, "matrix": [7, 3], "x": 140, "y": 45 },
{ "flags": 4, "matrix": [6, 3], "x": 121, "y": 45 },
{ "flags": 4, "matrix": [7, 2], "x": 102, "y": 45 },
{ "flags": 4, "matrix": [6, 2], "x": 84, "y": 45 },
{ "flags": 4, "matrix": [7, 1], "x": 65, "y": 45 },
{ "flags": 4, "matrix": [6, 1], "x": 46, "y": 45 },
{ "flags": 4, "matrix": [7, 0], "x": 28, "y": 45 },
{ "flags": 1, "matrix": [6, 0], "x": 9, "y": 45 },
{ "flags": 1, "matrix": [8, 0], "x": 9, "y": 57 },
{ "flags": 1, "matrix": [9, 0], "x": 28, "y": 57 },
{ "flags": 1, "matrix": [8, 1], "x": 46, "y": 57 },
{ "flags": 1, "matrix": [9, 1], "x": 65, "y": 57 },
{ "flags": 1, "matrix": [8, 2], "x": 84, "y": 57 },
{ "flags": 1, "matrix": [9, 2], "x": 102, "y": 57 },
{ "flags": 1, "matrix": [9, 3], "x": 140, "y": 57 },
{ "flags": 1, "matrix": [8, 4], "x": 159, "y": 57 },
{ "flags": 1, "matrix": [9, 4], "x": 177, "y": 57 },
{ "flags": 1, "matrix": [8, 5], "x": 196, "y": 57 },
{ "flags": 1, "matrix": [9, 5], "x": 215, "y": 57 },
{ "flags": 1, "matrix": [8, 3], "x": 121, "y": 57 }
]
},
"layouts": {
"LAYOUT_ortho_5x12": {
"layout": [
{ "matrix": [0, 6], "x": 11, "y": 0 },
{ "matrix": [0, 0], "x": 0, "y": 1 },
{ "matrix": [1, 0], "x": 1, "y": 1 },
{ "matrix": [0, 1], "x": 2, "y": 1 },
{ "matrix": [1, 1], "x": 3, "y": 1 },
{ "matrix": [0, 2], "x": 4, "y": 1 },
{ "matrix": [1, 2], "x": 5, "y": 1 },
{ "matrix": [0, 3], "x": 6, "y": 1 },
{ "matrix": [1, 3], "x": 7, "y": 1 },
{ "matrix": [0, 4], "x": 8, "y": 1 },
{ "matrix": [1, 4], "x": 9, "y": 1 },
{ "matrix": [0, 5], "x": 10, "y": 1 },
{ "matrix": [1, 5], "x": 11, "y": 1 },
{ "matrix": [2, 0], "x": 0, "y": 2 },
{ "matrix": [3, 0], "x": 1, "y": 2 },
{ "matrix": [2, 1], "x": 2, "y": 2 },
{ "matrix": [3, 1], "x": 3, "y": 2 },
{ "matrix": [2, 2], "x": 4, "y": 2 },
{ "matrix": [3, 2], "x": 5, "y": 2 },
{ "matrix": [2, 3], "x": 6, "y": 2 },
{ "matrix": [3, 3], "x": 7, "y": 2 },
{ "matrix": [2, 4], "x": 8, "y": 2 },
{ "matrix": [3, 4], "x": 9, "y": 2 },
{ "matrix": [2, 5], "x": 10, "y": 2 },
{ "matrix": [3, 5], "x": 11, "y": 2 },
{ "matrix": [4, 0], "x": 0, "y": 3 },
{ "matrix": [5, 0], "x": 1, "y": 3 },
{ "matrix": [4, 1], "x": 2, "y": 3 },
{ "matrix": [5, 1], "x": 3, "y": 3 },
{ "matrix": [4, 2], "x": 4, "y": 3 },
{ "matrix": [5, 2], "x": 5, "y": 3 },
{ "matrix": [4, 3], "x": 6, "y": 3 },
{ "matrix": [5, 3], "x": 7, "y": 3 },
{ "matrix": [4, 4], "x": 8, "y": 3 },
{ "matrix": [5, 4], "x": 9, "y": 3 },
{ "matrix": [4, 5], "x": 10, "y": 3 },
{ "matrix": [5, 5], "x": 11, "y": 3 },
{ "matrix": [6, 0], "x": 0, "y": 4 },
{ "matrix": [7, 0], "x": 1, "y": 4 },
{ "matrix": [6, 1], "x": 2, "y": 4 },
{ "matrix": [7, 1], "x": 3, "y": 4 },
{ "matrix": [6, 2], "x": 4, "y": 4 },
{ "matrix": [7, 2], "x": 5, "y": 4 },
{ "matrix": [6, 3], "x": 6, "y": 4 },
{ "matrix": [7, 3], "x": 7, "y": 4 },
{ "matrix": [6, 4], "x": 8, "y": 4 },
{ "matrix": [7, 4], "x": 9, "y": 4 },
{ "matrix": [6, 5], "x": 10, "y": 4 },
{ "matrix": [7, 5], "x": 11, "y": 4 },
{ "matrix": [8, 0], "x": 0, "y": 5 },
{ "matrix": [9, 0], "x": 1, "y": 5 },
{ "matrix": [8, 1], "x": 2, "y": 5 },
{ "matrix": [9, 1], "x": 3, "y": 5 },
{ "matrix": [8, 2], "x": 4, "y": 5 },
{ "matrix": [9, 2], "x": 5, "y": 5 },
{ "matrix": [8, 3], "x": 6, "y": 5 },
{ "matrix": [9, 3], "x": 7, "y": 5 },
{ "matrix": [8, 4], "x": 8, "y": 5 },
{ "matrix": [9, 4], "x": 9, "y": 5 },
{ "matrix": [8, 5], "x": 10, "y": 5 },
{ "matrix": [9, 5], "x": 11, "y": 5 }
]
}
}
}
+7
View File
@@ -0,0 +1,7 @@
// Copyright 2023 ziptyze
// SPDX-License-Identifier: GPL-2.0-or-later
#pragma once
#define HAL_USE_I2C TRUE
#include_next <halconf.h>
+42
View File
@@ -0,0 +1,42 @@
{
"keyboard_name": "pi50",
"manufacturer": "1upkeyboards",
"maintainer": "ziptyze",
"processor": "RP2040",
"bootloader": "rp2040",
"board": "GENERIC_RP_RP2040",
"usb": {
"vid": "0x6F75",
"pid": "0x5606",
"device_version": "1.0.0"
},
"diode_direction": "COL2ROW",
"dynamic_keymap": {
"layer_count": 10
},
"features": {
"audio": false,
"backlight": false,
"bootmagic": true,
"command": false,
"console": false,
"extrakey": true,
"mousekey": true,
"nkro": false,
"rgb_matrix": true,
"rgblight": false
},
"matrix_pins": {
"rows": ["GP20", "GP15", "GP19", "GP14", "GP18", "GP13", "GP17", "GP12", "GP16", "GP21"],
"cols": ["GP1", "GP2", "GP3", "GP4", "GP5", "GP6", "GP9"]
},
"encoder": {
"enabled": true,
"rotary": [
{"pin_a": "GP8", "pin_b": "GP7"}
]
},
"rgb_matrix": {
"driver": "WS2812"
}
}
@@ -0,0 +1,136 @@
/* Copyright 2023 ziptyze
*
* 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
enum layer_names {
_ONE = 0,
_TWO,
_THREE,
_FOUR
};
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
/* Qwerty
* ╱⎺⎺⎺⎺╲
* |RGBTOG|
* ╲⎽⎽⎽⎽╱
* ,-----------------------------------------------------------------------------------.
* | ` | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 0 | Bksp |
* |------+------+------+------+------+------+------+------+------+------+------+------|
* | Tab | Q | W | E | R | T | Y | U | I | O | P | Del |
* |------+------+------+------+------+-------------+------+------+------+------+------|
* | Esc | A | S | D | F | G | H | J | K | L | ; | " |
* |------+------+------+------+------+------|------+------+------+------+------+------|
* | Shift| Z | X | C | V | B | N | M | , | . | / |Enter |
* |------+------+------+------+------+------+------+------+------+------+------+------|
* |Adjust| Ctrl | Alt | GUI |Lower | Space |Raise | Left | Down | Up |Right |
* `-----------------------------------------------------------------------------------'
*/
[_ONE] = LAYOUT_ortho_5x12 (
RGB_TOG,
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_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_DEL,
KC_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 ,
MO(3), KC_LCTL, KC_LALT, KC_LGUI, MO(1), KC_SPC, KC_SPC, MO(2), KC_LEFT, KC_DOWN, KC_UP, KC_RGHT
),
/* Lower
* ╱⎺⎺⎺⎺╲
* | MUTE |
* ╲⎽⎽⎽⎽╱
* ,-----------------------------------------------------------------------------------.
* | ~ | ! | @ | # | $ | % | ^ | & | * | ( | ) | Bksp |
* |------+------+------+------+------+-------------+------+------+------+------+------|
* | ~ | ! | @ | # | $ | % | ^ | & | * | ( | ) | Del |
* |------+------+------+------+------+-------------+------+------+------+------+------|
* | Del | F1 | F2 | F3 | F4 | F5 | F6 | _ | + | { | } | | |
* |------+------+------+------+------+------|------+------+------+------+------+------|
* | | F7 | F8 | F9 | F10 | F11 | F12 |ISO ~ |ISO | | Home | End | |
* |------+------+------+------+------+------+------+------+------+------+------+------|
* | | | | | | | | Next | Vol- | Vol+ | Play |
* `-----------------------------------------------------------------------------------'
*/
[_TWO] = LAYOUT_ortho_5x12 (
KC_MUTE,
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_TILD, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, KC_DEL,
KC_DEL, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_UNDS, KC_PLUS, KC_LCBR, KC_RCBR, KC_PIPE,
_______, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12,S(KC_NUHS),S(KC_NUBS),KC_HOME, KC_END, _______,
_______, _______, _______, _______, _______, _______, _______, _______, KC_MNXT, KC_VOLD, KC_VOLU, KC_MPLY
),
/* Raise
* ╱⎺⎺⎺⎺╲
* | MUTE |
* ╲⎽⎽⎽⎽╱
* ,-----------------------------------------------------------------------------------.
* | ` | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 0 | Bksp |
* |------+------+------+------+------+------+------+------+------+------+------+------|
* | ` | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 0 | Del |
* |------+------+------+------+------+-------------+------+------+------+------+------|
* | Del | F1 | F2 | F3 | F4 | F5 | F6 | - | = | [ | ] | \ |
* |------+------+------+------+------+------|------+------+------+------+------+------|
* | | F7 | F8 | F9 | F10 | F11 | F12 |ISO # |ISO / | Pg Up| Pg Dn| |
* |------+------+------+------+------+------+------+------+------+------+------+------|
* | | | | | | | | Next | Vol- | Vol+ | Play |
* `-----------------------------------------------------------------------------------'
*/
[_THREE] = LAYOUT_ortho_5x12 (
KC_MUTE,
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_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_DEL,
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
),
/* Adjust (Lower + Raise)
* ╱⎺⎺⎺⎺╲
* | MUTE |
* v-----------------------RGB CONTROL------------------v ╲⎽⎽⎽⎽╱
* ,-----------------------------------------------------------------------------------.
* | F1 | F2 | F3 | F4 | F5 | F6 | F7 | F8 | F9 | F10 | F11 | F12 |
* |------+------+------+------+------+------+------+------+------+------+------+------|
* | | Reset| Debug| | | | | | | | | Del |
* |------+------+------+------+------+-------------+------+------+------+------+------|
* | | |Aud cy|Aud on|AudOff|AGnorm|AGswap|Qwerty|Colemk|Dvorak| | |
* |------+------+------+------+------+------|------+------+------+------+------+------|
* | |Voice-|Voice+|Mus on|MusOff|MidiOn|MidOff| | | | | |
* |------+------+------+------+------+------+------+------+------+------+------+------|
* | | | | | | | | | | | |
* `-----------------------------------------------------------------------------------'
*/
[_FOUR] = LAYOUT_ortho_5x12 (
KC_MUTE,
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, DB_TOGG, _______, _______, _______, _______, _______, _______, _______, _______, KC_DEL,
_______, _______, MU_NEXT, AU_ON, AU_OFF, AG_NORM, AG_SWAP, _______, _______, _______, _______, _______,
_______, AU_PREV, AU_NEXT, MU_ON, MU_OFF, MI_ON, MI_OFF, _______, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
)
};
#if defined(ENCODER_MAP_ENABLE)
const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][2] = {
[_ONE] = { ENCODER_CCW_CW(RGB_RMOD, RGB_MOD) },
[_TWO] = { ENCODER_CCW_CW(KC_VOLD, KC_VOLU) },
[_THREE] = { ENCODER_CCW_CW(KC_VOLD, KC_VOLU) },
[_FOUR] = { ENCODER_CCW_CW(KC_VOLD, KC_VOLU) }
};
#endif
@@ -0,0 +1 @@
ENCODER_MAP_ENABLE = yes
@@ -0,0 +1,286 @@
/* Copyright 2023 ziptyze
*
* 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
enum layer_names {
_ONE = 0,
_TWO,
_THREE,
_FOUR,
_FIVE,
_SIX,
_SEVEN,
_EIGHT,
_NINE,
_TEN
};
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
/* Qwerty
* ╱⎺⎺⎺⎺╲
* |RGBTOG|
* ╲⎽⎽⎽⎽╱
* ,-----------------------------------------------------------------------------------.
* | ` | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 0 | Bksp |
* |------+------+------+------+------+------+------+------+------+------+------+------|
* | Tab | Q | W | E | R | T | Y | U | I | O | P | Del |
* |------+------+------+------+------+-------------+------+------+------+------+------|
* | Esc | A | S | D | F | G | H | J | K | L | ; | " |
* |------+------+------+------+------+------|------+------+------+------+------+------|
* | Shift| Z | X | C | V | B | N | M | , | . | / |Enter |
* |------+------+------+------+------+------+------+------+------+------+------+------|
* |Adjust| Ctrl | Alt | GUI |Lower | Space |Raise | Left | Down | Up |Right |
* `-----------------------------------------------------------------------------------'
*/
[_ONE] = LAYOUT_ortho_5x12 (
RGB_TOG,
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_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_DEL,
KC_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 ,
MO(3), KC_LCTL, KC_LALT, KC_LGUI, MO(1), KC_SPC, KC_SPC, MO(2), KC_LEFT, KC_DOWN, KC_UP, KC_RGHT
),
/* Lower
* ╱⎺⎺⎺⎺╲
* | MUTE |
* ╲⎽⎽⎽⎽╱
* ,-----------------------------------------------------------------------------------.
* | ~ | ! | @ | # | $ | % | ^ | & | * | ( | ) | Bksp |
* |------+------+------+------+------+-------------+------+------+------+------+------|
* | ~ | ! | @ | # | $ | % | ^ | & | * | ( | ) | Del |
* |------+------+------+------+------+-------------+------+------+------+------+------|
* | Del | F1 | F2 | F3 | F4 | F5 | F6 | _ | + | { | } | | |
* |------+------+------+------+------+------|------+------+------+------+------+------|
* | | F7 | F8 | F9 | F10 | F11 | F12 |ISO ~ |ISO | | Home | End | |
* |------+------+------+------+------+------+------+------+------+------+------+------|
* | | | | | | | | Next | Vol- | Vol+ | Play |
* `-----------------------------------------------------------------------------------'
*/
[_TWO] = LAYOUT_ortho_5x12 (
KC_MUTE,
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_TILD, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, KC_DEL,
KC_DEL, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_UNDS, KC_PLUS, KC_LCBR, KC_RCBR, KC_PIPE,
_______, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12,S(KC_NUHS),S(KC_NUBS),KC_HOME, KC_END, _______,
_______, _______, _______, _______, _______, _______, _______, _______, KC_MNXT, KC_VOLD, KC_VOLU, KC_MPLY
),
/* Raise
* ╱⎺⎺⎺⎺╲
* | MUTE |
* ╲⎽⎽⎽⎽╱
* ,-----------------------------------------------------------------------------------.
* | ` | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 0 | Bksp |
* |------+------+------+------+------+------+------+------+------+------+------+------|
* | ` | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 0 | Del |
* |------+------+------+------+------+-------------+------+------+------+------+------|
* | Del | F1 | F2 | F3 | F4 | F5 | F6 | - | = | [ | ] | \ |
* |------+------+------+------+------+------|------+------+------+------+------+------|
* | | F7 | F8 | F9 | F10 | F11 | F12 |ISO # |ISO / | Pg Up| Pg Dn| |
* |------+------+------+------+------+------+------+------+------+------+------+------|
* | | | | | | | | Next | Vol- | Vol+ | Play |
* `-----------------------------------------------------------------------------------'
*/
[_THREE] = LAYOUT_ortho_5x12 (
KC_MUTE,
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_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_DEL,
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
),
/* Adjust (Lower + Raise)
* ╱⎺⎺⎺⎺╲
* | MUTE |
* v-----------------------RGB CONTROL------------------v ╲⎽⎽⎽⎽╱
* ,-----------------------------------------------------------------------------------.
* | F1 | F2 | F3 | F4 | F5 | F6 | F7 | F8 | F9 | F10 | F11 | F12 |
* |------+------+------+------+------+------+------+------+------+------+------+------|
* | | Reset| Debug| | | | | | | | | Del |
* |------+------+------+------+------+-------------+------+------+------+------+------|
* | | |Aud cy|Aud on|AudOff|AGnorm|AGswap|Qwerty|Colemk|Dvorak| | |
* |------+------+------+------+------+------|------+------+------+------+------+------|
* | |Voice-|Voice+|Mus on|MusOff|MidiOn|MidOff| | | | | |
* |------+------+------+------+------+------+------+------+------+------+------+------|
* | | | | | | | | | | | |
* `-----------------------------------------------------------------------------------'
*/
[_FOUR] = LAYOUT_ortho_5x12 (
KC_MUTE,
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, DB_TOGG, _______, _______, _______, _______, _______, _______, _______, _______, KC_DEL,
_______, _______, MU_NEXT, AU_ON, AU_OFF, AG_NORM, AG_SWAP, _______, _______, _______, _______, _______,
_______, AU_PREV, AU_NEXT, MU_ON, MU_OFF, MI_ON, MI_OFF, _______, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
),
/* Placeholder
* ╱⎺⎺⎺⎺╲
* | |
* ╲⎽⎽⎽⎽╱
* ,-----------------------------------------------------------------------------------.
* | | | | | | | | | | | | |
* |------+------+------+------+------+------+------+------+------+------+------+------|
* | | | | | | | | | | | | |
* |------+------+------+------+------+------+------+------+------+------+------+------|
* | | | | | | | | | | | | |
* |------+------+------+------+------+------+------+------+------+------+------+------|
* | | | | | | | | | | | | |
* `-----------------------------------------------------------------------------------'
*/
[_FIVE] = LAYOUT_ortho_5x12 (
_______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
),
/* Placeholder
* ╱⎺⎺⎺⎺╲
* | |
* ╲⎽⎽⎽⎽╱
* ,-----------------------------------------------------------------------------------.
* | | | | | | | | | | | | |
* |------+------+------+------+------+------+------+------+------+------+------+------|
* | | | | | | | | | | | | |
* |------+------+------+------+------+------+------+------+------+------+------+------|
* | | | | | | | | | | | | |
* |------+------+------+------+------+------+------+------+------+------+------+------|
* | | | | | | | | | | | | |
* `-----------------------------------------------------------------------------------'
*/
[_SIX] = LAYOUT_ortho_5x12 (
_______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
),
/* Placeholder
* ╱⎺⎺⎺⎺╲
* | |
* ╲⎽⎽⎽⎽╱
* ,-----------------------------------------------------------------------------------.
* | | | | | | | | | | | | |
* |------+------+------+------+------+------+------+------+------+------+------+------|
* | | | | | | | | | | | | |
* |------+------+------+------+------+------+------+------+------+------+------+------|
* | | | | | | | | | | | | |
* |------+------+------+------+------+------+------+------+------+------+------+------|
* | | | | | | | | | | | | |
* `-----------------------------------------------------------------------------------'
*/
[_SEVEN] = LAYOUT_ortho_5x12 (
_______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
),
/* Placeholder
* ╱⎺⎺⎺⎺╲
* | |
* ╲⎽⎽⎽⎽╱
* ,-----------------------------------------------------------------------------------.
* | | | | | | | | | | | | |
* |------+------+------+------+------+------+------+------+------+------+------+------|
* | | | | | | | | | | | | |
* |------+------+------+------+------+------+------+------+------+------+------+------|
* | | | | | | | | | | | | |
* |------+------+------+------+------+------+------+------+------+------+------+------|
* | | | | | | | | | | | | |
* `-----------------------------------------------------------------------------------'
*/
[_EIGHT] = LAYOUT_ortho_5x12 (
_______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
),
/* Placeholder
* ╱⎺⎺⎺⎺╲
* | |
* ╲⎽⎽⎽⎽╱
* ,-----------------------------------------------------------------------------------.
* | | | | | | | | | | | | |
* |------+------+------+------+------+------+------+------+------+------+------+------|
* | | | | | | | | | | | | |
* |------+------+------+------+------+------+------+------+------+------+------+------|
* | | | | | | | | | | | | |
* |------+------+------+------+------+------+------+------+------+------+------+------|
* | | | | | | | | | | | | |
* `-----------------------------------------------------------------------------------'
*/
[_NINE] = LAYOUT_ortho_5x12 (
_______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
),
/* Placeholder
* ╱⎺⎺⎺⎺╲
* | |
* ╲⎽⎽⎽⎽╱
* ,-----------------------------------------------------------------------------------.
* | | | | | | | | | | | | |
* |------+------+------+------+------+------+------+------+------+------+------+------|
* | | | | | | | | | | | | |
* |------+------+------+------+------+------+------+------+------+------+------+------|
* | | | | | | | | | | | | |
* |------+------+------+------+------+------+------+------+------+------+------+------|
* | | | | | | | | | | | | |
* `-----------------------------------------------------------------------------------'
*/
[_TEN] = LAYOUT_ortho_5x12 (
_______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
)
};
#if defined(ENCODER_MAP_ENABLE)
const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][2] = {
[_ONE] = { ENCODER_CCW_CW(RGB_RMOD, RGB_MOD) },
[_TWO] = { ENCODER_CCW_CW(KC_VOLD, KC_VOLU) },
[_THREE] = { ENCODER_CCW_CW(KC_VOLD, KC_VOLU) },
[_FOUR] = { ENCODER_CCW_CW(KC_VOLD, KC_VOLU) },
[_FIVE] = { ENCODER_CCW_CW(_______, _______) },
[_SIX] = { ENCODER_CCW_CW(_______, _______) },
[_SEVEN] = { ENCODER_CCW_CW(_______, _______) },
[_EIGHT] = { ENCODER_CCW_CW(_______, _______) },
[_NINE] = { ENCODER_CCW_CW(_______, _______) },
[_TEN] = { ENCODER_CCW_CW(_______, _______) },
};
#endif
@@ -0,0 +1,4 @@
VIA_ENABLE = yes
LTO_ENABLE = yes
ENCODER_MAP_ENABLE = yes
+231
View File
@@ -0,0 +1,231 @@
// Copyright 2022 @filterpaper
// SPDX-License-Identifier: GPL-2.0+
#include "progmem.h"
static const unsigned char PROGMEM font[] = {
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, 0xE0, 0x18, 0x02,
0x00, 0x3C, 0x1E, 0x06, 0x0E, 0x0A,
0x1A, 0x0E, 0x26, 0xFF, 0xBF, 0x0D,
0x00, 0x80, 0x80, 0x81, 0xFF, 0xFE,
0xF8, 0x01, 0x01, 0x03, 0x03, 0x03,
0x03, 0x05, 0x05, 0x02, 0x02, 0x0A,
0x0A, 0x0A, 0x0A, 0x0A, 0x0A, 0x0A,
0x0C, 0x04, 0x10, 0x18, 0x20, 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, 0xD0, 0x58, 0x78,
0x68, 0x2C, 0x24, 0x34, 0xF4, 0xF4,
0x3C, 0x3C, 0xFC, 0xF8, 0xF8, 0x70,
0xF0, 0xE0, 0xE0, 0xC0, 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, 0xC0, 0x7C, 0x07, 0x80, 0xE0,
0x60, 0x64, 0xE2, 0x60, 0x10, 0x10,
0x20, 0x22, 0x12, 0x17, 0x3F, 0x0B,
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, 0x21,
0x6F, 0xFC, 0xE0, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x40,
0x60, 0x60, 0x70, 0x70, 0xF0, 0xF0,
0xD0, 0xD0, 0xD0, 0xD0, 0x50, 0x50,
0x50, 0x70, 0x78, 0x78, 0x78, 0x7C,
0x7F, 0x7D, 0x7C, 0x5E, 0x4F, 0x44,
0x40, 0x40, 0x00, 0x00, 0x00, 0x00,
0x00, 0x38, 0x30, 0x30, 0x30, 0x30,
0x30, 0x30, 0x58, 0x46, 0x47, 0x41,
0x41, 0x01, 0x01, 0x03, 0x03, 0x42,
0x42, 0x42, 0x46, 0x46, 0x46, 0x46,
0x42, 0x43, 0x43, 0x73, 0x77, 0x72,
0x70, 0x60, 0x60, 0x60, 0x60, 0x60,
0x60, 0x61, 0x67, 0x6F, 0x7E, 0x78,
0x78, 0x70, 0x70, 0x70, 0x70, 0x70,
0x60, 0x60, 0x60, 0x60, 0x60, 0x60,
0x60, 0x60, 0x60, 0x60, 0x60, 0x60,
0x60, 0x60, 0x60, 0x60, 0x60, 0x60,
0x40, 0x40, 0x40, 0x48, 0x58, 0x58,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
};
+10
View File
@@ -0,0 +1,10 @@
// Copyright 2023 ziptyze
// SPDX-License-Identifier: GPL-2.0-or-later
#pragma once
#include_next <mcuconf.h>
#undef RP_I2C_USE_I2C0
#undef RP_I2C_USE_I2C1
#define RP_I2C_USE_I2C0 FALSE
#define RP_I2C_USE_I2C1 TRUE
+4
View File
@@ -0,0 +1,4 @@
// Copyright 2023 ziptyze (@ziptyze)
// SPDX-License-Identifier: GPL-2.0-or-later
#define RGB_MATRIX_LED_COUNT 59
+141
View File
@@ -0,0 +1,141 @@
{
"rgb_matrix": {
"layout": [
{ "flags": 1, "matrix": [0, 0], "x": 10, "y": 7 },
{ "flags": 4, "matrix": [1, 0], "x": 28, "y": 7 },
{ "flags": 4, "matrix": [0, 1], "x": 46, "y": 7 },
{ "flags": 4, "matrix": [1, 1], "x": 65, "y": 7 },
{ "flags": 4, "matrix": [0, 2], "x": 84, "y": 7 },
{ "flags": 4, "matrix": [1, 2], "x": 102, "y": 7 },
{ "flags": 4, "matrix": [0, 3], "x": 121, "y": 7 },
{ "flags": 4, "matrix": [1, 3], "x": 140, "y": 7 },
{ "flags": 4, "matrix": [0, 4], "x": 159, "y": 7 },
{ "flags": 4, "matrix": [1, 4], "x": 177, "y": 7 },
{ "flags": 4, "matrix": [0, 5], "x": 196, "y": 7 },
{ "flags": 1, "matrix": [1, 5], "x": 215, "y": 7 },
{ "flags": 1, "matrix": [3, 5], "x": 215, "y": 19 },
{ "flags": 4, "matrix": [2, 5], "x": 196, "y": 19 },
{ "flags": 4, "matrix": [3, 4], "x": 177, "y": 19 },
{ "flags": 4, "matrix": [2, 4], "x": 159, "y": 19 },
{ "flags": 4, "matrix": [3, 3], "x": 140, "y": 19 },
{ "flags": 4, "matrix": [2, 3], "x": 121, "y": 19 },
{ "flags": 4, "matrix": [3, 2], "x": 102, "y": 19 },
{ "flags": 4, "matrix": [2, 2], "x": 84, "y": 19 },
{ "flags": 4, "matrix": [3, 1], "x": 65, "y": 19 },
{ "flags": 4, "matrix": [2, 1], "x": 46, "y": 19 },
{ "flags": 4, "matrix": [3, 0], "x": 28, "y": 19 },
{ "flags": 1, "matrix": [2, 0], "x": 9, "y": 19 },
{ "flags": 1, "matrix": [4, 0], "x": 9, "y": 32 },
{ "flags": 4, "matrix": [5, 0], "x": 28, "y": 32 },
{ "flags": 4, "matrix": [4, 1], "x": 46, "y": 32 },
{ "flags": 4, "matrix": [5, 1], "x": 65, "y": 32 },
{ "flags": 4, "matrix": [4, 2], "x": 84, "y": 32 },
{ "flags": 4, "matrix": [5, 2], "x": 102, "y": 32 },
{ "flags": 4, "matrix": [4, 3], "x": 121, "y": 32 },
{ "flags": 4, "matrix": [5, 3], "x": 140, "y": 32 },
{ "flags": 4, "matrix": [4, 4], "x": 159, "y": 32 },
{ "flags": 4, "matrix": [5, 4], "x": 177, "y": 32 },
{ "flags": 4, "matrix": [4, 5], "x": 196, "y": 32 },
{ "flags": 1, "matrix": [5, 5], "x": 215, "y": 32 },
{ "flags": 1, "matrix": [7, 5], "x": 215, "y": 45 },
{ "flags": 4, "matrix": [6, 5], "x": 196, "y": 45 },
{ "flags": 4, "matrix": [7, 4], "x": 177, "y": 45 },
{ "flags": 4, "matrix": [6, 4], "x": 159, "y": 45 },
{ "flags": 4, "matrix": [7, 3], "x": 140, "y": 45 },
{ "flags": 4, "matrix": [6, 3], "x": 121, "y": 45 },
{ "flags": 4, "matrix": [7, 2], "x": 102, "y": 45 },
{ "flags": 4, "matrix": [6, 2], "x": 84, "y": 45 },
{ "flags": 4, "matrix": [7, 1], "x": 65, "y": 45 },
{ "flags": 4, "matrix": [6, 1], "x": 46, "y": 45 },
{ "flags": 4, "matrix": [7, 0], "x": 28, "y": 45 },
{ "flags": 4, "matrix": [6, 0], "x": 9, "y": 45 },
{ "flags": 1, "matrix": [8, 0], "x": 9, "y": 57 },
{ "flags": 1, "matrix": [9, 0], "x": 28, "y": 57 },
{ "flags": 1, "matrix": [8, 1], "x": 46, "y": 57 },
{ "flags": 1, "matrix": [9, 1], "x": 65, "y": 57 },
{ "flags": 1, "matrix": [8, 2], "x": 84, "y": 57 },
{ "flags": 1, "matrix": [9, 2], "x": 112, "y": 57 },
{ "flags": 1, "matrix": [9, 3], "x": 140, "y": 57 },
{ "flags": 1, "matrix": [8, 4], "x": 159, "y": 57 },
{ "flags": 1, "matrix": [9, 4], "x": 177, "y": 57 },
{ "flags": 1, "matrix": [8, 5], "x": 196, "y": 57 },
{ "flags": 1, "matrix": [9, 5], "x": 215, "y": 57 }
]
},
"layouts": {
"LAYOUT_ortho_5x12": {
"layout": [
{ "matrix": [0, 6], "x": 11, "y": 0 },
{ "matrix": [0, 0], "x": 0, "y": 1 },
{ "matrix": [1, 0], "x": 1, "y": 1 },
{ "matrix": [0, 1], "x": 2, "y": 1 },
{ "matrix": [1, 1], "x": 3, "y": 1 },
{ "matrix": [0, 2], "x": 4, "y": 1 },
{ "matrix": [1, 2], "x": 5, "y": 1 },
{ "matrix": [0, 3], "x": 6, "y": 1 },
{ "matrix": [1, 3], "x": 7, "y": 1 },
{ "matrix": [0, 4], "x": 8, "y": 1 },
{ "matrix": [1, 4], "x": 9, "y": 1 },
{ "matrix": [0, 5], "x": 10, "y": 1 },
{ "matrix": [1, 5], "x": 11, "y": 1 },
{ "matrix": [2, 0], "x": 0, "y": 2 },
{ "matrix": [3, 0], "x": 1, "y": 2 },
{ "matrix": [2, 1], "x": 2, "y": 2 },
{ "matrix": [3, 1], "x": 3, "y": 2 },
{ "matrix": [2, 2], "x": 4, "y": 2 },
{ "matrix": [3, 2], "x": 5, "y": 2 },
{ "matrix": [2, 3], "x": 6, "y": 2 },
{ "matrix": [3, 3], "x": 7, "y": 2 },
{ "matrix": [2, 4], "x": 8, "y": 2 },
{ "matrix": [3, 4], "x": 9, "y": 2 },
{ "matrix": [2, 5], "x": 10, "y": 2 },
{ "matrix": [3, 5], "x": 11, "y": 2 },
{ "matrix": [4, 0], "x": 0, "y": 3 },
{ "matrix": [5, 0], "x": 1, "y": 3 },
{ "matrix": [4, 1], "x": 2, "y": 3 },
{ "matrix": [5, 1], "x": 3, "y": 3 },
{ "matrix": [4, 2], "x": 4, "y": 3 },
{ "matrix": [5, 2], "x": 5, "y": 3 },
{ "matrix": [4, 3], "x": 6, "y": 3 },
{ "matrix": [5, 3], "x": 7, "y": 3 },
{ "matrix": [4, 4], "x": 8, "y": 3 },
{ "matrix": [5, 4], "x": 9, "y": 3 },
{ "matrix": [4, 5], "x": 10, "y": 3 },
{ "matrix": [5, 5], "x": 11, "y": 3 },
{ "matrix": [6, 0], "x": 0, "y": 4 },
{ "matrix": [7, 0], "x": 1, "y": 4 },
{ "matrix": [6, 1], "x": 2, "y": 4 },
{ "matrix": [7, 1], "x": 3, "y": 4 },
{ "matrix": [6, 2], "x": 4, "y": 4 },
{ "matrix": [7, 2], "x": 5, "y": 4 },
{ "matrix": [6, 3], "x": 6, "y": 4 },
{ "matrix": [7, 3], "x": 7, "y": 4 },
{ "matrix": [6, 4], "x": 8, "y": 4 },
{ "matrix": [7, 4], "x": 9, "y": 4 },
{ "matrix": [6, 5], "x": 10, "y": 4 },
{ "matrix": [7, 5], "x": 11, "y": 4 },
{ "matrix": [8, 0], "x": 0, "y": 5 },
{ "matrix": [9, 0], "x": 1, "y": 5 },
{ "matrix": [8, 1], "x": 2, "y": 5 },
{ "matrix": [9, 1], "x": 3, "y": 5 },
{ "matrix": [8, 2], "x": 4, "y": 5 },
{ "matrix": [9, 2], "x": 5, "y": 5 },
{ "matrix": [8, 3], "x": 6, "y": 5 },
{ "matrix": [9, 3], "x": 7, "y": 5 },
{ "matrix": [8, 4], "x": 8, "y": 5 },
{ "matrix": [9, 4], "x": 9, "y": 5 },
{ "matrix": [8, 5], "x": 10, "y": 5 },
{ "matrix": [9, 5], "x": 11, "y": 5 }
]
}
}
}
+242
View File
@@ -0,0 +1,242 @@
/* Copyright 2023 ziptyze
*
* 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 "quantum.h"
#include <ctype.h>
#include <stdio.h>
#if defined(RGB_MATRIX_EFFECT)
# undef RGB_MATRIX_EFFECT
#endif // defined(RGB_MATRIX_EFFECT)
#define RGB_MATRIX_EFFECT(x) RGB_MATRIX_EFFECT_##x,
enum {
RGB_MATRIX_EFFECT_NONE,
#include "rgb_matrix_effects.inc"
#undef RGB_MATRIX_EFFECT
#ifdef RGB_MATRIX_CUSTOM_KB
# include "rgb_matrix_kb.inc"
#endif
#ifdef RGB_MATRIX_CUSTOM_USER
# include "rgb_matrix_user.inc"
#endif
};
#define RGB_MATRIX_EFFECT(x) \
case RGB_MATRIX_EFFECT_##x: \
return #x;
const char* rgb_matrix_name(uint8_t effect) {
switch (effect) {
case RGB_MATRIX_EFFECT_NONE:
return "NONE";
#include "rgb_matrix_effects.inc"
#undef RGB_MATRIX_EFFECT
#ifdef RGB_MATRIX_CUSTOM_KB
# include "rgb_matrix_kb.inc"
#endif
#ifdef RGB_MATRIX_CUSTOM_USER
# include "rgb_matrix_user.inc"
#endif
default:
return "UNKNOWN";
}
}
#ifdef OLED_ENABLE
static uint32_t oled_logo_timer = 0;
static bool clear_logo = true;
static const char PROGMEM my_logo[] = {
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 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, 0xf0, 0xf0, 0xf0, 0xff, 0xff, 0xff, 0xff, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f,
0xff, 0xff, 0xff, 0xff, 0x0f, 0x0f, 0x0f, 0x0f, 0xff, 0xff, 0xff, 0xff, 0x0f, 0x0f, 0x0f, 0x0f,
0x0f, 0x0f, 0x0f, 0x1f, 0xff, 0xff, 0xff, 0x1f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f,
0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 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, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0xff, 0xff, 0xff, 0xff, 0xf0, 0xf0, 0xf0, 0xf0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff,
0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 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, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x0f, 0x0f, 0x0f, 0x0f, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x80, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xf0,
0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xff, 0xff, 0xff, 0xff, 0x0f, 0x0f, 0x0f, 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, 0xff, 0xff, 0xff, 0xff, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xfb,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf8, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xff,
0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 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
#ifdef OLED_ENABLE
void init_timer(void){
oled_logo_timer = timer_read32();
};
void user_oled_magic(void) {
// Host Keyboard Layer Status
oled_write_P(PSTR("Layer: "), false);
switch (get_highest_layer(layer_state)) {
case 0:
oled_write_P(PSTR("One\n"), false);
break;
case 1:
oled_write_P(PSTR("Two\n"), false);
break;
case 2:
oled_write_P(PSTR("Three\n"), false);
break;
case 3:
oled_write_P(PSTR("Four\n"), false);
break;
case 4:
oled_write_P(PSTR("Five\n"), false);
break;
case 5:
oled_write_P(PSTR("Six\n"), false);
break;
case 6:
oled_write_P(PSTR("Seven\n"), false);
break;
case 7:
oled_write_P(PSTR("Eight\n"), false);
break;
case 8:
oled_write_P(PSTR("Nine\n"), false);
break;
case 9:
oled_write_P(PSTR("Ten\n"), false);
break;
default:
// Or use the write_ln shortcut over adding '\n' to the end of your string
oled_write_ln_P(PSTR("Undefined"), false);
}
// Host Keyboard LED Status
led_t led_state = host_keyboard_led_state();
oled_write_P(led_state.caps_lock ? PSTR("Cap(x) ") : PSTR("Cap( ) "), false);
oled_write_P(led_state.num_lock ? PSTR("Num(x) ") : PSTR("Num( ) "), false);
oled_write_P(led_state.scroll_lock ? PSTR("Scrl(x)") : PSTR("Scrl( )"), false);
char *mode_name = strdup(rgb_matrix_name(rgb_matrix_get_mode()));
if (mode_name != NULL) {
int len = strlen(mode_name);
bool capitalize_next = true;
for (int i = 0; i < len; i++) {
if (i == 21 && mode_name[i] == '_') {
continue; // Skip the underscore if it's the 22nd character
}
if (mode_name[i] == '_') {
mode_name[i] = ' ';
capitalize_next = true;
} else if (capitalize_next) {
mode_name[i] = mode_name[i] >= 'a' && mode_name[i] <= 'z' ? mode_name[i] - 'a' + 'A' : mode_name[i];
capitalize_next = false;
} else {
mode_name[i] = mode_name[i] >= 'A' && mode_name[i] <= 'Z' ? mode_name[i] - 'A' + 'a' : mode_name[i];
}
}
// Add line break and spaces if necessary
if (len < 19) {
strcat(mode_name, "\n");
for (int i = 0; i < 21; i++) {
strcat(mode_name, " ");
}
} else {
// Find the most recent ' ' before the 21st character and replace it with a line break
int break_pos = -1;
for (int i = 18; i >= 0; i--) {
if (mode_name[i] == ' ') {
break_pos = i;
break;
}
}
if (break_pos >= 0) {
mode_name[break_pos] = '\n';
for (int i = 0; i < (21 - (len - break_pos - 1)); i++) {
strcat(mode_name, " ");
}
} else {
// No '_' found, just add spaces
for (int i = 0; i < (21 - len); i++) {
strcat(mode_name, " ");
}
}
}
oled_write_P(PSTR(mode_name), false);
free(mode_name);
}
}
void render_logo(void) {
oled_write_raw_P(my_logo, sizeof(my_logo));
}
void clear_screen(void) {
if (clear_logo){
for (uint8_t i = 0; i < OLED_DISPLAY_HEIGHT; ++i) {
for (uint8_t j = 0; j < OLED_DISPLAY_WIDTH; ++j) {
oled_write_raw_byte(0x0, i*OLED_DISPLAY_WIDTH + j);
}
}
clear_logo = false;
}
}
oled_rotation_t oled_init_kb(oled_rotation_t rotation) {
return OLED_ROTATION_180;
}
void keyboard_post_init_kb(void) {
init_timer();
keyboard_post_init_user();
}
# define SHOW_LOGO 5000
bool oled_task_kb(void) {
if (!oled_task_user()) { return false; }
if ((timer_elapsed32(oled_logo_timer) < SHOW_LOGO)){
render_logo();
}else{
clear_screen();
user_oled_magic();
}
return false;
}
#endif
+36
View File
@@ -0,0 +1,36 @@
# pi50
The pi40 is a 5x12 ortholinear keyboard with options for a 1u or 2u spacebar using a Raspberry Pi Pico for the controller.
It includes options for a rotary encoder, SSD1306 oled, and per-key in-switch RGB LEDs.
All unused GPIO pins are broken out on the main pcb, as well as the available voltage pins.
This firmware also includes the option for VIA which includes configuration options for the rotary encoder, matrix lighting, and up to 10 layers.
Default oled configuration displays:
- current layer
- caps lock status
- num lock status
- scroll lock status
- current RGB lighting mode
* Keyboard Maintainer: [ziptyze](https://github.com/ziptyze)
* Hardware Availability: (https://1upkeyboards.com/shop/keyboard-kits/diy-40-kits/pi50-keyboard-kit/#pcb-color)
Make example for this keyboard (after setting up your build environment):
make 1upkeyboards/pi50:default
Flashing example for this keyboard:
make 1upkeyboards/pi50: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 2 ways:
* **Bootmagic reset**: Hold down the key at (0,0) in the matrix, the top left key, and plug in the keyboard
* **BOOTSEL button**: Hold down the BOOTSEL button on the pico, and plug in the keyboard
+5
View File
@@ -0,0 +1,5 @@
WS2812_DRIVER = vendor
OLED_ENABLE = yes
DEFAULT_FOLDER = 1upkeyboards/pi50/grid
@@ -0,0 +1,68 @@
{
"manufacturer": "Dennis Kruyt",
"keyboard_name": "phantagom/baragon",
"maintainer": "dkruyt",
"bootloader": "rp2040",
"diode_direction": "COL2ROW",
"features": {
"bootmagic": true,
"command": false,
"console": false,
"extrakey": true,
"mousekey": true,
"nkro": true,
"rgblight": true,
"encoder": true,
},
"rgblight": {
"led_count": 12,
"pin": "GP15",
"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
}
},
"encoder": {
"rotary": [
{ "pin_a": "GP6", "pin_b": "GP7", "resolution": 2 }
]
},
"matrix_pins": {
"rows": [ "GP8", "GP10", "GP9" ],
"cols": [ "GP11", "GP12", "GP13", "GP14" ]
},
"processor": "RP2040",
"url": "https://github.com/dkruyt/mk/tree/main/baragon",
"usb": {
"vid": "0xF8E8",
"pid": "0x0004",
"device_version": "0.0.3"
},
"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": [1, 0], "x": 0, "y": 1},
{"matrix": [1, 1], "x": 1, "y": 1},
{"matrix": [1, 2], "x": 2, "y": 1},
{"matrix": [2, 0], "x": 0, "y": 2},
{"matrix": [2, 1], "x": 1, "y": 2},
{"matrix": [2, 2], "x": 2, "y": 2}
]
}
}
}
@@ -0,0 +1,25 @@
// Copyright 2023 <dennis@kruyt.org>
// SPDX-License-Identifier: GPL-2.0-or-later
#include QMK_KEYBOARD_H
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
[0] = LAYOUT( /* Base */
KC_P1, KC_P2, KC_P3, KC_P4,
KC_P5, KC_P6, KC_P7,
KC_P8, MO(1), KC_P9
),
[1] = LAYOUT(
RGB_TOG , RGB_MOD , RGB_HUI, _______,
_______, _______, _______,
_______, _______, _______
),
};
#if defined(ENCODER_MAP_ENABLE)
const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][2] = {
[0] = { ENCODER_CCW_CW(KC_VOLU, KC_VOLD) },
[1] = { ENCODER_CCW_CW(KC_MRWD, KC_MFFD) },
};
#endif
@@ -0,0 +1 @@
ENCODER_MAP_ENABLE = yes
@@ -0,0 +1,25 @@
// Copyright 2023 <dennis@kruyt.org>
// SPDX-License-Identifier: GPL-2.0-or-later
#include QMK_KEYBOARD_H
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
[0] = LAYOUT( /* Base */
KC_P1, KC_P2, KC_P3, KC_P4,
KC_P5, KC_P6, KC_P7,
KC_P8, MO(1), KC_P9
),
[1] = LAYOUT(
RGB_TOG , RGB_MOD , RGB_HUI, _______,
_______, _______, _______,
_______, _______, _______
),
};
#if defined(ENCODER_MAP_ENABLE)
const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][2] = {
[0] = { ENCODER_CCW_CW(KC_VOLD, KC_VOLU) },
[1] = { ENCODER_CCW_CW(KC_MRWD, KC_MFFD) },
};
#endif
@@ -0,0 +1,2 @@
VIA_ENABLE = yes
ENCODER_MAP_ENABLE = yes
@@ -0,0 +1,29 @@
# phantagom/baragon
[Baragon](https://en.wikipedia.org/wiki/Baragon) is a fictional monster, or kaiju, which first appeared in Ishirō Honda's 1965 film Frankenstein vs. Baragon.
![phantagom/baragon](https://i.imgur.com/17RkGUPh.jpeg)
A macro pad, 3x3 with rgb ring and rotary encoder, via compatible. Keys can be rotated, so macropad is usable at different angles.
* Keyboard Maintainer: [Dennis Kruyt](https://github.com/dkruyt)
* Project page: [baragon](https://github.com/dkruyt/mk/tree/main/baragon)
* Hardware Supported: *RP2040-Zero*
Make example for this keyboard (after setting up your build environment):
make phantagom/baragon:default
Flashing example for this keyboard:
Copy the uf2 file to the rp2040
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 mode 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 top of the PCB
* **Keycode in layout**: Press the key mapped to `QK_BOOT` if it is available
@@ -0,0 +1,2 @@
# Needed for RP2040
WS2812_DRIVER = vendor
@@ -0,0 +1,71 @@
{
"manufacturer": "Dennis Kruyt",
"keyboard_name": "phantagom/varan",
"maintainer": "dkruyt",
"bootloader": "rp2040",
"diode_direction": "COL2ROW",
"features": {
"bootmagic": true,
"command": false,
"console": false,
"extrakey": true,
"mousekey": true,
"nkro": true,
"rgblight": true
},
"rgblight": {
"led_count": 23,
"pin": "GP28",
"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
}
},
"matrix_pins": {
"cols": ["GP17", "GP16", "GP15", "GP14"],
"rows": ["GP23", "GP22", "GP21", "GP20", "GP19", "GP18"]
},
"processor": "RP2040",
"url": "https://github.com/dkruyt/mk/tree/main/varan",
"usb": {
"vid": "0xF8E8",
"pid": "0x0002",
"device_version": "0.0.3"
},
"community_layouts": ["numpad_6x4"],
"layouts": {
"LAYOUT_numpad_6x4": {
"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": [1, 0], "x": 0, "y": 1 },
{ "matrix": [1, 1], "x": 1, "y": 1 },
{ "matrix": [1, 2], "x": 2, "y": 1 },
{ "matrix": [1, 3], "x": 3, "y": 1 },
{ "matrix": [2, 0], "x": 0, "y": 2 },
{ "matrix": [2, 1], "x": 1, "y": 2 },
{ "matrix": [2, 2], "x": 2, "y": 2 },
{ "matrix": [3, 0], "x": 0, "y": 3 },
{ "matrix": [3, 1], "x": 1, "y": 3 },
{ "matrix": [3, 2], "x": 2, "y": 3 },
{ "h": 2, "matrix": [2, 3], "x": 3, "y": 2 },
{ "matrix": [4, 0], "x": 0, "y": 4 },
{ "matrix": [4, 1], "x": 1, "y": 4 },
{ "matrix": [4, 2], "x": 2, "y": 4 },
{ "matrix": [5, 0], "w": 2, "x": 0, "y": 5 },
{ "matrix": [5, 2], "x": 2, "y": 5 },
{ "h": 2, "matrix": [4, 3], "x": 3, "y": 4 }
]
}
}
}
@@ -0,0 +1,54 @@
// Copyright 2023 QMK
// SPDX-License-Identifier: GPL-2.0-or-later
#include QMK_KEYBOARD_H
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
/*
* ┌───┬───┬───┬───┐
* │Esc│Tab│MO1│Bsp│
* ├───┼───┼───┼───┤
* │Num│ / │ * │ - │
* ├───┼───┼───┼───┤
* │ 7 │ 8 │ 9 │ │
* ├───┼───┼───┤ + │
* │ 4 │ 5 │ 6 │ │
* ├───┼───┼───┼───┤
* │ 1 │ 2 │ 3 │ │
* ├───┴───┼───┤Ent│
* │ 0 │ . │ │
* └───────┴───┴───┘
*/
[0] = LAYOUT_numpad_6x4(
KC_ESC, KC_TAB, MO(1), KC_BSPC,
KC_NUM, KC_PSLS, KC_PAST, KC_PMNS,
KC_P7, KC_P8, KC_P9,
KC_P4, KC_P5, KC_P6, KC_PPLS,
KC_P1, KC_P2, KC_P3,
KC_P0, KC_PDOT, KC_PENT
),
/*
* ┌───┐───┬───┬───┐
* │Rst│Tab│MO1│Bsp│
* ├───┼───┼───┼───┤
* │RGB│RGB│RGB│ - │
* ├───┼───┼───┼───┤
* │Hom│ ↑ │PgU│ │
* ├───┼───┼───┤ + │
* │ ← │ │ → │ │
* ├───┼───┼───┤───┤
* │End│ ↓ │PgD│ │
* ├───┴───┼───┤Ent│
* │Insert │Del│ │
* └───────┴───┘───┘
*/
[1] = LAYOUT_numpad_6x4(
QK_BOOT, _______, _______, _______,
RGB_TOG, RGB_MOD, RGB_HUI, _______,
KC_HOME, KC_UP, KC_PGUP,
KC_LEFT, XXXXXXX, KC_RGHT, _______,
KC_END, KC_DOWN, KC_PGDN,
KC_INS, KC_DEL, _______
)
};
@@ -0,0 +1,54 @@
// Copyright 2023 QMK
// SPDX-License-Identifier: GPL-2.0-or-later
#include QMK_KEYBOARD_H
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
/*
* ┌───┬───┬───┬───┐
* │Esc│Tab│MO1│Bsp│
* ├───┼───┼───┼───┤
* │Num│ / │ * │ - │
* ├───┼───┼───┼───┤
* │ 7 │ 8 │ 9 │ │
* ├───┼───┼───┤ + │
* │ 4 │ 5 │ 6 │ │
* ├───┼───┼───┼───┤
* │ 1 │ 2 │ 3 │ │
* ├───┴───┼───┤Ent│
* │ 0 │ . │ │
* └───────┴───┴───┘
*/
[0] = LAYOUT_numpad_6x4(
KC_ESC, KC_TAB, MO(1), KC_BSPC,
KC_NUM, KC_PSLS, KC_PAST, KC_PMNS,
KC_P7, KC_P8, KC_P9,
KC_P4, KC_P5, KC_P6, KC_PPLS,
KC_P1, KC_P2, KC_P3,
KC_P0, KC_PDOT, KC_PENT
),
/*
* ┌───┐───┬───┬───┐
* │Rst│Tab│MO1│Bsp│
* ├───┼───┼───┼───┤
* │RGB│RGB│RGB│ - │
* ├───┼───┼───┼───┤
* │Hom│ ↑ │PgU│ │
* ├───┼───┼───┤ + │
* │ ← │ │ → │ │
* ├───┼───┼───┤───┤
* │End│ ↓ │PgD│ │
* ├───┴───┼───┤Ent│
* │Insert │Del│ │
* └───────┴───┘───┘
*/
[1] = LAYOUT_numpad_6x4(
QK_BOOT, _______, _______, _______,
RGB_TOG, RGB_MOD, RGB_HUI, _______,
KC_HOME, KC_UP, KC_PGUP,
KC_LEFT, XXXXXXX, KC_RGHT, _______,
KC_END, KC_DOWN, KC_PGDN,
KC_INS, KC_DEL, _______
)
};
@@ -0,0 +1 @@
VIA_ENABLE = yes
@@ -0,0 +1,30 @@
# phantagom/varan
[Varan](https://en.wikipedia.org/wiki/Varan) is a fictional monster, or kaiju, which first appeared in the 1958 film Varan the Unbelievable
![phantagom/varan](https://i.imgur.com/EuGAMyeh.jpeg)
![phantagom/varan](https://i.imgur.com/zO2ju9Ah.jpeg)
A numpad with RGB strip based on a RP2040 controller.
* Keyboard Maintainer: [Dennis Kruyt](https://github.com/dkruyt)
* Project page: [varan](https://github.com/dkruyt/mk/tree/main/varan)
* Hardware Supported: *RP2040-Zero*
Make example for this keyboard (after setting up your build environment):
make phantagom/varan:default
Flashing example for this keyboard:
make phantagom/varan: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
@@ -0,0 +1,2 @@
# Needed for RP2040
WS2812_DRIVER = vendor
-5
View File
@@ -3,11 +3,6 @@
#pragma once
// Equivalent to zmk behavior-hold-tap tap-preferred flavor
// Do not force the mod-tap key press to be handled as a modifier
// if any other key was pressed while the mod-tap key is held down.
#define IGNORE_MOD_TAP_INTERRUPT_PER_KEY
// Equivalent to zmk behavior-hold-tap hold-preferred flavor
#define HOLD_ON_OTHER_KEY_PRESS_PER_KEY
+1 -1
View File
@@ -10,7 +10,7 @@ enum {
};
// Tap Dance definitions
qk_tap_dance_action_t tap_dance_actions[] = {
tap_dance_action_t tap_dance_actions[] = {
// Tap once for F1, twice for F11
[TD_F1_F11] = ACTION_TAP_DANCE_DOUBLE(KC_F1, KC_F11),
[TD_F2_F12] = ACTION_TAP_DANCE_DOUBLE(KC_F2, KC_F12),
+1 -1
View File
@@ -22,6 +22,6 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
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_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_RSFT,
KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_LALT, KC_APP, KC_RGUI, KC_LCTL
KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, KC_APP, KC_RGUI, KC_RCTL
),
};
+1 -1
View File
@@ -22,7 +22,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
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_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_RSFT,
KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_LALT, KC_APP, KC_RGUI, KC_LCTL
KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, KC_APP, KC_RGUI, KC_RCTL
),
[1] = LAYOUT(
+2 -3
View File
@@ -17,10 +17,9 @@
#pragma once
/* The way how "handedness" is decided (which half is which),
/* By default left side is selected as master,
see https://docs.qmk.fm/#/feature_split_keyboard?id=setting-handedness
for more options.
*/
for more options. */
#if defined(KEYBOARD_sofle_rev1)
// Add RGB underglow and top facing lighting
-39
View File
@@ -1,39 +0,0 @@
/* Copyright 2020 Josef Adamcik
* Modification for VIA support and RGB underglow by Jens Bonk-Wiltfang
*
* 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/>.
*/
//Setting up what encoder rotation does. If your encoder can be pressed as a button, that function can be set in Via.
#ifdef ENCODER_ENABLE
bool encoder_update_user(uint8_t index, bool clockwise) {
if (index == 0) {
if (clockwise) {
tap_code(KC_VOLU);
} else {
tap_code(KC_VOLD);
}
} else if (index == 1) {
if (clockwise) {
tap_code(KC_PGDN);
} else {
tap_code(KC_PGUP);
}
}
return true;
}
#endif
+8 -2
View File
@@ -17,9 +17,15 @@
#include QMK_KEYBOARD_H
#include "oled.c"
#include "encoder.c"
//Default keymap. This can be changed in Via. Use oled.c and encoder.c to change beavior that Via cannot change.
#ifdef ENCODER_MAP_ENABLE
const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][2] = {
[0] = { ENCODER_CCW_CW(KC_VOLD, KC_VOLU), ENCODER_CCW_CW(KC_PGDN, KC_PGUP) },
[1] = { ENCODER_CCW_CW(_______, _______), ENCODER_CCW_CW(_______, _______) },
[2] = { ENCODER_CCW_CW(RGB_HUD, RGB_HUI), ENCODER_CCW_CW(RGB_SAD, RGB_SAI) },
[3] = { ENCODER_CCW_CW(RGB_VAD, RGB_VAI), ENCODER_CCW_CW(RGB_RMOD, RGB_MOD)}
};
#endif
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
/*
+1
View File
@@ -6,3 +6,4 @@ EXTRAKEY_ENABLE = yes
VIA_ENABLE = yes
LTO_ENABLE = yes
RGBLIGHT_ENABLE = yes
ENCODER_MAP_ENABLE = yes
+2 -2
View File
@@ -233,7 +233,7 @@ static inline bool qp_drawtext_prepare_glyph_for_render(qff_font_handle_t *qff_f
uint8_t glyph_width = (uint8_t)(glyph_info.value & QFF_GLYPH_WIDTH_MASK);
uint32_t glyph_offset = ((glyph_info.value & QFF_GLYPH_OFFSET_MASK) >> QFF_GLYPH_WIDTH_BITS);
uint32_t data_offset = sizeof(qff_font_descriptor_v1_t) // Skip the font descriptor
+ sizeof(qff_ascii_glyph_table_v1_t) // Skip the ascii table
+ (qff_font->has_ascii_table ? sizeof(qff_ascii_glyph_table_v1_t) : 0) // Skip the ascii table
+ (qff_font->num_unicode_glyphs > 0 ? (sizeof(qff_unicode_glyph_table_v1_t) + (qff_font->num_unicode_glyphs * sizeof(qff_unicode_glyph_v1_t))) : 0) // Skip the unicode table
+ (qff_font->has_palette ? (sizeof(qgf_palette_v1_t) + ((1 << qff_font->bpp) * sizeof(qgf_palette_entry_v1_t))) : 0) // Skip the palette
+ sizeof(qgf_block_header_v1_t) // Skip the data block header
@@ -268,7 +268,7 @@ static inline bool qp_drawtext_prepare_glyph_for_render(qff_font_handle_t *qff_f
uint8_t glyph_width = (uint8_t)(glyph_info.value & QFF_GLYPH_WIDTH_MASK);
uint32_t glyph_offset = ((glyph_info.value & QFF_GLYPH_OFFSET_MASK) >> QFF_GLYPH_WIDTH_BITS);
uint32_t data_offset = sizeof(qff_font_descriptor_v1_t) // Skip the font descriptor
+ sizeof(qff_ascii_glyph_table_v1_t) // Skip the ascii table
+ (qff_font->has_ascii_table ? sizeof(qff_ascii_glyph_table_v1_t) : 0) // Skip the ascii table
+ (qff_font->num_unicode_glyphs > 0 ? (sizeof(qff_unicode_glyph_table_v1_t) + (qff_font->num_unicode_glyphs * sizeof(qff_unicode_glyph_v1_t))) : 0) // Skip the unicode table
+ (qff_font->has_palette ? (sizeof(qgf_palette_v1_t) + ((1 << qff_font->bpp) * sizeof(qgf_palette_entry_v1_t))) : 0) // Skip the palette
+ sizeof(qgf_block_header_v1_t) // Skip the data block header