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