From 82af8b9bf1f8c11f67256dfb2cdbf5053f5882b4 Mon Sep 17 00:00:00 2001 From: Feags <41646528+Feags@users.noreply.github.com> Date: Mon, 3 Jul 2023 21:21:19 -0500 Subject: [PATCH 1/2] [Keyboard] Adding Krado Industries keyboards (#20372) Co-authored-by: Joel Challis Co-authored-by: jack <0x6a73@protonmail.com> --- keyboards/kradoindustries/kousa/config.h | 21 +++ keyboards/kradoindustries/kousa/info.json | 158 ++++++++++++++++ .../kousa/keymaps/default/keymap.c | 111 +++++++++++ .../kousa/keymaps/default/rules.mk | 1 + .../kousa/keymaps/via/keymap.c | 111 +++++++++++ .../kousa/keymaps/via/rules.mk | 3 + keyboards/kradoindustries/kousa/readme.md | 32 ++++ keyboards/kradoindustries/kousa/rules.mk | 1 + keyboards/kradoindustries/krado66/info.json | 130 +++++++++++++ .../krado66/keymaps/default/keymap.c | 177 ++++++++++++++++++ .../krado66/keymaps/default/rules.mk | 1 + .../krado66/keymaps/via/keymap.c | 177 ++++++++++++++++++ .../krado66/keymaps/via/rules.mk | 4 + keyboards/kradoindustries/krado66/readme.md | 30 +++ keyboards/kradoindustries/krado66/rules.mk | 1 + keyboards/kradoindustries/promenade/info.json | 123 ++++++++++++ .../promenade/keymaps/default/keymap.c | 66 +++++++ .../promenade/keymaps/via/keymap.c | 66 +++++++ .../promenade/keymaps/via/rules.mk | 2 + keyboards/kradoindustries/promenade/readme.md | 30 +++ keyboards/kradoindustries/promenade/rules.mk | 1 + 21 files changed, 1246 insertions(+) create mode 100644 keyboards/kradoindustries/kousa/config.h create mode 100644 keyboards/kradoindustries/kousa/info.json create mode 100644 keyboards/kradoindustries/kousa/keymaps/default/keymap.c create mode 100644 keyboards/kradoindustries/kousa/keymaps/default/rules.mk create mode 100644 keyboards/kradoindustries/kousa/keymaps/via/keymap.c create mode 100644 keyboards/kradoindustries/kousa/keymaps/via/rules.mk create mode 100644 keyboards/kradoindustries/kousa/readme.md create mode 100644 keyboards/kradoindustries/kousa/rules.mk create mode 100644 keyboards/kradoindustries/krado66/info.json create mode 100644 keyboards/kradoindustries/krado66/keymaps/default/keymap.c create mode 100644 keyboards/kradoindustries/krado66/keymaps/default/rules.mk create mode 100644 keyboards/kradoindustries/krado66/keymaps/via/keymap.c create mode 100644 keyboards/kradoindustries/krado66/keymaps/via/rules.mk create mode 100644 keyboards/kradoindustries/krado66/readme.md create mode 100644 keyboards/kradoindustries/krado66/rules.mk create mode 100644 keyboards/kradoindustries/promenade/info.json create mode 100644 keyboards/kradoindustries/promenade/keymaps/default/keymap.c create mode 100644 keyboards/kradoindustries/promenade/keymaps/via/keymap.c create mode 100644 keyboards/kradoindustries/promenade/keymaps/via/rules.mk create mode 100644 keyboards/kradoindustries/promenade/readme.md create mode 100644 keyboards/kradoindustries/promenade/rules.mk diff --git a/keyboards/kradoindustries/kousa/config.h b/keyboards/kradoindustries/kousa/config.h new file mode 100644 index 0000000000..49c8b47986 --- /dev/null +++ b/keyboards/kradoindustries/kousa/config.h @@ -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 . +*/ + +#pragma once + +#define RP2040_BOOTLOADER_DOUBLE_TAP_RESET +#define RP2040_BOOTLOADER_DOUBLE_TAP_RESET_TIMEOUT 500U diff --git a/keyboards/kradoindustries/kousa/info.json b/keyboards/kradoindustries/kousa/info.json new file mode 100644 index 0000000000..196e863bf5 --- /dev/null +++ b/keyboards/kradoindustries/kousa/info.json @@ -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} + ] + } + } +} diff --git a/keyboards/kradoindustries/kousa/keymaps/default/keymap.c b/keyboards/kradoindustries/kousa/keymaps/default/keymap.c new file mode 100644 index 0000000000..48978b2a2b --- /dev/null +++ b/keyboards/kradoindustries/kousa/keymaps/default/keymap.c @@ -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 . +*/ + +#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 diff --git a/keyboards/kradoindustries/kousa/keymaps/default/rules.mk b/keyboards/kradoindustries/kousa/keymaps/default/rules.mk new file mode 100644 index 0000000000..ee32568148 --- /dev/null +++ b/keyboards/kradoindustries/kousa/keymaps/default/rules.mk @@ -0,0 +1 @@ +ENCODER_MAP_ENABLE = yes diff --git a/keyboards/kradoindustries/kousa/keymaps/via/keymap.c b/keyboards/kradoindustries/kousa/keymaps/via/keymap.c new file mode 100644 index 0000000000..48978b2a2b --- /dev/null +++ b/keyboards/kradoindustries/kousa/keymaps/via/keymap.c @@ -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 . +*/ + +#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 diff --git a/keyboards/kradoindustries/kousa/keymaps/via/rules.mk b/keyboards/kradoindustries/kousa/keymaps/via/rules.mk new file mode 100644 index 0000000000..aaf0497be1 --- /dev/null +++ b/keyboards/kradoindustries/kousa/keymaps/via/rules.mk @@ -0,0 +1,3 @@ +VIA_ENABLE = yes +LTO_ENABLE = yes +ENCODER_MAP_ENABLE = yes \ No newline at end of file diff --git a/keyboards/kradoindustries/kousa/readme.md b/keyboards/kradoindustries/kousa/readme.md new file mode 100644 index 0000000000..b9a50a93c9 --- /dev/null +++ b/keyboards/kradoindustries/kousa/readme.md @@ -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 \ No newline at end of file diff --git a/keyboards/kradoindustries/kousa/rules.mk b/keyboards/kradoindustries/kousa/rules.mk new file mode 100644 index 0000000000..6e7633bfe0 --- /dev/null +++ b/keyboards/kradoindustries/kousa/rules.mk @@ -0,0 +1 @@ +# This file intentionally left blank diff --git a/keyboards/kradoindustries/krado66/info.json b/keyboards/kradoindustries/krado66/info.json new file mode 100644 index 0000000000..aefadf12de --- /dev/null +++ b/keyboards/kradoindustries/krado66/info.json @@ -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} + ] + } + } +} diff --git a/keyboards/kradoindustries/krado66/keymaps/default/keymap.c b/keyboards/kradoindustries/krado66/keymaps/default/keymap.c new file mode 100644 index 0000000000..ca18457196 --- /dev/null +++ b/keyboards/kradoindustries/krado66/keymaps/default/keymap.c @@ -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 . +*/ + +#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 | | | | + * '--------------------------------------------------------------------------------------------------------------------------------------+--------+ + */ \ No newline at end of file diff --git a/keyboards/kradoindustries/krado66/keymaps/default/rules.mk b/keyboards/kradoindustries/krado66/keymaps/default/rules.mk new file mode 100644 index 0000000000..ee32568148 --- /dev/null +++ b/keyboards/kradoindustries/krado66/keymaps/default/rules.mk @@ -0,0 +1 @@ +ENCODER_MAP_ENABLE = yes diff --git a/keyboards/kradoindustries/krado66/keymaps/via/keymap.c b/keyboards/kradoindustries/krado66/keymaps/via/keymap.c new file mode 100644 index 0000000000..192bd377bd --- /dev/null +++ b/keyboards/kradoindustries/krado66/keymaps/via/keymap.c @@ -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 . +*/ + +#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 | | | | + * '--------------------------------------------------------------------------------------------------------------------------------------+--------+ + */ \ No newline at end of file diff --git a/keyboards/kradoindustries/krado66/keymaps/via/rules.mk b/keyboards/kradoindustries/krado66/keymaps/via/rules.mk new file mode 100644 index 0000000000..8111cb54a7 --- /dev/null +++ b/keyboards/kradoindustries/krado66/keymaps/via/rules.mk @@ -0,0 +1,4 @@ +VIA_ENABLE = yes +LTO_ENABLE = yes +ENCODER_MAP_ENABLE = yes + diff --git a/keyboards/kradoindustries/krado66/readme.md b/keyboards/kradoindustries/krado66/readme.md new file mode 100644 index 0000000000..7b8a275ee4 --- /dev/null +++ b/keyboards/kradoindustries/krado66/readme.md @@ -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 \ No newline at end of file diff --git a/keyboards/kradoindustries/krado66/rules.mk b/keyboards/kradoindustries/krado66/rules.mk new file mode 100644 index 0000000000..7ff128fa69 --- /dev/null +++ b/keyboards/kradoindustries/krado66/rules.mk @@ -0,0 +1 @@ +# This file intentionally left blank \ No newline at end of file diff --git a/keyboards/kradoindustries/promenade/info.json b/keyboards/kradoindustries/promenade/info.json new file mode 100644 index 0000000000..a4d47b34f3 --- /dev/null +++ b/keyboards/kradoindustries/promenade/info.json @@ -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} + + ] + } + } +} diff --git a/keyboards/kradoindustries/promenade/keymaps/default/keymap.c b/keyboards/kradoindustries/promenade/keymaps/default/keymap.c new file mode 100644 index 0000000000..42e606c149 --- /dev/null +++ b/keyboards/kradoindustries/promenade/keymaps/default/keymap.c @@ -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 . +*/ + +#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 + ) +}; diff --git a/keyboards/kradoindustries/promenade/keymaps/via/keymap.c b/keyboards/kradoindustries/promenade/keymaps/via/keymap.c new file mode 100644 index 0000000000..8797471b4c --- /dev/null +++ b/keyboards/kradoindustries/promenade/keymaps/via/keymap.c @@ -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 . +*/ + +#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 + ) +}; diff --git a/keyboards/kradoindustries/promenade/keymaps/via/rules.mk b/keyboards/kradoindustries/promenade/keymaps/via/rules.mk new file mode 100644 index 0000000000..36b7ba9cbc --- /dev/null +++ b/keyboards/kradoindustries/promenade/keymaps/via/rules.mk @@ -0,0 +1,2 @@ +VIA_ENABLE = yes +LTO_ENABLE = yes diff --git a/keyboards/kradoindustries/promenade/readme.md b/keyboards/kradoindustries/promenade/readme.md new file mode 100644 index 0000000000..179563995c --- /dev/null +++ b/keyboards/kradoindustries/promenade/readme.md @@ -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 \ No newline at end of file diff --git a/keyboards/kradoindustries/promenade/rules.mk b/keyboards/kradoindustries/promenade/rules.mk new file mode 100644 index 0000000000..6e7633bfe0 --- /dev/null +++ b/keyboards/kradoindustries/promenade/rules.mk @@ -0,0 +1 @@ +# This file intentionally left blank From 6c1f2187f5a78868feaee32677d0ac80e808fd4b Mon Sep 17 00:00:00 2001 From: skeletonkbd <90203406+skeletonkbd@users.noreply.github.com> Date: Tue, 4 Jul 2023 11:21:45 +0900 Subject: [PATCH 2/2] [Keyboard] Add Frost68 keyboard (#20370) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-authored-by: Pablo Martínez <58857054+elpekenin@users.noreply.github.com> Co-authored-by: Drashna Jaelre Co-authored-by: Joel Challis Co-authored-by: jack <0x6a73@protonmail.com> --- keyboards/skeletonkbd/frost68/config.h | 61 ++++++ keyboards/skeletonkbd/frost68/frost68.c | 18 ++ keyboards/skeletonkbd/frost68/info.json | 182 ++++++++++++++++++ .../frost68/keymaps/default/keymap.c | 29 +++ .../skeletonkbd/frost68/keymaps/via/keymap.c | 29 +++ .../skeletonkbd/frost68/keymaps/via/rules.mk | 1 + keyboards/skeletonkbd/frost68/readme.md | 27 +++ keyboards/skeletonkbd/frost68/rules.mk | 1 + 8 files changed, 348 insertions(+) create mode 100644 keyboards/skeletonkbd/frost68/config.h create mode 100644 keyboards/skeletonkbd/frost68/frost68.c create mode 100644 keyboards/skeletonkbd/frost68/info.json create mode 100644 keyboards/skeletonkbd/frost68/keymaps/default/keymap.c create mode 100644 keyboards/skeletonkbd/frost68/keymaps/via/keymap.c create mode 100644 keyboards/skeletonkbd/frost68/keymaps/via/rules.mk create mode 100644 keyboards/skeletonkbd/frost68/readme.md create mode 100644 keyboards/skeletonkbd/frost68/rules.mk diff --git a/keyboards/skeletonkbd/frost68/config.h b/keyboards/skeletonkbd/frost68/config.h new file mode 100644 index 0000000000..eaf7a31fb6 --- /dev/null +++ b/keyboards/skeletonkbd/frost68/config.h @@ -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 diff --git a/keyboards/skeletonkbd/frost68/frost68.c b/keyboards/skeletonkbd/frost68/frost68.c new file mode 100644 index 0000000000..4bfd3fa28f --- /dev/null +++ b/keyboards/skeletonkbd/frost68/frost68.c @@ -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; +} diff --git a/keyboards/skeletonkbd/frost68/info.json b/keyboards/skeletonkbd/frost68/info.json new file mode 100644 index 0000000000..3099b26eca --- /dev/null +++ b/keyboards/skeletonkbd/frost68/info.json @@ -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} + ] + } + } +} \ No newline at end of file diff --git a/keyboards/skeletonkbd/frost68/keymaps/default/keymap.c b/keyboards/skeletonkbd/frost68/keymaps/default/keymap.c new file mode 100644 index 0000000000..3d0d6dc794 --- /dev/null +++ b/keyboards/skeletonkbd/frost68/keymaps/default/keymap.c @@ -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), + + +}; \ No newline at end of file diff --git a/keyboards/skeletonkbd/frost68/keymaps/via/keymap.c b/keyboards/skeletonkbd/frost68/keymaps/via/keymap.c new file mode 100644 index 0000000000..16d734b83f --- /dev/null +++ b/keyboards/skeletonkbd/frost68/keymaps/via/keymap.c @@ -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), + + +}; \ No newline at end of file diff --git a/keyboards/skeletonkbd/frost68/keymaps/via/rules.mk b/keyboards/skeletonkbd/frost68/keymaps/via/rules.mk new file mode 100644 index 0000000000..1e5b99807c --- /dev/null +++ b/keyboards/skeletonkbd/frost68/keymaps/via/rules.mk @@ -0,0 +1 @@ +VIA_ENABLE = yes diff --git a/keyboards/skeletonkbd/frost68/readme.md b/keyboards/skeletonkbd/frost68/readme.md new file mode 100644 index 0000000000..4864fd1a19 --- /dev/null +++ b/keyboards/skeletonkbd/frost68/readme.md @@ -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 diff --git a/keyboards/skeletonkbd/frost68/rules.mk b/keyboards/skeletonkbd/frost68/rules.mk new file mode 100644 index 0000000000..1319572349 --- /dev/null +++ b/keyboards/skeletonkbd/frost68/rules.mk @@ -0,0 +1 @@ +DEBOUNCE_TYPE = sym_eager_pk