Merge remote-tracking branch 'origin/master' into develop

master
QMK Bot 2023-07-04 02:22:01 +00:00
commit 9f837a2f0b
29 changed files with 1594 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

View File

@ -0,0 +1,130 @@
{
"keyboard_name": "Krado66",
"manufacturer": "Krado Industries",
"url": "https://www.kradoindustries.com/",
"maintainer": "Krado Industries",
"usb": {
"vid": "0x4B72",
"pid": "0x6664",
"device_version": "2.0.0"
},
"processor": "atmega32u4",
"bootloader": "atmel-dfu",
"features": {
"bootmagic": true,
"mousekey": true,
"extrakey": true,
"console": false,
"command": false,
"nkro": true,
"encoder": true,
"rgblight": true
},
"ws2812": {
"pin": "B2"
},
"rgblight": {
"led_count": 14,
"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
}
},
"encoder": {
"rotary": [
{ "pin_a": "B1", "pin_b": "B0" },
{ "pin_a": "D7", "pin_b": "D6" },
{ "pin_a": "F7", "pin_b": "F6" }
]
},
"diode_direction": "COL2ROW",
"matrix_pins": {
"cols": [ "C7", "B3", "D0", "D1", "D2", "D3", "D5", "D4"],
"rows": [ "F5", "F4", "F1", "F0", "B7", "E6", "B4", "B5", "C6", "B6" ]
},
"layouts": {
"LAYOUT": {
"layout": [
{"matrix": [0, 0], "x":0.25, "y":0},
{"matrix": [1, 0], "x":1.25, "y":0},
{"matrix": [0, 1], "x":2.25, "y":0},
{"matrix": [1, 1], "x":3.25, "y":0},
{"matrix": [0, 2], "x":4.25, "y":0},
{"matrix": [1, 2], "x":5.25, "y":0},
{"matrix": [0, 3], "x":6.25, "y":0},
{"matrix": [1, 3], "x":7.25, "y":0},
{"matrix": [0, 4], "x":8.25, "y":0},
{"matrix": [1, 4], "x":9.25, "y":0},
{"matrix": [0, 5], "x":10.25, "y":0},
{"matrix": [1, 5], "x":11.25, "y":0},
{"matrix": [0, 6], "x":12.25, "y":0},
{"matrix": [1, 6], "x":13.25, "y":0},
{"matrix": [0, 7], "x":14.25, "y":0},
{"matrix": [1, 7], "x":15.25, "y":0},
{"matrix": [3, 0], "x":0.75, "y":1, "w":1.5},
{"matrix": [2, 1], "x":2.25, "y":1},
{"matrix": [3, 1], "x":3.25, "y":1},
{"matrix": [2, 2], "x":4.25, "y":1},
{"matrix": [3, 2], "x":5.25, "y":1},
{"matrix": [2, 3], "x":6.25, "y":1},
{"matrix": [3, 3], "x":7.25, "y":1},
{"matrix": [2, 4], "x":8.25, "y":1},
{"matrix": [3, 4], "x":9.25, "y":1},
{"matrix": [2, 5], "x":10.25, "y":1},
{"matrix": [3, 5], "x":11.25, "y":1},
{"matrix": [2, 6], "x":12.25, "y":1},
{"matrix": [3, 6], "x":13.25, "y":1},
{"matrix": [2, 7], "x":14.25, "y":1, "w":1.5},
{"matrix": [5, 0], "x":0.5, "y":2, "w":1.75},
{"matrix": [4, 1], "x":2.25, "y":2},
{"matrix": [5, 1], "x":3.25, "y":2},
{"matrix": [4, 2], "x":4.25, "y":2},
{"matrix": [5, 2], "x":5.25, "y":2},
{"matrix": [4, 3], "x":6.25, "y":2},
{"matrix": [5, 3], "x":7.25, "y":2},
{"matrix": [4, 4], "x":8.25, "y":2},
{"matrix": [5, 4], "x":9.25, "y":2},
{"matrix": [4, 5], "x":10.25, "y":2},
{"matrix": [5, 5], "x":11.25, "y":2},
{"matrix": [4, 6], "x":12.25, "y":2},
{"matrix": [5, 6], "x":13.25, "y":2, "w":2.25},
{"matrix": [7, 0], "x":0, "y":3, "w":2.25},
{"matrix": [6, 1], "x":2.25, "y":3},
{"matrix": [7, 1], "x":3.25, "y":3},
{"matrix": [6, 2], "x":4.25, "y":3},
{"matrix": [7, 2], "x":5.25, "y":3},
{"matrix": [6, 3], "x":6.25, "y":3},
{"matrix": [7, 3], "x":7.25, "y":3},
{"matrix": [6, 4], "x":8.25, "y":3},
{"matrix": [7, 4], "x":9.25, "y":3},
{"matrix": [6, 5], "x":10.25, "y":3},
{"matrix": [7, 5], "x":11.25, "y":3},
{"matrix": [6, 6], "x":12.25, "y":3, "w":1.75},
{"matrix": [6, 7], "x":14, "y":3},
{"matrix": [7, 7], "x":15, "y":3},
{"matrix": [8, 0], "x":0, "y":4, "w":1.25},
{"matrix": [9, 0], "x":1.25, "y":4, "w":1.25},
{"matrix": [8, 1], "x":2.5, "y":4, "w":1.25},
{"matrix": [9, 2], "x":3.75, "y":4, "w":1.25},
{"matrix": [8, 3], "x":5, "y":4, "w":2.25},
{"matrix": [9, 4], "x":7.25, "y":4, "w":2.75},
{"matrix": [8, 5], "x":10, "y":4},
{"matrix": [9, 5], "x":11, "y":4},
{"matrix": [8, 6], "x":12, "y":4},
{"matrix": [9, 6], "x":13, "y":4},
{"matrix": [8, 7], "x":14, "y":4},
{"matrix": [9, 7], "x":15, "y":4}
]
}
}
}

View File

@ -0,0 +1,177 @@
/*
Copyright 2022 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
enum layer {
_QWERTY,
_QWERTYX,
_FUNCTION,
_EXTRA,
};
#define QWERTY DF(_QWERTY)
#define QWERTYX DF(_QWERTYX)
#define FN MO(_FUNCTION)
#define BACKFN LT(_FUNCTION, KC_BSPC)
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
[_QWERTY] = LAYOUT(
KC_ESC, 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_BSPC, \
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_DEL, \
KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT, \
KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP, FN, \
KC_LCTL, KC_LGUI, KC_LALT, FN, KC_SPC, KC_SPC, KC_RALT, KC_RCTL, KC_LGUI, KC_LEFT, KC_DOWN, KC_RGHT \
),
/* Default
* .-----------------------------------------------------------------------------------------------------------------------------------------------+
* | ESC | ~ | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 0 | - | + | Backspc| Back |
* | | ` | | | | | | | | | | | _ | = | | |
* +--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+
* | TAB | Q | W | E | R | T | Y | U | I | O | P | [ | ] | DELETE |
* | | | | | | | | | | | | { | } | |
* +---------------+--------+--------+--------+--------+------- +--------+--------+--------+--------+--------+--------|--------+-------------+
* | CAPS LOCK | A | S | D | F | G | H | J | K | L | ; | ' | ENTER |
* | | | | | | | | | | | : | " | |
* +-----------------+--------+--------+--------+--------+--------+--------+--------+--------------------------+--------+-------+-----------+-----+
* | SHIFT | Z | X | C | V | B | N | M | < | > | / | RSHIFT | UP | Fn |
* | | | | | | | | | , | . | ? | | | |
* |----------+----------+----------+--------------------------------------------------------+--------+--------+--------+--------+--------+--------+
* | LCTRL | LGUI | LALT | Fn | SPACE | Space | RALT | RCTRL | GUI | LEFT | DOWN | RIGHT |
* | | | | | | | | | | | | |
* '--------------------------------------------------------------------------------------------------------------------------------------+--------+
*/
[_QWERTYX] = LAYOUT(
KC_ESC, 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_BSPC, \
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_DEL, \
BACKFN, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT, \
SC_LSPO, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, SC_RSPC, KC_UP, FN, \
KC_LCTL, KC_LGUI, KC_LALT, FN, KC_SPC, KC_SPC, KC_RALT, KC_RCTL, KC_LGUI, KC_LEFT, KC_DOWN, KC_RGHT \
),
/* Default
* .-----------------------------------------------------------------------------------------------------------------------------------------------+
* | ESC | ~ | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 0 | - | + | Backspc| Back |
* | | ` | | | | | | | | | | | _ | = | | |
* +--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+
* | TAB | Q | W | E | R | T | Y | U | I | O | P | [ | ] | DELETE |
* | | | | | | | | | | | | { | } | |
* +---------------+--------+--------+--------+--------+------- +--------+--------+--------+--------+--------+--------|--------+-------------+
* | BACKSPACE (FN)| A | S | D | F | G | H | J | K | L | ; | ' | ENTER |
* | | | | | | | | | | | : | " | |
* +-----------------+--------+--------+--------+--------+--------+--------+--------+--------------------------+--------+-------+-----------+-----+
* | CADET SHIFT ( | Z | X | C | V | B | N | M | < | > | / | CADET SHIFT ) | UP | Fn |
* | | | | | | | | | , | . | ? | | | |
* |----------+----------+----------+--------------------------------------------------------+--------+--------+--------+--------+--------|--------+
* | LCTRL | LGUI | LALT | Fn | SPACE | Space | RALT | GUI | RCTRL | LEFT | DOWN | RIGHT |
* | | | | | | | | | | | | |
* '--------------------------------------------------------------------------------------------------------------------------------------+--------+
*/
[_FUNCTION] = LAYOUT(
QK_BOOT, QWERTYX, 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_DEL, QK_BOOT, \
QWERTY, KC_HOME, KC_UP, KC_END, KC_PGUP, KC_TRNS, KC_TRNS, KC_TRNS, KC_INS, KC_TRNS, KC_PSCR, KC_TRNS, KC_TRNS, KC_DEL, \
_______, KC_LEFT, KC_DOWN, KC_RGHT, KC_PGDN, KC_TRNS, KC_TRNS, KC_MPRV, KC_MPLY, KC_MNXT, KC_TRNS, KC_TRNS, RGB_TOG, \
KC_TRNS, RGB_M_R, RGB_M_X, RGB_M_SW,RGB_M_K, RGB_M_B, RGB_M_G, KC_MUTE, KC_VOLD, KC_VOLU, KC_BSLS, KC_CAPS, KC_PGUP, KC_TRNS, \
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_ENT, KC_PDOT, KC_TRNS, KC_TRNS, KC_TRNS, KC_HOME, KC_PGDN, KC_END \
),
/* Fn
* .-----------------------------------------------------------------------------------------------------------------------------------------------+
* | |QWERTYEX| F1 | F2 | F3 | F4 | F5 | F6 | F7 | F8 | F9 | F10 | F11 | F12 | DELETE | RESET |
* | | | | | | | | | | | | | | | | |
* +--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+
* | QWERTY | HOME | UP | END | PGUP | | | | INS | | Print | | | DELETE |
* | | | | | | | | | | | Screen | | | |
* +---------------+--------+--------+--------+--------+------- +--------+--------+--------+--------+--------+--------|--------+-------------+
* | | LEFT | DOWN | RIGHT | PGDN | | | PREV | PLAY | NEXT | | | RGB TOG |
* | | | | | | | | | | | | | |
* +-----------------+--------+--------+--------+--------+--------+--------+--------+--------------------------+--------+-------+------------+----+
* | | Rainbow| Xmas | Swirl | Knight |Breathe |GradieNt| MUTE | VOL DN | VOL UP | PIPE \ | CAPS LOCK | PAGEUP | Fn |
* | | | | | | | | | | | | | | |
* |----------+----------+----------+---------------------------------------------------------+--------+--------+----------------+--------+--------+
* | | | | Fn | ENTER | NUM.Dot | | | | HOME | PAGEDN | END |
* | | | | | | | | | | | | |
* '--------------------------------------------------------------------------------------------------------------------------------------+--------+
*/
[_EXTRA] = LAYOUT(
QK_BOOT, QWERTYX, 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_DEL, QK_BOOT, \
QWERTY, KC_HOME, KC_UP, KC_END, KC_PGUP, KC_TRNS, KC_TRNS, KC_TRNS, KC_INS, KC_TRNS, KC_PSCR, KC_TRNS, KC_TRNS, KC_DEL, \
_______, KC_LEFT, KC_DOWN, KC_RGHT, KC_PGDN, KC_TRNS, KC_TRNS, KC_MPRV, KC_MPLY, KC_MNXT, KC_TRNS, KC_TRNS, RGB_TOG, \
KC_TRNS, RGB_M_R, RGB_M_X, RGB_M_SW,RGB_M_K, RGB_M_B, RGB_M_G, KC_MUTE, KC_VOLD, KC_VOLU, KC_BSLS, KC_CAPS, KC_PGUP, KC_TRNS, \
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_ENT, KC_PDOT, KC_TRNS, KC_TRNS, KC_TRNS, KC_HOME, KC_PGDN, KC_END \
),
/* Fn
* .-----------------------------------------------------------------------------------------------------------------------------------------------+
* | |QWERTYX | F1 | F2 | F3 | F4 | F5 | F6 | F7 | F8 | F9 | F10 | F11 | F12 | DELETE | RESET |
* | | | | | | | | | | | | | | | | |
* +--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+
* | QWERTY | HOME | UP | END | PGUP | | | | INS | | Print | | | DELETE |
* | | | | | | | | | | | Screen | | | |
* +---------------+--------+--------+--------+--------+------- +--------+--------+--------+--------+--------+--------|--------+-------------+
* | | LEFT | DOWN | RIGHT | PGDN | | | PREV | PLAY | NEXT | | | RGB TOG |
* | | | | | | | | | | | | | |
* +-----------------+--------+--------+--------+--------+--------+--------+--------+--------------------------+--------+-------+------------+----+
* | | Rainbow| Xmas | Swirl | Knight |Breathe |GradieNt| MUTE | VOL DN | VOL UP | PIPE \ | CAPS LOCK | PAGEUP | Fn |
* | | | | | | | | | | | | | | E2 |
* |----------+----------+----------+---------------------------------------------------------+--------+--------+----------------+--------+--------+
* | | | | Fn | ENTER | NUM.Dot | | | | HOME | PAGEDN | END |
* | E3 | | | | E3 | | | | E2 | | | |
* '--------------------------------------------------------------------------------------------------------------------------------------+--------+
*/
};
#if defined(ENCODER_MAP_ENABLE)
const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][NUM_DIRECTIONS] = {
[_QWERTY] = { ENCODER_CCW_CW(KC_MS_WH_UP, KC_MS_WH_DOWN), ENCODER_CCW_CW(KC_MS_WH_UP, KC_MS_WH_DOWN), ENCODER_CCW_CW(KC_VOLD, KC_VOLU) },
[_QWERTYX] = { ENCODER_CCW_CW(C(KC_TAB), C(S(KC_TAB))), ENCODER_CCW_CW(KC_MS_WH_UP, KC_MS_WH_DOWN), ENCODER_CCW_CW(RGB_SAD, RGB_SAI) },
[_FUNCTION] = { ENCODER_CCW_CW(KC_VOLD, KC_VOLU), ENCODER_CCW_CW(KC_RIGHT, KC_LEFT), ENCODER_CCW_CW(RGB_SPD, RGB_SPI) },
[_EXTRA] = { ENCODER_CCW_CW(RGB_RMOD, RGB_MOD), ENCODER_CCW_CW(KC_MS_WH_UP, KC_MS_WH_DOWN), ENCODER_CCW_CW(KC_RIGHT, KC_LEFT) },
};
#endif
/* Encoder Positions
* .-----------------------------------------------------------------------------------------------------------------------------------------------+
* | | | | | | | | | | | | | | | | |
* | E1 | | | | | | | | | | | | | | | |
* +--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+
* | | | | | | | | | | | | | | |
* | | | | | | | | | | | | | | |
* +---------------+--------+--------+--------+--------+------- +--------+--------+--------+--------+--------+--------|--------+-------------+
* | | | | | | | | | | | | | |
* | | | | | | | | | | | | | |
* +-----------------+--------+--------+--------+--------+--------+--------+--------+--------------------------+--------+-------+------------+----+
* | | | | | | | | | | | | | | |
* | | | | | | | | | | | | | | E2 |
* |----------+----------+----------+---------------------------------------------------------+--------+--------+----------------+--------+--------+
* | | | | | | | | | | | | |
* | E3 | | | | E3 | | | | E2 | | | |
* '--------------------------------------------------------------------------------------------------------------------------------------+--------+
*/

View File

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

View File

@ -0,0 +1,177 @@
/*
Copyright 2022 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
enum layer {
_QWERTY,
_QWERTYX,
_FUNCTION,
_EXTRA,
};
#define QWERTY DF(_QWERTY)
#define QWERTYX DF(_QWERTYX)
#define FN MO(_FUNCTION)
#define BACKFN LT(_FUNCTION, KC_BSPC)
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
[_QWERTY] = LAYOUT(
KC_ESC, 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_BSPC, \
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_DEL, \
KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT, \
KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP, FN, \
KC_LCTL, KC_LGUI, KC_LALT, FN, KC_SPC, KC_SPC, KC_RALT, KC_RCTL, KC_LGUI, KC_LEFT, KC_DOWN, KC_RGHT \
),
/* Default
* .-----------------------------------------------------------------------------------------------------------------------------------------------+
* | ESC | ~ | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 0 | - | + | Backspc| Back |
* | | ` | | | | | | | | | | | _ | = | | |
* +--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+
* | TAB | Q | W | E | R | T | Y | U | I | O | P | [ | ] | DELETE |
* | | | | | | | | | | | | { | } | |
* +---------------+--------+--------+--------+--------+------- +--------+--------+--------+--------+--------+--------|--------+-------------+
* | CAPS LOCK | A | S | D | F | G | H | J | K | L | ; | ' | ENTER |
* | | | | | | | | | | | : | " | |
* +-----------------+--------+--------+--------+--------+--------+--------+--------+--------------------------+--------+-------+-----------+-----+
* | SHIFT | Z | X | C | V | B | N | M | < | > | / | RSHIFT | UP | Fn |
* | | | | | | | | | , | . | ? | | | |
* |----------+----------+----------+--------------------------------------------------------+--------+--------+--------+--------+--------+--------+
* | LCTRL | LGUI | LALT | Fn | SPACE | Space | RALT | RCTRL | GUI | LEFT | DOWN | RIGHT |
* | | | | | | | | | | | | |
* '--------------------------------------------------------------------------------------------------------------------------------------+--------+
*/
[_QWERTYX] = LAYOUT(
KC_ESC, 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_BSPC, \
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_DEL, \
BACKFN, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT, \
SC_LSPO, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, SC_RSPC, KC_UP, FN, \
KC_LCTL, KC_LGUI, KC_LALT, FN, KC_SPC, KC_SPC, KC_RALT, KC_RCTL, KC_LGUI, KC_LEFT, KC_DOWN, KC_RGHT \
),
/* Default
* .-----------------------------------------------------------------------------------------------------------------------------------------------+
* | ESC | ~ | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 0 | - | + | Backspc| Back |
* | | ` | | | | | | | | | | | _ | = | | |
* +--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+
* | TAB | Q | W | E | R | T | Y | U | I | O | P | [ | ] | DELETE |
* | | | | | | | | | | | | { | } | |
* +---------------+--------+--------+--------+--------+------- +--------+--------+--------+--------+--------+--------|--------+-------------+
* | BACKSPACE (FN)| A | S | D | F | G | H | J | K | L | ; | ' | ENTER |
* | | | | | | | | | | | : | " | |
* +-----------------+--------+--------+--------+--------+--------+--------+--------+--------------------------+--------+-------+-----------+-----+
* | CADET SHIFT ( | Z | X | C | V | B | N | M | < | > | / | CADET SHIFT ) | UP | Fn |
* | | | | | | | | | , | . | ? | | | |
* |----------+----------+----------+--------------------------------------------------------+--------+--------+--------+--------+--------|--------+
* | LCTRL | LGUI | LALT | Fn | SPACE | Space | RALT | GUI | RCTRL | LEFT | DOWN | RIGHT |
* | | | | | | | | | | | | |
* '--------------------------------------------------------------------------------------------------------------------------------------+--------+
*/
[_FUNCTION] = LAYOUT(
QK_BOOT, QWERTYX, 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_DEL, QK_BOOT, \
QWERTY, KC_HOME, KC_UP, KC_END, KC_PGUP, KC_TRNS, KC_TRNS, KC_TRNS, KC_INS, KC_TRNS, KC_PSCR, KC_TRNS, KC_TRNS, KC_DEL, \
_______, KC_LEFT, KC_DOWN, KC_RGHT, KC_PGDN, KC_TRNS, KC_TRNS, KC_MPRV, KC_MPLY, KC_MNXT, KC_TRNS, KC_TRNS, RGB_TOG, \
KC_TRNS, RGB_M_R, RGB_M_X, RGB_M_SW,RGB_M_K, RGB_M_B, RGB_M_G, KC_MUTE, KC_VOLD, KC_VOLU, KC_BSLS, KC_CAPS, KC_PGUP, KC_TRNS, \
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_ENT, KC_PDOT, KC_TRNS, KC_TRNS, KC_TRNS, KC_HOME, KC_PGDN, KC_END \
),
/* Fn
* .-----------------------------------------------------------------------------------------------------------------------------------------------+
* | |QWERTYEX| F1 | F2 | F3 | F4 | F5 | F6 | F7 | F8 | F9 | F10 | F11 | F12 | DELETE | RESET |
* | | | | | | | | | | | | | | | | |
* +--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+
* | QWERTY | HOME | UP | END | PGUP | | | | INS | | Print | | | DELETE |
* | | | | | | | | | | | Screen | | | |
* +---------------+--------+--------+--------+--------+------- +--------+--------+--------+--------+--------+--------|--------+-------------+
* | | LEFT | DOWN | RIGHT | PGDN | | | PREV | PLAY | NEXT | | | RGB TOG |
* | | | | | | | | | | | | | |
* +-----------------+--------+--------+--------+--------+--------+--------+--------+--------------------------+--------+-------+------------+----+
* | | Rainbow| Xmas | Swirl | Knight |Breathe |GradieNt| MUTE | VOL DN | VOL UP | PIPE \ | CAPS LOCK | PAGEUP | Fn |
* | | | | | | | | | | | | | | |
* |----------+----------+----------+---------------------------------------------------------+--------+--------+----------------+--------+--------+
* | | | | Fn | ENTER | NUM.Dot | | | | HOME | PAGEDN | END |
* | | | | | | | | | | | | |
* '--------------------------------------------------------------------------------------------------------------------------------------+--------+
*/
[_EXTRA] = LAYOUT(
QK_BOOT, QWERTYX, 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_DEL, QK_BOOT, \
QWERTY, KC_HOME, KC_UP, KC_END, KC_PGUP, KC_TRNS, KC_TRNS, KC_TRNS, KC_INS, KC_TRNS, KC_PSCR, KC_TRNS, KC_TRNS, KC_DEL, \
_______, KC_LEFT, KC_DOWN, KC_RGHT, KC_PGDN, KC_TRNS, KC_TRNS, KC_MPRV, KC_MPLY, KC_MNXT, KC_TRNS, KC_TRNS, RGB_TOG, \
KC_TRNS, RGB_M_R, RGB_M_X, RGB_M_SW,RGB_M_K, RGB_M_B, RGB_M_G, KC_MUTE, KC_VOLD, KC_VOLU, KC_BSLS, KC_CAPS, KC_PGUP, KC_TRNS, \
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_ENT, KC_PDOT, KC_TRNS, KC_TRNS, KC_TRNS, KC_HOME, KC_PGDN, KC_END \
),
/* Fn
* .-----------------------------------------------------------------------------------------------------------------------------------------------+
* | |QWERTYX | F1 | F2 | F3 | F4 | F5 | F6 | F7 | F8 | F9 | F10 | F11 | F12 | DELETE | RESET |
* | | | | | | | | | | | | | | | | |
* +--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+
* | QWERTY | HOME | UP | END | PGUP | | | | INS | | Print | | | DELETE |
* | | | | | | | | | | | Screen | | | |
* +---------------+--------+--------+--------+--------+------- +--------+--------+--------+--------+--------+--------|--------+-------------+
* | | LEFT | DOWN | RIGHT | PGDN | | | PREV | PLAY | NEXT | | | RGB TOG |
* | | | | | | | | | | | | | |
* +-----------------+--------+--------+--------+--------+--------+--------+--------+--------------------------+--------+-------+------------+----+
* | | Rainbow| Xmas | Swirl | Knight |Breathe |GradieNt| MUTE | VOL DN | VOL UP | PIPE \ | CAPS LOCK | PAGEUP | Fn |
* | | | | | | | | | | | | | | E2 |
* |----------+----------+----------+---------------------------------------------------------+--------+--------+----------------+--------+--------+
* | | | | Fn | ENTER | NUM.Dot | | | | HOME | PAGEDN | END |
* | E3 | | | | E3 | | | | E2 | | | |
* '--------------------------------------------------------------------------------------------------------------------------------------+--------+
*/
};
#if defined(ENCODER_MAP_ENABLE)
const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][NUM_DIRECTIONS] = {
[_QWERTY] = { ENCODER_CCW_CW(KC_MS_WH_UP, KC_MS_WH_DOWN), ENCODER_CCW_CW(KC_MS_WH_UP, KC_MS_WH_DOWN), ENCODER_CCW_CW(KC_VOLD, KC_VOLU) },
[_QWERTYX] = { ENCODER_CCW_CW(C(KC_TAB), C(S(KC_TAB))), ENCODER_CCW_CW(KC_MS_WH_UP, KC_MS_WH_DOWN), ENCODER_CCW_CW(RGB_SAD, RGB_SAI) },
[_FUNCTION] = { ENCODER_CCW_CW(KC_VOLD, KC_VOLU), ENCODER_CCW_CW(KC_RIGHT, KC_LEFT), ENCODER_CCW_CW(RGB_SPD, RGB_SPI) },
[_EXTRA] = { ENCODER_CCW_CW(RGB_RMOD, RGB_MOD), ENCODER_CCW_CW(KC_MS_WH_UP, KC_MS_WH_DOWN), ENCODER_CCW_CW(KC_RIGHT, KC_LEFT) },
};
#endif
/* Encoder Positions
* .-----------------------------------------------------------------------------------------------------------------------------------------------+
* | | | | | | | | | | | | | | | | |
* | E1 | | | | | | | | | | | | | | | |
* +--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+
* | | | | | | | | | | | | | | |
* | | | | | | | | | | | | | | |
* +---------------+--------+--------+--------+--------+------- +--------+--------+--------+--------+--------+--------|--------+-------------+
* | | | | | | | | | | | | | |
* | | | | | | | | | | | | | |
* +-----------------+--------+--------+--------+--------+--------+--------+--------+--------------------------+--------+-------+------------+----+
* | | | | | | | | | | | | | | |
* | | | | | | | | | | | | | | E2 |
* |----------+----------+----------+---------------------------------------------------------+--------+--------+----------------+--------+--------+
* | | | | | | | | | | | | |
* | E3 | | | | E3 | | | | E2 | | | |
* '--------------------------------------------------------------------------------------------------------------------------------------+--------+
*/

View File

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

View File

@ -0,0 +1,30 @@
# Krado66
![Photo](https://i.imgur.com/Du3bBT9h.jpg)
The Krado66 is a 65%ish ortholinear keyboard the uses standard 65% layout keycaps. It can also be configured to accept standard ANSI keycaps (Full 2.75u Right Shift and 1.25u bottom modifiers.)
For those that are wondering, "Krado" means "grid" in Esperanto. The board has 66 keys in its default layout.
* Keyboard Maintainer: [Feags](https://github.com/Feags) / [Krado Industries](https://kradoindustries.com/)
* Hardware Supported: Only Krado66 acrylic case and skeleton cases are supported.
* Hardware Availabilitiy: [Krado Industries](https://kradoindustries.com/)
Make example for this keyboard (after setting up your build environment):
make kradoindustries/krado66:default
Flashing example for this keyboard:
make kradoindustries/krado66: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

View File

@ -0,0 +1,123 @@
{
"keyboard_name": "Promenade",
"manufacturer": "krado industries",
"url": "https://www.kradoindustries.com/",
"maintainer": "Krado Industries",
"usb": {
"vid": "0x4B72",
"pid": "0x706D",
"device_version": "1.0.0"
},
"processor": "atmega32u4",
"bootloader": "atmel-dfu",
"features": {
"bootmagic": true,
"mousekey": true,
"extrakey": true,
"console": false,
"command": false,
"nkro": true,
"rgblight": true
},
"ws2812": {
"pin": "B7"
},
"rgblight": {
"led_count": 14,
"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": [ "F4", "C7", "D7", "B4", "B5", "B6", "C6", "D6", "D4", "D5", "D3", "D2", "D1", "D0"],
"rows": [ "F1", "F5", "E6", "F7", "F6"]
},
"layouts": {
"LAYOUT": {
"layout": [
{"matrix": [0, 0], "x":0, "y":0, "w":1.5},
{"matrix": [0, 1], "x":1.5, "y":0},
{"matrix": [0, 2], "x":2.5, "y":0},
{"matrix": [0, 3], "x":3.5, "y":0},
{"matrix": [0, 4], "x":4.5, "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.5, "y":0},
{"matrix": [0, 10], "x":10.5, "y":0},
{"matrix": [0, 11], "x":11.5, "y":0},
{"matrix": [0, 12], "x":12.5, "y":0},
{"matrix": [0, 13], "x":13.5, "y":0, "w":1.5},
{"matrix": [1, 0], "x":0, "y":1, "w":1.5},
{"matrix": [1, 1], "x":1.5, "y":1},
{"matrix": [1, 2], "x":2.5, "y":1},
{"matrix": [1, 3], "x":3.5, "y":1},
{"matrix": [1, 4], "x":4.5, "y":1},
{"matrix": [1, 5], "x":5.5, "y":1},
{"matrix": [1, 6], "x":6.5, "y":1, "h":1.5},
{"matrix": [1, 7], "x":7.5, "y":1, "h":1.5},
{"matrix": [1, 8], "x":8.5, "y":1},
{"matrix": [1, 9], "x":9.5, "y":1},
{"matrix": [1, 10], "x":10.5, "y":1},
{"matrix": [1, 11], "x":11.5, "y":1},
{"matrix": [1, 12], "x":12.5, "y":1},
{"matrix": [1, 13], "x":13.5, "y":1, "w":1.5},
{"matrix": [2, 0], "x":0, "y":2, "w":1.5},
{"matrix": [2, 1], "x":1.5, "y":2},
{"matrix": [2, 2], "x":2.5, "y":2},
{"matrix": [2, 3], "x":3.5, "y":2},
{"matrix": [2, 4], "x":4.5, "y":2},
{"matrix": [2, 5], "x":5.5, "y":2},
{"matrix": [2, 8], "x":8.5, "y":2},
{"matrix": [2, 9], "x":9.5, "y":2},
{"matrix": [2, 10], "x":10.5, "y":2},
{"matrix": [2, 11], "x":11.5, "y":2},
{"matrix": [2, 12], "x":12.5, "y":2},
{"matrix": [2, 13], "x":13.5, "y":2, "w":1.5},
{"matrix": [3, 6], "x":6.5, "y":2.5, "h":1.5},
{"matrix": [3, 7], "x":7.5, "y":2.5, "h":1.5},
{"matrix": [3, 0], "x":0, "y":3, "w":1.5},
{"matrix": [3, 1], "x":1.5, "y":3},
{"matrix": [3, 2], "x":2.5, "y":3},
{"matrix": [3, 3], "x":3.5, "y":3},
{"matrix": [3, 4], "x":4.5, "y":3},
{"matrix": [3, 5], "x":5.5, "y":3},
{"matrix": [3, 8], "x":8.5, "y":3},
{"matrix": [3, 9], "x":9.5, "y":3},
{"matrix": [3, 10], "x":10.5, "y":3},
{"matrix": [3, 11], "x":11.5, "y":3},
{"matrix": [3, 12], "x":12.5, "y":3},
{"matrix": [3, 13], "x":13.5, "y":3, "w":1.5},
{"matrix": [4, 0], "x":0, "y":4, "w":1.5},
{"matrix": [4, 1], "x":1.5, "y":4},
{"matrix": [4, 2], "x":2.5, "y":4},
{"matrix": [4, 3], "x":3.5, "y":4},
{"matrix": [4, 4], "x":4.5, "y":4},
{"matrix": [4, 5], "x":5.5, "y":4},
{"matrix": [4, 6], "x":6.5, "y":4, "w":2},
{"matrix": [4, 8], "x":8.5, "y":4},
{"matrix": [4, 9], "x":9.5, "y":4},
{"matrix": [4, 10], "x":10.5, "y":4},
{"matrix": [4, 11], "x":11.5, "y":4},
{"matrix": [4, 12], "x":12.5, "y":4},
{"matrix": [4, 13], "x":13.5, "y":4, "w":1.5}
]
}
}
}

View File

@ -0,0 +1,66 @@
/*
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
// Layer shorthand
enum layer_names {
_BASE,
_FN,
};
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
/* Base Layer
* .-----------------------------------------------------------------------------------------------------------------------------.
* | ESC | 1 | 2 | 3 | 4 | 5 | - | = | 6 | 7 | 8 | 9 | 0 | BACKSP |
* |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+-----------------|
* | TAB | Q | W | E | R | T | [ | ] | Y | U | I | O | P | ' |
* |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+-----------------+--------|
* | CAP LK | A | S | D | F | G | | | H | J | K | L | ; | ENTER |
* |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------------------------+--------|
* | LSHIFT | Z | X | C | V | B | END | PG DN | N | M | , | . | / | RSHIFT |
* |--------+--------+--------+--------+--------+-----------------+--------+--------+--------+-----------------+--------+--------|
* | LCTRL | LGUI | FN | LALT | SPACE | SPACE | SPACE | SPACE | SPACE | LEFT | DOWN | UP | RIGHT | RCTRL |
* '-----------------------------------------------------------------------------------------------------------------------------'
*/
[_BASE] = LAYOUT(
KC_ESC, 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_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_QUOT,
KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_ENT,
KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_END, KC_PGDN, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT,
KC_LCTL, KC_LGUI, KC_LALT, MO(_FN), KC_SPC, KC_SPC, KC_SPC, KC_SPC, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT, KC_RCTL
),
/* Function Layer
* .-----------------------------------------------------------------------------------------------------------------------------.
* | ` | F1 | F2 | F3 | F4 | F5 | F6 | F7 | F8 | F9 | F10 | F11 | F12 | DEL |
* |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+-----------------|
* | | Home | Up | End | PgUp | | | | | | | | PRT SC | |
* |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+-----------------+--------|
* | | Left | Down | Right | PgDn | | | | | | | | | Reset |
* |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------------------------+--------|
* | | | | | | | | | | MUTE | VOL DN | VOL UP | \ | |
* |--------+--------+--------+--------+--------+-----------------+--------+--------+--------+-----------------+--------+--------|
* | | | | | | | | | | | | | | Reset |
* '-----------------------------------------------------------------------------------------------------------------------------'
*/
[_FN] = LAYOUT(
KC_GRV, 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_DEL,
_______, KC_HOME, KC_UP, KC_END, KC_PGUP, _______, _______, _______, _______, _______, _______, _______, KC_PSCR, _______,
_______, KC_LEFT, KC_DOWN, KC_RGHT, KC_PGDN, _______, _______, _______, _______, _______, _______, QK_BOOT,
_______, _______, _______, _______, _______, _______, _______, _______, _______, KC_MUTE, KC_VOLD, KC_VOLU, KC_BSLS, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, QK_BOOT
)
};

View File

@ -0,0 +1,66 @@
/*
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
// Layer shorthand
enum layer_names {
_BASE,
_FN,
};
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
/* Base Layer
* .-----------------------------------------------------------------------------------------------------------------------------.
* | ESC | 1 | 2 | 3 | 4 | 5 | - | = | 6 | 7 | 8 | 9 | 0 | BACKSP |
* |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+-----------------|
* | TAB | Q | W | E | R | T | [ | ] | Y | U | I | O | P | ' |
* |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+-----------------+--------|
* | CAP LK | A | S | D | F | G | | | H | J | K | L | ; | ENTER |
* |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------------------------+--------|
* | LSHIFT | Z | X | C | V | B | END | PG DN | N | M | , | . | / | RSHIFT |
* |--------+--------+--------+--------+--------+-----------------+--------+--------+--------+-----------------+--------+--------|
* | LCTRL | LGUI | FN | LALT | SPACE | SPACE | SPACE | SPACE | SPACE | LEFT | DOWN | UP | RIGHT | RCTRL |
* '-----------------------------------------------------------------------------------------------------------------------------'
*/
[_BASE] = LAYOUT(
KC_ESC, 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_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_QUOT,
KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_ENT,
KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_END, KC_PGDN, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT,
KC_LCTL, KC_LGUI, KC_LALT, MO(_FN), KC_SPC, KC_SPC, KC_SPC, KC_SPC, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT, KC_RCTL
),
/* Function Layer
* .-----------------------------------------------------------------------------------------------------------------------------.
* | ` | F1 | F2 | F3 | F4 | F5 | F6 | F7 | F8 | F9 | F10 | F11 | F12 | DEL |
* |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+-----------------|
* | | Home | Up | End | PgUp | | | | | | | | PRT SC | |
* |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+-----------------+--------|
* | | Left | Down | Right | PgDn | | | | | | | | | Reset |
* |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------------------------+--------|
* | | | | | | | | | | MUTE | VOL DN | VOL UP | \ | |
* |--------+--------+--------+--------+--------+-----------------+--------+--------+--------+-----------------+--------+--------|
* | | | | | | | | | | | | | | Reset |
* '-----------------------------------------------------------------------------------------------------------------------------'
*/
[_FN] = LAYOUT(
KC_GRV, 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_DEL,
_______, KC_HOME, KC_UP, KC_END, KC_PGUP, _______, _______, _______, _______, _______, _______, _______, KC_PSCR, _______,
_______, KC_LEFT, KC_DOWN, KC_RGHT, KC_PGDN, _______, _______, _______, _______, _______, _______, QK_BOOT,
_______, _______, _______, _______, _______, _______, _______, _______, _______, KC_MUTE, KC_VOLD, KC_VOLU, KC_BSLS, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, QK_BOOT
)
};

View File

@ -0,0 +1,2 @@
VIA_ENABLE = yes
LTO_ENABLE = yes

View File

@ -0,0 +1,30 @@
# Promenade
![Promenade](https://i.imgur.com/VXlXflth.jpg)
The Promenade is a 60% ortholinear hotswap keyboard based on the split hand layout of the [Boardwalk](https://github.com/qmk/qmk_firmware/tree/master/keyboards/boardwalk). While similar to the Professional 2 hotswap version of the Boardwalk, it uses 1.5u verticle inner mods instead of 1u keys, includes a JST connector, adds stabilizer mounting positions for 6u and split 3u spacebards, and in addition to 60% tray mounting points the pcb has edge cuts for for use in gummy o-ring mount boards like the Bakeneko60.
The 1.5u vertical inner mods are the default configuration, but the board can be configured to use 3x2 1u keys either by removing the existing hotswap sockets and soldering 6 hotswap sockets to the 1u pads. *Note that the some of the 1u keys may require the plastic legs of 5-pin switches to be trimmed.*
* Keyboard Maintainer: [Feags](https://github.com/Feags) / [Krado Industries](https://kradoindustries.com/)
* Hardware Supported: Promenade pcb. Many 60% cases.
* Hardware Availability: [Krado Industries](https://kradoindustries.com/)
Make example for this keyboard (after setting up your build environment):
make kradoindustries/promenade:default
Flashing example for this keyboard:
make kradoindustries/promenade: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

View File

@ -0,0 +1,61 @@
// Copyright 2023 skeletonkbd (@skeletonkbd)
// SPDX-License-Identifier: GPL-2.0-or-later
#pragma once
#define WS2812_PIO_USE_PIO1
#define RGB_MATRIX_LED_COUNT 68
#define RGB_DISABLE_WHEN_USB_SUSPENDED
#define USB_SUSPEND_WAKEUP_DELAY 200
#define ENABLE_RGB_MATRIX_ALPHAS_MODS
#define ENABLE_RGB_MATRIX_GRADIENT_UP_DOWN
#define ENABLE_RGB_MATRIX_GRADIENT_LEFT_RIGHT
#define ENABLE_RGB_MATRIX_BREATHING
#define ENABLE_RGB_MATRIX_BAND_SAT
#define ENABLE_RGB_MATRIX_BAND_VAL
#define ENABLE_RGB_MATRIX_BAND_PINWHEEL_SAT
#define ENABLE_RGB_MATRIX_BAND_PINWHEEL_VAL
#define ENABLE_RGB_MATRIX_BAND_SPIRAL_SAT
#define ENABLE_RGB_MATRIX_BAND_SPIRAL_VAL
#define ENABLE_RGB_MATRIX_CYCLE_ALL
#define ENABLE_RGB_MATRIX_CYCLE_LEFT_RIGHT
#define ENABLE_RGB_MATRIX_CYCLE_UP_DOWN
#define ENABLE_RGB_MATRIX_RAINBOW_MOVING_CHEVRON
#define ENABLE_RGB_MATRIX_CYCLE_OUT_IN
#define ENABLE_RGB_MATRIX_CYCLE_OUT_IN_DUAL
#define ENABLE_RGB_MATRIX_CYCLE_PINWHEEL
#define ENABLE_RGB_MATRIX_CYCLE_SPIRAL
#define ENABLE_RGB_MATRIX_DUAL_BEACON
#define ENABLE_RGB_MATRIX_RAINBOW_BEACON
#define ENABLE_RGB_MATRIX_RAINBOW_PINWHEELS
#define ENABLE_RGB_MATRIX_RAINDROPS
#define ENABLE_RGB_MATRIX_JELLYBEAN_RAINDROPS
#define ENABLE_RGB_MATRIX_HUE_BREATHING
#define ENABLE_RGB_MATRIX_HUE_PENDULUM
#define ENABLE_RGB_MATRIX_HUE_WAVE
#define ENABLE_RGB_MATRIX_PIXEL_FRACTAL
#define ENABLE_RGB_MATRIX_PIXEL_FLOW
#define ENABLE_RGB_MATRIX_PIXEL_RAIN
#define RGB_MATRIX_FRAMEBUFFER_EFFECTS
#define ENABLE_RGB_MATRIX_TYPING_HEATMAP
#define ENABLE_RGB_MATRIX_DIGITAL_RAIN
#define RGB_MATRIX_KEYPRESSES
#define RGB_MATRIX_KEYRELEASES
#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_SIMPLE
#define ENABLE_RGB_MATRIX_SOLID_REACTIVE
#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_WIDE
#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTIWIDE
#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_CROSS
#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTICROSS
#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_NEXUS
#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTINEXUS
#define ENABLE_RGB_MATRIX_SPLASH
#define ENABLE_RGB_MATRIX_MULTISPLASH
#define ENABLE_RGB_MATRIX_SOLID_SPLASH
#define ENABLE_RGB_MATRIX_SOLID_MULTISPLASH
#define RGB_MATRIX_DEFAULT_MODE RGB_MATRIX_CYCLE_UP_DOWN

View File

@ -0,0 +1,18 @@
// Copyright 2023 skeletonkbd (@skeletonkbd)
// SPDX-License-Identifier: GPL-2.0-or-later
#include "quantum.h"
bool rgb_matrix_indicators_advanced_kb(uint8_t led_min, uint8_t led_max) {
if (!rgb_matrix_indicators_advanced_user(led_min, led_max)) {
return false;
}
if (host_keyboard_led_state().caps_lock) {
for (uint8_t i = led_min; i < led_max; i++) {
if (g_led_config.flags[i] & LED_FLAG_INDICATOR) {
rgb_matrix_set_color(i, RGB_RED);
}
}
}
return false;
}

View File

@ -0,0 +1,182 @@
{
"manufacturer": "skeletonkbd",
"keyboard_name": "Frost68",
"maintainer": "skeletonkbd",
"bootloader": "rp2040",
"diode_direction": "COL2ROW",
"features": {
"bootmagic": true,
"command": false,
"console": false,
"extrakey": true,
"mousekey": true,
"nkro": true,
"rgb_matrix": true
},
"matrix_pins": {
"cols": ["GP21", "GP22", "GP23", "GP24", "GP25", "GP26", "GP28", "GP3", "GP4", "GP5", "GP6", "GP9", "GP10", "GP11", "GP12", "GP13"],
"rows": ["GP29", "GP27", "GP20", "GP19", "GP18"]
},
"processor": "RP2040",
"ws2812": {
"driver": "vendor",
"pin": "GP0"
},
"rgb_matrix": {
"driver": "WS2812",
"layout": [
{"matrix": [0, 0], "x": 33.1, "y": 3.7, "flags": 4},
{"matrix": [0, 1], "x": 45.7, "y": 3.7, "flags": 4},
{"matrix": [0, 2], "x": 58.3, "y": 2.4, "flags": 4},
{"matrix": [0, 3], "x": 71.1, "y": 6.4, "flags": 4},
{"matrix": [0, 4], "x": 83.4, "y": 10.4, "flags": 4},
{"matrix": [0, 5], "x": 95.7, "y": 14.3, "flags": 4},
{"matrix": [0, 6], "x": 108, "y": 18.3, "flags": 4},
{"matrix": [1, 5], "x": 99.3, "y": 35, "flags": 4},
{"matrix": [1, 4], "x": 86.9, "y": 31, "flags": 4},
{"matrix": [1, 3], "x": 74.6, "y": 27, "flags": 4},
{"matrix": [1, 2], "x": 62.3, "y": 23.1, "flags": 4},
{"matrix": [1, 1], "x": 49.2, "y": 22.7, "flags": 4},
{"matrix": [1, 0], "x": 33.5, "y": 22.7, "flags": 1},
{"matrix": [2, 0], "x": 32.3, "y": 41.8, "flags": 1},
{"matrix": [2, 1], "x": 49.7, "y": 41.8, "flags": 4},
{"matrix": [2, 2], "x": 62.7, "y": 42.7, "flags": 4},
{"matrix": [2, 3], "x": 75.1, "y": 46.7, "flags": 4},
{"matrix": [2, 4], "x": 87.4, "y": 50.6, "flags": 4},
{"matrix": [2, 5], "x": 99.7, "y": 54.6, "flags": 4},
{"matrix": [3, 5], "x": 103.3, "y": 75.2, "flags": 4},
{"matrix": [3, 4], "x": 90.9, "y": 71.2, "flags": 4},
{"matrix": [3, 3], "x": 78.6, "y": 67.3, "flags": 4},
{"matrix": [3, 2], "x": 66.3, "y": 63.3, "flags": 4},
{"matrix": [3, 1], "x": 53.3, "y": 60.8, "flags": 4},
{"matrix": [3, 0], "x": 32.8, "y": 60.8, "flags": 1},
{"matrix": [4, 0], "x": 28.1, "y": 79.9, "flags": 1},
{"matrix": [4, 1], "x": 47, "y": 79.9, "flags": 1},
{"matrix": [4, 3], "x": 80.6, "y": 87.4, "flags": 4},
{"matrix": [4, 5], "x": 100.6, "y": 93.8, "flags": 4},
{"matrix": [4, 7], "x": 140.2, "y": 90.4, "flags": 4},
{"matrix": [4, 10], "x": 166.4, "y": 82.5, "flags": 1},
{"matrix": [4, 12], "x": 195.7, "y": 79.9, "flags": 1},
{"matrix": [4, 13], "x": 211.4, "y": 79.9, "flags": 4},
{"matrix": [4, 14], "x": 224, "y": 79.9, "flags": 4},
{"matrix": [4, 15], "x": 236.6, "y": 79.9, "flags": 4},
{"matrix": [3, 14], "x": 224, "y": 60.8, "flags": 4},
{"matrix": [3, 13], "x": 206.7, "y": 60.8, "flags": 1},
{"matrix": [3, 12], "x": 189.4, "y": 60.8, "flags": 4},
{"matrix": [3, 11], "x": 176.8, "y": 60.8, "flags": 4},
{"matrix": [3, 10], "x": 163.7, "y": 63.3, "flags": 4},
{"matrix": [3, 9], "x": 151.4, "y": 67.3, "flags": 4},
{"matrix": [3, 8], "x": 139.1, "y": 71.2, "flags": 4},
{"matrix": [3, 7], "x": 126.8, "y": 75.2, "flags": 4},
{"matrix": [2, 7], "x": 130.3, "y": 54.6, "flags": 4},
{"matrix": [2, 8], "x": 142.6, "y": 50.6, "flags": 4},
{"matrix": [2, 9], "x": 155, "y": 46.7, "flags": 4},
{"matrix": [2, 10], "x": 167.3, "y": 42.7, "flags": 4},
{"matrix": [2, 11], "x": 180.4, "y": 41.8, "flags": 4},
{"matrix": [2, 12], "x": 193, "y": 41.8, "flags": 4},
{"matrix": [2, 13], "x": 213.4, "y": 41.8, "flags": 4},
{"matrix": [2, 15], "x": 236.6, "y": 39.6, "flags": 4},
{"matrix": [1, 15], "x": 235.3, "y": 20.5, "flags": 4},
{"matrix": [1, 14], "x": 217.4, "y": 22.7, "flags": 4},
{"matrix": [1, 13], "x": 201.6, "y": 22.7, "flags": 4},
{"matrix": [1, 12], "x": 189, "y": 22.7, "flags": 4},
{"matrix": [1, 11], "x": 176.4, "y": 22, "flags": 4},
{"matrix": [1, 10], "x": 163.4, "y": 24.5, "flags": 4},
{"matrix": [1, 9], "x": 151.1, "y": 28.4, "flags": 4},
{"matrix": [1, 8], "x": 138.7, "y": 32.4, "flags": 4},
{"matrix": [1, 7], "x": 126.4, "y": 36.4, "flags": 4},
{"matrix": [0, 7], "x": 128.1, "y": 16.3, "flags": 4},
{"matrix": [0, 8], "x": 140.5, "y": 12.4, "flags": 4},
{"matrix": [0, 9], "x": 152.8, "y": 8.4, "flags": 4},
{"matrix": [0, 10], "x": 165.1, "y": 4.4, "flags": 4},
{"matrix": [0, 11], "x": 178.2, "y": 2.9, "flags": 4},
{"matrix": [0, 12], "x": 190.8, "y": 3.7, "flags": 4},
{"matrix": [0, 14], "x": 209.7, "y": 3.7, "flags": 1},
{"matrix": [0, 15], "x": 233.9, "y": 1.5, "flags": 4}
],
"max_brightness": 118,
"sat_steps": 8,
"speed_steps": 10,
"val_steps": 8
},
"url": "https://skeletonkbd.com/",
"usb": {
"device_version": "1.0.0",
"pid": "0x68A0",
"vid": "0x1209"
},
"layouts": {
"LAYOUT": {
"layout": [
{"matrix": [0, 0], "x": 0, "y": 0},
{"matrix": [0, 1], "x": 1, "y": 0},
{"matrix": [0, 2], "x": 2, "y": 0},
{"matrix": [0, 3], "x": 3, "y": 0},
{"matrix": [0, 4], "x": 4, "y": 0},
{"matrix": [0, 5], "x": 5, "y": 0},
{"matrix": [0, 6], "x": 6, "y": 0},
{"matrix": [0, 7], "x": 9, "y": 0},
{"matrix": [0, 8], "x": 10, "y": 0},
{"matrix": [0, 9], "x": 11, "y": 0},
{"matrix": [0, 10], "x": 12, "y": 0},
{"matrix": [0, 11], "x": 13, "y": 0},
{"matrix": [0, 12], "x": 14, "y": 0},
{"matrix": [0, 13], "x": 15, "y": 0, "w": 2},
{"matrix": [0, 15], "x": 17.25, "y": 0},
{"matrix": [1, 0], "x": 0, "y": 1, "w": 1.5},
{"matrix": [1, 1], "x": 1.5, "y": 1},
{"matrix": [1, 2], "x": 2.5, "y": 1},
{"matrix": [1, 3], "x": 3.5, "y": 1},
{"matrix": [1, 4], "x": 4.5, "y": 1},
{"matrix": [1, 5], "x": 5.5, "y": 1},
{"matrix": [1, 7], "x": 8.5, "y": 1},
{"matrix": [1, 8], "x": 9.5, "y": 1},
{"matrix": [1, 9], "x": 10.5, "y": 1},
{"matrix": [1, 10], "x": 11.5, "y": 1},
{"matrix": [1, 11], "x": 12.5, "y": 1},
{"matrix": [1, 12], "x": 13.5, "y": 1},
{"matrix": [1, 13], "x": 14.5, "y": 1},
{"matrix": [1, 14], "x": 15.5, "y": 1, "w": 1.5},
{"matrix": [1, 15], "x": 17.25, "y": 1},
{"matrix": [2, 0], "x": 0, "y": 2, "w": 1.75},
{"matrix": [2, 1], "x": 1.75, "y": 2},
{"matrix": [2, 2], "x": 2.75, "y": 2},
{"matrix": [2, 3], "x": 3.75, "y": 2},
{"matrix": [2, 4], "x": 4.75, "y": 2},
{"matrix": [2, 5], "x": 5.75, "y": 2},
{"matrix": [2, 7], "x": 8.75, "y": 2},
{"matrix": [2, 8], "x": 9.75, "y": 2},
{"matrix": [2, 9], "x": 10.75, "y": 2},
{"matrix": [2, 10], "x": 11.75, "y": 2},
{"matrix": [2, 11], "x": 12.75, "y": 2},
{"matrix": [2, 12], "x": 13.75, "y": 2},
{"matrix": [2, 13], "x": 14.75, "y": 2, "w": 2.25},
{"matrix": [2, 15], "x": 17.25, "y": 2},
{"matrix": [3, 0], "x": 0, "y": 3, "w": 2.25},
{"matrix": [3, 1], "x": 2.25, "y": 3},
{"matrix": [3, 2], "x": 3.25, "y": 3},
{"matrix": [3, 3], "x": 4.25, "y": 3},
{"matrix": [3, 4], "x": 5.25, "y": 3},
{"matrix": [3, 5], "x": 6.25, "y": 3},
{"matrix": [3, 7], "x": 8.25, "y": 3},
{"matrix": [3, 8], "x": 9.25, "y": 3},
{"matrix": [3, 9], "x": 10.25, "y": 3},
{"matrix": [3, 10], "x": 11.25, "y": 3},
{"matrix": [3, 11], "x": 12.25, "y": 3},
{"matrix": [3, 12], "x": 13.25, "y": 3},
{"matrix": [3, 13], "x": 14.25, "y": 3, "w": 1.75},
{"matrix": [3, 14], "x": 16, "y": 3},
{"matrix": [4, 0], "x": 0, "y": 4, "w": 1.5},
{"matrix": [4, 1], "x": 1.5, "y": 4, "w": 1.5},
{"matrix": [4, 3], "x": 4, "y": 4, "w": 2.25},
{"matrix": [4, 5], "x": 6.25, "y": 4},
{"matrix": [4, 7], "x": 8.25, "y": 4, "w": 2.75},
{"matrix": [4, 10], "x": 11, "y": 4, "w": 1.5},
{"matrix": [4, 12], "x": 13.5, "y": 4, "w": 1.5},
{"matrix": [4, 13], "x": 15, "y": 4},
{"matrix": [4, 14], "x": 16, "y": 4},
{"matrix": [4, 15], "x": 17, "y": 4}
]
}
}
}

View File

@ -0,0 +1,29 @@
// Copyright 2023 skeletonkbd (@skeletonkbd)
// SPDX-License-Identifier: GPL-2.0-or-later
#include QMK_KEYBOARD_H
// Defines names for use in layer keycodes and the keymap
enum layer_names {
_BASE,
_L1,
};
// clang-format off
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
[_BASE] = LAYOUT(
KC_ESC, 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, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_LNG1, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP,
KC_LCTL, KC_LALT, KC_SPC, MO(_L1), KC_SPC, KC_RGUI, KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT),
[_L1] = LAYOUT(
KC_GRV, 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_TRNS, KC_PSCR,
KC_TRNS, RGB_TOG, RGB_MOD, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, RGB_SPI, RGB_SPD, KC_SCRL, KC_PAUS, 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, QK_BOOT,
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_LNG2, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_PGUP,
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_PGDN, KC_TRNS),
};

View File

@ -0,0 +1,29 @@
// Copyright 2023 skeletonkbd (@skeletonkbd)
// SPDX-License-Identifier: GPL-2.0-or-later
#include QMK_KEYBOARD_H
// Defines names for use in layer keycodes and the keymap
enum layer_names {
_BASE,
_L1,
};
// clang-format off
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
[_BASE] = LAYOUT(
KC_ESC, 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, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_LNG1, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP,
KC_LCTL, KC_LALT, KC_SPC, MO(_L1), KC_SPC, KC_RGUI, KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT),
[_L1] = LAYOUT(
KC_GRV, 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_TRNS, KC_PSCR,
KC_TRNS, RGB_TOG, RGB_MOD, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, RGB_SPI, RGB_SPD, KC_SCRL, KC_PAUS, 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, QK_BOOT,
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_LNG2, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_PGUP,
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_PGDN, KC_TRNS),
};

View File

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

View File

@ -0,0 +1,27 @@
# skeletonkbd/skeleton68
![skeletonkbd/skeleton68](https://i.imgur.com/ZrtbBNPh.jpg)
Alice layout keyboard with acrylic case.
- Keyboard Maintainer: [SkeletonKBD](https://github.com/skeletonkbd)
- Hardware Supported: Frost68
- Hardware Availability: https://github.com/skeletonkbd/Frost68
Make example for this keyboard (after setting up your build environment):
make skeletonkbd/skeleton68:default
Flashing example for this keyboard:
make skeletonkbd/skeleton68: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 @@
DEBOUNCE_TYPE = sym_eager_pk