From c8728880de198f5797463efbbba3eba7f1e4444a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E3=83=95=E3=82=A3=E3=83=AB=E3=82=BF=E3=83=BC=E3=83=9A?= =?UTF-8?q?=E3=83=BC=E3=83=91=E3=83=BC?= <76888457+filterpaper@users.noreply.github.com> Date: Wed, 20 Dec 2023 04:54:32 +0800 Subject: [PATCH 01/13] takashicompany: readme link correction (#22711) Updated Github link --- keyboards/takashicompany/heavy_left/readme.md | 2 +- keyboards/takashicompany/radialex/readme.md | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/keyboards/takashicompany/heavy_left/readme.md b/keyboards/takashicompany/heavy_left/readme.md index a048103f849..fa38ac4f2cb 100644 --- a/keyboards/takashicompany/heavy_left/readme.md +++ b/keyboards/takashicompany/heavy_left/readme.md @@ -10,7 +10,7 @@ It also supports key switch replacement with MX sockets and LED underglow. 左手側にテンキーが備え付けられており、数字の入力だけでなく専用のマクロパッドとしても使用が可能です。 MXソケットによるキースイッチの付替えや、LEDによるアンダーグロウにも対応しています。 -* Keyboard Maintainer: [takashicompany](https://github.com/yourusername) +* Keyboard Maintainer: [takashicompany](https://github.com/takashicompany) * Hardware Supported: PCB, Pro Micro * Hardware Availability: https://github.com/takashicompany/heavy_left diff --git a/keyboards/takashicompany/radialex/readme.md b/keyboards/takashicompany/radialex/readme.md index 2f723ba6869..0fb92dd9fc0 100644 --- a/keyboards/takashicompany/radialex/readme.md +++ b/keyboards/takashicompany/radialex/readme.md @@ -8,7 +8,7 @@ Your iconic keys and keycaps can be placed in the center of the keyboard. It is possible to make it shine with LED backlighting. The keyswitches can also be replaced with MX sockets. -* Keyboard Maintainer: [takashicompany](https://github.com/yourusername) +* Keyboard Maintainer: [takashicompany](https://github.com/takashicompany) * Hardware Supported: PCB, Pro Micro * Hardware Availability: https://github.com/takashicompany/radialex From 3afa2a9439a74c4f4d906dcb1dfa975f13fc6763 Mon Sep 17 00:00:00 2001 From: Nick Brassel Date: Thu, 21 Dec 2023 09:02:22 +1100 Subject: [PATCH 02/13] [Keymap Removal] Restore mechboards mb_via keymaps. (#22723) --- keyboards/crkbd/keymaps/mb_via/config.h | 26 +++++ keyboards/crkbd/keymaps/mb_via/keymap.c | 71 +++++++++++++ keyboards/crkbd/keymaps/mb_via/readme.md | 12 +++ keyboards/crkbd/keymaps/mb_via/rules.mk | 3 + keyboards/lily58/keymaps/mb_via/config.h | 32 ++++++ keyboards/lily58/keymaps/mb_via/keymap.c | 121 +++++++++++++++++++++++ keyboards/lily58/keymaps/mb_via/rules.mk | 4 + 7 files changed, 269 insertions(+) create mode 100644 keyboards/crkbd/keymaps/mb_via/config.h create mode 100644 keyboards/crkbd/keymaps/mb_via/keymap.c create mode 100644 keyboards/crkbd/keymaps/mb_via/readme.md create mode 100644 keyboards/crkbd/keymaps/mb_via/rules.mk create mode 100644 keyboards/lily58/keymaps/mb_via/config.h create mode 100644 keyboards/lily58/keymaps/mb_via/keymap.c create mode 100644 keyboards/lily58/keymaps/mb_via/rules.mk diff --git a/keyboards/crkbd/keymaps/mb_via/config.h b/keyboards/crkbd/keymaps/mb_via/config.h new file mode 100644 index 00000000000..cdc04f69080 --- /dev/null +++ b/keyboards/crkbd/keymaps/mb_via/config.h @@ -0,0 +1,26 @@ +/* +Copyright 2019 @foostan +Copyright 2020 Drashna Jaelre <@drashna> +Copyright 2021 Elliot Powell <@e11i0t23> + +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 + +/* Select hand configuration */ + +#define MASTER_LEFT +// #define MASTER_RIGHT +// #define EE_HANDS diff --git a/keyboards/crkbd/keymaps/mb_via/keymap.c b/keyboards/crkbd/keymaps/mb_via/keymap.c new file mode 100644 index 00000000000..027e1449ccf --- /dev/null +++ b/keyboards/crkbd/keymaps/mb_via/keymap.c @@ -0,0 +1,71 @@ +/* +Copyright 2019 @foostan +Copyright 2020 Drashna Jaelre <@drashna> +Copyright 2021 Elliot Powell <@e11i0t23> + +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 + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + [0] = LAYOUT_split_3x6_3( + //,-----------------------------------------------------. ,-----------------------------------------------------. + KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSPC, + //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------| + KC_LCTL, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, + //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------| + KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_ESC, + //|--------+--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+--------| + KC_LGUI, TL_LOWR, KC_SPC, KC_ENT, TL_UPPR, KC_RALT + //`--------------------------' `--------------------------' + + ), + + [1] = LAYOUT_split_3x6_3( + //,-----------------------------------------------------. ,-----------------------------------------------------. + KC_TAB, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_BSPC, + //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------| + KC_LCTL, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_LEFT, KC_DOWN, KC_UP,KC_RIGHT, XXXXXXX, XXXXXXX, + //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------| + KC_LSFT, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, + //|--------+--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+--------| + KC_LGUI, _______, KC_SPC, KC_ENT, _______, KC_RALT + //`--------------------------' `--------------------------' + ), + + [2] = LAYOUT_split_3x6_3( + //,-----------------------------------------------------. ,-----------------------------------------------------. + KC_TAB, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, KC_BSPC, + //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------| + KC_LCTL, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_MINS, KC_EQL, KC_LBRC, KC_RBRC, KC_BSLS, KC_GRV, + //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------| + KC_LSFT, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_UNDS, KC_PLUS, KC_LCBR, KC_RCBR, KC_PIPE, KC_TILD, + //|--------+--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+--------| + KC_LGUI, _______, KC_SPC, KC_ENT, _______, KC_RALT + //`--------------------------' `--------------------------' + ), + + [3] = LAYOUT_split_3x6_3( + //,-----------------------------------------------------. ,-----------------------------------------------------. + QK_BOOT, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, + //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------| + RGB_TOG, RGB_HUI, RGB_SAI, RGB_VAI, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, + //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------| + RGB_MOD, RGB_HUD, RGB_SAD, RGB_VAD, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, + //|--------+--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+--------| + KC_LGUI, _______, KC_SPC, KC_ENT, _______, KC_RALT + //`--------------------------' `--------------------------' + ) +}; diff --git a/keyboards/crkbd/keymaps/mb_via/readme.md b/keyboards/crkbd/keymaps/mb_via/readme.md new file mode 100644 index 00000000000..048927073ba --- /dev/null +++ b/keyboards/crkbd/keymaps/mb_via/readme.md @@ -0,0 +1,12 @@ +# Default Via keyboard for the Corne R2G by Mechboards UK + +![r2g](https://cdn.shopify.com/s/files/1/0582/0242/3501/products/HelidoxCorneR2GPCB_1800x1800.png) + +Corne R2G is an eddition of the classic CRKBD by footsan remade to feature a full smd assembly + +In this fold can be found the default via enabled keymap that can be in conjunction + +Flash example for this Keymap: +```sh +qmk flash -kb crkbd/r2g -km mb_via +``` diff --git a/keyboards/crkbd/keymaps/mb_via/rules.mk b/keyboards/crkbd/keymaps/mb_via/rules.mk new file mode 100644 index 00000000000..cda04c7ce74 --- /dev/null +++ b/keyboards/crkbd/keymaps/mb_via/rules.mk @@ -0,0 +1,3 @@ +MOUSEKEY_ENABLE = no # Mouse keys +VIA_ENABLE = yes # Enable VIA + diff --git a/keyboards/lily58/keymaps/mb_via/config.h b/keyboards/lily58/keymaps/mb_via/config.h new file mode 100644 index 00000000000..bd4e11fb0e6 --- /dev/null +++ b/keyboards/lily58/keymaps/mb_via/config.h @@ -0,0 +1,32 @@ +/* +This is the c configuration file for the keymap + +Copyright 2012 Jun Wako +Copyright 2015 Jack Humbert +Copyright 2023 Elliot Powell + +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 + +/* Select hand configuration */ + +#define MASTER_LEFT +// #define MASTER_RIGHT +// #define EE_HANDS + +#define TAPPING_FORCE_HOLD +#define TAPPING_TERM 100 + diff --git a/keyboards/lily58/keymaps/mb_via/keymap.c b/keyboards/lily58/keymaps/mb_via/keymap.c new file mode 100644 index 00000000000..cef682db533 --- /dev/null +++ b/keyboards/lily58/keymaps/mb_via/keymap.c @@ -0,0 +1,121 @@ + /* Copyright 2020 Naoki Katahira + * Copyright 2023 Elliot Powell + * + * 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_number { + _QWERTY = 0, + _LOWER, + _RAISE, + _ADJUST, +}; + +#define RAISE MO(_RAISE) +#define LOWER MO(_LOWER) + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + +/* QWERTY + * ,-----------------------------------------. ,-----------------------------------------. + * | ESC | 1 | 2 | 3 | 4 | 5 | | 6 | 7 | 8 | 9 | 0 | ~ | + * |------+------+------+------+------+------| |------+------+------+------+------+------| + * | Tab | Q | W | E | R | T | | Y | U | I | O | P | - | + * |------+------+------+------+------+------| |------+------+------+------+------+------| + * |LCTRL | A | S | D | F | G |-------. ,-------| H | J | K | L | ; | ' | + * |------+------+------+------+------+------| [ | | ] |------+------+------+------+------+------| + * |LShift| Z | X | C | V | B |-------| |-------| N | M | , | . | / |RShift| + * `-----------------------------------------/ / \ \-----------------------------------------' + * |LOWER | LGUI | Alt | /Space / \Enter \ |BackSP| RGUI |RAISE | + * | | | |/ / \ \ | | | | + * `-------------------''-------' '------''--------------------' + */ + + [_QWERTY] = LAYOUT( + KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_GRV, + KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_MINS, + KC_LCTL, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, + KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_LBRC, KC_RBRC, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, + LOWER, KC_LGUI, KC_LALT, KC_SPC, KC_ENT, KC_BSPC, KC_RGUI, RAISE +), +/* LOWER + * ,-----------------------------------------. ,-----------------------------------------. + * | | | | | | | | | | | | | | + * |------+------+------+------+------+------| |------+------+------+------+------+------| + * | | ! | @ | # | $ | % | | ^ | & | * | ( | ) | | + * |------+------+------+------+------+------| |------+------+------+------+------+------| + * | | 1 | 2 | 3 | 4 | 5 |-------. ,-------| 6 | 7 | 8 | 9 | 0 | | + * |------+------+------+------+------+------| [ | | ] |------+------+------+------+------+------| + * | | | | | | |-------| |-------| | | ` | + | { | } | | + * `-----------------------------------------/ / \ \-----------------------------------------' + * |LOWER | LGUI | Alt | /Space / \Enter \ |BackSP| RGUI |RAISE | + * | | | |/ / \ \ | | | | + * `-------------------''-------' '------''--------------------' + */ +[_LOWER] = LAYOUT( + _______, _______, _______, _______, _______, _______, _______, _______, _______,_______, _______, _______, + _______, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, _______, + _______, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, _______, + _______, _______, _______, _______, _______, _______, _______, _______, KC_PIPE, KC_GRAVE, KC_PLUS, KC_LCBR, KC_RCBR, _______, + _______, _______, _______, _______, _______, _______, _______, _______ +), +/* RAISE + * ,-----------------------------------------. ,-----------------------------------------. + * | | | | | | | | | | | | | | + * |------+------+------+------+------+------| |------+------+------+------+------+------| + * | F1 | F2 | F3 | F4 | F5 | F6 | | F7 | F8 | F9 | F10 | F11 | F12 | + * |------+------+------+------+------+------| |------+------+------+------+------+------| + * |RGBTOG|RGBHUI|RGBSAI|RGBVAI| |-------. ,-------| | Left | Down | Up |Right | | + * |------+------+------+------+------+------| [ | | ] |------+------+------+------+------+------| + * |RGBMOD|RGBHUD|RGBSAD|RGBVAD| | |-------| |-------| + | = | [ | ] | \ | | + * `-----------------------------------------/ / \ \-----------------------------------------' + * |LOWER | LGUI | Alt | /Space / \Enter \ |BackSP| RGUI |RAISE | + * | | | |/ / \ \ | | | | + * `-------------------''-------' '------''--------------------' + */ + +[_RAISE] = LAYOUT( + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, + RGB_TOG, RGB_HUI, RGB_SAI, RGB_VAI, _______, _______, XXXXXXX, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT, XXXXXXX, + RGB_MOD, RGB_HUD, RGB_SAD, RGB_VAD, _______, _______, _______, _______, KC_PLUS, KC_EQL, KC_LBRC, KC_RBRC, KC_BSLS, _______, + _______, _______, _______, _______, _______, _______, _______, _______ +), + +/* ADJUST + * ,-----------------------------------------. ,-----------------------------------------. + * | | | | | | | | | | | | | | + * |------+------+------+------+------+------| |------+------+------+------+------+------| + * | | | | | | | | | | | | | | + * |------+------+------+------+------+------| |------+------+------+------+------+------| + * | | | | | | |-------. ,-------| | | | | | | + * |------+------+------+------+------+------| | | |------+------+------+------+------+------| + * | | | | | | |-------| |-------| | | | | | | + * `-----------------------------------------/ / \ \-----------------------------------------' + * |LOWER | LGUI | Alt | /Space / \Enter \ |BackSP| RGUI |RAISE | + * | | | |/ / \ \ | | | | + * `----------------------------' '------''--------------------' + */ + [_ADJUST] = LAYOUT( + XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, + XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, + XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, + XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, + _______, _______, _______, _______, _______, _______, _______, _______ + ) +}; + + diff --git a/keyboards/lily58/keymaps/mb_via/rules.mk b/keyboards/lily58/keymaps/mb_via/rules.mk new file mode 100644 index 00000000000..3c1f402d2ad --- /dev/null +++ b/keyboards/lily58/keymaps/mb_via/rules.mk @@ -0,0 +1,4 @@ +VIA_ENABLE = yes +OLED_ENABLE = yes +MOUSEKEY_ENABLE = yes +EXTRAKEY_ENABLE = yes From 2661ee282a7edfdff299d2ccfc298dac75cf65e4 Mon Sep 17 00:00:00 2001 From: Nick Brassel Date: Thu, 21 Dec 2023 09:32:19 +1100 Subject: [PATCH 03/13] [Bugfix] Manipulate deferred executor slot only if tokens match (#22722) --- quantum/deferred_exec.c | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/quantum/deferred_exec.c b/quantum/deferred_exec.c index a0046a9648d..b3be3747d47 100644 --- a/quantum/deferred_exec.c +++ b/quantum/deferred_exec.c @@ -124,13 +124,19 @@ void deferred_exec_advanced_task(deferred_executor_t *table, size_t table_count, // Run through each of the executors for (int i = 0; i < table_count; ++i) { - deferred_executor_t *entry = &table[i]; + deferred_executor_t *entry = &table[i]; + deferred_token curr_token = entry->token; // Check if we're supposed to execute this entry - if (entry->token != INVALID_DEFERRED_TOKEN && ((int32_t)TIMER_DIFF_32(entry->trigger_time, now)) <= 0) { + if (curr_token != INVALID_DEFERRED_TOKEN && ((int32_t)TIMER_DIFF_32(entry->trigger_time, now)) <= 0) { // Invoke the callback and work work out if we should be requeued uint32_t delay_ms = entry->callback(entry->trigger_time, entry->cb_arg); + // If the token has changed, then the callback has canceled and re-queued. Skip further processing. + if (entry->token != curr_token) { + continue; + } + // Update the trigger time if we have to repeat, otherwise clear it out if (delay_ms > 0) { // Intentionally add just the delay to the existing trigger time -- this ensures the next From 5031e0e35c6c497b58b1f3122d8e9d17f0284733 Mon Sep 17 00:00:00 2001 From: Tom Barnes Date: Thu, 21 Dec 2023 12:30:55 +0000 Subject: [PATCH 04/13] [docs] - reword PR checklist for vendor keymaps/userspace changes (#22725) * reword PR checklist for vendor keymaps/userspace changes * clarify vendor keymaps slightly * delete layout macro related line --- docs/pr_checklist.md | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/docs/pr_checklist.md b/docs/pr_checklist.md index 0ca47933b5b..6a0ae315976 100644 --- a/docs/pr_checklist.md +++ b/docs/pr_checklist.md @@ -39,12 +39,13 @@ If there are any inconsistencies with these recommendations, you're best off [cr ## Keymap PRs -!> Note that personal keymap submissions will no longer be accepted. This section applies to manufacturer-supported keymaps. +!> Note that personal keymap submissions will no longer be accepted. This section applies to manufacturer-supported keymaps. Please see this [issue](https://github.com/qmk/qmk_firmware/issues/22724) for more information. -- `#include QMK_KEYBOARD_H` preferred to including specific board files -- prefer layer `enum`s to `#define`s -- custom keycode `enum`s must have first entry `= SAFE_RANGE` -- terminating backslash (`\`) in lines of LAYOUT macro parameters is superfluous and should be removed +- PRs for vendor specific keymaps will be permitted. The naming convention for these should be `default_${vendor}`, `via_${vendor}` i.e. `via_clueboard`. + - vendor specific keymaps do not necessarily need to be "vanilla" and can be more richly featured than `default` or `via` stock keymaps. +- #include QMK_KEYBOARD_H preferred to including specific board files +- prefer layer enums to #defines +- custom keycode enums must have first entry = SAFE_RANGE - some care with spacing (e.g., alignment on commas or first char of keycodes) makes for a much nicer-looking keymap ## Keyboard PRs From b5b886e36f28c1dc0c69e207719fb67c4ad0ced5 Mon Sep 17 00:00:00 2001 From: Abhijithabhi Date: Sun, 24 Dec 2023 02:41:39 +0530 Subject: [PATCH 05/13] [Keyboard] Add redragon k617 port (#22410) Co-authored-by: Less/Rikki <86894501+lesshonor@users.noreply.github.com> Co-authored-by: jack <0x6a73@protonmail.com> Co-authored-by: Drashna Jaelre --- keyboards/handwired/rd_61_qmk/config.h | 6 + keyboards/handwired/rd_61_qmk/info.json | 126 ++++++++++++++++++ .../rd_61_qmk/keymaps/default/keymap.c | 37 +++++ keyboards/handwired/rd_61_qmk/readme.md | 53 ++++++++ keyboards/handwired/rd_61_qmk/rules.mk | 1 + 5 files changed, 223 insertions(+) create mode 100644 keyboards/handwired/rd_61_qmk/config.h create mode 100644 keyboards/handwired/rd_61_qmk/info.json create mode 100644 keyboards/handwired/rd_61_qmk/keymaps/default/keymap.c create mode 100644 keyboards/handwired/rd_61_qmk/readme.md create mode 100644 keyboards/handwired/rd_61_qmk/rules.mk diff --git a/keyboards/handwired/rd_61_qmk/config.h b/keyboards/handwired/rd_61_qmk/config.h new file mode 100644 index 00000000000..7281c45662d --- /dev/null +++ b/keyboards/handwired/rd_61_qmk/config.h @@ -0,0 +1,6 @@ +// Copyright 2023 abhiakl (@abhijithabhiakl) +// SPDX-License-Identifier: GPL-2.0-or-later +#pragma once + +/* QK_MAKE support*/ +#define ENABLE_COMPILE_KEYCODE diff --git a/keyboards/handwired/rd_61_qmk/info.json b/keyboards/handwired/rd_61_qmk/info.json new file mode 100644 index 00000000000..be07d95924f --- /dev/null +++ b/keyboards/handwired/rd_61_qmk/info.json @@ -0,0 +1,126 @@ +{ + "manufacturer": "abhiakl", + "keyboard_name": "rd_61_qmk", + "maintainer": "abhijithabhiakl", + "backlight": { + "driver": "pwm", + "levels": 5, + "pin": "B7" + }, + "usb": { + "device_version": "1.0.0", + "pid": "0x7421", + "vid": "0xFEED" + }, + "development_board": "promicro", + "diode_direction": "ROW2COL", + "features": { + "backlight": true, + "bootmagic": true, + "extrakey": true, + "mousekey": true, + "nkro": true, + "rgblight": true + }, + "qmk": { + "locking": { + "enabled": true, + "resync": true + } + }, + "indicators": { + "caps_lock": "F0" + }, + "matrix_pins": { + "cols": ["B6", "B2", "B3", "B1", "F7", "F6", "F5", "F4", "D4", "D0", "D1", "D2", "D3", "D5"], + "rows": ["B5", "B4", "E6", "D7", "C6"] + }, + "rgblight": { + "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 + }, + "brightness_steps": 8, + "led_count": 1, + "saturation_steps": 8 + }, + "url": "", + "ws2812": { + "pin": "C7" + }, + "layouts": { + "LAYOUT_60_ansi": { + "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": 7, "y": 0}, + {"matrix": [0, 8], "x": 8, "y": 0}, + {"matrix": [0, 9], "x": 9, "y": 0}, + {"matrix": [0, 10], "x": 10, "y": 0}, + {"matrix": [0, 11], "x": 11, "y": 0}, + {"matrix": [0, 12], "x": 12, "y": 0}, + {"matrix": [0, 13], "x": 13, "y": 0, "w": 2}, + {"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}, + {"matrix": [1, 7], "x": 7.5, "y": 1}, + {"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.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, 6], "x": 6.75, "y": 2}, + {"matrix": [2, 7], "x": 7.75, "y": 2}, + {"matrix": [2, 8], "x": 8.75, "y": 2}, + {"matrix": [2, 9], "x": 9.75, "y": 2}, + {"matrix": [2, 10], "x": 10.75, "y": 2}, + {"matrix": [2, 11], "x": 11.75, "y": 2}, + {"matrix": [2, 13], "x": 12.75, "y": 2, "w": 2.25}, + {"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, 6], "x": 7.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, 13], "x": 12.25, "y": 3, "w": 2.75}, + {"matrix": [4, 0], "x": 0, "y": 4, "w": 1.25}, + {"matrix": [4, 1], "x": 1.25, "y": 4, "w": 1.25}, + {"matrix": [4, 2], "x": 2.5, "y": 4, "w": 1.25}, + {"matrix": [4, 5], "x": 3.75, "y": 4, "w": 6.25}, + {"matrix": [4, 8], "x": 10, "y": 4, "w": 1.25}, + {"matrix": [4, 9], "x": 11.25, "y": 4, "w": 1.25}, + {"matrix": [4, 12], "x": 12.5, "y": 4, "w": 1.25}, + {"matrix": [4, 13], "x": 13.75, "y": 4, "w": 1.25} + ] + } + } +} diff --git a/keyboards/handwired/rd_61_qmk/keymaps/default/keymap.c b/keyboards/handwired/rd_61_qmk/keymaps/default/keymap.c new file mode 100644 index 00000000000..b32fa614a7d --- /dev/null +++ b/keyboards/handwired/rd_61_qmk/keymaps/default/keymap.c @@ -0,0 +1,37 @@ +// Copyright 2023 QMK +// SPDX-License-Identifier: GPL-2.0-or-later +#include QMK_KEYBOARD_H + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + [0] = LAYOUT_60_ansi( + 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_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_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_LCTL, MO(1), KC_LALT, KC_SPC, KC_RALT, MO(3), KC_RCTL, KC_PENT + ), + + [1] = LAYOUT_60_ansi( + 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, DF(0), KC_UP, KC_MUTE, KC_VOLD, KC_VOLU, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_DEL, KC_LEFT, KC_DOWN, KC_RGHT, KC_BRID, KC_BRIU, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_LSFT, C(S(KC_TAB)), C(KC_TAB), KC_MPLY, KC_MPRV, KC_MNXT, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_RSFT, + KC_RGUI, KC_TRNS, MO(2), KC_TRNS, KC_TRNS, MO(3), KC_TRNS, KC_TRNS + ), + + [2] = LAYOUT_60_ansi( + QK_RBT, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_DEL, KC_BSPC, + KC_PSCR, KC_P7, KC_P8, KC_P9, KC_PSLS, KC_PAST, KC_LEFT, KC_TRNS, KC_TRNS, KC_7, KC_8, KC_9, KC_TRNS, KC_PSCR, + KC_DEL, KC_P4, KC_P5, KC_P6, KC_PMNS, KC_PPLS, KC_RGHT, KC_TRNS, KC_TRNS, KC_4, KC_5, KC_6, KC_TRNS, + KC_LSFT, KC_P1, KC_P2, KC_P3, KC_PDOT, KC_P0, KC_ENT, KC_TRNS, KC_1, KC_2, KC_3, KC_RSFT, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, MO(3), KC_TRNS, KC_TRNS + ), + + [3] = LAYOUT_60_ansi( + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, DB_TOGG, QK_RBT, QK_BOOT, QK_MAKE, + 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, 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, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, RGB_VAI, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, RGB_MOD, KC_TRNS, RGB_HUI, RGB_SAI + ) +}; diff --git a/keyboards/handwired/rd_61_qmk/readme.md b/keyboards/handwired/rd_61_qmk/readme.md new file mode 100644 index 00000000000..f9e40ac81bf --- /dev/null +++ b/keyboards/handwired/rd_61_qmk/readme.md @@ -0,0 +1,53 @@ +# Redragon K617 (QMK ported) + +![Keyboard image](https://imagizer.imageshack.com/img922/3464/qUpU8k.png) + +*Firmware,layout and schematics for porting Redragon K617 keyboard to qmk* + +* Keyboard Maintainer: *[abhijithabhiakl](https://github.com/abhijithabhiakl)* +* Hardware Supported: *Redragon K617, Pro micro(caterina)* +* Hardware Availability: *[Redragon K617](https://redragon.in/products/fizz-k617-60-wired-mechanical-keyboard-white-and-grey-red-switches)* + +Make example for this keyboard (after setting up your build environment): + + make handwired/rd_61_qmk:default + +Flashing example for this keyboard: + + make handwired/rd_61_qmk:default:flash + +Also can be flashed with QMK *[QMK toolbox](https://github.com/qmk/qmk_toolbox)* or *[avrdudess](https://blog.zakkemble.net/avrdudess-a-gui-for-avrdude/)* + +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). + +See [QMK repo cloning](https://docs.qmk.fm/#/getting_started_github) for information about cloning the repo + +## Hardware details: + +Note : Before doing any modifications in the PCB make sure that the stock microcontroller is removed. + +#### Matrix layout: +![Keyboard image](https://imagizer.imageshack.com/img924/8415/hX5gAb.jpg) + +#### Schematic: +![Keyboard image](https://imagizer.imageshack.com/img922/5585/vXorPx.png) + +* *The header `J0` in not present in the normal pro mirco, for my purpose i directly soldered the `D5`, `C7` and `F0` pins to the pad of the microcontroller with micro soldering tools. + +* **To connect the promicro to PCB - Micro USB to the USB C, i made use of an old micro usb cable lying around, cut the cable to approprite length and exposed the wires, connected the male connector to female port of pro micro, Connected the Vcc and Gnd wires to Vcc and Gnd in the PCB, In PCB there's a differential pair (D+, D-) running from USB C port in the PCB to microcontroller in the PCB, in between the connection there's a resistor and filter capacitors, after removing both (bypassing the connection) i connected the D+ and D- wires to the bypassed point respectively (make sure the cable wires are also impedance matched) + +#### RGB Lighting: + +The stock RGB Lighting used on the keyboard is [this](https://www.luckylight.cn/en/products/smd-led/multi-color-smd-led/?series_code=sr187-rgb-series) `SR187RGBC` `Multi-color PLCC SMD LEDs`, to use this kind of LED with qmk I either have to write a custom led matrix code ( I don't know for sure if qmk already have any support this neither currently have the knowledge or time to do so ) or need to make a led matrix with qmk supported led matrix drivers, due to above mentioned reasons I haven't did any RGB lightings in the keyboard except a single ws2812 led + +I'm trying to make a custom PCB for this keyboard (will work for all redragon 60% keyboard (ig) ), I'll update here + +## Bootloader + +Entering the bootloader: + +* **Physical reset button**: Briefly press the button soldered to promicro (In my case i soldered the reset button to the promicro with wires and glued in outside in front of the case) +* **Bootmagic key at [0,0]**: Hold this key down when plugging the keyboard in. Just the single key +* **Keycode in layout**: Press the key mapped to `QK_BOOT`. Also in `layer #3` keys `DB_TOGG` `QK_RBT` `QK_BOOT` `QK_MAKE` are present at the top right corner for debug mode, keyboard reboot, bootloader mode and qmk make (`qmk flash` if shift is held ) in the respective order to make the flasing easier. +`QK_MAKE` will type `qmk compile -kb handwired/rd_61_qmk -km default` in the terminal and `qmk flash` will type `qmk flash -kb handwired/rd_61_qmk -km default` + diff --git a/keyboards/handwired/rd_61_qmk/rules.mk b/keyboards/handwired/rd_61_qmk/rules.mk new file mode 100644 index 00000000000..6e7633bfe01 --- /dev/null +++ b/keyboards/handwired/rd_61_qmk/rules.mk @@ -0,0 +1 @@ +# This file intentionally left blank From 1e304433e57d1e5e6bd6c157c2af3655b4ee73ef Mon Sep 17 00:00:00 2001 From: Joe Scotto <8194147+joe-scotto@users.noreply.github.com> Date: Sat, 23 Dec 2023 16:51:38 -0500 Subject: [PATCH 06/13] [Keyboard] Add Scotto108 handwired keyboard (#22720) Co-authored-by: jack <0x6a73@protonmail.com> --- .../handwired/scottokeebs/scotto108/info.json | 138 ++++++++++++++++++ .../scotto108/keymaps/default/keymap.c | 29 ++++ .../handwired/scottokeebs/scotto108/readme.md | 29 ++++ .../handwired/scottokeebs/scotto108/rules.mk | 1 + 4 files changed, 197 insertions(+) create mode 100644 keyboards/handwired/scottokeebs/scotto108/info.json create mode 100644 keyboards/handwired/scottokeebs/scotto108/keymaps/default/keymap.c create mode 100644 keyboards/handwired/scottokeebs/scotto108/readme.md create mode 100644 keyboards/handwired/scottokeebs/scotto108/rules.mk diff --git a/keyboards/handwired/scottokeebs/scotto108/info.json b/keyboards/handwired/scottokeebs/scotto108/info.json new file mode 100644 index 00000000000..0781bb4cae3 --- /dev/null +++ b/keyboards/handwired/scottokeebs/scotto108/info.json @@ -0,0 +1,138 @@ +{ + "manufacturer": "ScottoKeebs", + "keyboard_name": "Scotto108", + "maintainer": "joe-scotto", + "bootloader": "rp2040", + "diode_direction": "COL2ROW", + "features": { + "bootmagic": true, + "extrakey": true, + "mousekey": true, + "nkro": true, + }, + "matrix_pins": { + "cols": ["GP6", "GP7", "GP8", "GP9", "GP10", "GP11", "GP12", "GP13", "GP14", "GP15", "GP29", "GP28", "GP27", "GP26", "GP22", "GP21", "GP20", "GP19", "GP18", "GP17", "GP16"], + "rows": ["GP0", "GP1", "GP2", "GP3", "GP4", "GP5"] + }, + "processor": "RP2040", + "url": "https://scottokeebs.com", + "usb": { + "device_version": "1.0.0", + "pid": "0x1022", + "vid": "0x534B" + }, + "layouts": { + "LAYOUT": { + "layout": [ + {"matrix": [0, 0], "x": 0, "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": 7, "y": 0}, + {"matrix": [0, 8], "x": 8, "y": 0}, + {"matrix": [0, 9], "x": 9, "y": 0}, + {"matrix": [0, 10], "x": 10, "y": 0}, + {"matrix": [0, 11], "x": 11, "y": 0}, + {"matrix": [0, 12], "x": 12, "y": 0}, + {"matrix": [0, 13], "x": 13, "y": 0}, + {"matrix": [0, 14], "x": 14.5, "y": 0}, + {"matrix": [0, 15], "x": 15.5, "y": 0}, + {"matrix": [0, 16], "x": 16.5, "y": 0}, + {"matrix": [0, 17], "x": 18, "y": 0}, + {"matrix": [0, 18], "x": 19, "y": 0}, + {"matrix": [0, 19], "x": 20, "y": 0}, + {"matrix": [0, 20], "x": 21, "y": 0}, + {"matrix": [1, 0], "x": 0, "y": 1.5}, + {"matrix": [1, 1], "x": 1, "y": 1.5}, + {"matrix": [1, 2], "x": 2, "y": 1.5}, + {"matrix": [1, 3], "x": 3, "y": 1.5}, + {"matrix": [1, 4], "x": 4, "y": 1.5}, + {"matrix": [1, 5], "x": 5, "y": 1.5}, + {"matrix": [1, 6], "x": 6, "y": 1.5}, + {"matrix": [1, 7], "x": 7, "y": 1.5}, + {"matrix": [1, 8], "x": 8, "y": 1.5}, + {"matrix": [1, 9], "x": 9, "y": 1.5}, + {"matrix": [1, 10], "x": 10, "y": 1.5}, + {"matrix": [1, 11], "x": 11, "y": 1.5}, + {"matrix": [1, 12], "x": 12, "y": 1.5}, + {"matrix": [1, 13], "x": 13, "y": 1.5}, + {"matrix": [1, 14], "x": 14.5, "y": 1.5}, + {"matrix": [1, 15], "x": 15.5, "y": 1.5}, + {"matrix": [1, 16], "x": 16.5, "y": 1.5}, + {"matrix": [1, 17], "x": 18, "y": 1.5}, + {"matrix": [1, 18], "x": 19, "y": 1.5}, + {"matrix": [1, 19], "x": 20, "y": 1.5}, + {"matrix": [1, 20], "x": 21, "y": 1.5}, + {"matrix": [2, 0], "x": 0, "y": 2.5}, + {"matrix": [2, 1], "x": 1, "y": 2.5}, + {"matrix": [2, 2], "x": 2, "y": 2.5}, + {"matrix": [2, 3], "x": 3, "y": 2.5}, + {"matrix": [2, 4], "x": 4, "y": 2.5}, + {"matrix": [2, 5], "x": 5, "y": 2.5}, + {"matrix": [2, 6], "x": 6, "y": 2.5}, + {"matrix": [2, 7], "x": 7, "y": 2.5}, + {"matrix": [2, 8], "x": 8, "y": 2.5}, + {"matrix": [2, 9], "x": 9, "y": 2.5}, + {"matrix": [2, 10], "x": 10, "y": 2.5}, + {"matrix": [2, 11], "x": 11, "y": 2.5}, + {"matrix": [2, 12], "x": 12, "y": 2.5}, + {"matrix": [2, 13], "x": 13, "y": 2.5}, + {"matrix": [2, 14], "x": 14.5, "y": 2.5}, + {"matrix": [2, 15], "x": 15.5, "y": 2.5}, + {"matrix": [2, 16], "x": 16.5, "y": 2.5}, + {"matrix": [2, 17], "x": 18, "y": 2.5}, + {"matrix": [2, 18], "x": 19, "y": 2.5}, + {"matrix": [2, 19], "x": 20, "y": 2.5}, + {"matrix": [3, 0], "x": 0, "y": 3.5}, + {"matrix": [3, 1], "x": 1, "y": 3.5}, + {"matrix": [3, 2], "x": 2, "y": 3.5}, + {"matrix": [3, 3], "x": 3, "y": 3.5}, + {"matrix": [3, 4], "x": 4, "y": 3.5}, + {"matrix": [3, 5], "x": 5, "y": 3.5}, + {"matrix": [3, 6], "x": 6, "y": 3.5}, + {"matrix": [3, 7], "x": 7, "y": 3.5}, + {"matrix": [3, 8], "x": 8, "y": 3.5}, + {"matrix": [3, 9], "x": 9, "y": 3.5}, + {"matrix": [3, 10], "x": 10, "y": 3.5}, + {"matrix": [3, 11], "x": 11, "y": 3.5}, + {"matrix": [3, 13], "x": 12, "y": 3.5, "w": 2}, + {"matrix": [3, 17], "x": 18, "y": 3.5}, + {"matrix": [3, 18], "x": 19, "y": 3.5}, + {"matrix": [3, 19], "x": 20, "y": 3.5}, + {"matrix": [3, 20], "x": 21, "y": 2.5, "h": 2}, + {"matrix": [4, 0], "x": 0, "y": 4.5}, + {"matrix": [4, 1], "x": 1, "y": 4.5}, + {"matrix": [4, 2], "x": 2, "y": 4.5}, + {"matrix": [4, 3], "x": 3, "y": 4.5}, + {"matrix": [4, 4], "x": 4, "y": 4.5}, + {"matrix": [4, 5], "x": 5, "y": 4.5}, + {"matrix": [4, 6], "x": 6, "y": 4.5}, + {"matrix": [4, 7], "x": 7, "y": 4.5}, + {"matrix": [4, 8], "x": 8, "y": 4.5}, + {"matrix": [4, 9], "x": 9, "y": 4.5}, + {"matrix": [4, 10], "x": 10, "y": 4.5}, + {"matrix": [4, 12], "x": 11, "y": 4.5, "w": 3}, + {"matrix": [4, 15], "x": 15.5, "y": 4.5}, + {"matrix": [4, 17], "x": 18, "y": 4.5}, + {"matrix": [4, 18], "x": 19, "y": 4.5}, + {"matrix": [4, 19], "x": 20, "y": 4.5}, + {"matrix": [5, 0], "x": 0, "y": 5.5}, + {"matrix": [5, 1], "x": 1, "y": 5.5}, + {"matrix": [5, 2], "x": 2, "y": 5.5}, + {"matrix": [5, 6], "x": 3, "y": 5.5, "w": 7}, + {"matrix": [5, 10], "x": 10, "y": 5.5}, + {"matrix": [5, 11], "x": 11, "y": 5.5}, + {"matrix": [5, 12], "x": 12, "y": 5.5}, + {"matrix": [5, 13], "x": 13, "y": 5.5}, + {"matrix": [5, 14], "x": 14.5, "y": 5.5}, + {"matrix": [5, 15], "x": 15.5, "y": 5.5}, + {"matrix": [5, 16], "x": 16.5, "y": 5.5}, + {"matrix": [5, 17], "x": 18, "y": 5.5, "w": 2}, + {"matrix": [5, 19], "x": 20, "y": 5.5}, + {"matrix": [5, 20], "x": 21, "y": 4.5, "h": 2} + ] + } + } +} \ No newline at end of file diff --git a/keyboards/handwired/scottokeebs/scotto108/keymaps/default/keymap.c b/keyboards/handwired/scottokeebs/scotto108/keymaps/default/keymap.c new file mode 100644 index 00000000000..472318e1f5b --- /dev/null +++ b/keyboards/handwired/scottokeebs/scotto108/keymaps/default/keymap.c @@ -0,0 +1,29 @@ +/* +Copyright 2023 Joe Scotto + +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 + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + [0] = LAYOUT( + KC_ESC, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_PSCR, KC_SCRL, KC_PAUS, KC_1, KC_2, KC_3, KC_4, + 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_EQUAL, KC_BSPC, KC_INS, KC_HOME, KC_PGUP, KC_NUM, KC_PSLS, KC_PAST, KC_PMNS, + 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_DEL, KC_END, KC_PGDN, KC_P7, KC_P8, KC_P9, + 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_P4, KC_P5, KC_P6, KC_PPLS, + KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMMA, KC_DOT, KC_SLSH, KC_RSFT, KC_UP, KC_P1, KC_P2, KC_P3, + KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, KC_RGUI, KC_APP, KC_RCTL, KC_LEFT, KC_DOWN, KC_RIGHT, KC_P0, KC_PDOT, KC_PENT + ) +}; \ No newline at end of file diff --git a/keyboards/handwired/scottokeebs/scotto108/readme.md b/keyboards/handwired/scottokeebs/scotto108/readme.md new file mode 100644 index 00000000000..1875adbc309 --- /dev/null +++ b/keyboards/handwired/scottokeebs/scotto108/readme.md @@ -0,0 +1,29 @@ +# Scotto108 + +![Scotto108](https://i.imgur.com/ss4BEujh.jpg) + +A 108-key full-sized ortholinear keyboard with a 7u spacebar and 4 macro keys above the numpad. + +* Keyboard Maintainer: [Joe Scotto](https://github.com/joe-scotto) +* Hardware Supported: Raspberry Pi Pico +* Hardware Availability: [ScottoKeebs](https://scottokeebs.com), [Amazon](https://amazon.com), [AliExpress](https://aliexpress.com) + +# Compiling + +Make example for this keyboard (after setting up your build environment): + + make handwired/scottokeebs/scotto108:default + +Flashing example for this keyboard: + + make handwired/scottokeebs/scotto108: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/handwired/scottokeebs/scotto108/rules.mk b/keyboards/handwired/scottokeebs/scotto108/rules.mk new file mode 100644 index 00000000000..6e7633bfe01 --- /dev/null +++ b/keyboards/handwired/scottokeebs/scotto108/rules.mk @@ -0,0 +1 @@ +# This file intentionally left blank From 0e9e2963ca773ce2c5130d893fab9192b79d3afd Mon Sep 17 00:00:00 2001 From: Joe Scotto <8194147+joe-scotto@users.noreply.github.com> Date: Sat, 23 Dec 2023 17:05:36 -0500 Subject: [PATCH 07/13] [Keyboard] Fix Scotto61 Configurator Layout (#22718) --- keyboards/handwired/scottokeebs/scotto61/info.json | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/keyboards/handwired/scottokeebs/scotto61/info.json b/keyboards/handwired/scottokeebs/scotto61/info.json index fe08843b978..8614ec81ebe 100644 --- a/keyboards/handwired/scottokeebs/scotto61/info.json +++ b/keyboards/handwired/scottokeebs/scotto61/info.json @@ -41,7 +41,7 @@ {"matrix": [0, 11], "x": 11, "y": 0}, {"matrix": [0, 12], "x": 12, "y": 0}, {"matrix": [0, 13], "x": 13, "y": 0}, - {"matrix": [1, 0], "x": 0, "y": 4}, + {"matrix": [1, 0], "x": 0, "y": 1}, {"matrix": [1, 1], "x": 1, "y": 1}, {"matrix": [1, 2], "x": 2, "y": 1}, {"matrix": [1, 3], "x": 3, "y": 1}, @@ -67,7 +67,7 @@ {"matrix": [2, 9], "x": 9, "y": 2}, {"matrix": [2, 10], "x": 10, "y": 2}, {"matrix": [2, 11], "x": 11, "y": 2}, - {"matrix": [2, 13], "x": 13, "y": 2}, + {"matrix": [2, 13], "x": 12, "y": 2, "w": 2}, {"matrix": [3, 0], "x": 0, "y": 3}, {"matrix": [3, 1], "x": 1, "y": 3}, {"matrix": [3, 2], "x": 2, "y": 3}, @@ -79,11 +79,11 @@ {"matrix": [3, 8], "x": 8, "y": 3}, {"matrix": [3, 9], "x": 9, "y": 3}, {"matrix": [3, 10], "x": 10, "y": 3}, - {"matrix": [3, 12], "x": 12, "y": 3}, + {"matrix": [3, 12], "x": 11, "y": 3, "w": 3}, {"matrix": [4, 0], "x": 0, "y": 4}, {"matrix": [4, 1], "x": 1, "y": 4}, {"matrix": [4, 2], "x": 2, "y": 4}, - {"matrix": [4, 6], "x": 6, "y": 4}, + {"matrix": [4, 6], "x": 3, "y": 4, "w": 7}, {"matrix": [4, 10], "x": 10, "y": 4}, {"matrix": [4, 11], "x": 11, "y": 4}, {"matrix": [4, 12], "x": 12, "y": 4}, From 08711e1cf78401fbfb9f7d125956ef62174f2251 Mon Sep 17 00:00:00 2001 From: yuezp <49514776+LXF-YZP@users.noreply.github.com> Date: Sun, 24 Dec 2023 07:45:12 +0800 Subject: [PATCH 08/13] [Keyboard] Add kafka68 (#22684) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-authored-by: “yuezp” <“yuezpchn@126.com”> --- keyboards/meetlab/kafka68/info.json | 102 ++++++++++++++++++ .../meetlab/kafka68/keymaps/default/keymap.c | 35 ++++++ .../meetlab/kafka68/keymaps/via/keymap.c | 35 ++++++ .../meetlab/kafka68/keymaps/via/rules.mk | 1 + keyboards/meetlab/kafka68/matrix_diagram.md | 16 +++ keyboards/meetlab/kafka68/readme.md | 26 +++++ keyboards/meetlab/kafka68/rules.mk | 1 + 7 files changed, 216 insertions(+) create mode 100644 keyboards/meetlab/kafka68/info.json create mode 100644 keyboards/meetlab/kafka68/keymaps/default/keymap.c create mode 100644 keyboards/meetlab/kafka68/keymaps/via/keymap.c create mode 100644 keyboards/meetlab/kafka68/keymaps/via/rules.mk create mode 100644 keyboards/meetlab/kafka68/matrix_diagram.md create mode 100644 keyboards/meetlab/kafka68/readme.md create mode 100644 keyboards/meetlab/kafka68/rules.mk diff --git a/keyboards/meetlab/kafka68/info.json b/keyboards/meetlab/kafka68/info.json new file mode 100644 index 00000000000..3836edc3c9a --- /dev/null +++ b/keyboards/meetlab/kafka68/info.json @@ -0,0 +1,102 @@ +{ + "manufacturer": "lucky_studio", + "keyboard_name": "kafka68", + "maintainer": "yuezp", + "development_board": "bluepill", + "diode_direction": "COL2ROW", + "features": { + "bootmagic": true, + "extrakey": true, + "mousekey": true, + "nkro": true + }, + "matrix_pins": { + "cols": ["A10", "B7", "B6", "B5", "B4", "B3", "A15", "B0", "A7", "A6", "A5", "A4", "A3", "B1", "B10", "B11"], + "rows": ["B13", "B14", "B15", "A8", "A9"] + }, + "url": "", + "usb": { + "device_version": "1.0.0", + "pid": "0xAA07", + "vid": "0xBB07" + }, + "community_layouts": ["68_ansi"], + "layouts": { + "LAYOUT_68_ansi": { + "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": 7, "y": 0}, + {"matrix": [0, 8], "x": 8, "y": 0}, + {"matrix": [0, 9], "x": 9, "y": 0}, + {"matrix": [0, 10], "x": 10, "y": 0}, + {"matrix": [0, 11], "x": 11, "y": 0}, + {"matrix": [0, 12], "x": 12, "y": 0}, + {"matrix": [0, 13], "x": 13, "y": 0, "w": 2}, + {"matrix": [0, 14], "x": 15.25, "y": 0}, + {"matrix": [0, 15], "x": 16.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, 6], "x": 6.5, "y": 1}, + {"matrix": [1, 7], "x": 7.5, "y": 1}, + {"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": 12.5, "y": 1, "w": 1.5}, + {"matrix": [1, 14], "x": 15.25, "y": 1}, + {"matrix": [1, 15], "x": 16.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, 6], "x": 6.75, "y": 2}, + {"matrix": [2, 7], "x": 7.75, "y": 2}, + {"matrix": [2, 8], "x": 8.75, "y": 2}, + {"matrix": [2, 9], "x": 9.75, "y": 2}, + {"matrix": [2, 10], "x": 10.75, "y": 2}, + {"matrix": [2, 11], "x": 11.75, "y": 2}, + {"matrix": [2, 12], "x": 12.75, "y": 2, "w": 2.25}, + + {"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, 6], "x": 7.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, 12], "x": 12.25, "y": 3, "w": 2.75}, + {"matrix": [3, 14], "x": 15.25, "y": 3}, + + {"matrix": [4, 0], "x": 0, "y": 4, "w": 1.25}, + {"matrix": [4, 1], "x": 1.25, "y": 4, "w": 1.25}, + {"matrix": [4, 2], "x": 2.5, "y": 4, "w": 1.25}, + {"matrix": [4, 5], "x": 3.75, "y": 4, "w": 6.25}, + {"matrix": [4, 9], "x": 10, "y": 4, "w": 1.25}, + {"matrix": [4, 10], "x": 11.25, "y": 4, "w": 1.25}, + {"matrix": [4, 11], "x": 12.5, "y": 4, "w": 1.25}, + {"matrix": [4, 13], "x": 14.25, "y": 4}, + {"matrix": [4, 14], "x": 15.25, "y": 4}, + {"matrix": [4, 15], "x": 16.25, "y": 4} + ] + } + } +} \ No newline at end of file diff --git a/keyboards/meetlab/kafka68/keymaps/default/keymap.c b/keyboards/meetlab/kafka68/keymaps/default/keymap.c new file mode 100644 index 00000000000..f4968692728 --- /dev/null +++ b/keyboards/meetlab/kafka68/keymaps/default/keymap.c @@ -0,0 +1,35 @@ +/* Copyright 2022 LXF-YZP(yuezp) + * + * 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 + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + +[0]=LAYOUT_68_ansi( + 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_INS, KC_HOME, + 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_DEL, KC_END, + 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, + KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, KC_RGUI, MO(1), KC_LEFT, KC_DOWN, KC_RGHT), + +[1]=LAYOUT_68_ansi( + KC_TRNS, 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_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, 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, 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, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS) + +}; diff --git a/keyboards/meetlab/kafka68/keymaps/via/keymap.c b/keyboards/meetlab/kafka68/keymaps/via/keymap.c new file mode 100644 index 00000000000..f4968692728 --- /dev/null +++ b/keyboards/meetlab/kafka68/keymaps/via/keymap.c @@ -0,0 +1,35 @@ +/* Copyright 2022 LXF-YZP(yuezp) + * + * 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 + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + +[0]=LAYOUT_68_ansi( + 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_INS, KC_HOME, + 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_DEL, KC_END, + 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, + KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, KC_RGUI, MO(1), KC_LEFT, KC_DOWN, KC_RGHT), + +[1]=LAYOUT_68_ansi( + KC_TRNS, 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_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, 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, 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, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS) + +}; diff --git a/keyboards/meetlab/kafka68/keymaps/via/rules.mk b/keyboards/meetlab/kafka68/keymaps/via/rules.mk new file mode 100644 index 00000000000..036bd6d1c3e --- /dev/null +++ b/keyboards/meetlab/kafka68/keymaps/via/rules.mk @@ -0,0 +1 @@ +VIA_ENABLE = yes \ No newline at end of file diff --git a/keyboards/meetlab/kafka68/matrix_diagram.md b/keyboards/meetlab/kafka68/matrix_diagram.md new file mode 100644 index 00000000000..df7d6369186 --- /dev/null +++ b/keyboards/meetlab/kafka68/matrix_diagram.md @@ -0,0 +1,16 @@ +# Matrix Diagram for kafka68 + +``` +┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┐┌───┬───┐ +│00 │01 │02 │03 │04 │05 │06 │07 │08 │09 │0A │0B │0C │0D ││0E │0F │ +├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤├───┼───┤ +│10 │11 │12 │13 │14 │15 │16 │17 │18 │19 │1A │1B │1C │1D ││1E │1F │ +├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴─────┤└───┴───┘ +│20 │21 │22 │23 │24 │25 │26 │27 │28 │29 │2A │2B │2C │ +├──────┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴────────┤┌───┐ +│30 │31 │32 │33 │34 │35 │36 │37 │38 │39 │3A │3C ││3E │ +├────┬───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬───┬──┬──┴┼───┼───┐ +│40 │41 │42 │45 │49 │4A │4B │ │4D │4E │4F │ +└────┴────┴────┴────────────────────────┴────┴────┴───┘ └───┴───┴───┘ + +``` diff --git a/keyboards/meetlab/kafka68/readme.md b/keyboards/meetlab/kafka68/readme.md new file mode 100644 index 00000000000..ac8742a1016 --- /dev/null +++ b/keyboards/meetlab/kafka68/readme.md @@ -0,0 +1,26 @@ +# kafka68 - PCB + +![kafka68](https://i.imgur.com/5w8fESLh.jpg) + +A 68 key keyboard made by Lucky, based on hhkb layout. + +* Keyboard Maintainer: https://github.com/LXF-YZP +* Hardware Supported: Lucky PCB + +Make example for this keyboard (after setting up your build environment): + + make meetlab/kafka68:default + +Flashing example for this keyboard: + + make meetlab/kafka68: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/meetlab/kafka68/rules.mk b/keyboards/meetlab/kafka68/rules.mk new file mode 100644 index 00000000000..7ff128fa692 --- /dev/null +++ b/keyboards/meetlab/kafka68/rules.mk @@ -0,0 +1 @@ +# This file intentionally left blank \ No newline at end of file From a1d29982dccffb916cd56be673f813fd5900d84f Mon Sep 17 00:00:00 2001 From: peepeetee <43021794+peepeetee@users.noreply.github.com> Date: Sat, 23 Dec 2023 17:49:37 -0600 Subject: [PATCH 09/13] Add Momokai Aurora Image (#22728) Co-authored-by: Duncan Sutherland --- keyboards/momokai/aurora/readme.md | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/keyboards/momokai/aurora/readme.md b/keyboards/momokai/aurora/readme.md index e8ab8f141b6..0368b21f867 100644 --- a/keyboards/momokai/aurora/readme.md +++ b/keyboards/momokai/aurora/readme.md @@ -1,12 +1,14 @@ # Momokai Aurora +![Momokai Aurora](https://i.imgur.com/A7iHqzAh.jpg) + https://www.momokai.com/pages/aurora A 6 key keypad with a rotary encoder * Keyboard Maintainer: [peepeetee](https://github.com/peepeetee) * Hardware Supported: Aurora -* Hardware Availability: [Momokai](https://www.momokai.com/) +* Hardware Availability: [Momokai](https://www.momokai.com/pages/aurora) Make example for this keyboard (after setting up your build environment): From 2d5cfd3ecf90f91b2dad2bce755d199ac080ea62 Mon Sep 17 00:00:00 2001 From: Joy Lee <986984630@qq.com> Date: Sun, 24 Dec 2023 11:01:42 +0800 Subject: [PATCH 10/13] [Keyboard] Add darmoshark k3 (#21980) Co-authored-by: Joel Challis Co-authored-by: Duncan Sutherland Co-authored-by: Proceee --- keyboards/darmoshark/k3/config.h | 12 ++ keyboards/darmoshark/k3/halconf.h | 10 + keyboards/darmoshark/k3/info.json | 183 ++++++++++++++++++ .../darmoshark/k3/keymaps/default/keymap.c | 25 +++ keyboards/darmoshark/k3/keymaps/via/config.h | 6 + keyboards/darmoshark/k3/keymaps/via/keymap.c | 25 +++ keyboards/darmoshark/k3/keymaps/via/rules.mk | 1 + keyboards/darmoshark/k3/mcuconf.h | 9 + keyboards/darmoshark/k3/readme.md | 23 +++ keyboards/darmoshark/k3/rules.mk | 1 + 10 files changed, 295 insertions(+) create mode 100644 keyboards/darmoshark/k3/config.h create mode 100644 keyboards/darmoshark/k3/halconf.h create mode 100644 keyboards/darmoshark/k3/info.json create mode 100644 keyboards/darmoshark/k3/keymaps/default/keymap.c create mode 100644 keyboards/darmoshark/k3/keymaps/via/config.h create mode 100644 keyboards/darmoshark/k3/keymaps/via/keymap.c create mode 100644 keyboards/darmoshark/k3/keymaps/via/rules.mk create mode 100644 keyboards/darmoshark/k3/mcuconf.h create mode 100644 keyboards/darmoshark/k3/readme.md create mode 100644 keyboards/darmoshark/k3/rules.mk diff --git a/keyboards/darmoshark/k3/config.h b/keyboards/darmoshark/k3/config.h new file mode 100644 index 00000000000..c3cf83a9849 --- /dev/null +++ b/keyboards/darmoshark/k3/config.h @@ -0,0 +1,12 @@ +// Copyright 2023 Proceee +// SPDX-License-Identifier: GPL-2.0-or-later + +#pragma once +/* SPI Config for spi flash*/ +#define SPI_DRIVER SPIDQ +#define SPI_SCK_PIN B3 +#define SPI_MOSI_PIN B5 +#define SPI_MISO_PIN B4 +#define SPI_MOSI_PAL_MODE 5 + +#define EXTERNAL_FLASH_SPI_SLAVE_SELECT_PIN C12 diff --git a/keyboards/darmoshark/k3/halconf.h b/keyboards/darmoshark/k3/halconf.h new file mode 100644 index 00000000000..b6a606056a1 --- /dev/null +++ b/keyboards/darmoshark/k3/halconf.h @@ -0,0 +1,10 @@ +// Copyright 2023 Proceee +// SPDX-License-Identifier: GPL-2.0-or-later + +#pragma once + +#define HAL_USE_SPI TRUE +#define SPI_USE_WAIT TRUE +#define SPI_SELECT_MODE SPI_SELECT_MODE_PAD + +#include_next diff --git a/keyboards/darmoshark/k3/info.json b/keyboards/darmoshark/k3/info.json new file mode 100644 index 00000000000..bca494f35cd --- /dev/null +++ b/keyboards/darmoshark/k3/info.json @@ -0,0 +1,183 @@ +{ + "manufacturer": "Darmoshark", + "keyboard_name": "K3 QMK", + "maintainer": "Proceee", + "url": "", + "processor": "WB32FQ95", + "bootloader": "wb32-dfu", + "usb": { + "device_version": "1.0.0", + "vid": "0xC001", + "pid": "0x3667", + "suspend_wakeup_delay": 1000 + }, + "diode_direction": "ROW2COL", + "features": { + "bootmagic": true, + "command": false, + "console": false, + "extrakey": true, + "mousekey": true, + "nkro": true, + "rgb_matrix": true + }, + "eeprom": { + "driver": "wear_leveling", + "wear_leveling": { + "driver": "spi_flash", + "backing_size": 4096 + } + }, + "matrix_pins": { + "rows": ["B13", "A1", "A2", "A3", "A4", "B7"], + "cols": ["B1", "C7", "C13", "B9"] + }, + "indicators": { + "num_lock": "C5", + "on_state": 1 + }, + "ws2812": { + "pin": "A8" + }, + "rgb_matrix": { + "driver": "ws2812", + "default":{ + "val": 80 + }, + "sleep": true, + "center_point": [24, 32], + "max_brightness": 140, + "animations": { + "solid_color": true, + "alphas_mods": true, + "gradient_up_down": true, + "gradient_left_right": true, + "breathing": true, + "band_sat": true, + "band_val": true, + "band_pinwheel_sat": true, + "band_pinwheel_val": true, + "band_spiral_sat": true, + "band_spiral_val": true, + "cycle_all": true, + "cycle_left_right": true, + "cycle_up_down": true, + "cycle_out_in": true, + "cycle_out_in_dual": true, + "rainbow_moving_chevron": true, + "cycle_pinwheel": true, + "cycle_spiral": true, + "dual_beacon": true, + "rainbow_beacon": true, + "rainbow_pinwheels": true, + "raindrops": true, + "jellybean_raindrops": true, + "hue_breathing": true, + "hue_pendulum": true, + "hue_wave": true, + "pixel_fractal": true, + "pixel_flow": true, + "pixel_rain": true, + "typing_heatmap": true, + "digital_rain": true, + "solid_reactive_simple": true, + "solid_reactive": true, + "solid_reactive_wide": true, + "solid_reactive_multiwide": true, + "solid_reactive_cross": true, + "solid_reactive_multicross": true, + "solid_reactive_nexus": true, + "solid_reactive_multinexus": true, + "splash": true, + "multisplash": true, + "solid_splash": true, + "solid_multisplash": true + }, + "layout": [ + { "flags": 4, "matrix":[0,2], "x": 32, "y": 0}, + { "flags": 4, "matrix":[0,3], "x": 48, "y": 0}, + + { "flags": 4, "matrix":[1,3], "x": 48, "y": 13}, + { "flags": 4, "matrix":[2,3], "x": 48, "y": 26}, + { "flags": 4, "matrix":[4,3], "x": 48, "y": 51}, + + { "flags": 4, "matrix":[5,2], "x": 48, "y": 64}, + { "flags": 4, "matrix":[4,2], "x": 32, "y": 51}, + { "flags": 4, "matrix":[3,2], "x": 32, "y": 38}, + { "flags": 4, "matrix":[2,2], "x": 32, "y": 26}, + { "flags": 4, "matrix":[1,2], "x": 32, "y": 13}, + + { "flags": 4, "matrix":[1,1], "x": 16, "y": 13}, + { "flags": 4, "matrix":[2,1], "x": 16, "y": 26}, + { "flags": 4, "matrix":[3,1], "x": 16, "y": 38}, + { "flags": 4, "matrix":[4,1], "x": 16, "y": 51}, + + { "flags": 4, "matrix":[5,1], "x": 0, "y": 64}, + { "flags": 4, "matrix":[4,0], "x": 0, "y": 51}, + { "flags": 4, "matrix":[3,0], "x": 0, "y": 38}, + { "flags": 4, "matrix":[2,0], "x": 0, "y": 26}, + { "flags": 4, "matrix":[1,0], "x": 0, "y": 13}, + { "flags": 4, "matrix":[0,0], "x": 0, "y": 0}, + + { "flags": 4, "matrix":[0,1], "x": 16, "y": 0}, + + { "flags": 4, "x": 224, "y": 64}, + { "flags": 4, "x": 224, "y": 64}, + { "flags": 4, "x": 224, "y": 64}, + { "flags": 4, "x": 224, "y": 64}, + { "flags": 4, "x": 224, "y": 64}, + { "flags": 4, "x": 224, "y": 64}, + { "flags": 4, "x": 224, "y": 64}, + { "flags": 4, "x": 224, "y": 64}, + { "flags": 4, "x": 224, "y": 64}, + { "flags": 4, "x": 224, "y": 64}, + { "flags": 4, "x": 224, "y": 64}, + { "flags": 4, "x": 224, "y": 64}, + + { "flags": 4, "x": 224, "y": 64}, + { "flags": 4, "x": 224, "y": 64}, + { "flags": 4, "x": 224, "y": 64}, + { "flags": 4, "x": 224, "y": 64}, + { "flags": 4, "x": 224, "y": 64}, + { "flags": 4, "x": 224, "y": 64}, + { "flags": 4, "x": 224, "y": 64}, + { "flags": 4, "x": 224, "y": 64}, + { "flags": 4, "x": 224, "y": 64}, + { "flags": 4, "x": 224, "y": 64}, + { "flags": 4, "x": 224, "y": 64} + ] + }, + "community_layouts": ["numpad_6x4"], + "layouts": { + "LAYOUT_numpad_6x4": { + "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":[1,0], "x": 0, "y": 1 }, + { "matrix":[1,1], "x": 1, "y": 1 }, + { "matrix":[1,2], "x": 2, "y": 1 }, + { "matrix":[1,3], "x": 3, "y": 1 }, + + { "matrix":[2,0], "x": 0, "y": 2 }, + { "matrix":[2,1], "x": 1, "y": 2 }, + { "matrix":[2,2], "x": 2, "y": 2 }, + + { "matrix":[3,0], "x": 0, "y": 3 }, + { "matrix":[3,1], "x": 1, "y": 3 }, + { "matrix":[3,2], "x": 2, "y": 3 }, + { "matrix":[2,3], "x": 3, "y": 2, "h": 2 }, + + { "matrix":[4,0], "x": 0, "y": 4 }, + { "matrix":[4,1], "x": 1, "y": 4 }, + { "matrix":[4,2], "x": 2, "y": 4 }, + + { "matrix":[5,1], "x": 0, "y": 5, "w": 2 }, + { "matrix":[5,2], "x": 2, "y": 5 }, + { "matrix":[4,3], "x": 3, "y": 4, "h": 2 } + ] + } + } +} diff --git a/keyboards/darmoshark/k3/keymaps/default/keymap.c b/keyboards/darmoshark/k3/keymaps/default/keymap.c new file mode 100644 index 00000000000..5c49cab1a3e --- /dev/null +++ b/keyboards/darmoshark/k3/keymaps/default/keymap.c @@ -0,0 +1,25 @@ +// Copyright 2023 Proceee +// SPDX-License-Identifier: GPL-2.0-or-later + +#include QMK_KEYBOARD_H + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + + [0] = LAYOUT_numpad_6x4( + KC_ESC, KC_TAB, KC_BSPC, MO(1), + KC_NUM, KC_PSLS, KC_PAST, KC_PMNS, + KC_P7, KC_P8, KC_P9, + KC_P4, KC_P5, KC_P6, KC_PPLS, + KC_P1, KC_P2, KC_P3, + KC_P0, KC_PDOT, KC_PENT + ), + + [1] = LAYOUT_numpad_6x4( + EE_CLR, _______, RGB_MOD, _______, + KC_CALC, _______, _______, RGB_VAD, + _______, RGB_SPI, _______, + _______, _______, _______, RGB_VAI, + _______, RGB_SPD, _______, + _______, RGB_TOG, _______ + ) +}; diff --git a/keyboards/darmoshark/k3/keymaps/via/config.h b/keyboards/darmoshark/k3/keymaps/via/config.h new file mode 100644 index 00000000000..5e18cd01164 --- /dev/null +++ b/keyboards/darmoshark/k3/keymaps/via/config.h @@ -0,0 +1,6 @@ +// Copyright 2023 JoyLee (@itarze) +// SPDX-License-Identifier: GPL-2.0-or-later + +#pragma once + +#define DYNAMIC_KEYMAP_LAYER_COUNT 6 diff --git a/keyboards/darmoshark/k3/keymaps/via/keymap.c b/keyboards/darmoshark/k3/keymaps/via/keymap.c new file mode 100644 index 00000000000..5c49cab1a3e --- /dev/null +++ b/keyboards/darmoshark/k3/keymaps/via/keymap.c @@ -0,0 +1,25 @@ +// Copyright 2023 Proceee +// SPDX-License-Identifier: GPL-2.0-or-later + +#include QMK_KEYBOARD_H + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + + [0] = LAYOUT_numpad_6x4( + KC_ESC, KC_TAB, KC_BSPC, MO(1), + KC_NUM, KC_PSLS, KC_PAST, KC_PMNS, + KC_P7, KC_P8, KC_P9, + KC_P4, KC_P5, KC_P6, KC_PPLS, + KC_P1, KC_P2, KC_P3, + KC_P0, KC_PDOT, KC_PENT + ), + + [1] = LAYOUT_numpad_6x4( + EE_CLR, _______, RGB_MOD, _______, + KC_CALC, _______, _______, RGB_VAD, + _______, RGB_SPI, _______, + _______, _______, _______, RGB_VAI, + _______, RGB_SPD, _______, + _______, RGB_TOG, _______ + ) +}; diff --git a/keyboards/darmoshark/k3/keymaps/via/rules.mk b/keyboards/darmoshark/k3/keymaps/via/rules.mk new file mode 100644 index 00000000000..1e5b99807cb --- /dev/null +++ b/keyboards/darmoshark/k3/keymaps/via/rules.mk @@ -0,0 +1 @@ +VIA_ENABLE = yes diff --git a/keyboards/darmoshark/k3/mcuconf.h b/keyboards/darmoshark/k3/mcuconf.h new file mode 100644 index 00000000000..182db617aa8 --- /dev/null +++ b/keyboards/darmoshark/k3/mcuconf.h @@ -0,0 +1,9 @@ +// Copyright 2023 Proceee +// SPDX-License-Identifier: GPL-2.0-or-later + +#pragma once + +#include_next + +#undef WB32_SPI_USE_QSPI +#define WB32_SPI_USE_QSPI TRUE diff --git a/keyboards/darmoshark/k3/readme.md b/keyboards/darmoshark/k3/readme.md new file mode 100644 index 00000000000..aecfe659357 --- /dev/null +++ b/keyboards/darmoshark/k3/readme.md @@ -0,0 +1,23 @@ +# K3 QMK + +* Keyboard Maintainer: [Proceee](https://github.com/Proceee) +* Hardware Supported: [Darmoshark](http://www.Darmoshark.cn) +* Hardware Availability: [Darmoshark](http://www.Darmoshark.cn) + +Make example for this keyboard (after setting up your build environment): + + make darmoshark/k3:default + +Flashing example for this keyboard: + + make darmoshark/k3: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/darmoshark/k3/rules.mk b/keyboards/darmoshark/k3/rules.mk new file mode 100644 index 00000000000..6e7633bfe01 --- /dev/null +++ b/keyboards/darmoshark/k3/rules.mk @@ -0,0 +1 @@ +# This file intentionally left blank From fae6b85640d3ccdd20f3865f2af63f88b9ffe56d Mon Sep 17 00:00:00 2001 From: khchen2004 <148961563+khchen2004@users.noreply.github.com> Date: Sun, 24 Dec 2023 11:34:17 +0800 Subject: [PATCH 11/13] [Keyboard] add scorpio pcb (#22732) --- keyboards/kwstudio/scorpio/config.h | 20 ++ keyboards/kwstudio/scorpio/info.json | 199 ++++++++++++++++++ .../kwstudio/scorpio/keymaps/default/keymap.c | 34 +++ .../kwstudio/scorpio/keymaps/via/keymap.c | 34 +++ .../kwstudio/scorpio/keymaps/via/rules.mk | 1 + keyboards/kwstudio/scorpio/readme.md | 25 +++ keyboards/kwstudio/scorpio/rules.mk | 1 + 7 files changed, 314 insertions(+) create mode 100644 keyboards/kwstudio/scorpio/config.h create mode 100644 keyboards/kwstudio/scorpio/info.json create mode 100644 keyboards/kwstudio/scorpio/keymaps/default/keymap.c create mode 100644 keyboards/kwstudio/scorpio/keymaps/via/keymap.c create mode 100644 keyboards/kwstudio/scorpio/keymaps/via/rules.mk create mode 100644 keyboards/kwstudio/scorpio/readme.md create mode 100644 keyboards/kwstudio/scorpio/rules.mk diff --git a/keyboards/kwstudio/scorpio/config.h b/keyboards/kwstudio/scorpio/config.h new file mode 100644 index 00000000000..2f136dd0011 --- /dev/null +++ b/keyboards/kwstudio/scorpio/config.h @@ -0,0 +1,20 @@ +/* Copyright 2023 kwstudio + * + * 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 WS2812_PIO_USE_PIO1 + diff --git a/keyboards/kwstudio/scorpio/info.json b/keyboards/kwstudio/scorpio/info.json new file mode 100644 index 00000000000..82262afb1be --- /dev/null +++ b/keyboards/kwstudio/scorpio/info.json @@ -0,0 +1,199 @@ +{ + "manufacturer": "kwstudio", + "keyboard_name": "Scorpio", + "maintainer": "kwstudio", + "bootloader": "rp2040", + "diode_direction": "COL2ROW", + "features": { + "bootmagic": true, + "extrakey": true, + "mousekey": true, + "nkro": true, + "rgblight": true + }, + "indicators": { + "caps_lock": "GP24" + }, + "matrix_pins": { + "cols": ["GP23", "GP22", "GP21", "GP20", "GP19", "GP18", "GP17", "GP7", "GP6", "GP5", "GP13", "GP12", "GP11", "GP10", "GP9", "GP8"], + "rows": ["GP1", "GP0", "GP16", "GP15", "GP14"] + }, + "processor": "RP2040", + "rgblight": { + "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 + }, + "led_count": 9, + "sleep": true + }, + "url": "", + "usb": { + "device_version": "0.0.1", + "pid": "0x0002", + "vid": "0x4B53" + }, + "ws2812": { + "driver": "vendor", + "pin": "GP4" + }, + "layout_aliases": { + "LAYOUT_all": "LAYOUT_65_ansi_blocker_tsangan_wkl_split_bs" + }, + "layouts": { + "LAYOUT_65_ansi_blocker_tsangan_wkl": { + "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": 7, "y": 0}, + {"matrix": [0, 8], "x": 8, "y": 0}, + {"matrix": [0, 9], "x": 9, "y": 0}, + {"matrix": [0, 10], "x": 10, "y": 0}, + {"matrix": [0, 11], "x": 11, "y": 0}, + {"matrix": [0, 12], "x": 12, "y": 0}, + {"matrix": [0, 13], "x": 13, "y": 0, "w": 2}, + + {"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}, + {"matrix": [1, 7], "x": 7.5, "y": 1}, + {"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": [1, 15], "x": 15, "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, 6], "x": 6.75, "y": 2}, + {"matrix": [2, 7], "x": 7.75, "y": 2}, + {"matrix": [2, 8], "x": 8.75, "y": 2}, + {"matrix": [2, 9], "x": 9.75, "y": 2}, + {"matrix": [2, 10], "x": 10.75, "y": 2}, + {"matrix": [2, 11], "x": 11.75, "y": 2}, + {"matrix": [2, 12], "x": 12.75, "y": 2, "w": 2.25}, + {"matrix": [2, 15], "x": 15, "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, 6], "x": 7.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, "w": 1.75}, + {"matrix": [3, 14], "x": 14, "y": 3}, + {"matrix": [3, 15], "x": 15, "y": 3}, + + {"matrix": [4, 0], "x": 0, "y": 4, "w": 1.5}, + {"matrix": [4, 2], "x": 2.25, "y": 4, "w": 1.5}, + {"matrix": [4, 5], "x": 3.75, "y": 4, "w": 7}, + {"matrix": [4, 10], "x": 10.75, "y": 4, "w": 1.5}, + {"matrix": [4, 13], "x": 13, "y": 4}, + {"matrix": [4, 14], "x": 14, "y": 4}, + {"matrix": [4, 15], "x": 15, "y": 4} + ] + }, + "LAYOUT_65_ansi_blocker_tsangan_wkl_split_bs": { + "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": 7, "y": 0}, + {"matrix": [0, 8], "x": 8, "y": 0}, + {"matrix": [0, 9], "x": 9, "y": 0}, + {"matrix": [0, 10], "x": 10, "y": 0}, + {"matrix": [0, 11], "x": 11, "y": 0}, + {"matrix": [0, 12], "x": 12, "y": 0}, + {"matrix": [0, 13], "x": 13, "y": 0}, + {"matrix": [0, 14], "x": 14, "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, 6], "x": 6.5, "y": 1}, + {"matrix": [1, 7], "x": 7.5, "y": 1}, + {"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": [1, 15], "x": 15, "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, 6], "x": 6.75, "y": 2}, + {"matrix": [2, 7], "x": 7.75, "y": 2}, + {"matrix": [2, 8], "x": 8.75, "y": 2}, + {"matrix": [2, 9], "x": 9.75, "y": 2}, + {"matrix": [2, 10], "x": 10.75, "y": 2}, + {"matrix": [2, 11], "x": 11.75, "y": 2}, + {"matrix": [2, 12], "x": 12.75, "y": 2, "w": 2.25}, + {"matrix": [2, 15], "x": 15, "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, 6], "x": 7.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, "w": 1.75}, + {"matrix": [3, 14], "x": 14, "y": 3}, + {"matrix": [3, 15], "x": 15, "y": 3}, + + {"matrix": [4, 0], "x": 0, "y": 4, "w": 1.5}, + {"matrix": [4, 2], "x": 2.25, "y": 4, "w": 1.5}, + {"matrix": [4, 5], "x": 3.75, "y": 4, "w": 7}, + {"matrix": [4, 10], "x": 10.75, "y": 4, "w": 1.5}, + {"matrix": [4, 13], "x": 13, "y": 4}, + {"matrix": [4, 14], "x": 14, "y": 4}, + {"matrix": [4, 15], "x": 15, "y": 4} + ] + } + } +} + diff --git a/keyboards/kwstudio/scorpio/keymaps/default/keymap.c b/keyboards/kwstudio/scorpio/keymaps/default/keymap.c new file mode 100644 index 00000000000..8061c493502 --- /dev/null +++ b/keyboards/kwstudio/scorpio/keymaps/default/keymap.c @@ -0,0 +1,34 @@ +/* Copyright 2023 kwstudio + * + * 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 + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + +[0] = LAYOUT_all( + 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_SPC, + 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_PGUP, + 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_PGDN, + 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, MO(1), + KC_LCTL, KC_LALT, KC_SPC, KC_RALT, KC_LEFT, KC_DOWN, KC_RGHT), + +[1] = LAYOUT_all( + KC_TRNS, 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_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, 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, + 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, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS) +}; diff --git a/keyboards/kwstudio/scorpio/keymaps/via/keymap.c b/keyboards/kwstudio/scorpio/keymaps/via/keymap.c new file mode 100644 index 00000000000..8061c493502 --- /dev/null +++ b/keyboards/kwstudio/scorpio/keymaps/via/keymap.c @@ -0,0 +1,34 @@ +/* Copyright 2023 kwstudio + * + * 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 + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + +[0] = LAYOUT_all( + 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_SPC, + 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_PGUP, + 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_PGDN, + 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, MO(1), + KC_LCTL, KC_LALT, KC_SPC, KC_RALT, KC_LEFT, KC_DOWN, KC_RGHT), + +[1] = LAYOUT_all( + KC_TRNS, 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_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, 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, + 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, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS) +}; diff --git a/keyboards/kwstudio/scorpio/keymaps/via/rules.mk b/keyboards/kwstudio/scorpio/keymaps/via/rules.mk new file mode 100644 index 00000000000..1e5b99807cb --- /dev/null +++ b/keyboards/kwstudio/scorpio/keymaps/via/rules.mk @@ -0,0 +1 @@ +VIA_ENABLE = yes diff --git a/keyboards/kwstudio/scorpio/readme.md b/keyboards/kwstudio/scorpio/readme.md new file mode 100644 index 00000000000..fcaea8cf919 --- /dev/null +++ b/keyboards/kwstudio/scorpio/readme.md @@ -0,0 +1,25 @@ +# Scorpio + +![Scorpio](https://i.imgur.com/ikAlEQMh.jpeg) + +* Keyboard Maintainer: [khchen](https://github.com/khchen2004) +* Hardware Supported: Scorpio PCB +* Hardware Availability: Private GB + +Make example for this keyboard (after setting up your build environment): + + make kwstudio/scorpio:default + +Flashing example for this keyboard: + + make kwstudio/scorpio: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/kwstudio/scorpio/rules.mk b/keyboards/kwstudio/scorpio/rules.mk new file mode 100644 index 00000000000..6e7633bfe01 --- /dev/null +++ b/keyboards/kwstudio/scorpio/rules.mk @@ -0,0 +1 @@ +# This file intentionally left blank From 15ed59cacc8356b4e9d27113f423c503b613e4c5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?S=E1=BA=AFn?= <59417802+MaiTheSan@users.noreply.github.com> Date: Sun, 24 Dec 2023 13:30:54 +0700 Subject: [PATCH 12/13] [Keyboard] Add Nuxros RE65 (#22078) Co-authored-by: jack <0x6a73@protonmail.com> Co-authored-by: Duncan Sutherland Co-authored-by: Drashna Jaelre --- keyboards/sawnsprojects/re65/info.json | 370 ++++++++++++++++++ .../re65/keymaps/default/keymap.c | 57 +++ .../re65/keymaps/default/rules.mk | 1 + .../sawnsprojects/re65/keymaps/via/keymap.c | 57 +++ .../sawnsprojects/re65/keymaps/via/rules.mk | 2 + keyboards/sawnsprojects/re65/readme.md | 26 ++ keyboards/sawnsprojects/re65/rules.mk | 1 + 7 files changed, 514 insertions(+) create mode 100644 keyboards/sawnsprojects/re65/info.json create mode 100644 keyboards/sawnsprojects/re65/keymaps/default/keymap.c create mode 100644 keyboards/sawnsprojects/re65/keymaps/default/rules.mk create mode 100644 keyboards/sawnsprojects/re65/keymaps/via/keymap.c create mode 100644 keyboards/sawnsprojects/re65/keymaps/via/rules.mk create mode 100644 keyboards/sawnsprojects/re65/readme.md create mode 100644 keyboards/sawnsprojects/re65/rules.mk diff --git a/keyboards/sawnsprojects/re65/info.json b/keyboards/sawnsprojects/re65/info.json new file mode 100644 index 00000000000..45e874db6d5 --- /dev/null +++ b/keyboards/sawnsprojects/re65/info.json @@ -0,0 +1,370 @@ +{ + "keyboard_name": "RE65", + "maintainer": "Salane", + "manufacturer": "Mai The San", + "url": "", + "processor": "RP2040", + "bootloader": "rp2040", + "usb": { + "vid": "0x534C", + "pid": "0x0C65", + "device_version": "0.0.1" + }, + "features": { + "bootmagic": true, + "mousekey": true, + "extrakey": true, + "console": false, + "command": false, + "nkro": true, + "rgblight": true, + "encoder": true + }, + "diode_direction": "COL2ROW", + "matrix_pins": { + "rows": ["GP27", "GP26", "GP25", "GP29", "GP4"], + "cols": ["GP20", "GP19", "GP18", "GP24", "GP23", "GP22", "GP17", "GP28", "GP2", "GP3", "GP12", "GP11", "GP10", "GP9", "GP8"] + }, + "encoder": { + "rotary": [ + {"pin_a": "GP5", "pin_b": "GP6"} + ] + }, + "rgblight": { + "led_count": 32, + "saturation_steps": 8, + "brightness_steps": 8, + "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 + } + }, + "ws2812": { + "pin": "GP21", + "driver": "vendor" + }, + "community_layouts": ["65_ansi_blocker","65_ansi_blocker_split_bs","65_ansi_blocker_tsangan","65_ansi_blocker_tsangan_split_bs"], + "layouts": { + "LAYOUT_65_ansi_blocker_split_bs": { + "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": 7, "y": 0}, + {"matrix": [0, 8], "x": 8, "y": 0}, + {"matrix": [0, 9], "x": 9, "y": 0}, + {"matrix": [0, 10], "x": 10, "y": 0}, + {"matrix": [0, 11], "x": 11, "y": 0}, + {"matrix": [0, 12], "x": 12, "y": 0}, + {"matrix": [0, 13], "x": 13, "y": 0}, + {"matrix": [2, 13], "x": 14, "y": 0}, + {"matrix": [0, 14], "x": 15, "y": 0}, + + {"matrix": [1, 0], "w": 1.5, "x": 0, "y": 1}, + {"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}, + {"matrix": [1, 7], "x": 7.5, "y": 1}, + {"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], "w": 1.5, "x": 13.5, "y": 1}, + {"matrix": [1, 14], "x": 15, "y": 1}, + + {"matrix": [2, 0], "w": 1.75, "x": 0, "y": 2}, + {"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, 6], "x": 6.75, "y": 2}, + {"matrix": [2, 7], "x": 7.75, "y": 2}, + {"matrix": [2, 8], "x": 8.75, "y": 2}, + {"matrix": [2, 9], "x": 9.75, "y": 2}, + {"matrix": [2, 10], "x": 10.75, "y": 2}, + {"matrix": [2, 11], "x": 11.75, "y": 2}, + {"matrix": [2, 12], "w": 2.25, "x": 12.75, "y": 2}, + {"matrix": [2, 14], "x": 15, "y": 2}, + + {"matrix": [3, 0], "w": 2.25, "x": 0, "y": 3}, + {"matrix": [3, 2], "x": 2.25, "y": 3}, + {"matrix": [3, 3], "x": 3.25, "y": 3}, + {"matrix": [3, 4], "x": 4.25, "y": 3}, + {"matrix": [3, 5], "x": 5.25, "y": 3}, + {"matrix": [3, 6], "x": 6.25, "y": 3}, + {"matrix": [3, 7], "x": 7.25, "y": 3}, + {"matrix": [3, 8], "x": 8.25, "y": 3}, + {"matrix": [3, 9], "x": 9.25, "y": 3}, + {"matrix": [3, 10], "x": 10.25, "y": 3}, + {"matrix": [3, 11], "x": 11.25, "y": 3}, + {"matrix": [3, 12], "w": 1.75, "x": 12.25, "y": 3}, + {"matrix": [3, 13], "x": 14, "y": 3}, + {"matrix": [3, 14], "x": 15, "y": 3}, + + {"matrix": [4, 0], "w": 1.25, "x": 0, "y": 4}, + {"matrix": [4, 1], "w": 1.25, "x": 1.25, "y": 4}, + {"matrix": [4, 2], "w": 1.25, "x": 2.5, "y": 4}, + + {"matrix": [4, 6], "w": 6.25, "x": 3.75, "y": 4}, + + {"matrix": [4, 10], "w": 1.25, "x": 10, "y": 4}, + {"matrix": [4, 11], "w": 1.25, "x": 11.25, "y": 4}, + + {"matrix": [4, 12], "x": 13, "y": 4}, + {"matrix": [4, 13], "x": 14, "y": 4}, + {"matrix": [4, 14], "x": 15, "y": 4} + ] + }, + "LAYOUT_65_ansi_blocker": { + "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": 7, "y": 0}, + {"matrix": [0, 8], "x": 8, "y": 0}, + {"matrix": [0, 9], "x": 9, "y": 0}, + {"matrix": [0, 10], "x": 10, "y": 0}, + {"matrix": [0, 11], "x": 11, "y": 0}, + {"matrix": [0, 12], "x": 12, "y": 0}, + {"matrix": [0, 13], "w": 2, "x": 13, "y": 0}, + {"matrix": [0, 14], "x": 15, "y": 0}, + + {"matrix": [1, 0], "w": 1.5, "x": 0, "y": 1}, + {"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}, + {"matrix": [1, 7], "x": 7.5, "y": 1}, + {"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], "w": 1.5, "x": 13.5, "y": 1}, + {"matrix": [1, 14], "x": 15, "y": 1}, + + {"matrix": [2, 0], "w": 1.75, "x": 0, "y": 2}, + {"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, 6], "x": 6.75, "y": 2}, + {"matrix": [2, 7], "x": 7.75, "y": 2}, + {"matrix": [2, 8], "x": 8.75, "y": 2}, + {"matrix": [2, 9], "x": 9.75, "y": 2}, + {"matrix": [2, 10], "x": 10.75, "y": 2}, + {"matrix": [2, 11], "x": 11.75, "y": 2}, + {"matrix": [2, 12], "w": 2.25, "x": 12.75, "y": 2}, + {"matrix": [2, 14], "x": 15, "y": 2}, + + {"matrix": [3, 0], "w": 2.25, "x": 0, "y": 3}, + {"matrix": [3, 2], "x": 2.25, "y": 3}, + {"matrix": [3, 3], "x": 3.25, "y": 3}, + {"matrix": [3, 4], "x": 4.25, "y": 3}, + {"matrix": [3, 5], "x": 5.25, "y": 3}, + {"matrix": [3, 6], "x": 6.25, "y": 3}, + {"matrix": [3, 7], "x": 7.25, "y": 3}, + {"matrix": [3, 8], "x": 8.25, "y": 3}, + {"matrix": [3, 9], "x": 9.25, "y": 3}, + {"matrix": [3, 10], "x": 10.25, "y": 3}, + {"matrix": [3, 11], "x": 11.25, "y": 3}, + {"matrix": [3, 12], "w": 1.75, "x": 12.25, "y": 3}, + {"matrix": [3, 13], "x": 14, "y": 3}, + {"matrix": [3, 14], "x": 15, "y": 3}, + + {"matrix": [4, 0], "w": 1.25, "x": 0, "y": 4}, + {"matrix": [4, 1], "w": 1.25, "x": 1.25, "y": 4}, + {"matrix": [4, 2], "w": 1.25, "x": 2.5, "y": 4}, + + {"matrix": [4, 6], "w": 6.25, "x": 3.75, "y": 4}, + + {"matrix": [4, 10], "w": 1.25, "x": 10, "y": 4}, + {"matrix": [4, 11], "w": 1.25, "x": 11.25, "y": 4}, + + {"matrix": [4, 12], "x": 13, "y": 4}, + {"matrix": [4, 13], "x": 14, "y": 4}, + {"matrix": [4, 14], "x": 15, "y": 4} + ] + }, + "LAYOUT_65_ansi_blocker_tsangan": { + "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": 7, "y": 0}, + {"matrix": [0, 8], "x": 8, "y": 0}, + {"matrix": [0, 9], "x": 9, "y": 0}, + {"matrix": [0, 10], "x": 10, "y": 0}, + {"matrix": [0, 11], "x": 11, "y": 0}, + {"matrix": [0, 12], "x": 12, "y": 0}, + {"matrix": [0, 13], "w": 2, "x": 13, "y": 0}, + {"matrix": [0, 14], "x": 15, "y": 0}, + + {"matrix": [1, 0], "w": 1.5, "x": 0, "y": 1}, + {"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}, + {"matrix": [1, 7], "x": 7.5, "y": 1}, + {"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], "w": 1.5, "x": 13.5, "y": 1}, + {"matrix": [1, 14], "x": 15, "y": 1}, + + {"matrix": [2, 0], "w": 1.75, "x": 0, "y": 2}, + {"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, 6], "x": 6.75, "y": 2}, + {"matrix": [2, 7], "x": 7.75, "y": 2}, + {"matrix": [2, 8], "x": 8.75, "y": 2}, + {"matrix": [2, 9], "x": 9.75, "y": 2}, + {"matrix": [2, 10], "x": 10.75, "y": 2}, + {"matrix": [2, 11], "x": 11.75, "y": 2}, + {"matrix": [2, 12], "w": 2.25, "x": 12.75, "y": 2}, + {"matrix": [2, 14], "x": 15, "y": 2}, + + {"matrix": [3, 0], "w": 2.25, "x": 0, "y": 3}, + {"matrix": [3, 2], "x": 2.25, "y": 3}, + {"matrix": [3, 3], "x": 3.25, "y": 3}, + {"matrix": [3, 4], "x": 4.25, "y": 3}, + {"matrix": [3, 5], "x": 5.25, "y": 3}, + {"matrix": [3, 6], "x": 6.25, "y": 3}, + {"matrix": [3, 7], "x": 7.25, "y": 3}, + {"matrix": [3, 8], "x": 8.25, "y": 3}, + {"matrix": [3, 9], "x": 9.25, "y": 3}, + {"matrix": [3, 10], "x": 10.25, "y": 3}, + {"matrix": [3, 11], "x": 11.25, "y": 3}, + {"matrix": [3, 12], "w": 1.75, "x": 12.25, "y": 3}, + {"matrix": [3, 13], "x": 14, "y": 3}, + {"matrix": [3, 14], "x": 15, "y": 3}, + + {"matrix": [4, 0], "w": 1.5, "x": 0, "y": 4}, + {"matrix": [4, 1], "x": 1.5, "y": 4}, + {"matrix": [4, 2], "w": 1.5, "x": 2.5, "y": 4}, + + {"matrix": [4, 6], "w": 7, "x": 4, "y": 4}, + + {"matrix": [4, 11], "w": 1.5, "x": 11, "y": 4}, + + {"matrix": [4, 12], "x": 13, "y": 4}, + {"matrix": [4, 13], "x": 14, "y": 4}, + {"matrix": [4, 14], "x": 15, "y": 4} + ] + }, + "LAYOUT_65_ansi_blocker_tsangan_split_bs": { + "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": 7, "y": 0}, + {"matrix": [0, 8], "x": 8, "y": 0}, + {"matrix": [0, 9], "x": 9, "y": 0}, + {"matrix": [0, 10], "x": 10, "y": 0}, + {"matrix": [0, 11], "x": 11, "y": 0}, + {"matrix": [0, 12], "x": 12, "y": 0}, + {"matrix": [0, 13], "x": 13, "y": 0}, + {"matrix": [2, 13], "x": 14, "y": 0}, + {"matrix": [0, 14], "x": 15, "y": 0}, + + {"matrix": [1, 0], "w": 1.5, "x": 0, "y": 1}, + {"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}, + {"matrix": [1, 7], "x": 7.5, "y": 1}, + {"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], "w": 1.5, "x": 13.5, "y": 1}, + {"matrix": [1, 14], "x": 15, "y": 1}, + + {"matrix": [2, 0], "w": 1.75, "x": 0, "y": 2}, + {"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, 6], "x": 6.75, "y": 2}, + {"matrix": [2, 7], "x": 7.75, "y": 2}, + {"matrix": [2, 8], "x": 8.75, "y": 2}, + {"matrix": [2, 9], "x": 9.75, "y": 2}, + {"matrix": [2, 10], "x": 10.75, "y": 2}, + {"matrix": [2, 11], "x": 11.75, "y": 2}, + {"matrix": [2, 12], "w": 2.25, "x": 12.75, "y": 2}, + {"matrix": [2, 14], "x": 15, "y": 2}, + + {"matrix": [3, 0], "w": 2.25, "x": 0, "y": 3}, + {"matrix": [3, 2], "x": 2.25, "y": 3}, + {"matrix": [3, 3], "x": 3.25, "y": 3}, + {"matrix": [3, 4], "x": 4.25, "y": 3}, + {"matrix": [3, 5], "x": 5.25, "y": 3}, + {"matrix": [3, 6], "x": 6.25, "y": 3}, + {"matrix": [3, 7], "x": 7.25, "y": 3}, + {"matrix": [3, 8], "x": 8.25, "y": 3}, + {"matrix": [3, 9], "x": 9.25, "y": 3}, + {"matrix": [3, 10], "x": 10.25, "y": 3}, + {"matrix": [3, 11], "x": 11.25, "y": 3}, + {"matrix": [3, 12], "w": 1.75, "x": 12.25, "y": 3}, + {"matrix": [3, 13], "x": 14, "y": 3}, + {"matrix": [3, 14], "x": 15, "y": 3}, + + {"matrix": [4, 0], "w": 1.5, "x": 0, "y": 4}, + {"matrix": [4, 1], "x": 1.5, "y": 4}, + {"matrix": [4, 2], "w": 1.5, "x": 2.5, "y": 4}, + + {"matrix": [4, 6], "w": 7, "x": 4, "y": 4}, + + {"matrix": [4, 11], "w": 1.5, "x": 11, "y": 4}, + + {"matrix": [4, 12], "x": 13, "y": 4}, + {"matrix": [4, 13], "x": 14, "y": 4}, + {"matrix": [4, 14], "x": 15, "y": 4} + ] + } + } +} diff --git a/keyboards/sawnsprojects/re65/keymaps/default/keymap.c b/keyboards/sawnsprojects/re65/keymaps/default/keymap.c new file mode 100644 index 00000000000..6dc79fead35 --- /dev/null +++ b/keyboards/sawnsprojects/re65/keymaps/default/keymap.c @@ -0,0 +1,57 @@ +// Copyright 2023 MaiTheSan (@maithesan) +// SPDX-License-Identifier: GPL-2.0-or-later + +#include QMK_KEYBOARD_H +enum { + _BASE, + _FN1 +}; + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { +/* Base Layer + * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┬───┐ + * │Esc│! 1│@ 2│# 3│$ 4│% 5│^ 6│& 7│* 8│( 9│) 0│_ -│+ =│ Bckspc│Hom│ + * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┼───┤ + * │Tab │ Q │ W │ E │ R │ T │ Y │ U │ I │ O │ P │{ [│} ]│| \│PgU│ + * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴─────┼───┤ + * │HyCaps│ A │ S │ D │ F │ G │ H │ J │ K │ L │: ;│" '│ Enter│PgD│ + * ├──────┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴────┬───┼───┤ + * │Shift │ Z │ X │ C │ V │ B │ N │ M │< ,│> .│? /│ Shift│ Up│End│ + * ├────┬───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬─┬───┼───┼───┤ + * │Ctrl│ Opt│ Cmd│ Space │Cmd │FnPy│ │Lef│Dow│Rig│ + * └────┴────┴────┴────────────────────────┴────┴────┘ └───┴───┴───┘ + */ +[_BASE] = LAYOUT_65_ansi_blocker( + 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_HOME, + 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_PGUP, + 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_PGDN, + 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, KC_END, + KC_LCTL, KC_LOPT, KC_LCMD, KC_SPC, KC_RCMD, MO(_FN1), KC_LEFT, KC_DOWN, KC_RGHT +), +/* Function Layer + * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┬───┐ + * │` ~│ F1│ F2│ F3│ F4│ F5│ F6│ F7│ F8│ F9│F10│F11│F12│ Delete│SlD│ + * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┼───┤ + * │RMod │RH+│RS+│RV+│AS+│ │ │ │ │ │F13│F14│F15│ LHP │VlU│ + * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴─────┼───┤ + * │RTgl │RH-│RS-│RV-│AS-│ │ │ │ │ │ │ │ │VlD│ + * ├──────┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴────┬───┼───┤ + * │ │LYR│Thm│ │ │RST│ │Mke│Prv│Nxt│Ply│ │PgU│Mut│ + * ├────┬───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬─┬───┼───┼───┤ + * │ │ │ │ │ │ │ │Hom│PgD│End│ + * └────┴────┴────┴────────────────────────┴────┴────┘ └───┴───┴───┘ + */ +[_FN1] = LAYOUT_65_ansi_blocker( + 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_F13, KC_F14, KC_F15, _______, KC_VOLU, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_VOLD, + _______, _______, _______, _______, _______, QK_BOOT, _______, _______, KC_MPRV, KC_MNXT, KC_MPLY, _______, KC_PGUP, KC_MUTE, + _______, _______, _______, _______, _______, _______, KC_HOME, KC_PGDN, KC_END +), +}; +#if defined(ENCODER_MAP_ENABLE) +const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][NUM_DIRECTIONS] = { + [_BASE] = { ENCODER_CCW_CW(KC_PGDN, KC_PGUP) }, + [_FN1] = { ENCODER_CCW_CW(KC_VOLD, KC_VOLU) } +}; +#endif // ENCODER_MAP_ENABLE diff --git a/keyboards/sawnsprojects/re65/keymaps/default/rules.mk b/keyboards/sawnsprojects/re65/keymaps/default/rules.mk new file mode 100644 index 00000000000..a40474b4d5c --- /dev/null +++ b/keyboards/sawnsprojects/re65/keymaps/default/rules.mk @@ -0,0 +1 @@ +ENCODER_MAP_ENABLE = yes \ No newline at end of file diff --git a/keyboards/sawnsprojects/re65/keymaps/via/keymap.c b/keyboards/sawnsprojects/re65/keymaps/via/keymap.c new file mode 100644 index 00000000000..55581a84192 --- /dev/null +++ b/keyboards/sawnsprojects/re65/keymaps/via/keymap.c @@ -0,0 +1,57 @@ +// Copyright 2023 MaiTheSan (@maithesan) +// SPDX-License-Identifier: GPL-2.0-or-later + +#include QMK_KEYBOARD_H +enum { + _BASE, + _FN1, +}; + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { +/* Base Layer + * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┐ + * │Esc│! 1│@ 2│# 3│$ 4│% 5│^ 6│& 7│* 8│( 9│) 0│_ -│+ =│Bsp│Bsp│Hom│ + * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┼───┤ + * │Tab │ Q │ W │ E │ R │ T │ Y │ U │ I │ O │ P │{ [│} ]│| \│PgU│ + * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴─────┼───┤ + * │HyCaps│ A │ S │ D │ F │ G │ H │ J │ K │ L │: ;│" '│ Enter│PgD│ + * ├──────┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴────┬───┼───┤ + * │Shift │ Z │ X │ C │ V │ B │ N │ M │< ,│> .│? /│ Shift│ Up│End│ + * ├────┬───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬─┬───┼───┼───┤ + * │Ctrl│ Opt│ Cmd│ Space │Cmd │FnPy│ │Lef│Dow│Rig│ + * └────┴────┴────┴────────────────────────┴────┴────┘ └───┴───┴───┘ + */ +[_BASE] = LAYOUT_65_ansi_blocker_split_bs( + 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_BSPC, KC_HOME, + 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_PGUP, + 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_PGDN, + 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, KC_END, + KC_LCTL, KC_LOPT, KC_LCMD, KC_SPC, KC_RCMD, MO(_FN1), KC_LEFT, KC_DOWN, KC_RGHT +), +/* Function Layer + * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┐ + * │` ~│ F1│ F2│ F3│ F4│ F5│ F6│ F7│ F8│ F9│F10│F11│F12│Del│ │ │ + * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┼───┤ + * │RMod │RH+│RS+│RV+│AS+│ │ │ │ │ │F13│F14│F15│ LHP │VlU│ + * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴─────┼───┤ + * │RTgl │RH-│RS-│RV-│AS-│ │ │ │ │ │ │ │ │VlD│ + * ├──────┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴────┬───┼───┤ + * │ │LYR│Thm│ │ │RST│ │Mke│Prv│Nxt│Ply│ │PgU│Mut│ + * ├────┬───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬─┬───┼───┼───┤ + * │ │ │ │ │ │ │ │Hom│PgD│End│ + * └────┴────┴────┴────────────────────────┴────┴────┘ └───┴───┴───┘ + */ +[_FN1] = LAYOUT_65_ansi_blocker_split_bs( + 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_F13, KC_F14, KC_F15, _______, KC_VOLU, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_VOLD, + _______, _______, _______, _______, _______, QK_BOOT, _______, _______, KC_MPRV, KC_MNXT, KC_MPLY, _______, KC_PGUP, KC_MUTE, + _______, _______, _______, _______, _______, _______, KC_HOME, KC_PGDN, KC_END +), +}; +#if defined(ENCODER_MAP_ENABLE) +const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][NUM_DIRECTIONS] = { + [_BASE] = { ENCODER_CCW_CW(KC_VOLD, KC_VOLU) }, + [_FN1] = { ENCODER_CCW_CW(KC_BRID, KC_BRIU) }, +}; +#endif \ No newline at end of file diff --git a/keyboards/sawnsprojects/re65/keymaps/via/rules.mk b/keyboards/sawnsprojects/re65/keymaps/via/rules.mk new file mode 100644 index 00000000000..4253f570f0b --- /dev/null +++ b/keyboards/sawnsprojects/re65/keymaps/via/rules.mk @@ -0,0 +1,2 @@ +VIA_ENABLE = yes +ENCODER_MAP_ENABLE = yes \ No newline at end of file diff --git a/keyboards/sawnsprojects/re65/readme.md b/keyboards/sawnsprojects/re65/readme.md new file mode 100644 index 00000000000..b02dfe592aa --- /dev/null +++ b/keyboards/sawnsprojects/re65/readme.md @@ -0,0 +1,26 @@ +# RE65 + +![RE65](https://i.imgur.com/bzeWSwwh.png) + +A Keyboard from Nuxros + +* Keyboard Maintainer: [Mai The San](https://github.com/maithesan) +* Hardware Supported: RE65, KBD67 MKII +* Hardware Availability: [Nuxros Store](https://nuxroskb.store/en/products/re65?variant=45628371370283) +Make example for this keyboard (after setting up your build environment): + + make sawnsprojects/re65:default + +Flashing example for this keyboard: + + make sawnsprojects/re65: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 short the `RST` and `GND` pads on the SWD header twice, or short the `BOOT` header and plug in keyboard +* **Keycode in layout**: Press the key mapped to `QK_BOOT` if it is available diff --git a/keyboards/sawnsprojects/re65/rules.mk b/keyboards/sawnsprojects/re65/rules.mk new file mode 100644 index 00000000000..7ff128fa692 --- /dev/null +++ b/keyboards/sawnsprojects/re65/rules.mk @@ -0,0 +1 @@ +# This file intentionally left blank \ No newline at end of file From 83b84187ea19c92d31909443c85a89fe8a605f91 Mon Sep 17 00:00:00 2001 From: Jesse Leventhal <45154268+jessel92@users.noreply.github.com> Date: Sun, 24 Dec 2023 13:16:34 -0500 Subject: [PATCH 13/13] [Keyboard] Add Noodlepad_Micro (#22703) Co-authored-by: Joel Challis Co-authored-by: jack <0x6a73@protonmail.com> Co-authored-by: Sergey Vlasov --- .../themadnoodle/noodlepad_micro/config.h | 6 ++ .../themadnoodle/noodlepad_micro/info.json | 72 +++++++++++++++ .../noodlepad_micro/keymaps/default/keymap.c | 68 +++++++++++++++ .../noodlepad_micro/keymaps/default/rules.mk | 1 + .../noodlepad_micro/keymaps/via/keymap.c | 87 +++++++++++++++++++ .../noodlepad_micro/keymaps/via/rules.mk | 2 + .../themadnoodle/noodlepad_micro/readme.md | 28 ++++++ .../themadnoodle/noodlepad_micro/rules.mk | 2 + 8 files changed, 266 insertions(+) create mode 100644 keyboards/themadnoodle/noodlepad_micro/config.h create mode 100644 keyboards/themadnoodle/noodlepad_micro/info.json create mode 100644 keyboards/themadnoodle/noodlepad_micro/keymaps/default/keymap.c create mode 100644 keyboards/themadnoodle/noodlepad_micro/keymaps/default/rules.mk create mode 100644 keyboards/themadnoodle/noodlepad_micro/keymaps/via/keymap.c create mode 100644 keyboards/themadnoodle/noodlepad_micro/keymaps/via/rules.mk create mode 100644 keyboards/themadnoodle/noodlepad_micro/readme.md create mode 100644 keyboards/themadnoodle/noodlepad_micro/rules.mk diff --git a/keyboards/themadnoodle/noodlepad_micro/config.h b/keyboards/themadnoodle/noodlepad_micro/config.h new file mode 100644 index 00000000000..1dd3a20816b --- /dev/null +++ b/keyboards/themadnoodle/noodlepad_micro/config.h @@ -0,0 +1,6 @@ +// Copyright 2023 The Mad Noodle(@the_mad_noodle) +// SPDX-License-Identifier: GPL-2.0-or-later + +#pragma once + +#define RGBLIGHT_DEFAULT_MODE RGBLIGHT_MODE_RAINBOW_SWIRL + 5 diff --git a/keyboards/themadnoodle/noodlepad_micro/info.json b/keyboards/themadnoodle/noodlepad_micro/info.json new file mode 100644 index 00000000000..fe7ab9ea751 --- /dev/null +++ b/keyboards/themadnoodle/noodlepad_micro/info.json @@ -0,0 +1,72 @@ +{ + "manufacturer": "The Mad Noodle", + "keyboard_name": "NoodlePad Micro", + "maintainer": "the-mad-noodle", + "url": "https://www.madnoodleprototypes.com/", + "bootloader": "rp2040", + "diode_direction": "ROW2COL", + "features": { + "bootmagic": true, + "command": false, + "console": false, + "extrakey": true, + "mousekey": true, + "nkro": true, + "rgblight": true, + "encoder": true + }, + "rgblight": { + "hue_steps": 10, + "led_count": 4, + "sleep": true, + "animations": { + "breathing": true, + "rainbow_mood": true, + "rainbow_swirl": true, + "snake": true, + "knight": true, + "christmas": true, + "static_gradient": true, + "rgb_test": true, + "alternating": true, + "twinkle": true + } + }, + "matrix_pins": { + "cols": ["GP6", "GP7", "GP0"], + "rows": ["GP26", "GP27", "GP28"] + }, + "processor": "RP2040", + "usb": { + "device_version": "3.0.0", + "pid": "0x0004", + "vid": "0x6A6C" + }, + "layouts": { + "LAYOUT": { + "layout": [ + {"matrix": [0, 2], "x": 2, "y": 0}, + {"matrix": [0, 0], "x": 0, "y": 0}, + {"matrix": [1, 2], "x": 2, "y": 1}, + {"matrix": [1, 1], "x": 1, "y": 1}, + {"matrix": [1, 0], "x": 0, "y": 1}, + {"matrix": [2, 2], "x": 2, "y": 2}, + {"matrix": [2, 1], "x": 1, "y": 2}, + {"matrix": [2, 0], "x": 0, "y": 2} + ] + } + }, + "ws2812": { + "pin": "GP29", + "driver": "vendor" + }, + "encoder": { + "rotary": [ + { "pin_a": "GP2", "pin_b": "GP1" } + { "pin_a": "GP3", "pin_b": "GP4" } + ] + + } + + +} diff --git a/keyboards/themadnoodle/noodlepad_micro/keymaps/default/keymap.c b/keyboards/themadnoodle/noodlepad_micro/keymaps/default/keymap.c new file mode 100644 index 00000000000..663a668ae84 --- /dev/null +++ b/keyboards/themadnoodle/noodlepad_micro/keymaps/default/keymap.c @@ -0,0 +1,68 @@ +// Copyright 2023 The Mad Noodle(@the_mad_noodle) +// SPDX-License-Identifier: GPL-2.0-or-later + +#include QMK_KEYBOARD_H + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + + /* LAYER 0 + * ,--ENC2-- --ENC1--. + * | << | | >> | + * |-------+-------+-------| + * | STOP | PLAY | MEDIA | + * |-------+-------+-------| + * | CALC | MAIL | PC/FN | + * `-----------------------' + */ + + [0] = LAYOUT( + KC_MPRV, KC_MNXT, + KC_MSTP, KC_MPLY, KC_MSEL, + LT(2,KC_CALC), KC_MAIL, LT(1, KC_MYCM) + ), + + + /* LAYER 1 + * ,--ENC2-- --ENC1--. + * | MODE+ | | MODE- | + * |-------+-------+-------| + * |Bright-| Tog |Bright+| + * |-------+-------+-------| + * | PLAIN |BREATH | | + * `-----------------------' + */ + + [1] = LAYOUT( + RGB_MOD, RGB_RMOD, + RGB_VAD, RGB_TOG, RGB_VAI, + RGB_M_P, RGB_M_B, KC_TRNS + ), + + + /* LAYER 2 (ENCODER) + * ,--ENC2-- --ENC1--. + * | | | | + * |-------+-------+-------| + * | | | | + * |-------+-------+-------| + * | | | | + * `-----------------------' + */ + + [2] = LAYOUT( + KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS + ) +}; + + +/*Encoder Mapping*/ +//-----------------------(ENC1)---------------------------------(ENC2)----------------- +#if defined(ENCODER_MAP_ENABLE) +const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][NUM_DIRECTIONS] = { + [0] = { ENCODER_CCW_CW(KC_LEFT, KC_RGHT), ENCODER_CCW_CW(KC_VOLD, KC_VOLU) }, + [1] = { ENCODER_CCW_CW(RGB_HUD, RGB_HUI), ENCODER_CCW_CW(RGB_SAD, RGB_SAI) }, + [2] = { ENCODER_CCW_CW(RGB_VAD, RGB_VAI), ENCODER_CCW_CW(RGB_SPD, RGB_SPI) } +}; +#endif diff --git a/keyboards/themadnoodle/noodlepad_micro/keymaps/default/rules.mk b/keyboards/themadnoodle/noodlepad_micro/keymaps/default/rules.mk new file mode 100644 index 00000000000..a40474b4d5c --- /dev/null +++ b/keyboards/themadnoodle/noodlepad_micro/keymaps/default/rules.mk @@ -0,0 +1 @@ +ENCODER_MAP_ENABLE = yes \ No newline at end of file diff --git a/keyboards/themadnoodle/noodlepad_micro/keymaps/via/keymap.c b/keyboards/themadnoodle/noodlepad_micro/keymaps/via/keymap.c new file mode 100644 index 00000000000..d6df824a508 --- /dev/null +++ b/keyboards/themadnoodle/noodlepad_micro/keymaps/via/keymap.c @@ -0,0 +1,87 @@ +// Copyright 2023 The Mad Noodle(@the_mad_noodle) +// SPDX-License-Identifier: GPL-2.0-or-later + +#include QMK_KEYBOARD_H + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + + /* LAYER 0 + * ,--ENC2-- --ENC1--. + * | << | | >> | + * |-------+-------+-------| + * | STOP | PLAY | MEDIA | + * |-------+-------+-------| + * | CALC | MY PC | TO(3) | + * `-----------------------' + */ + + [0] = LAYOUT( + KC_MPRV, KC_MNXT, + KC_MSTP, KC_MPLY, KC_MSEL, + KC_CALC, KC_MYCM, TO(3) + ), + + + /* LAYER 1 + * ,--ENC2-- --ENC1--. + * | MODE+ | | MODE- | + * |-------+-------+-------| + * |Bright-| Tog |Bright+| + * |-------+-------+-------| + * | PLAIN |BREATH | TO(0) | + * `-----------------------' + */ + + [1] = LAYOUT( + RGB_MOD, RGB_RMOD, + RGB_VAD, RGB_TOG, RGB_VAI, + RGB_M_P, RGB_M_B, TO(0) + ), + + + /* LAYER 2 + * ,--ENC2-- --ENC1--. + * | | | | + * |-------+-------+-------| + * | | | | + * |-------+-------+-------| + * | | | TO(0) | + * `-----------------------' + */ + + [2] = LAYOUT( + KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, TO(0) + ), + + /* LAYER 3 + * ,--ENC2-- --ENC1--. + * | | | | + * |-------+-------+-------| + * | TO(1) | | TO(2) | + * |-------+-------+-------| + * | | | TO(0) | + * `-----------------------' + */ + + [3] = LAYOUT( + KC_TRNS, KC_TRNS, + TO(1), KC_TRNS, TO(2), + KC_TRNS, KC_TRNS, TO(0) + ) + +}; + + +/*Encoder Mapping*/ +//-----------------------(ENC1)---------------------------------(ENC2)----------------- +#if defined(ENCODER_MAP_ENABLE) +const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][NUM_DIRECTIONS] = { + [0] = { ENCODER_CCW_CW(KC_LEFT, KC_RGHT), ENCODER_CCW_CW(KC_VOLD, KC_VOLU) }, + [1] = { ENCODER_CCW_CW(RGB_HUD, RGB_HUI), ENCODER_CCW_CW(RGB_SAD, RGB_SAI) }, + [2] = { ENCODER_CCW_CW(RGB_VAD, RGB_VAI), ENCODER_CCW_CW(RGB_SPD, RGB_SPI) }, + [3] = { ENCODER_CCW_CW(KC_LEFT, KC_RGHT), ENCODER_CCW_CW(KC_DOWN, KC_UP) }, + +}; +#endif diff --git a/keyboards/themadnoodle/noodlepad_micro/keymaps/via/rules.mk b/keyboards/themadnoodle/noodlepad_micro/keymaps/via/rules.mk new file mode 100644 index 00000000000..6ccd6d91943 --- /dev/null +++ b/keyboards/themadnoodle/noodlepad_micro/keymaps/via/rules.mk @@ -0,0 +1,2 @@ +ENCODER_MAP_ENABLE = yes +VIA_ENABLE = yes \ No newline at end of file diff --git a/keyboards/themadnoodle/noodlepad_micro/readme.md b/keyboards/themadnoodle/noodlepad_micro/readme.md new file mode 100644 index 00000000000..a77c1ad7ba3 --- /dev/null +++ b/keyboards/themadnoodle/noodlepad_micro/readme.md @@ -0,0 +1,28 @@ +# NoodlePad [Micro] + +![NoodlePad [Micro]](https://i.imgur.com/uRmVt3ah.jpg) + +The NoodlePad [Micro] is a 6 key 2 encoder macro keypad designed using RP2040 chipset. + +* Keyboard Maintainer: [The Mad Noodle](https://github.com/The-Mad-Noodle) +* Hardware Supported: NoodlePad [Micro] +* Hardware Availability: https://www.madnoodleprototypes.com/shop + +Compile example for this keyboard (after setting up your build environment): + + qmk compile -kb themadnoodle/noodlepad_micro -km default + +Flashing example for this keyboard: + + qmk flash -kb themadnoodle/noodlepad_micro -km default + +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 & Flashing + + +**Physical reset button**: + +* Double press the button on the back, center, left of the PCB labeled "R" to enter the bootloader drive mode. + +* If you have a pre-compiled .uf2 file, copy it into bootloader drive (RPI-RP2), board will reset automatically once file is copied sucessfully \ No newline at end of file diff --git a/keyboards/themadnoodle/noodlepad_micro/rules.mk b/keyboards/themadnoodle/noodlepad_micro/rules.mk new file mode 100644 index 00000000000..6968c523355 --- /dev/null +++ b/keyboards/themadnoodle/noodlepad_micro/rules.mk @@ -0,0 +1,2 @@ +# This file intentionally left blank +