mirror of
https://github.com/qmk/qmk_firmware.git
synced 2025-07-16 04:41:28 +00:00
Refacto from reviews
This commit is contained in:
parent
b1bf7d7ef3
commit
8e7fb4eb92
@ -1,60 +0,0 @@
|
|||||||
/* Copyright 2023 Ciaanh (@ciaanh)
|
|
||||||
*
|
|
||||||
* 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"
|
|
||||||
|
|
||||||
#define NA NO_LED
|
|
||||||
|
|
||||||
#ifdef RGB_MATRIX_ENABLE
|
|
||||||
|
|
||||||
led_config_t g_led_config = {
|
|
||||||
{
|
|
||||||
// Key Matrix to LED Index
|
|
||||||
{ 12, 11, 10, 9, 8, 7, 6, 5, 4, 3, 2, 1, 0, NA },
|
|
||||||
{ 26, 25, 24, 23, 22, 21, 20, 19, 18, 17, 16, 15, 14, 13 },
|
|
||||||
{ 40, 39, 38, 37, 36, 35, 34, 33, 32, 31, 30, 29, 28, 27 },
|
|
||||||
{ 53, 52, 51, 50, 49, 48, 47, 46, 45, 44, 43, 42, 41, 66 },
|
|
||||||
{ 65, NA, 64, 63, 62, 61, 60, 59, 58, 57, 56, 55, 54, 67 },
|
|
||||||
{ 81, 80, 79, 78, 77, 76, 75, 74, 73, 72, 71, 70, 69, 68 }
|
|
||||||
},
|
|
||||||
|
|
||||||
{
|
|
||||||
// LED Index to Physical Position
|
|
||||||
{189, 0}, {175, 0}, {161, 0}, {147, 0}, {126, 0}, {112, 0}, { 98, 0}, { 84, 0}, { 63, 0}, { 49, 0}, { 35, 0}, { 21, 0}, { 0, 0},
|
|
||||||
{189, 12}, {168, 12}, {154, 12}, {140, 12}, {126, 12}, {112, 12}, { 98, 12}, { 84, 12}, { 70, 12}, { 56, 12}, { 42, 12}, { 28, 12}, { 14, 12}, { 0, 12},
|
|
||||||
{189, 23}, {179, 23}, {161, 23}, {147, 23}, {133, 23}, {119, 23}, {105, 23}, { 91, 23}, { 77, 23}, { 63, 23}, { 49, 23}, { 35, 23}, { 21, 23}, { 4, 23},
|
|
||||||
{187, 35}, {165, 35}, {151, 35}, {137, 35}, {123, 35}, {109, 35}, { 95, 35}, { 81, 35}, { 67, 35}, { 53, 35}, { 39, 35}, { 25, 35}, { 5, 35},
|
|
||||||
{177, 47}, {158, 47}, {144, 47}, {130, 47}, {116, 47}, {102, 47}, { 88, 47}, { 74, 47}, { 60, 47}, { 46, 47}, { 32, 47}, { 9, 47},
|
|
||||||
{224, 12},
|
|
||||||
{224, 23},
|
|
||||||
{224, 35},
|
|
||||||
{214, 61},
|
|
||||||
{200, 49}, {200, 61}, {186, 61}, {168, 58}, {154, 58}, {140, 58}, {114, 64}, { 82, 64}, { 70, 58}, { 32, 58}, { 16, 58}, { 0, 58},
|
|
||||||
|
|
||||||
},
|
|
||||||
|
|
||||||
{
|
|
||||||
// LED Index to Flag
|
|
||||||
4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4,
|
|
||||||
4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4,
|
|
||||||
4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 1,
|
|
||||||
4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 1,
|
|
||||||
4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 1,
|
|
||||||
4,
|
|
||||||
4,
|
|
||||||
4, 4,
|
|
||||||
4, 4, 4, 1, 1, 1, 4, 4, 1, 1, 1, 1,
|
|
||||||
}};
|
|
||||||
#endif
|
|
@ -8,18 +8,39 @@
|
|||||||
"pid": "0x0010",
|
"pid": "0x0010",
|
||||||
"device_version": "2.1.0"
|
"device_version": "2.1.0"
|
||||||
},
|
},
|
||||||
|
"processor": "RP2040",
|
||||||
|
"bootloader": "rp2040",
|
||||||
|
"diode_direction": "COL2ROW",
|
||||||
|
"matrix_size": {
|
||||||
|
"cols": 14,
|
||||||
|
"rows": 6
|
||||||
|
},
|
||||||
|
"matrix_pins": {
|
||||||
|
"rows": ["GP28", "GP27", "GP26", "GP22", "GP21", "GP20"],
|
||||||
|
"cols": ["GP5", "GP6", "GP7", "GP8", "GP9", "GP10", "GP11", "GP12", "GP13", "GP14", "GP15", "GP16", "GP17", "GP18"]
|
||||||
|
},
|
||||||
|
"features": {
|
||||||
|
"audio": false,
|
||||||
|
"backlight": false,
|
||||||
|
"bootmagic": true,
|
||||||
|
"command": false,
|
||||||
|
"console": false,
|
||||||
|
"extrakey": true,
|
||||||
|
"mousekey": false,
|
||||||
|
"nkro": false,
|
||||||
|
"rgb_matrix": true,
|
||||||
|
"rgblight": false
|
||||||
|
},
|
||||||
"encoder": {
|
"encoder": {
|
||||||
"rotary": [
|
"rotary": [
|
||||||
{"pin_a": "GP2", "pin_b": "GP3"}
|
{"pin_a": "GP2", "pin_b": "GP3"}
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
"diode_direction": "COL2ROW",
|
"bootmagic": {
|
||||||
"matrix_pins": {
|
"enabled": true,
|
||||||
"rows": ["GP28", "GP27", "GP26", "GP22", "GP21", "GP20"],
|
"matrix": [0, 13]
|
||||||
"cols": ["GP5", "GP6", "GP7", "GP8", "GP9", "GP10", "GP11", "GP12", "GP13", "GP14", "GP15", "GP16", "GP17", "GP18"]
|
|
||||||
},
|
},
|
||||||
"processor": "RP2040",
|
|
||||||
"bootloader": "rp2040",
|
|
||||||
|
|
||||||
"layouts": {
|
"layouts": {
|
||||||
"LAYOUT": {
|
"LAYOUT": {
|
||||||
@ -119,5 +140,100 @@
|
|||||||
{ "label": "Right", "matrix": [5, 11], "x": 15.25, "y": 5.25 }
|
{ "label": "Right", "matrix": [5, 11], "x": 15.25, "y": 5.25 }
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
|
},
|
||||||
|
|
||||||
|
"rgb_matrix": {
|
||||||
|
"driver": "WS2812",
|
||||||
|
"center_point": [ 90, 28],
|
||||||
|
"layout": [
|
||||||
|
{ "flags": 4,"matrix": [0,12],"x": 189, "y": 0 },
|
||||||
|
{ "flags": 4,"matrix": [0,11],"x": 175, "y": 0 },
|
||||||
|
{ "flags": 4,"matrix": [0,10],"x": 161, "y": 0 },
|
||||||
|
{ "flags": 4,"matrix": [0, 9],"x": 147, "y": 0 },
|
||||||
|
{ "flags": 4,"matrix": [0, 8],"x": 126, "y": 0 },
|
||||||
|
{ "flags": 4,"matrix": [0, 7],"x": 112, "y": 0 },
|
||||||
|
{ "flags": 4,"matrix": [0, 6],"x": 98, "y": 0 },
|
||||||
|
{ "flags": 4,"matrix": [0, 5],"x": 84, "y": 0 },
|
||||||
|
{ "flags": 4,"matrix": [0, 4],"x": 63, "y": 0 },
|
||||||
|
{ "flags": 4,"matrix": [0, 3],"x": 49, "y": 0 },
|
||||||
|
{ "flags": 4,"matrix": [0, 2],"x": 35, "y": 0 },
|
||||||
|
{ "flags": 4,"matrix": [0, 1],"x": 21, "y": 0 },
|
||||||
|
{ "flags": 4,"matrix": [0, 0],"x": 0, "y": 0 },
|
||||||
|
|
||||||
|
{ "flags": 1,"matrix": [1,13],"x": 189, "y": 12 },
|
||||||
|
{ "flags": 4,"matrix": [1,12],"x": 168, "y": 12 },
|
||||||
|
{ "flags": 4,"matrix": [1,11],"x": 154, "y": 12 },
|
||||||
|
{ "flags": 4,"matrix": [1,10],"x": 140, "y": 12 },
|
||||||
|
{ "flags": 4,"matrix": [1, 9],"x": 126, "y": 12 },
|
||||||
|
{ "flags": 4,"matrix": [1, 8],"x": 112, "y": 12 },
|
||||||
|
{ "flags": 4,"matrix": [1, 7],"x": 98, "y": 12 },
|
||||||
|
{ "flags": 4,"matrix": [1, 6],"x": 84, "y": 12 },
|
||||||
|
{ "flags": 4,"matrix": [1, 5],"x": 70, "y": 12 },
|
||||||
|
{ "flags": 4,"matrix": [1, 4],"x": 56, "y": 12 },
|
||||||
|
{ "flags": 4,"matrix": [1, 3],"x": 42, "y": 12 },
|
||||||
|
{ "flags": 4,"matrix": [1, 2],"x": 28, "y": 12 },
|
||||||
|
{ "flags": 4,"matrix": [1, 1],"x": 14, "y": 12 },
|
||||||
|
{ "flags": 4,"matrix": [1, 0],"x": 0, "y": 12 },
|
||||||
|
|
||||||
|
{ "flags": 1,"matrix": [2,13],"x": 189, "y": 23 },
|
||||||
|
{ "flags": 4,"matrix": [2,12],"x": 179, "y": 23 },
|
||||||
|
{ "flags": 4,"matrix": [2,11],"x": 161, "y": 23 },
|
||||||
|
{ "flags": 4,"matrix": [2,10],"x": 147, "y": 23 },
|
||||||
|
{ "flags": 4,"matrix": [2, 9],"x": 133, "y": 23 },
|
||||||
|
{ "flags": 4,"matrix": [2, 8],"x": 119, "y": 23 },
|
||||||
|
{ "flags": 4,"matrix": [2, 7],"x": 105, "y": 23 },
|
||||||
|
{ "flags": 4,"matrix": [2, 6],"x": 91, "y": 23 },
|
||||||
|
{ "flags": 4,"matrix": [2, 5],"x": 77, "y": 23 },
|
||||||
|
{ "flags": 4,"matrix": [2, 4],"x": 63, "y": 23 },
|
||||||
|
{ "flags": 4,"matrix": [2, 3],"x": 49, "y": 23 },
|
||||||
|
{ "flags": 4,"matrix": [2, 2],"x": 35, "y": 23 },
|
||||||
|
{ "flags": 4,"matrix": [2, 1],"x": 21, "y": 23 },
|
||||||
|
{ "flags": 1,"matrix": [2, 0],"x": 4, "y": 23 },
|
||||||
|
|
||||||
|
{ "flags": 1,"matrix": [3,12],"x": 187, "y": 35 },
|
||||||
|
{ "flags": 4,"matrix": [3,11],"x": 165, "y": 35 },
|
||||||
|
{ "flags": 4,"matrix": [3,10],"x": 151, "y": 35 },
|
||||||
|
{ "flags": 4,"matrix": [3, 9],"x": 137, "y": 35 },
|
||||||
|
{ "flags": 4,"matrix": [3, 8],"x": 123, "y": 35 },
|
||||||
|
{ "flags": 4,"matrix": [3, 7],"x": 109, "y": 35 },
|
||||||
|
{ "flags": 4,"matrix": [3, 6],"x": 95, "y": 35 },
|
||||||
|
{ "flags": 4,"matrix": [3, 5],"x": 81, "y": 35 },
|
||||||
|
{ "flags": 4,"matrix": [3, 4],"x": 67, "y": 35 },
|
||||||
|
{ "flags": 4,"matrix": [3, 3],"x": 53, "y": 35 },
|
||||||
|
{ "flags": 4,"matrix": [3, 2],"x": 39, "y": 35 },
|
||||||
|
{ "flags": 4,"matrix": [3, 1],"x": 25, "y": 35 },
|
||||||
|
{ "flags": 1,"matrix": [3, 0],"x": 5, "y": 35 },
|
||||||
|
|
||||||
|
{ "flags": 1,"matrix": [4,12],"x": 177, "y": 47 },
|
||||||
|
{ "flags": 4,"matrix": [4,11],"x": 158, "y": 47 },
|
||||||
|
{ "flags": 4,"matrix": [4,10],"x": 144, "y": 47 },
|
||||||
|
{ "flags": 4,"matrix": [4, 9],"x": 130, "y": 47 },
|
||||||
|
{ "flags": 4,"matrix": [4, 8],"x": 116, "y": 47 },
|
||||||
|
{ "flags": 4,"matrix": [4, 7],"x": 102, "y": 47 },
|
||||||
|
{ "flags": 4,"matrix": [4, 6],"x": 88, "y": 47 },
|
||||||
|
{ "flags": 4,"matrix": [4, 5],"x": 74, "y": 47 },
|
||||||
|
{ "flags": 4,"matrix": [4, 4],"x": 60, "y": 47 },
|
||||||
|
{ "flags": 4,"matrix": [4, 3],"x": 46, "y": 47 },
|
||||||
|
{ "flags": 4,"matrix": [4, 2],"x": 32, "y": 47 },
|
||||||
|
{ "flags": 1,"matrix": [4, 0],"x": 9, "y": 47 },
|
||||||
|
|
||||||
|
{ "flags": 1,"matrix": [3,13],"x": 224, "y": 12 },
|
||||||
|
{ "flags": 4,"matrix": [4,13],"x": 224, "y": 23 },
|
||||||
|
{ "flags": 4,"matrix": [5,13],"x": 224, "y": 35 },
|
||||||
|
|
||||||
|
{ "flags": 4,"matrix": [5,11],"x": 214, "y": 61 },
|
||||||
|
{ "flags": 4,"matrix": [5,12],"x": 200, "y": 49 },
|
||||||
|
{ "flags": 4,"matrix": [5,10],"x": 200, "y": 61 },
|
||||||
|
{ "flags": 4,"matrix": [5, 9],"x": 186, "y": 61 },
|
||||||
|
{ "flags": 1,"matrix": [5, 8],"x": 168, "y": 58 },
|
||||||
|
{ "flags": 1,"matrix": [5, 7],"x": 154, "y": 58 },
|
||||||
|
{ "flags": 1,"matrix": [5, 6],"x": 140, "y": 58 },
|
||||||
|
{ "flags": 4,"matrix": [5, 5],"x": 114, "y": 64 },
|
||||||
|
{ "flags": 4,"matrix": [5, 4],"x": 82, "y": 64 },
|
||||||
|
{ "flags": 1,"matrix": [5, 3],"x": 70, "y": 58 },
|
||||||
|
{ "flags": 1,"matrix": [5, 2],"x": 32, "y": 58 },
|
||||||
|
{ "flags": 1,"matrix": [5, 1],"x": 16, "y": 58 },
|
||||||
|
{ "flags": 1,"matrix": [5, 0],"x": 0, "y": 58 }
|
||||||
|
]
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
165
keyboards/ciaanh/kanagawa/ansi/keymaps/ciaanh/keymap.c
Normal file
165
keyboards/ciaanh/kanagawa/ansi/keymaps/ciaanh/keymap.c
Normal file
@ -0,0 +1,165 @@
|
|||||||
|
/* Copyright 2023 Ciaanh (@ciaanh)
|
||||||
|
*
|
||||||
|
* 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
|
||||||
|
|
||||||
|
#define ___ KC_NO
|
||||||
|
|
||||||
|
enum layers
|
||||||
|
{
|
||||||
|
_BASE,
|
||||||
|
_LOWER,
|
||||||
|
_RAISE,
|
||||||
|
_ADJUST
|
||||||
|
};
|
||||||
|
|
||||||
|
enum custom_keycodes
|
||||||
|
{
|
||||||
|
CUSTOMKEY = SAFE_RANGE,
|
||||||
|
};
|
||||||
|
|
||||||
|
#define TO_BASE TO(_BASE)
|
||||||
|
#define TG_LOW TG(_LOWER)
|
||||||
|
#define TG_UP TG(_RAISE)
|
||||||
|
|
||||||
|
#define _SCRNSHOT LSFT(LGUI(KC_S))
|
||||||
|
|
||||||
|
/* Keyboard layout
|
||||||
|
* ,---------. ,---------------------------------------. ,---------------------------------------. ,---------------------------------------. ,---------.
|
||||||
|
* | ka0 | | ka1 | ka2 | ka3 | ka4 | | ka5 | ka6 | ka7 | ka8 | | ka9 | ka10 | ka11 | ka12 | | sw99 |
|
||||||
|
* `---------' `---------+---------+---------+---------' `---------+---------+---------+---------' `---------+---------+---------+---------' `---------'
|
||||||
|
* ,-------------------------------------------------------------------------------------------------------------------------------------------. ,---------.
|
||||||
|
* | kb0 | kb1 | kb2 | kb3 | kb4 | kb5 | kb6 | kb7 | kb8 | kb9 | kb10 | kb11 | kb12 | kb13 | | kd13 |
|
||||||
|
* |---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------| |---------|
|
||||||
|
* | kc0 | kc1 | kc2 | kc3 | kc4 | kc5 | kc6 | kc7 | kc8 | kc9 | kc10 | kc11 | kc12 | kc13 | | ke13 |
|
||||||
|
* |---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------' |---------|
|
||||||
|
* | kd0 | kd1 | kd2 | kd3 | kd4 | kd5 | kd6 | kd7 | kd8 | kd9 | kd10 | kd11 | kd12 | | kf13 |
|
||||||
|
* |---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------'---------' `---------'
|
||||||
|
* | ke0 | --- | ke2 | ke3 | ke4 | ke5 | ke6 | ke7 | ke8 | ke9 | ke10 | ke11 | ke12 | ,---------.
|
||||||
|
* |---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------' | kf12 |
|
||||||
|
* | kf0 | kf1 | kf2 | kf3 | ,---------. ,---------. | kf6 | kf7 | kf8 | ,---------|---------|---------.
|
||||||
|
* `---------+---------+---------+---------+ | kf4 | | kf5 | +---------+---------+---------' | kf9 | kf10 | kf11 |
|
||||||
|
* `---------' `---------' `---------+---------+---------'
|
||||||
|
*/
|
||||||
|
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||||
|
|
||||||
|
/* Keymap: BASE
|
||||||
|
* ,---------. ,---------------------------------------. ,---------------------------------------. ,---------------------------------------. ,---------.
|
||||||
|
* | ESC | | F1 | F2 | F3 | F4 | | F5 | F6 | F7 | F8 | | F9 | F10 | F11 | F12 | | ENCODER |
|
||||||
|
* `---------' `---------+---------+---------+---------' `---------+---------+---------+---------' `---------+---------+---------+---------' `---------'
|
||||||
|
* ,-------------------------------------------------------------------------------------------------------------------------------------------. ,---------.
|
||||||
|
* | ` | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 0 | - | = |Backspace| | Delete |
|
||||||
|
* |---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------| |---------|
|
||||||
|
* | Tab | Q | W | E | R | T | Y | U | I | O | P | [ | ] | \ | | HOME |
|
||||||
|
* |---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------' |---------|
|
||||||
|
* | CapsL | A | S | D | F | G | H | J | K | L | ; | ' | ENTER | | END |
|
||||||
|
* |---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------'---------' `---------'
|
||||||
|
* | LShift | --- | Z | X | C | V | B | N | M | , | . | / | RShift | ,---------.
|
||||||
|
* |---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------' | UP |
|
||||||
|
* | LCtrl | LGUI | LAlt | TG_LOW | ,---------. ,---------. | RAlt | TG_UP | RCtrl | ,---------|---------|---------.
|
||||||
|
* |---------+---------+---------+---------+ | Space | | Space | +---------+---------+---------' | LEFT | DOWN | RIGHT |
|
||||||
|
* `---------' `---------' `---------+---------+---------'
|
||||||
|
*/
|
||||||
|
[_BASE] = LAYOUT(
|
||||||
|
KC_ESC, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_MPLY, \
|
||||||
|
|
||||||
|
KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_DEL, \
|
||||||
|
KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, KC_HOME, \
|
||||||
|
KC_CAPS, KC_A, LT(0,KC_S), KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT, KC_END, \
|
||||||
|
KC_LSFT, XXXXXXX, KC_Z, LT(0,KC_X), LT(0,KC_C), LT(0,KC_V), KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP, \
|
||||||
|
KC_LCTL, KC_LGUI, KC_LALT, TG_LOW, KC_SPC, KC_SPC, KC_RALT, TG_UP, KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT \
|
||||||
|
),
|
||||||
|
|
||||||
|
[_LOWER] = LAYOUT(
|
||||||
|
XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, \
|
||||||
|
|
||||||
|
_SCRNSHOT, 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, XXXXXXX, \
|
||||||
|
XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, \
|
||||||
|
XXXXXXX, XXXXXXX, XXXXXXX, TO_BASE, XXXXXXX, XXXXXXX, XXXXXXX, _______, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX \
|
||||||
|
),
|
||||||
|
|
||||||
|
[_RAISE] = LAYOUT(
|
||||||
|
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, 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, TO_BASE, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX \
|
||||||
|
),
|
||||||
|
|
||||||
|
[_ADJUST] = LAYOUT(
|
||||||
|
XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, RGB_TOG, \
|
||||||
|
|
||||||
|
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, RGB_VAI, \
|
||||||
|
XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, RGB_VAD, \
|
||||||
|
XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, RGB_HUI, \
|
||||||
|
XXXXXXX, XXXXXXX, XXXXXXX, _______, XXXXXXX, XXXXXXX, RGB_SPD, _______, RGB_SPI, RGB_SAD, RGB_HUD, RGB_SAI \
|
||||||
|
)
|
||||||
|
};
|
||||||
|
|
||||||
|
/*****************************************************************************************************/
|
||||||
|
|
||||||
|
bool process_record_user(uint16_t keycode, keyrecord_t *record) {
|
||||||
|
switch (keycode) {
|
||||||
|
case CUSTOMKEY:
|
||||||
|
if (record->event.pressed) {
|
||||||
|
if (get_mods() & MOD_MASK_SHIFT) {
|
||||||
|
tap_code16(G(A(KC_K)));
|
||||||
|
} else {
|
||||||
|
tap_code(KC_MPLY);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
case LT(0,KC_X):
|
||||||
|
if (!record->tap.count && record->event.pressed) {
|
||||||
|
tap_code16(C(KC_X)); // Intercept hold function to send Ctrl-X
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
return true;
|
||||||
|
case LT(0,KC_C):
|
||||||
|
if (!record->tap.count && record->event.pressed) {
|
||||||
|
tap_code16(C(KC_C)); // Intercept hold function to send Ctrl-C
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
return true;
|
||||||
|
case LT(0,KC_V):
|
||||||
|
if (!record->tap.count && record->event.pressed) {
|
||||||
|
tap_code16(C(KC_V)); // Intercept hold function to send Ctrl-V
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
return true;
|
||||||
|
case LT(0,KC_S):
|
||||||
|
if (!record->tap.count && record->event.pressed) {
|
||||||
|
tap_code16(C(KC_S)); // Intercept hold function to send Ctrl-S
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
|
#if defined(ENCODER_MAP_ENABLE)
|
||||||
|
const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][2] = {
|
||||||
|
[_BASE] = { ENCODER_CCW_CW(KC_VOLD, KC_VOLU) },
|
||||||
|
[_CODE] = { ENCODER_CCW_CW(KC_PGDN, KC_PGUP) },
|
||||||
|
[_FUNC] = { ENCODER_CCW_CW(RGB_MOD, RGB_RMOD) },
|
||||||
|
[_TOP] = { ENCODER_CCW_CW(KC_VOLD, KC_VOLU) },
|
||||||
|
};
|
||||||
|
#endif
|
||||||
|
|
@ -25,17 +25,6 @@ enum layers
|
|||||||
_TOP
|
_TOP
|
||||||
};
|
};
|
||||||
|
|
||||||
enum custom_keycodes
|
|
||||||
{
|
|
||||||
CUSTOMKEY = SAFE_RANGE,
|
|
||||||
};
|
|
||||||
|
|
||||||
#define TO_BASE TO(_BASE)
|
|
||||||
#define TO_FUNC TG(_FUNC)
|
|
||||||
#define L_CODE MO(_CODE)
|
|
||||||
|
|
||||||
#define _SCRNSHOT LSFT(LGUI(KC_S))
|
|
||||||
|
|
||||||
/* Keyboard layout
|
/* Keyboard layout
|
||||||
* ,---------. ,---------------------------------------. ,---------------------------------------. ,---------------------------------------. ,---------.
|
* ,---------. ,---------------------------------------. ,---------------------------------------. ,---------------------------------------. ,---------.
|
||||||
* | ka0 | | ka1 | ka2 | ka3 | ka4 | | ka5 | ka6 | ka7 | ka8 | | ka9 | ka10 | ka11 | ka12 | | sw99 |
|
* | ka0 | | ka1 | ka2 | ka3 | ka4 | | ka5 | ka6 | ka7 | ka8 | | ka9 | ka10 | ka11 | ka12 | | sw99 |
|
||||||
@ -72,100 +61,50 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
|||||||
* |---------+---------+---------+---------+ | Space | | Space | +---------+---------+---------' | LEFT | DOWN | RIGHT |
|
* |---------+---------+---------+---------+ | Space | | Space | +---------+---------+---------' | LEFT | DOWN | RIGHT |
|
||||||
* `---------' `---------' `---------+---------+---------'
|
* `---------' `---------' `---------+---------+---------'
|
||||||
*/
|
*/
|
||||||
[_BASE] = LAYOUT(
|
[_BASE] = LAYOUT(
|
||||||
KC_ESC, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_MPLY, \
|
KC_ESC, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_MPLY, \
|
||||||
|
|
||||||
KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_DEL, \
|
KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_DEL, \
|
||||||
KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, KC_HOME, \
|
KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, KC_HOME, \
|
||||||
KC_CAPS, KC_A, LT(0,KC_S), KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT, KC_END, \
|
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_END, \
|
||||||
KC_LSFT, XXXXXXX, KC_Z, LT(0,KC_X), LT(0,KC_C), LT(0,KC_V), KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP, \
|
KC_LSFT, XXXXXXX, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP, \
|
||||||
KC_LCTL, KC_LGUI, KC_LALT, L_CODE, KC_SPC, KC_SPC, KC_RALT, KC_RCTL, TO_FUNC, KC_LEFT, KC_DOWN, KC_RGHT \
|
KC_LCTL, KC_LGUI, KC_LALT, MO(_LOWER), KC_SPC, KC_SPC, KC_RALT,MO(_RAISE), KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT \
|
||||||
),
|
),
|
||||||
|
|
||||||
[_CODE] = LAYOUT(
|
|
||||||
|
[_LOWER] = LAYOUT(
|
||||||
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, \
|
||||||
|
|
||||||
_SCRNSHOT, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, \
|
_SCRNSHOT, 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, 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, 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 \
|
||||||
),
|
),
|
||||||
|
|
||||||
[_FUNC] = LAYOUT(
|
[_RAISE] = LAYOUT(
|
||||||
XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, RGB_TOG, \
|
|
||||||
|
|
||||||
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, RGB_VAI, \
|
|
||||||
XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, RGB_VAD, \
|
|
||||||
XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, RGB_HUI, \
|
|
||||||
XXXXXXX, XXXXXXX, XXXXXXX, _______, XXXXXXX, XXXXXXX, RGB_SPD, RGB_SPI, TO_BASE, RGB_SAD, RGB_HUD, RGB_SAI \
|
|
||||||
),
|
|
||||||
|
|
||||||
[_TOP] = LAYOUT(
|
|
||||||
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, 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, 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, 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 \
|
||||||
),
|
),
|
||||||
|
|
||||||
|
[_ADJUST] = LAYOUT(
|
||||||
|
XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, RGB_TOG, \
|
||||||
|
|
||||||
|
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, RGB_VAI, \
|
||||||
|
XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, RGB_VAD, \
|
||||||
|
XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, RGB_HUI, \
|
||||||
|
XXXXXXX, XXXXXXX, XXXXXXX, _______, RGB_SPD, RGB_SPI, XXXXXXX, _______, XXXXXXX, RGB_SAD, RGB_HUD, RGB_SAI \
|
||||||
|
)
|
||||||
};
|
};
|
||||||
|
|
||||||
/*****************************************************************************************************/
|
/*****************************************************************************************************/
|
||||||
|
|
||||||
#ifdef OLED_ENABLE
|
|
||||||
static void render_status(void) {
|
|
||||||
// 21 characters per line
|
|
||||||
// 16 cols / 4 rows
|
|
||||||
|
|
||||||
oled_write_P(PSTR(" Kanagawa rev 2.1 "), false);
|
|
||||||
//oled_write_ln("", false);
|
|
||||||
|
|
||||||
// Host Keyboard Layer Status
|
|
||||||
oled_write_P(PSTR("Layer: "), false);
|
|
||||||
switch (get_highest_layer(layer_state)) {
|
|
||||||
case _BASE:
|
|
||||||
oled_write_P(PSTR("_\n"), false);
|
|
||||||
break;
|
|
||||||
case _FUNC:
|
|
||||||
oled_write_P(PSTR("[Fn]\n"), false);
|
|
||||||
break;
|
|
||||||
case _CODE:
|
|
||||||
oled_write_P(PSTR("[Code]\n"), false);
|
|
||||||
break;
|
|
||||||
default:
|
|
||||||
oled_write_P(PSTR("Undefined\n"), false);
|
|
||||||
}
|
|
||||||
|
|
||||||
// Host Keyboard LED Status
|
|
||||||
led_t led_state = host_keyboard_led_state();
|
|
||||||
oled_write_ln(led_state.caps_lock ? "CAPLOCK" : " ", false);
|
|
||||||
// oled_write_P(PSTR(" "), false);
|
|
||||||
|
|
||||||
// oled_write_P(led_state.num_lock ? PSTR("NUM ") : PSTR(" "), false);
|
|
||||||
// oled_write_P(led_state.caps_lock ? PSTR("CAP ") : PSTR(" "), false);
|
|
||||||
// oled_write_P(led_state.scroll_lock ? PSTR("SCR ") : PSTR(" "), false);
|
|
||||||
|
|
||||||
oled_write_ln("", false);
|
|
||||||
// oled_write_ln("", false);
|
|
||||||
// oled_write_ln("", false);
|
|
||||||
// oled_write_ln("", false);
|
|
||||||
// oled_write_ln("", false);
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
bool oled_task_user(void) {
|
|
||||||
render_status();
|
|
||||||
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
#endif
|
|
||||||
|
|
||||||
/*****************************************************************************************************/
|
|
||||||
|
|
||||||
bool process_record_user(uint16_t keycode, keyrecord_t *record) {
|
bool process_record_user(uint16_t keycode, keyrecord_t *record) {
|
||||||
switch (keycode) {
|
switch (keycode) {
|
||||||
case CUSTOMKEY:
|
case CUSTOMKEY:
|
||||||
|
@ -20,22 +20,11 @@
|
|||||||
enum layers
|
enum layers
|
||||||
{
|
{
|
||||||
_BASE,
|
_BASE,
|
||||||
_CODE,
|
_LOWER,
|
||||||
_FUNC,
|
_RAISE,
|
||||||
_TOP
|
_ADJUST
|
||||||
};
|
};
|
||||||
|
|
||||||
enum custom_keycodes
|
|
||||||
{
|
|
||||||
CUSTOMKEY = SAFE_RANGE,
|
|
||||||
};
|
|
||||||
|
|
||||||
#define TO_BASE TO(_BASE)
|
|
||||||
#define TO_FUNC TG(_FUNC)
|
|
||||||
#define L_CODE MO(_CODE)
|
|
||||||
|
|
||||||
#define _SCRNSHOT LSFT(LGUI(KC_S))
|
|
||||||
|
|
||||||
/* Keyboard layout
|
/* Keyboard layout
|
||||||
* ,---------. ,---------------------------------------. ,---------------------------------------. ,---------------------------------------. ,---------.
|
* ,---------. ,---------------------------------------. ,---------------------------------------. ,---------------------------------------. ,---------.
|
||||||
* | ka0 | | ka1 | ka2 | ka3 | ka4 | | ka5 | ka6 | ka7 | ka8 | | ka9 | ka10 | ka11 | ka12 | | sw99 |
|
* | ka0 | | ka1 | ka2 | ka3 | ka4 | | ka5 | ka6 | ka7 | ka8 | | ka9 | ka10 | ka11 | ka12 | | sw99 |
|
||||||
@ -68,149 +57,62 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
|||||||
* |---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------'---------' `---------'
|
* |---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------'---------' `---------'
|
||||||
* | LShift | --- | Z | X | C | V | B | N | M | , | . | / | RShift | ,---------.
|
* | LShift | --- | Z | X | C | V | B | N | M | , | . | / | RShift | ,---------.
|
||||||
* |---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------' | UP |
|
* |---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------' | UP |
|
||||||
* | LCtrl | LGUI | LAlt | CODE | ,---------. ,---------. | RAlt | RCtrl | FUNC | ,---------|---------|---------.
|
* | LCtrl | LGUI | LAlt | LOWER | ,---------. ,---------. | RAlt | RAISE | RCtrl | ,---------|---------|---------.
|
||||||
* |---------+---------+---------+---------+ | Space | | Space | +---------+---------+---------' | LEFT | DOWN | RIGHT |
|
* |---------+---------+---------+---------+ | Space | | Space | +---------+---------+---------' | LEFT | DOWN | RIGHT |
|
||||||
* `---------' `---------' `---------+---------+---------'
|
* `---------' `---------' `---------+---------+---------'
|
||||||
*/
|
*/
|
||||||
[_BASE] = LAYOUT(
|
[_BASE] = LAYOUT(
|
||||||
KC_ESC, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_MPLY, \
|
KC_ESC, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_MPLY, \
|
||||||
|
|
||||||
KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_DEL, \
|
KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_DEL, \
|
||||||
KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, KC_HOME, \
|
KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, KC_HOME, \
|
||||||
KC_CAPS, KC_A, LT(0,KC_S), KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT, KC_END, \
|
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_END, \
|
||||||
KC_LSFT, XXXXXXX, KC_Z, LT(0,KC_X), LT(0,KC_C), LT(0,KC_V), KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP, \
|
KC_LSFT, XXXXXXX, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP, \
|
||||||
KC_LCTL, KC_LGUI, KC_LALT, L_CODE, KC_SPC, KC_SPC, KC_RALT, KC_RCTL, TO_FUNC, KC_LEFT, KC_DOWN, KC_RGHT \
|
KC_LCTL, KC_LGUI, KC_LALT, MO(_LOWER), KC_SPC, KC_SPC, KC_RALT,MO(_RAISE), KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT \
|
||||||
),
|
),
|
||||||
|
|
||||||
[_CODE] = LAYOUT(
|
[_LOWER] = LAYOUT(
|
||||||
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, \
|
||||||
|
|
||||||
_SCRNSHOT, 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, 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, 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 \
|
XXXXXXX, XXXXXXX, XXXXXXX, _______, XXXXXXX, XXXXXXX, XXXXXXX, _______, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX \
|
||||||
),
|
),
|
||||||
|
|
||||||
[_FUNC] = LAYOUT(
|
[_RAISE] = LAYOUT(
|
||||||
XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, RGB_TOG, \
|
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, XXXXXXX, XXXXXXX, \
|
||||||
XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, RGB_VAI, \
|
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, RGB_VAD, \
|
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, RGB_HUI, \
|
XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, \
|
||||||
XXXXXXX, XXXXXXX, XXXXXXX, _______, XXXXXXX, XXXXXXX, RGB_SPD, RGB_SPI, TO_BASE, RGB_SAD, RGB_HUD, RGB_SAI \
|
XXXXXXX, XXXXXXX, XXXXXXX, _______, XXXXXXX, XXXXXXX, XXXXXXX, _______, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX \
|
||||||
),
|
),
|
||||||
|
|
||||||
[_TOP] = LAYOUT(
|
[_ADJUST] = LAYOUT(
|
||||||
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, RGB_TOG, \
|
||||||
|
|
||||||
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, 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, \
|
||||||
|
XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, RGB_VAI, \
|
||||||
|
XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, RGB_VAD, \
|
||||||
|
XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, RGB_HUI, \
|
||||||
|
XXXXXXX, XXXXXXX, XXXXXXX, _______, RGB_SPD, RGB_SPI, XXXXXXX, _______, XXXXXXX, RGB_SAD, RGB_HUD, RGB_SAI \
|
||||||
|
)
|
||||||
};
|
};
|
||||||
|
|
||||||
/*****************************************************************************************************/
|
/*****************************************************************************************************/
|
||||||
|
|
||||||
#ifdef OLED_ENABLE
|
layer_state_t layer_state_set_user(layer_state_t state) {
|
||||||
static void render_status(void) {
|
return update_tri_layer_state(state, _LOWER, _RAISE, _ADJUST);
|
||||||
// 21 characters per line
|
|
||||||
// 16 cols / 4 rows
|
|
||||||
|
|
||||||
oled_write_P(PSTR(" Kanagawa rev 2.1 "), false);
|
|
||||||
//oled_write_ln("", false);
|
|
||||||
|
|
||||||
// Host Keyboard Layer Status
|
|
||||||
oled_write_P(PSTR("Layer: "), false);
|
|
||||||
switch (get_highest_layer(layer_state)) {
|
|
||||||
case _BASE:
|
|
||||||
oled_write_P(PSTR("_\n"), false);
|
|
||||||
break;
|
|
||||||
case _FUNC:
|
|
||||||
oled_write_P(PSTR("[Fn]\n"), false);
|
|
||||||
break;
|
|
||||||
case _CODE:
|
|
||||||
oled_write_P(PSTR("[Code]\n"), false);
|
|
||||||
break;
|
|
||||||
default:
|
|
||||||
oled_write_P(PSTR("Undefined\n"), false);
|
|
||||||
}
|
|
||||||
|
|
||||||
// Host Keyboard LED Status
|
|
||||||
led_t led_state = host_keyboard_led_state();
|
|
||||||
oled_write_ln(led_state.caps_lock ? "CAPLOCK" : " ", false);
|
|
||||||
// oled_write_P(PSTR(" "), false);
|
|
||||||
|
|
||||||
// oled_write_P(led_state.num_lock ? PSTR("NUM ") : PSTR(" "), false);
|
|
||||||
// oled_write_P(led_state.caps_lock ? PSTR("CAP ") : PSTR(" "), false);
|
|
||||||
// oled_write_P(led_state.scroll_lock ? PSTR("SCR ") : PSTR(" "), false);
|
|
||||||
|
|
||||||
oled_write_ln("", false);
|
|
||||||
// oled_write_ln("", false);
|
|
||||||
// oled_write_ln("", false);
|
|
||||||
// oled_write_ln("", false);
|
|
||||||
// oled_write_ln("", false);
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
bool oled_task_user(void) {
|
|
||||||
render_status();
|
|
||||||
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
#endif
|
|
||||||
|
|
||||||
/*****************************************************************************************************/
|
|
||||||
|
|
||||||
bool process_record_user(uint16_t keycode, keyrecord_t *record) {
|
|
||||||
switch (keycode) {
|
|
||||||
case CUSTOMKEY:
|
|
||||||
if (record->event.pressed) {
|
|
||||||
if (get_mods() & MOD_MASK_SHIFT) {
|
|
||||||
tap_code16(G(A(KC_K)));
|
|
||||||
} else {
|
|
||||||
tap_code(KC_MPLY);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
break;
|
|
||||||
case LT(0,KC_X):
|
|
||||||
if (!record->tap.count && record->event.pressed) {
|
|
||||||
tap_code16(C(KC_X)); // Intercept hold function to send Ctrl-X
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
return true;
|
|
||||||
case LT(0,KC_C):
|
|
||||||
if (!record->tap.count && record->event.pressed) {
|
|
||||||
tap_code16(C(KC_C)); // Intercept hold function to send Ctrl-C
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
return true;
|
|
||||||
case LT(0,KC_V):
|
|
||||||
if (!record->tap.count && record->event.pressed) {
|
|
||||||
tap_code16(C(KC_V)); // Intercept hold function to send Ctrl-V
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
return true;
|
|
||||||
case LT(0,KC_S):
|
|
||||||
if (!record->tap.count && record->event.pressed) {
|
|
||||||
tap_code16(C(KC_S)); // Intercept hold function to send Ctrl-S
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
return true;
|
|
||||||
}
|
|
||||||
return true;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
#if defined(ENCODER_MAP_ENABLE)
|
#if defined(ENCODER_MAP_ENABLE)
|
||||||
const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][2] = {
|
const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][2] = {
|
||||||
[_BASE] = { ENCODER_CCW_CW(KC_VOLD, KC_VOLU) },
|
[_BASE] = { ENCODER_CCW_CW(KC_VOLD, KC_VOLU) },
|
||||||
[_CODE] = { ENCODER_CCW_CW(KC_PGDN, KC_PGUP) },
|
[_LOWER] = { ENCODER_CCW_CW(KC_PGDN, KC_PGUP) },
|
||||||
[_FUNC] = { ENCODER_CCW_CW(RGB_MOD, RGB_RMOD) },
|
[_RAISE] = { ENCODER_CCW_CW(KC_PGDN, KC_PGUP) },
|
||||||
[_TOP] = { ENCODER_CCW_CW(KC_VOLD, KC_VOLU) },
|
[_ADJUST] = { ENCODER_CCW_CW(RGB_MOD, RGB_RMOD) },
|
||||||
};
|
};
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
@ -36,7 +36,7 @@
|
|||||||
# define RGB_MATRIX_FRAMEBUFFER_EFFECTS
|
# define RGB_MATRIX_FRAMEBUFFER_EFFECTS
|
||||||
# define RGB_MATRIX_KEYPRESSES
|
# define RGB_MATRIX_KEYPRESSES
|
||||||
|
|
||||||
# define ENABLE_RGB_MATRIX_ALPHAS_MODS
|
# define ENABLE_RGB_MATRIX_ALPHAS_MODS
|
||||||
# define ENABLE_RGB_MATRIX_GRADIENT_UP_DOWN
|
# define ENABLE_RGB_MATRIX_GRADIENT_UP_DOWN
|
||||||
# define ENABLE_RGB_MATRIX_GRADIENT_LEFT_RIGHT
|
# define ENABLE_RGB_MATRIX_GRADIENT_LEFT_RIGHT
|
||||||
# define ENABLE_RGB_MATRIX_BREATHING
|
# define ENABLE_RGB_MATRIX_BREATHING
|
||||||
|
@ -5,21 +5,41 @@
|
|||||||
"maintainer": "Ciaanh",
|
"maintainer": "Ciaanh",
|
||||||
"usb": {
|
"usb": {
|
||||||
"vid": "0xC1E0",
|
"vid": "0xC1E0",
|
||||||
"pid": "0x0010",
|
"pid": "0x0011",
|
||||||
"device_version": "2.1.0"
|
"device_version": "2.1.0"
|
||||||
},
|
},
|
||||||
|
"processor": "RP2040",
|
||||||
|
"bootloader": "rp2040",
|
||||||
|
"diode_direction": "COL2ROW",
|
||||||
|
"matrix_size": {
|
||||||
|
"cols": 14,
|
||||||
|
"rows": 6
|
||||||
|
},
|
||||||
|
"matrix_pins": {
|
||||||
|
"rows": ["GP28", "GP27", "GP26", "GP22", "GP21", "GP20"],
|
||||||
|
"cols": ["GP5", "GP6", "GP7", "GP8", "GP9", "GP10", "GP11", "GP12", "GP13", "GP14", "GP15", "GP16", "GP17", "GP18"]
|
||||||
|
},
|
||||||
|
"features": {
|
||||||
|
"audio": false,
|
||||||
|
"backlight": false,
|
||||||
|
"bootmagic": true,
|
||||||
|
"command": false,
|
||||||
|
"console": false,
|
||||||
|
"extrakey": true,
|
||||||
|
"mousekey": false,
|
||||||
|
"nkro": false,
|
||||||
|
"rgb_matrix": true,
|
||||||
|
"rgblight": false
|
||||||
|
},
|
||||||
"encoder": {
|
"encoder": {
|
||||||
"rotary": [
|
"rotary": [
|
||||||
{"pin_a": "GP2", "pin_b": "GP3"}
|
{"pin_a": "GP2", "pin_b": "GP3"}
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
"diode_direction": "COL2ROW",
|
"bootmagic": {
|
||||||
"matrix_pins": {
|
"enabled": true,
|
||||||
"rows": ["GP28", "GP27", "GP26", "GP22", "GP21", "GP20"],
|
"matrix": [0, 13]
|
||||||
"cols": ["GP5", "GP6", "GP7", "GP8", "GP9", "GP10", "GP11", "GP12", "GP13", "GP14", "GP15", "GP16", "GP17", "GP18"]
|
|
||||||
},
|
},
|
||||||
"processor": "RP2040",
|
|
||||||
"bootloader": "rp2040",
|
|
||||||
|
|
||||||
"layouts": {
|
"layouts": {
|
||||||
"LAYOUT": {
|
"LAYOUT": {
|
||||||
@ -119,5 +139,101 @@
|
|||||||
{ "label": "Right", "matrix": [5, 11], "x": 15.25, "y": 5.25 }
|
{ "label": "Right", "matrix": [5, 11], "x": 15.25, "y": 5.25 }
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
|
},
|
||||||
|
|
||||||
|
"rgb_matrix": {
|
||||||
|
"driver": "WS2812",
|
||||||
|
"center_point": [ 90, 28],
|
||||||
|
"layout": [
|
||||||
|
{ "flags": 4,"matrix": [0,12],"x": 189, "y": 0 },
|
||||||
|
{ "flags": 4,"matrix": [0,11],"x": 175, "y": 0 },
|
||||||
|
{ "flags": 4,"matrix": [0,10],"x": 161, "y": 0 },
|
||||||
|
{ "flags": 4,"matrix": [0, 9],"x": 147, "y": 0 },
|
||||||
|
{ "flags": 4,"matrix": [0, 8],"x": 126, "y": 0 },
|
||||||
|
{ "flags": 4,"matrix": [0, 7],"x": 112, "y": 0 },
|
||||||
|
{ "flags": 4,"matrix": [0, 6],"x": 98, "y": 0 },
|
||||||
|
{ "flags": 4,"matrix": [0, 5],"x": 84, "y": 0 },
|
||||||
|
{ "flags": 4,"matrix": [0, 4],"x": 63, "y": 0 },
|
||||||
|
{ "flags": 4,"matrix": [0, 3],"x": 49, "y": 0 },
|
||||||
|
{ "flags": 4,"matrix": [0, 2],"x": 35, "y": 0 },
|
||||||
|
{ "flags": 4,"matrix": [0, 1],"x": 21, "y": 0 },
|
||||||
|
{ "flags": 4,"matrix": [0, 0],"x": 0, "y": 0 },
|
||||||
|
|
||||||
|
{ "flags": 1,"matrix": [1,13],"x": 189, "y": 12 },
|
||||||
|
{ "flags": 4,"matrix": [1,12],"x": 168, "y": 12 },
|
||||||
|
{ "flags": 4,"matrix": [1,11],"x": 154, "y": 12 },
|
||||||
|
{ "flags": 4,"matrix": [1,10],"x": 140, "y": 12 },
|
||||||
|
{ "flags": 4,"matrix": [1, 9],"x": 126, "y": 12 },
|
||||||
|
{ "flags": 4,"matrix": [1, 8],"x": 112, "y": 12 },
|
||||||
|
{ "flags": 4,"matrix": [1, 7],"x": 98, "y": 12 },
|
||||||
|
{ "flags": 4,"matrix": [1, 6],"x": 84, "y": 12 },
|
||||||
|
{ "flags": 4,"matrix": [1, 5],"x": 70, "y": 12 },
|
||||||
|
{ "flags": 4,"matrix": [1, 4],"x": 56, "y": 12 },
|
||||||
|
{ "flags": 4,"matrix": [1, 3],"x": 42, "y": 12 },
|
||||||
|
{ "flags": 4,"matrix": [1, 2],"x": 28, "y": 12 },
|
||||||
|
{ "flags": 4,"matrix": [1, 1],"x": 14, "y": 12 },
|
||||||
|
{ "flags": 4,"matrix": [1, 0],"x": 0, "y": 12 },
|
||||||
|
|
||||||
|
{ "flags": 1,"matrix": [2,13],"x": 189, "y": 23 },
|
||||||
|
{ "flags": 4,"matrix": [2,12],"x": 179, "y": 23 },
|
||||||
|
{ "flags": 4,"matrix": [2,11],"x": 161, "y": 23 },
|
||||||
|
{ "flags": 4,"matrix": [2,10],"x": 147, "y": 23 },
|
||||||
|
{ "flags": 4,"matrix": [2, 9],"x": 133, "y": 23 },
|
||||||
|
{ "flags": 4,"matrix": [2, 8],"x": 119, "y": 23 },
|
||||||
|
{ "flags": 4,"matrix": [2, 7],"x": 105, "y": 23 },
|
||||||
|
{ "flags": 4,"matrix": [2, 6],"x": 91, "y": 23 },
|
||||||
|
{ "flags": 4,"matrix": [2, 5],"x": 77, "y": 23 },
|
||||||
|
{ "flags": 4,"matrix": [2, 4],"x": 63, "y": 23 },
|
||||||
|
{ "flags": 4,"matrix": [2, 3],"x": 49, "y": 23 },
|
||||||
|
{ "flags": 4,"matrix": [2, 2],"x": 35, "y": 23 },
|
||||||
|
{ "flags": 4,"matrix": [2, 1],"x": 21, "y": 23 },
|
||||||
|
{ "flags": 1,"matrix": [2, 0],"x": 4, "y": 23 },
|
||||||
|
|
||||||
|
{ "flags": 1,"matrix": [3,12],"x": 187, "y": 35 },
|
||||||
|
{ "flags": 4,"matrix": [3,11],"x": 165, "y": 35 },
|
||||||
|
{ "flags": 4,"matrix": [3,10],"x": 151, "y": 35 },
|
||||||
|
{ "flags": 4,"matrix": [3, 9],"x": 137, "y": 35 },
|
||||||
|
{ "flags": 4,"matrix": [3, 8],"x": 123, "y": 35 },
|
||||||
|
{ "flags": 4,"matrix": [3, 7],"x": 109, "y": 35 },
|
||||||
|
{ "flags": 4,"matrix": [3, 6],"x": 95, "y": 35 },
|
||||||
|
{ "flags": 4,"matrix": [3, 5],"x": 81, "y": 35 },
|
||||||
|
{ "flags": 4,"matrix": [3, 4],"x": 67, "y": 35 },
|
||||||
|
{ "flags": 4,"matrix": [3, 3],"x": 53, "y": 35 },
|
||||||
|
{ "flags": 4,"matrix": [3, 2],"x": 39, "y": 35 },
|
||||||
|
{ "flags": 4,"matrix": [3, 1],"x": 25, "y": 35 },
|
||||||
|
{ "flags": 1,"matrix": [3, 0],"x": 5, "y": 35 },
|
||||||
|
|
||||||
|
{ "flags": 1,"matrix": [4,12],"x": 177, "y": 47 },
|
||||||
|
{ "flags": 4,"matrix": [4,11],"x": 158, "y": 47 },
|
||||||
|
{ "flags": 4,"matrix": [4,10],"x": 144, "y": 47 },
|
||||||
|
{ "flags": 4,"matrix": [4, 9],"x": 130, "y": 47 },
|
||||||
|
{ "flags": 4,"matrix": [4, 8],"x": 116, "y": 47 },
|
||||||
|
{ "flags": 4,"matrix": [4, 7],"x": 102, "y": 47 },
|
||||||
|
{ "flags": 4,"matrix": [4, 6],"x": 88, "y": 47 },
|
||||||
|
{ "flags": 4,"matrix": [4, 5],"x": 74, "y": 47 },
|
||||||
|
{ "flags": 4,"matrix": [4, 4],"x": 60, "y": 47 },
|
||||||
|
{ "flags": 4,"matrix": [4, 3],"x": 46, "y": 47 },
|
||||||
|
{ "flags": 4,"matrix": [4, 2],"x": 32, "y": 47 },
|
||||||
|
{ "flags": 4,"matrix": [4, 1],"x": 18, "y": 47 },
|
||||||
|
{ "flags": 1,"matrix": [4, 0],"x": 2, "y": 47 },
|
||||||
|
|
||||||
|
{ "flags": 1,"matrix": [3,13],"x": 224, "y": 12 },
|
||||||
|
{ "flags": 4,"matrix": [4,13],"x": 224, "y": 23 },
|
||||||
|
{ "flags": 4,"matrix": [5,13],"x": 224, "y": 35 },
|
||||||
|
|
||||||
|
{ "flags": 4,"matrix": [5,11],"x": 214, "y": 61 },
|
||||||
|
{ "flags": 4,"matrix": [5,12],"x": 200, "y": 49 },
|
||||||
|
{ "flags": 4,"matrix": [5,10],"x": 200, "y": 61 },
|
||||||
|
{ "flags": 4,"matrix": [5, 9],"x": 186, "y": 61 },
|
||||||
|
{ "flags": 1,"matrix": [5, 8],"x": 168, "y": 58 },
|
||||||
|
{ "flags": 1,"matrix": [5, 7],"x": 154, "y": 58 },
|
||||||
|
{ "flags": 1,"matrix": [5, 6],"x": 140, "y": 58 },
|
||||||
|
{ "flags": 4,"matrix": [5, 5],"x": 114, "y": 64 },
|
||||||
|
{ "flags": 4,"matrix": [5, 4],"x": 82, "y": 64 },
|
||||||
|
{ "flags": 1,"matrix": [5, 3],"x": 70, "y": 58 },
|
||||||
|
{ "flags": 1,"matrix": [5, 2],"x": 32, "y": 58 },
|
||||||
|
{ "flags": 1,"matrix": [5, 1],"x": 16, "y": 58 },
|
||||||
|
{ "flags": 1,"matrix": [5, 0],"x": 0, "y": 58 }
|
||||||
|
]
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -1,60 +0,0 @@
|
|||||||
/* Copyright 2023 Ciaanh (@ciaanh)
|
|
||||||
*
|
|
||||||
* 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"
|
|
||||||
|
|
||||||
#define NA NO_LED
|
|
||||||
|
|
||||||
#ifdef RGB_MATRIX_ENABLE
|
|
||||||
|
|
||||||
led_config_t g_led_config = {
|
|
||||||
{
|
|
||||||
// Key Matrix to LED Index
|
|
||||||
{ 12, 11, 10, 9, 8, 7, 6, 5, 4, 3, 2, 1, 0, NA },
|
|
||||||
{ 26, 25, 24, 23, 22, 21, 20, 19, 18, 17, 16, 15, 14, 13 },
|
|
||||||
{ 40, 39, 38, 37, 36, 35, 34, 33, 32, 31, 30, 29, 28, 27 },
|
|
||||||
{ 53, 52, 51, 50, 49, 48, 47, 46, 45, 44, 43, 42, 41, 66 },
|
|
||||||
{ 65, 64, 63, 62, 61, 60, 59, 58, 57, 56, 55, 54, 69, 67 },
|
|
||||||
{ 82, 81, 80, 79, 78, 77, 76, 75, 74, 73, 72, 71, 70, 68 }
|
|
||||||
},
|
|
||||||
|
|
||||||
{
|
|
||||||
// LED Index to Physical Position
|
|
||||||
{189, 0}, {175, 0}, {161, 0}, {147, 0}, {126, 0}, {112, 0}, { 98, 0}, { 84, 0}, { 63, 0}, { 49, 0}, { 35, 0}, { 21, 0}, { 0, 0},
|
|
||||||
{189, 12}, {168, 12}, {154, 12}, {140, 12}, {126, 12}, {112, 12}, { 98, 12}, { 84, 12}, { 70, 12}, { 56, 12}, { 42, 12}, { 28, 12}, { 14, 12}, { 0, 12},
|
|
||||||
{189, 23}, {179, 23}, {161, 23}, {147, 23}, {133, 23}, {119, 23}, {105, 23}, { 91, 23}, { 77, 23}, { 63, 23}, { 49, 23}, { 35, 23}, { 21, 23}, { 4, 23},
|
|
||||||
{187, 35}, {165, 35}, {151, 35}, {137, 35}, {123, 35}, {109, 35}, { 95, 35}, { 81, 35}, { 67, 35}, { 53, 35}, { 39, 35}, { 25, 35}, { 5, 35},
|
|
||||||
{177, 47}, {158, 47}, {144, 47}, {130, 47}, {116, 47}, {102, 47}, { 88, 47}, { 74, 47}, { 60, 47}, { 46, 47}, { 32, 47}, { 18, 47}, { 2, 47},
|
|
||||||
{224, 12},
|
|
||||||
{224, 23},
|
|
||||||
{224, 35},
|
|
||||||
{214, 61},
|
|
||||||
{200, 49}, {200, 61}, {186, 61}, {168, 58}, {154, 58}, {140, 58}, {114, 64}, { 82, 64}, { 70, 58}, { 32, 58}, { 16, 58}, { 0, 58},
|
|
||||||
|
|
||||||
},
|
|
||||||
|
|
||||||
{
|
|
||||||
// LED Index to Flag
|
|
||||||
4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4,
|
|
||||||
4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4,
|
|
||||||
4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 1,
|
|
||||||
4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 1,
|
|
||||||
4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 1,
|
|
||||||
4,
|
|
||||||
4,
|
|
||||||
4, 4,
|
|
||||||
4, 4, 4, 1, 1, 1, 4, 4, 1, 1, 1, 1,
|
|
||||||
}};
|
|
||||||
#endif
|
|
@ -20,22 +20,11 @@
|
|||||||
enum layers
|
enum layers
|
||||||
{
|
{
|
||||||
_BASE,
|
_BASE,
|
||||||
_CODE,
|
_LOWER,
|
||||||
_FUNC,
|
_RAISE,
|
||||||
_TOP
|
_ADJUST
|
||||||
};
|
};
|
||||||
|
|
||||||
enum custom_keycodes
|
|
||||||
{
|
|
||||||
CUSTOMKEY = SAFE_RANGE,
|
|
||||||
};
|
|
||||||
|
|
||||||
#define TO_BASE TO(_BASE)
|
|
||||||
#define TO_FUNC TG(_FUNC)
|
|
||||||
#define L_CODE MO(_CODE)
|
|
||||||
|
|
||||||
#define _SCRNSHOT LSFT(LGUI(KC_S))
|
|
||||||
|
|
||||||
/* Keyboard layout
|
/* Keyboard layout
|
||||||
* ,---------. ,---------------------------------------. ,---------------------------------------. ,---------------------------------------. ,---------.
|
* ,---------. ,---------------------------------------. ,---------------------------------------. ,---------------------------------------. ,---------.
|
||||||
* | ka0 | | ka1 | ka2 | ka3 | ka4 | | ka5 | ka6 | ka7 | ka8 | | ka9 | ka10 | ka11 | ka12 | | sw99 |
|
* | ka0 | | ka1 | ka2 | ka3 | ka4 | | ka5 | ka6 | ka7 | ka8 | | ka9 | ka10 | ka11 | ka12 | | sw99 |
|
||||||
@ -68,148 +57,62 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
|||||||
* |---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------'---------' `---------'
|
* |---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------'---------' `---------'
|
||||||
* | LShift | NUBS < | Z | X | C | V | B | N | M | , | . | / | RShift | ,---------.
|
* | LShift | NUBS < | Z | X | C | V | B | N | M | , | . | / | RShift | ,---------.
|
||||||
* |---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------' | UP |
|
* |---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------' | UP |
|
||||||
* | LCtrl | LGUI | LAlt | CODE | ,---------. ,---------. | RAlt | RCtrl | FUNC | ,---------|---------|---------.
|
* | LCtrl | LGUI | LAlt | LOWER | ,---------. ,---------. | RAlt | RAISE | RCtrl | ,---------|---------|---------.
|
||||||
* |---------+---------+---------+---------+ | Space | | Space | +---------+---------+---------' | LEFT | DOWN | RIGHT |
|
* |---------+---------+---------+---------+ | Space | | Space | +---------+---------+---------' | LEFT | DOWN | RIGHT |
|
||||||
* `---------' `---------' `---------+---------+---------'
|
* `---------' `---------' `---------+---------+---------'
|
||||||
*/
|
*/
|
||||||
[_BASE] = LAYOUT(
|
[_BASE] = LAYOUT(
|
||||||
KC_ESC, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_MPLY, \
|
KC_ESC, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_MPLY, \
|
||||||
|
|
||||||
KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_DEL, \
|
KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_DEL, \
|
||||||
KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_ENT, KC_HOME, \
|
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_ENT, KC_HOME, \
|
||||||
KC_CAPS, KC_A, LT(0,KC_S), KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_NUHS, KC_END, \
|
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_NUHS, KC_END, \
|
||||||
KC_LSFT, KC_NUBS, KC_Z, LT(0,KC_X), LT(0,KC_C), LT(0,KC_V), KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP, \
|
KC_LSFT, KC_NUBS, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP, \
|
||||||
KC_LCTL, KC_LGUI, KC_LALT, L_CODE, KC_SPC, KC_SPC, KC_RALT, KC_RCTL, TO_FUNC, KC_LEFT, KC_DOWN, KC_RGHT \
|
KC_LCTL, KC_LGUI, KC_LALT, MO(_LOWER), KC_SPC, KC_SPC, KC_RALT,MO(_RAISE), KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT \
|
||||||
),
|
),
|
||||||
|
|
||||||
[_CODE] = LAYOUT(
|
[_LOWER] = LAYOUT(
|
||||||
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, \
|
||||||
|
|
||||||
_SCRNSHOT, 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, 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, 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 \
|
XXXXXXX, XXXXXXX, XXXXXXX, _______, XXXXXXX, XXXXXXX, XXXXXXX, _______, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX \
|
||||||
),
|
),
|
||||||
|
|
||||||
[_FUNC] = LAYOUT(
|
[_RAISE] = LAYOUT(
|
||||||
XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, RGB_TOG, \
|
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, XXXXXXX, XXXXXXX, \
|
||||||
XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, RGB_VAI, \
|
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, RGB_VAD, \
|
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, RGB_HUI, \
|
XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, \
|
||||||
XXXXXXX, XXXXXXX, XXXXXXX, _______, XXXXXXX, XXXXXXX, RGB_SPD, RGB_SPI, TO_BASE, RGB_SAD, RGB_HUD, RGB_SAI \
|
XXXXXXX, XXXXXXX, XXXXXXX, _______, XXXXXXX, XXXXXXX, XXXXXXX, _______, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX \
|
||||||
),
|
),
|
||||||
|
|
||||||
[_TOP] = LAYOUT(
|
[_ADJUST] = LAYOUT(
|
||||||
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, RGB_TOG, \
|
||||||
|
|
||||||
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, 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, \
|
||||||
|
XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, RGB_VAI, \
|
||||||
|
XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, RGB_VAD, \
|
||||||
|
XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, RGB_HUI, \
|
||||||
|
XXXXXXX, XXXXXXX, XXXXXXX, _______, RGB_SPD, RGB_SPI, XXXXXXX, _______, XXXXXXX, RGB_SAD, RGB_HUD, RGB_SAI \
|
||||||
|
)
|
||||||
};
|
};
|
||||||
|
|
||||||
/*****************************************************************************************************/
|
/*****************************************************************************************************/
|
||||||
|
|
||||||
#ifdef OLED_ENABLE
|
layer_state_t layer_state_set_user(layer_state_t state) {
|
||||||
static void render_status(void) {
|
return update_tri_layer_state(state, _LOWER, _RAISE, _ADJUST);
|
||||||
// 21 characters per line
|
|
||||||
// 16 cols / 4 rows
|
|
||||||
|
|
||||||
oled_write_P(PSTR(" Kanagawa rev 2.0 "), false);
|
|
||||||
//oled_write_ln("", false);
|
|
||||||
|
|
||||||
// Host Keyboard Layer Status
|
|
||||||
oled_write_P(PSTR("Layer: "), false);
|
|
||||||
switch (get_highest_layer(layer_state)) {
|
|
||||||
case _BASE:
|
|
||||||
oled_write_P(PSTR("_\n"), false);
|
|
||||||
break;
|
|
||||||
case _FUNC:
|
|
||||||
oled_write_P(PSTR("[Fn]\n"), false);
|
|
||||||
break;
|
|
||||||
case _CODE:
|
|
||||||
oled_write_P(PSTR("[Code]\n"), false);
|
|
||||||
break;
|
|
||||||
default:
|
|
||||||
oled_write_P(PSTR("Undefined\n"), false);
|
|
||||||
}
|
|
||||||
|
|
||||||
// Host Keyboard LED Status
|
|
||||||
led_t led_state = host_keyboard_led_state();
|
|
||||||
oled_write_ln(led_state.caps_lock ? "CAPLOCK" : " ", false);
|
|
||||||
// oled_write_P(PSTR(" "), false);
|
|
||||||
|
|
||||||
// oled_write_P(led_state.num_lock ? PSTR("NUM ") : PSTR(" "), false);
|
|
||||||
// oled_write_P(led_state.caps_lock ? PSTR("CAP ") : PSTR(" "), false);
|
|
||||||
// oled_write_P(led_state.scroll_lock ? PSTR("SCR ") : PSTR(" "), false);
|
|
||||||
|
|
||||||
oled_write_ln("", false);
|
|
||||||
// oled_write_ln("", false);
|
|
||||||
// oled_write_ln("", false);
|
|
||||||
// oled_write_ln("", false);
|
|
||||||
// oled_write_ln("", false);
|
|
||||||
}
|
|
||||||
|
|
||||||
bool oled_task_user(void) {
|
|
||||||
|
|
||||||
render_status();
|
|
||||||
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
#endif
|
|
||||||
|
|
||||||
/*****************************************************************************************************/
|
|
||||||
|
|
||||||
bool process_record_user(uint16_t keycode, keyrecord_t *record) {
|
|
||||||
switch (keycode) {
|
|
||||||
case CUSTOMKEY:
|
|
||||||
if (record->event.pressed) {
|
|
||||||
if (get_mods() & MOD_MASK_SHIFT) {
|
|
||||||
tap_code16(G(A(KC_K)));
|
|
||||||
} else {
|
|
||||||
tap_code(KC_MPLY);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
break;
|
|
||||||
case LT(0,KC_X):
|
|
||||||
if (!record->tap.count && record->event.pressed) {
|
|
||||||
tap_code16(C(KC_X)); // Intercept hold function to send Ctrl-X
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
return true;
|
|
||||||
case LT(0,KC_C):
|
|
||||||
if (!record->tap.count && record->event.pressed) {
|
|
||||||
tap_code16(C(KC_C)); // Intercept hold function to send Ctrl-C
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
return true;
|
|
||||||
case LT(0,KC_V):
|
|
||||||
if (!record->tap.count && record->event.pressed) {
|
|
||||||
tap_code16(C(KC_V)); // Intercept hold function to send Ctrl-V
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
return true;
|
|
||||||
case LT(0,KC_S):
|
|
||||||
if (!record->tap.count && record->event.pressed) {
|
|
||||||
tap_code16(C(KC_S)); // Intercept hold function to send Ctrl-S
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
return true;
|
|
||||||
}
|
|
||||||
return true;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
#if defined(ENCODER_MAP_ENABLE)
|
#if defined(ENCODER_MAP_ENABLE)
|
||||||
const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][2] = {
|
const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][2] = {
|
||||||
[_BASE] = { ENCODER_CCW_CW(KC_VOLD, KC_VOLU) },
|
[_BASE] = { ENCODER_CCW_CW(KC_VOLD, KC_VOLU) },
|
||||||
[_CODE] = { ENCODER_CCW_CW(KC_PGDN, KC_PGUP) },
|
[_LOWER] = { ENCODER_CCW_CW(KC_PGDN, KC_PGUP) },
|
||||||
[_FUNC] = { ENCODER_CCW_CW(RGB_MOD, RGB_RMOD) },
|
[_RAISE] = { ENCODER_CCW_CW(KC_PGDN, KC_PGUP) },
|
||||||
[_TOP] = { ENCODER_CCW_CW(KC_VOLD, KC_VOLU) },
|
[_ADJUST] = { ENCODER_CCW_CW(RGB_MOD, RGB_RMOD) },
|
||||||
};
|
};
|
||||||
#endif
|
#endif
|
||||||
|
61
keyboards/ciaanh/kanagawa/kanagawa.c
Normal file
61
keyboards/ciaanh/kanagawa/kanagawa.c
Normal file
@ -0,0 +1,61 @@
|
|||||||
|
/* Copyright 2021 Sleepdealer
|
||||||
|
*
|
||||||
|
* This program is free software: you can redistribute it and/or modify
|
||||||
|
* it under the terms of the GNU General Public License as published by
|
||||||
|
* the Free Software Foundation, either version 2 of the License, or
|
||||||
|
* (at your option) any later version.
|
||||||
|
*
|
||||||
|
* This program is distributed in the hope that it will be useful,
|
||||||
|
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
|
* GNU General Public License for more details.
|
||||||
|
*
|
||||||
|
* You should have received a copy of the GNU General Public License
|
||||||
|
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||||
|
*/
|
||||||
|
#include QMK_KEYBOARD_H
|
||||||
|
|
||||||
|
|
||||||
|
#ifdef OLED_ENABLE
|
||||||
|
bool oled_task_kb(void) {
|
||||||
|
if (!oled_task_user()) {
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
// 21 characters per line
|
||||||
|
// 16 cols / 4 rows
|
||||||
|
|
||||||
|
oled_write_P(PSTR(" Kanagawa rev 2.1 "), false);
|
||||||
|
|
||||||
|
// Host Keyboard Layer Status
|
||||||
|
oled_write_P(PSTR("Layer: "), false);
|
||||||
|
switch (get_highest_layer(layer_state)) {
|
||||||
|
case 0:
|
||||||
|
oled_write_P(PSTR("_\n"), false);
|
||||||
|
break;
|
||||||
|
case 1:
|
||||||
|
oled_write_P(PSTR("[Lower]\n"), false);
|
||||||
|
break;
|
||||||
|
case 2:
|
||||||
|
oled_write_P(PSTR("[Raise]\n"), false);
|
||||||
|
break;
|
||||||
|
case 3:
|
||||||
|
oled_write_P(PSTR("[Adjust]\n"), false);
|
||||||
|
break;
|
||||||
|
default:
|
||||||
|
oled_write_P(PSTR("Undefined\n"), false);
|
||||||
|
}
|
||||||
|
|
||||||
|
// Host Keyboard LED Status
|
||||||
|
led_t led_state = host_keyboard_led_state();
|
||||||
|
oled_write_ln(led_state.caps_lock ? "CAPLOCK" : " ", false);
|
||||||
|
// oled_write_P(led_state.num_lock ? PSTR("NUM ") : PSTR(" "), false);
|
||||||
|
// oled_write_P(led_state.caps_lock ? PSTR("CAP ") : PSTR(" "), false);
|
||||||
|
// oled_write_P(led_state.scroll_lock ? PSTR("SCR ") : PSTR(" "), false);
|
||||||
|
|
||||||
|
oled_advance_page(true);
|
||||||
|
|
||||||
|
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
#endif
|
@ -1,20 +1,3 @@
|
|||||||
BOOTMAGIC_ENABLE = yes # Enable Bootmagic Lite
|
|
||||||
MOUSEKEY_ENABLE = no # Mouse keys
|
|
||||||
EXTRAKEY_ENABLE = yes # Audio control and System control
|
|
||||||
CONSOLE_ENABLE = no # Console for debug
|
|
||||||
COMMAND_ENABLE = no # Commands for debug and configuration
|
|
||||||
NKRO_ENABLE = no # Enable N-Key Rollover
|
|
||||||
BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality
|
|
||||||
RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow
|
|
||||||
AUDIO_ENABLE = no # Audio output
|
|
||||||
BLUETOOTH_ENABLE = no # Enable Bluetooth with the Adafruit EZ-Key HID
|
|
||||||
|
|
||||||
ENCODER_ENABLE = yes
|
|
||||||
|
|
||||||
RGB_MATRIX_ENABLE = yes
|
|
||||||
RGB_MATRIX_DRIVER = WS2812
|
|
||||||
WS2812_DRIVER = vendor
|
|
||||||
|
|
||||||
OLED_ENABLE = yes
|
OLED_ENABLE = yes
|
||||||
OLED_DRIVER = SSD1306
|
OLED_DRIVER = SSD1306
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user