[Keyboard] Adding Krado Industries keyboards (#20372)

Co-authored-by: Joel Challis <git@zvecr.com>
Co-authored-by: jack <0x6a73@protonmail.com>
This commit is contained in:
Feags
2023-07-03 21:21:19 -05:00
committed by GitHub
parent 3097d06ec3
commit 82af8b9bf1
21 changed files with 1246 additions and 0 deletions

View File

@@ -0,0 +1,21 @@
/*
Copyright 2023 Matt F
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 2 of the License, or
(at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
#pragma once
#define RP2040_BOOTLOADER_DOUBLE_TAP_RESET
#define RP2040_BOOTLOADER_DOUBLE_TAP_RESET_TIMEOUT 500U

View File

@@ -0,0 +1,158 @@
{
"keyboard_name": "Kousa-TKL",
"manufacturer": "Krado Industries",
"url": "https://www.kradoindustries.com/",
"maintainer": "Krado Industries",
"processor": "RP2040",
"bootloader": "rp2040",
"usb": {
"vid": "0x4B72",
"pid": "0x4B4F",
"device_version": "1.0.0"
},
"features": {
"bootmagic": true,
"mousekey": true,
"extrakey": true,
"console": false,
"command": false,
"nkro": true,
"encoder": true,
"rgblight": true
},
"encoder": {
"rotary": [
{ "pin_a": "GP10", "pin_b": "GP9" }
]
},
"ws2812": {
"pin": "GP4",
"driver": "vendor"
},
"rgblight": {
"led_count": 18,
"sleep": true,
"animations": {
"alternating": true,
"breathing": true,
"christmas": true,
"knight": true,
"rainbow_mood": true,
"rainbow_swirl": true,
"rgb_test": true,
"snake": true,
"static_gradient": true,
"twinkle": true
}
},
"diode_direction": "COL2ROW",
"matrix_pins": {
"cols": ["GP27", "GP26", "GP25", "GP24", "GP23", "GP22", "GP20", "GP21", "GP14", "GP15", "GP16", "GP17", "GP18", "GP13", "GP0", "GP1", "GP3"],
"rows": [ "GP2", "GP29", "GP28", "GP19", "GP12", "GP11"]
},
"layouts": {
"LAYOUT": {
"layout": [
{"matrix": [0, 0], "x":0, "y":0},
{"matrix": [0, 1], "x":1.25, "y":0},
{"matrix": [0, 2], "x":2.25, "y":0},
{"matrix": [0, 3], "x":3.25, "y":0},
{"matrix": [0, 4], "x":4.25, "y":0},
{"matrix": [0, 5], "x":5.5, "y":0},
{"matrix": [0, 6], "x":6.5, "y":0},
{"matrix": [0, 7], "x":7.5, "y":0},
{"matrix": [0, 8], "x":8.5, "y":0},
{"matrix": [0, 9], "x":9.75, "y":0},
{"matrix": [0, 10], "x":10.75, "y":0},
{"matrix": [0, 11], "x":11.75, "y":0},
{"matrix": [0, 12], "x":12.75, "y":0},
{"matrix": [0, 13], "x":14, "y":0},
{"matrix": [0, 14], "x":15.25, "y":0},
{"matrix": [0, 15], "x":16.25, "y":0},
{"matrix": [0, 16], "x":17.25, "y":0},
{"matrix": [1, 0], "x":0, "y":1.25, "w":1.5},
{"matrix": [1, 1], "x":1.5, "y":1.25},
{"matrix": [1, 2], "x":2.5, "y":1.25},
{"matrix": [1, 3], "x":3.5, "y":1.25},
{"matrix": [1, 4], "x":4.5, "y":1.25},
{"matrix": [1, 5], "x":5.5, "y":1.25},
{"matrix": [1, 6], "x":6.5, "y":1.25},
{"matrix": [1, 7], "x":7.5, "y":1.25},
{"matrix": [1, 8], "x":8.5, "y":1.25},
{"matrix": [1, 9], "x":9.5, "y":1.25},
{"matrix": [1, 10], "x":10.5, "y":1.25},
{"matrix": [1, 11], "x":11.5, "y":1.25},
{"matrix": [1, 12], "x":12.5, "y":1.25},
{"matrix": [1, 13], "x":13.5, "y":1.25, "w":1.5},
{"matrix": [1, 14], "x":15.25, "y":1.25},
{"matrix": [1, 15], "x":16.25, "y":1.25},
{"matrix": [1, 16], "x":17.25, "y":1.25},
{"matrix": [2, 0], "x":0, "y":2.25, "w":1.5},
{"matrix": [2, 1], "x":1.5, "y":2.25},
{"matrix": [2, 2], "x":2.5, "y":2.25},
{"matrix": [2, 3], "x":3.5, "y":2.25},
{"matrix": [2, 4], "x":4.5, "y":2.25},
{"matrix": [2, 5], "x":5.5, "y":2.25},
{"matrix": [2, 6], "x":6.5, "y":2.25},
{"matrix": [2, 7], "x":7.5, "y":2.25},
{"matrix": [2, 8], "x":8.5, "y":2.25},
{"matrix": [2, 9], "x":9.5, "y":2.25},
{"matrix": [2, 10], "x":10.5, "y":2.25},
{"matrix": [2, 11], "x":11.5, "y":2.25},
{"matrix": [2, 12], "x":12.5, "y":2.25},
{"matrix": [2, 13], "x":13.5, "y":2.25, "w":1.5},
{"matrix": [2, 14], "x":15.25, "y":2.25},
{"matrix": [2, 15], "x":16.25, "y":2.25},
{"matrix": [2, 16], "x":17.25, "y":2.25},
{"matrix": [3, 0], "x":0, "y":3.25, "w":1.5},
{"matrix": [3, 1], "x":1.5, "y":3.25},
{"matrix": [3, 2], "x":2.5, "y":3.25},
{"matrix": [3, 3], "x":3.5, "y":3.25},
{"matrix": [3, 4], "x":4.5, "y":3.25},
{"matrix": [3, 5], "x":5.5, "y":3.25},
{"matrix": [3, 6], "x":6.5, "y":3.25},
{"matrix": [3, 7], "x":7.5, "y":3.25},
{"matrix": [3, 8], "x":8.5, "y":3.25},
{"matrix": [3, 9], "x":9.5, "y":3.25},
{"matrix": [3, 10], "x":10.5, "y":3.25},
{"matrix": [3, 11], "x":11.5, "y":3.25},
{"matrix": [3, 12], "x":12.5, "y":3.25},
{"matrix": [3, 13], "x":13.5, "y":3.25, "w":1.5},
{"matrix": [4, 0], "x":0, "y":4.25, "w":1.5},
{"matrix": [4, 1], "x":1.5, "y":4.25},
{"matrix": [4, 2], "x":2.5, "y":4.25},
{"matrix": [4, 3], "x":3.5, "y":4.25},
{"matrix": [4, 4], "x":4.5, "y":4.25},
{"matrix": [4, 5], "x":5.5, "y":4.25},
{"matrix": [4, 6], "x":6.5, "y":4.25},
{"matrix": [4, 7], "x":7.5, "y":4.25},
{"matrix": [4, 8], "x":8.5, "y":4.25},
{"matrix": [4, 9], "x":9.5, "y":4.25},
{"matrix": [4, 10], "x":10.5, "y":4.25},
{"matrix": [4, 11], "x":11.5, "y":4.25},
{"matrix": [4, 12], "x":12.5, "y":4.25},
{"matrix": [4, 13], "x":13.5, "y":4.25, "w":1.5},
{"matrix": [4, 15], "x":16.25, "y":4.25},
{"matrix": [5, 0], "x":0, "y":5.25, "w":1.5},
{"matrix": [5, 1], "x":1.5, "y":5.25},
{"matrix": [5, 2], "x":2.5, "y":5.25},
{"matrix": [5, 3], "x":3.5, "y":5.25},
{"matrix": [5, 4], "x":4.5, "y":5.25},
{"matrix": [5, 5], "x":5.5, "y":5.25},
{"matrix": [5, 6], "x":6.5, "y":5.25, "w":2},
{"matrix": [5, 8], "x":8.5, "y":5.25},
{"matrix": [5, 9], "x":9.5, "y":5.25},
{"matrix": [5, 10], "x":10.5, "y":5.25},
{"matrix": [5, 11], "x":11.5, "y":5.25},
{"matrix": [5, 12], "x":12.5, "y":5.25},
{"matrix": [5, 13], "x":13.5, "y":5.25, "w":1.5},
{"matrix": [5, 14], "x":15.25, "y":5.25},
{"matrix": [5, 15], "x":16.25, "y":5.25},
{"matrix": [5, 16], "x":17.25, "y":5.25}
]
}
}
}

View File

@@ -0,0 +1,111 @@
/*
Copyright 2023 Matt F
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 2 of the License, or
(at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
#include QMK_KEYBOARD_H
#define _FN MO(3)
#define FN_BACK LT(3, KC_BSPC)
#define ZOOMIN C(KC_EQL)
#define ZOOMOUT C(KC_MINS)
#define NTAB C(KC_TAB)
#define BTAB C(S(KC_TAB))
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
[0] = LAYOUT(
/* Base Layer
* --------- .-----------------------------------. .-----------------------------------. .-----------------------------------. --------. .--------------------------.
* | ESC | | F1 | F2 | F3 | F4 | | F5 | F6 | F7 | F8 | | F9 | F10 | F11 | F12 | | F13 | | PrintSC| ScrlLk | Pause |
* | | | | | | | | | | | | | | | | | | | | | | |
* '-------+ '--------+--------+--------+--------' '--------+--------+--------+--------' '--------+--------+--------+--------' '-------+ '--------+--------+--------'
* .-----------------------------------------------------------------------------------------------------------------------------------. .--------------------------.
* | Grave | 1 | 2 | 3 | 4 | 5 | - | = | 6 | 7 | 8 | 9 | 0 | Backspace | | Ins | Home | PageUp |
* | | | | | | | | | | | | | | | | | | |
* |-----------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+-----------| |--------+--------+--------|
* | Tab | Q | W | E | R | T | | | Y | U | I | O | P | Del | | Del | End |PageDown|
* | | | | | | | | | | | | | | | | | | |
* |-----------+--------+--------+--------+--------+--------| [ | ] |--------+--------+--------+-----------------+-----------| '--------+--------+--------'
* | FN_BACK | A | S | D | F | G |--------+--------| H | J | K | L | " | Enter |
* | | | | | | | | | | | | | ' | |
* |-----------+--------+--------+--------+--------+--------| Prev | Next |--------+--------+--------------------------+-----------| .--------.
* | LShift | Z | X | C | V | B | Tab | Tab | N | M | < | > | ? | RShift | | Up |
* | | | | | | | | | | | , | . | / | | | |
* |-----------+--------+--------+--------+--------+-----------------+--------+--------+--------+-----------------+--------+-----------| .--------+--------+--------.
* | LCtrl | LGUI | LALT | FN | Space | Space | Space | Space | Space | Space | RALT | RGUI | RCTRL | | Left | Down | Right |
* | | | | | | | | | | | | | | | | | | |
* '-----------------------------------------------------------------------------------------------------------------------------------' '--------+--------+--------'
*/
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_F13, KC_PSCR, KC_SCRL, KC_PAUS,
KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_MINS, KC_EQL, KC_6, KC_7, KC_8, KC_9, KC_0, KC_BSPC, KC_INS, KC_HOME, KC_PGUP,
KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_LBRC, KC_RBRC, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_DEL, KC_DEL, KC_END, KC_PGDN,
FN_BACK, KC_A, KC_S, KC_D, KC_F, KC_G, KC_LBRC, KC_RBRC, KC_H, KC_J, KC_K, KC_L, KC_QUOT, KC_ENT,
SC_LSPO, KC_Z, KC_X, KC_C, KC_V, KC_B, BTAB, NTAB, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, SC_RSPC, KC_UP,
KC_LCTL, KC_LGUI, KC_LALT, _FN, KC_SPC, KC_SPC, KC_SPC, KC_SPC, KC_SPC, KC_SPC, KC_RALT, _FN, KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT
),
[1] = LAYOUT( /* Layer One */
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_F13, KC_PSCR, KC_SCRL, KC_PAUS,
KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_MINS, KC_EQL, KC_6, KC_7, KC_8, KC_9, KC_0, KC_BSPC, KC_INS, KC_HOME, KC_PGUP,
KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_LBRC, KC_RBRC, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_DEL, KC_DEL, KC_END, KC_PGDN,
KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_LBRC, KC_RBRC, KC_H, KC_J, KC_K, KC_L, KC_QUOT, KC_ENT,
KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_PGUP, KC_PGDN, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP,
KC_LCTL, KC_LGUI, KC_LALT, _FN, KC_SPC, KC_SPC, KC_SPC, KC_SPC, KC_SPC, KC_SPC, KC_RALT, _FN, KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT
),
[2] = LAYOUT( /* Layer Two */
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_F13, KC_PSCR, KC_SCRL, KC_PAUS,
KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_MINS, KC_EQL, KC_6, KC_7, KC_8, KC_9, KC_0, KC_BSPC, KC_INS, KC_HOME, KC_PGUP,
KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, ZOOMIN, KC_RBRC, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_DEL, KC_DEL, KC_END, KC_PGDN,
FN_BACK, KC_A, KC_S, KC_D, KC_F, KC_G, KC_LBRC, KC_RBRC, KC_H, KC_J, KC_K, KC_L, KC_QUOT, KC_ENT,
KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, ZOOMOUT, KC_LBRC, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP,
KC_LCTL, KC_LGUI, KC_LALT, _FN, KC_SPC, KC_SPC, KC_SPC, KC_SPC, KC_SPC, KC_SPC, KC_RALT, _FN, KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT
),
[3] = LAYOUT( /* Layer Three */
KC_ESC, DF(0), DF(1), DF(2), KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_F13, KC_PSCR, KC_SCRL, QK_BOOT,
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, DF(0), RGB_MOD,
KC_TRNS, KC_HOME, KC_UP, KC_END, KC_PGUP, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, DF(1), RGB_RMOD,
KC_TRNS, KC_LEFT, KC_DOWN, KC_RGHT, KC_PGDN, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_SCLN, KC_TRNS,
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_MUTE, KC_VOLU, KC_VOLD, KC_BSLS, KC_CAPS, KC_TRNS,
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_ENT, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS
)
};
#if defined(ENCODER_MAP_ENABLE)
const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][NUM_DIRECTIONS] = {
[0] = { ENCODER_CCW_CW(KC_MS_WH_UP, KC_MS_WH_DOWN) },
[1] = { ENCODER_CCW_CW(KC_TRNS, KC_TRNS) },
[2] = { ENCODER_CCW_CW(KC_TRNS, KC_TRNS) },
[3] = { ENCODER_CCW_CW(KC_VOLU, KC_VOLD) }
};
#endif

View File

@@ -0,0 +1 @@
ENCODER_MAP_ENABLE = yes

View File

@@ -0,0 +1,111 @@
/*
Copyright 2023 Matt F
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 2 of the License, or
(at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
#include QMK_KEYBOARD_H
#define _FN MO(3)
#define FN_BACK LT(3, KC_BSPC)
#define ZOOMIN C(KC_EQL)
#define ZOOMOUT C(KC_MINS)
#define NTAB C(KC_TAB)
#define BTAB C(S(KC_TAB))
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
[0] = LAYOUT(
/* Base Layer
* --------- .-----------------------------------. .-----------------------------------. .-----------------------------------. --------. .--------------------------.
* | ESC | | F1 | F2 | F3 | F4 | | F5 | F6 | F7 | F8 | | F9 | F10 | F11 | F12 | | F13 | | PrintSC| ScrlLk | Pause |
* | | | | | | | | | | | | | | | | | | | | | | |
* '-------+ '--------+--------+--------+--------' '--------+--------+--------+--------' '--------+--------+--------+--------' '-------+ '--------+--------+--------'
* .-----------------------------------------------------------------------------------------------------------------------------------. .--------------------------.
* | Grave | 1 | 2 | 3 | 4 | 5 | - | = | 6 | 7 | 8 | 9 | 0 | Backspace | | Ins | Home | PageUp |
* | | | | | | | | | | | | | | | | | | |
* |-----------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+-----------| |--------+--------+--------|
* | Tab | Q | W | E | R | T | | | Y | U | I | O | P | Del | | Del | End |PageDown|
* | | | | | | | | | | | | | | | | | | |
* |-----------+--------+--------+--------+--------+--------| [ | ] |--------+--------+--------+-----------------+-----------| '--------+--------+--------'
* | FN_BACK | A | S | D | F | G |--------+--------| H | J | K | L | " | Enter |
* | | | | | | | | | | | | | ' | |
* |-----------+--------+--------+--------+--------+--------| Prev | Next |--------+--------+--------------------------+-----------| .--------.
* | LShift | Z | X | C | V | B | Tab | Tab | N | M | < | > | ? | RShift | | Up |
* | | | | | | | | | | | , | . | / | | | |
* |-----------+--------+--------+--------+--------+-----------------+--------+--------+--------+-----------------+--------+-----------| .--------+--------+--------.
* | LCtrl | LGUI | LALT | FN | Space | Space | Space | Space | Space | Space | RALT | RGUI | RCTRL | | Left | Down | Right |
* | | | | | | | | | | | | | | | | | | |
* '-----------------------------------------------------------------------------------------------------------------------------------' '--------+--------+--------'
*/
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_F13, KC_PSCR, KC_SCRL, KC_PAUS,
KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_MINS, KC_EQL, KC_6, KC_7, KC_8, KC_9, KC_0, KC_BSPC, KC_INS, KC_HOME, KC_PGUP,
KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_LBRC, KC_RBRC, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_DEL, KC_DEL, KC_END, KC_PGDN,
FN_BACK, KC_A, KC_S, KC_D, KC_F, KC_G, KC_LBRC, KC_RBRC, KC_H, KC_J, KC_K, KC_L, KC_QUOT, KC_ENT,
SC_LSPO, KC_Z, KC_X, KC_C, KC_V, KC_B, BTAB, NTAB, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, SC_RSPC, KC_UP,
KC_LCTL, KC_LGUI, KC_LALT, _FN, KC_SPC, KC_SPC, KC_SPC, KC_SPC, KC_SPC, KC_SPC, KC_RALT, _FN, KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT
),
[1] = LAYOUT( /* Layer One */
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_F13, KC_PSCR, KC_SCRL, KC_PAUS,
KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_MINS, KC_EQL, KC_6, KC_7, KC_8, KC_9, KC_0, KC_BSPC, KC_INS, KC_HOME, KC_PGUP,
KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_LBRC, KC_RBRC, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_DEL, KC_DEL, KC_END, KC_PGDN,
KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_LBRC, KC_RBRC, KC_H, KC_J, KC_K, KC_L, KC_QUOT, KC_ENT,
KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_PGUP, KC_PGDN, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP,
KC_LCTL, KC_LGUI, KC_LALT, _FN, KC_SPC, KC_SPC, KC_SPC, KC_SPC, KC_SPC, KC_SPC, KC_RALT, _FN, KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT
),
[2] = LAYOUT( /* Layer Two */
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_F13, KC_PSCR, KC_SCRL, KC_PAUS,
KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_MINS, KC_EQL, KC_6, KC_7, KC_8, KC_9, KC_0, KC_BSPC, KC_INS, KC_HOME, KC_PGUP,
KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, ZOOMIN, KC_RBRC, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_DEL, KC_DEL, KC_END, KC_PGDN,
FN_BACK, KC_A, KC_S, KC_D, KC_F, KC_G, KC_LBRC, KC_RBRC, KC_H, KC_J, KC_K, KC_L, KC_QUOT, KC_ENT,
KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, ZOOMOUT, KC_LBRC, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP,
KC_LCTL, KC_LGUI, KC_LALT, _FN, KC_SPC, KC_SPC, KC_SPC, KC_SPC, KC_SPC, KC_SPC, KC_RALT, _FN, KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT
),
[3] = LAYOUT( /* Layer Three */
KC_ESC, DF(0), DF(1), DF(2), KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_F13, KC_PSCR, KC_SCRL, QK_BOOT,
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, DF(0), RGB_MOD,
KC_TRNS, KC_HOME, KC_UP, KC_END, KC_PGUP, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, DF(1), RGB_RMOD,
KC_TRNS, KC_LEFT, KC_DOWN, KC_RGHT, KC_PGDN, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_SCLN, KC_TRNS,
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_MUTE, KC_VOLU, KC_VOLD, KC_BSLS, KC_CAPS, KC_TRNS,
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_ENT, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS
)
};
#if defined(ENCODER_MAP_ENABLE)
const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][NUM_DIRECTIONS] = {
[0] = { ENCODER_CCW_CW(KC_MS_WH_UP, KC_MS_WH_DOWN) },
[1] = { ENCODER_CCW_CW(KC_TRNS, KC_TRNS) },
[2] = { ENCODER_CCW_CW(KC_TRNS, KC_TRNS) },
[3] = { ENCODER_CCW_CW(KC_VOLU, KC_VOLD) }
};
#endif

View File

@@ -0,0 +1,3 @@
VIA_ENABLE = yes
LTO_ENABLE = yes
ENCODER_MAP_ENABLE = yes

View File

@@ -0,0 +1,32 @@
# Kousa TKL
![Photo](https://i.imgur.com/b2JJoiIh.jpg)
A hotswap H88-Compact Type-C compatible ortholinear TKL PCB that uses ergodox modifiers. Based on the [Boardwalk](https://github.com/qmk/qmk_firmware/tree/master/keyboards/boardwalk)'s split hand layout, with the addtion of 6u and split 3u spacebar stabilizer support. F13 and F12 layouts are supported. The F13 location also supports a rotary encoder. The default layout will have 1.5u vertical inner modifiers, but it is possible to convert the center keys to 1u by soldering hotswap sockets. The board is designed to be compatible with H88-C type C boards and the outline of the board was based on zykrah's [slime88 pcb](https://github.com/zykrah/slime88). The usb C port can be broken off and used with a JST connector and daughterboard.
The name is meant to be read "Kousa Tenkeyless". "Kousaten" (交差点) means intersection or crossing in Japanese. I wanted the name to be a nod to the Boardwalk without using u/shensmobile's naming conventions and Crosswalk seemed pretty close, but then I realized "crossing" in Japanese is "kousaten" and I thought it would call it the Kousa Tenkeyless!
* Keyboard Maintainer: [Feags](https://github.com/Feags) / [Krado Industries](https://kradoindustries.com/)
* Hardware Supported: H88-C type C cases. Confirmed working in KFA Freebird TKL. Also confirmed working in KBDFans Tiger80 Lite. *Please note that you will need a custom plate for any case.*
* Hardware Availabilitiy: [Krado Industries](https://kradoindustries.com/)
Make example for this keyboard (after setting up your build environment):
make kradoindustries/kousa:default
Flashing example for this keyboard:
make kradoindustries/kousa:default:flash
See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) and the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information. Brand new to QMK? Start with our [Complete Newbs Guide](https://docs.qmk.fm/#/newbs).
## Bootloader
Enter the bootloader in 3 ways:
* **Bootmagic reset**: Hold down the key at (0,0) in the matrix (usually the top left key or Escape) and plug in the keyboard
* **Physical reset button**: Briefly press the button on the back of the PCB - some may have pads you must short instead
* **Keycode in layout**: Press the key mapped to `QK_BOOT` if it is available

View File

@@ -0,0 +1 @@
# This file intentionally left blank