diff --git a/keyboards/ciaanh/kanagawa/ansi/ansi.c b/keyboards/ciaanh/kanagawa/ansi/ansi.c
deleted file mode 100644
index 1766ba18857..00000000000
--- a/keyboards/ciaanh/kanagawa/ansi/ansi.c
+++ /dev/null
@@ -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 .
- */
-#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
\ No newline at end of file
diff --git a/keyboards/ciaanh/kanagawa/ansi/info.json b/keyboards/ciaanh/kanagawa/ansi/info.json
index 9fa838ff8f6..6dc940f8a54 100644
--- a/keyboards/ciaanh/kanagawa/ansi/info.json
+++ b/keyboards/ciaanh/kanagawa/ansi/info.json
@@ -8,18 +8,39 @@
"pid": "0x0010",
"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": {
"rotary": [
{"pin_a": "GP2", "pin_b": "GP3"}
]
},
- "diode_direction": "COL2ROW",
- "matrix_pins": {
- "rows": ["GP28", "GP27", "GP26", "GP22", "GP21", "GP20"],
- "cols": ["GP5", "GP6", "GP7", "GP8", "GP9", "GP10", "GP11", "GP12", "GP13", "GP14", "GP15", "GP16", "GP17", "GP18"]
+ "bootmagic": {
+ "enabled": true,
+ "matrix": [0, 13]
},
- "processor": "RP2040",
- "bootloader": "rp2040",
+
"layouts": {
"LAYOUT": {
@@ -119,5 +140,100 @@
{ "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 }
+ ]
}
}
diff --git a/keyboards/ciaanh/kanagawa/ansi/keymaps/ciaanh/keymap.c b/keyboards/ciaanh/kanagawa/ansi/keymaps/ciaanh/keymap.c
new file mode 100644
index 00000000000..773ecb92564
--- /dev/null
+++ b/keyboards/ciaanh/kanagawa/ansi/keymaps/ciaanh/keymap.c
@@ -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 .
+ */
+#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
+
diff --git a/keyboards/ciaanh/kanagawa/ansi/keymaps/default/keymap.c b/keyboards/ciaanh/kanagawa/ansi/keymaps/default/keymap.c
index 04cfd00d39a..880ad3c1ad7 100644
--- a/keyboards/ciaanh/kanagawa/ansi/keymaps/default/keymap.c
+++ b/keyboards/ciaanh/kanagawa/ansi/keymaps/default/keymap.c
@@ -25,17 +25,6 @@ enum layers
_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
* ,---------. ,---------------------------------------. ,---------------------------------------. ,---------------------------------------. ,---------.
* | 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 |
* `---------' `---------' `---------+---------+---------'
*/
- [_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, L_CODE, KC_SPC, KC_SPC, KC_RALT, KC_RCTL, TO_FUNC, KC_LEFT, KC_DOWN, KC_RGHT \
+ [_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, 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, 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, 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, \
_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 \
),
- [_FUNC] = 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(
+ [_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, 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) {
switch (keycode) {
case CUSTOMKEY:
diff --git a/keyboards/ciaanh/kanagawa/ansi/keymaps/via/keymap.c b/keyboards/ciaanh/kanagawa/ansi/keymaps/via/keymap.c
index d2400c4da4a..2d849c44e42 100644
--- a/keyboards/ciaanh/kanagawa/ansi/keymaps/via/keymap.c
+++ b/keyboards/ciaanh/kanagawa/ansi/keymaps/via/keymap.c
@@ -20,22 +20,11 @@
enum layers
{
_BASE,
- _CODE,
- _FUNC,
- _TOP
+ _LOWER,
+ _RAISE,
+ _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
* ,---------. ,---------------------------------------. ,---------------------------------------. ,---------------------------------------. ,---------.
* | 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 | ,---------.
* |---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------' | UP |
-* | LCtrl | LGUI | LAlt | CODE | ,---------. ,---------. | RAlt | RCtrl | FUNC | ,---------|---------|---------.
+* | LCtrl | LGUI | LAlt | LOWER | ,---------. ,---------. | RAlt | RAISE | 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, L_CODE, KC_SPC, KC_SPC, KC_RALT, KC_RCTL, TO_FUNC, KC_LEFT, KC_DOWN, KC_RGHT \
+ [_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, 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, 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, MO(_LOWER), KC_SPC, KC_SPC, KC_RALT,MO(_RAISE), KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT \
),
- [_CODE] = LAYOUT(
- XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, \
+ [_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, _______, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX \
+ XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, \
+ XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, \
+ XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, \
+ 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(
- XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, RGB_TOG, \
+ [_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, 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 \
+ XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, \
+ XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, \
+ XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, \
+ XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, \
+ XXXXXXX, XXXXXXX, XXXXXXX, _______, XXXXXXX, XXXXXXX, XXXXXXX, _______, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX \
),
- [_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 \
- ),
+ [_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) {
- 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;
+layer_state_t layer_state_set_user(layer_state_t state) {
+ return update_tri_layer_state(state, _LOWER, _RAISE, _ADJUST);
}
#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) },
+ [_LOWER] = { ENCODER_CCW_CW(KC_PGDN, KC_PGUP) },
+ [_RAISE] = { ENCODER_CCW_CW(KC_PGDN, KC_PGUP) },
+ [_ADJUST] = { ENCODER_CCW_CW(RGB_MOD, RGB_RMOD) },
};
#endif
-
diff --git a/keyboards/ciaanh/kanagawa/config.h b/keyboards/ciaanh/kanagawa/config.h
index e84f8bd82c7..2e746967b84 100644
--- a/keyboards/ciaanh/kanagawa/config.h
+++ b/keyboards/ciaanh/kanagawa/config.h
@@ -36,7 +36,7 @@
# define RGB_MATRIX_FRAMEBUFFER_EFFECTS
# 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_LEFT_RIGHT
# define ENABLE_RGB_MATRIX_BREATHING
diff --git a/keyboards/ciaanh/kanagawa/iso/info.json b/keyboards/ciaanh/kanagawa/iso/info.json
index 7bc120f7b55..0bd73b55fd6 100644
--- a/keyboards/ciaanh/kanagawa/iso/info.json
+++ b/keyboards/ciaanh/kanagawa/iso/info.json
@@ -5,21 +5,41 @@
"maintainer": "Ciaanh",
"usb": {
"vid": "0xC1E0",
- "pid": "0x0010",
+ "pid": "0x0011",
"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": {
"rotary": [
{"pin_a": "GP2", "pin_b": "GP3"}
]
},
- "diode_direction": "COL2ROW",
- "matrix_pins": {
- "rows": ["GP28", "GP27", "GP26", "GP22", "GP21", "GP20"],
- "cols": ["GP5", "GP6", "GP7", "GP8", "GP9", "GP10", "GP11", "GP12", "GP13", "GP14", "GP15", "GP16", "GP17", "GP18"]
+ "bootmagic": {
+ "enabled": true,
+ "matrix": [0, 13]
},
- "processor": "RP2040",
- "bootloader": "rp2040",
"layouts": {
"LAYOUT": {
@@ -119,5 +139,101 @@
{ "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 }
+ ]
}
}
diff --git a/keyboards/ciaanh/kanagawa/iso/iso.c b/keyboards/ciaanh/kanagawa/iso/iso.c
deleted file mode 100644
index bbcfaed4323..00000000000
--- a/keyboards/ciaanh/kanagawa/iso/iso.c
+++ /dev/null
@@ -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 .
- */
-#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
\ No newline at end of file
diff --git a/keyboards/ciaanh/kanagawa/iso/keymaps/default/keymap.c b/keyboards/ciaanh/kanagawa/iso/keymaps/default/keymap.c
index da2de919137..36708f6b799 100644
--- a/keyboards/ciaanh/kanagawa/iso/keymaps/default/keymap.c
+++ b/keyboards/ciaanh/kanagawa/iso/keymaps/default/keymap.c
@@ -20,22 +20,11 @@
enum layers
{
_BASE,
- _CODE,
- _FUNC,
- _TOP
+ _LOWER,
+ _RAISE,
+ _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
* ,---------. ,---------------------------------------. ,---------------------------------------. ,---------------------------------------. ,---------.
* | 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 | ,---------.
* |---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------' | UP |
-* | LCtrl | LGUI | LAlt | CODE | ,---------. ,---------. | RAlt | RCtrl | FUNC | ,---------|---------|---------.
+* | LCtrl | LGUI | LAlt | LOWER | ,---------. ,---------. | RAlt | RAISE | 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_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_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_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_LCTL, KC_LGUI, KC_LALT, L_CODE, KC_SPC, KC_SPC, KC_RALT, KC_RCTL, TO_FUNC, KC_LEFT, KC_DOWN, KC_RGHT \
+ 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_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, 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, MO(_LOWER), KC_SPC, KC_SPC, KC_RALT,MO(_RAISE), KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT \
),
- [_CODE] = LAYOUT(
- XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, \
+ [_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, _______, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX \
+ XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, \
+ XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, \
+ XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, \
+ 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(
- XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, RGB_TOG, \
+ [_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, 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 \
+ XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, \
+ XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, \
+ XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, \
+ XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, \
+ XXXXXXX, XXXXXXX, XXXXXXX, _______, XXXXXXX, XXXXXXX, XXXXXXX, _______, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX \
),
- [_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 \
- ),
+ [_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.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;
+layer_state_t layer_state_set_user(layer_state_t state) {
+ return update_tri_layer_state(state, _LOWER, _RAISE, _ADJUST);
}
#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) },
+ [_LOWER] = { ENCODER_CCW_CW(KC_PGDN, KC_PGUP) },
+ [_RAISE] = { ENCODER_CCW_CW(KC_PGDN, KC_PGUP) },
+ [_ADJUST] = { ENCODER_CCW_CW(RGB_MOD, RGB_RMOD) },
};
#endif
diff --git a/keyboards/ciaanh/kanagawa/kanagawa.c b/keyboards/ciaanh/kanagawa/kanagawa.c
new file mode 100644
index 00000000000..0d95b2ee4a4
--- /dev/null
+++ b/keyboards/ciaanh/kanagawa/kanagawa.c
@@ -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 .
+ */
+#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
\ No newline at end of file
diff --git a/keyboards/ciaanh/kanagawa/rules.mk b/keyboards/ciaanh/kanagawa/rules.mk
index a3229f13518..8db6d04ea5f 100644
--- a/keyboards/ciaanh/kanagawa/rules.mk
+++ b/keyboards/ciaanh/kanagawa/rules.mk
@@ -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_DRIVER = SSD1306