From 8e7fb4eb92374c9eea202d87feda6d0caa602cac Mon Sep 17 00:00:00 2001 From: Ciaanh Date: Sun, 21 May 2023 20:06:08 +0200 Subject: [PATCH] Refacto from reviews --- keyboards/ciaanh/kanagawa/ansi/ansi.c | 60 ------ keyboards/ciaanh/kanagawa/ansi/info.json | 128 ++++++++++++- .../kanagawa/ansi/keymaps/ciaanh/keymap.c | 165 ++++++++++++++++ .../kanagawa/ansi/keymaps/default/keymap.c | 105 +++-------- .../ciaanh/kanagawa/ansi/keymaps/via/keymap.c | 176 ++++-------------- keyboards/ciaanh/kanagawa/config.h | 2 +- keyboards/ciaanh/kanagawa/iso/info.json | 130 ++++++++++++- keyboards/ciaanh/kanagawa/iso/iso.c | 60 ------ .../kanagawa/iso/keymaps/default/keymap.c | 173 ++++------------- keyboards/ciaanh/kanagawa/kanagawa.c | 61 ++++++ keyboards/ciaanh/kanagawa/rules.mk | 17 -- 11 files changed, 571 insertions(+), 506 deletions(-) delete mode 100644 keyboards/ciaanh/kanagawa/ansi/ansi.c create mode 100644 keyboards/ciaanh/kanagawa/ansi/keymaps/ciaanh/keymap.c delete mode 100644 keyboards/ciaanh/kanagawa/iso/iso.c create mode 100644 keyboards/ciaanh/kanagawa/kanagawa.c 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