From c2dbbc060ac69093fece6ae4c0cbde05693e3820 Mon Sep 17 00:00:00 2001 From: Lex Brugman Date: Mon, 15 Jul 2024 06:58:35 +0200 Subject: [PATCH 01/42] Add MMkeyboard Class60 (#22972) Co-authored-by: jack <0x6a73@protonmail.com> Co-authored-by: Drashna Jaelre Co-authored-by: Duncan Sutherland Co-authored-by: Joel Challis --- .../mmkeyboard/class60/soldered/config.h | 28 + .../mmkeyboard/class60/soldered/halconf.h | 10 + .../mmkeyboard/class60/soldered/keyboard.json | 961 ++++++++++++++++++ .../class60/soldered/keymaps/default/keymap.c | 29 + .../class60/soldered/keymaps/via/keymap.c | 29 + .../class60/soldered/keymaps/via/rules.mk | 1 + .../mmkeyboard/class60/soldered/mcuconf.h | 24 + .../mmkeyboard/class60/soldered/readme.md | 27 + .../mmkeyboard/class60/soldered/rules.mk | 2 + .../mmkeyboard/class60/soldered/soldered.c | 42 + 10 files changed, 1153 insertions(+) create mode 100644 keyboards/mmkeyboard/class60/soldered/config.h create mode 100644 keyboards/mmkeyboard/class60/soldered/halconf.h create mode 100644 keyboards/mmkeyboard/class60/soldered/keyboard.json create mode 100644 keyboards/mmkeyboard/class60/soldered/keymaps/default/keymap.c create mode 100644 keyboards/mmkeyboard/class60/soldered/keymaps/via/keymap.c create mode 100644 keyboards/mmkeyboard/class60/soldered/keymaps/via/rules.mk create mode 100644 keyboards/mmkeyboard/class60/soldered/mcuconf.h create mode 100644 keyboards/mmkeyboard/class60/soldered/readme.md create mode 100644 keyboards/mmkeyboard/class60/soldered/rules.mk create mode 100644 keyboards/mmkeyboard/class60/soldered/soldered.c diff --git a/keyboards/mmkeyboard/class60/soldered/config.h b/keyboards/mmkeyboard/class60/soldered/config.h new file mode 100644 index 000000000000..9db885042e53 --- /dev/null +++ b/keyboards/mmkeyboard/class60/soldered/config.h @@ -0,0 +1,28 @@ +// Copyright 2023 QMK +// SPDX-License-Identifier: GPL-2.0-or-later + +#pragma once + +#define SOLENOID_PIN B3 +#define HAPTIC_ENABLE_PIN A15 +#define SOLENOID_DEFAULT_DWELL 4 +#define SOLENOID_MIN_DWELL 4 +#define SOLENOID_MAX_DWELL 45 +#define HAPTIC_OFF_IN_LOW_POWER 1 +#define NO_HAPTIC_MOD + +#define AUDIO_CLICKY +#define AUDIO_PIN A6 +#define AUDIO_PWM_DRIVER PWMD3 +#define AUDIO_PWM_CHANNEL 1 +#define AUDIO_STATE_TIMER GPTD4 +#define AUDIO_PIN_ALT_AS_NEGATIVE +#define AUDIO_PIN_ALT A13 +#define DEFAULT_LAYER_SONGS { \ + SONG(CAPS_LOCK_ON_SOUND), \ + SONG(CAPS_LOCK_OFF_SOUND), \ + SONG(NUM_LOCK_ON_SOUND), \ + SONG(NUM_LOCK_OFF_SOUND), \ + SONG(SCROLL_LOCK_ON_SOUND), \ + SONG(SCROLL_LOCK_OFF_SOUND) \ + } diff --git a/keyboards/mmkeyboard/class60/soldered/halconf.h b/keyboards/mmkeyboard/class60/soldered/halconf.h new file mode 100644 index 000000000000..71df21e3485a --- /dev/null +++ b/keyboards/mmkeyboard/class60/soldered/halconf.h @@ -0,0 +1,10 @@ +// Copyright 2024 QMK +// SPDX-License-Identifier: GPL-2.0-or-later + +#pragma once + +#define HAL_USE_GPT TRUE +#define HAL_USE_PWM TRUE +#define HAL_USE_PAL TRUE + +#include_next diff --git a/keyboards/mmkeyboard/class60/soldered/keyboard.json b/keyboards/mmkeyboard/class60/soldered/keyboard.json new file mode 100644 index 000000000000..758299cf2b67 --- /dev/null +++ b/keyboards/mmkeyboard/class60/soldered/keyboard.json @@ -0,0 +1,961 @@ +{ + "manufacturer": "MMkeyboard", + "keyboard_name": "Class60", + "maintainer": "lexbrugman", + "bootloader": "uf2boot", + "build": { + "lto": true + }, + "diode_direction": "COL2ROW", + "features": { + "audio": true, + "bootmagic": true, + "extrakey": true, + "haptic": true, + "mousekey": true, + "nkro": true + }, + "indicators": { + "caps_lock": "B9", + "num_lock": "B8", + "on_state": 0, + "scroll_lock": "B11" + }, + "matrix_pins": { + "cols": ["B1", "B0", "A7", "A1", "A2", "A3", "A4", "A5", "B12", "B13", "A10", "A9", "A8", "B14", "B15"], + "ghost": true, + "rows": ["B6", "B7", "C13", "B10", "C14", "B5"] + }, + "processor": "STM32F103", + "qmk": { + "locking": { + "enabled": true, + "resync": true + } + }, + "url": "https://www.mmkeyboard.com/products/mm-class60-retro-custom-mechanical-keyboard", + "usb": { + "device_version": "0.0.1", + "force_nkro": true, + "pid": "0x3876", + "vid": "0x4F66" + }, + "community_layouts": ["60_ansi", "60_ansi_split_bs_rshift", "60_ansi_tsangan", "60_tsangan_hhkb", "60_ansi_wkl", "60_ansi_wkl_split_bs_rshift", "60_hhkb", "60_iso", "60_iso_split_bs_rshift", "60_iso_tsangan", "60_iso_tsangan_split_bs_rshift", "60_iso_wkl", "60_iso_wkl_split_bs_rshift"], + "layouts": { + "LAYOUT_60_ansi": { + "layout": [ + {"label": "Esc", "matrix": [0, 0], "x": 0, "y": 0}, + {"label": "1", "matrix": [0, 1], "x": 1, "y": 0}, + {"label": "2", "matrix": [0, 2], "x": 2, "y": 0}, + {"label": "3", "matrix": [0, 3], "x": 3, "y": 0}, + {"label": "4", "matrix": [0, 4], "x": 4, "y": 0}, + {"label": "5", "matrix": [0, 5], "x": 5, "y": 0}, + {"label": "6", "matrix": [0, 6], "x": 6, "y": 0}, + {"label": "7", "matrix": [0, 7], "x": 7, "y": 0}, + {"label": "8", "matrix": [0, 8], "x": 8, "y": 0}, + {"label": "9", "matrix": [0, 9], "x": 9, "y": 0}, + {"label": "0", "matrix": [0, 10], "x": 10, "y": 0}, + {"label": "-", "matrix": [0, 11], "x": 11, "y": 0}, + {"label": "=", "matrix": [0, 12], "x": 12, "y": 0}, + {"label": "Backspace", "matrix": [0, 13], "x": 13, "y": 0, "w": 2}, + {"label": "Tab", "matrix": [1, 0], "x": 0, "y": 1, "w": 1.5}, + {"label": "Q", "matrix": [1, 1], "x": 1.5, "y": 1}, + {"label": "W", "matrix": [1, 2], "x": 2.5, "y": 1}, + {"label": "E", "matrix": [1, 3], "x": 3.5, "y": 1}, + {"label": "R", "matrix": [1, 4], "x": 4.5, "y": 1}, + {"label": "T", "matrix": [1, 5], "x": 5.5, "y": 1}, + {"label": "Y", "matrix": [1, 6], "x": 6.5, "y": 1}, + {"label": "U", "matrix": [1, 7], "x": 7.5, "y": 1}, + {"label": "I", "matrix": [1, 8], "x": 8.5, "y": 1}, + {"label": "O", "matrix": [1, 9], "x": 9.5, "y": 1}, + {"label": "P", "matrix": [1, 10], "x": 10.5, "y": 1}, + {"label": "[", "matrix": [1, 11], "x": 11.5, "y": 1}, + {"label": "]", "matrix": [1, 12], "x": 12.5, "y": 1}, + {"label": "\\", "matrix": [1, 13], "x": 13.5, "y": 1, "w": 1.5}, + {"label": "Caps Lock", "matrix": [2, 0], "x": 0, "y": 2, "w": 1.75}, + {"label": "A", "matrix": [2, 1], "x": 1.75, "y": 2}, + {"label": "S", "matrix": [2, 2], "x": 2.75, "y": 2}, + {"label": "D", "matrix": [2, 3], "x": 3.75, "y": 2}, + {"label": "F", "matrix": [2, 4], "x": 4.75, "y": 2}, + {"label": "G", "matrix": [2, 5], "x": 5.75, "y": 2}, + {"label": "H", "matrix": [2, 6], "x": 6.75, "y": 2}, + {"label": "J", "matrix": [2, 7], "x": 7.75, "y": 2}, + {"label": "K", "matrix": [2, 8], "x": 8.75, "y": 2}, + {"label": "L", "matrix": [2, 9], "x": 9.75, "y": 2}, + {"label": ";", "matrix": [2, 10], "x": 10.75, "y": 2}, + {"label": "'", "matrix": [2, 11], "x": 11.75, "y": 2}, + {"label": "Enter", "matrix": [2, 13], "x": 12.75, "y": 2, "w": 2.25}, + {"label": "Shift", "matrix": [3, 0], "x": 0, "y": 3, "w": 2.25}, + {"label": "Z", "matrix": [3, 2], "x": 2.25, "y": 3}, + {"label": "X", "matrix": [3, 3], "x": 3.25, "y": 3}, + {"label": "C", "matrix": [3, 4], "x": 4.25, "y": 3}, + {"label": "V", "matrix": [3, 5], "x": 5.25, "y": 3}, + {"label": "B", "matrix": [3, 6], "x": 6.25, "y": 3}, + {"label": "N", "matrix": [3, 7], "x": 7.25, "y": 3}, + {"label": "M", "matrix": [3, 8], "x": 8.25, "y": 3}, + {"label": ",", "matrix": [3, 9], "x": 9.25, "y": 3}, + {"label": ".", "matrix": [3, 10], "x": 10.25, "y": 3}, + {"label": "/", "matrix": [3, 11], "x": 11.25, "y": 3}, + {"label": "Shift", "matrix": [3, 12], "x": 12.25, "y": 3, "w": 2.75}, + {"label": "Ctrl", "matrix": [4, 0], "x": 0, "y": 4, "w": 1.25}, + {"label": "GUI", "matrix": [4, 1], "x": 1.25, "y": 4, "w": 1.25}, + {"label": "Alt", "matrix": [4, 2], "x": 2.5, "y": 4, "w": 1.25}, + {"label": "Space", "matrix": [4, 3], "x": 3.75, "y": 4, "w": 6.25}, + {"label": "Alt", "matrix": [5, 10], "x": 10, "y": 4, "w": 1.25}, + {"label": "GUI", "matrix": [5, 11], "x": 11.25, "y": 4, "w": 1.25}, + {"label": "Menu", "matrix": [5, 12], "x": 12.5, "y": 4, "w": 1.25}, + {"label": "Ctrl", "matrix": [5, 13], "x": 13.75, "y": 4, "w": 1.25} + ] + }, + "LAYOUT_60_ansi_split_bs_rshift": { + "layout": [ + {"label": "Esc", "matrix": [0, 0], "x": 0, "y": 0}, + {"label": "1", "matrix": [0, 1], "x": 1, "y": 0}, + {"label": "2", "matrix": [0, 2], "x": 2, "y": 0}, + {"label": "3", "matrix": [0, 3], "x": 3, "y": 0}, + {"label": "4", "matrix": [0, 4], "x": 4, "y": 0}, + {"label": "5", "matrix": [0, 5], "x": 5, "y": 0}, + {"label": "6", "matrix": [0, 6], "x": 6, "y": 0}, + {"label": "7", "matrix": [0, 7], "x": 7, "y": 0}, + {"label": "8", "matrix": [0, 8], "x": 8, "y": 0}, + {"label": "9", "matrix": [0, 9], "x": 9, "y": 0}, + {"label": "0", "matrix": [0, 10], "x": 10, "y": 0}, + {"label": "-", "matrix": [0, 11], "x": 11, "y": 0}, + {"label": "=", "matrix": [0, 12], "x": 12, "y": 0}, + {"label": "Backspace", "matrix": [0, 13], "x": 13, "y": 0}, + {"label": "Delete", "matrix": [0, 14], "x": 14, "y": 0}, + {"label": "Tab", "matrix": [1, 0], "x": 0, "y": 1, "w": 1.5}, + {"label": "Q", "matrix": [1, 1], "x": 1.5, "y": 1}, + {"label": "W", "matrix": [1, 2], "x": 2.5, "y": 1}, + {"label": "E", "matrix": [1, 3], "x": 3.5, "y": 1}, + {"label": "R", "matrix": [1, 4], "x": 4.5, "y": 1}, + {"label": "T", "matrix": [1, 5], "x": 5.5, "y": 1}, + {"label": "Y", "matrix": [1, 6], "x": 6.5, "y": 1}, + {"label": "U", "matrix": [1, 7], "x": 7.5, "y": 1}, + {"label": "I", "matrix": [1, 8], "x": 8.5, "y": 1}, + {"label": "O", "matrix": [1, 9], "x": 9.5, "y": 1}, + {"label": "P", "matrix": [1, 10], "x": 10.5, "y": 1}, + {"label": "[", "matrix": [1, 11], "x": 11.5, "y": 1}, + {"label": "]", "matrix": [1, 12], "x": 12.5, "y": 1}, + {"label": "\\", "matrix": [1, 13], "x": 13.5, "y": 1, "w": 1.5}, + {"label": "Caps Lock", "matrix": [2, 0], "x": 0, "y": 2, "w": 1.75}, + {"label": "A", "matrix": [2, 1], "x": 1.75, "y": 2}, + {"label": "S", "matrix": [2, 2], "x": 2.75, "y": 2}, + {"label": "D", "matrix": [2, 3], "x": 3.75, "y": 2}, + {"label": "F", "matrix": [2, 4], "x": 4.75, "y": 2}, + {"label": "G", "matrix": [2, 5], "x": 5.75, "y": 2}, + {"label": "H", "matrix": [2, 6], "x": 6.75, "y": 2}, + {"label": "J", "matrix": [2, 7], "x": 7.75, "y": 2}, + {"label": "K", "matrix": [2, 8], "x": 8.75, "y": 2}, + {"label": "L", "matrix": [2, 9], "x": 9.75, "y": 2}, + {"label": ";", "matrix": [2, 10], "x": 10.75, "y": 2}, + {"label": "'", "matrix": [2, 11], "x": 11.75, "y": 2}, + {"label": "Enter", "matrix": [2, 13], "x": 12.75, "y": 2, "w": 2.25}, + {"label": "Shift", "matrix": [3, 0], "x": 0, "y": 3, "w": 2.25}, + {"label": "Z", "matrix": [3, 2], "x": 2.25, "y": 3}, + {"label": "X", "matrix": [3, 3], "x": 3.25, "y": 3}, + {"label": "C", "matrix": [3, 4], "x": 4.25, "y": 3}, + {"label": "V", "matrix": [3, 5], "x": 5.25, "y": 3}, + {"label": "B", "matrix": [3, 6], "x": 6.25, "y": 3}, + {"label": "N", "matrix": [3, 7], "x": 7.25, "y": 3}, + {"label": "M", "matrix": [3, 8], "x": 8.25, "y": 3}, + {"label": ",", "matrix": [3, 9], "x": 9.25, "y": 3}, + {"label": ".", "matrix": [3, 10], "x": 10.25, "y": 3}, + {"label": "/", "matrix": [3, 11], "x": 11.25, "y": 3}, + {"label": "Shift", "matrix": [3, 12], "x": 12.25, "y": 3, "w": 1.75}, + {"label": "Fn", "matrix": [3, 14], "x": 14, "y": 3}, + {"label": "Ctrl", "matrix": [4, 0], "x": 0, "y": 4, "w": 1.25}, + {"label": "GUI", "matrix": [4, 1], "x": 1.25, "y": 4, "w": 1.25}, + {"label": "Alt", "matrix": [4, 2], "x": 2.5, "y": 4, "w": 1.25}, + {"label": "Space", "matrix": [4, 3], "x": 3.75, "y": 4, "w": 6.25}, + {"label": "Alt", "matrix": [5, 10], "x": 10, "y": 4, "w": 1.25}, + {"label": "GUI", "matrix": [5, 11], "x": 11.25, "y": 4, "w": 1.25}, + {"label": "Menu", "matrix": [5, 12], "x": 12.5, "y": 4, "w": 1.25}, + {"label": "Ctrl", "matrix": [5, 13], "x": 13.75, "y": 4, "w": 1.25} + ] + }, + "LAYOUT_60_ansi_tsangan": { + "layout": [ + {"label": "Esc", "matrix": [0, 0], "x": 0, "y": 0}, + {"label": "1", "matrix": [0, 1], "x": 1, "y": 0}, + {"label": "2", "matrix": [0, 2], "x": 2, "y": 0}, + {"label": "3", "matrix": [0, 3], "x": 3, "y": 0}, + {"label": "4", "matrix": [0, 4], "x": 4, "y": 0}, + {"label": "5", "matrix": [0, 5], "x": 5, "y": 0}, + {"label": "6", "matrix": [0, 6], "x": 6, "y": 0}, + {"label": "7", "matrix": [0, 7], "x": 7, "y": 0}, + {"label": "8", "matrix": [0, 8], "x": 8, "y": 0}, + {"label": "9", "matrix": [0, 9], "x": 9, "y": 0}, + {"label": "0", "matrix": [0, 10], "x": 10, "y": 0}, + {"label": "-", "matrix": [0, 11], "x": 11, "y": 0}, + {"label": "=", "matrix": [0, 12], "x": 12, "y": 0}, + {"label": "Backspace", "matrix": [0, 13], "x": 13, "y": 0, "w": 2}, + {"label": "Tab", "matrix": [1, 0], "x": 0, "y": 1, "w": 1.5}, + {"label": "Q", "matrix": [1, 1], "x": 1.5, "y": 1}, + {"label": "W", "matrix": [1, 2], "x": 2.5, "y": 1}, + {"label": "E", "matrix": [1, 3], "x": 3.5, "y": 1}, + {"label": "R", "matrix": [1, 4], "x": 4.5, "y": 1}, + {"label": "T", "matrix": [1, 5], "x": 5.5, "y": 1}, + {"label": "Y", "matrix": [1, 6], "x": 6.5, "y": 1}, + {"label": "U", "matrix": [1, 7], "x": 7.5, "y": 1}, + {"label": "I", "matrix": [1, 8], "x": 8.5, "y": 1}, + {"label": "O", "matrix": [1, 9], "x": 9.5, "y": 1}, + {"label": "P", "matrix": [1, 10], "x": 10.5, "y": 1}, + {"label": "[", "matrix": [1, 11], "x": 11.5, "y": 1}, + {"label": "]", "matrix": [1, 12], "x": 12.5, "y": 1}, + {"label": "\\", "matrix": [1, 13], "x": 13.5, "y": 1, "w": 1.5}, + {"label": "Caps Lock", "matrix": [2, 0], "x": 0, "y": 2, "w": 1.75}, + {"label": "A", "matrix": [2, 1], "x": 1.75, "y": 2}, + {"label": "S", "matrix": [2, 2], "x": 2.75, "y": 2}, + {"label": "D", "matrix": [2, 3], "x": 3.75, "y": 2}, + {"label": "F", "matrix": [2, 4], "x": 4.75, "y": 2}, + {"label": "G", "matrix": [2, 5], "x": 5.75, "y": 2}, + {"label": "H", "matrix": [2, 6], "x": 6.75, "y": 2}, + {"label": "J", "matrix": [2, 7], "x": 7.75, "y": 2}, + {"label": "K", "matrix": [2, 8], "x": 8.75, "y": 2}, + {"label": "L", "matrix": [2, 9], "x": 9.75, "y": 2}, + {"label": ";", "matrix": [2, 10], "x": 10.75, "y": 2}, + {"label": "'", "matrix": [2, 11], "x": 11.75, "y": 2}, + {"label": "Enter", "matrix": [2, 13], "x": 12.75, "y": 2, "w": 2.25}, + {"label": "Shift", "matrix": [3, 0], "x": 0, "y": 3, "w": 2.25}, + {"label": "Z", "matrix": [3, 2], "x": 2.25, "y": 3}, + {"label": "X", "matrix": [3, 3], "x": 3.25, "y": 3}, + {"label": "C", "matrix": [3, 4], "x": 4.25, "y": 3}, + {"label": "V", "matrix": [3, 5], "x": 5.25, "y": 3}, + {"label": "B", "matrix": [3, 6], "x": 6.25, "y": 3}, + {"label": "N", "matrix": [3, 7], "x": 7.25, "y": 3}, + {"label": "M", "matrix": [3, 8], "x": 8.25, "y": 3}, + {"label": ",", "matrix": [3, 9], "x": 9.25, "y": 3}, + {"label": ".", "matrix": [3, 10], "x": 10.25, "y": 3}, + {"label": "/", "matrix": [3, 11], "x": 11.25, "y": 3}, + {"label": "Shift", "matrix": [3, 12], "x": 12.25, "y": 3, "w": 2.75}, + {"label": "Ctrl", "matrix": [4, 0], "x": 0, "y": 4, "w": 1.5}, + {"label": "GUI", "matrix": [4, 1], "x": 1.5, "y": 4}, + {"label": "Alt", "matrix": [4, 2], "x": 2.5, "y": 4, "w": 1.5}, + {"label": "Space", "matrix": [4, 3], "x": 4, "y": 4, "w": 7}, + {"label": "Alt", "matrix": [5, 11], "x": 11, "y": 4, "w": 1.5}, + {"label": "GUI", "matrix": [5, 12], "x": 12.5, "y": 4}, + {"label": "Ctrl", "matrix": [5, 13], "x": 13.5, "y": 4, "w": 1.5} + ] + }, + "LAYOUT_60_ansi_wkl": { + "layout": [ + {"label": "Esc", "matrix": [0, 0], "x": 0, "y": 0}, + {"label": "1", "matrix": [0, 1], "x": 1, "y": 0}, + {"label": "2", "matrix": [0, 2], "x": 2, "y": 0}, + {"label": "3", "matrix": [0, 3], "x": 3, "y": 0}, + {"label": "4", "matrix": [0, 4], "x": 4, "y": 0}, + {"label": "5", "matrix": [0, 5], "x": 5, "y": 0}, + {"label": "6", "matrix": [0, 6], "x": 6, "y": 0}, + {"label": "7", "matrix": [0, 7], "x": 7, "y": 0}, + {"label": "8", "matrix": [0, 8], "x": 8, "y": 0}, + {"label": "9", "matrix": [0, 9], "x": 9, "y": 0}, + {"label": "0", "matrix": [0, 10], "x": 10, "y": 0}, + {"label": "-", "matrix": [0, 11], "x": 11, "y": 0}, + {"label": "=", "matrix": [0, 12], "x": 12, "y": 0}, + {"label": "Backspace", "matrix": [0, 13], "x": 13, "y": 0, "w": 2}, + {"label": "Tab", "matrix": [1, 0], "x": 0, "y": 1, "w": 1.5}, + {"label": "Q", "matrix": [1, 1], "x": 1.5, "y": 1}, + {"label": "W", "matrix": [1, 2], "x": 2.5, "y": 1}, + {"label": "E", "matrix": [1, 3], "x": 3.5, "y": 1}, + {"label": "R", "matrix": [1, 4], "x": 4.5, "y": 1}, + {"label": "T", "matrix": [1, 5], "x": 5.5, "y": 1}, + {"label": "Y", "matrix": [1, 6], "x": 6.5, "y": 1}, + {"label": "U", "matrix": [1, 7], "x": 7.5, "y": 1}, + {"label": "I", "matrix": [1, 8], "x": 8.5, "y": 1}, + {"label": "O", "matrix": [1, 9], "x": 9.5, "y": 1}, + {"label": "P", "matrix": [1, 10], "x": 10.5, "y": 1}, + {"label": "[", "matrix": [1, 11], "x": 11.5, "y": 1}, + {"label": "]", "matrix": [1, 12], "x": 12.5, "y": 1}, + {"label": "\\", "matrix": [1, 13], "x": 13.5, "y": 1, "w": 1.5}, + {"label": "Caps Lock", "matrix": [2, 0], "x": 0, "y": 2, "w": 1.75}, + {"label": "A", "matrix": [2, 1], "x": 1.75, "y": 2}, + {"label": "S", "matrix": [2, 2], "x": 2.75, "y": 2}, + {"label": "D", "matrix": [2, 3], "x": 3.75, "y": 2}, + {"label": "F", "matrix": [2, 4], "x": 4.75, "y": 2}, + {"label": "G", "matrix": [2, 5], "x": 5.75, "y": 2}, + {"label": "H", "matrix": [2, 6], "x": 6.75, "y": 2}, + {"label": "J", "matrix": [2, 7], "x": 7.75, "y": 2}, + {"label": "K", "matrix": [2, 8], "x": 8.75, "y": 2}, + {"label": "L", "matrix": [2, 9], "x": 9.75, "y": 2}, + {"label": ";", "matrix": [2, 10], "x": 10.75, "y": 2}, + {"label": "'", "matrix": [2, 11], "x": 11.75, "y": 2}, + {"label": "Enter", "matrix": [2, 13], "x": 12.75, "y": 2, "w": 2.25}, + {"label": "Shift", "matrix": [3, 0], "x": 0, "y": 3, "w": 2.25}, + {"label": "Z", "matrix": [3, 2], "x": 2.25, "y": 3}, + {"label": "X", "matrix": [3, 3], "x": 3.25, "y": 3}, + {"label": "C", "matrix": [3, 4], "x": 4.25, "y": 3}, + {"label": "V", "matrix": [3, 5], "x": 5.25, "y": 3}, + {"label": "B", "matrix": [3, 6], "x": 6.25, "y": 3}, + {"label": "N", "matrix": [3, 7], "x": 7.25, "y": 3}, + {"label": "M", "matrix": [3, 8], "x": 8.25, "y": 3}, + {"label": ",", "matrix": [3, 9], "x": 9.25, "y": 3}, + {"label": ".", "matrix": [3, 10], "x": 10.25, "y": 3}, + {"label": "/", "matrix": [3, 11], "x": 11.25, "y": 3}, + {"label": "Shift", "matrix": [3, 12], "x": 12.25, "y": 3, "w": 2.75}, + {"label": "Ctrl", "matrix": [4, 0], "x": 0, "y": 4, "w": 1.5}, + {"label": "Alt", "matrix": [4, 2], "x": 2.5, "y": 4, "w": 1.5}, + {"label": "Space", "matrix": [4, 3], "x": 4, "y": 4, "w": 7}, + {"label": "Alt", "matrix": [5, 11], "x": 11, "y": 4, "w": 1.5}, + {"label": "Ctrl", "matrix": [5, 13], "x": 13.5, "y": 4, "w": 1.5} + ] + }, + "LAYOUT_60_ansi_wkl_split_bs_rshift": { + "layout": [ + {"label": "Esc", "matrix": [0, 0], "x": 0, "y": 0}, + {"label": "1", "matrix": [0, 1], "x": 1, "y": 0}, + {"label": "2", "matrix": [0, 2], "x": 2, "y": 0}, + {"label": "3", "matrix": [0, 3], "x": 3, "y": 0}, + {"label": "4", "matrix": [0, 4], "x": 4, "y": 0}, + {"label": "5", "matrix": [0, 5], "x": 5, "y": 0}, + {"label": "6", "matrix": [0, 6], "x": 6, "y": 0}, + {"label": "7", "matrix": [0, 7], "x": 7, "y": 0}, + {"label": "8", "matrix": [0, 8], "x": 8, "y": 0}, + {"label": "9", "matrix": [0, 9], "x": 9, "y": 0}, + {"label": "0", "matrix": [0, 10], "x": 10, "y": 0}, + {"label": "-", "matrix": [0, 11], "x": 11, "y": 0}, + {"label": "=", "matrix": [0, 12], "x": 12, "y": 0}, + {"label": "Backspace", "matrix": [0, 13], "x": 13, "y": 0}, + {"label": "Delete", "matrix": [0, 14], "x": 14, "y": 0}, + {"label": "Tab", "matrix": [1, 0], "x": 0, "y": 1, "w": 1.5}, + {"label": "Q", "matrix": [1, 1], "x": 1.5, "y": 1}, + {"label": "W", "matrix": [1, 2], "x": 2.5, "y": 1}, + {"label": "E", "matrix": [1, 3], "x": 3.5, "y": 1}, + {"label": "R", "matrix": [1, 4], "x": 4.5, "y": 1}, + {"label": "T", "matrix": [1, 5], "x": 5.5, "y": 1}, + {"label": "Y", "matrix": [1, 6], "x": 6.5, "y": 1}, + {"label": "U", "matrix": [1, 7], "x": 7.5, "y": 1}, + {"label": "I", "matrix": [1, 8], "x": 8.5, "y": 1}, + {"label": "O", "matrix": [1, 9], "x": 9.5, "y": 1}, + {"label": "P", "matrix": [1, 10], "x": 10.5, "y": 1}, + {"label": "[", "matrix": [1, 11], "x": 11.5, "y": 1}, + {"label": "]", "matrix": [1, 12], "x": 12.5, "y": 1}, + {"label": "\\", "matrix": [1, 13], "x": 13.5, "y": 1, "w": 1.5}, + {"label": "Caps Lock", "matrix": [2, 0], "x": 0, "y": 2, "w": 1.75}, + {"label": "A", "matrix": [2, 1], "x": 1.75, "y": 2}, + {"label": "S", "matrix": [2, 2], "x": 2.75, "y": 2}, + {"label": "D", "matrix": [2, 3], "x": 3.75, "y": 2}, + {"label": "F", "matrix": [2, 4], "x": 4.75, "y": 2}, + {"label": "G", "matrix": [2, 5], "x": 5.75, "y": 2}, + {"label": "H", "matrix": [2, 6], "x": 6.75, "y": 2}, + {"label": "J", "matrix": [2, 7], "x": 7.75, "y": 2}, + {"label": "K", "matrix": [2, 8], "x": 8.75, "y": 2}, + {"label": "L", "matrix": [2, 9], "x": 9.75, "y": 2}, + {"label": ";", "matrix": [2, 10], "x": 10.75, "y": 2}, + {"label": "'", "matrix": [2, 11], "x": 11.75, "y": 2}, + {"label": "Enter", "matrix": [2, 13], "x": 12.75, "y": 2, "w": 2.25}, + {"label": "Shift", "matrix": [3, 0], "x": 0, "y": 3, "w": 2.25}, + {"label": "Z", "matrix": [3, 2], "x": 2.25, "y": 3}, + {"label": "X", "matrix": [3, 3], "x": 3.25, "y": 3}, + {"label": "C", "matrix": [3, 4], "x": 4.25, "y": 3}, + {"label": "V", "matrix": [3, 5], "x": 5.25, "y": 3}, + {"label": "B", "matrix": [3, 6], "x": 6.25, "y": 3}, + {"label": "N", "matrix": [3, 7], "x": 7.25, "y": 3}, + {"label": "M", "matrix": [3, 8], "x": 8.25, "y": 3}, + {"label": ",", "matrix": [3, 9], "x": 9.25, "y": 3}, + {"label": ".", "matrix": [3, 10], "x": 10.25, "y": 3}, + {"label": "/", "matrix": [3, 11], "x": 11.25, "y": 3}, + {"label": "Shift", "matrix": [3, 12], "x": 12.25, "y": 3, "w": 1.75}, + {"label": "Fn", "matrix": [3, 14], "x": 14, "y": 3}, + {"label": "Ctrl", "matrix": [4, 0], "x": 0, "y": 4, "w": 1.5}, + {"label": "Alt", "matrix": [4, 2], "x": 2.5, "y": 4, "w": 1.5}, + {"label": "Space", "matrix": [4, 3], "x": 4, "y": 4, "w": 7}, + {"label": "Alt", "matrix": [5, 11], "x": 11, "y": 4, "w": 1.5}, + {"label": "Ctrl", "matrix": [5, 13], "x": 13.5, "y": 4, "w": 1.5} + ] + }, + "LAYOUT_60_hhkb": { + "layout": [ + {"label": "Esc", "matrix": [0, 0], "x": 0, "y": 0}, + {"label": "1", "matrix": [0, 1], "x": 1, "y": 0}, + {"label": "2", "matrix": [0, 2], "x": 2, "y": 0}, + {"label": "3", "matrix": [0, 3], "x": 3, "y": 0}, + {"label": "4", "matrix": [0, 4], "x": 4, "y": 0}, + {"label": "5", "matrix": [0, 5], "x": 5, "y": 0}, + {"label": "6", "matrix": [0, 6], "x": 6, "y": 0}, + {"label": "7", "matrix": [0, 7], "x": 7, "y": 0}, + {"label": "8", "matrix": [0, 8], "x": 8, "y": 0}, + {"label": "9", "matrix": [0, 9], "x": 9, "y": 0}, + {"label": "0", "matrix": [0, 10], "x": 10, "y": 0}, + {"label": "-", "matrix": [0, 11], "x": 11, "y": 0}, + {"label": "=", "matrix": [0, 12], "x": 12, "y": 0}, + {"label": "Backspace", "matrix": [0, 13], "x": 13, "y": 0}, + {"label": "Delete", "matrix": [0, 14], "x": 14, "y": 0}, + {"label": "Tab", "matrix": [1, 0], "x": 0, "y": 1, "w": 1.5}, + {"label": "Q", "matrix": [1, 1], "x": 1.5, "y": 1}, + {"label": "W", "matrix": [1, 2], "x": 2.5, "y": 1}, + {"label": "E", "matrix": [1, 3], "x": 3.5, "y": 1}, + {"label": "R", "matrix": [1, 4], "x": 4.5, "y": 1}, + {"label": "T", "matrix": [1, 5], "x": 5.5, "y": 1}, + {"label": "Y", "matrix": [1, 6], "x": 6.5, "y": 1}, + {"label": "U", "matrix": [1, 7], "x": 7.5, "y": 1}, + {"label": "I", "matrix": [1, 8], "x": 8.5, "y": 1}, + {"label": "O", "matrix": [1, 9], "x": 9.5, "y": 1}, + {"label": "P", "matrix": [1, 10], "x": 10.5, "y": 1}, + {"label": "[", "matrix": [1, 11], "x": 11.5, "y": 1}, + {"label": "]", "matrix": [1, 12], "x": 12.5, "y": 1}, + {"label": "\\", "matrix": [1, 13], "x": 13.5, "y": 1, "w": 1.5}, + {"label": "Caps Lock", "matrix": [2, 0], "x": 0, "y": 2, "w": 1.75}, + {"label": "A", "matrix": [2, 1], "x": 1.75, "y": 2}, + {"label": "S", "matrix": [2, 2], "x": 2.75, "y": 2}, + {"label": "D", "matrix": [2, 3], "x": 3.75, "y": 2}, + {"label": "F", "matrix": [2, 4], "x": 4.75, "y": 2}, + {"label": "G", "matrix": [2, 5], "x": 5.75, "y": 2}, + {"label": "H", "matrix": [2, 6], "x": 6.75, "y": 2}, + {"label": "J", "matrix": [2, 7], "x": 7.75, "y": 2}, + {"label": "K", "matrix": [2, 8], "x": 8.75, "y": 2}, + {"label": "L", "matrix": [2, 9], "x": 9.75, "y": 2}, + {"label": ";", "matrix": [2, 10], "x": 10.75, "y": 2}, + {"label": "'", "matrix": [2, 11], "x": 11.75, "y": 2}, + {"label": "Enter", "matrix": [2, 13], "x": 12.75, "y": 2, "w": 2.25}, + {"label": "Shift", "matrix": [3, 0], "x": 0, "y": 3, "w": 2.25}, + {"label": "Z", "matrix": [3, 2], "x": 2.25, "y": 3}, + {"label": "X", "matrix": [3, 3], "x": 3.25, "y": 3}, + {"label": "C", "matrix": [3, 4], "x": 4.25, "y": 3}, + {"label": "V", "matrix": [3, 5], "x": 5.25, "y": 3}, + {"label": "B", "matrix": [3, 6], "x": 6.25, "y": 3}, + {"label": "N", "matrix": [3, 7], "x": 7.25, "y": 3}, + {"label": "M", "matrix": [3, 8], "x": 8.25, "y": 3}, + {"label": ",", "matrix": [3, 9], "x": 9.25, "y": 3}, + {"label": ".", "matrix": [3, 10], "x": 10.25, "y": 3}, + {"label": "/", "matrix": [3, 11], "x": 11.25, "y": 3}, + {"label": "Shift", "matrix": [3, 12], "x": 12.25, "y": 3, "w": 1.75}, + {"label": "Fn", "matrix": [3, 14], "x": 14, "y": 3}, + {"label": "GUI", "matrix": [4, 1], "x": 1.5, "y": 4}, + {"label": "Alt", "matrix": [4, 2], "x": 2.5, "y": 4, "w": 1.5}, + {"label": "Space", "matrix": [4, 3], "x": 4, "y": 4, "w": 7}, + {"label": "Alt", "matrix": [5, 11], "x": 11, "y": 4, "w": 1.5}, + {"label": "GUI", "matrix": [5, 12], "x": 12.5, "y": 4} + ] + }, + "LAYOUT_60_iso": { + "layout": [ + {"label": "Esc", "matrix": [0, 0], "x": 0, "y": 0}, + {"label": "1", "matrix": [0, 1], "x": 1, "y": 0}, + {"label": "2", "matrix": [0, 2], "x": 2, "y": 0}, + {"label": "3", "matrix": [0, 3], "x": 3, "y": 0}, + {"label": "4", "matrix": [0, 4], "x": 4, "y": 0}, + {"label": "5", "matrix": [0, 5], "x": 5, "y": 0}, + {"label": "6", "matrix": [0, 6], "x": 6, "y": 0}, + {"label": "7", "matrix": [0, 7], "x": 7, "y": 0}, + {"label": "8", "matrix": [0, 8], "x": 8, "y": 0}, + {"label": "9", "matrix": [0, 9], "x": 9, "y": 0}, + {"label": "0", "matrix": [0, 10], "x": 10, "y": 0}, + {"label": "-", "matrix": [0, 11], "x": 11, "y": 0}, + {"label": "=", "matrix": [0, 12], "x": 12, "y": 0}, + {"label": "Backspace", "matrix": [0, 13], "x": 13, "y": 0, "w": 2}, + {"label": "Tab", "matrix": [1, 0], "x": 0, "y": 1, "w": 1.5}, + {"label": "Q", "matrix": [1, 1], "x": 1.5, "y": 1}, + {"label": "W", "matrix": [1, 2], "x": 2.5, "y": 1}, + {"label": "E", "matrix": [1, 3], "x": 3.5, "y": 1}, + {"label": "R", "matrix": [1, 4], "x": 4.5, "y": 1}, + {"label": "T", "matrix": [1, 5], "x": 5.5, "y": 1}, + {"label": "Y", "matrix": [1, 6], "x": 6.5, "y": 1}, + {"label": "U", "matrix": [1, 7], "x": 7.5, "y": 1}, + {"label": "I", "matrix": [1, 8], "x": 8.5, "y": 1}, + {"label": "O", "matrix": [1, 9], "x": 9.5, "y": 1}, + {"label": "P", "matrix": [1, 10], "x": 10.5, "y": 1}, + {"label": "[", "matrix": [1, 11], "x": 11.5, "y": 1}, + {"label": "]", "matrix": [1, 12], "x": 12.5, "y": 1}, + {"label": "Caps Lock", "matrix": [2, 0], "x": 0, "y": 2, "w": 1.75}, + {"label": "A", "matrix": [2, 1], "x": 1.75, "y": 2}, + {"label": "S", "matrix": [2, 2], "x": 2.75, "y": 2}, + {"label": "D", "matrix": [2, 3], "x": 3.75, "y": 2}, + {"label": "F", "matrix": [2, 4], "x": 4.75, "y": 2}, + {"label": "G", "matrix": [2, 5], "x": 5.75, "y": 2}, + {"label": "H", "matrix": [2, 6], "x": 6.75, "y": 2}, + {"label": "J", "matrix": [2, 7], "x": 7.75, "y": 2}, + {"label": "K", "matrix": [2, 8], "x": 8.75, "y": 2}, + {"label": "L", "matrix": [2, 9], "x": 9.75, "y": 2}, + {"label": ";", "matrix": [2, 10], "x": 10.75, "y": 2}, + {"label": "'", "matrix": [2, 11], "x": 11.75, "y": 2}, + {"label": "#", "matrix": [2, 12], "x": 12.75, "y": 2}, + {"label": "Enter", "matrix": [2, 13], "x": 13.75, "y": 1, "w": 1.25, "h": 2}, + {"label": "Shift", "matrix": [3, 0], "x": 0, "y": 3, "w": 1.25}, + {"label": "\\", "matrix": [3, 1], "x": 1.25, "y": 3}, + {"label": "Z", "matrix": [3, 2], "x": 2.25, "y": 3}, + {"label": "X", "matrix": [3, 3], "x": 3.25, "y": 3}, + {"label": "C", "matrix": [3, 4], "x": 4.25, "y": 3}, + {"label": "V", "matrix": [3, 5], "x": 5.25, "y": 3}, + {"label": "B", "matrix": [3, 6], "x": 6.25, "y": 3}, + {"label": "N", "matrix": [3, 7], "x": 7.25, "y": 3}, + {"label": "M", "matrix": [3, 8], "x": 8.25, "y": 3}, + {"label": ",", "matrix": [3, 9], "x": 9.25, "y": 3}, + {"label": ".", "matrix": [3, 10], "x": 10.25, "y": 3}, + {"label": "/", "matrix": [3, 11], "x": 11.25, "y": 3}, + {"label": "Shift", "matrix": [3, 12], "x": 12.25, "y": 3, "w": 2.75}, + {"label": "Ctrl", "matrix": [4, 0], "x": 0, "y": 4, "w": 1.25}, + {"label": "GUI", "matrix": [4, 1], "x": 1.25, "y": 4, "w": 1.25}, + {"label": "Alt", "matrix": [4, 2], "x": 2.5, "y": 4, "w": 1.25}, + {"label": "Space", "matrix": [4, 3], "x": 3.75, "y": 4, "w": 6.25}, + {"label": "Alt", "matrix": [5, 10], "x": 10, "y": 4, "w": 1.25}, + {"label": "GUI", "matrix": [5, 11], "x": 11.25, "y": 4, "w": 1.25}, + {"label": "Menu", "matrix": [5, 12], "x": 12.5, "y": 4, "w": 1.25}, + {"label": "Ctrl", "matrix": [5, 13], "x": 13.75, "y": 4, "w": 1.25} + ] + }, + "LAYOUT_60_iso_split_bs_rshift": { + "layout": [ + {"label": "Esc", "matrix": [0, 0], "x": 0, "y": 0}, + {"label": "1", "matrix": [0, 1], "x": 1, "y": 0}, + {"label": "2", "matrix": [0, 2], "x": 2, "y": 0}, + {"label": "3", "matrix": [0, 3], "x": 3, "y": 0}, + {"label": "4", "matrix": [0, 4], "x": 4, "y": 0}, + {"label": "5", "matrix": [0, 5], "x": 5, "y": 0}, + {"label": "6", "matrix": [0, 6], "x": 6, "y": 0}, + {"label": "7", "matrix": [0, 7], "x": 7, "y": 0}, + {"label": "8", "matrix": [0, 8], "x": 8, "y": 0}, + {"label": "9", "matrix": [0, 9], "x": 9, "y": 0}, + {"label": "0", "matrix": [0, 10], "x": 10, "y": 0}, + {"label": "-", "matrix": [0, 11], "x": 11, "y": 0}, + {"label": "=", "matrix": [0, 12], "x": 12, "y": 0}, + {"label": "Backspace", "matrix": [0, 13], "x": 13, "y": 0}, + {"label": "Delete", "matrix": [0, 14], "x": 14, "y": 0}, + {"label": "Tab", "matrix": [1, 0], "x": 0, "y": 1, "w": 1.5}, + {"label": "Q", "matrix": [1, 1], "x": 1.5, "y": 1}, + {"label": "W", "matrix": [1, 2], "x": 2.5, "y": 1}, + {"label": "E", "matrix": [1, 3], "x": 3.5, "y": 1}, + {"label": "R", "matrix": [1, 4], "x": 4.5, "y": 1}, + {"label": "T", "matrix": [1, 5], "x": 5.5, "y": 1}, + {"label": "Y", "matrix": [1, 6], "x": 6.5, "y": 1}, + {"label": "U", "matrix": [1, 7], "x": 7.5, "y": 1}, + {"label": "I", "matrix": [1, 8], "x": 8.5, "y": 1}, + {"label": "O", "matrix": [1, 9], "x": 9.5, "y": 1}, + {"label": "P", "matrix": [1, 10], "x": 10.5, "y": 1}, + {"label": "[", "matrix": [1, 11], "x": 11.5, "y": 1}, + {"label": "]", "matrix": [1, 12], "x": 12.5, "y": 1}, + {"label": "Caps Lock", "matrix": [2, 0], "x": 0, "y": 2, "w": 1.75}, + {"label": "A", "matrix": [2, 1], "x": 1.75, "y": 2}, + {"label": "S", "matrix": [2, 2], "x": 2.75, "y": 2}, + {"label": "D", "matrix": [2, 3], "x": 3.75, "y": 2}, + {"label": "F", "matrix": [2, 4], "x": 4.75, "y": 2}, + {"label": "G", "matrix": [2, 5], "x": 5.75, "y": 2}, + {"label": "H", "matrix": [2, 6], "x": 6.75, "y": 2}, + {"label": "J", "matrix": [2, 7], "x": 7.75, "y": 2}, + {"label": "K", "matrix": [2, 8], "x": 8.75, "y": 2}, + {"label": "L", "matrix": [2, 9], "x": 9.75, "y": 2}, + {"label": ";", "matrix": [2, 10], "x": 10.75, "y": 2}, + {"label": "'", "matrix": [2, 11], "x": 11.75, "y": 2}, + {"label": "#", "matrix": [2, 12], "x": 12.75, "y": 2}, + {"label": "Enter", "matrix": [2, 13], "x": 13.75, "y": 1, "w": 1.25, "h": 2}, + {"label": "Shift", "matrix": [3, 0], "x": 0, "y": 3, "w": 1.25}, + {"label": "\\", "matrix": [3, 1], "x": 1.25, "y": 3}, + {"label": "Z", "matrix": [3, 2], "x": 2.25, "y": 3}, + {"label": "X", "matrix": [3, 3], "x": 3.25, "y": 3}, + {"label": "C", "matrix": [3, 4], "x": 4.25, "y": 3}, + {"label": "V", "matrix": [3, 5], "x": 5.25, "y": 3}, + {"label": "B", "matrix": [3, 6], "x": 6.25, "y": 3}, + {"label": "N", "matrix": [3, 7], "x": 7.25, "y": 3}, + {"label": "M", "matrix": [3, 8], "x": 8.25, "y": 3}, + {"label": ",", "matrix": [3, 9], "x": 9.25, "y": 3}, + {"label": ".", "matrix": [3, 10], "x": 10.25, "y": 3}, + {"label": "/", "matrix": [3, 11], "x": 11.25, "y": 3}, + {"label": "Shift", "matrix": [3, 12], "x": 12.25, "y": 3, "w": 1.75}, + {"label": "Fn", "matrix": [3, 14], "x": 14, "y": 3}, + {"label": "Ctrl", "matrix": [4, 0], "x": 0, "y": 4, "w": 1.25}, + {"label": "GUI", "matrix": [4, 1], "x": 1.25, "y": 4, "w": 1.25}, + {"label": "Alt", "matrix": [4, 2], "x": 2.5, "y": 4, "w": 1.25}, + {"label": "Space", "matrix": [4, 3], "x": 3.75, "y": 4, "w": 6.25}, + {"label": "Alt", "matrix": [5, 10], "x": 10, "y": 4, "w": 1.25}, + {"label": "GUI", "matrix": [5, 11], "x": 11.25, "y": 4, "w": 1.25}, + {"label": "Menu", "matrix": [5, 12], "x": 12.5, "y": 4, "w": 1.25}, + {"label": "Ctrl", "matrix": [5, 13], "x": 13.75, "y": 4, "w": 1.25} + ] + }, + "LAYOUT_60_iso_tsangan": { + "layout": [ + {"label": "Esc", "matrix": [0, 0], "x": 0, "y": 0}, + {"label": "1", "matrix": [0, 1], "x": 1, "y": 0}, + {"label": "2", "matrix": [0, 2], "x": 2, "y": 0}, + {"label": "3", "matrix": [0, 3], "x": 3, "y": 0}, + {"label": "4", "matrix": [0, 4], "x": 4, "y": 0}, + {"label": "5", "matrix": [0, 5], "x": 5, "y": 0}, + {"label": "6", "matrix": [0, 6], "x": 6, "y": 0}, + {"label": "7", "matrix": [0, 7], "x": 7, "y": 0}, + {"label": "8", "matrix": [0, 8], "x": 8, "y": 0}, + {"label": "9", "matrix": [0, 9], "x": 9, "y": 0}, + {"label": "0", "matrix": [0, 10], "x": 10, "y": 0}, + {"label": "-", "matrix": [0, 11], "x": 11, "y": 0}, + {"label": "=", "matrix": [0, 12], "x": 12, "y": 0}, + {"label": "Backspace", "matrix": [0, 13], "x": 13, "y": 0, "w": 2}, + {"label": "Tab", "matrix": [1, 0], "x": 0, "y": 1, "w": 1.5}, + {"label": "Q", "matrix": [1, 1], "x": 1.5, "y": 1}, + {"label": "W", "matrix": [1, 2], "x": 2.5, "y": 1}, + {"label": "E", "matrix": [1, 3], "x": 3.5, "y": 1}, + {"label": "R", "matrix": [1, 4], "x": 4.5, "y": 1}, + {"label": "T", "matrix": [1, 5], "x": 5.5, "y": 1}, + {"label": "Y", "matrix": [1, 6], "x": 6.5, "y": 1}, + {"label": "U", "matrix": [1, 7], "x": 7.5, "y": 1}, + {"label": "I", "matrix": [1, 8], "x": 8.5, "y": 1}, + {"label": "O", "matrix": [1, 9], "x": 9.5, "y": 1}, + {"label": "P", "matrix": [1, 10], "x": 10.5, "y": 1}, + {"label": "[", "matrix": [1, 11], "x": 11.5, "y": 1}, + {"label": "]", "matrix": [1, 12], "x": 12.5, "y": 1}, + {"label": "Caps Lock", "matrix": [2, 0], "x": 0, "y": 2, "w": 1.75}, + {"label": "A", "matrix": [2, 1], "x": 1.75, "y": 2}, + {"label": "S", "matrix": [2, 2], "x": 2.75, "y": 2}, + {"label": "D", "matrix": [2, 3], "x": 3.75, "y": 2}, + {"label": "F", "matrix": [2, 4], "x": 4.75, "y": 2}, + {"label": "G", "matrix": [2, 5], "x": 5.75, "y": 2}, + {"label": "H", "matrix": [2, 6], "x": 6.75, "y": 2}, + {"label": "J", "matrix": [2, 7], "x": 7.75, "y": 2}, + {"label": "K", "matrix": [2, 8], "x": 8.75, "y": 2}, + {"label": "L", "matrix": [2, 9], "x": 9.75, "y": 2}, + {"label": ";", "matrix": [2, 10], "x": 10.75, "y": 2}, + {"label": "'", "matrix": [2, 11], "x": 11.75, "y": 2}, + {"label": "#", "matrix": [2, 12], "x": 12.75, "y": 2}, + {"label": "Enter", "matrix": [2, 13], "x": 13.75, "y": 1, "w": 1.25, "h": 2}, + {"label": "Shift", "matrix": [3, 0], "x": 0, "y": 3, "w": 1.25}, + {"label": "\\", "matrix": [3, 1], "x": 1.25, "y": 3}, + {"label": "Z", "matrix": [3, 2], "x": 2.25, "y": 3}, + {"label": "X", "matrix": [3, 3], "x": 3.25, "y": 3}, + {"label": "C", "matrix": [3, 4], "x": 4.25, "y": 3}, + {"label": "V", "matrix": [3, 5], "x": 5.25, "y": 3}, + {"label": "B", "matrix": [3, 6], "x": 6.25, "y": 3}, + {"label": "N", "matrix": [3, 7], "x": 7.25, "y": 3}, + {"label": "M", "matrix": [3, 8], "x": 8.25, "y": 3}, + {"label": ",", "matrix": [3, 9], "x": 9.25, "y": 3}, + {"label": ".", "matrix": [3, 10], "x": 10.25, "y": 3}, + {"label": "/", "matrix": [3, 11], "x": 11.25, "y": 3}, + {"label": "Shift", "matrix": [3, 12], "x": 12.25, "y": 3, "w": 2.75}, + {"label": "Ctrl", "matrix": [4, 0], "x": 0, "y": 4, "w": 1.5}, + {"label": "GUI", "matrix": [4, 1], "x": 1.5, "y": 4}, + {"label": "Alt", "matrix": [4, 2], "x": 2.5, "y": 4, "w": 1.5}, + {"label": "Space", "matrix": [4, 3], "x": 4, "y": 4, "w": 7}, + {"label": "Alt", "matrix": [5, 11], "x": 11, "y": 4, "w": 1.5}, + {"label": "GUI", "matrix": [5, 12], "x": 12.5, "y": 4}, + {"label": "Ctrl", "matrix": [5, 13], "x": 13.5, "y": 4, "w": 1.5} + ] + }, + "LAYOUT_60_iso_tsangan_split_bs_rshift": { + "layout": [ + {"label": "Esc", "matrix": [0, 0], "x": 0, "y": 0}, + {"label": "1", "matrix": [0, 1], "x": 1, "y": 0}, + {"label": "2", "matrix": [0, 2], "x": 2, "y": 0}, + {"label": "3", "matrix": [0, 3], "x": 3, "y": 0}, + {"label": "4", "matrix": [0, 4], "x": 4, "y": 0}, + {"label": "5", "matrix": [0, 5], "x": 5, "y": 0}, + {"label": "6", "matrix": [0, 6], "x": 6, "y": 0}, + {"label": "7", "matrix": [0, 7], "x": 7, "y": 0}, + {"label": "8", "matrix": [0, 8], "x": 8, "y": 0}, + {"label": "9", "matrix": [0, 9], "x": 9, "y": 0}, + {"label": "0", "matrix": [0, 10], "x": 10, "y": 0}, + {"label": "-", "matrix": [0, 11], "x": 11, "y": 0}, + {"label": "=", "matrix": [0, 12], "x": 12, "y": 0}, + {"label": "Backspace", "matrix": [0, 13], "x": 13, "y": 0}, + {"label": "Delete", "matrix": [0, 14], "x": 14, "y": 0}, + {"label": "Tab", "matrix": [1, 0], "x": 0, "y": 1, "w": 1.5}, + {"label": "Q", "matrix": [1, 1], "x": 1.5, "y": 1}, + {"label": "W", "matrix": [1, 2], "x": 2.5, "y": 1}, + {"label": "E", "matrix": [1, 3], "x": 3.5, "y": 1}, + {"label": "R", "matrix": [1, 4], "x": 4.5, "y": 1}, + {"label": "T", "matrix": [1, 5], "x": 5.5, "y": 1}, + {"label": "Y", "matrix": [1, 6], "x": 6.5, "y": 1}, + {"label": "U", "matrix": [1, 7], "x": 7.5, "y": 1}, + {"label": "I", "matrix": [1, 8], "x": 8.5, "y": 1}, + {"label": "O", "matrix": [1, 9], "x": 9.5, "y": 1}, + {"label": "P", "matrix": [1, 10], "x": 10.5, "y": 1}, + {"label": "[", "matrix": [1, 11], "x": 11.5, "y": 1}, + {"label": "]", "matrix": [1, 12], "x": 12.5, "y": 1}, + {"label": "Caps Lock", "matrix": [2, 0], "x": 0, "y": 2, "w": 1.75}, + {"label": "A", "matrix": [2, 1], "x": 1.75, "y": 2}, + {"label": "S", "matrix": [2, 2], "x": 2.75, "y": 2}, + {"label": "D", "matrix": [2, 3], "x": 3.75, "y": 2}, + {"label": "F", "matrix": [2, 4], "x": 4.75, "y": 2}, + {"label": "G", "matrix": [2, 5], "x": 5.75, "y": 2}, + {"label": "H", "matrix": [2, 6], "x": 6.75, "y": 2}, + {"label": "J", "matrix": [2, 7], "x": 7.75, "y": 2}, + {"label": "K", "matrix": [2, 8], "x": 8.75, "y": 2}, + {"label": "L", "matrix": [2, 9], "x": 9.75, "y": 2}, + {"label": ";", "matrix": [2, 10], "x": 10.75, "y": 2}, + {"label": "'", "matrix": [2, 11], "x": 11.75, "y": 2}, + {"label": "#", "matrix": [2, 12], "x": 12.75, "y": 2}, + {"label": "Enter", "matrix": [2, 13], "x": 13.75, "y": 1, "w": 1.25, "h": 2}, + {"label": "Shift", "matrix": [3, 0], "x": 0, "y": 3, "w": 1.25}, + {"label": "\\", "matrix": [3, 1], "x": 1.25, "y": 3}, + {"label": "Z", "matrix": [3, 2], "x": 2.25, "y": 3}, + {"label": "X", "matrix": [3, 3], "x": 3.25, "y": 3}, + {"label": "C", "matrix": [3, 4], "x": 4.25, "y": 3}, + {"label": "V", "matrix": [3, 5], "x": 5.25, "y": 3}, + {"label": "B", "matrix": [3, 6], "x": 6.25, "y": 3}, + {"label": "N", "matrix": [3, 7], "x": 7.25, "y": 3}, + {"label": "M", "matrix": [3, 8], "x": 8.25, "y": 3}, + {"label": ",", "matrix": [3, 9], "x": 9.25, "y": 3}, + {"label": ".", "matrix": [3, 10], "x": 10.25, "y": 3}, + {"label": "/", "matrix": [3, 11], "x": 11.25, "y": 3}, + {"label": "Shift", "matrix": [3, 12], "x": 12.25, "y": 3, "w": 1.75}, + {"label": "Fn", "matrix": [3, 14], "x": 14, "y": 3}, + {"label": "Ctrl", "matrix": [4, 0], "x": 0, "y": 4, "w": 1.5}, + {"label": "GUI", "matrix": [4, 1], "x": 1.5, "y": 4}, + {"label": "Alt", "matrix": [4, 2], "x": 2.5, "y": 4, "w": 1.5}, + {"label": "Space", "matrix": [4, 3], "x": 4, "y": 4, "w": 7}, + {"label": "Alt", "matrix": [5, 11], "x": 11, "y": 4, "w": 1.5}, + {"label": "GUI", "matrix": [5, 12], "x": 12.5, "y": 4}, + {"label": "Ctrl", "matrix": [5, 13], "x": 13.5, "y": 4, "w": 1.5} + ] + }, + "LAYOUT_60_iso_wkl": { + "layout": [ + {"label": "Esc", "matrix": [0, 0], "x": 0, "y": 0}, + {"label": "1", "matrix": [0, 1], "x": 1, "y": 0}, + {"label": "2", "matrix": [0, 2], "x": 2, "y": 0}, + {"label": "3", "matrix": [0, 3], "x": 3, "y": 0}, + {"label": "4", "matrix": [0, 4], "x": 4, "y": 0}, + {"label": "5", "matrix": [0, 5], "x": 5, "y": 0}, + {"label": "6", "matrix": [0, 6], "x": 6, "y": 0}, + {"label": "7", "matrix": [0, 7], "x": 7, "y": 0}, + {"label": "8", "matrix": [0, 8], "x": 8, "y": 0}, + {"label": "9", "matrix": [0, 9], "x": 9, "y": 0}, + {"label": "0", "matrix": [0, 10], "x": 10, "y": 0}, + {"label": "-", "matrix": [0, 11], "x": 11, "y": 0}, + {"label": "=", "matrix": [0, 12], "x": 12, "y": 0}, + {"label": "Backspace", "matrix": [0, 13], "x": 13, "y": 0, "w": 2}, + {"label": "Tab", "matrix": [1, 0], "x": 0, "y": 1, "w": 1.5}, + {"label": "Q", "matrix": [1, 1], "x": 1.5, "y": 1}, + {"label": "W", "matrix": [1, 2], "x": 2.5, "y": 1}, + {"label": "E", "matrix": [1, 3], "x": 3.5, "y": 1}, + {"label": "R", "matrix": [1, 4], "x": 4.5, "y": 1}, + {"label": "T", "matrix": [1, 5], "x": 5.5, "y": 1}, + {"label": "Y", "matrix": [1, 6], "x": 6.5, "y": 1}, + {"label": "U", "matrix": [1, 7], "x": 7.5, "y": 1}, + {"label": "I", "matrix": [1, 8], "x": 8.5, "y": 1}, + {"label": "O", "matrix": [1, 9], "x": 9.5, "y": 1}, + {"label": "P", "matrix": [1, 10], "x": 10.5, "y": 1}, + {"label": "[", "matrix": [1, 11], "x": 11.5, "y": 1}, + {"label": "]", "matrix": [1, 12], "x": 12.5, "y": 1}, + {"label": "Caps Lock", "matrix": [2, 0], "x": 0, "y": 2, "w": 1.75}, + {"label": "A", "matrix": [2, 1], "x": 1.75, "y": 2}, + {"label": "S", "matrix": [2, 2], "x": 2.75, "y": 2}, + {"label": "D", "matrix": [2, 3], "x": 3.75, "y": 2}, + {"label": "F", "matrix": [2, 4], "x": 4.75, "y": 2}, + {"label": "G", "matrix": [2, 5], "x": 5.75, "y": 2}, + {"label": "H", "matrix": [2, 6], "x": 6.75, "y": 2}, + {"label": "J", "matrix": [2, 7], "x": 7.75, "y": 2}, + {"label": "K", "matrix": [2, 8], "x": 8.75, "y": 2}, + {"label": "L", "matrix": [2, 9], "x": 9.75, "y": 2}, + {"label": ";", "matrix": [2, 10], "x": 10.75, "y": 2}, + {"label": "'", "matrix": [2, 11], "x": 11.75, "y": 2}, + {"label": "#", "matrix": [2, 12], "x": 12.75, "y": 2}, + {"label": "Enter", "matrix": [2, 13], "x": 13.75, "y": 1, "w": 1.25, "h": 2}, + {"label": "Shift", "matrix": [3, 0], "x": 0, "y": 3, "w": 1.25}, + {"label": "\\", "matrix": [3, 1], "x": 1.25, "y": 3}, + {"label": "Z", "matrix": [3, 2], "x": 2.25, "y": 3}, + {"label": "X", "matrix": [3, 3], "x": 3.25, "y": 3}, + {"label": "C", "matrix": [3, 4], "x": 4.25, "y": 3}, + {"label": "V", "matrix": [3, 5], "x": 5.25, "y": 3}, + {"label": "B", "matrix": [3, 6], "x": 6.25, "y": 3}, + {"label": "N", "matrix": [3, 7], "x": 7.25, "y": 3}, + {"label": "M", "matrix": [3, 8], "x": 8.25, "y": 3}, + {"label": ",", "matrix": [3, 9], "x": 9.25, "y": 3}, + {"label": ".", "matrix": [3, 10], "x": 10.25, "y": 3}, + {"label": "/", "matrix": [3, 11], "x": 11.25, "y": 3}, + {"label": "Shift", "matrix": [3, 12], "x": 12.25, "y": 3, "w": 2.75}, + {"label": "Ctrl", "matrix": [4, 0], "x": 0, "y": 4, "w": 1.5}, + {"label": "Alt", "matrix": [4, 2], "x": 2.5, "y": 4, "w": 1.5}, + {"label": "Space", "matrix": [4, 3], "x": 4, "y": 4, "w": 7}, + {"label": "Alt", "matrix": [5, 11], "x": 11, "y": 4, "w": 1.5}, + {"label": "Ctrl", "matrix": [5, 13], "x": 13.5, "y": 4, "w": 1.5} + ] + }, + "LAYOUT_60_iso_wkl_split_bs_rshift": { + "layout": [ + {"label": "Esc", "matrix": [0, 0], "x": 0, "y": 0}, + {"label": "1", "matrix": [0, 1], "x": 1, "y": 0}, + {"label": "2", "matrix": [0, 2], "x": 2, "y": 0}, + {"label": "3", "matrix": [0, 3], "x": 3, "y": 0}, + {"label": "4", "matrix": [0, 4], "x": 4, "y": 0}, + {"label": "5", "matrix": [0, 5], "x": 5, "y": 0}, + {"label": "6", "matrix": [0, 6], "x": 6, "y": 0}, + {"label": "7", "matrix": [0, 7], "x": 7, "y": 0}, + {"label": "8", "matrix": [0, 8], "x": 8, "y": 0}, + {"label": "9", "matrix": [0, 9], "x": 9, "y": 0}, + {"label": "0", "matrix": [0, 10], "x": 10, "y": 0}, + {"label": "-", "matrix": [0, 11], "x": 11, "y": 0}, + {"label": "=", "matrix": [0, 12], "x": 12, "y": 0}, + {"label": "Backspace", "matrix": [0, 13], "x": 13, "y": 0}, + {"label": "Delete", "matrix": [0, 14], "x": 14, "y": 0}, + {"label": "Tab", "matrix": [1, 0], "x": 0, "y": 1, "w": 1.5}, + {"label": "Q", "matrix": [1, 1], "x": 1.5, "y": 1}, + {"label": "W", "matrix": [1, 2], "x": 2.5, "y": 1}, + {"label": "E", "matrix": [1, 3], "x": 3.5, "y": 1}, + {"label": "R", "matrix": [1, 4], "x": 4.5, "y": 1}, + {"label": "T", "matrix": [1, 5], "x": 5.5, "y": 1}, + {"label": "Y", "matrix": [1, 6], "x": 6.5, "y": 1}, + {"label": "U", "matrix": [1, 7], "x": 7.5, "y": 1}, + {"label": "I", "matrix": [1, 8], "x": 8.5, "y": 1}, + {"label": "O", "matrix": [1, 9], "x": 9.5, "y": 1}, + {"label": "P", "matrix": [1, 10], "x": 10.5, "y": 1}, + {"label": "[", "matrix": [1, 11], "x": 11.5, "y": 1}, + {"label": "]", "matrix": [1, 12], "x": 12.5, "y": 1}, + {"label": "Caps Lock", "matrix": [2, 0], "x": 0, "y": 2, "w": 1.75}, + {"label": "A", "matrix": [2, 1], "x": 1.75, "y": 2}, + {"label": "S", "matrix": [2, 2], "x": 2.75, "y": 2}, + {"label": "D", "matrix": [2, 3], "x": 3.75, "y": 2}, + {"label": "F", "matrix": [2, 4], "x": 4.75, "y": 2}, + {"label": "G", "matrix": [2, 5], "x": 5.75, "y": 2}, + {"label": "H", "matrix": [2, 6], "x": 6.75, "y": 2}, + {"label": "J", "matrix": [2, 7], "x": 7.75, "y": 2}, + {"label": "K", "matrix": [2, 8], "x": 8.75, "y": 2}, + {"label": "L", "matrix": [2, 9], "x": 9.75, "y": 2}, + {"label": ";", "matrix": [2, 10], "x": 10.75, "y": 2}, + {"label": "'", "matrix": [2, 11], "x": 11.75, "y": 2}, + {"label": "#", "matrix": [2, 12], "x": 12.75, "y": 2}, + {"label": "Enter", "matrix": [2, 13], "x": 13.75, "y": 1, "w": 1.25, "h": 2}, + {"label": "Shift", "matrix": [3, 0], "x": 0, "y": 3, "w": 1.25}, + {"label": "\\", "matrix": [3, 1], "x": 1.25, "y": 3}, + {"label": "Z", "matrix": [3, 2], "x": 2.25, "y": 3}, + {"label": "X", "matrix": [3, 3], "x": 3.25, "y": 3}, + {"label": "C", "matrix": [3, 4], "x": 4.25, "y": 3}, + {"label": "V", "matrix": [3, 5], "x": 5.25, "y": 3}, + {"label": "B", "matrix": [3, 6], "x": 6.25, "y": 3}, + {"label": "N", "matrix": [3, 7], "x": 7.25, "y": 3}, + {"label": "M", "matrix": [3, 8], "x": 8.25, "y": 3}, + {"label": ",", "matrix": [3, 9], "x": 9.25, "y": 3}, + {"label": ".", "matrix": [3, 10], "x": 10.25, "y": 3}, + {"label": "/", "matrix": [3, 11], "x": 11.25, "y": 3}, + {"label": "Shift", "matrix": [3, 12], "x": 12.25, "y": 3, "w": 1.75}, + {"label": "Fn", "matrix": [3, 14], "x": 14, "y": 3}, + {"label": "Ctrl", "matrix": [4, 0], "x": 0, "y": 4, "w": 1.5}, + {"label": "Alt", "matrix": [4, 2], "x": 2.5, "y": 4, "w": 1.5}, + {"label": "Space", "matrix": [4, 3], "x": 4, "y": 4, "w": 7}, + {"label": "Alt", "matrix": [5, 11], "x": 11, "y": 4, "w": 1.5}, + {"label": "Ctrl", "matrix": [5, 13], "x": 13.5, "y": 4, "w": 1.5} + ] + }, + "LAYOUT_60_tsangan_hhkb": { + "layout": [ + {"label": "Esc", "matrix": [0, 0], "x": 0, "y": 0}, + {"label": "1", "matrix": [0, 1], "x": 1, "y": 0}, + {"label": "2", "matrix": [0, 2], "x": 2, "y": 0}, + {"label": "3", "matrix": [0, 3], "x": 3, "y": 0}, + {"label": "4", "matrix": [0, 4], "x": 4, "y": 0}, + {"label": "5", "matrix": [0, 5], "x": 5, "y": 0}, + {"label": "6", "matrix": [0, 6], "x": 6, "y": 0}, + {"label": "7", "matrix": [0, 7], "x": 7, "y": 0}, + {"label": "8", "matrix": [0, 8], "x": 8, "y": 0}, + {"label": "9", "matrix": [0, 9], "x": 9, "y": 0}, + {"label": "0", "matrix": [0, 10], "x": 10, "y": 0}, + {"label": "-", "matrix": [0, 11], "x": 11, "y": 0}, + {"label": "=", "matrix": [0, 12], "x": 12, "y": 0}, + {"label": "Backspace", "matrix": [0, 13], "x": 13, "y": 0}, + {"label": "Delete", "matrix": [0, 14], "x": 14, "y": 0}, + {"label": "Tab", "matrix": [1, 0], "x": 0, "y": 1, "w": 1.5}, + {"label": "Q", "matrix": [1, 1], "x": 1.5, "y": 1}, + {"label": "W", "matrix": [1, 2], "x": 2.5, "y": 1}, + {"label": "E", "matrix": [1, 3], "x": 3.5, "y": 1}, + {"label": "R", "matrix": [1, 4], "x": 4.5, "y": 1}, + {"label": "T", "matrix": [1, 5], "x": 5.5, "y": 1}, + {"label": "Y", "matrix": [1, 6], "x": 6.5, "y": 1}, + {"label": "U", "matrix": [1, 7], "x": 7.5, "y": 1}, + {"label": "I", "matrix": [1, 8], "x": 8.5, "y": 1}, + {"label": "O", "matrix": [1, 9], "x": 9.5, "y": 1}, + {"label": "P", "matrix": [1, 10], "x": 10.5, "y": 1}, + {"label": "[", "matrix": [1, 11], "x": 11.5, "y": 1}, + {"label": "]", "matrix": [1, 12], "x": 12.5, "y": 1}, + {"label": "\\", "matrix": [1, 13], "x": 13.5, "y": 1, "w": 1.5}, + {"label": "Caps Lock", "matrix": [2, 0], "x": 0, "y": 2, "w": 1.75}, + {"label": "A", "matrix": [2, 1], "x": 1.75, "y": 2}, + {"label": "S", "matrix": [2, 2], "x": 2.75, "y": 2}, + {"label": "D", "matrix": [2, 3], "x": 3.75, "y": 2}, + {"label": "F", "matrix": [2, 4], "x": 4.75, "y": 2}, + {"label": "G", "matrix": [2, 5], "x": 5.75, "y": 2}, + {"label": "H", "matrix": [2, 6], "x": 6.75, "y": 2}, + {"label": "J", "matrix": [2, 7], "x": 7.75, "y": 2}, + {"label": "K", "matrix": [2, 8], "x": 8.75, "y": 2}, + {"label": "L", "matrix": [2, 9], "x": 9.75, "y": 2}, + {"label": ";", "matrix": [2, 10], "x": 10.75, "y": 2}, + {"label": "'", "matrix": [2, 11], "x": 11.75, "y": 2}, + {"label": "Enter", "matrix": [2, 13], "x": 12.75, "y": 2, "w": 2.25}, + {"label": "Shift", "matrix": [3, 0], "x": 0, "y": 3, "w": 2.25}, + {"label": "Z", "matrix": [3, 2], "x": 2.25, "y": 3}, + {"label": "X", "matrix": [3, 3], "x": 3.25, "y": 3}, + {"label": "C", "matrix": [3, 4], "x": 4.25, "y": 3}, + {"label": "V", "matrix": [3, 5], "x": 5.25, "y": 3}, + {"label": "B", "matrix": [3, 6], "x": 6.25, "y": 3}, + {"label": "N", "matrix": [3, 7], "x": 7.25, "y": 3}, + {"label": "M", "matrix": [3, 8], "x": 8.25, "y": 3}, + {"label": ",", "matrix": [3, 9], "x": 9.25, "y": 3}, + {"label": ".", "matrix": [3, 10], "x": 10.25, "y": 3}, + {"label": "/", "matrix": [3, 11], "x": 11.25, "y": 3}, + {"label": "Shift", "matrix": [3, 12], "x": 12.25, "y": 3, "w": 1.75}, + {"label": "Fn", "matrix": [3, 14], "x": 14, "y": 3}, + {"label": "Ctrl", "matrix": [4, 0], "x": 0, "y": 4, "w": 1.5}, + {"label": "GUI", "matrix": [4, 1], "x": 1.5, "y": 4}, + {"label": "Alt", "matrix": [4, 2], "x": 2.5, "y": 4, "w": 1.5}, + {"label": "Space", "matrix": [4, 3], "x": 4, "y": 4, "w": 7}, + {"label": "Alt", "matrix": [5, 11], "x": 11, "y": 4, "w": 1.5}, + {"label": "GUI", "matrix": [5, 12], "x": 12.5, "y": 4}, + {"label": "Ctrl", "matrix": [5, 13], "x": 13.5, "y": 4, "w": 1.5} + ] + }, + "LAYOUT_all": { + "layout": [ + {"label": "Esc", "matrix": [0, 0], "x": 0, "y": 0}, + {"label": "1", "matrix": [0, 1], "x": 1, "y": 0}, + {"label": "2", "matrix": [0, 2], "x": 2, "y": 0}, + {"label": "3", "matrix": [0, 3], "x": 3, "y": 0}, + {"label": "4", "matrix": [0, 4], "x": 4, "y": 0}, + {"label": "5", "matrix": [0, 5], "x": 5, "y": 0}, + {"label": "6", "matrix": [0, 6], "x": 6, "y": 0}, + {"label": "7", "matrix": [0, 7], "x": 7, "y": 0}, + {"label": "8", "matrix": [0, 8], "x": 8, "y": 0}, + {"label": "9", "matrix": [0, 9], "x": 9, "y": 0}, + {"label": "0", "matrix": [0, 10], "x": 10, "y": 0}, + {"label": "-", "matrix": [0, 11], "x": 11, "y": 0}, + {"label": "=", "matrix": [0, 12], "x": 12, "y": 0}, + {"label": "Backspace", "matrix": [0, 13], "x": 13, "y": 0}, + {"label": "Delete", "matrix": [0, 14], "x": 14, "y": 0}, + {"label": "Tab", "matrix": [1, 0], "x": 0, "y": 1, "w": 1.5}, + {"label": "Q", "matrix": [1, 1], "x": 1.5, "y": 1}, + {"label": "W", "matrix": [1, 2], "x": 2.5, "y": 1}, + {"label": "E", "matrix": [1, 3], "x": 3.5, "y": 1}, + {"label": "R", "matrix": [1, 4], "x": 4.5, "y": 1}, + {"label": "T", "matrix": [1, 5], "x": 5.5, "y": 1}, + {"label": "Y", "matrix": [1, 6], "x": 6.5, "y": 1}, + {"label": "U", "matrix": [1, 7], "x": 7.5, "y": 1}, + {"label": "I", "matrix": [1, 8], "x": 8.5, "y": 1}, + {"label": "O", "matrix": [1, 9], "x": 9.5, "y": 1}, + {"label": "P", "matrix": [1, 10], "x": 10.5, "y": 1}, + {"label": "[", "matrix": [1, 11], "x": 11.5, "y": 1}, + {"label": "]", "matrix": [1, 12], "x": 12.5, "y": 1}, + {"label": "\\", "matrix": [1, 13], "x": 13.5, "y": 1, "w": 1.5}, + {"label": "Caps Lock", "matrix": [2, 0], "x": 0, "y": 2, "w": 1.75}, + {"label": "A", "matrix": [2, 1], "x": 1.75, "y": 2}, + {"label": "S", "matrix": [2, 2], "x": 2.75, "y": 2}, + {"label": "D", "matrix": [2, 3], "x": 3.75, "y": 2}, + {"label": "F", "matrix": [2, 4], "x": 4.75, "y": 2}, + {"label": "G", "matrix": [2, 5], "x": 5.75, "y": 2}, + {"label": "H", "matrix": [2, 6], "x": 6.75, "y": 2}, + {"label": "J", "matrix": [2, 7], "x": 7.75, "y": 2}, + {"label": "K", "matrix": [2, 8], "x": 8.75, "y": 2}, + {"label": "L", "matrix": [2, 9], "x": 9.75, "y": 2}, + {"label": ";", "matrix": [2, 10], "x": 10.75, "y": 2}, + {"label": "'", "matrix": [2, 11], "x": 11.75, "y": 2}, + {"label": "#", "matrix": [2, 12], "x": 12.75, "y": 2}, + {"label": "Enter", "matrix": [2, 13], "x": 13.75, "y": 2, "w": 1.25}, + {"label": "Shift", "matrix": [3, 0], "x": 0, "y": 3, "w": 1.25}, + {"label": "\\", "matrix": [3, 1], "x": 1.25, "y": 3}, + {"label": "Z", "matrix": [3, 2], "x": 2.25, "y": 3}, + {"label": "X", "matrix": [3, 3], "x": 3.25, "y": 3}, + {"label": "C", "matrix": [3, 4], "x": 4.25, "y": 3}, + {"label": "V", "matrix": [3, 5], "x": 5.25, "y": 3}, + {"label": "B", "matrix": [3, 6], "x": 6.25, "y": 3}, + {"label": "N", "matrix": [3, 7], "x": 7.25, "y": 3}, + {"label": "M", "matrix": [3, 8], "x": 8.25, "y": 3}, + {"label": ",", "matrix": [3, 9], "x": 9.25, "y": 3}, + {"label": ".", "matrix": [3, 10], "x": 10.25, "y": 3}, + {"label": "/", "matrix": [3, 11], "x": 11.25, "y": 3}, + {"label": "Shift", "matrix": [3, 12], "x": 12.25, "y": 3, "w": 1.75}, + {"label": "Fn", "matrix": [3, 14], "x": 14, "y": 3}, + {"label": "Ctrl", "matrix": [4, 0], "x": 0, "y": 4, "w": 1.25}, + {"label": "GUI", "matrix": [4, 1], "x": 1.25, "y": 4, "w": 1.25}, + {"label": "Alt", "matrix": [4, 2], "x": 2.5, "y": 4, "w": 1.25}, + {"label": "Space", "matrix": [4, 3], "x": 3.75, "y": 4, "w": 6.25}, + {"label": "Alt", "matrix": [5, 10], "x": 10, "y": 4, "w": 1.25}, + {"label": "GUI", "matrix": [5, 11], "x": 11.25, "y": 4, "w": 1.25}, + {"label": "Menu", "matrix": [5, 12], "x": 12.5, "y": 4, "w": 1.25}, + {"label": "Ctrl", "matrix": [5, 13], "x": 13.75, "y": 4, "w": 1.25} + ] + } + } +} diff --git a/keyboards/mmkeyboard/class60/soldered/keymaps/default/keymap.c b/keyboards/mmkeyboard/class60/soldered/keymaps/default/keymap.c new file mode 100644 index 000000000000..29174fefa957 --- /dev/null +++ b/keyboards/mmkeyboard/class60/soldered/keymaps/default/keymap.c @@ -0,0 +1,29 @@ +// Copyright 2023 QMK +// SPDX-License-Identifier: GPL-2.0-or-later + +#include QMK_KEYBOARD_H + +enum layer_names { + _BASE, + _FN1, +}; + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + + [_BASE] = 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_DEL, + KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, + KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_NUBS, KC_ENT, + KC_LSFT, KC_NUBS, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM,KC_DOT, KC_SLSH, KC_RSFT, KC_HOME, + KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, KC_RALT, MO(1), KC_RCTL + ), + + [_FN1] = LAYOUT_all( + 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_TRNS, + KC_TRNS, AU_ON, AU_OFF, CK_RST, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,KC_TRNS, KC_UP, KC_TRNS, KC_TRNS, + KC_TRNS, CK_ON, CK_OFF, CK_UP, CK_DOWN, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,KC_LEFT, KC_RGHT, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, HF_ON, HF_OFF, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,KC_TRNS, KC_DOWN, KC_TRNS, KC_END, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, QK_BOOT + ), + +}; diff --git a/keyboards/mmkeyboard/class60/soldered/keymaps/via/keymap.c b/keyboards/mmkeyboard/class60/soldered/keymaps/via/keymap.c new file mode 100644 index 000000000000..29174fefa957 --- /dev/null +++ b/keyboards/mmkeyboard/class60/soldered/keymaps/via/keymap.c @@ -0,0 +1,29 @@ +// Copyright 2023 QMK +// SPDX-License-Identifier: GPL-2.0-or-later + +#include QMK_KEYBOARD_H + +enum layer_names { + _BASE, + _FN1, +}; + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + + [_BASE] = 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_DEL, + KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, + KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_NUBS, KC_ENT, + KC_LSFT, KC_NUBS, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM,KC_DOT, KC_SLSH, KC_RSFT, KC_HOME, + KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, KC_RALT, MO(1), KC_RCTL + ), + + [_FN1] = LAYOUT_all( + 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_TRNS, + KC_TRNS, AU_ON, AU_OFF, CK_RST, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,KC_TRNS, KC_UP, KC_TRNS, KC_TRNS, + KC_TRNS, CK_ON, CK_OFF, CK_UP, CK_DOWN, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,KC_LEFT, KC_RGHT, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, HF_ON, HF_OFF, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,KC_TRNS, KC_DOWN, KC_TRNS, KC_END, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, QK_BOOT + ), + +}; diff --git a/keyboards/mmkeyboard/class60/soldered/keymaps/via/rules.mk b/keyboards/mmkeyboard/class60/soldered/keymaps/via/rules.mk new file mode 100644 index 000000000000..a6c50b73109f --- /dev/null +++ b/keyboards/mmkeyboard/class60/soldered/keymaps/via/rules.mk @@ -0,0 +1 @@ +VIA_ENABLE = yes # Enable support for VIA diff --git a/keyboards/mmkeyboard/class60/soldered/mcuconf.h b/keyboards/mmkeyboard/class60/soldered/mcuconf.h new file mode 100644 index 000000000000..c2b46ff8156f --- /dev/null +++ b/keyboards/mmkeyboard/class60/soldered/mcuconf.h @@ -0,0 +1,24 @@ +/* Copyright 2020 Nick Brassel (tzarc) + * + * 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 3 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 + +#include_next + +#undef STM32_PWM_USE_TIM3 +#define STM32_PWM_USE_TIM3 TRUE + +#undef STM32_GPT_USE_TIM4 +#define STM32_GPT_USE_TIM4 TRUE diff --git a/keyboards/mmkeyboard/class60/soldered/readme.md b/keyboards/mmkeyboard/class60/soldered/readme.md new file mode 100644 index 000000000000..f403fc81976b --- /dev/null +++ b/keyboards/mmkeyboard/class60/soldered/readme.md @@ -0,0 +1,27 @@ +# Class60 + +![Class60 E-Retro White](https://i.imgur.com/9T0KbBHh.jpeg) + +The Class60 is a Leaf-spring/Top dual mounting 60% Keyboard that includes a buzzer and solenoid. + +* Keyboard Maintainer: [lexbrugman](https://github.com/lexbrugman) +* Hardware Supported: Class60 soldered PCB +* Hardware Availability: https://www.mmkeyboard.com/products/mm-class60-retro-custom-mechanical-keyboard + +Make example for this keyboard (after setting up your build environment): + + make mmkeyboard/class60/soldered:default + +Flashing example for this keyboard: + + make mmkeyboard/class60/soldered: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/mmkeyboard/class60/soldered/rules.mk b/keyboards/mmkeyboard/class60/soldered/rules.mk new file mode 100644 index 000000000000..3fd833e3a3d9 --- /dev/null +++ b/keyboards/mmkeyboard/class60/soldered/rules.mk @@ -0,0 +1,2 @@ +HAPTIC_DRIVER = solenoid +AUDIO_DRIVER = pwm_software diff --git a/keyboards/mmkeyboard/class60/soldered/soldered.c b/keyboards/mmkeyboard/class60/soldered/soldered.c new file mode 100644 index 000000000000..2ed4ffaf4f1c --- /dev/null +++ b/keyboards/mmkeyboard/class60/soldered/soldered.c @@ -0,0 +1,42 @@ +// Copyright 2023 QMK +// SPDX-License-Identifier: GPL-2.0-or-later + +#include "quantum.h" + +#ifdef AUDIO_ENABLE +float caps_on[][2] = SONG(CAPS_LOCK_ON_SOUND); +float caps_off[][2] = SONG(CAPS_LOCK_OFF_SOUND); + +float num_on[][2] = SONG(NUM_LOCK_ON_SOUND); +float num_off[][2] = SONG(NUM_LOCK_OFF_SOUND); + +float scroll_on[][2] = SONG(SCROLL_LOCK_ON_SOUND); +float scroll_off[][2] = SONG(SCROLL_LOCK_OFF_SOUND); + +bool led_update_kb(led_t led_state) { + bool res = led_update_user(led_state); + if (res) { + led_update_ports(led_state); + + static uint8_t caps_state = 0; + if (caps_state != led_state.caps_lock) { + led_state.caps_lock ? PLAY_SONG(caps_on) : PLAY_SONG(caps_off); + caps_state = led_state.caps_lock; + } + + static uint8_t num_state = 0; + if (num_state != led_state.num_lock) { + led_state.num_lock ? PLAY_SONG(num_on) : PLAY_SONG(num_off); + num_state = led_state.num_lock; + } + + static uint8_t scroll_state = 0; + if (scroll_state != led_state.scroll_lock) { + led_state.scroll_lock ? PLAY_SONG(scroll_on) : PLAY_SONG(scroll_off); + scroll_state = led_state.scroll_lock; + } + } + + return res; +} +#endif From caa7599b83e39d59dac552191a96cd577b3f8a02 Mon Sep 17 00:00:00 2001 From: Ryan Date: Mon, 15 Jul 2024 15:04:00 +1000 Subject: [PATCH 02/42] `checkerboards/pursuit40`: adjust layout name (#24118) --- .../checkerboards/pursuit40/keyboard.json | 5 +++- .../pursuit40/keymaps/default/keymap.c | 6 ++--- .../pursuit40/keymaps/via/keymap.c | 26 +++---------------- 3 files changed, 10 insertions(+), 27 deletions(-) diff --git a/keyboards/checkerboards/pursuit40/keyboard.json b/keyboards/checkerboards/pursuit40/keyboard.json index 974bab5c920e..996a55850d8c 100644 --- a/keyboards/checkerboards/pursuit40/keyboard.json +++ b/keyboards/checkerboards/pursuit40/keyboard.json @@ -51,8 +51,11 @@ "diode_direction": "COL2ROW", "processor": "atmega32u4", "bootloader": "atmel-dfu", + "layout_aliases": { + "LAYOUT_all": "LAYOUT" + }, "layouts": { - "LAYOUT_all": { + "LAYOUT": { "layout": [ {"matrix": [0, 0], "x": 0, "y": 0}, {"matrix": [0, 1], "x": 1, "y": 0}, diff --git a/keyboards/checkerboards/pursuit40/keymaps/default/keymap.c b/keyboards/checkerboards/pursuit40/keymaps/default/keymap.c index 1b80a880e7e1..970fc0f3ee7e 100644 --- a/keyboards/checkerboards/pursuit40/keymaps/default/keymap.c +++ b/keyboards/checkerboards/pursuit40/keymaps/default/keymap.c @@ -33,7 +33,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { * | PRINT | OS | Alt | Layer | Space & Layer | [ | ] | CAPS | * `-----------------------------------------------------------------------------------------' */ - [0] = LAYOUT_all( + [0] = LAYOUT( KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_DEL, CTL_T(KC_ESC), 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_ENT, @@ -52,7 +52,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { * | ESC | CTRL-ALT-DEL | TASK | | | '|' | ` | | * `---------------------------------------------------------------------------------------' */ - [1] = LAYOUT_all( + [1] = LAYOUT( KC_TILD, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, KC_BSPC, KC_SLSH, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_BSLS, _______, _______, _______, _______, _______, _______, _______, KC_PPLS, KC_EQL, _______, _______, _______, @@ -71,7 +71,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { * | QK_BOOT | | | | | | | | * `---------------------------------------------------------------------------------------' */ - [2] = LAYOUT_all( + [2] = LAYOUT( _______, _______, _______, KC_UP, _______, _______, _______, KC_UNDS, _______, KC_LBRC, KC_RBRC, _______, _______, _______, KC_LEFT, KC_DOWN, KC_RGHT, _______, _______, KC_MINS, _______, KC_LCBR, KC_RCBR, _______, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, diff --git a/keyboards/checkerboards/pursuit40/keymaps/via/keymap.c b/keyboards/checkerboards/pursuit40/keymaps/via/keymap.c index cebca52889fd..4fe94269dea3 100644 --- a/keyboards/checkerboards/pursuit40/keymaps/via/keymap.c +++ b/keyboards/checkerboards/pursuit40/keymaps/via/keymap.c @@ -33,7 +33,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { * | PRINT | OS | Alt | Layer | Space & Layer | [ | ] | CAPS | * `-----------------------------------------------------------------------------------------' */ - [0] = LAYOUT_all( + [0] = LAYOUT( KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_DEL, CTL_T(KC_ESC), 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_ENT, @@ -52,7 +52,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { * | ESC | CTRL-ALT-DEL | TASK | | | '|' | ` | | * `---------------------------------------------------------------------------------------' */ - [1] = LAYOUT_all( + [1] = LAYOUT( KC_TILD, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, KC_BSPC, KC_SLSH, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_BSLS, _______, _______, _______, _______, _______, _______, _______, KC_PPLS, KC_EQL, _______, _______, _______, @@ -71,30 +71,10 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { * | QK_BOOT | | | | | | | | * `---------------------------------------------------------------------------------------' */ - [2] = LAYOUT_all( + [2] = LAYOUT( _______, _______, _______, KC_UP, _______, _______, _______, KC_UNDS, _______, KC_LBRC, KC_RBRC, _______, _______, _______, KC_LEFT, KC_DOWN, KC_RGHT, _______, _______, KC_MINS, _______, KC_LCBR, KC_RCBR, _______, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, QK_BOOT, _______, _______, _______, _______, _______, _______, _______ ), - - /* [3] - * ,---------------------------------------------------------------------------------------. - * |------------+------+------+------+------+------+------+------+------+------+------+----| - * | | | | | | | | | | | | | | - * |------------+------+------+------+------+-------------+------+------+------+------+----| - * | | | | | | | | | | | | | | - * |------------+------+------+------+------+------|------+------+------+------+------+----| - * | | | | | | | | | | | | | | - * |-------+-------+-------+-------+-------+-------+------+------+------+------+------+----| - * | | | | | | | | | | | | | | - * `---------------------------------------------------------------------------------------' - */ - [3] = LAYOUT_all( - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______ - ), - }; From b5b06f1094654926f2421bc712c3705ce4034caf Mon Sep 17 00:00:00 2001 From: Ryan Date: Mon, 15 Jul 2024 15:04:27 +1000 Subject: [PATCH 03/42] `checkerboards/axon40`: adjust layout name (#24119) --- keyboards/checkerboards/axon40/keyboard.json | 5 ++++- keyboards/checkerboards/axon40/keymaps/default/keymap.c | 6 +++--- keyboards/checkerboards/axon40/keymaps/via/keymap.c | 8 ++++---- 3 files changed, 11 insertions(+), 8 deletions(-) diff --git a/keyboards/checkerboards/axon40/keyboard.json b/keyboards/checkerboards/axon40/keyboard.json index ca492690b9d3..c0b67b611dec 100644 --- a/keyboards/checkerboards/axon40/keyboard.json +++ b/keyboards/checkerboards/axon40/keyboard.json @@ -50,8 +50,11 @@ "diode_direction": "COL2ROW", "processor": "atmega32u4", "bootloader": "atmel-dfu", + "layout_aliases": { + "LAYOUT_all": "LAYOUT" + }, "layouts": { - "LAYOUT_all": { + "LAYOUT": { "layout": [ {"matrix": [0, 0], "x": 0, "y": 0}, {"matrix": [0, 1], "x": 1, "y": 0}, diff --git a/keyboards/checkerboards/axon40/keymaps/default/keymap.c b/keyboards/checkerboards/axon40/keymaps/default/keymap.c index b466a746b5ca..bb60e1c31d87 100644 --- a/keyboards/checkerboards/axon40/keymaps/default/keymap.c +++ b/keyboards/checkerboards/axon40/keymaps/default/keymap.c @@ -36,7 +36,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { * | | OS | Alt | Layer | Space | Alt | Caps | | * `-----------------------------------------------------------------------------------' */ -[0] = LAYOUT_all( +[0] = LAYOUT( KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_DEL, CTL_T(KC_ESC), 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_ENT, @@ -56,7 +56,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { * `---------------------------------------------------------------------------------------' */ -[1] = LAYOUT_all( +[1] = LAYOUT( KC_TILD, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, KC_BSPC, KC_SLSH, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_BSLS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_PPLS, KC_EQL, _______, _______, _______, @@ -76,7 +76,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { * `---------------------------------------------------------------------------------------' */ -[2] = LAYOUT_all( +[2] = LAYOUT( RGB_HUI, RGB_SAI, _______, KC_UP, _______, _______, _______, KC_UNDS, _______, KC_LBRC, KC_RBRC, RGB_VAI, RGB_HUD, RGB_SAD, KC_LEFT, KC_DOWN, KC_RGHT, _______, _______, KC_MINS, _______, KC_LCBR, KC_RCBR, RGB_VAD, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, diff --git a/keyboards/checkerboards/axon40/keymaps/via/keymap.c b/keyboards/checkerboards/axon40/keymaps/via/keymap.c index dc37bf540cf9..db536745af19 100644 --- a/keyboards/checkerboards/axon40/keymaps/via/keymap.c +++ b/keyboards/checkerboards/axon40/keymaps/via/keymap.c @@ -37,7 +37,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { * `-----------------------------------------------------------------------------------' */ -[0] = LAYOUT_all( +[0] = LAYOUT( KC_TAB, KC_Q, KC_W, KC_F, KC_P, KC_G, KC_J, KC_L, KC_U, KC_Y, KC_SCLN, KC_BSPC, CTL_T(KC_ESC), KC_A, KC_R, KC_S, KC_T, KC_D, KC_H, KC_N, KC_E, KC_I, KC_O, KC_QUOT, KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_K, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_ENT, @@ -57,7 +57,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { * `-----------------------------------------------------------------------------------' */ -[1] = LAYOUT_all( +[1] = LAYOUT( KC_TILD, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, KC_BSPC, KC_SLSH, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_BSLS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_PPLS, KC_EQL, _______, _______, _______, @@ -78,7 +78,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { * `-----------------------------------------------------------------------------------' */ -[2] = LAYOUT_all( +[2] = LAYOUT( RGB_HUI, RGB_SAI, _______, KC_UP, _______, _______, _______, KC_UNDS, _______, KC_LBRC, KC_RBRC, RGB_VAI, RGB_HUD, RGB_SAD, KC_LEFT, KC_DOWN, KC_RGHT, _______, _______, KC_MINS, _______, KC_LCBR, KC_RCBR, RGB_VAD, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, @@ -99,7 +99,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { * `-----------------------------------------------------------------------------------' */ -[3] = LAYOUT_all( +[3] = LAYOUT( RGB_HUI, RGB_SAI, _______, KC_UP, _______, _______, _______, KC_UNDS, _______, KC_LBRC, KC_RBRC, RGB_VAI, RGB_HUD, RGB_SAD, KC_LEFT, KC_DOWN, KC_RGHT, _______, _______, KC_MINS, _______, KC_LCBR, KC_RCBR, RGB_VAD, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, From c70c99367a5fb838ceff28e2c898a0d7676990fb Mon Sep 17 00:00:00 2001 From: Logan Butler <8854426+MatchstickWorks@users.noreply.github.com> Date: Sun, 14 Jul 2024 22:29:37 -0700 Subject: [PATCH 04/42] Add matchstickworks normiepad (#23183) Co-authored-by: jack <0x6a73@protonmail.com> Co-authored-by: Duncan Sutherland Co-authored-by: Drashna Jaelre Co-authored-by: Ryan --- .../matchstickworks/{southpad => }/info.json | 4 +- .../matchstickworks/normiepad/keyboard.json | 51 +++++++++++++++++++ .../normiepad/keymaps/default/keymap.c | 17 +++++++ .../normiepad/keymaps/via/keymap.c | 17 +++++++ .../normiepad/keymaps/via/rules.mk | 1 + keyboards/matchstickworks/normiepad/readme.md | 23 +++++++++ 6 files changed, 111 insertions(+), 2 deletions(-) rename keyboards/matchstickworks/{southpad => }/info.json (51%) create mode 100644 keyboards/matchstickworks/normiepad/keyboard.json create mode 100644 keyboards/matchstickworks/normiepad/keymaps/default/keymap.c create mode 100644 keyboards/matchstickworks/normiepad/keymaps/via/keymap.c create mode 100644 keyboards/matchstickworks/normiepad/keymaps/via/rules.mk create mode 100644 keyboards/matchstickworks/normiepad/readme.md diff --git a/keyboards/matchstickworks/southpad/info.json b/keyboards/matchstickworks/info.json similarity index 51% rename from keyboards/matchstickworks/southpad/info.json rename to keyboards/matchstickworks/info.json index dcf34cac3c3d..7c68d143932a 100644 --- a/keyboards/matchstickworks/southpad/info.json +++ b/keyboards/matchstickworks/info.json @@ -1,4 +1,4 @@ { "manufacturer": "MatchstickWorks", - "maintainer": "MatchstickWorks", -} \ No newline at end of file + "maintainer": "MatchstickWorks" +} diff --git a/keyboards/matchstickworks/normiepad/keyboard.json b/keyboards/matchstickworks/normiepad/keyboard.json new file mode 100644 index 000000000000..3063b820aa8d --- /dev/null +++ b/keyboards/matchstickworks/normiepad/keyboard.json @@ -0,0 +1,51 @@ +{ + "keyboard_name": "NormiePad", + "bootloader": "rp2040", + "diode_direction": "COL2ROW", + "features": { + "bootmagic": true, + "command": false, + "console": false, + "extrakey": true, + "mousekey": true, + "nkro": true + }, + "matrix_pins": { + "cols": ["GP2", "GP4", "GP11", "GP12"], + "rows": ["GP13", "GP29", "GP28", "GP20", "GP19", "GP18"] + }, + "processor": "RP2040", + "usb": { + "device_version": "0.0.1", + "pid": "0x0003", + "vid": "0x4D57" + }, + "community_layouts": ["numpad_6x4"], + "layouts": { + "LAYOUT_numpad_6x4": { + "layout": [ + {"label": "Bksp", "matrix": [0, 0], "x": 0, "y": 0}, + {"label": "=", "matrix": [0, 1], "x": 1, "y": 0}, + {"label": "(", "matrix": [0, 2], "x": 2, "y": 0}, + {"label": ")", "matrix": [0, 3], "x": 3, "y": 0}, + {"label": "Num Lock", "matrix": [1, 0], "x": 0, "y": 1}, + {"label": "/", "matrix": [1, 1], "x": 1, "y": 1}, + {"label": "*", "matrix": [1, 2], "x": 2, "y": 1}, + {"label": "-", "matrix": [1, 3], "x": 3, "y": 1}, + {"label": "7", "matrix": [2, 0], "x": 0, "y": 2}, + {"label": "8", "matrix": [2, 1], "x": 1, "y": 2}, + {"label": "9", "matrix": [2, 2], "x": 2, "y": 2}, + {"label": "4", "matrix": [3, 0], "x": 1, "y": 3}, + {"label": "5", "matrix": [3, 1], "x": 2, "y": 3}, + {"label": "6", "matrix": [3, 2], "x": 3, "y": 3}, + {"label": "+", "matrix": [2, 3], "x": 3, "y": 2, "h": 2}, + {"label": "1", "matrix": [4, 0], "x": 0, "y": 4}, + {"label": "2", "matrix": [4, 1], "x": 1, "y": 4}, + {"label": "3", "matrix": [4, 2], "x": 2, "y": 4}, + {"label": "0", "matrix": [5, 0], "x": 0, "y": 5, "w": 2}, + {"label": ".", "matrix": [5, 2], "x": 2, "y": 5}, + {"label": "Enter", "matrix": [4, 3], "x": 3, "y": 4, "h": 2} + ] + } + } +} diff --git a/keyboards/matchstickworks/normiepad/keymaps/default/keymap.c b/keyboards/matchstickworks/normiepad/keymaps/default/keymap.c new file mode 100644 index 000000000000..699a6e9baf22 --- /dev/null +++ b/keyboards/matchstickworks/normiepad/keymaps/default/keymap.c @@ -0,0 +1,17 @@ +/* Copyright 2024 Logan Butler*/ +/* 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_BSPC, KC_EQL, LSFT(KC_9),LSFT(KC_0), + 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 + ), + +}; diff --git a/keyboards/matchstickworks/normiepad/keymaps/via/keymap.c b/keyboards/matchstickworks/normiepad/keymaps/via/keymap.c new file mode 100644 index 000000000000..699a6e9baf22 --- /dev/null +++ b/keyboards/matchstickworks/normiepad/keymaps/via/keymap.c @@ -0,0 +1,17 @@ +/* Copyright 2024 Logan Butler*/ +/* 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_BSPC, KC_EQL, LSFT(KC_9),LSFT(KC_0), + 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 + ), + +}; diff --git a/keyboards/matchstickworks/normiepad/keymaps/via/rules.mk b/keyboards/matchstickworks/normiepad/keymaps/via/rules.mk new file mode 100644 index 000000000000..1e5b99807cb7 --- /dev/null +++ b/keyboards/matchstickworks/normiepad/keymaps/via/rules.mk @@ -0,0 +1 @@ +VIA_ENABLE = yes diff --git a/keyboards/matchstickworks/normiepad/readme.md b/keyboards/matchstickworks/normiepad/readme.md new file mode 100644 index 000000000000..35cdad98e053 --- /dev/null +++ b/keyboards/matchstickworks/normiepad/readme.md @@ -0,0 +1,23 @@ +# NormiePad + +![NormiePad](https://i.imgur.com/Fr8o5Ijm.png) + +This is a standard layout numberpad with USB-C connection and Kailh hotswap sockets, built on the RP2040 MCU. + +## Default layout + +![NormiePad Layout](https://i.imgur.com/IZxBA1f.png) + +* Keyboard Maintainer: [Logan Butler](https://github.com/MatchstickWorks) +* Hardware Supported: NormiePad PCB +* Hardware Availability: Either via [my storefront](https://matchstick.works), [my Etsy Store](https://www.etsy.com/shop/MatchstickWorksShop), or by messaging directly + +Getting the board into bootloader mode: + +In order to flash the firmware to this board, simply press both the RESET and BOOT buttons on the back of the PCB. You will hear a reconnect sound on your computer and a file explorer window should open where you can drag and drop the compiled UF2 into. + +Make example for this keyboard (after setting up your build environment): + + make matchstickworks/normiepad: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). From a763dd5bbdd2111d4453a3223c3cdce7c9f769b2 Mon Sep 17 00:00:00 2001 From: Ryan Date: Mon, 15 Jul 2024 18:41:44 +1000 Subject: [PATCH 05/42] `matrix/noah`: move RGB Matrix LED config to data driven (#24117) --- keyboards/matrix/noah/config.h | 1 - keyboards/matrix/noah/keyboard.json | 78 +++++++++++ keyboards/matrix/noah/noah.c | 208 ++++++++++------------------ 3 files changed, 154 insertions(+), 133 deletions(-) diff --git a/keyboards/matrix/noah/config.h b/keyboards/matrix/noah/config.h index 74beabaa7ad5..2c6e01b01d57 100644 --- a/keyboards/matrix/noah/config.h +++ b/keyboards/matrix/noah/config.h @@ -21,4 +21,3 @@ // rgb matrix setting #define IS31FL3731_I2C_ADDRESS_1 IS31FL3731_I2C_ADDRESS_GND #define IS31FL3731_I2C_ADDRESS_2 IS31FL3731_I2C_ADDRESS_SDA -#define RGB_MATRIX_LED_COUNT 72 diff --git a/keyboards/matrix/noah/keyboard.json b/keyboards/matrix/noah/keyboard.json index eb13e16aa2bd..3ba9be21eb8e 100644 --- a/keyboards/matrix/noah/keyboard.json +++ b/keyboards/matrix/noah/keyboard.json @@ -74,6 +74,84 @@ "solid_splash": true, "solid_multisplash": true }, + "layout": [ + {"matrix": [0, 0], "x": 0, "y": 0, "flags": 4}, + {"matrix": [0, 1], "x": 15, "y": 0, "flags": 4}, + {"matrix": [0, 2], "x": 30, "y": 0, "flags": 4}, + {"matrix": [0, 3], "x": 45, "y": 0, "flags": 4}, + {"matrix": [0, 4], "x": 60, "y": 0, "flags": 4}, + {"matrix": [0, 5], "x": 75, "y": 0, "flags": 4}, + {"matrix": [0, 6], "x": 90, "y": 0, "flags": 4}, + {"matrix": [0, 7], "x": 105, "y": 0, "flags": 4}, + {"matrix": [0, 8], "x": 119, "y": 0, "flags": 4}, + {"matrix": [0, 9], "x": 134, "y": 0, "flags": 4}, + {"matrix": [0, 10], "x": 149, "y": 0, "flags": 4}, + {"matrix": [0, 11], "x": 164, "y": 0, "flags": 4}, + {"matrix": [0, 12], "x": 179, "y": 0, "flags": 4}, + {"matrix": [0, 14], "x": 202, "y": 0, "flags": 1}, + {"matrix": [4, 14], "x": 224, "y": 0, "flags": 4}, + + {"matrix": [1, 0], "x": 4, "y": 16, "flags": 1}, + {"matrix": [1, 1], "x": 22, "y": 16, "flags": 4}, + {"matrix": [1, 2], "x": 37, "y": 16, "flags": 4}, + {"matrix": [1, 3], "x": 52, "y": 16, "flags": 4}, + {"matrix": [1, 4], "x": 67, "y": 16, "flags": 4}, + {"matrix": [1, 5], "x": 82, "y": 16, "flags": 4}, + {"matrix": [1, 6], "x": 97, "y": 16, "flags": 4}, + {"matrix": [1, 7], "x": 112, "y": 16, "flags": 4}, + {"matrix": [1, 8], "x": 127, "y": 16, "flags": 4}, + {"matrix": [1, 9], "x": 142, "y": 16, "flags": 4}, + {"matrix": [1, 10], "x": 157, "y": 16, "flags": 4}, + {"matrix": [1, 11], "x": 172, "y": 16, "flags": 4}, + {"matrix": [1, 12], "x": 187, "y": 16, "flags": 4}, + {"matrix": [1, 13], "x": 205, "y": 16, "flags": 1}, + {"matrix": [4, 11], "x": 224, "y": 16, "flags": 4}, + + {"matrix": [2, 0], "x": 6, "y": 32, "flags": 1}, + {"matrix": [2, 1], "x": 26, "y": 32, "flags": 4}, + {"matrix": [2, 2], "x": 41, "y": 32, "flags": 4}, + {"matrix": [2, 3], "x": 56, "y": 32, "flags": 4}, + {"matrix": [2, 4], "x": 71, "y": 32, "flags": 4}, + {"matrix": [2, 5], "x": 86, "y": 32, "flags": 4}, + {"matrix": [2, 6], "x": 101, "y": 32, "flags": 4}, + {"matrix": [2, 7], "x": 116, "y": 32, "flags": 4}, + {"matrix": [2, 8], "x": 131, "y": 32, "flags": 4}, + {"matrix": [2, 9], "x": 146, "y": 32, "flags": 4}, + {"matrix": [2, 10], "x": 161, "y": 32, "flags": 4}, + {"matrix": [2, 11], "x": 175, "y": 32, "flags": 4}, + {"matrix": [2, 12], "x": 190, "y": 32, "flags": 4}, + {"x": 207, "y": 24, "flags": 1}, + {"matrix": [2, 13], "x": 200, "y": 32, "flags": 1}, + {"matrix": [4, 12], "x": 224, "y": 32, "flags": 4}, + + {"matrix": [3, 0], "x": 2, "y": 48, "flags": 1}, + {"x": 9, "y": 48, "flags": 1}, + {"matrix": [3, 1], "x": 19, "y": 48, "flags": 1}, + {"matrix": [3, 2], "x": 34, "y": 48, "flags": 4}, + {"matrix": [3, 3], "x": 49, "y": 48, "flags": 4}, + {"matrix": [3, 4], "x": 63, "y": 48, "flags": 4}, + {"matrix": [3, 5], "x": 78, "y": 48, "flags": 4}, + {"matrix": [3, 6], "x": 93, "y": 48, "flags": 4}, + {"matrix": [3, 7], "x": 108, "y": 48, "flags": 4}, + {"matrix": [3, 8], "x": 123, "y": 48, "flags": 4}, + {"matrix": [3, 9], "x": 138, "y": 48, "flags": 4}, + {"matrix": [3, 10], "x": 153, "y": 48, "flags": 4}, + {"matrix": [3, 11], "x": 168, "y": 48, "flags": 4}, + {"matrix": [3, 12], "x": 189, "y": 48, "flags": 1}, + {"matrix": [3, 13], "x": 209, "y": 48, "flags": 4}, + {"matrix": [4, 13], "x": 224, "y": 48, "flags": 4}, + + {"matrix": [4, 0], "x": 2, "y": 64, "flags": 1}, + {"matrix": [4, 1], "x": 21, "y": 64, "flags": 1}, + {"matrix": [4, 2], "x": 39, "y": 64, "flags": 1}, + {"matrix": [4, 4], "x": 95, "y": 64, "flags": 4}, + {"x": 105, "y": 64, "flags": 4}, + {"matrix": [4, 6], "x": 151, "y": 64, "flags": 1}, + {"matrix": [4, 7], "x": 170, "y": 64, "flags": 1}, + {"matrix": [4, 8], "x": 194, "y": 64, "flags": 4}, + {"matrix": [4, 9], "x": 209, "y": 64, "flags": 4}, + {"matrix": [4, 10], "x": 224, "y": 64, "flags": 4} + ], "driver": "is31fl3731" }, "features": { diff --git a/keyboards/matrix/noah/noah.c b/keyboards/matrix/noah/noah.c index a01d1b11bc12..99f4e063d1f4 100644 --- a/keyboards/matrix/noah/noah.c +++ b/keyboards/matrix/noah/noah.c @@ -68,139 +68,83 @@ const is31fl3731_led_t PROGMEM g_is31fl3731_leds[IS31FL3731_LED_COUNT] = { * | | G location * | | | B location * | | | | */ - -// left CB - {0, C1_9, C3_10, C4_10}, - {0, C1_10, C2_10, C4_11}, - {0, C1_11, C2_11, C3_11}, - {0, C1_12, C2_12, C3_12}, - {0, C1_13, C2_13, C3_13}, - {0, C1_14, C2_14, C3_14}, - {0, C1_15, C2_15, C3_15}, - {0, C1_16, C2_16, C3_16}, - - {0, C5_9, C4_9, C6_9}, - {0, C5_16, C4_16, C6_16}, - - {0, C9_9, C8_9, C7_9}, - {0, C9_10, C8_10, C7_10}, - {0, C9_11, C8_11, C7_11}, - {0, C9_12, C8_12, C7_12}, - {0, C9_13, C8_13, C7_13}, - {0, C9_14, C8_14, C7_14}, - {0, C9_15, C8_15, C6_14}, - {0, C9_16, C7_15, C6_15}, - -// left CA - {0, C1_1, C3_2, C4_2}, - {0, C1_2, C2_2, C4_3}, - {0, C1_3, C2_3, C3_3}, - {0, C1_4, C2_4, C3_4}, - {0, C1_5, C2_5, C3_5}, - {0, C1_6, C2_6, C3_6}, - {0, C1_7, C2_7, C3_7}, - {0, C1_8, C2_8, C3_8}, - - {0, C5_1, C4_1, C6_1}, - {0, C5_8, C4_8, C6_8}, - - {0, C9_1, C8_1, C7_1}, - {0, C9_2, C8_2, C7_2}, - {0, C9_3, C8_3, C7_3}, - {0, C9_4, C8_4, C7_4}, - {0, C9_5, C8_5, C7_5}, - {0, C9_6, C8_6, C7_6}, - {0, C9_7, C8_7, C6_6}, - {0, C9_8, C7_7, C6_7}, - -// right CA - {1, C1_1, C3_2, C4_2}, - {1, C1_2, C2_2, C4_3}, - {1, C1_3, C2_3, C3_3}, - {1, C1_4, C2_4, C3_4}, - {1, C1_5, C2_5, C3_5}, - {1, C1_6, C2_6, C3_6}, - {1, C1_7, C2_7, C3_7}, - {1, C1_8, C2_8, C3_8}, - - {1, C5_1, C4_1, C6_1}, - {1, C5_8, C4_8, C6_8}, - - {1, C9_1, C8_1, C7_1}, - {1, C9_2, C8_2, C7_2}, - {1, C9_3, C8_3, C7_3}, - {1, C9_4, C8_4, C7_4}, - {1, C9_5, C8_5, C7_5}, - {1, C9_6, C8_6, C7_6}, - {1, C9_7, C8_7, C6_6}, - {1, C9_8, C7_7, C6_7}, -// right CB - {1, C1_9, C3_10, C4_10}, - {1, C1_10, C2_10, C4_11}, - {1, C1_11, C2_11, C3_11}, - {1, C1_12, C2_12, C3_12}, - {1, C1_13, C2_13, C3_13}, - {1, C1_14, C2_14, C3_14}, - {1, C1_15, C2_15, C3_15}, - {1, C1_16, C2_16, C3_16}, - - {1, C5_9, C4_9, C6_9}, - {1, C5_16, C4_16, C6_16}, - - {1, C9_9, C8_9, C7_9}, - {1, C9_10, C8_10, C7_10}, - {1, C9_11, C8_11, C7_11}, - {1, C9_12, C8_12, C7_12}, - {1, C9_13, C8_13, C7_13}, - {1, C9_14, C8_14, C7_14}, - {1, C9_15, C8_15, C6_14}, - {1, C9_16, C7_15, C6_15}, + {0, C1_10, C2_10, C4_11}, // RGB101 + {0, C1_11, C2_11, C3_11}, // RGB102 + {0, C1_12, C2_12, C3_12}, // RGB103 + {0, C1_13, C2_13, C3_13}, // RGB104 + {0, C1_14, C2_14, C3_14}, // RGB105 + {0, C1_15, C2_15, C3_15}, // RGB106 + {0, C1_16, C2_16, C3_16}, // RGB107 + {1, C1_1, C3_2, C4_2}, // RGB108 + {1, C1_2, C2_2, C4_3}, // RGB109 + {1, C1_3, C2_3, C3_3}, // RGB1010 + {1, C1_4, C2_4, C3_4}, // RGB1011 + {1, C1_5, C2_5, C3_5}, // RGB1012 + {1, C1_6, C2_6, C3_6}, // RGB1013 + {1, C1_7, C2_7, C3_7}, // RGB1015 + {1, C1_8, C2_8, C3_8}, // RGB1016 + + {0, C1_9, C3_10, C4_10}, // RGB201 + {0, C5_9, C4_9, C6_9}, // RGB202 + {0, C9_9, C8_9, C7_9}, // RGB203 + {0, C9_10, C8_10, C7_10}, // RGB204 + {0, C9_11, C8_11, C7_11}, // RGB205 + {0, C9_12, C8_12, C7_12}, // RGB206 + {0, C9_13, C8_13, C7_13}, // RGB207 + {1, C5_1, C4_1, C6_1}, // RGB208 + {1, C9_1, C8_1, C7_1}, // RGB209 + {1, C9_2, C8_2, C7_2}, // RGB2010 + {1, C9_3, C8_3, C7_3}, // RGB2011 + {1, C9_4, C8_4, C7_4}, // RGB2012 + {1, C9_5, C8_5, C7_5}, // RGB2013 + {1, C9_6, C8_6, C7_6}, // RGB2014 + {1, C5_8, C4_8, C6_8}, // RGB2015 + + {0, C9_1, C8_1, C7_1}, // RGB301 + {0, C1_1, C3_2, C4_2}, // RGB302 + {0, C5_1, C4_1, C6_1}, // RGB303 + {0, C5_16, C4_16, C6_16}, // RGB304 + {0, C1_2, C2_2, C4_3}, // RGB305 + {0, C9_14, C8_14, C7_14}, // RGB306 + {0, C9_15, C8_15, C6_14}, // RGB307 + {0, C9_16, C7_15, C6_15}, // RGB308 + {1, C1_10, C2_10, C4_11}, // RGB309 + {1, C1_11, C2_11, C3_11}, // RGB3010 + {1, C1_12, C2_12, C3_12}, // RGB3011 + {1, C1_13, C2_13, C3_13}, // RGB3012 + {1, C1_14, C2_14, C3_14}, // RGB3014 + {1, C9_7, C8_7, C6_6}, // RGB3013-2 + {1, C1_15, C2_15, C3_15}, // RGB3013 + {1, C9_8, C7_7, C6_7}, // RGB3015 + + {0, C9_3, C8_3, C7_3}, // RGB401-2 + {0, C9_2, C8_2, C7_2}, // RGB401 + {0, C9_4, C8_4, C7_4}, // RGB4014 + {0, C9_5, C8_5, C7_5}, // RGB402 + {0, C9_6, C8_6, C7_6}, // RGB403 + {0, C1_3, C2_3, C3_3}, // RGB404 + {0, C1_4, C2_4, C3_4}, // RGB405 + {0, C1_6, C2_6, C3_6}, // RGB406 + {0, C1_5, C2_5, C3_5}, // RGB407 + {1, C1_9, C3_10, C4_10}, // RGB408 + {1, C5_9, C4_9, C6_9}, // RGB409 + {1, C9_9, C8_9, C7_9}, // RGB4010 + {1, C9_10, C8_10, C7_10}, // RGB4011 + {1, C9_11, C8_11, C7_11}, // RGB4012 + {1, C5_16, C4_16, C6_16}, // RGB4013 + {1, C1_16, C2_16, C3_16}, // RGB4015 + + {0, C9_7, C8_7, C6_6}, // RGB501 + {0, C9_8, C7_7, C6_7}, // RGB502 + {0, C5_8, C4_8, C6_8}, // RGB503 + {0, C1_8, C2_8, C3_8}, // RGB506 + {0, C1_7, C2_7, C3_7}, // RGB506-2 + {1, C9_12, C8_12, C7_12}, // RGB507 + {1, C9_13, C8_13, C7_13}, // RGB508 + {1, C9_14, C8_14, C7_14}, // RGB5010 + {1, C9_15, C8_15, C6_14}, // RGB5011 + {1, C9_16, C7_15, C6_15}, // RGB5012 }; - -led_config_t g_led_config = { - { - { 1, 2, 3, 4, 5, 6, 7, 36, 37, 38, 39, 40, NO_LED, 41}, - { 0, 8, 10, 11, 12, 13, 14, 44, 46, 47, 48, 49, 50, 51}, - { 30, 18, 26, 9, 19, 15, 16, 17, 55, 56, 57, 58, 59, 60}, - { 29, 31, 32, 33, 20, 21, 23, 22, 54, 62, 64, 65, 66, 63}, - { 34, 35, 27, 25, 67, 68, 69, 70, 71, 61, 53, 45, 42, 43}, - }, - { - { 0, 16},{ 0, 0},{ 15, 0},{ 30, 0},{ 45, 0},{ 60, 0},{ 75, 0},{ 90, 0}, - { 20, 16},{ 42, 32}, - { 45, 16},{ 50, 16},{ 65, 16},{ 80, 16},{ 95, 16},{ 70, 32},{ 84, 32},{ 98, 32}, - - { 14, 32},{ 56, 32},{ 65, 48},{ 80, 48},{110, 48},{ 95, 48},{112, 64},{100, 64}, - { 42, 32},{ 38, 64}, - { 0, 32},{ 10, 48},{ 0, 48},{ 20, 48},{ 35, 48},{ 50, 48},{ 0, 64},{ 19, 64}, - - {105, 0},{120, 0},{135, 0},{150, 0},{165, 0},{180, 0},{202, 0},{224, 0}, - {110, 16},{224, 16}, - {125, 16},{140, 16},{155, 16},{172, 16},{187, 16},{202, 16},{210, 32},{224, 32}, - - {125, 48},{112, 32},{126, 32},{140, 32},{154, 32},{168, 32},{182, 32},{224, 48}, - {140, 48},{200, 48}, - {155, 48},{170, 48},{185, 48},{150, 64},{173, 64},{195, 64},{210, 64},{224, 64} - }, - { - 1, 1, 4, 4, 4, 4, 4, 4, - 4, 4, - 4, 4, 4, 4, 4, 4, 4, 4, - - 4, 4, 4, 4, 4, 4, 4, 4, - 4, 4, - 1, 1, 1, 4, 4, 4, 1, 1, - - 4, 4, 4, 4, 4, 4, 1, 1, - 4, 1, - 4, 4, 4, 4, 4, 4, 4, 1, - - 4, 4, 4, 4, 4, 4, 4, 1, - 4, 4, - 4, 4, 4, 1, 1, 1, 1, 1, - } -}; - #endif bool process_record_kb(uint16_t keycode, keyrecord_t *record) { From 522bf1daf25222fc9cc88a906d2b726e447909ce Mon Sep 17 00:00:00 2001 From: yiancar Date: Tue, 16 Jul 2024 05:43:26 +0100 Subject: [PATCH 06/42] Skelett40 (#24121) Co-authored-by: yiancar --- keyboards/novelkeys/skelett40/keyboard.json | 72 +++++++++++++++++++ .../skelett40/keymaps/default/keymap.c | 36 ++++++++++ .../novelkeys/skelett40/keymaps/via/keymap.c | 36 ++++++++++ .../novelkeys/skelett40/keymaps/via/rules.mk | 1 + keyboards/novelkeys/skelett40/readme.md | 36 ++++++++++ keyboards/novelkeys/skelett40/rules.mk | 2 + keyboards/novelkeys/skelett40/skelett40.c | 26 +++++++ 7 files changed, 209 insertions(+) create mode 100755 keyboards/novelkeys/skelett40/keyboard.json create mode 100644 keyboards/novelkeys/skelett40/keymaps/default/keymap.c create mode 100644 keyboards/novelkeys/skelett40/keymaps/via/keymap.c create mode 100755 keyboards/novelkeys/skelett40/keymaps/via/rules.mk create mode 100755 keyboards/novelkeys/skelett40/readme.md create mode 100644 keyboards/novelkeys/skelett40/rules.mk create mode 100755 keyboards/novelkeys/skelett40/skelett40.c diff --git a/keyboards/novelkeys/skelett40/keyboard.json b/keyboards/novelkeys/skelett40/keyboard.json new file mode 100755 index 000000000000..c8810bc5511c --- /dev/null +++ b/keyboards/novelkeys/skelett40/keyboard.json @@ -0,0 +1,72 @@ +{ + "manufacturer": "Yiancar-Designs", + "keyboard_name": "Skelett 40", + "maintainer": "Yiancar-Designs", + "bootloader": "stm32-dfu", + "diode_direction": "COL2ROW", + "features": { + "bootmagic": true, + "extrakey": true, + "mousekey": true, + "nkro": true + }, + "matrix_pins": { + "cols": ["A1", "B1", "B0", "A7", "A6", "A5", "A4", "A3", "B2", "B10", "B11", "B12"], + "rows": ["A2", "B9", "B8", "B5"] + }, + "processor": "STM32F072", + "url": "https://yiancar-designs.com", + "usb": { + "device_version": "0.0.1", + "pid": "0x7337", + "vid": "0x8968" + }, + "layouts": { + "LAYOUT": { + "layout": [ + {"matrix": [0, 0], "x": 0, "y": 0}, + {"matrix": [0, 1], "x": 1, "y": 0}, + {"matrix": [0, 2], "x": 2, "y": 0}, + {"matrix": [0, 3], "x": 3, "y": 0}, + {"matrix": [0, 4], "x": 4, "y": 0}, + {"matrix": [0, 5], "x": 5, "y": 0}, + {"matrix": [0, 6], "x": 6, "y": 0}, + {"matrix": [0, 7], "x": 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": [1, 0], "x": 0, "y": 1, "w": 1.25}, + {"matrix": [1, 1], "x": 1.25, "y": 1}, + {"matrix": [1, 2], "x": 2.25, "y": 1}, + {"matrix": [1, 3], "x": 3.25, "y": 1}, + {"matrix": [1, 4], "x": 4.25, "y": 1}, + {"matrix": [1, 5], "x": 5.25, "y": 1}, + {"matrix": [1, 6], "x": 6.25, "y": 1}, + {"matrix": [1, 7], "x": 7.25, "y": 1}, + {"matrix": [1, 8], "x": 8.25, "y": 1}, + {"matrix": [1, 9], "x": 9.25, "y": 1}, + {"matrix": [1, 11], "x": 10.25, "y": 1, "w": 1.75}, + {"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, "w": 1.25}, + {"matrix": [2, 11], "x": 11, "y": 2}, + {"matrix": [3, 0], "x": 0, "y": 3, "w": 1.25}, + {"matrix": [3, 1], "x": 1.25, "y": 3}, + {"matrix": [3, 2], "x": 2.25, "y": 3, "w": 1.25}, + {"matrix": [3, 3], "x": 3.5, "y": 3, "w": 2.25}, + {"matrix": [3, 6], "x": 5.75, "y": 3, "w": 2.75}, + {"matrix": [3, 9], "x": 8.5, "y": 3, "w": 1.25}, + {"matrix": [3, 10], "x": 9.75, "y": 3}, + {"matrix": [3, 11], "x": 10.75, "y": 3, "w": 1.25} + ] + } + } +} diff --git a/keyboards/novelkeys/skelett40/keymaps/default/keymap.c b/keyboards/novelkeys/skelett40/keymaps/default/keymap.c new file mode 100644 index 000000000000..8bbb00ae6a7b --- /dev/null +++ b/keyboards/novelkeys/skelett40/keymaps/default/keymap.c @@ -0,0 +1,36 @@ +/* Copyright 2024 Yiancar-Designs + * + * 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( /* Base */ + QK_GESC, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSPC, + KC_TAB, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, 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_LCTL, KC_LGUI, KC_LALT, KC_SPC, MO(1), MO(2), KC_APP, KC_RCTL), + +[1] = LAYOUT( /* FN1 */ + KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_DEL, + _______, KC_LBRC, KC_RBRC, _______, _______, _______, _______, KC_MINS, KC_EQL, KC_SCLN, KC_QUOT, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_BSLS, + _______, _______, _______, _______, _______, _______, _______, _______), + +[2] = LAYOUT( /* FN2 */ + 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_LEFT, KC_DOWN, KC_UP, KC_RGHT, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + KC_VOLU, KC_VOLD, KC_MUTE, _______, _______, _______, _______, _______) +}; diff --git a/keyboards/novelkeys/skelett40/keymaps/via/keymap.c b/keyboards/novelkeys/skelett40/keymaps/via/keymap.c new file mode 100644 index 000000000000..8bbb00ae6a7b --- /dev/null +++ b/keyboards/novelkeys/skelett40/keymaps/via/keymap.c @@ -0,0 +1,36 @@ +/* Copyright 2024 Yiancar-Designs + * + * 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( /* Base */ + QK_GESC, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSPC, + KC_TAB, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, 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_LCTL, KC_LGUI, KC_LALT, KC_SPC, MO(1), MO(2), KC_APP, KC_RCTL), + +[1] = LAYOUT( /* FN1 */ + KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_DEL, + _______, KC_LBRC, KC_RBRC, _______, _______, _______, _______, KC_MINS, KC_EQL, KC_SCLN, KC_QUOT, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_BSLS, + _______, _______, _______, _______, _______, _______, _______, _______), + +[2] = LAYOUT( /* FN2 */ + 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_LEFT, KC_DOWN, KC_UP, KC_RGHT, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + KC_VOLU, KC_VOLD, KC_MUTE, _______, _______, _______, _______, _______) +}; diff --git a/keyboards/novelkeys/skelett40/keymaps/via/rules.mk b/keyboards/novelkeys/skelett40/keymaps/via/rules.mk new file mode 100755 index 000000000000..1e5b99807cb7 --- /dev/null +++ b/keyboards/novelkeys/skelett40/keymaps/via/rules.mk @@ -0,0 +1 @@ +VIA_ENABLE = yes diff --git a/keyboards/novelkeys/skelett40/readme.md b/keyboards/novelkeys/skelett40/readme.md new file mode 100755 index 000000000000..baa700961612 --- /dev/null +++ b/keyboards/novelkeys/skelett40/readme.md @@ -0,0 +1,36 @@ +# Skelett 40 + +This is a standard 40% layout PCB. It supports VIA. + +* Keyboard Maintainer: [Yiancar](http://yiancar-designs.com/) and on [GitHub](https://github.com/yiancar) +* Hardware Supported: A 40% keyboard with STM32F072CB +* Hardware Availability: https://novelkeys.com/ + +## Instructions + +### Build + +Make example for this keyboard (after setting up your build environment): + + make novelkeys/skelett40:default + +Flashing example for this keyboard: + + make novelkeys/skelett40: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). + +### Reset + +- Unplug +- Hold Escape +- Plug In +- Unplug +- Release Escape + +### Flash + +- Unplug +- Hold Escape +- Plug In +- Flash using QMK Toolbox or CLI (`make novelkeys/skelett40::flash`) diff --git a/keyboards/novelkeys/skelett40/rules.mk b/keyboards/novelkeys/skelett40/rules.mk new file mode 100644 index 000000000000..0ab54aaaf718 --- /dev/null +++ b/keyboards/novelkeys/skelett40/rules.mk @@ -0,0 +1,2 @@ +# Wildcard to allow APM32 MCU +DFU_SUFFIX_ARGS = -v FFFF -p FFFF diff --git a/keyboards/novelkeys/skelett40/skelett40.c b/keyboards/novelkeys/skelett40/skelett40.c new file mode 100755 index 000000000000..be62d034398a --- /dev/null +++ b/keyboards/novelkeys/skelett40/skelett40.c @@ -0,0 +1,26 @@ +/* Copyright 2024 Yiancar-Designs + * + * 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 "quantum.h" + +void led_init_ports(void) { + // Set our LED pins as open drain outputs + gpio_set_pin_output_open_drain(B6); +} + +layer_state_t layer_state_set_kb(layer_state_t state) { + gpio_write_pin(B6, !layer_state_cmp(state, 1)); + return layer_state_set_user(state); +} From 63ef6516d31149a01df1694907425a99e06e8bcc Mon Sep 17 00:00:00 2001 From: Joel Challis Date: Wed, 17 Jul 2024 20:31:18 +0100 Subject: [PATCH 07/42] Avoid path issues with `qmk flash` on Windows (#24130) --- lib/python/qmk/flashers.py | 2 ++ 1 file changed, 2 insertions(+) diff --git a/lib/python/qmk/flashers.py b/lib/python/qmk/flashers.py index 9ecb5e4b9c8f..7ee1bc8de73e 100644 --- a/lib/python/qmk/flashers.py +++ b/lib/python/qmk/flashers.py @@ -206,6 +206,8 @@ def _flash_uf2(file): def flasher(mcu, file): + # Avoid "expected string or bytes-like object, got 'WindowsPath" issues + file = file.as_posix() bl, details = _find_bootloader() # Add a small sleep to avoid race conditions time.sleep(1) From 2ddfd60be70c12dcd09cdecb1170396ad267e17d Mon Sep 17 00:00:00 2001 From: Ryan Date: Thu, 18 Jul 2024 17:10:45 +1000 Subject: [PATCH 08/42] `amjkeyboard/amj60`: reduce firmware size (#24139) --- keyboards/amjkeyboard/amj60/keyboard.json | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/keyboards/amjkeyboard/amj60/keyboard.json b/keyboards/amjkeyboard/amj60/keyboard.json index 5ab353675a76..a2cfd1b6e127 100644 --- a/keyboards/amjkeyboard/amj60/keyboard.json +++ b/keyboards/amjkeyboard/amj60/keyboard.json @@ -11,8 +11,8 @@ "features": { "backlight": true, "bootmagic": false, - "command": true, - "console": true, + "command": false, + "console": false, "extrakey": true, "mousekey": false, "nkro": true, @@ -45,7 +45,6 @@ "knight": true, "christmas": true, "static_gradient": true, - "rgb_test": true, "alternating": true, "twinkle": true } From d79f46e408bd578966ee262b1d7bff439543addd Mon Sep 17 00:00:00 2001 From: Ryan Date: Fri, 19 Jul 2024 08:04:40 +1000 Subject: [PATCH 09/42] `vertex/angler2`: reduce firmware size (#24140) --- keyboards/vertex/angler2/keyboard.json | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/keyboards/vertex/angler2/keyboard.json b/keyboards/vertex/angler2/keyboard.json index 9b9d22661403..02541f6c8664 100644 --- a/keyboards/vertex/angler2/keyboard.json +++ b/keyboards/vertex/angler2/keyboard.json @@ -10,8 +10,8 @@ }, "features": { "bootmagic": true, - "command": true, - "console": true, + "command": false, + "console": false, "extrakey": true, "mousekey": true, "nkro": false, @@ -42,7 +42,6 @@ "knight": true, "christmas": true, "static_gradient": true, - "rgb_test": true, "alternating": true, "twinkle": true } From 11031adc1bd1e925651bc826f1d908229b9373e1 Mon Sep 17 00:00:00 2001 From: Ryan Date: Fri, 19 Jul 2024 15:53:56 +1000 Subject: [PATCH 10/42] `clueboard/66/rev3`: reduce firmware size (#24152) --- keyboards/clueboard/66/rev3/keyboard.json | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/keyboards/clueboard/66/rev3/keyboard.json b/keyboards/clueboard/66/rev3/keyboard.json index 0aa3e7096fcf..4553979d8a2a 100644 --- a/keyboards/clueboard/66/rev3/keyboard.json +++ b/keyboards/clueboard/66/rev3/keyboard.json @@ -9,7 +9,7 @@ "backlight": true, "bootmagic": false, "command": false, - "console": true, + "console": false, "extrakey": true, "mousekey": true, "nkro": true, @@ -30,7 +30,6 @@ "knight": true, "rainbow_mood": true, "rainbow_swirl": true, - "rgb_test": true, "snake": true, "static_gradient": true, "twinkle": true From 56323f75c62e9c8c773de8ffa9f3da6440bb3382 Mon Sep 17 00:00:00 2001 From: Ryan Date: Fri, 19 Jul 2024 15:54:50 +1000 Subject: [PATCH 11/42] `pixelspace/capsule65i`: reduce firmware size (#24150) --- keyboards/pixelspace/capsule65i/keyboard.json | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/keyboards/pixelspace/capsule65i/keyboard.json b/keyboards/pixelspace/capsule65i/keyboard.json index d08fd2e355e3..f8c9dc9c1d16 100644 --- a/keyboards/pixelspace/capsule65i/keyboard.json +++ b/keyboards/pixelspace/capsule65i/keyboard.json @@ -10,8 +10,8 @@ }, "features": { "bootmagic": true, - "command": true, - "console": true, + "command": false, + "console": false, "extrakey": true, "mousekey": true, "nkro": false, @@ -37,7 +37,6 @@ "knight": true, "christmas": true, "static_gradient": true, - "rgb_test": true, "alternating": true, "twinkle": true } From a6857872f2955c82810b37ca02e6a91788744b2b Mon Sep 17 00:00:00 2001 From: Ryan Date: Fri, 19 Jul 2024 15:56:00 +1000 Subject: [PATCH 12/42] `kopibeng/xt60`/`xt60_singa`: reduce firmware size (#24149) --- keyboards/kopibeng/xt60/keyboard.json | 7 +++---- keyboards/kopibeng/xt60/keymaps/default/keymap.c | 9 --------- keyboards/kopibeng/xt60/keymaps/via/keymap.c | 9 --------- keyboards/kopibeng/xt60_singa/keyboard.json | 7 +++---- keyboards/kopibeng/xt60_singa/keymaps/default/keymap.c | 9 --------- keyboards/kopibeng/xt60_singa/keymaps/via/keymap.c | 9 --------- 6 files changed, 6 insertions(+), 44 deletions(-) diff --git a/keyboards/kopibeng/xt60/keyboard.json b/keyboards/kopibeng/xt60/keyboard.json index 2901c056dd9a..a170d36e4179 100644 --- a/keyboards/kopibeng/xt60/keyboard.json +++ b/keyboards/kopibeng/xt60/keyboard.json @@ -17,8 +17,7 @@ "breathing": true, "rainbow_mood": true, "rainbow_swirl": true, - "static_gradient": true, - "rgb_test": true + "static_gradient": true } }, "ws2812": { @@ -26,8 +25,8 @@ }, "features": { "bootmagic": true, - "command": true, - "console": true, + "command": false, + "console": false, "extrakey": true, "mousekey": true, "nkro": true, diff --git a/keyboards/kopibeng/xt60/keymaps/default/keymap.c b/keyboards/kopibeng/xt60/keymaps/default/keymap.c index 845118d1abb1..cb8f395f08a1 100644 --- a/keyboards/kopibeng/xt60/keymaps/default/keymap.c +++ b/keyboards/kopibeng/xt60/keymaps/default/keymap.c @@ -44,14 +44,5 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { 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 ), - - // Fn3 Layer - [3] = LAYOUT_all( - 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, 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/kopibeng/xt60/keymaps/via/keymap.c b/keyboards/kopibeng/xt60/keymaps/via/keymap.c index 845118d1abb1..cb8f395f08a1 100644 --- a/keyboards/kopibeng/xt60/keymaps/via/keymap.c +++ b/keyboards/kopibeng/xt60/keymaps/via/keymap.c @@ -44,14 +44,5 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { 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 ), - - // Fn3 Layer - [3] = LAYOUT_all( - 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, 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/kopibeng/xt60_singa/keyboard.json b/keyboards/kopibeng/xt60_singa/keyboard.json index 688fa2f73aa3..280a58c07b36 100644 --- a/keyboards/kopibeng/xt60_singa/keyboard.json +++ b/keyboards/kopibeng/xt60_singa/keyboard.json @@ -17,8 +17,7 @@ "breathing": true, "rainbow_mood": true, "rainbow_swirl": true, - "static_gradient": true, - "rgb_test": true + "static_gradient": true } }, "ws2812": { @@ -26,8 +25,8 @@ }, "features": { "bootmagic": true, - "command": true, - "console": true, + "command": false, + "console": false, "extrakey": true, "mousekey": true, "nkro": true, diff --git a/keyboards/kopibeng/xt60_singa/keymaps/default/keymap.c b/keyboards/kopibeng/xt60_singa/keymaps/default/keymap.c index 845118d1abb1..cb8f395f08a1 100644 --- a/keyboards/kopibeng/xt60_singa/keymaps/default/keymap.c +++ b/keyboards/kopibeng/xt60_singa/keymaps/default/keymap.c @@ -44,14 +44,5 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { 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 ), - - // Fn3 Layer - [3] = LAYOUT_all( - 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, 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/kopibeng/xt60_singa/keymaps/via/keymap.c b/keyboards/kopibeng/xt60_singa/keymaps/via/keymap.c index 845118d1abb1..cb8f395f08a1 100644 --- a/keyboards/kopibeng/xt60_singa/keymaps/via/keymap.c +++ b/keyboards/kopibeng/xt60_singa/keymaps/via/keymap.c @@ -44,14 +44,5 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { 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 ), - - // Fn3 Layer - [3] = LAYOUT_all( - 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, KC_TRNS, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS - ), }; From 6fbe91aecdb8bc5b65eafb8ab4ab70a2410d9c7a Mon Sep 17 00:00:00 2001 From: Ryan Date: Sat, 20 Jul 2024 19:56:51 +1000 Subject: [PATCH 13/42] `keychron/q2`: fix RGB Matrix config for JIS variant (#24138) --- keyboards/keychron/q2/jis/config.h | 3 - keyboards/keychron/q2/jis/keyboard.json | 57 ++++++++++--------- keyboards/keychron/q2/jis_encoder/config.h | 3 - .../keychron/q2/jis_encoder/keyboard.json | 57 ++++++++++--------- 4 files changed, 58 insertions(+), 62 deletions(-) diff --git a/keyboards/keychron/q2/jis/config.h b/keyboards/keychron/q2/jis/config.h index 0d811e08452a..18e37b06feef 100644 --- a/keyboards/keychron/q2/jis/config.h +++ b/keyboards/keychron/q2/jis/config.h @@ -16,9 +16,6 @@ #pragma once -/* RGB Matrix Configuration */ -#define RGB_MATRIX_LED_COUNT 71 - #define SNLED27351_CURRENT_TUNE { 0xC0, 0xC0, 0x5D, 0xC0, 0xC0, 0x5D, 0xC0, 0xC0, 0x5D, 0xC0, 0xC0, 0x5D } /* Enable caps-lock LED */ diff --git a/keyboards/keychron/q2/jis/keyboard.json b/keyboards/keychron/q2/jis/keyboard.json index 834b89332e27..6e5a0b8fc2ff 100644 --- a/keyboards/keychron/q2/jis/keyboard.json +++ b/keyboards/keychron/q2/jis/keyboard.json @@ -5,21 +5,21 @@ }, "rgb_matrix": { "layout": [ - {"matrix": [0, 0], "x": 0, "y": 4, "flags": 1}, - {"matrix": [0, 1], "x": 15, "y": 4, "flags": 4}, - {"matrix": [0, 2], "x": 29, "y": 4, "flags": 4}, - {"matrix": [0, 3], "x": 44, "y": 4, "flags": 4}, - {"matrix": [0, 4], "x": 59, "y": 4, "flags": 4}, - {"matrix": [0, 5], "x": 73, "y": 4, "flags": 4}, - {"matrix": [0, 6], "x": 88, "y": 4, "flags": 4}, - {"matrix": [0, 7], "x": 103, "y": 4, "flags": 4}, - {"matrix": [0, 8], "x": 117, "y": 4, "flags": 4}, - {"matrix": [0, 9], "x": 132, "y": 4, "flags": 4}, - {"matrix": [0, 10], "x": 146, "y": 4, "flags": 4}, - {"matrix": [0, 11], "x": 161, "y": 4, "flags": 4}, - {"matrix": [0, 12], "x": 176, "y": 4, "flags": 4}, - {"matrix": [0, 13], "x": 190, "y": 4, "flags": 4}, - {"matrix": [3, 1], "x": 205, "y": 4, "flags": 1}, + {"matrix": [0, 0], "x": 0, "y": 4, "flags": 1}, + {"matrix": [0, 1], "x": 15, "y": 4, "flags": 4}, + {"matrix": [0, 2], "x": 29, "y": 4, "flags": 4}, + {"matrix": [0, 3], "x": 44, "y": 4, "flags": 4}, + {"matrix": [0, 4], "x": 59, "y": 4, "flags": 4}, + {"matrix": [0, 5], "x": 73, "y": 4, "flags": 4}, + {"matrix": [0, 6], "x": 88, "y": 4, "flags": 4}, + {"matrix": [0, 7], "x": 103, "y": 4, "flags": 4}, + {"matrix": [0, 8], "x": 118, "y": 4, "flags": 4}, + {"matrix": [0, 9], "x": 132, "y": 4, "flags": 4}, + {"matrix": [0, 10], "x": 147, "y": 4, "flags": 4}, + {"matrix": [0, 11], "x": 162, "y": 4, "flags": 4}, + {"matrix": [0, 12], "x": 176, "y": 4, "flags": 4}, + {"matrix": [0, 13], "x": 191, "y": 4, "flags": 4}, + {"matrix": [3, 1], "x": 206, "y": 4, "flags": 1}, {"matrix": [0, 14], "x": 224, "y": 0, "flags": 1}, {"matrix": [1, 0], "x": 4, "y": 19, "flags": 1}, @@ -31,10 +31,10 @@ {"matrix": [1, 6], "x": 95, "y": 19, "flags": 4}, {"matrix": [1, 7], "x": 110, "y": 19, "flags": 4}, {"matrix": [1, 8], "x": 125, "y": 19, "flags": 4}, - {"matrix": [1, 9], "x": 139, "y": 19, "flags": 4}, + {"matrix": [1, 9], "x": 140, "y": 19, "flags": 4}, {"matrix": [1, 10], "x": 154, "y": 19, "flags": 4}, - {"matrix": [1, 11], "x": 168, "y": 19, "flags": 4}, - {"matrix": [1, 12], "x": 183, "y": 19, "flags": 4}, + {"matrix": [1, 11], "x": 169, "y": 19, "flags": 4}, + {"matrix": [1, 12], "x": 184, "y": 19, "flags": 4}, {"matrix": [1, 14], "x": 224, "y": 19, "flags": 1}, {"matrix": [2, 0], "x": 6, "y": 34, "flags": 1}, @@ -45,12 +45,12 @@ {"matrix": [2, 5], "x": 84, "y": 34, "flags": 4}, {"matrix": [2, 6], "x": 99, "y": 34, "flags": 4}, {"matrix": [2, 7], "x": 114, "y": 34, "flags": 4}, - {"matrix": [2, 8], "x": 128, "y": 34, "flags": 4}, + {"matrix": [2, 8], "x": 129, "y": 34, "flags": 4}, {"matrix": [2, 9], "x": 143, "y": 34, "flags": 4}, {"matrix": [2, 10], "x": 158, "y": 34, "flags": 4}, - {"matrix": [2, 11], "x": 172, "y": 34, "flags": 4}, + {"matrix": [2, 11], "x": 173, "y": 34, "flags": 4}, {"matrix": [2, 13], "x": 187, "y": 34, "flags": 4}, - {"matrix": [1, 13], "x": 207, "y": 29, "flags": 1}, + {"matrix": [1, 13], "x": 204, "y": 26, "flags": 1}, {"matrix": [2, 14], "x": 224, "y": 34, "flags": 1}, {"matrix": [3, 0], "x": 9, "y": 49, "flags": 1}, @@ -62,9 +62,10 @@ {"matrix": [3, 7], "x": 106, "y": 49, "flags": 4}, {"matrix": [3, 8], "x": 121, "y": 49, "flags": 4}, {"matrix": [3, 9], "x": 136, "y": 49, "flags": 4}, - {"matrix": [3, 10], "x": 150, "y": 49, "flags": 4}, - {"matrix": [3, 11], "x": 179, "y": 49, "flags": 4}, - {"matrix": [3, 13], "x": 194, "y": 49, "flags": 1}, + {"matrix": [3, 10], "x": 151, "y": 49, "flags": 4}, + {"matrix": [3, 11], "x": 165, "y": 49, "flags": 4}, + {"matrix": [3, 12], "x": 180, "y": 49, "flags": 4}, + {"matrix": [3, 13], "x": 195, "y": 49, "flags": 1}, {"matrix": [3, 14], "x": 209, "y": 49, "flags": 1}, {"matrix": [4, 0], "x": 2, "y": 64, "flags": 1}, @@ -73,12 +74,12 @@ {"matrix": [4, 3], "x": 51, "y": 64, "flags": 1}, {"matrix": [4, 6], "x": 92, "y": 64, "flags": 4}, {"matrix": [4, 9], "x": 134, "y": 64, "flags": 1}, - {"matrix": [4, 10], "x": 150, "y": 64, "flags": 1}, + {"matrix": [4, 10], "x": 151, "y": 64, "flags": 1}, {"matrix": [4, 11], "x": 165, "y": 64, "flags": 1}, - {"matrix": [4, 12], "x": 179, "y": 64, "flags": 1}, - {"matrix": [4, 13], "x": 194, "y": 64, "flags": 1}, + {"matrix": [4, 12], "x": 180, "y": 64, "flags": 1}, + {"matrix": [4, 13], "x": 195, "y": 64, "flags": 1}, {"matrix": [2, 12], "x": 209, "y": 64, "flags": 1}, - {"matrix": [4, 14], "x": 223, "y": 64, "flags": 1} + {"matrix": [4, 14], "x": 224, "y": 64, "flags": 1} ] }, "layouts": { diff --git a/keyboards/keychron/q2/jis_encoder/config.h b/keyboards/keychron/q2/jis_encoder/config.h index 0d811e08452a..18e37b06feef 100644 --- a/keyboards/keychron/q2/jis_encoder/config.h +++ b/keyboards/keychron/q2/jis_encoder/config.h @@ -16,9 +16,6 @@ #pragma once -/* RGB Matrix Configuration */ -#define RGB_MATRIX_LED_COUNT 71 - #define SNLED27351_CURRENT_TUNE { 0xC0, 0xC0, 0x5D, 0xC0, 0xC0, 0x5D, 0xC0, 0xC0, 0x5D, 0xC0, 0xC0, 0x5D } /* Enable caps-lock LED */ diff --git a/keyboards/keychron/q2/jis_encoder/keyboard.json b/keyboards/keychron/q2/jis_encoder/keyboard.json index 32b691742bbb..11204e720f1d 100644 --- a/keyboards/keychron/q2/jis_encoder/keyboard.json +++ b/keyboards/keychron/q2/jis_encoder/keyboard.json @@ -11,21 +11,21 @@ }, "rgb_matrix": { "layout": [ - {"matrix": [0, 0], "x": 0, "y": 4, "flags": 1}, - {"matrix": [0, 1], "x": 15, "y": 4, "flags": 4}, - {"matrix": [0, 2], "x": 29, "y": 4, "flags": 4}, - {"matrix": [0, 3], "x": 44, "y": 4, "flags": 4}, - {"matrix": [0, 4], "x": 59, "y": 4, "flags": 4}, - {"matrix": [0, 5], "x": 73, "y": 4, "flags": 4}, - {"matrix": [0, 6], "x": 88, "y": 4, "flags": 4}, - {"matrix": [0, 7], "x": 103, "y": 4, "flags": 4}, - {"matrix": [0, 8], "x": 117, "y": 4, "flags": 4}, - {"matrix": [0, 9], "x": 132, "y": 4, "flags": 4}, - {"matrix": [0, 10], "x": 146, "y": 4, "flags": 4}, - {"matrix": [0, 11], "x": 161, "y": 4, "flags": 4}, - {"matrix": [0, 12], "x": 176, "y": 4, "flags": 4}, - {"matrix": [0, 13], "x": 190, "y": 4, "flags": 4}, - {"matrix": [3, 1], "x": 205, "y": 4, "flags": 1}, + {"matrix": [0, 0], "x": 0, "y": 4, "flags": 1}, + {"matrix": [0, 1], "x": 15, "y": 4, "flags": 4}, + {"matrix": [0, 2], "x": 29, "y": 4, "flags": 4}, + {"matrix": [0, 3], "x": 44, "y": 4, "flags": 4}, + {"matrix": [0, 4], "x": 59, "y": 4, "flags": 4}, + {"matrix": [0, 5], "x": 73, "y": 4, "flags": 4}, + {"matrix": [0, 6], "x": 88, "y": 4, "flags": 4}, + {"matrix": [0, 7], "x": 103, "y": 4, "flags": 4}, + {"matrix": [0, 8], "x": 118, "y": 4, "flags": 4}, + {"matrix": [0, 9], "x": 132, "y": 4, "flags": 4}, + {"matrix": [0, 10], "x": 147, "y": 4, "flags": 4}, + {"matrix": [0, 11], "x": 162, "y": 4, "flags": 4}, + {"matrix": [0, 12], "x": 176, "y": 4, "flags": 4}, + {"matrix": [0, 13], "x": 191, "y": 4, "flags": 4}, + {"matrix": [3, 1], "x": 206, "y": 4, "flags": 1}, {"matrix": [0, 14], "x": 224, "y": 0, "flags": 1}, {"matrix": [1, 0], "x": 4, "y": 19, "flags": 1}, @@ -37,10 +37,10 @@ {"matrix": [1, 6], "x": 95, "y": 19, "flags": 4}, {"matrix": [1, 7], "x": 110, "y": 19, "flags": 4}, {"matrix": [1, 8], "x": 125, "y": 19, "flags": 4}, - {"matrix": [1, 9], "x": 139, "y": 19, "flags": 4}, + {"matrix": [1, 9], "x": 140, "y": 19, "flags": 4}, {"matrix": [1, 10], "x": 154, "y": 19, "flags": 4}, - {"matrix": [1, 11], "x": 168, "y": 19, "flags": 4}, - {"matrix": [1, 12], "x": 183, "y": 19, "flags": 4}, + {"matrix": [1, 11], "x": 169, "y": 19, "flags": 4}, + {"matrix": [1, 12], "x": 184, "y": 19, "flags": 4}, {"matrix": [1, 14], "x": 224, "y": 19, "flags": 1}, {"matrix": [2, 0], "x": 6, "y": 34, "flags": 1}, @@ -51,12 +51,12 @@ {"matrix": [2, 5], "x": 84, "y": 34, "flags": 4}, {"matrix": [2, 6], "x": 99, "y": 34, "flags": 4}, {"matrix": [2, 7], "x": 114, "y": 34, "flags": 4}, - {"matrix": [2, 8], "x": 128, "y": 34, "flags": 4}, + {"matrix": [2, 8], "x": 129, "y": 34, "flags": 4}, {"matrix": [2, 9], "x": 143, "y": 34, "flags": 4}, {"matrix": [2, 10], "x": 158, "y": 34, "flags": 4}, - {"matrix": [2, 11], "x": 172, "y": 34, "flags": 4}, + {"matrix": [2, 11], "x": 173, "y": 34, "flags": 4}, {"matrix": [2, 13], "x": 187, "y": 34, "flags": 4}, - {"matrix": [1, 13], "x": 207, "y": 29, "flags": 1}, + {"matrix": [1, 13], "x": 204, "y": 26, "flags": 1}, {"matrix": [2, 14], "x": 224, "y": 34, "flags": 1}, {"matrix": [3, 0], "x": 9, "y": 49, "flags": 1}, @@ -68,9 +68,10 @@ {"matrix": [3, 7], "x": 106, "y": 49, "flags": 4}, {"matrix": [3, 8], "x": 121, "y": 49, "flags": 4}, {"matrix": [3, 9], "x": 136, "y": 49, "flags": 4}, - {"matrix": [3, 10], "x": 150, "y": 49, "flags": 4}, - {"matrix": [3, 11], "x": 179, "y": 49, "flags": 4}, - {"matrix": [3, 13], "x": 194, "y": 49, "flags": 1}, + {"matrix": [3, 10], "x": 151, "y": 49, "flags": 4}, + {"matrix": [3, 11], "x": 165, "y": 49, "flags": 4}, + {"matrix": [3, 12], "x": 180, "y": 49, "flags": 4}, + {"matrix": [3, 13], "x": 195, "y": 49, "flags": 1}, {"matrix": [3, 14], "x": 209, "y": 49, "flags": 1}, {"matrix": [4, 0], "x": 2, "y": 64, "flags": 1}, @@ -79,12 +80,12 @@ {"matrix": [4, 3], "x": 51, "y": 64, "flags": 1}, {"matrix": [4, 6], "x": 92, "y": 64, "flags": 4}, {"matrix": [4, 9], "x": 134, "y": 64, "flags": 1}, - {"matrix": [4, 10], "x": 150, "y": 64, "flags": 1}, + {"matrix": [4, 10], "x": 151, "y": 64, "flags": 1}, {"matrix": [4, 11], "x": 165, "y": 64, "flags": 1}, - {"matrix": [4, 12], "x": 179, "y": 64, "flags": 1}, - {"matrix": [4, 13], "x": 194, "y": 64, "flags": 1}, + {"matrix": [4, 12], "x": 180, "y": 64, "flags": 1}, + {"matrix": [4, 13], "x": 195, "y": 64, "flags": 1}, {"matrix": [2, 12], "x": 209, "y": 64, "flags": 1}, - {"matrix": [4, 14], "x": 223, "y": 64, "flags": 1} + {"matrix": [4, 14], "x": 224, "y": 64, "flags": 1} ] }, "layouts": { From 2fb9816c7775f1ed5a649f7d2269be3816159ccf Mon Sep 17 00:00:00 2001 From: Joel Challis Date: Sat, 20 Jul 2024 14:03:57 +0100 Subject: [PATCH 14/42] Remove incorrect use of split.main (#24158) --- keyboards/aidansmithdotdev/sango/keyboard.json | 1 - keyboards/takashicompany/heavy_left/keyboard.json | 3 +-- 2 files changed, 1 insertion(+), 3 deletions(-) diff --git a/keyboards/aidansmithdotdev/sango/keyboard.json b/keyboards/aidansmithdotdev/sango/keyboard.json index 6c62ac9bd2a9..deb26f86b62d 100644 --- a/keyboards/aidansmithdotdev/sango/keyboard.json +++ b/keyboards/aidansmithdotdev/sango/keyboard.json @@ -120,7 +120,6 @@ "matrix": [4, 7] }, "enabled": true, - "main": "matrix_grid", "matrix_pins": { "right": { "cols": ["GP7", "GP8", "GP9", "GP11", "GP12", "GP13", "GP14", "GP15"], diff --git a/keyboards/takashicompany/heavy_left/keyboard.json b/keyboards/takashicompany/heavy_left/keyboard.json index e0c020d0fdf6..3109e1ad83f1 100644 --- a/keyboards/takashicompany/heavy_left/keyboard.json +++ b/keyboards/takashicompany/heavy_left/keyboard.json @@ -45,8 +45,7 @@ "diode_direction": "COL2ROW", "split": { "enabled": true, - "soft_serial_pin": "D2", - "main": "eeprom" + "soft_serial_pin": "D2" }, "development_board": "promicro", "layouts": { From eb60235cd58d4591ee05620a0ad3cbc2061054b5 Mon Sep 17 00:00:00 2001 From: Ryan Date: Sun, 21 Jul 2024 07:53:04 +1000 Subject: [PATCH 15/42] `handwired/tractyl_manuform/5x6_right/arduinomicro`: reduce size (#24159) --- .../tractyl_manuform/5x6_right/arduinomicro/keyboard.json | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/keyboards/handwired/tractyl_manuform/5x6_right/arduinomicro/keyboard.json b/keyboards/handwired/tractyl_manuform/5x6_right/arduinomicro/keyboard.json index eebc5d5546c9..df810f2881e1 100644 --- a/keyboards/handwired/tractyl_manuform/5x6_right/arduinomicro/keyboard.json +++ b/keyboards/handwired/tractyl_manuform/5x6_right/arduinomicro/keyboard.json @@ -15,5 +15,8 @@ } }, "processor": "atmega32u4", - "bootloader": "caterina" + "bootloader": "caterina", + "build": { + "lto": true + } } From f04fd13dff8b132cfb4055ad27dc505e9277d96f Mon Sep 17 00:00:00 2001 From: Ryan Date: Sun, 21 Jul 2024 07:57:10 +1000 Subject: [PATCH 16/42] `mechlovin/delphine/rgb_led`: reduce size (#24160) --- keyboards/mechlovin/delphine/rgb_led/keyboard.json | 3 --- 1 file changed, 3 deletions(-) diff --git a/keyboards/mechlovin/delphine/rgb_led/keyboard.json b/keyboards/mechlovin/delphine/rgb_led/keyboard.json index 35a163c05f8b..d6e7a27f8132 100644 --- a/keyboards/mechlovin/delphine/rgb_led/keyboard.json +++ b/keyboards/mechlovin/delphine/rgb_led/keyboard.json @@ -23,7 +23,6 @@ "knight": true, "christmas": true, "static_gradient": true, - "rgb_test": true, "alternating": true, "twinkle": true } @@ -62,8 +61,6 @@ "pixel_rain": true, "pixel_flow": true, "pixel_fractal": true, - "typing_heatmap": true, - "digital_rain": true, "solid_reactive_simple": true, "solid_reactive": true, "solid_reactive_wide": true, From fab50be817ab11237d0e2c79c16da93dcbb153b4 Mon Sep 17 00:00:00 2001 From: Ryan Date: Sun, 21 Jul 2024 07:59:45 +1000 Subject: [PATCH 17/42] `mwstudio/mw75`: reduce size (#24161) --- keyboards/mwstudio/mw75/keyboard.json | 2 -- .../mwstudio/mw75/keymaps/default/keymap.c | 19 ------------------- keyboards/mwstudio/mw75/keymaps/via/keymap.c | 19 ------------------- 3 files changed, 40 deletions(-) diff --git a/keyboards/mwstudio/mw75/keyboard.json b/keyboards/mwstudio/mw75/keyboard.json index d19d6b49ba12..d9e540bca449 100644 --- a/keyboards/mwstudio/mw75/keyboard.json +++ b/keyboards/mwstudio/mw75/keyboard.json @@ -38,8 +38,6 @@ "hue_wave": true, "pixel_fractal": true, "pixel_rain": true, - "typing_heatmap": true, - "digital_rain": true, "solid_reactive_simple": true, "solid_reactive": true, "solid_reactive_wide": true, diff --git a/keyboards/mwstudio/mw75/keymaps/default/keymap.c b/keyboards/mwstudio/mw75/keymaps/default/keymap.c index 12ac4ce74a4b..1a7b9bf0677c 100644 --- a/keyboards/mwstudio/mw75/keymaps/default/keymap.c +++ b/keyboards/mwstudio/mw75/keymaps/default/keymap.c @@ -36,23 +36,4 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RGB_VAI, RGB_SAD, _______, _______, _______, _______, RGB_MOD, _______, RGB_SPD, RGB_VAD, RGB_SPI ), - - [2] = LAYOUT( - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______ - ), - - [3] = LAYOUT( - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______ - ), - }; diff --git a/keyboards/mwstudio/mw75/keymaps/via/keymap.c b/keyboards/mwstudio/mw75/keymaps/via/keymap.c index 12ac4ce74a4b..1a7b9bf0677c 100644 --- a/keyboards/mwstudio/mw75/keymaps/via/keymap.c +++ b/keyboards/mwstudio/mw75/keymaps/via/keymap.c @@ -36,23 +36,4 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RGB_VAI, RGB_SAD, _______, _______, _______, _______, RGB_MOD, _______, RGB_SPD, RGB_VAD, RGB_SPI ), - - [2] = LAYOUT( - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______ - ), - - [3] = LAYOUT( - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______ - ), - }; From f2c789bb4af7ce52ca0e118c868d623347433301 Mon Sep 17 00:00:00 2001 From: Dasky <32983009+daskygit@users.noreply.github.com> Date: Sun, 21 Jul 2024 00:56:39 +0100 Subject: [PATCH 18/42] Fix build failures noticed in #24163 CI log. (#24164) --- .../dailycraft/claw44/keymaps/oled/config.h | 2 +- .../dactyl_minidox/keymaps/dlford/rules.mk | 2 ++ keyboards/jian/keymaps/left_hand/keymap.c | 28 +++++++++---------- keyboards/sofle/keymaps/rgb_default/config.h | 3 +- 4 files changed, 19 insertions(+), 16 deletions(-) diff --git a/keyboards/dailycraft/claw44/keymaps/oled/config.h b/keyboards/dailycraft/claw44/keymaps/oled/config.h index 5379ce677d59..f84bf23dd8c8 100644 --- a/keyboards/dailycraft/claw44/keymaps/oled/config.h +++ b/keyboards/dailycraft/claw44/keymaps/oled/config.h @@ -19,4 +19,4 @@ along with this program. If not, see . #pragma once #define MASTER_LEFT -#define OLED_FONT_H "keyboards/claw44/lib/glcdfont.c" +#define OLED_FONT_H "claw44/lib/glcdfont.c" diff --git a/keyboards/handwired/dactyl_minidox/keymaps/dlford/rules.mk b/keyboards/handwired/dactyl_minidox/keymaps/dlford/rules.mk index d24f7a0cbd8d..78e059df96ec 100644 --- a/keyboards/handwired/dactyl_minidox/keymaps/dlford/rules.mk +++ b/keyboards/handwired/dactyl_minidox/keymaps/dlford/rules.mk @@ -11,6 +11,8 @@ INDICATOR_LIGHTS = yes # Enable indicator lights for caps lock, etc. # KEY_OVERRIDE_ENABLE = yes # Override key combos # COMBO_ENABLE = yes # Custom key combos +RGB_MATRIX_ENABLE = yes + LTO_ENABLE = yes RGBLIGHT_SUPPORTED = yes RGB_MATRIX_SUPPORTED = yes diff --git a/keyboards/jian/keymaps/left_hand/keymap.c b/keyboards/jian/keymaps/left_hand/keymap.c index 3f67215b8b7d..b3cf6bd36748 100644 --- a/keyboards/jian/keymaps/left_hand/keymap.c +++ b/keyboards/jian/keymaps/left_hand/keymap.c @@ -1,17 +1,17 @@ /* Copyright 2020 KGOH - * - * 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 . + * + * 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 @@ -30,7 +30,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_LSFT, LGUI_T(KC_GRV), KC_Q, KC_W, KC_E, KC_R, KC_T, KC_T, KC_R, KC_E, KC_W, KC_Q, LGUI_T(KC_GRV), KC_LSFT, KC_LCTL, KC_A, KC_S, KC_D, KC_F, KC_G, KC_G, KC_F, KC_D, KC_S, KC_A, KC_LCTL, KC_LALT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_B, KC_V, KC_C, KC_X, KC_Z, KC_LALT, - LT(_RAIS_L, KC_BSPC), LT(_DFLT_R, KC_SPC), LT(_LOWR_L, KC_ENT), LT(_LOWR_L, KC_ENT), LT(_DFLT_R, KC_SPC), LT(_RAIS_L, KC_BSPC), + LT(_RAIS_L, KC_BSPC), LT(_DFLT_R, KC_SPC), LT(_LOWR_L, KC_ENT), LT(_LOWR_L, KC_ENT), LT(_DFLT_R, KC_SPC), LT(_RAIS_L, KC_BSPC) ), [_DFLT_R] = LAYOUT( KC_RBRC, KC_LBRC, KC_P, KC_O, KC_I, KC_U, KC_Y, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, diff --git a/keyboards/sofle/keymaps/rgb_default/config.h b/keyboards/sofle/keymaps/rgb_default/config.h index 314322c92937..0929487978cf 100644 --- a/keyboards/sofle/keymaps/rgb_default/config.h +++ b/keyboards/sofle/keymaps/rgb_default/config.h @@ -69,10 +69,11 @@ //#define RGBLIGHT_EFFECT_TWINKLE #define RGBLIGHT_LED_COUNT 70 - //#define RGBLED_SPLIT + #undef RGBLED_SPLIT #define RGBLED_SPLIT { 35, 35 } // haven't figured out how to use this yet //#define RGBLIGHT_LED_COUNT 30 + #undef RGBLIGHT_LIMIT_VAL #define RGBLIGHT_LIMIT_VAL 120 #define RGBLIGHT_HUE_STEP 10 #define RGBLIGHT_SAT_STEP 17 From b6e1a209505246302743b7187b562a37a8bc092a Mon Sep 17 00:00:00 2001 From: yiancar Date: Sun, 21 Jul 2024 21:29:45 +0100 Subject: [PATCH 19/42] Keycult TKL (#24148) Co-authored-by: yiancar --- keyboards/keycult/keycult_tkl/keyboard.json | 208 ++++++++++++++++++ .../keycult_tkl/keymaps/default/keymap.c | 35 +++ .../keycult/keycult_tkl/keymaps/via/keymap.c | 35 +++ .../keycult/keycult_tkl/keymaps/via/rules.mk | 1 + keyboards/keycult/keycult_tkl/readme.md | 32 +++ keyboards/keycult/keycult_tkl/rules.mk | 2 + 6 files changed, 313 insertions(+) create mode 100644 keyboards/keycult/keycult_tkl/keyboard.json create mode 100644 keyboards/keycult/keycult_tkl/keymaps/default/keymap.c create mode 100644 keyboards/keycult/keycult_tkl/keymaps/via/keymap.c create mode 100644 keyboards/keycult/keycult_tkl/keymaps/via/rules.mk create mode 100644 keyboards/keycult/keycult_tkl/readme.md create mode 100644 keyboards/keycult/keycult_tkl/rules.mk diff --git a/keyboards/keycult/keycult_tkl/keyboard.json b/keyboards/keycult/keycult_tkl/keyboard.json new file mode 100644 index 000000000000..81687f13bded --- /dev/null +++ b/keyboards/keycult/keycult_tkl/keyboard.json @@ -0,0 +1,208 @@ +{ + "manufacturer": "Yiancar-Designs", + "keyboard_name": "Keycult TKL", + "maintainer": "Yiancar-Designs", + "bootloader": "stm32-dfu", + "diode_direction": "COL2ROW", + "features": { + "bootmagic": true, + "extrakey": true, + "mousekey": true, + "nkro": true + }, + "matrix_pins": { + "cols": ["B12", "B13", "B14", "B15", "A8", "A10", "A14", "A15", "B3", "B4", "B5", "B6", "B7", "B8", "B9", "A0", "A1"], + "rows": ["B11", "B10", "B2", "B1", "A9", "A5"] + }, + "processor": "STM32F072", + "url": "https://yiancar-designs.com", + "usb": { + "device_version": "0.0.1", + "pid": "0x6336", + "vid": "0x8968" + }, + "community_layouts": ["tkl_ansi", "tkl_ansi_tsangan"], + "layouts": { + "LAYOUT_tkl_ansi": { + "layout": [ + {"matrix": [0, 0], "x": 0, "y": 0}, + {"matrix": [0, 1], "x": 2, "y": 0}, + {"matrix": [0, 2], "x": 3, "y": 0}, + {"matrix": [0, 3], "x": 4, "y": 0}, + {"matrix": [0, 4], "x": 5, "y": 0}, + {"matrix": [0, 5], "x": 6.5, "y": 0}, + {"matrix": [0, 6], "x": 7.5, "y": 0}, + {"matrix": [0, 7], "x": 8.5, "y": 0}, + {"matrix": [0, 8], "x": 9.5, "y": 0}, + {"matrix": [0, 9], "x": 11, "y": 0}, + {"matrix": [0, 10], "x": 12, "y": 0}, + {"matrix": [0, 11], "x": 13, "y": 0}, + {"matrix": [0, 12], "x": 14, "y": 0}, + {"matrix": [0, 14], "x": 15.25, "y": 0}, + {"matrix": [0, 15], "x": 16.25, "y": 0}, + {"matrix": [0, 16], "x": 17.25, "y": 0}, + {"matrix": [1, 0], "x": 0, "y": 1.25}, + {"matrix": [1, 1], "x": 1, "y": 1.25}, + {"matrix": [1, 2], "x": 2, "y": 1.25}, + {"matrix": [1, 3], "x": 3, "y": 1.25}, + {"matrix": [1, 4], "x": 4, "y": 1.25}, + {"matrix": [1, 5], "x": 5, "y": 1.25}, + {"matrix": [1, 6], "x": 6, "y": 1.25}, + {"matrix": [1, 7], "x": 7, "y": 1.25}, + {"matrix": [1, 8], "x": 8, "y": 1.25}, + {"matrix": [1, 9], "x": 9, "y": 1.25}, + {"matrix": [1, 10], "x": 10, "y": 1.25}, + {"matrix": [1, 11], "x": 11, "y": 1.25}, + {"matrix": [1, 12], "x": 12, "y": 1.25}, + {"matrix": [1, 13], "x": 13, "y": 1.25, "w": 2}, + {"matrix": [1, 14], "x": 15.25, "y": 1.25}, + {"matrix": [1, 15], "x": 16.25, "y": 1.25}, + {"matrix": [1, 16], "x": 17.25, "y": 1.25}, + {"matrix": [2, 0], "x": 0, "y": 2.25, "w": 1.5}, + {"matrix": [2, 1], "x": 1.5, "y": 2.25}, + {"matrix": [2, 2], "x": 2.5, "y": 2.25}, + {"matrix": [2, 3], "x": 3.5, "y": 2.25}, + {"matrix": [2, 4], "x": 4.5, "y": 2.25}, + {"matrix": [2, 5], "x": 5.5, "y": 2.25}, + {"matrix": [2, 6], "x": 6.5, "y": 2.25}, + {"matrix": [2, 7], "x": 7.5, "y": 2.25}, + {"matrix": [2, 8], "x": 8.5, "y": 2.25}, + {"matrix": [2, 9], "x": 9.5, "y": 2.25}, + {"matrix": [2, 10], "x": 10.5, "y": 2.25}, + {"matrix": [2, 11], "x": 11.5, "y": 2.25}, + {"matrix": [2, 12], "x": 12.5, "y": 2.25}, + {"matrix": [3, 12], "x": 13.5, "y": 2.25, "w": 1.5}, + {"matrix": [2, 14], "x": 15.25, "y": 2.25}, + {"matrix": [2, 15], "x": 16.25, "y": 2.25}, + {"matrix": [2, 16], "x": 17.25, "y": 2.25}, + {"matrix": [3, 0], "x": 0, "y": 3.25, "w": 1.75}, + {"matrix": [3, 1], "x": 1.75, "y": 3.25}, + {"matrix": [3, 2], "x": 2.75, "y": 3.25}, + {"matrix": [3, 3], "x": 3.75, "y": 3.25}, + {"matrix": [3, 4], "x": 4.75, "y": 3.25}, + {"matrix": [3, 5], "x": 5.75, "y": 3.25}, + {"matrix": [3, 6], "x": 6.75, "y": 3.25}, + {"matrix": [3, 7], "x": 7.75, "y": 3.25}, + {"matrix": [3, 8], "x": 8.75, "y": 3.25}, + {"matrix": [3, 9], "x": 9.75, "y": 3.25}, + {"matrix": [3, 10], "x": 10.75, "y": 3.25}, + {"matrix": [3, 11], "x": 11.75, "y": 3.25}, + {"matrix": [3, 13], "x": 12.75, "y": 3.25, "w": 2.25}, + {"matrix": [4, 0], "x": 0, "y": 4.25, "w": 2.25}, + {"matrix": [4, 2], "x": 2.25, "y": 4.25}, + {"matrix": [4, 3], "x": 3.25, "y": 4.25}, + {"matrix": [4, 4], "x": 4.25, "y": 4.25}, + {"matrix": [4, 5], "x": 5.25, "y": 4.25}, + {"matrix": [4, 6], "x": 6.25, "y": 4.25}, + {"matrix": [4, 7], "x": 7.25, "y": 4.25}, + {"matrix": [4, 8], "x": 8.25, "y": 4.25}, + {"matrix": [4, 9], "x": 9.25, "y": 4.25}, + {"matrix": [4, 10], "x": 10.25, "y": 4.25}, + {"matrix": [4, 11], "x": 11.25, "y": 4.25}, + {"matrix": [4, 12], "x": 12.25, "y": 4.25, "w": 2.75}, + {"matrix": [4, 15], "x": 16.25, "y": 4.25}, + {"matrix": [5, 0], "x": 0, "y": 5.25, "w": 1.25}, + {"matrix": [5, 1], "x": 1.25, "y": 5.25, "w": 1.25}, + {"matrix": [5, 2], "x": 2.5, "y": 5.25, "w": 1.25}, + {"matrix": [5, 6], "x": 3.75, "y": 5.25, "w": 6.25}, + {"matrix": [5, 10], "x": 10, "y": 5.25, "w": 1.25}, + {"matrix": [5, 11], "x": 11.25, "y": 5.25, "w": 1.25}, + {"matrix": [5, 12], "x": 12.5, "y": 5.25, "w": 1.25}, + {"matrix": [5, 13], "x": 13.75, "y": 5.25, "w": 1.25}, + {"matrix": [5, 14], "x": 15.25, "y": 5.25}, + {"matrix": [5, 15], "x": 16.25, "y": 5.25}, + {"matrix": [5, 16], "x": 17.25, "y": 5.25} + ] + }, + "LAYOUT_tkl_ansi_tsangan": { + "layout": [ + {"matrix": [0, 0], "x": 0, "y": 0}, + {"matrix": [0, 1], "x": 2, "y": 0}, + {"matrix": [0, 2], "x": 3, "y": 0}, + {"matrix": [0, 3], "x": 4, "y": 0}, + {"matrix": [0, 4], "x": 5, "y": 0}, + {"matrix": [0, 5], "x": 6.5, "y": 0}, + {"matrix": [0, 6], "x": 7.5, "y": 0}, + {"matrix": [0, 7], "x": 8.5, "y": 0}, + {"matrix": [0, 8], "x": 9.5, "y": 0}, + {"matrix": [0, 9], "x": 11, "y": 0}, + {"matrix": [0, 10], "x": 12, "y": 0}, + {"matrix": [0, 11], "x": 13, "y": 0}, + {"matrix": [0, 12], "x": 14, "y": 0}, + {"matrix": [0, 14], "x": 15.25, "y": 0}, + {"matrix": [0, 15], "x": 16.25, "y": 0}, + {"matrix": [0, 16], "x": 17.25, "y": 0}, + {"matrix": [1, 0], "x": 0, "y": 1.25}, + {"matrix": [1, 1], "x": 1, "y": 1.25}, + {"matrix": [1, 2], "x": 2, "y": 1.25}, + {"matrix": [1, 3], "x": 3, "y": 1.25}, + {"matrix": [1, 4], "x": 4, "y": 1.25}, + {"matrix": [1, 5], "x": 5, "y": 1.25}, + {"matrix": [1, 6], "x": 6, "y": 1.25}, + {"matrix": [1, 7], "x": 7, "y": 1.25}, + {"matrix": [1, 8], "x": 8, "y": 1.25}, + {"matrix": [1, 9], "x": 9, "y": 1.25}, + {"matrix": [1, 10], "x": 10, "y": 1.25}, + {"matrix": [1, 11], "x": 11, "y": 1.25}, + {"matrix": [1, 12], "x": 12, "y": 1.25}, + {"matrix": [1, 13], "x": 13, "y": 1.25, "w": 2}, + {"matrix": [1, 14], "x": 15.25, "y": 1.25}, + {"matrix": [1, 15], "x": 16.25, "y": 1.25}, + {"matrix": [1, 16], "x": 17.25, "y": 1.25}, + {"matrix": [2, 0], "x": 0, "y": 2.25, "w": 1.5}, + {"matrix": [2, 1], "x": 1.5, "y": 2.25}, + {"matrix": [2, 2], "x": 2.5, "y": 2.25}, + {"matrix": [2, 3], "x": 3.5, "y": 2.25}, + {"matrix": [2, 4], "x": 4.5, "y": 2.25}, + {"matrix": [2, 5], "x": 5.5, "y": 2.25}, + {"matrix": [2, 6], "x": 6.5, "y": 2.25}, + {"matrix": [2, 7], "x": 7.5, "y": 2.25}, + {"matrix": [2, 8], "x": 8.5, "y": 2.25}, + {"matrix": [2, 9], "x": 9.5, "y": 2.25}, + {"matrix": [2, 10], "x": 10.5, "y": 2.25}, + {"matrix": [2, 11], "x": 11.5, "y": 2.25}, + {"matrix": [2, 12], "x": 12.5, "y": 2.25}, + {"matrix": [3, 12], "x": 13.5, "y": 2.25, "w": 1.5}, + {"matrix": [2, 14], "x": 15.25, "y": 2.25}, + {"matrix": [2, 15], "x": 16.25, "y": 2.25}, + {"matrix": [2, 16], "x": 17.25, "y": 2.25}, + {"matrix": [3, 0], "x": 0, "y": 3.25, "w": 1.75}, + {"matrix": [3, 1], "x": 1.75, "y": 3.25}, + {"matrix": [3, 2], "x": 2.75, "y": 3.25}, + {"matrix": [3, 3], "x": 3.75, "y": 3.25}, + {"matrix": [3, 4], "x": 4.75, "y": 3.25}, + {"matrix": [3, 5], "x": 5.75, "y": 3.25}, + {"matrix": [3, 6], "x": 6.75, "y": 3.25}, + {"matrix": [3, 7], "x": 7.75, "y": 3.25}, + {"matrix": [3, 8], "x": 8.75, "y": 3.25}, + {"matrix": [3, 9], "x": 9.75, "y": 3.25}, + {"matrix": [3, 10], "x": 10.75, "y": 3.25}, + {"matrix": [3, 11], "x": 11.75, "y": 3.25}, + {"matrix": [3, 13], "x": 12.75, "y": 3.25, "w": 2.25}, + {"matrix": [4, 0], "x": 0, "y": 4.25, "w": 2.25}, + {"matrix": [4, 2], "x": 2.25, "y": 4.25}, + {"matrix": [4, 3], "x": 3.25, "y": 4.25}, + {"matrix": [4, 4], "x": 4.25, "y": 4.25}, + {"matrix": [4, 5], "x": 5.25, "y": 4.25}, + {"matrix": [4, 6], "x": 6.25, "y": 4.25}, + {"matrix": [4, 7], "x": 7.25, "y": 4.25}, + {"matrix": [4, 8], "x": 8.25, "y": 4.25}, + {"matrix": [4, 9], "x": 9.25, "y": 4.25}, + {"matrix": [4, 10], "x": 10.25, "y": 4.25}, + {"matrix": [4, 11], "x": 11.25, "y": 4.25}, + {"matrix": [4, 12], "x": 12.25, "y": 4.25, "w": 2.75}, + {"matrix": [4, 15], "x": 16.25, "y": 4.25}, + {"matrix": [5, 0], "x": 0, "y": 5.25, "w": 1.5}, + {"matrix": [5, 1], "x": 1.5, "y": 5.25}, + {"matrix": [5, 2], "x": 2.5, "y": 5.25, "w": 1.5}, + {"matrix": [5, 6], "x": 4, "y": 5.25, "w": 7}, + {"matrix": [5, 11], "x": 11, "y": 5.25, "w": 1.5}, + {"matrix": [5, 12], "x": 12.5, "y": 5.25}, + {"matrix": [5, 13], "x": 13.5, "y": 5.25, "w": 1.5}, + {"matrix": [5, 14], "x": 15.25, "y": 5.25}, + {"matrix": [5, 15], "x": 16.25, "y": 5.25}, + {"matrix": [5, 16], "x": 17.25, "y": 5.25} + ] + } + } +} diff --git a/keyboards/keycult/keycult_tkl/keymaps/default/keymap.c b/keyboards/keycult/keycult_tkl/keymaps/default/keymap.c new file mode 100644 index 000000000000..0f67593ea0ba --- /dev/null +++ b/keyboards/keycult/keycult_tkl/keymaps/default/keymap.c @@ -0,0 +1,35 @@ +/* Copyright 2024 Yiancar-Designs + * + * 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_tkl_ansi( /* Base */ + 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_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_PGUP, + 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_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_RCTL, KC_LEFT, KC_DOWN, KC_RGHT), + +[1] = LAYOUT_tkl_ansi( /* FN */ + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_VOLU, KC_VOLD, KC_MUTE, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______), + +}; diff --git a/keyboards/keycult/keycult_tkl/keymaps/via/keymap.c b/keyboards/keycult/keycult_tkl/keymaps/via/keymap.c new file mode 100644 index 000000000000..9c12c11abf3e --- /dev/null +++ b/keyboards/keycult/keycult_tkl/keymaps/via/keymap.c @@ -0,0 +1,35 @@ +/* Copyright 2024 Yiancar-Designs + * + * 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_tkl_ansi( /* Base */ + 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_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_PGUP, + 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_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_RCTL, KC_LEFT, KC_DOWN, KC_RGHT), + +[1] = LAYOUT_tkl_ansi( /* FN */ + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_VOLU, KC_VOLD, KC_MUTE, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______), + +}; \ No newline at end of file diff --git a/keyboards/keycult/keycult_tkl/keymaps/via/rules.mk b/keyboards/keycult/keycult_tkl/keymaps/via/rules.mk new file mode 100644 index 000000000000..1e5b99807cb7 --- /dev/null +++ b/keyboards/keycult/keycult_tkl/keymaps/via/rules.mk @@ -0,0 +1 @@ +VIA_ENABLE = yes diff --git a/keyboards/keycult/keycult_tkl/readme.md b/keyboards/keycult/keycult_tkl/readme.md new file mode 100644 index 000000000000..6ed9159a1c75 --- /dev/null +++ b/keyboards/keycult/keycult_tkl/readme.md @@ -0,0 +1,32 @@ +# Keycult TKL + +This is a TKL layout PCB. It supports VIA. + +* Keyboard Maintainer: [Yiancar](https://yiancar-designs.com/) and on [GitHub](https://github.com/yiancar) +* Hardware Supported: A TKL keyboard with STM32F072CB or APM compatible +* Hardware Availability: https://keycult.com/ + +## Instructions + +### Build + +Make example for this keyboard (after setting up your build environment): + + make keycult/keycult_tkl: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). + +### Reset + +- Unplug +- Hold Escape +- Plug In +- Unplug +- Release Escape + +### Flash + +- Unplug +- Hold Escape +- Plug In +- Flash using QMK Toolbox or dfu-util (`make keycult/keycult_tkl::dfu-util`) diff --git a/keyboards/keycult/keycult_tkl/rules.mk b/keyboards/keycult/keycult_tkl/rules.mk new file mode 100644 index 000000000000..0ab54aaaf718 --- /dev/null +++ b/keyboards/keycult/keycult_tkl/rules.mk @@ -0,0 +1,2 @@ +# Wildcard to allow APM32 MCU +DFU_SUFFIX_ARGS = -v FFFF -p FFFF From ee1505971f92267c8e2a094cfbcdc4dea02b5ba5 Mon Sep 17 00:00:00 2001 From: Ryan Date: Tue, 23 Jul 2024 00:52:31 +1000 Subject: [PATCH 20/42] `handwired/hnah108`: reduce firmware size (#24168) --- keyboards/handwired/hnah108/keyboard.json | 2 -- 1 file changed, 2 deletions(-) diff --git a/keyboards/handwired/hnah108/keyboard.json b/keyboards/handwired/hnah108/keyboard.json index e062dcee6f28..3099ed854855 100644 --- a/keyboards/handwired/hnah108/keyboard.json +++ b/keyboards/handwired/hnah108/keyboard.json @@ -39,8 +39,6 @@ "pixel_rain": true, "pixel_flow": true, "pixel_fractal": true, - "typing_heatmap": true, - "digital_rain": true, "solid_reactive_simple": true, "solid_reactive": true, "solid_reactive_wide": true, From 8d5517fa633e7cefeb8e7cf06b430318d1f0401a Mon Sep 17 00:00:00 2001 From: Ryan Date: Tue, 23 Jul 2024 01:04:34 +1000 Subject: [PATCH 21/42] `doro67/rgb`: reduce firmware size (#24169) --- keyboards/doro67/rgb/keyboard.json | 2 -- 1 file changed, 2 deletions(-) diff --git a/keyboards/doro67/rgb/keyboard.json b/keyboards/doro67/rgb/keyboard.json index 9b660fd1aecf..8f372dc9c7f3 100644 --- a/keyboards/doro67/rgb/keyboard.json +++ b/keyboards/doro67/rgb/keyboard.json @@ -39,8 +39,6 @@ "pixel_rain": true, "pixel_flow": true, "pixel_fractal": true, - "typing_heatmap": true, - "digital_rain": true, "solid_reactive_simple": true, "solid_reactive": true, "solid_reactive_wide": true, From 4e2effc538f1ec4a2b11a2e37ff1fab139be319c Mon Sep 17 00:00:00 2001 From: Ryan Date: Tue, 23 Jul 2024 01:16:00 +1000 Subject: [PATCH 22/42] `rubi`: reduce firmware size (#24170) --- keyboards/rubi/keyboard.json | 3 +++ 1 file changed, 3 insertions(+) diff --git a/keyboards/rubi/keyboard.json b/keyboards/rubi/keyboard.json index cb94b5861561..aa58208219cd 100644 --- a/keyboards/rubi/keyboard.json +++ b/keyboards/rubi/keyboard.json @@ -22,6 +22,9 @@ "resync": true } }, + "build": { + "lto": true + }, "matrix_pins": { "cols": ["B3", "B2", "B1", "F7"], "rows": ["F0", "F1", "F4", "F5", "F6"] From 82f9019cc9f8a84b2ce2ed6cdd3acf3778dade22 Mon Sep 17 00:00:00 2001 From: Ryan Date: Tue, 23 Jul 2024 01:29:40 +1000 Subject: [PATCH 23/42] `melgeek/mojo68/rev1`: reduce firmware size (#24171) --- keyboards/melgeek/mojo68/rev1/keyboard.json | 2 -- 1 file changed, 2 deletions(-) diff --git a/keyboards/melgeek/mojo68/rev1/keyboard.json b/keyboards/melgeek/mojo68/rev1/keyboard.json index b97de4fbd2c0..7f218392929b 100755 --- a/keyboards/melgeek/mojo68/rev1/keyboard.json +++ b/keyboards/melgeek/mojo68/rev1/keyboard.json @@ -45,8 +45,6 @@ "hue_breathing": true, "hue_pendulum": true, "hue_wave": true, - "typing_heatmap": true, - "digital_rain": true, "solid_reactive_simple": true, "solid_reactive": true, "solid_reactive_wide": true, From d09c11dc787d3b04dd28db23bf96da456f2e4410 Mon Sep 17 00:00:00 2001 From: Ryan Date: Tue, 23 Jul 2024 02:12:34 +1000 Subject: [PATCH 24/42] `kprepublic/bm40hsrgb/rev2`: reduce firmware size (#24176) --- keyboards/kprepublic/bm40hsrgb/rev2/keyboard.json | 3 +++ 1 file changed, 3 insertions(+) diff --git a/keyboards/kprepublic/bm40hsrgb/rev2/keyboard.json b/keyboards/kprepublic/bm40hsrgb/rev2/keyboard.json index cfaabd5c9ef1..525a6088ed3f 100644 --- a/keyboards/kprepublic/bm40hsrgb/rev2/keyboard.json +++ b/keyboards/kprepublic/bm40hsrgb/rev2/keyboard.json @@ -14,6 +14,9 @@ "command": false, "nkro": false }, + "build": { + "lto": true + }, "usb": { "vid": "0x4B50", "pid": "0x3430", From 4bcc80ad464c413ec1e27670638bda8e35a505f9 Mon Sep 17 00:00:00 2001 From: Ryan Date: Tue, 23 Jul 2024 02:12:55 +1000 Subject: [PATCH 25/42] `merge/um80`: reduce firmware size (#24177) --- keyboards/merge/um80/keyboard.json | 3 +++ 1 file changed, 3 insertions(+) diff --git a/keyboards/merge/um80/keyboard.json b/keyboards/merge/um80/keyboard.json index 5a369877f887..1cbac749f7b8 100644 --- a/keyboards/merge/um80/keyboard.json +++ b/keyboards/merge/um80/keyboard.json @@ -42,6 +42,9 @@ "sleep": true, "split_count": [48, 52] }, + "build": { + "lto": true + }, "processor": "atmega32u4", "bootloader": "atmel-dfu", "layouts": { From af70e3759a465d67033525c4af8a4ac54a5a3cbe Mon Sep 17 00:00:00 2001 From: Ikko Eltociear Ashimine Date: Tue, 23 Jul 2024 19:37:19 +0900 Subject: [PATCH 26/42] [docs] update serial.md (#24182) capabilites -> capabilities --- docs/drivers/serial.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/drivers/serial.md b/docs/drivers/serial.md index 364e951b8698..75d11bc93bcb 100644 --- a/docs/drivers/serial.md +++ b/docs/drivers/serial.md @@ -1,6 +1,6 @@ # 'serial' Driver -The Serial driver powers the [Split Keyboard](../features/split_keyboard) feature. Several implementations are available that cater to the platform and capabilites of MCU in use. Note that none of the drivers support split keyboards with more than two halves. +The Serial driver powers the [Split Keyboard](../features/split_keyboard) feature. Several implementations are available that cater to the platform and capabilities of MCU in use. Note that none of the drivers support split keyboards with more than two halves. | Driver | AVR | ARM | Connection between halves | | --------------------------------------- | ------------------ | ------------------ | --------------------------------------------------------------------------------------------- | From d079372580c2c731d300b43f38e9d46fd3c7655b Mon Sep 17 00:00:00 2001 From: Ryan Date: Tue, 23 Jul 2024 21:03:02 +1000 Subject: [PATCH 27/42] `meme`: adjust layout names (#24178) --- keyboards/meme/keyboard.json | 15 +++++++++++---- keyboards/meme/keymaps/default/keymap.c | 2 +- 2 files changed, 12 insertions(+), 5 deletions(-) diff --git a/keyboards/meme/keyboard.json b/keyboards/meme/keyboard.json index 021c8f998ae0..27acfc5a33f4 100644 --- a/keyboards/meme/keyboard.json +++ b/keyboards/meme/keyboard.json @@ -33,8 +33,15 @@ }, "processor": "atmega32u2", "bootloader": "atmel-dfu", + "community_layouts": ["65_ansi", "65_ansi_split_bs", "65_ansi_blocker", "65_ansi_blocker_split_bs"], + "layout_aliases": { + "LAYOUT_normie": "LAYOUT_65_ansi", + "LAYOUT_spicy": "LAYOUT_65_ansi_split_bs", + "LAYOUT_dank": "LAYOUT_65_ansi_blocker", + "LAYOUT_meme": "LAYOUT_65_ansi_blocker_split_bs", + }, "layouts": { - "LAYOUT_spicy": { + "LAYOUT_65_ansi_split_bs": { "layout": [ {"matrix": [0, 0], "x": 0, "y": 0}, {"matrix": [1, 0], "x": 1, "y": 0}, @@ -111,7 +118,7 @@ {"matrix": [9, 7], "x": 15, "y": 4} ] }, - "LAYOUT_normie": { + "LAYOUT_65_ansi": { "layout": [ {"matrix": [0, 0], "x": 0, "y": 0}, {"matrix": [1, 0], "x": 1, "y": 0}, @@ -187,7 +194,7 @@ {"matrix": [9, 7], "x": 15, "y": 4} ] }, - "LAYOUT_dank": { + "LAYOUT_65_ansi_blocker": { "layout": [ {"matrix": [0, 0], "x": 0, "y": 0}, {"matrix": [1, 0], "x": 1, "y": 0}, @@ -262,7 +269,7 @@ {"matrix": [9, 7], "x": 15, "y": 4} ] }, - "LAYOUT_meme": { + "LAYOUT_65_ansi_blocker_split_bs": { "layout": [ {"matrix": [0, 0], "x": 0, "y": 0}, {"matrix": [1, 0], "x": 1, "y": 0}, diff --git a/keyboards/meme/keymaps/default/keymap.c b/keyboards/meme/keymaps/default/keymap.c index c84ca220bde8..ef7139235a90 100644 --- a/keyboards/meme/keymaps/default/keymap.c +++ b/keyboards/meme/keymaps/default/keymap.c @@ -17,7 +17,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { -[0] = LAYOUT_spicy( +[0] = LAYOUT_65_ansi_split_bs( QK_GESC, 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_BSLS, KC_BSPC, KC_INS, 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_RCTL, 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_PGUP, From 622dc5625042bc765bb3ff96e3601b5caddf4512 Mon Sep 17 00:00:00 2001 From: Ryan Date: Tue, 23 Jul 2024 21:20:17 +1000 Subject: [PATCH 28/42] `kingly_keys/ave`: adjust layout names (#24179) --- keyboards/kingly_keys/ave/ortho/keyboard.json | 11 ++++++++--- .../kingly_keys/ave/ortho/keymaps/default/keymap.c | 10 +++++----- keyboards/kingly_keys/ave/staggered/keyboard.json | 8 ++++++-- .../ave/staggered/keymaps/default/keymap.c | 10 +++++----- 4 files changed, 24 insertions(+), 15 deletions(-) diff --git a/keyboards/kingly_keys/ave/ortho/keyboard.json b/keyboards/kingly_keys/ave/ortho/keyboard.json index d277e68e47fd..27fb2666a2ad 100644 --- a/keyboards/kingly_keys/ave/ortho/keyboard.json +++ b/keyboards/kingly_keys/ave/ortho/keyboard.json @@ -45,8 +45,13 @@ }, "processor": "atmega32u4", "bootloader": "atmel-dfu", + "layout_aliases": { + "LAYOUT_ortho_all": "LAYOUT_all", + "LAYOUT_ortho_2x2u": "LAYOUT_2x2u_space", + "LAYOUT_ortho_big_boy": "LAYOUT_7u_space" + }, "layouts": { - "LAYOUT_ortho_all": { + "LAYOUT_all": { "layout": [ {"matrix": [0, 0], "x": 0, "y": 0}, {"matrix": [0, 1], "x": 1.5, "y": 0}, @@ -111,7 +116,7 @@ {"matrix": [4, 12], "x": 12.5, "y": 4.5} ] }, - "LAYOUT_ortho_2x2u": { + "LAYOUT_2x2u_space": { "layout": [ {"matrix": [0, 0], "x": 0, "y": 0}, {"matrix": [0, 1], "x": 1.5, "y": 0}, @@ -174,7 +179,7 @@ {"matrix": [4, 12], "x": 12.5, "y": 4.5} ] }, - "LAYOUT_ortho_big_boy": { + "LAYOUT_7u_space": { "layout": [ {"matrix": [0, 0], "x": 0, "y": 0}, {"matrix": [0, 1], "x": 1.5, "y": 0}, diff --git a/keyboards/kingly_keys/ave/ortho/keymaps/default/keymap.c b/keyboards/kingly_keys/ave/ortho/keymaps/default/keymap.c index db0dfe46f694..d23666862eed 100644 --- a/keyboards/kingly_keys/ave/ortho/keymaps/default/keymap.c +++ b/keyboards/kingly_keys/ave/ortho/keymaps/default/keymap.c @@ -78,7 +78,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { * │End │ │CTL │GUI │ALT │FUNC│LOWR│ │ │RISE│Left│Down│ Up │Rght│ * └────┘ └────┴────┴────┴────┴────┴─────────┴────┴────┴────┴────┴────┘ */ - [_QWERTY] = LAYOUT_ortho_all( + [_QWERTY] = LAYOUT_all( KC_MUTE, KC_ESC, KC_BSLS, KC_MINUS, KC_EQUAL, 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_BSPC, KC_PGUP, KC_LCTL, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, @@ -101,7 +101,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { * │STOP│ │ │ │ │ │ │ │ │ │ │ │ │ │ * └────┘ └────┴────┴────┴────┴────┴─────────┴────┴────┴────┴────┴────┘ */ - [_LOWER] = LAYOUT_ortho_all( + [_LOWER] = LAYOUT_all( _______, _______, KC_LBRC, KC_RBRC, KC_GRAVE, KC_MPLY, _______, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, _______, KC_MNXT, _______, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, KC_DQT, @@ -124,7 +124,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { * │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ * └────┘ └────┴────┴────┴────┴────┴─────────┴────┴────┴────┴────┴────┘ */ - [_RAISE] = LAYOUT_ortho_all( + [_RAISE] = LAYOUT_all( KC_PSCR, _______, KC_LCBR, KC_RCBR, KC_TILD, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_CAPS, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, @@ -147,7 +147,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { * │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ * └────┘ └────┴────┴────┴────┴────┴─────────┴────┴────┴────┴────┴────┘ */ - [_FUNCTION] = LAYOUT_ortho_all( + [_FUNCTION] = LAYOUT_all( TD(TD_RST), RGB_TOG, KC_F11, KC_F12, KC_F13, _______, _______, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, @@ -175,7 +175,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { // * │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ // * └────┘ └────┴────┴────┴────┴────┴─────────┴────┴────┴────┴────┴────┘ // */ -// [] = LAYOUT_ortho_all( +// [] = LAYOUT_all( // _______, _______, _______, _______, _______, // _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, // _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, diff --git a/keyboards/kingly_keys/ave/staggered/keyboard.json b/keyboards/kingly_keys/ave/staggered/keyboard.json index 3f5bf70ce898..5fcb1657e38e 100644 --- a/keyboards/kingly_keys/ave/staggered/keyboard.json +++ b/keyboards/kingly_keys/ave/staggered/keyboard.json @@ -45,8 +45,12 @@ }, "processor": "atmega32u4", "bootloader": "atmel-dfu", + "layout_aliases": { + "LAYOUT_staggered": "LAYOUT_all", + "LAYOUT_staggered_big_boy": "LAYOUT_6u25_space" + }, "layouts": { - "LAYOUT_staggered": { + "LAYOUT_all": { "layout": [ {"matrix": [0, 0], "x": 0, "y": 0}, @@ -111,7 +115,7 @@ {"matrix": [4, 12], "x": 12.25, "y": 4.5, "w": 1.25} ] }, - "LAYOUT_staggered_big_boy": { + "LAYOUT_6u25_space": { "layout": [ {"matrix": [0, 0], "x": 0, "y": 0}, diff --git a/keyboards/kingly_keys/ave/staggered/keymaps/default/keymap.c b/keyboards/kingly_keys/ave/staggered/keymaps/default/keymap.c index b5631ad436d8..8d9c6a045ffc 100644 --- a/keyboards/kingly_keys/ave/staggered/keymaps/default/keymap.c +++ b/keyboards/kingly_keys/ave/staggered/keymaps/default/keymap.c @@ -78,7 +78,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { * │End │ │LCtrl│GUI │ALT │ LOWR │ │RAlt │RCTL│FUNC │ * └────┘ └─────┴────┴─────┴──────────────┴──────────┴─────┴────┴─────┘ */ - [_QWERTY] = LAYOUT_staggered( + [_QWERTY] = LAYOUT_all( KC_MUTE, KC_ESC, KC_LPRN, KC_RPRN, KC_SCLN, 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_BSPC, KC_PGUP, KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_ENT, @@ -101,7 +101,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { * │ _ │ │ │ │ │ │ │ │ │ │ * └────┘ └─────┴────┴─────┴──────────────┴──────────┴─────┴────┴─────┘ */ - [_LOWER] = LAYOUT_staggered( + [_LOWER] = LAYOUT_all( _______, _______, KC_LBRC, KC_RBRC, KC_COLON, KC_MINUS, KC_GRAVE, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, _______, KC_BSLS, KC_TILD, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, _______, TD(TD_DBQT), @@ -124,7 +124,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { * │ │ │ │ │ │ │ │ │ ? │ │ * └────┘ └─────┴────┴─────┴──────────────┴──────────┴─────┴────┴─────┘ */ - [_RAISE] = LAYOUT_staggered( + [_RAISE] = LAYOUT_all( KC_PSCR, _______, KC_LCBR, KC_RCBR, KC_PLUS, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_UP, _______, _______, _______, KC_CAPS, _______, _______, _______, _______, _______, _______, _______, KC_LEFT, KC_RIGHT, _______, @@ -147,7 +147,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { * │ │ │ │ │ │ │ │ │ │ │ * └────┘ └─────┴────┴─────┴──────────────┴──────────┴─────┴────┴─────┘ */ - [_FUNCTION] = LAYOUT_staggered( + [_FUNCTION] = LAYOUT_all( TD(TD_RST), RGB_TOG, KC_F11, KC_F12, KC_F13, _______, _______, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_EQUAL, @@ -175,7 +175,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { // * │ │ │ │ │ │ │ │ │ │ │ // * └────┘ └─────┴────┴─────┴──────────────┴──────────┴─────┴────┴─────┘ // */ -// [<_LAYER>] = LAYOUT_staggered( +// [<_LAYER>] = LAYOUT_all( // _______, _______, _______, _______, _______, // _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, // _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, From 60c5ad821cbaf07ddca29cfad9f3c6629f8e658c Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Wed, 24 Jul 2024 00:05:50 +0100 Subject: [PATCH 29/42] Bump actions/labeler from 4 to 5 (#22608) * Bump actions/labeler from 4 to 5 Bumps [actions/labeler](https://github.com/actions/labeler) from 4 to 5. - [Release notes](https://github.com/actions/labeler/releases) - [Commits](https://github.com/actions/labeler/compare/v4...v5) --- updated-dependencies: - dependency-name: actions/labeler dependency-type: direct:production update-type: version-update:semver-major ... Signed-off-by: dependabot[bot] * Update --------- Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: zvecr --- .github/labeler.yml | 82 ++++++++++++++++++++--------------- .github/workflows/labeler.yml | 15 +++---- 2 files changed, 51 insertions(+), 46 deletions(-) diff --git a/.github/labeler.yml b/.github/labeler.yml index 95eaa49252dd..f0e72786b215 100644 --- a/.github/labeler.yml +++ b/.github/labeler.yml @@ -1,46 +1,56 @@ core: - - quantum/**/* - - tmk_core/**/* - - drivers/**/* - - tests/**/* - - util/**/* - - platforms/**/* - - builddefs/**/* - - Makefile - - '*.mk' + - changed-files: + - any-glob-to-any-file: + - quantum/** + - tmk_core/** + - drivers/** + - tests/** + - util/** + - platforms/** + - builddefs/*.mk + - Makefile + - '*.mk' dependencies: - - any: - - 'lib/**/*' - - '!lib/python/**/*' + - all: + - changed-files: + - any-glob-to-any-file: lib/** + - all-globs-to-all-files: '!lib/python/**' keyboard: - - any: - - 'keyboards/**/*' - - '!keyboards/**/keymaps/**/*' + - all: + - changed-files: + - any-glob-to-any-file: keyboards/** + - all-globs-to-all-files: '!keyboards/**/keymaps/**' keymap: - - users/**/* - - layouts/**/* - - keyboards/**/keymaps/**/* + - changed-files: + - any-glob-to-any-file: + - users/** + - layouts/** + - keyboards/**/keymaps/** via: - - keyboards/**/keymaps/via/* + - changed-files: + - any-glob-to-any-file: + - keyboards/**/keymaps/via/* cli: - - requirements.txt - - lib/python/**/* + - changed-files: + - any-glob-to-any-file: + - requirements.txt + - lib/python/** python: - - '**/*.py' + - changed-files: + - any-glob-to-any-file: + - '**/*.py' documentation: - - docs/**/* -translation: - - docs/fr-fr/**/* - - docs/es/**/* - - docs/ja/**/* - - docs/he-il/**/* - - docs/pt-br/**/* - - docs/zh-cn/**/* - - docs/de/**/* - - docs/ru-ru/**/* + - changed-files: + - any-glob-to-any-file: + - docs/** + - builddefs/docsgen/** CI: - - .github/**/* + - changed-files: + - any-glob-to-any-file: + - .github/** dd: - - data/constants/**/* - - data/mappings/**/* - - data/schemas/**/* + - changed-files: + - any-glob-to-any-file: + - data/constants/** + - data/mappings/** + - data/schemas/** diff --git a/.github/workflows/labeler.yml b/.github/workflows/labeler.yml index fa4b8981add9..2dc354dda201 100644 --- a/.github/workflows/labeler.yml +++ b/.github/workflows/labeler.yml @@ -1,18 +1,13 @@ name: "Pull Request Labeler" -permissions: - contents: read - pull-requests: write - on: - pull_request_target: - types: [opened, synchronize, reopened, ready_for_review, locked] +- pull_request_target jobs: triage: + permissions: + contents: read + pull-requests: write runs-on: ubuntu-latest steps: - - uses: actions/labeler@v4 - with: - repo-token: "${{ secrets.GITHUB_TOKEN }}" - configuration-path: '.github/labeler.yml' + - uses: actions/labeler@v5 From 8c5acdea12543dbc86e9b85fe41cbb98d90bbd18 Mon Sep 17 00:00:00 2001 From: Joel Challis Date: Wed, 24 Jul 2024 04:50:38 +0100 Subject: [PATCH 30/42] Update to automatic-approve-action fork (#24188) --- .github/workflows/auto_approve.yml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/.github/workflows/auto_approve.yml b/.github/workflows/auto_approve.yml index 1db1c49a9bb0..d526db397c59 100644 --- a/.github/workflows/auto_approve.yml +++ b/.github/workflows/auto_approve.yml @@ -13,8 +13,8 @@ jobs: if: github.repository == 'qmk/qmk_firmware' steps: - - uses: mheap/automatic-approve-action@v1 + - uses: zvecr/automatic-approve-action@safe_files with: token: ${{ secrets.QMK_BOT_TOKEN }} - workflows: "format.yml,lint.yml,unit_test.yml" - dangerous_files: "lib/python/,Makefile,paths.mk,builddefs/" + workflows: "labeler.yml,lint.yml,docs.yml" + safe_files: "keyboards/,docs/" From 8c35011d0aa242e9f6271d3a66ae6924d52bbed6 Mon Sep 17 00:00:00 2001 From: Nick Brassel Date: Wed, 24 Jul 2024 15:16:51 +1000 Subject: [PATCH 31/42] [CLI] Only generate files if contents change. (#24038) Don't overwrite if the content doesn't change. --- lib/python/qmk/commands.py | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/lib/python/qmk/commands.py b/lib/python/qmk/commands.py index 3db8353bfda9..df6ed6b88ab0 100644 --- a/lib/python/qmk/commands.py +++ b/lib/python/qmk/commands.py @@ -101,6 +101,12 @@ def dump_lines(output_file, lines, quiet=True): if output_file and output_file.name != '-': output_file.parent.mkdir(parents=True, exist_ok=True) if output_file.exists(): + with open(output_file, 'r', encoding='utf-8', newline='\n') as f: + existing = f.read() + if existing == generated: + if not quiet: + cli.log.info(f'No changes to {output_file.name}.') + return output_file.replace(output_file.parent / (output_file.name + '.bak')) output_file.write_text(generated, encoding='utf-8') From cf84ea766289dee4de3f93f87dd316478ff13fd7 Mon Sep 17 00:00:00 2001 From: Dasky <32983009+daskygit@users.noreply.github.com> Date: Fri, 26 Jul 2024 01:41:54 +0100 Subject: [PATCH 32/42] Fix Reverb lockup when using GCC14 (#24199) --- keyboards/dasky/reverb/graphics/display.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/keyboards/dasky/reverb/graphics/display.c b/keyboards/dasky/reverb/graphics/display.c index 13ac13ddb35d..476a222f0151 100644 --- a/keyboards/dasky/reverb/graphics/display.c +++ b/keyboards/dasky/reverb/graphics/display.c @@ -9,6 +9,7 @@ #include static painter_image_handle_t reverb_logo; +static painter_image_handle_t splash_image; static deferred_token display_task_token; static uint32_t key_pressed_count = 0; @@ -32,7 +33,6 @@ void display_init_kb(void) { if (!display_init_user()) { return; } - painter_image_handle_t splash_image; splash_image = qp_load_image_mem(gfx_splash); reverb_logo = qp_load_image_mem(gfx_reverb); qp_drawimage(reverb_display, 0, 0, splash_image); From d538451adb2a49bc1401aa90f4a66814dd723642 Mon Sep 17 00:00:00 2001 From: Dasky <32983009+daskygit@users.noreply.github.com> Date: Sun, 28 Jul 2024 19:16:15 +0100 Subject: [PATCH 33/42] Remove AVR GCC version warning (#24206) --- lib/python/qmk/cli/doctor/check.py | 5 ----- 1 file changed, 5 deletions(-) diff --git a/lib/python/qmk/cli/doctor/check.py b/lib/python/qmk/cli/doctor/check.py index cd69cdd11c8d..d563811aba91 100644 --- a/lib/python/qmk/cli/doctor/check.py +++ b/lib/python/qmk/cli/doctor/check.py @@ -53,11 +53,6 @@ def _check_avr_gcc_version(): version_number = ESSENTIAL_BINARIES['avr-gcc']['output'].strip() cli.log.info('Found avr-gcc version %s', version_number) - parsed_version = _parse_gcc_version(version_number) - if parsed_version['major'] > 8: - cli.log.warning('{fg_yellow}We do not recommend avr-gcc newer than 8. Downgrading to 8.x is recommended.') - return CheckStatus.WARNING - return CheckStatus.OK From 73cb6fd89f9cc0dc2a9eaa07ec24bae146d31662 Mon Sep 17 00:00:00 2001 From: Cipulot <40441626+Cipulot@users.noreply.github.com> Date: Wed, 31 Jul 2024 00:21:42 +0300 Subject: [PATCH 34/42] cipulot/ec_60x: Fix VIA layout options (#24217) This fixes the issue of one layout option not being applied correctly because it was out of bound. --- keyboards/cipulot/ec_60x/keymaps/via/config.h | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) create mode 100644 keyboards/cipulot/ec_60x/keymaps/via/config.h diff --git a/keyboards/cipulot/ec_60x/keymaps/via/config.h b/keyboards/cipulot/ec_60x/keymaps/via/config.h new file mode 100644 index 000000000000..08a4c0f74c6c --- /dev/null +++ b/keyboards/cipulot/ec_60x/keymaps/via/config.h @@ -0,0 +1,19 @@ +/* Copyright 2024 Cipulot + * + * 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 3 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 VIA_EEPROM_LAYOUT_OPTIONS_SIZE 2 From c7662e4f36116600c8b4d24944a17d5ac0a99845 Mon Sep 17 00:00:00 2001 From: akyp Date: Wed, 31 Jul 2024 08:07:51 +0800 Subject: [PATCH 35/42] [Keyboard] Add archerkeyboard/desire65 (#23776) Co-authored-by: jack <0x6a73@protonmail.com> --- .../archerkeyboard/desire65/keyboard.json | 192 ++++++++++++++++++ .../desire65/keymaps/default/keymap.c | 24 +++ .../desire65/keymaps/via/keymap.c | 24 +++ .../desire65/keymaps/via/rules.mk | 1 + keyboards/archerkeyboard/desire65/readme.md | 27 +++ 5 files changed, 268 insertions(+) create mode 100644 keyboards/archerkeyboard/desire65/keyboard.json create mode 100644 keyboards/archerkeyboard/desire65/keymaps/default/keymap.c create mode 100644 keyboards/archerkeyboard/desire65/keymaps/via/keymap.c create mode 100644 keyboards/archerkeyboard/desire65/keymaps/via/rules.mk create mode 100644 keyboards/archerkeyboard/desire65/readme.md diff --git a/keyboards/archerkeyboard/desire65/keyboard.json b/keyboards/archerkeyboard/desire65/keyboard.json new file mode 100644 index 000000000000..eb1c2a1245e6 --- /dev/null +++ b/keyboards/archerkeyboard/desire65/keyboard.json @@ -0,0 +1,192 @@ +{ + "manufacturer": "archerkeyboard", + "keyboard_name": "desire65", + "maintainer": "akyp", + "bootloader": "rp2040", + "diode_direction": "COL2ROW", + "features": { + "bootmagic": true, + "extrakey": true, + "mousekey": true, + "nkro": true, + "rgblight": true + }, + "indicators": { + "caps_lock": "GP18" + }, + "matrix_pins": { + "cols": ["GP21", "GP29", "GP1", "GP0", "GP15", "GP14", "GP13", "GP12", "GP11", "GP10", "GP9", "GP8", "GP2", "GP5", "GP4", "GP3"], + "rows": ["GP24", "GP25", "GP19", "GP16", "GP17"] + }, + "processor": "RP2040", + "rgblight": { + "animations": { + "breathing": true, + "rainbow_mood": true, + "rainbow_swirl": true, + "static_gradient": true, + "twinkle": true + }, + "default": { + "animation": "rainbow_mood", + "val": 128 + }, + "driver": "ws2812", + "led_count": 17, + "sleep": true + }, + "url": "https://archerkeyboard.com", + "usb": { + "device_version": "0.0.1", + "pid": "0x0002", + "vid": "0x0361" + }, + "ws2812": { + "driver": "vendor", + "pin": "GP26" + }, + "community_layouts": ["65_ansi_blocker_tsangan", "65_ansi_blocker_tsangan_split_bs"], + "layouts": { + "LAYOUT_65_ansi_blocker_tsangan": { + "layout": [ + {"label": "Esc", "matrix": [0, 0], "x": 0, "y": 0}, + {"label": "!", "matrix": [0, 1], "x": 1, "y": 0}, + {"label": "@", "matrix": [0, 2], "x": 2, "y": 0}, + {"label": "#", "matrix": [0, 3], "x": 3, "y": 0}, + {"label": "$", "matrix": [0, 4], "x": 4, "y": 0}, + {"label": "%", "matrix": [0, 5], "x": 5, "y": 0}, + {"label": "^", "matrix": [0, 6], "x": 6, "y": 0}, + {"label": "&", "matrix": [0, 7], "x": 7, "y": 0}, + {"label": "*", "matrix": [0, 8], "x": 8, "y": 0}, + {"label": "(", "matrix": [0, 9], "x": 9, "y": 0}, + {"label": ")", "matrix": [0, 10], "x": 10, "y": 0}, + {"label": "_", "matrix": [0, 11], "x": 11, "y": 0}, + {"label": "+", "matrix": [0, 12], "x": 12, "y": 0}, + {"label": "Backspace", "matrix": [0, 14], "x": 13, "y": 0, "w": 2}, + {"label": "Home", "matrix": [0, 15], "x": 15, "y": 0}, + {"label": "Tab", "matrix": [1, 0], "x": 0, "y": 1, "w": 1.5}, + {"label": "Q", "matrix": [1, 2], "x": 1.5, "y": 1}, + {"label": "W", "matrix": [1, 3], "x": 2.5, "y": 1}, + {"label": "E", "matrix": [1, 4], "x": 3.5, "y": 1}, + {"label": "R", "matrix": [1, 5], "x": 4.5, "y": 1}, + {"label": "T", "matrix": [1, 6], "x": 5.5, "y": 1}, + {"label": "Y", "matrix": [1, 7], "x": 6.5, "y": 1}, + {"label": "U", "matrix": [1, 8], "x": 7.5, "y": 1}, + {"label": "I", "matrix": [1, 9], "x": 8.5, "y": 1}, + {"label": "O", "matrix": [1, 10], "x": 9.5, "y": 1}, + {"label": "P", "matrix": [1, 11], "x": 10.5, "y": 1}, + {"label": "{", "matrix": [1, 12], "x": 11.5, "y": 1}, + {"label": "}", "matrix": [1, 13], "x": 12.5, "y": 1}, + {"label": "|", "matrix": [1, 14], "x": 13.5, "y": 1, "w": 1.5}, + {"label": "End", "matrix": [1, 15], "x": 15, "y": 1}, + {"label": "Caps Lock", "matrix": [2, 0], "x": 0, "y": 2, "w": 1.25}, + {"label": "A", "matrix": [2, 2], "x": 1.75, "y": 2}, + {"label": "S", "matrix": [2, 3], "x": 2.75, "y": 2}, + {"label": "D", "matrix": [2, 4], "x": 3.75, "y": 2}, + {"label": "F", "matrix": [2, 5], "x": 4.75, "y": 2}, + {"label": "G", "matrix": [2, 6], "x": 5.75, "y": 2}, + {"label": "H", "matrix": [2, 7], "x": 6.75, "y": 2}, + {"label": "J", "matrix": [2, 8], "x": 7.75, "y": 2}, + {"label": "K", "matrix": [2, 9], "x": 8.75, "y": 2}, + {"label": "L", "matrix": [2, 10], "x": 9.75, "y": 2}, + {"label": ":", "matrix": [2, 11], "x": 10.75, "y": 2}, + {"label": "\"", "matrix": [2, 12], "x": 11.75, "y": 2}, + {"label": "Enter", "matrix": [2, 14], "x": 12.75, "y": 2, "w": 2.25}, + {"label": "PgUp", "matrix": [2, 15], "x": 15, "y": 2}, + {"label": "Shift", "matrix": [3, 0], "x": 0, "y": 3, "w": 2.25}, + {"label": "Z", "matrix": [3, 2], "x": 2.25, "y": 3}, + {"label": "X", "matrix": [3, 3], "x": 3.25, "y": 3}, + {"label": "C", "matrix": [3, 4], "x": 4.25, "y": 3}, + {"label": "V", "matrix": [3, 5], "x": 5.25, "y": 3}, + {"label": "B", "matrix": [3, 6], "x": 6.25, "y": 3}, + {"label": "N", "matrix": [3, 7], "x": 7.25, "y": 3}, + {"label": "M", "matrix": [3, 8], "x": 8.25, "y": 3}, + {"label": "<", "matrix": [3, 9], "x": 9.25, "y": 3}, + {"label": ">", "matrix": [3, 10], "x": 10.25, "y": 3}, + {"label": "?", "matrix": [3, 11], "x": 11.25, "y": 3}, + {"label": "Shift", "matrix": [3, 13], "x": 12.25, "y": 3, "w": 1.75}, + {"label": "Up", "matrix": [3, 14], "x": 14, "y": 3}, + {"label": "PgDn", "matrix": [3, 15], "x": 15, "y": 3}, + {"label": "Ctrl", "matrix": [4, 0], "x": 0, "y": 4, "w": 1.5}, + {"label": "Win", "matrix": [4, 2], "x": 1.5, "y": 4}, + {"label": "Alt", "matrix": [4, 3], "x": 2.5, "y": 4, "w": 1.5}, + {"matrix": [4, 7], "x": 4, "y": 4, "w": 7}, + {"label": "Alt", "matrix": [4, 11], "x": 11, "y": 4, "w": 1.5}, + {"label": "Left", "matrix": [4, 13], "x": 13, "y": 4}, + {"label": "Down", "matrix": [4, 14], "x": 14, "y": 4}, + {"label": "Right", "matrix": [4, 15], "x": 15, "y": 4} + ] + }, + "LAYOUT_65_ansi_blocker_tsangan_split_bs": { + "layout": [ + {"label": "Esc", "matrix": [0, 0], "x": 0, "y": 0}, + {"label": "!", "matrix": [0, 1], "x": 1, "y": 0}, + {"label": "@", "matrix": [0, 2], "x": 2, "y": 0}, + {"label": "#", "matrix": [0, 3], "x": 3, "y": 0}, + {"label": "$", "matrix": [0, 4], "x": 4, "y": 0}, + {"label": "%", "matrix": [0, 5], "x": 5, "y": 0}, + {"label": "^", "matrix": [0, 6], "x": 6, "y": 0}, + {"label": "&", "matrix": [0, 7], "x": 7, "y": 0}, + {"label": "*", "matrix": [0, 8], "x": 8, "y": 0}, + {"label": "(", "matrix": [0, 9], "x": 9, "y": 0}, + {"label": ")", "matrix": [0, 10], "x": 10, "y": 0}, + {"label": "_", "matrix": [0, 11], "x": 11, "y": 0}, + {"label": "+", "matrix": [0, 12], "x": 12, "y": 0}, + {"matrix": [0, 13], "x": 13, "y": 0}, + {"matrix": [0, 14], "x": 14, "y": 0}, + {"label": "Home", "matrix": [0, 15], "x": 15, "y": 0}, + {"label": "Tab", "matrix": [1, 0], "x": 0, "y": 1, "w": 1.5}, + {"label": "Q", "matrix": [1, 2], "x": 1.5, "y": 1}, + {"label": "W", "matrix": [1, 3], "x": 2.5, "y": 1}, + {"label": "E", "matrix": [1, 4], "x": 3.5, "y": 1}, + {"label": "R", "matrix": [1, 5], "x": 4.5, "y": 1}, + {"label": "T", "matrix": [1, 6], "x": 5.5, "y": 1}, + {"label": "Y", "matrix": [1, 7], "x": 6.5, "y": 1}, + {"label": "U", "matrix": [1, 8], "x": 7.5, "y": 1}, + {"label": "I", "matrix": [1, 9], "x": 8.5, "y": 1}, + {"label": "O", "matrix": [1, 10], "x": 9.5, "y": 1}, + {"label": "P", "matrix": [1, 11], "x": 10.5, "y": 1}, + {"label": "{", "matrix": [1, 12], "x": 11.5, "y": 1}, + {"label": "}", "matrix": [1, 13], "x": 12.5, "y": 1}, + {"label": "|", "matrix": [1, 14], "x": 13.5, "y": 1, "w": 1.5}, + {"label": "End", "matrix": [1, 15], "x": 15, "y": 1}, + {"label": "Caps Lock", "matrix": [2, 0], "x": 0, "y": 2, "w": 1.25}, + {"label": "A", "matrix": [2, 2], "x": 1.75, "y": 2}, + {"label": "S", "matrix": [2, 3], "x": 2.75, "y": 2}, + {"label": "D", "matrix": [2, 4], "x": 3.75, "y": 2}, + {"label": "F", "matrix": [2, 5], "x": 4.75, "y": 2}, + {"label": "G", "matrix": [2, 6], "x": 5.75, "y": 2}, + {"label": "H", "matrix": [2, 7], "x": 6.75, "y": 2}, + {"label": "J", "matrix": [2, 8], "x": 7.75, "y": 2}, + {"label": "K", "matrix": [2, 9], "x": 8.75, "y": 2}, + {"label": "L", "matrix": [2, 10], "x": 9.75, "y": 2}, + {"label": ":", "matrix": [2, 11], "x": 10.75, "y": 2}, + {"label": "\"", "matrix": [2, 12], "x": 11.75, "y": 2}, + {"label": "Enter", "matrix": [2, 14], "x": 12.75, "y": 2, "w": 2.25}, + {"label": "PgUp", "matrix": [2, 15], "x": 15, "y": 2}, + {"label": "Shift", "matrix": [3, 0], "x": 0, "y": 3, "w": 2.25}, + {"label": "Z", "matrix": [3, 2], "x": 2.25, "y": 3}, + {"label": "X", "matrix": [3, 3], "x": 3.25, "y": 3}, + {"label": "C", "matrix": [3, 4], "x": 4.25, "y": 3}, + {"label": "V", "matrix": [3, 5], "x": 5.25, "y": 3}, + {"label": "B", "matrix": [3, 6], "x": 6.25, "y": 3}, + {"label": "N", "matrix": [3, 7], "x": 7.25, "y": 3}, + {"label": "M", "matrix": [3, 8], "x": 8.25, "y": 3}, + {"label": "<", "matrix": [3, 9], "x": 9.25, "y": 3}, + {"label": ">", "matrix": [3, 10], "x": 10.25, "y": 3}, + {"label": "?", "matrix": [3, 11], "x": 11.25, "y": 3}, + {"label": "Shift", "matrix": [3, 13], "x": 12.25, "y": 3, "w": 1.75}, + {"label": "Up", "matrix": [3, 14], "x": 14, "y": 3}, + {"label": "PgDn", "matrix": [3, 15], "x": 15, "y": 3}, + {"label": "Ctrl", "matrix": [4, 0], "x": 0, "y": 4, "w": 1.5}, + {"label": "Win", "matrix": [4, 2], "x": 1.5, "y": 4}, + {"label": "Alt", "matrix": [4, 3], "x": 2.5, "y": 4, "w": 1.5}, + {"matrix": [4, 7], "x": 4, "y": 4, "w": 7}, + {"label": "Alt", "matrix": [4, 11], "x": 11, "y": 4, "w": 1.5}, + {"label": "Left", "matrix": [4, 13], "x": 13, "y": 4}, + {"label": "Down", "matrix": [4, 14], "x": 14, "y": 4}, + {"label": "Right", "matrix": [4, 15], "x": 15, "y": 4} + ] + } + } +} diff --git a/keyboards/archerkeyboard/desire65/keymaps/default/keymap.c b/keyboards/archerkeyboard/desire65/keymaps/default/keymap.c new file mode 100644 index 000000000000..ef19ddca0db1 --- /dev/null +++ b/keyboards/archerkeyboard/desire65/keymaps/default/keymap.c @@ -0,0 +1,24 @@ +// Copyright 2024 ArcherKeyboard (archerkeyboard2022@gmail.com) +// SPDX-License-Identifier: GPL-2.0-or-later + +#include QMK_KEYBOARD_H + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + + [0] = LAYOUT_65_ansi_blocker_tsangan_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_BSLS, 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_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_PGUP, + 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_PGDN, + KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, MO(1), KC_LEFT, KC_DOWN, KC_RIGHT + ), + + [1] = LAYOUT_65_ansi_blocker_tsangan_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_INS, _______, KC_PSCR, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, KC_CALC, _______, _______, _______, _______, _______, _______, _______, KC_MPLY, KC_VOLU, _______, + _______, _______, _______, _______, _______, KC_MPRV, KC_VOLD, KC_MNXT + ), + +}; diff --git a/keyboards/archerkeyboard/desire65/keymaps/via/keymap.c b/keyboards/archerkeyboard/desire65/keymaps/via/keymap.c new file mode 100644 index 000000000000..ef19ddca0db1 --- /dev/null +++ b/keyboards/archerkeyboard/desire65/keymaps/via/keymap.c @@ -0,0 +1,24 @@ +// Copyright 2024 ArcherKeyboard (archerkeyboard2022@gmail.com) +// SPDX-License-Identifier: GPL-2.0-or-later + +#include QMK_KEYBOARD_H + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + + [0] = LAYOUT_65_ansi_blocker_tsangan_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_BSLS, 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_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_PGUP, + 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_PGDN, + KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, MO(1), KC_LEFT, KC_DOWN, KC_RIGHT + ), + + [1] = LAYOUT_65_ansi_blocker_tsangan_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_INS, _______, KC_PSCR, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, KC_CALC, _______, _______, _______, _______, _______, _______, _______, KC_MPLY, KC_VOLU, _______, + _______, _______, _______, _______, _______, KC_MPRV, KC_VOLD, KC_MNXT + ), + +}; diff --git a/keyboards/archerkeyboard/desire65/keymaps/via/rules.mk b/keyboards/archerkeyboard/desire65/keymaps/via/rules.mk new file mode 100644 index 000000000000..1e5b99807cb7 --- /dev/null +++ b/keyboards/archerkeyboard/desire65/keymaps/via/rules.mk @@ -0,0 +1 @@ +VIA_ENABLE = yes diff --git a/keyboards/archerkeyboard/desire65/readme.md b/keyboards/archerkeyboard/desire65/readme.md new file mode 100644 index 000000000000..5d170ad475f5 --- /dev/null +++ b/keyboards/archerkeyboard/desire65/readme.md @@ -0,0 +1,27 @@ +# desire65 + +![desire65](https://i.imgur.com/bTjvGzC.jpg) + +A desirable 65% keyboard + +* Keyboard Maintainer: [ArcherKeyboard](https://github.com/akyp) +* Hardware Supported: Desire65 PCB +* Hardware Availability: [Open source on GitHub](https://github.com/akyp/desire65-pcb) + +Make example for this keyboard (after setting up your build environment): + + make archerkeyboard/desire65:default + +Flashing example for this keyboard: + + make archerkeyboard/desire65: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**: Hold the "USB_BOOT" button on the back of the PCB (the one closest to the MCU) and briefly press the "RESET" button on the back of the PCB +* **Keycode in layout**: Press the key mapped to `QK_BOOT` if it is available \ No newline at end of file From d28a50e1766abf34c49e277c7d25dd6aea57050f Mon Sep 17 00:00:00 2001 From: Christian Greene <95236755+falsonix@users.noreply.github.com> Date: Sat, 3 Aug 2024 16:11:49 -0600 Subject: [PATCH 36/42] FX19 Support (#24220) --- keyboards/falsonix/fx19/keyboard.json | 68 +++++++++++++++++++ .../falsonix/fx19/keymaps/default/keymap.c | 27 ++++++++ keyboards/falsonix/fx19/readme.md | 26 +++++++ 3 files changed, 121 insertions(+) create mode 100644 keyboards/falsonix/fx19/keyboard.json create mode 100644 keyboards/falsonix/fx19/keymaps/default/keymap.c create mode 100644 keyboards/falsonix/fx19/readme.md diff --git a/keyboards/falsonix/fx19/keyboard.json b/keyboards/falsonix/fx19/keyboard.json new file mode 100644 index 000000000000..4ef4730a5d64 --- /dev/null +++ b/keyboards/falsonix/fx19/keyboard.json @@ -0,0 +1,68 @@ +{ + "manufacturer": "Falsonix", + "keyboard_name": "falsonix/fx19", + "maintainer": "falsonix", + "bootloader": "atmel-dfu", + "diode_direction": "COL2ROW", + "features": { + "bootmagic": true, + "command": false, + "console": false, + "extrakey": true, + "mousekey": true, + "nkro": true, + "rgblight": true + }, + "rgblight": { + "led_count": 5, + "animations": { + "rainbow_mood": true, + "rainbow_swirl": true + }, + "default": { + "animation": "rainbow_swirl" + } + }, + "ws2812": { + "pin": "F7" + }, + "matrix_pins": { + "cols": ["C7", "C6", "B6", "B5"], + "rows": ["F0", "F1", "F4", "F5", "F6"] + }, + "processor": "atmega32u4", + "url": "", + "usb": { + "device_version": "1.0.0", + "pid": "0x0000", + "vid": "0x4658" + }, + "layouts": { + "LAYOUT": { + "layout": [ + {"matrix": [0, 0], "x":0, "y":0}, + {"matrix": [0, 1], "x":1, "y":0}, + {"matrix": [0, 2], "x":2, "y":0}, + {"matrix": [0, 3], "x":3, "y":0}, + + {"matrix": [1, 0], "x":0, "y":1}, + {"matrix": [1, 1], "x":1, "y":1}, + {"matrix": [1, 2], "x":2, "y":1}, + + {"matrix": [2, 0], "x":0, "y":2}, + {"matrix": [2, 1], "x":1, "y":2}, + {"matrix": [2, 2], "x":2, "y":2}, + {"matrix": [2, 3], "x":3, "y":2, "h": 2}, + + {"matrix": [3, 0], "x":0, "y":3}, + {"matrix": [3, 1], "x":1, "y":3}, + {"matrix": [3, 2], "x":2, "y":3}, + + {"matrix": [4, 0], "x":0, "y":4}, + {"matrix": [4, 1], "x":1, "y":4}, + {"matrix": [4, 2], "x":2, "y":4}, + {"matrix": [4, 3], "x":3, "y":4, "h": 2} + ] + } + } +} diff --git a/keyboards/falsonix/fx19/keymaps/default/keymap.c b/keyboards/falsonix/fx19/keymaps/default/keymap.c new file mode 100644 index 000000000000..4404d65a844e --- /dev/null +++ b/keyboards/falsonix/fx19/keymaps/default/keymap.c @@ -0,0 +1,27 @@ +// Copyright 2023 QMK +// SPDX-License-Identifier: GPL-2.0-or-later + +#include QMK_KEYBOARD_H + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + /* + *┌───┬───┬───┬───┐ + * Num│ / │ * │ - │ + *├───┼───┼───┼───┤ + *│ 7 │ 8 │ 9 │ + │ + *├───┼───┼───┤ │ + *│ 4 │ 5 │ 6 │ │ + *├───┼───┼───┤───┤ + *│ 1 │ 2 │ 3 │ │ + *├───┼───┼───┤Ent│ + *│Win│ 0 │ . │ │ + *┴───┴───┴───┴───┘ + */ + [0] = LAYOUT( + KC_LNUM, 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_RWIN, KC_P0, KC_PDOT, KC_PENT + ) +}; diff --git a/keyboards/falsonix/fx19/readme.md b/keyboards/falsonix/fx19/readme.md new file mode 100644 index 000000000000..9c69f7812d05 --- /dev/null +++ b/keyboards/falsonix/fx19/readme.md @@ -0,0 +1,26 @@ +# falsonix/fx19 + +![falsonix/fx19](https://i.imgur.com/UGExzJl.png) + +A small, 18-key number pad for use with modern computers. (Yes, the name says 19 and this is due to me miscounting the keys and realizing only after I'd named everything in firmware and hardware). Includes RGB for maximum performance. + +* Keyboard Maintainer: [falsonix](https://github.com/falsonix) +* Hardware Supported: *FX19 Numpads* +* Hardware Availability: *DIY by the enduser* + +Make example for this keyboard (after setting up your build environment): + + make falsonix/fx19:default + +Flashing example for this keyboard: + + make falsonix/fx19: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 2 ways: + +* **Bootmagic reset**: Hold down the key at (0,0) in the matrix (the top left key) and plug in the keyboard +* **Physical reset button**: Briefly press the button on the front of the PCB From eb78ca1c1ad781d827acb1f0b65f6ac3475710ee Mon Sep 17 00:00:00 2001 From: Ryan Date: Sun, 4 Aug 2024 09:37:57 +1000 Subject: [PATCH 37/42] `handwired/p65rgb`: move RGB Matrix LED config to data driven (#24124) --- keyboards/handwired/p65rgb/config.h | 20 ----- keyboards/handwired/p65rgb/keyboard.json | 96 +++++++++++++++++++++++- keyboards/handwired/p65rgb/p65rgb.c | 22 +----- 3 files changed, 97 insertions(+), 41 deletions(-) delete mode 100644 keyboards/handwired/p65rgb/config.h diff --git a/keyboards/handwired/p65rgb/config.h b/keyboards/handwired/p65rgb/config.h deleted file mode 100644 index 776088feb025..000000000000 --- a/keyboards/handwired/p65rgb/config.h +++ /dev/null @@ -1,20 +0,0 @@ -/* -Copyright 2019 marhalloweenvt - -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 RGB_MATRIX_LED_COUNT 83 diff --git a/keyboards/handwired/p65rgb/keyboard.json b/keyboards/handwired/p65rgb/keyboard.json index 474e2b8edd4a..b80a1e7f4913 100644 --- a/keyboards/handwired/p65rgb/keyboard.json +++ b/keyboards/handwired/p65rgb/keyboard.json @@ -57,6 +57,100 @@ "solid_splash": true, "solid_multisplash": true }, + "layout": [ + {"matrix": [0, 0], "x": 0, "y": 0, "flags": 1}, + {"matrix": [0, 1], "x": 15, "y": 0, "flags": 4}, + {"matrix": [0, 2], "x": 30, "y": 0, "flags": 4}, + {"matrix": [0, 3], "x": 45, "y": 0, "flags": 4}, + {"matrix": [0, 4], "x": 60, "y": 0, "flags": 4}, + {"matrix": [0, 5], "x": 75, "y": 0, "flags": 4}, + {"matrix": [0, 6], "x": 90, "y": 0, "flags": 4}, + {"matrix": [0, 7], "x": 105, "y": 0, "flags": 4}, + {"matrix": [0, 8], "x": 119, "y": 0, "flags": 4}, + {"matrix": [0, 9], "x": 134, "y": 0, "flags": 4}, + {"matrix": [0, 10], "x": 149, "y": 0, "flags": 4}, + {"matrix": [0, 11], "x": 164, "y": 0, "flags": 4}, + {"matrix": [0, 12], "x": 179, "y": 0, "flags": 4}, + {"matrix": [0, 13], "x": 194, "y": 0, "flags": 1}, + {"x": 202, "y": 0, "flags": 1}, + {"matrix": [0, 14], "x": 209, "y": 0, "flags": 1}, + {"matrix": [0, 15], "x": 224, "y": 0, "flags": 4}, + + {"x": 224, "y": 8, "flags": 2}, + + {"matrix": [1, 15], "x": 224, "y": 16, "flags": 4}, + {"matrix": [1, 14], "x": 205, "y": 16, "flags": 1}, + {"matrix": [1, 12], "x": 187, "y": 16, "flags": 4}, + {"matrix": [1, 11], "x": 172, "y": 16, "flags": 4}, + {"matrix": [1, 10], "x": 157, "y": 16, "flags": 4}, + {"matrix": [1, 9], "x": 142, "y": 16, "flags": 4}, + {"matrix": [1, 8], "x": 127, "y": 16, "flags": 4}, + {"matrix": [1, 7], "x": 112, "y": 16, "flags": 4}, + {"matrix": [1, 6], "x": 97, "y": 16, "flags": 4}, + {"matrix": [1, 5], "x": 82, "y": 16, "flags": 4}, + {"matrix": [1, 4], "x": 67, "y": 16, "flags": 4}, + {"matrix": [1, 3], "x": 52, "y": 16, "flags": 4}, + {"matrix": [1, 2], "x": 37, "y": 16, "flags": 4}, + {"matrix": [1, 1], "x": 22, "y": 16, "flags": 4}, + {"matrix": [1, 0], "x": 4, "y": 16, "flags": 1}, + + {"x": 0, "y": 8, "flags": 2}, + {"x": 0, "y": 24, "flags": 2}, + + {"matrix": [2, 0], "x": 6, "y": 32, "flags": 1}, + {"matrix": [2, 1], "x": 26, "y": 32, "flags": 4}, + {"matrix": [2, 2], "x": 41, "y": 32, "flags": 4}, + {"matrix": [2, 3], "x": 56, "y": 32, "flags": 4}, + {"matrix": [2, 4], "x": 71, "y": 32, "flags": 4}, + {"matrix": [2, 5], "x": 86, "y": 32, "flags": 4}, + {"matrix": [2, 6], "x": 101, "y": 32, "flags": 4}, + {"matrix": [2, 7], "x": 116, "y": 32, "flags": 4}, + {"matrix": [2, 8], "x": 131, "y": 32, "flags": 4}, + {"matrix": [2, 9], "x": 146, "y": 32, "flags": 4}, + {"matrix": [2, 10], "x": 161, "y": 32, "flags": 4}, + {"matrix": [2, 11], "x": 175, "y": 32, "flags": 4}, + {"matrix": [2, 12], "x": 190, "y": 32, "flags": 4}, + {"x": 200, "y": 32, "flags": 1}, + {"matrix": [2, 14], "x": 207, "y": 32, "flags": 1}, + {"matrix": [2, 15], "x": 224, "y": 32, "flags": 4}, + + {"x": 224, "y": 24, "flags": 2}, + {"x": 224, "y": 40, "flags": 2}, + + {"matrix": [3, 15], "x": 224, "y": 48, "flags": 4}, + {"matrix": [3, 14], "x": 209, "y": 48, "flags": 4}, + {"matrix": [3, 12], "x": 189, "y": 48, "flags": 1}, + {"matrix": [3, 10], "x": 168, "y": 48, "flags": 4}, + {"matrix": [3, 9], "x": 153, "y": 48, "flags": 4}, + {"matrix": [3, 8], "x": 138, "y": 48, "flags": 4}, + {"matrix": [3, 7], "x": 123, "y": 48, "flags": 4}, + {"matrix": [3, 6], "x": 108, "y": 48, "flags": 4}, + {"matrix": [3, 5], "x": 93, "y": 48, "flags": 4}, + {"matrix": [3, 4], "x": 78, "y": 48, "flags": 4}, + {"matrix": [3, 3], "x": 63, "y": 48, "flags": 4}, + {"matrix": [3, 2], "x": 49, "y": 48, "flags": 4}, + {"matrix": [3, 1], "x": 34, "y": 48, "flags": 4}, + {"matrix": [3, 0], "x": 9, "y": 48, "flags": 1}, + + {"x": 0, "y": 40, "flags": 2}, + {"x": 0, "y": 56, "flags": 2}, + + {"matrix": [4, 0], "x": 2, "y": 64, "flags": 1}, + {"x": 4, "y": 64, "flags": 1}, + {"matrix": [4, 1], "x": 21, "y": 64, "flags": 1}, + {"x": 26, "y": 64, "flags": 1}, + {"matrix": [4, 2], "x": 39, "y": 64, "flags": 1}, + {"matrix": [4, 5], "x": 95, "y": 64, "flags": 4}, + {"x": 105, "y": 64, "flags": 4}, + {"matrix": [4, 9], "x": 151, "y": 64, "flags": 1}, + {"matrix": [4, 10], "x": 170, "y": 64, "flags": 1}, + {"x": 172, "y": 64, "flags": 1}, + {"matrix": [4, 12], "x": 194, "y": 64, "flags": 4}, + {"matrix": [4, 14], "x": 209, "y": 64, "flags": 4}, + {"matrix": [4, 15], "x": 224, "y": 64, "flags": 4}, + + {"x": 224, "y": 56, "flags": 2} + ], "driver": "ws2812", "led_flush_limit": 26, "led_process_limit": 4, @@ -84,7 +178,7 @@ } }, "matrix_pins": { - "cols": ["E6", "F0", "F1", "F4", "F5", "F6", "F7", "B0", "B1", "B2", "B3", "B7", "D0", "D1", "D2", "D3", "D7"], + "cols": ["E6", "F0", "F1", "F4", "F5", "F6", "F7", "B0", "B1", "B2", "B3", "B7", "D0", "D1", "D2", "D3"], "rows": ["C7", "C6", "B6", "B5", "D5"] }, "diode_direction": "COL2ROW", diff --git a/keyboards/handwired/p65rgb/p65rgb.c b/keyboards/handwired/p65rgb/p65rgb.c index 86bca2a7f98b..3d7185f9d18d 100644 --- a/keyboards/handwired/p65rgb/p65rgb.c +++ b/keyboards/handwired/p65rgb/p65rgb.c @@ -16,26 +16,7 @@ #include "quantum.h" -led_config_t g_led_config = { { - { 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16 }, - { 33, 32, 31, 30, 29, 28, 27, 26, 25, 24, 23, 22, 21, 20, 19, 18, 17 }, - { 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50 }, - { 67, 66, 65, 64, 63, 62, 61, 60, 59, 58, 57, 56, 55, 54, 53, 52, 51 }, - { 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82 } -}, { - { 0, 0 }, { 15, 0 }, { 30, 0 }, { 45, 0 }, { 60, 0 }, { 75, 0 }, { 90, 0 }, {105, 0 }, {120, 0 }, {135, 0 }, {150, 0 }, {165, 0 }, {180, 0 }, {195, 0 }, {205, 0 }, {210, 0 }, {224, 0 }, - { 224,16 }, {224, 16 }, {210, 16 }, {180, 16 }, {165, 16 }, {150, 16 }, {135, 16 }, {120, 16 }, {105, 16 }, { 90, 16 }, { 75, 16 }, { 60, 16 }, { 45, 16 }, { 30, 16 }, { 15, 16 }, { 0, 16 }, { 0, 16 }, - { 0, 32 }, { 0, 32 }, { 15, 32 }, { 30, 32 }, { 45, 32 }, { 60, 32 }, { 75, 32 }, { 90, 32 }, {105, 32 }, {120, 32 }, {135, 32 }, {150, 32 }, {165, 32 }, {190, 32 }, {205, 32 }, {210, 32 }, {224, 32 }, - { 224, 8 }, {224, 48 }, {210, 48 }, {195, 48 }, {180, 48 }, {150, 48 }, {135, 48 }, {120, 48 }, {105, 48 }, { 90, 48 }, { 75, 48 }, { 60, 48 }, { 45, 48 }, { 30, 48 }, { 15, 48 }, { 0, 48 }, { 0, 48 }, - { 0, 64 }, { 0, 64 }, { 0, 64 }, { 15, 64 }, { 15, 64 }, { 40, 64 }, { 90, 64 }, {105, 64 }, {150, 64 }, {180, 64 }, {180, 64 }, {195, 64 }, {210, 64 }, {220, 64 }, {224, 64 } -}, { - 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 2, 1, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 1, 2, - 2, 1, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 1, - 2, 2, 1, 1, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 1, 2, - 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2 -} }; - +#ifdef RGB_MATRIX_ENABLE void suspend_power_down_kb(void) { rgb_matrix_set_suspend_state(true); @@ -47,3 +28,4 @@ void suspend_wakeup_init_kb(void) rgb_matrix_set_suspend_state(false); suspend_wakeup_init_user(); } +#endif From fa657fef70236d0494e1e3f2ecebf962cccc15b1 Mon Sep 17 00:00:00 2001 From: Ryan Date: Sun, 4 Aug 2024 09:38:26 +1000 Subject: [PATCH 38/42] `atlantis/ak81_ve`: move RGB Matrix LED config to data driven (#24115) --- keyboards/atlantis/ak81_ve/ak81_ve.c | 30 ------ keyboards/atlantis/ak81_ve/config.h | 19 ---- keyboards/atlantis/ak81_ve/keyboard.json | 118 ++++++++++++++++++++++- 3 files changed, 117 insertions(+), 50 deletions(-) delete mode 100644 keyboards/atlantis/ak81_ve/config.h diff --git a/keyboards/atlantis/ak81_ve/ak81_ve.c b/keyboards/atlantis/ak81_ve/ak81_ve.c index 5f4ae20f15dd..764e1bc6d2af 100644 --- a/keyboards/atlantis/ak81_ve/ak81_ve.c +++ b/keyboards/atlantis/ak81_ve/ak81_ve.c @@ -16,36 +16,6 @@ #include "quantum.h" -#ifdef RGB_MATRIX_ENABLE -led_config_t g_led_config = { { - // Key Matrix to LED Index - { 12, 11, 10, 9, 8, 7, 6, 5, 4, NO_LED, 3, 2, 1, 0 }, // 13 keys - { 27, 26, 25, 24, 23, 22, 21, 20, 19, 18, 17, 16, 15, 14, 13 }, // 15 keys - { 42, 41, 40, 39, 38, 37, 36, 35, 34, 33, 32, 31, 30, 29, 28 }, // 15 keys - { 56, 55, 54, 53, 52, 51, 50, 49, 48, 47, 46, 45, 44, NO_LED, 43 }, // 14 keys - { 70, 69, 68, 67, 66, 65, 64, 63, 62, 61, 60, 59, NO_LED, 58, 57 }, // 14 keys - { 79, 78, 77, NO_LED, NO_LED, NO_LED, 76, NO_LED, NO_LED, NO_LED, 75, 74, 73, 72, 71 } // 9 keys -}, { - // LED Index to Physical Positon - { 240, 0 }, { 224, 0 }, { 208, 0 }, { 192, 0 }, { 176, 0 }, { 160, 0 }, { 144, 0 }, { 128, 0 }, { 112, 0 }, { 96, 0 }, { 80, 0 }, { 64, 0 }, { 32, 0 }, - { 240, 13 }, { 224, 13 }, { 208, 13 }, { 192 , 13 }, { 176, 13 }, { 160, 13 }, { 144, 13 }, { 128, 13 }, { 112, 13 }, { 96, 13 }, { 80, 13 }, { 64, 13}, { 48, 13 }, { 32, 13 }, { 16, 13 }, - { 240, 26 }, { 224, 26 }, { 208, 26 }, { 192 , 26 }, { 176, 26 }, { 160, 26 }, { 144, 26 }, { 128, 26 }, { 112, 26 }, { 96, 26 }, { 80, 26 }, { 64, 26}, { 48, 26 }, { 32, 26 }, { 16, 26 }, - { 240, 39 }, { 216, 39 }, { 192 , 39 }, { 176, 39 }, { 160, 39 }, { 144, 39 }, { 128, 39 }, { 112, 39 }, { 96, 39 }, { 80, 39 }, { 64, 39}, { 48, 39 }, { 32, 39 }, { 16, 39 }, - { 240, 52 }, { 224, 52 }, { 208, 52 }, { 192 , 52 }, { 176, 52 }, { 160, 52 }, { 144, 52 }, { 128, 52 }, { 112, 52 }, { 96, 52 }, { 80, 52 }, { 64, 52}, { 48, 52 }, { 24, 52 }, - { 240, 64 }, { 224, 64 }, { 208, 64 }, { 192, 64 }, { 176, 64 }, { 112, 64 }, { 48, 64 }, { 32, 64 }, { 16, 64 }, - { 0, 26 }, { 0, 46 }, { 0, 64 }, { 48, 64 }, { 72, 64 }, { 104, 64 }, { 136, 64 }, { 168, 64 }, { 208, 64 }, { 232, 58 }, { 232, 45 }, { 232, 32 }, { 232, 20 }, { 232, 7 }, { 176, 0 }, { 112, 0 } -}, { - // LED Index to Flag - 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, - 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, - 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, - 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 8, - 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, - 4, 4, 4, 4, 4, 4, 4, 4, 4, - 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2 -} }; -#endif - #if defined(ENCODER_ENABLE) && !defined(ENCODER_MAP_ENABLE) bool encoder_update_kb(uint8_t index, bool clockwise) { if (!encoder_update_user(index, clockwise)) { diff --git a/keyboards/atlantis/ak81_ve/config.h b/keyboards/atlantis/ak81_ve/config.h deleted file mode 100644 index ab111a5ec5fd..000000000000 --- a/keyboards/atlantis/ak81_ve/config.h +++ /dev/null @@ -1,19 +0,0 @@ -/* Copyright 2022 @fOmey - * - * 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 RGB_MATRIX_LED_COUNT 96 diff --git a/keyboards/atlantis/ak81_ve/keyboard.json b/keyboards/atlantis/ak81_ve/keyboard.json index a2d064295c84..aa85a55e0ad1 100644 --- a/keyboards/atlantis/ak81_ve/keyboard.json +++ b/keyboards/atlantis/ak81_ve/keyboard.json @@ -58,7 +58,123 @@ }, "driver": "ws2812", "max_brightness": 130, - "sleep": true + "sleep": true, + "layout": [ + {"matrix": [0, 13], "x": 193, "y": 0, "flags": 4}, + {"matrix": [0, 12], "x": 179, "y": 0, "flags": 4}, + {"matrix": [0, 11], "x": 165, "y": 0, "flags": 4}, + {"matrix": [0, 10], "x": 152, "y": 0, "flags": 4}, + + {"matrix": [0, 8], "x": 131, "y": 0, "flags": 4}, + {"matrix": [0, 7], "x": 117, "y": 0, "flags": 4}, + {"matrix": [0, 6], "x": 103, "y": 0, "flags": 4}, + {"matrix": [0, 5], "x": 90, "y": 0, "flags": 4}, + + {"matrix": [0, 4], "x": 69, "y": 0, "flags": 4}, + {"matrix": [0, 3], "x": 55, "y": 0, "flags": 4}, + {"matrix": [0, 2], "x": 41, "y": 0, "flags": 4}, + {"matrix": [0, 1], "x": 28, "y": 0, "flags": 4}, + + {"matrix": [0, 0], "x": 0, "y": 0, "flags": 1}, + + {"matrix": [1, 14], "x": 224, "y": 12, "flags": 1}, + + {"matrix": [1, 13], "x": 186, "y": 12, "flags": 1}, + {"matrix": [1, 12], "x": 165, "y": 12, "flags": 4}, + {"matrix": [1, 11], "x": 152, "y": 12, "flags": 4}, + {"matrix": [1, 10], "x": 138, "y": 12, "flags": 4}, + {"matrix": [1, 9], "x": 124, "y": 12, "flags": 4}, + {"matrix": [1, 8], "x": 110, "y": 12, "flags": 4}, + {"matrix": [1, 7], "x": 96, "y": 12, "flags": 4}, + {"matrix": [1, 6], "x": 83, "y": 12, "flags": 4}, + {"matrix": [1, 5], "x": 69, "y": 12, "flags": 4}, + {"matrix": [1, 4], "x": 55, "y": 12, "flags": 4}, + {"matrix": [1, 3], "x": 41, "y": 12, "flags": 4}, + {"matrix": [1, 2], "x": 28, "y": 12, "flags": 4}, + {"matrix": [1, 1], "x": 14, "y": 12, "flags": 4}, + {"matrix": [1, 0], "x": 0, "y": 12, "flags": 4}, + + {"matrix": [2, 14], "x": 224, "y": 24, "flags": 1}, + + {"matrix": [2, 13], "x": 190, "y": 24, "flags": 1}, + {"matrix": [2, 12], "x": 172, "y": 24, "flags": 4}, + {"matrix": [2, 11], "x": 159, "y": 24, "flags": 4}, + {"matrix": [2, 10], "x": 145, "y": 24, "flags": 4}, + {"matrix": [2, 9], "x": 131, "y": 24, "flags": 4}, + {"matrix": [2, 8], "x": 117, "y": 24, "flags": 4}, + {"matrix": [2, 7], "x": 103, "y": 24, "flags": 4}, + {"matrix": [2, 6], "x": 90, "y": 24, "flags": 4}, + {"matrix": [2, 5], "x": 76, "y": 24, "flags": 4}, + {"matrix": [2, 4], "x": 62, "y": 24, "flags": 4}, + {"matrix": [2, 3], "x": 48, "y": 24, "flags": 4}, + {"matrix": [2, 2], "x": 34, "y": 24, "flags": 4}, + {"matrix": [2, 1], "x": 21, "y": 24, "flags": 4}, + {"matrix": [2, 0], "x": 3, "y": 24, "flags": 1}, + + {"matrix": [3, 14], "x": 224, "y": 37, "flags": 1}, + + {"matrix": [3, 12], "x": 184, "y": 37, "flags": 1}, + {"matrix": [3, 11], "x": 162, "y": 37, "flags": 4}, + {"matrix": [3, 10], "x": 148, "y": 37, "flags": 4}, + {"matrix": [3, 9], "x": 134, "y": 37, "flags": 4}, + {"matrix": [3, 8], "x": 121, "y": 37, "flags": 4}, + {"matrix": [3, 7], "x": 107, "y": 37, "flags": 4}, + {"matrix": [3, 6], "x": 93, "y": 37, "flags": 4}, + {"matrix": [3, 5], "x": 79, "y": 37, "flags": 4}, + {"matrix": [3, 4], "x": 65, "y": 37, "flags": 4}, + {"matrix": [3, 3], "x": 52, "y": 37, "flags": 4}, + {"matrix": [3, 2], "x": 38, "y": 37, "flags": 4}, + {"matrix": [3, 1], "x": 24, "y": 37, "flags": 4}, + {"matrix": [3, 0], "x": 5, "y": 37, "flags": 1}, + + {"matrix": [4, 14], "x": 224, "y": 49, "flags": 1}, + + {"matrix": [4, 13], "x": 196, "y": 52, "flags": 4}, + + {"matrix": [4, 11], "x": 174, "y": 49, "flags": 1}, + {"matrix": [4, 10], "x": 155, "y": 49, "flags": 4}, + {"matrix": [4, 9], "x": 141, "y": 49, "flags": 4}, + {"matrix": [4, 8], "x": 128, "y": 49, "flags": 4}, + {"matrix": [4, 7], "x": 114, "y": 49, "flags": 4}, + {"matrix": [4, 6], "x": 100, "y": 49, "flags": 4}, + {"matrix": [4, 5], "x": 86, "y": 49, "flags": 4}, + {"matrix": [4, 4], "x": 72, "y": 49, "flags": 4}, + {"matrix": [4, 3], "x": 59, "y": 49, "flags": 4}, + {"matrix": [4, 2], "x": 45, "y": 49, "flags": 4}, + {"matrix": [4, 1], "x": 31, "y": 49, "flags": 4}, + {"matrix": [4, 0], "x": 9, "y": 49, "flags": 1}, + + {"matrix": [5, 14], "x": 210, "y": 64, "flags": 4}, + {"matrix": [5, 13], "x": 196, "y": 64, "flags": 4}, + {"matrix": [5, 12], "x": 183, "y": 64, "flags": 4}, + + {"matrix": [5, 11], "x": 157, "y": 61, "flags": 1}, + {"matrix": [5, 10], "x": 140, "y": 61, "flags": 1}, + {"matrix": [5, 6], "x": 88, "y": 61, "flags": 4}, + {"matrix": [5, 2], "x": 36, "y": 61, "flags": 1}, + {"matrix": [5, 1], "x": 19, "y": 61, "flags": 1}, + {"matrix": [5, 0], "x": 2, "y": 61, "flags": 1}, + + {"x": 28, "y": 61, "flags": 2}, + {"x": 56, "y": 61, "flags": 2}, + {"x": 79, "y": 61, "flags": 2}, + {"x": 107, "y": 61, "flags": 2}, + {"x": 128, "y": 61, "flags": 2}, + {"x": 170, "y": 61, "flags": 2}, + + {"x": 220, "y": 55, "flags": 2}, + {"x": 220, "y": 43, "flags": 2}, + {"x": 220, "y": 30, "flags": 2}, + {"x": 220, "y": 18, "flags": 2}, + {"x": 220, "y": 6, "flags": 2}, + + {"x": 141, "y": 0, "flags": 2}, + {"x": 79, "y": 0, "flags": 2}, + + {"x": 0, "y": 24, "flags": 2}, + {"x": 0, "y": 43, "flags": 2}, + {"x": 0, "y": 61, "flags": 2} + ] }, "build": { "lto": true From 75402109e9a3d0d0ec129bb7132aae1367c8bf9d Mon Sep 17 00:00:00 2001 From: eason <98533237+EasonQian1@users.noreply.github.com> Date: Sun, 4 Aug 2024 07:46:12 +0800 Subject: [PATCH 39/42] Add Void65h (#24183) --- keyboards/eason/void65h/config.h | 6 + keyboards/eason/void65h/halconf.h | 8 + keyboards/eason/void65h/keyboard.json | 177 ++++++++++++++++++ .../eason/void65h/keymaps/default/keymap.c | 21 +++ keyboards/eason/void65h/keymaps/via/keymap.c | 21 +++ keyboards/eason/void65h/keymaps/via/rules.mk | 2 + keyboards/eason/void65h/mcuconf.h | 9 + keyboards/eason/void65h/readme.md | 27 +++ 8 files changed, 271 insertions(+) create mode 100644 keyboards/eason/void65h/config.h create mode 100644 keyboards/eason/void65h/halconf.h create mode 100644 keyboards/eason/void65h/keyboard.json create mode 100644 keyboards/eason/void65h/keymaps/default/keymap.c create mode 100644 keyboards/eason/void65h/keymaps/via/keymap.c create mode 100644 keyboards/eason/void65h/keymaps/via/rules.mk create mode 100644 keyboards/eason/void65h/mcuconf.h create mode 100644 keyboards/eason/void65h/readme.md diff --git a/keyboards/eason/void65h/config.h b/keyboards/eason/void65h/config.h new file mode 100644 index 000000000000..6669b09a22f8 --- /dev/null +++ b/keyboards/eason/void65h/config.h @@ -0,0 +1,6 @@ +// Copyright 2024 Eason +// SPDX-License-Identifier: GPL-2.0-or-later + +#pragma once + +#define WS2812_SPI_DRIVER SPID2 diff --git a/keyboards/eason/void65h/halconf.h b/keyboards/eason/void65h/halconf.h new file mode 100644 index 000000000000..a118c95cfa9d --- /dev/null +++ b/keyboards/eason/void65h/halconf.h @@ -0,0 +1,8 @@ +// Copyright 2024 Eason +// SPDX-License-Identifier: GPL-2.0-or-later + +#pragma once + +#define HAL_USE_SPI TRUE + +#include_next diff --git a/keyboards/eason/void65h/keyboard.json b/keyboards/eason/void65h/keyboard.json new file mode 100644 index 000000000000..7b6a7fe2fbcb --- /dev/null +++ b/keyboards/eason/void65h/keyboard.json @@ -0,0 +1,177 @@ +{ + "keyboard_name": "Void65h", + "manufacturer": "Eason", + "url": "", + "maintainer": "Eason", + "usb": { + "vid": "0x51D7", + "pid": "0x5517", + "device_version": "0.0.1", + "force_nkro": true + }, + "features": { + "bootmagic": true, + "command": false, + "console": false, + "extrakey": true, + "mousekey": true, + "nkro": true + }, + "indicators": { + "caps_lock": "C13" + }, + "matrix_pins": { + "rows": ["A15", "B3", "B4", "B5", "B6"], + "cols": ["A1", "A2", "A3", "A4", "A5", "A6", "A7", "B0", "B1", "B10", "B11", "B12", "B13", "B14", "B15", "A8"] + }, + "diode_direction": "ROW2COL", + "processor": "STM32F103", + "bootloader": "uf2boot", + "layout_aliases": { + "LAYOUT_all": "LAYOUT_65_ansi_blocker_tsangan_split_bs" + }, + "community_layouts": ["65_ansi_blocker_tsangan", "65_ansi_blocker_tsangan_split_bs"] + "layouts": { + "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": [0, 14], "x": 14, "y": 0}, + {"matrix": [0, 15], "x": 15, "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, 14], "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, 13], "x": 12.75, "y": 2, "w": 2.25}, + {"matrix": [2, 14], "x": 15, "y": 2}, + {"matrix": [3, 0], "x": 0, "y": 3, "w": 2.25}, + {"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], "x": 12.25, "y": 3, "w": 1.75}, + {"matrix": [3, 13], "x": 14, "y": 3}, + {"matrix": [3, 14], "x": 15, "y": 3}, + {"matrix": [4, 0], "x": 0, "y": 4, "w": 1.5}, + {"matrix": [4, 1], "x": 1.5, "y": 4}, + {"matrix": [4, 2], "x": 2.5, "y": 4, "w": 1.5}, + {"matrix": [4, 6], "x": 4, "y": 4, "w": 7}, + {"matrix": [4, 11], "x": 11, "y": 4, "w": 1.5}, + {"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], "x": 13, "y": 0, "w": 2}, + {"matrix": [0, 15], "x": 15, "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, 14], "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, 13], "x": 12.75, "y": 2, "w": 2.25}, + {"matrix": [2, 14], "x": 15, "y": 2}, + {"matrix": [3, 0], "x": 0, "y": 3, "w": 2.25}, + {"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], "x": 12.25, "y": 3, "w": 1.75}, + {"matrix": [3, 13], "x": 14, "y": 3}, + {"matrix": [3, 14], "x": 15, "y": 3}, + {"matrix": [4, 0], "x": 0, "y": 4, "w": 1.5}, + {"matrix": [4, 1], "x": 1.5, "y": 4}, + {"matrix": [4, 2], "x": 2.5, "y": 4, "w": 1.5}, + {"matrix": [4, 6], "x": 4, "y": 4, "w": 7}, + {"matrix": [4, 11], "x": 11, "y": 4, "w": 1.5}, + {"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/eason/void65h/keymaps/default/keymap.c b/keyboards/eason/void65h/keymaps/default/keymap.c new file mode 100644 index 000000000000..a6341e98ec3b --- /dev/null +++ b/keyboards/eason/void65h/keymaps/default/keymap.c @@ -0,0 +1,21 @@ +// Copyright 2024 Eason +// SPDX-License-Identifier: GPL-2.0-or-later +#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_TILD, KC_DEL, + KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, KC_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_LSFT, KC_UP, MO(1), + KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, MO(1), KC_LEFT, KC_DOWN, KC_RGHT + ), + [1] = LAYOUT_all( + KC_TILD, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, QK_BOOT, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______ + ) +}; diff --git a/keyboards/eason/void65h/keymaps/via/keymap.c b/keyboards/eason/void65h/keymaps/via/keymap.c new file mode 100644 index 000000000000..a6341e98ec3b --- /dev/null +++ b/keyboards/eason/void65h/keymaps/via/keymap.c @@ -0,0 +1,21 @@ +// Copyright 2024 Eason +// SPDX-License-Identifier: GPL-2.0-or-later +#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_TILD, KC_DEL, + KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, KC_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_LSFT, KC_UP, MO(1), + KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, MO(1), KC_LEFT, KC_DOWN, KC_RGHT + ), + [1] = LAYOUT_all( + KC_TILD, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, QK_BOOT, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______ + ) +}; diff --git a/keyboards/eason/void65h/keymaps/via/rules.mk b/keyboards/eason/void65h/keymaps/via/rules.mk new file mode 100644 index 000000000000..36b7ba9cbc98 --- /dev/null +++ b/keyboards/eason/void65h/keymaps/via/rules.mk @@ -0,0 +1,2 @@ +VIA_ENABLE = yes +LTO_ENABLE = yes diff --git a/keyboards/eason/void65h/mcuconf.h b/keyboards/eason/void65h/mcuconf.h new file mode 100644 index 000000000000..4bf145bb7b36 --- /dev/null +++ b/keyboards/eason/void65h/mcuconf.h @@ -0,0 +1,9 @@ +// Copyright 2024 Eason +// SPDX-License-Identifier: GPL-2.0-or-later + +#pragma once + +#include_next + +#undef STM32_SPI_USE_SPI2 +#define STM32_SPI_USE_SPI2 TRUE diff --git a/keyboards/eason/void65h/readme.md b/keyboards/eason/void65h/readme.md new file mode 100644 index 000000000000..5a619df41cc0 --- /dev/null +++ b/keyboards/eason/void65h/readme.md @@ -0,0 +1,27 @@ +# void65h + +![void65h](https://i.imgur.com/3Z3jNAS.jpg) + +A customizable hotswap 65% keyboard. + +* Keyboard Maintainer: [EASON](https://github.com/EasonQian1) +* Hardware Supported: void65h +* Hardware Availability: [anorexus](https://anorexus.design/project/void) + +Make example for this keyboard (after setting up your build environment): + + make eason/void65h:default + +Flashing example for this keyboard: + + make eason/void65h: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 ESC in the keyboard then replug +* **Physical reset button**: Briefly press the button on the back of the PCB +* **Keycode in layout**: Press the key mapped to `QK_BOOT` From c67c3d375ba5f648ccd21c82a79f9c9ef7634cb6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?S=E1=BA=AFn?= <59417802+MaiTheSan@users.noreply.github.com> Date: Thu, 8 Aug 2024 03:28:41 +0700 Subject: [PATCH 40/42] Add support for bunnygirl65 (#24244) * Add support for bunnygirl65 * Update keyboard.json * Update keymap.c * Update keymap.c * Update keyboards/sawnsprojects/bunnygirl65/readme.md Co-authored-by: Joel Challis * Update keyboards/sawnsprojects/bunnygirl65/keyboard.json Co-authored-by: Joel Challis * Update keyboards/sawnsprojects/bunnygirl65/keyboard.json --------- Co-authored-by: Joel Challis Co-authored-by: jack --- .../sawnsprojects/bunnygirl65/keyboard.json | 169 ++++++++++++++++++ .../bunnygirl65/keymaps/default/keymap.c | 48 +++++ .../bunnygirl65/keymaps/via/keymap.c | 48 +++++ .../bunnygirl65/keymaps/via/rules.mk | 1 + keyboards/sawnsprojects/bunnygirl65/readme.md | 27 +++ 5 files changed, 293 insertions(+) create mode 100644 keyboards/sawnsprojects/bunnygirl65/keyboard.json create mode 100644 keyboards/sawnsprojects/bunnygirl65/keymaps/default/keymap.c create mode 100644 keyboards/sawnsprojects/bunnygirl65/keymaps/via/keymap.c create mode 100644 keyboards/sawnsprojects/bunnygirl65/keymaps/via/rules.mk create mode 100644 keyboards/sawnsprojects/bunnygirl65/readme.md diff --git a/keyboards/sawnsprojects/bunnygirl65/keyboard.json b/keyboards/sawnsprojects/bunnygirl65/keyboard.json new file mode 100644 index 000000000000..810d481b5dcb --- /dev/null +++ b/keyboards/sawnsprojects/bunnygirl65/keyboard.json @@ -0,0 +1,169 @@ +{ + "manufacturer": "auaera", + "keyboard_name": "Bunnygirl65", + "maintainer": "MaiTheSan", + "bootloader": "stm32-dfu", + "diode_direction": "COL2ROW", + "features": { + "bootmagic": true, + "extrakey": true, + "mousekey": true, + "nkro": true + }, + "matrix_pins": { + "cols": ["A10", "A0", "A9", "C13", "A1", "A2", "B11", "B10", "B1", "B0", "A7", "A6", "A5", "A4", "C14"], + "rows": ["B4", "A15", "A3", "A8", "B14"] + }, + "processor": "STM32F072", + "url": "", + "usb": { + "device_version": "1.0.0", + "force_nkro": true, + "pid": "0x00A2", + "vid": "0x5350" + }, + "community_layouts": ["65_ansi_blocker_tsangan", "65_ansi_blocker_tsangan_split_bs"], + "layouts": { + "LAYOUT_65_ansi_blocker_tsangan": { + "layout": [ + {"label": "K00", "matrix": [0, 0], "x": 0, "y": 0}, + {"label": "K01", "matrix": [0, 1], "x": 1, "y": 0}, + {"label": "K02", "matrix": [0, 2], "x": 2, "y": 0}, + {"label": "K03", "matrix": [0, 3], "x": 3, "y": 0}, + {"label": "K04", "matrix": [0, 4], "x": 4, "y": 0}, + {"label": "K05", "matrix": [0, 5], "x": 5, "y": 0}, + {"label": "K06", "matrix": [0, 6], "x": 6, "y": 0}, + {"label": "K07", "matrix": [0, 7], "x": 7, "y": 0}, + {"label": "K08", "matrix": [0, 8], "x": 8, "y": 0}, + {"label": "K09", "matrix": [0, 9], "x": 9, "y": 0}, + {"label": "K0A", "matrix": [0, 10], "x": 10, "y": 0}, + {"label": "K0B", "matrix": [0, 11], "x": 11, "y": 0}, + {"label": "K0C", "matrix": [0, 12], "x": 12, "y": 0}, + {"label": "K0D", "matrix": [0, 13], "x": 13, "y": 0}, + {"label": "K2D", "matrix": [2, 13], "x": 14, "y": 0, "w": 2}, + {"label": "K10", "matrix": [1, 0], "x": 0, "y": 1, "w": 1.5}, + {"label": "K11", "matrix": [1, 1], "x": 1.5, "y": 1}, + {"label": "K12", "matrix": [1, 2], "x": 2.5, "y": 1}, + {"label": "K13", "matrix": [1, 3], "x": 3.5, "y": 1}, + {"label": "K14", "matrix": [1, 4], "x": 4.5, "y": 1}, + {"label": "K15", "matrix": [1, 5], "x": 5.5, "y": 1}, + {"label": "K16", "matrix": [1, 6], "x": 6.5, "y": 1}, + {"label": "K17", "matrix": [1, 7], "x": 7.5, "y": 1}, + {"label": "K18", "matrix": [1, 8], "x": 8.5, "y": 1}, + {"label": "K19", "matrix": [1, 9], "x": 9.5, "y": 1}, + {"label": "K1A", "matrix": [1, 10], "x": 10.5, "y": 1}, + {"label": "K1B", "matrix": [1, 11], "x": 11.5, "y": 1}, + {"label": "K1C", "matrix": [1, 12], "x": 12.5, "y": 1}, + {"label": "K1D", "matrix": [1, 13], "x": 13.5, "y": 1, "w": 1.5}, + {"label": "K1E", "matrix": [1, 14], "x": 15, "y": 1}, + {"label": "K20", "matrix": [2, 0], "x": 0, "y": 2, "w": 1.75}, + {"label": "K21", "matrix": [2, 1], "x": 1.75, "y": 2}, + {"label": "K22", "matrix": [2, 2], "x": 2.75, "y": 2}, + {"label": "K23", "matrix": [2, 3], "x": 3.75, "y": 2}, + {"label": "K24", "matrix": [2, 4], "x": 4.75, "y": 2}, + {"label": "K25", "matrix": [2, 5], "x": 5.75, "y": 2}, + {"label": "K26", "matrix": [2, 6], "x": 6.75, "y": 2}, + {"label": "K27", "matrix": [2, 7], "x": 7.75, "y": 2}, + {"label": "K28", "matrix": [2, 8], "x": 8.75, "y": 2}, + {"label": "K29", "matrix": [2, 9], "x": 9.75, "y": 2}, + {"label": "K2A", "matrix": [2, 10], "x": 10.75, "y": 2}, + {"label": "K2B", "matrix": [2, 11], "x": 11.75, "y": 2}, + {"label": "K2C", "matrix": [2, 12], "x": 12.75, "y": 2, "w": 2.25}, + {"label": "K2E", "matrix": [2, 14], "x": 15, "y": 2}, + {"label": "K30", "matrix": [3, 0], "x": 0, "y": 3, "w": 2.25}, + {"label": "K32", "matrix": [3, 2], "x": 2.25, "y": 3}, + {"label": "K33", "matrix": [3, 3], "x": 3.25, "y": 3}, + {"label": "K34", "matrix": [3, 4], "x": 4.25, "y": 3}, + {"label": "K35", "matrix": [3, 5], "x": 5.25, "y": 3}, + {"label": "K36", "matrix": [3, 6], "x": 6.25, "y": 3}, + {"label": "K37", "matrix": [3, 7], "x": 7.25, "y": 3}, + {"label": "K38", "matrix": [3, 8], "x": 8.25, "y": 3}, + {"label": "K39", "matrix": [3, 9], "x": 9.25, "y": 3}, + {"label": "K3A", "matrix": [3, 10], "x": 10.25, "y": 3}, + {"label": "K3B", "matrix": [3, 11], "x": 11.25, "y": 3}, + {"label": "K3C", "matrix": [3, 12], "x": 12.25, "y": 3, "w": 1.75}, + {"label": "K3D", "matrix": [3, 13], "x": 14, "y": 3}, + {"label": "K3E", "matrix": [3, 14], "x": 15, "y": 3}, + {"label": "K40", "matrix": [4, 0], "x": 0, "y": 4, "w": 1.5}, + {"label": "K41", "matrix": [4, 1], "x": 1.5, "y": 4}, + {"label": "K42", "matrix": [4, 2], "x": 2.5, "y": 4, "w": 1.5}, + {"label": "K46", "matrix": [4, 7], "x": 4, "y": 4, "w": 7}, + {"label": "K4B", "matrix": [4, 11], "x": 11, "y": 4, "w": 1.5}, + {"label": "K4C", "matrix": [4, 12], "x": 13, "y": 4}, + {"label": "K4D", "matrix": [4, 13], "x": 14, "y": 4}, + {"label": "K4E", "matrix": [4, 14], "x": 15, "y": 4} + ] + }, + "LAYOUT_65_ansi_blocker_tsangan_split_bs": { + "layout": [ + {"label": "K00", "matrix": [0, 0], "x": 0, "y": 0}, + {"label": "K01", "matrix": [0, 1], "x": 1, "y": 0}, + {"label": "K02", "matrix": [0, 2], "x": 2, "y": 0}, + {"label": "K03", "matrix": [0, 3], "x": 3, "y": 0}, + {"label": "K04", "matrix": [0, 4], "x": 4, "y": 0}, + {"label": "K05", "matrix": [0, 5], "x": 5, "y": 0}, + {"label": "K06", "matrix": [0, 6], "x": 6, "y": 0}, + {"label": "K07", "matrix": [0, 7], "x": 7, "y": 0}, + {"label": "K08", "matrix": [0, 8], "x": 8, "y": 0}, + {"label": "K09", "matrix": [0, 9], "x": 9, "y": 0}, + {"label": "K0A", "matrix": [0, 10], "x": 10, "y": 0}, + {"label": "K0B", "matrix": [0, 11], "x": 11, "y": 0}, + {"label": "K0C", "matrix": [0, 12], "x": 12, "y": 0}, + {"label": "K0D", "matrix": [0, 13], "x": 13, "y": 0}, + {"label": "K2D", "matrix": [2, 13], "x": 14, "y": 0}, + {"label": "K0E", "matrix": [0, 14], "x": 15, "y": 0}, + {"label": "K10", "matrix": [1, 0], "x": 0, "y": 1, "w": 1.5}, + {"label": "K11", "matrix": [1, 1], "x": 1.5, "y": 1}, + {"label": "K12", "matrix": [1, 2], "x": 2.5, "y": 1}, + {"label": "K13", "matrix": [1, 3], "x": 3.5, "y": 1}, + {"label": "K14", "matrix": [1, 4], "x": 4.5, "y": 1}, + {"label": "K15", "matrix": [1, 5], "x": 5.5, "y": 1}, + {"label": "K16", "matrix": [1, 6], "x": 6.5, "y": 1}, + {"label": "K17", "matrix": [1, 7], "x": 7.5, "y": 1}, + {"label": "K18", "matrix": [1, 8], "x": 8.5, "y": 1}, + {"label": "K19", "matrix": [1, 9], "x": 9.5, "y": 1}, + {"label": "K1A", "matrix": [1, 10], "x": 10.5, "y": 1}, + {"label": "K1B", "matrix": [1, 11], "x": 11.5, "y": 1}, + {"label": "K1C", "matrix": [1, 12], "x": 12.5, "y": 1}, + {"label": "K1D", "matrix": [1, 13], "x": 13.5, "y": 1, "w": 1.5}, + {"label": "K1E", "matrix": [1, 14], "x": 15, "y": 1}, + {"label": "K20", "matrix": [2, 0], "x": 0, "y": 2, "w": 1.75}, + {"label": "K21", "matrix": [2, 1], "x": 1.75, "y": 2}, + {"label": "K22", "matrix": [2, 2], "x": 2.75, "y": 2}, + {"label": "K23", "matrix": [2, 3], "x": 3.75, "y": 2}, + {"label": "K24", "matrix": [2, 4], "x": 4.75, "y": 2}, + {"label": "K25", "matrix": [2, 5], "x": 5.75, "y": 2}, + {"label": "K26", "matrix": [2, 6], "x": 6.75, "y": 2}, + {"label": "K27", "matrix": [2, 7], "x": 7.75, "y": 2}, + {"label": "K28", "matrix": [2, 8], "x": 8.75, "y": 2}, + {"label": "K29", "matrix": [2, 9], "x": 9.75, "y": 2}, + {"label": "K2A", "matrix": [2, 10], "x": 10.75, "y": 2}, + {"label": "K2B", "matrix": [2, 11], "x": 11.75, "y": 2}, + {"label": "K2C", "matrix": [2, 12], "x": 12.75, "y": 2, "w": 2.25}, + {"label": "K2E", "matrix": [2, 14], "x": 15, "y": 2}, + {"label": "K30", "matrix": [3, 0], "x": 0, "y": 3, "w": 2.25}, + {"label": "K32", "matrix": [3, 2], "x": 2.25, "y": 3}, + {"label": "K33", "matrix": [3, 3], "x": 3.25, "y": 3}, + {"label": "K34", "matrix": [3, 4], "x": 4.25, "y": 3}, + {"label": "K35", "matrix": [3, 5], "x": 5.25, "y": 3}, + {"label": "K36", "matrix": [3, 6], "x": 6.25, "y": 3}, + {"label": "K37", "matrix": [3, 7], "x": 7.25, "y": 3}, + {"label": "K38", "matrix": [3, 8], "x": 8.25, "y": 3}, + {"label": "K39", "matrix": [3, 9], "x": 9.25, "y": 3}, + {"label": "K3A", "matrix": [3, 10], "x": 10.25, "y": 3}, + {"label": "K3B", "matrix": [3, 11], "x": 11.25, "y": 3}, + {"label": "K3C", "matrix": [3, 12], "x": 12.25, "y": 3, "w": 1.75}, + {"label": "K3D", "matrix": [3, 13], "x": 14, "y": 3}, + {"label": "K3E", "matrix": [3, 14], "x": 15, "y": 3}, + {"label": "K40", "matrix": [4, 0], "x": 0, "y": 4, "w": 1.5}, + {"label": "K41", "matrix": [4, 1], "x": 1.5, "y": 4}, + {"label": "K42", "matrix": [4, 2], "x": 2.5, "y": 4, "w": 1.5}, + {"label": "K46", "matrix": [4, 7], "x": 4, "y": 4, "w": 7}, + {"label": "K4B", "matrix": [4, 11], "x": 11, "y": 4, "w": 1.5}, + {"label": "K4C", "matrix": [4, 12], "x": 13, "y": 4}, + {"label": "K4D", "matrix": [4, 13], "x": 14, "y": 4}, + {"label": "K4E", "matrix": [4, 14], "x": 15, "y": 4} + ] + } + } +} diff --git a/keyboards/sawnsprojects/bunnygirl65/keymaps/default/keymap.c b/keyboards/sawnsprojects/bunnygirl65/keymaps/default/keymap.c new file mode 100644 index 000000000000..619e07b44609 --- /dev/null +++ b/keyboards/sawnsprojects/bunnygirl65/keymaps/default/keymap.c @@ -0,0 +1,48 @@ +// Copyright 2023 QMK +// SPDX-License-Identifier: GPL-2.0-or-later + +#include QMK_KEYBOARD_H + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + /* + * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┐ + * │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│ + * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴─────┼───┤ + * │ Caps │ A │ S │ D │ F │ G │ H │ J │ K │ L │ ; │ ' │ Enter │PgD│ + * ├──────┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴────┬───┼───┤ + * │ Shift │ Z │ X │ C │ V │ B │ N │ M │ , │ . │ / │ Shift│ ↑ │End│ + * ├─────┬──┴┬──┴──┬┴───┴───┴───┴───┴───┴───┴──┬┴───┴┬─┬───┼───┼───┤ + * │Ctrl │GUI│Alt │ │ Fn│ │ ← │ ↓ │ → │ + * └─────┴───┴─────┴───────────────────────────┴─────┘ └───┴───┴───┘ + */ + [0] = LAYOUT_65_ansi_blocker_tsangan_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_LGUI, KC_LALT, KC_SPC, MO(1), KC_LEFT, KC_DOWN, KC_RGHT + ), + + /* + * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┐ + * │ ` │F1 │F2 │F3 │F4 │F5 │F6 │F7 │F8 │F9 │F10│F11│F12│Del│Del│ │ + * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┼───┤ + * │ │ │ │ │ │ │Ins│ │ │ │ │PSc│Scr│Pause│ │ + * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴─────┼───┤ + * │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ + * ├──────┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴────┬───┼───┤ + * │ │ │ │ │ │ │ │Mut│Vl-│Vl+│ │ │ │ │ + * ├─────┬──┴┬──┴──┬┴───┴───┴───┴───┴───┴───┴──┬┴───┴┬─┬───┼───┼───┤ + * │ │ │ │ │ │ │ │ │ │ + * └─────┴───┴─────┴───────────────────────────┴─────┘ └───┴───┴───┘ + */ + [1] = LAYOUT_65_ansi_blocker_tsangan_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_DEL, _______, + _______, _______, _______, _______, _______, _______, KC_INS, _______, _______, _______, _______, KC_PSCR, KC_SCRL, KC_PAUS, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, KC_MUTE, KC_VOLD, KC_VOLU, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______ + ) +}; diff --git a/keyboards/sawnsprojects/bunnygirl65/keymaps/via/keymap.c b/keyboards/sawnsprojects/bunnygirl65/keymaps/via/keymap.c new file mode 100644 index 000000000000..619e07b44609 --- /dev/null +++ b/keyboards/sawnsprojects/bunnygirl65/keymaps/via/keymap.c @@ -0,0 +1,48 @@ +// Copyright 2023 QMK +// SPDX-License-Identifier: GPL-2.0-or-later + +#include QMK_KEYBOARD_H + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + /* + * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┐ + * │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│ + * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴─────┼───┤ + * │ Caps │ A │ S │ D │ F │ G │ H │ J │ K │ L │ ; │ ' │ Enter │PgD│ + * ├──────┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴────┬───┼───┤ + * │ Shift │ Z │ X │ C │ V │ B │ N │ M │ , │ . │ / │ Shift│ ↑ │End│ + * ├─────┬──┴┬──┴──┬┴───┴───┴───┴───┴───┴───┴──┬┴───┴┬─┬───┼───┼───┤ + * │Ctrl │GUI│Alt │ │ Fn│ │ ← │ ↓ │ → │ + * └─────┴───┴─────┴───────────────────────────┴─────┘ └───┴───┴───┘ + */ + [0] = LAYOUT_65_ansi_blocker_tsangan_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_LGUI, KC_LALT, KC_SPC, MO(1), KC_LEFT, KC_DOWN, KC_RGHT + ), + + /* + * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┐ + * │ ` │F1 │F2 │F3 │F4 │F5 │F6 │F7 │F8 │F9 │F10│F11│F12│Del│Del│ │ + * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┼───┤ + * │ │ │ │ │ │ │Ins│ │ │ │ │PSc│Scr│Pause│ │ + * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴─────┼───┤ + * │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ + * ├──────┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴────┬───┼───┤ + * │ │ │ │ │ │ │ │Mut│Vl-│Vl+│ │ │ │ │ + * ├─────┬──┴┬──┴──┬┴───┴───┴───┴───┴───┴───┴──┬┴───┴┬─┬───┼───┼───┤ + * │ │ │ │ │ │ │ │ │ │ + * └─────┴───┴─────┴───────────────────────────┴─────┘ └───┴───┴───┘ + */ + [1] = LAYOUT_65_ansi_blocker_tsangan_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_DEL, _______, + _______, _______, _______, _______, _______, _______, KC_INS, _______, _______, _______, _______, KC_PSCR, KC_SCRL, KC_PAUS, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, KC_MUTE, KC_VOLD, KC_VOLU, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______ + ) +}; diff --git a/keyboards/sawnsprojects/bunnygirl65/keymaps/via/rules.mk b/keyboards/sawnsprojects/bunnygirl65/keymaps/via/rules.mk new file mode 100644 index 000000000000..036bd6d1c3ec --- /dev/null +++ b/keyboards/sawnsprojects/bunnygirl65/keymaps/via/rules.mk @@ -0,0 +1 @@ +VIA_ENABLE = yes \ No newline at end of file diff --git a/keyboards/sawnsprojects/bunnygirl65/readme.md b/keyboards/sawnsprojects/bunnygirl65/readme.md new file mode 100644 index 000000000000..7dcb0e147e1b --- /dev/null +++ b/keyboards/sawnsprojects/bunnygirl65/readme.md @@ -0,0 +1,27 @@ +# BunnyGirl65 + +![BunnyGirl65](https://i.imgur.com/APqNMhc.jpeg) + +A Wibu 60% keyboard PCB Design by inspire of Nekomata Okayu and can fit many keyboard case + +* Keyboard Maintainer: [Mai The San](https://github.com/maithesan) +* Hardware Supported: BunnyGirl65 +* Hardware Availability: [Waifu.Works](https://discord.gg/waifuworks) + +Make example for this keyboard (after setting up your build environment): + + make sawnsprojects/bunnygirl65:default + +Flashing example for this keyboard: + + make sawnsprojects/bunnygirl65: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 From 78900720fda825b3c44203021460ef1cfbee3872 Mon Sep 17 00:00:00 2001 From: stephen776 Date: Wed, 7 Aug 2024 16:34:21 -0400 Subject: [PATCH 41/42] JJ50 v2 Support (#24212) * add support for JJ50 V2 PCB * fix bootloader config * update mousekey setting * run format-json --------- Co-authored-by: Steve Jacobs --- keyboards/kprepublic/jj50/rev2/keyboard.json | 125 +++++++++++++++++++ 1 file changed, 125 insertions(+) create mode 100644 keyboards/kprepublic/jj50/rev2/keyboard.json diff --git a/keyboards/kprepublic/jj50/rev2/keyboard.json b/keyboards/kprepublic/jj50/rev2/keyboard.json new file mode 100644 index 000000000000..b739c20713b4 --- /dev/null +++ b/keyboards/kprepublic/jj50/rev2/keyboard.json @@ -0,0 +1,125 @@ +{ + "manufacturer": "KPrepublic", + "keyboard_name": "JJ50 rev2", + "maintainer": "qmk", + "backlight": { + "breathing": true, + "levels": 5, + "pin": "B7" + }, + "bootloader": "atmel-dfu", + "build": { + "lto": true + }, + "diode_direction": "COL2ROW", + "features": { + "backlight": true, + "bootmagic": true, + "extrakey": true, + "mousekey": true, + "nkro": false, + "rgblight": true + }, + "matrix_pins": { + "cols": ["B1", "B0", "F7", "F0", "C7", "C6", "B6", "B5", "B4", "D7", "D6", "D4"], + "rows": ["D3", "D5", "E6", "F1", "F4"] + }, + "processor": "atmega32u4", + "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, + "hue_steps": 8, + "led_count": 6, + "saturation_steps": 8 + }, + "url": "", + "usb": { + "device_version": "2.0.0", + "pid": "0x0050", + "vid": "0x4B50" + }, + "ws2812": { + "driver": "i2c" + }, + "community_layouts": ["ortho_5x12"], + "layout_aliases": { + "LAYOUT": "LAYOUT_ortho_5x12" + }, + "layouts": { + "LAYOUT_ortho_5x12": { + "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": [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": [1, 4], "x": 4, "y": 1}, + {"matrix": [1, 5], "x": 5, "y": 1}, + {"matrix": [1, 6], "x": 6, "y": 1}, + {"matrix": [1, 7], "x": 7, "y": 1}, + {"matrix": [1, 8], "x": 8, "y": 1}, + {"matrix": [1, 9], "x": 9, "y": 1}, + {"matrix": [1, 10], "x": 10, "y": 1}, + {"matrix": [1, 11], "x": 11, "y": 1}, + {"matrix": [2, 0], "x": 0, "y": 2}, + {"matrix": [2, 1], "x": 1, "y": 2}, + {"matrix": [2, 2], "x": 2, "y": 2}, + {"matrix": [2, 3], "x": 3, "y": 2}, + {"matrix": [2, 4], "x": 4, "y": 2}, + {"matrix": [2, 5], "x": 5, "y": 2}, + {"matrix": [2, 6], "x": 6, "y": 2}, + {"matrix": [2, 7], "x": 7, "y": 2}, + {"matrix": [2, 8], "x": 8, "y": 2}, + {"matrix": [2, 9], "x": 9, "y": 2}, + {"matrix": [2, 10], "x": 10, "y": 2}, + {"matrix": [2, 11], "x": 11, "y": 2}, + {"matrix": [3, 0], "x": 0, "y": 3}, + {"matrix": [3, 1], "x": 1, "y": 3}, + {"matrix": [3, 2], "x": 2, "y": 3}, + {"matrix": [3, 3], "x": 3, "y": 3}, + {"matrix": [3, 4], "x": 4, "y": 3}, + {"matrix": [3, 5], "x": 5, "y": 3}, + {"matrix": [3, 6], "x": 6, "y": 3}, + {"matrix": [3, 7], "x": 7, "y": 3}, + {"matrix": [3, 8], "x": 8, "y": 3}, + {"matrix": [3, 9], "x": 9, "y": 3}, + {"matrix": [3, 10], "x": 10, "y": 3}, + {"matrix": [3, 11], "x": 11, "y": 3}, + {"matrix": [4, 0], "x": 0, "y": 4}, + {"matrix": [4, 1], "x": 1, "y": 4}, + {"matrix": [4, 2], "x": 2, "y": 4}, + {"matrix": [4, 3], "x": 3, "y": 4}, + {"matrix": [4, 4], "x": 4, "y": 4}, + {"matrix": [4, 5], "x": 5, "y": 4}, + {"matrix": [4, 6], "x": 6, "y": 4}, + {"matrix": [4, 7], "x": 7, "y": 4}, + {"matrix": [4, 8], "x": 8, "y": 4}, + {"matrix": [4, 9], "x": 9, "y": 4}, + {"matrix": [4, 10], "x": 10, "y": 4}, + {"matrix": [4, 11], "x": 11, "y": 4} + ] + } + } +} From 5acc3b2b7b13e6057623091a4bced7b1d9e76cdb Mon Sep 17 00:00:00 2001 From: Andrew Kannan Date: Wed, 7 Aug 2024 16:40:31 -0400 Subject: [PATCH 42/42] Add extra compatibility to Sat75 HS PCB (#24156) --- keyboards/cannonkeys/satisfaction75_hs/keyboard.json | 5 +++-- .../cannonkeys/satisfaction75_hs/keymaps/default/keymap.c | 4 ++-- keyboards/cannonkeys/satisfaction75_hs/keymaps/via/keymap.c | 4 ++-- 3 files changed, 7 insertions(+), 6 deletions(-) diff --git a/keyboards/cannonkeys/satisfaction75_hs/keyboard.json b/keyboards/cannonkeys/satisfaction75_hs/keyboard.json index 214ef5f48adb..6e8172ec0288 100644 --- a/keyboards/cannonkeys/satisfaction75_hs/keyboard.json +++ b/keyboards/cannonkeys/satisfaction75_hs/keyboard.json @@ -112,8 +112,9 @@ {"matrix": [5, 1], "x": 1.25, "y": 5.25, "w": 1.25}, {"matrix": [5, 2], "x": 2.5, "y": 5.25, "w": 1.25}, {"matrix": [5, 6], "x": 3.75, "y": 5.25, "w": 6.25}, - {"matrix": [5, 10], "x": 10, "y": 5.25, "w": 1.5}, - {"matrix": [5, 11], "x": 11.5, "y": 5.25, "w": 1.5}, + {"matrix": [5, 10], "x": 10, "y": 5.25, "w": 1}, + {"matrix": [5, 11], "x": 11, "y": 5.25, "w": 1}, + {"matrix": [5, 9], "x": 12, "y": 5.25, "w": 1}, {"matrix": [5, 12], "x": 13.25, "y": 5.5}, {"matrix": [5, 13], "x": 14.25, "y": 5.5}, {"matrix": [5, 14], "x": 15.25, "y": 5.5} diff --git a/keyboards/cannonkeys/satisfaction75_hs/keymaps/default/keymap.c b/keyboards/cannonkeys/satisfaction75_hs/keymaps/default/keymap.c index c869bfc4b0c4..ffc9940c64e5 100644 --- a/keyboards/cannonkeys/satisfaction75_hs/keymaps/default/keymap.c +++ b/keyboards/cannonkeys/satisfaction75_hs/keymaps/default/keymap.c @@ -10,7 +10,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { 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_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENTER, KC_PGUP, 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_PGDN, - KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, MO(1), KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT + KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, MO(1), KC_RCTL, KC_RALT, KC_LEFT, KC_DOWN, KC_RGHT ), [1] = LAYOUT_all( _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, OLED_TOGG, @@ -18,6 +18,6 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, CLOCK_SET, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - QK_BOOT, _______, _______, _______, _______, _______, _______, _______, _______ + QK_BOOT, _______, _______, _______, _______, _______, _______, _______, _______, _______ ) }; diff --git a/keyboards/cannonkeys/satisfaction75_hs/keymaps/via/keymap.c b/keyboards/cannonkeys/satisfaction75_hs/keymaps/via/keymap.c index c869bfc4b0c4..ffc9940c64e5 100644 --- a/keyboards/cannonkeys/satisfaction75_hs/keymaps/via/keymap.c +++ b/keyboards/cannonkeys/satisfaction75_hs/keymaps/via/keymap.c @@ -10,7 +10,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { 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_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENTER, KC_PGUP, 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_PGDN, - KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, MO(1), KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT + KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, MO(1), KC_RCTL, KC_RALT, KC_LEFT, KC_DOWN, KC_RGHT ), [1] = LAYOUT_all( _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, OLED_TOGG, @@ -18,6 +18,6 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, CLOCK_SET, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - QK_BOOT, _______, _______, _______, _______, _______, _______, _______, _______ + QK_BOOT, _______, _______, _______, _______, _______, _______, _______, _______, _______ ) };