From b7729fa019833573b82d0742d9879388bfb6913c Mon Sep 17 00:00:00 2001 From: nonameCCC <79012391+nonameCCC@users.noreply.github.com> Date: Wed, 11 Sep 2024 13:43:36 +0800 Subject: [PATCH 001/124] [Keyboard] Add Support for PH-AC Rhythm Game Controller (#24368) * [Keyboard] Add PHDesign PH-AC Rhythm Game Contoller Co-authored by alt-0191 * Detail Improvement * Update keyboard.json * Update readme.md * Update readme.md * Created Encoder Matrix * Posted Images * Suggested Changes * Update keyboard.json * Update readme.md * Update keyboard.json * Update readme.md --- keyboards/phdesign/phac/keyboard.json | 46 +++++++++++++++++++ .../phdesign/phac/keymaps/default/keymap.c | 22 +++++++++ .../phdesign/phac/keymaps/default/rules.mk | 1 + keyboards/phdesign/phac/readme.md | 26 +++++++++++ 4 files changed, 95 insertions(+) create mode 100644 keyboards/phdesign/phac/keyboard.json create mode 100644 keyboards/phdesign/phac/keymaps/default/keymap.c create mode 100644 keyboards/phdesign/phac/keymaps/default/rules.mk create mode 100644 keyboards/phdesign/phac/readme.md diff --git a/keyboards/phdesign/phac/keyboard.json b/keyboards/phdesign/phac/keyboard.json new file mode 100644 index 00000000000..660cf6c2ad4 --- /dev/null +++ b/keyboards/phdesign/phac/keyboard.json @@ -0,0 +1,46 @@ +{ + "manufacturer": "PHDesign", + "keyboard_name": "phac", + "maintainer": "nonameCCC", + "bootloader": "rp2040", + "encoder": { + "rotary": [ + {"pin_a": "GP7", "pin_b": "GP8", "resolution": 1}, + {"pin_a": "GP10", "pin_b": "GP9", "resolution": 1} + ] + }, + "features": { + "bootmagic": true, + "command": false, + "console": false, + "encoder": true, + "extrakey": true, + "mousekey": true, + "nkro": true + }, + "matrix_pins": { + "direct": [ + ["GP1", "GP6", "GP5", "GP4", "GP3", "GP2", "GP0"] + ] + }, + "processor": "RP2040", + "url": "", + "usb": { + "device_version": "2.2.0", + "pid": "0x0001", + "vid": "0x5048" + }, + "layouts": { + "LAYOUT": { + "layout": [ + {"matrix": [0, 0], "x": 2.5, "y": 0}, + {"matrix": [0, 1], "x": 0, "y": 1, "w": 1.5}, + {"matrix": [0, 2], "x": 1.5, "y": 1, "w": 1.5}, + {"matrix": [0, 3], "x": 3, "y": 1, "w": 1.5}, + {"matrix": [0, 4], "x": 4.5, "y": 1, "w": 1.5}, + {"matrix": [0, 5], "x": 0.375, "y": 2, "w": 2.25}, + {"matrix": [0, 6], "x": 3.375, "y": 2, "w": 2.25} + ] + } + } +} diff --git a/keyboards/phdesign/phac/keymaps/default/keymap.c b/keyboards/phdesign/phac/keymaps/default/keymap.c new file mode 100644 index 00000000000..630cca64a78 --- /dev/null +++ b/keyboards/phdesign/phac/keymaps/default/keymap.c @@ -0,0 +1,22 @@ +// Copyright 2023 QMK +// SPDX-License-Identifier: GPL-2.0-or-later + +#include QMK_KEYBOARD_H + +enum layer_names { + _BL, +}; + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + [_BL] = LAYOUT( + KC_B, + KC_S, KC_D, KC_K, KC_L, + KC_V, KC_N + ) +}; + +#if defined(ENCODER_MAP_ENABLE) +const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][NUM_DIRECTIONS] = { + [_BL] = { ENCODER_CCW_CW(MS_UP, MS_DOWN), ENCODER_CCW_CW(MS_LEFT, MS_RGHT) }, +}; +#endif \ No newline at end of file diff --git a/keyboards/phdesign/phac/keymaps/default/rules.mk b/keyboards/phdesign/phac/keymaps/default/rules.mk new file mode 100644 index 00000000000..a40474b4d5c --- /dev/null +++ b/keyboards/phdesign/phac/keymaps/default/rules.mk @@ -0,0 +1 @@ +ENCODER_MAP_ENABLE = yes \ No newline at end of file diff --git a/keyboards/phdesign/phac/readme.md b/keyboards/phdesign/phac/readme.md new file mode 100644 index 00000000000..88801888dbd --- /dev/null +++ b/keyboards/phdesign/phac/readme.md @@ -0,0 +1,26 @@ +# phac + +![phac](https://i.imgur.com/bQdYGMf.png) + +A rhythm game controller with 7 keys and 2 encoders on it. + +* Keyboard Maintainer: [Xufeng Tao](https://github.com/nonameCCC) +* Hardware Supported: RP2040 minimal system +* Hardware Availability: https://m.tb.cn/h.gLFXLaX?tk=7DpL3TuPVxx (currently not available outside of mainland China) + +Make example for this keyboard (after setting up your build environment): + + make phdesign/phac:default + +Flashing example for this keyboard: + + make phdesign/phac: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,5) in the matrix (the START button) and plug in the controller +* **Physical reset button**: Short pin hole SW1 on the back of the PCB (not recommended as the case is not easy to open) From 0c19eae916e5c883764a8e551077b5eeb32de152 Mon Sep 17 00:00:00 2001 From: Ryan Date: Fri, 13 Sep 2024 03:30:28 +1000 Subject: [PATCH 002/124] `4pplet/waffling80/rev_b_ansi`: fix missing `keyboard.json` (#24390) --- .../4pplet/waffling80/rev_b_ansi/{info.json => keyboard.json} | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) rename keyboards/4pplet/waffling80/rev_b_ansi/{info.json => keyboard.json} (99%) diff --git a/keyboards/4pplet/waffling80/rev_b_ansi/info.json b/keyboards/4pplet/waffling80/rev_b_ansi/keyboard.json similarity index 99% rename from keyboards/4pplet/waffling80/rev_b_ansi/info.json rename to keyboards/4pplet/waffling80/rev_b_ansi/keyboard.json index e678d0374d8..5a449e5e7cb 100644 --- a/keyboards/4pplet/waffling80/rev_b_ansi/info.json +++ b/keyboards/4pplet/waffling80/rev_b_ansi/keyboard.json @@ -15,7 +15,7 @@ "mousekey": true, "nkro": true, "rgblight": true - } + }, "ws2812": { "pin": "A8" }, From ae4ab5ed31360cbb327436ae7e76d1d0cef59449 Mon Sep 17 00:00:00 2001 From: nopunin10did Date: Fri, 13 Sep 2024 00:58:02 -0400 Subject: [PATCH 003/124] [Keyboard] Styrka Atmel Custom PCB (#24380) * Workaround for broken ChibiOS startup (#23822) * Add personal keymap JSON * Delete viktus_styrka_nopunin10did_20240529.json * Add custom Styrka Atmel firmware * Styrka Atmel fixes to compile and readme * Remove VIA keymap * Remove user keymap and edit readme --------- Co-authored-by: Joel Challis --- .../nopunin10did/styrkatmel/keyboard.json | 127 ++++++++++++++++++ .../styrkatmel/keymaps/default/keymap.c | 48 +++++++ keyboards/nopunin10did/styrkatmel/readme.md | 25 ++++ 3 files changed, 200 insertions(+) create mode 100644 keyboards/nopunin10did/styrkatmel/keyboard.json create mode 100644 keyboards/nopunin10did/styrkatmel/keymaps/default/keymap.c create mode 100644 keyboards/nopunin10did/styrkatmel/readme.md diff --git a/keyboards/nopunin10did/styrkatmel/keyboard.json b/keyboards/nopunin10did/styrkatmel/keyboard.json new file mode 100644 index 00000000000..98a9597b34d --- /dev/null +++ b/keyboards/nopunin10did/styrkatmel/keyboard.json @@ -0,0 +1,127 @@ +{ + "keyboard_name": "Styrka Atmel", + "manufacturer": "NoPunIn10Did", + "url": "https://github.com/qmk/qmk_firmware/tree/master/keyboards/nopunin10did/styrkatmel", + "maintainer": "NoPunIn10Did", + "usb": { + "vid": "0x4E50", + "pid": "0x5341", + "device_version": "0.0.1" + }, + "features": { + "backlight": false, + "bootmagic": true, + "command": false, + "console": false, + "extrakey": true, + "mousekey": true, + "nkro": true + }, + "qmk": { + "locking": { + "enabled": true, + "resync": true + } + }, + "matrix_pins": { + "cols": ["F7", "F6", "F5", "F4", "F1", "D7", "B4", "B5", "B6"], + "rows": ["B3", "B0", "B1", "B2", "E6", "B7", "C6", "C7", "D6", "D4"] + }, + "diode_direction": "COL2ROW", + "dynamic_keymap": { + "layer_count": 3 + }, + "indicators": { + "caps_lock": "F0" + }, + "processor": "atmega32u4", + "bootloader": "atmel-dfu", + "layouts": { + "LAYOUT": { + "layout": [ + {"matrix": [0, 0], "x": 0, "y": 0}, + {"matrix": [1, 0], "x": 1, "y": 0}, + {"matrix": [0, 1], "x": 2.25, "y": 0}, + {"matrix": [1, 1], "x": 3.25, "y": 0}, + {"matrix": [0, 2], "x": 4.25, "y": 0}, + {"matrix": [1, 2], "x": 5.25, "y": 0}, + {"matrix": [0, 3], "x": 6.25, "y": 0}, + {"matrix": [1, 3], "x": 7.25, "y": 0}, + {"matrix": [0, 4], "x": 8.25, "y": 0}, + {"matrix": [1, 4], "x": 9.25, "y": 0}, + {"matrix": [0, 5], "x": 10.25, "y": 0}, + {"matrix": [1, 5], "x": 11.25, "y": 0}, + {"matrix": [0, 6], "x": 12.25, "y": 0}, + {"matrix": [1, 6], "x": 13.25, "y": 0}, + {"matrix": [0, 7], "x": 14.25, "y": 0}, + {"matrix": [0, 8], "x": 15.25, "y": 0, "w": 2}, + {"matrix": [1, 8], "x": 17.25, "y": 0}, + + {"matrix": [2, 0], "x": 0, "y": 1}, + {"matrix": [3, 0], "x": 1, "y": 1}, + {"matrix": [2, 1], "x": 2.25, "y": 1, "w":1.5}, + {"matrix": [3, 1], "x": 3.75, "y": 1}, + {"matrix": [2, 2], "x": 4.75, "y": 1}, + {"matrix": [3, 2], "x": 5.75, "y": 1}, + {"matrix": [2, 3], "x": 6.75, "y": 1}, + {"matrix": [3, 3], "x": 7.75, "y": 1}, + {"matrix": [2, 4], "x": 8.75, "y": 1}, + {"matrix": [3, 4], "x": 9.75, "y": 1}, + {"matrix": [2, 5], "x": 10.75, "y": 1}, + {"matrix": [3, 5], "x": 11.75, "y": 1}, + {"matrix": [2, 6], "x": 12.75, "y": 1}, + {"matrix": [3, 6], "x": 13.75, "y": 1}, + {"matrix": [2, 7], "x": 14.75, "y": 1}, + {"matrix": [3, 8], "x": 17.25, "y": 1}, + + {"matrix": [4, 0], "x": 0, "y": 2}, + {"matrix": [5, 0], "x": 1, "y": 2}, + {"matrix": [4, 1], "x": 2.25, "y": 2, "w":1.25}, + {"matrix": [5, 1], "x": 4, "y": 2}, + {"matrix": [4, 2], "x": 5, "y": 2}, + {"matrix": [5, 2], "x": 6, "y": 2}, + {"matrix": [4, 3], "x": 7, "y": 2}, + {"matrix": [5, 3], "x": 8, "y": 2}, + {"matrix": [4, 4], "x": 9, "y": 2}, + {"matrix": [5, 4], "x": 10, "y": 2}, + {"matrix": [4, 5], "x": 11, "y": 2}, + {"matrix": [5, 5], "x": 12, "y": 2}, + {"matrix": [4, 6], "x": 13, "y": 2}, + {"matrix": [5, 6], "x": 14, "y": 2}, + {"matrix": [4, 7], "x": 15, "y": 2}, + {"matrix": [4, 8], "x": 16, "y": 1, "w":1.25, "h":2}, + {"matrix": [5, 8], "x": 17.25, "y": 2}, + + {"matrix": [6, 0], "x": 0, "y": 3}, + {"matrix": [7, 0], "x": 1, "y": 3}, + {"matrix": [6, 1], "x": 2.25, "y": 3, "w":1.25}, + {"matrix": [7, 1], "x": 3.5, "y": 3}, + {"matrix": [6, 2], "x": 4.5, "y": 3}, + {"matrix": [7, 2], "x": 5.5, "y": 3}, + {"matrix": [6, 3], "x": 6.5, "y": 3}, + {"matrix": [7, 3], "x": 7.5, "y": 3}, + {"matrix": [6, 4], "x": 8.5, "y": 3}, + {"matrix": [7, 4], "x": 9.5, "y": 3}, + {"matrix": [6, 5], "x": 10.5, "y": 3}, + {"matrix": [7, 5], "x": 11.5, "y": 3}, + {"matrix": [6, 6], "x": 12.5, "y": 3}, + {"matrix": [7, 6], "x": 13.5, "y": 3}, + {"matrix": [6, 7], "x": 14.5, "y": 3, "w":1.75}, + {"matrix": [6, 8], "x": 16.25, "y": 3}, + {"matrix": [7, 8], "x": 17.25, "y": 3}, + + {"matrix": [8, 0], "x": 0, "y": 4}, + {"matrix": [9, 0], "x": 1, "y": 4}, + {"matrix": [8, 1], "x": 2.25, "y": 4, "w":1.25}, + {"matrix": [9, 1], "x": 3.5, "y": 4, "w":1.25}, + {"matrix": [8, 2], "x": 4.75, "y": 4, "w":1.25}, + {"matrix": [8, 4], "x": 6, "y": 4, "w":7}, + {"matrix": [8, 6], "x": 12.25, "y": 4, "w":1.25}, + {"matrix": [9, 6], "x": 13.5, "y": 4, "w":1.25}, + {"matrix": [8, 7], "x": 15.25, "y": 4}, + {"matrix": [8, 8], "x": 16.25, "y": 4}, + {"matrix": [9, 8], "x": 17.25, "y": 4} + ] + } + } +} diff --git a/keyboards/nopunin10did/styrkatmel/keymaps/default/keymap.c b/keyboards/nopunin10did/styrkatmel/keymaps/default/keymap.c new file mode 100644 index 00000000000..30feaae1cec --- /dev/null +++ b/keyboards/nopunin10did/styrkatmel/keymaps/default/keymap.c @@ -0,0 +1,48 @@ +/* Copyright 2024 W. Alex Ronke, a.k.a. NoPunIn10Did (w.alex.ronke@gmail.com) + * + * 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] = { + /* Keymap BASE: (Base Layer) Default Layer + * .-------.,---------------------------------------------------------------. + * | F1| F2||Esc| 1| 2| 3| 4| 5| 6| 7| 8| 9| 0| -| =| BkSpc |Ins| + * |---|---||---------------------------------------------------------------| + * | F3| F4||Tab | Q| W| E| R| T| Y| U| I| O| P| [| ]| |Del| + * |---|---||---------------------------------------------------------------| + * | F5| F6||CAPS | A| S| D| F| G| H| J| K| L| ;| '| \| Ent|PgU| + * |---|---||---------------------------------------------------------------| + * | F7| F8||Shft| <>| Z| X| C| V| B| N| M| ,| .| /| Shift| Up|PgD| + * |---|---||---------------------------------------------------------------| + * | F9|F10||LCtl|LGUI|LAlt| Space | Alt| FN||| Lt| Dn| Rt| + * `-------'`---------------------------------------------------------------' + */ +[0] = LAYOUT( + KC_F1, KC_F2, 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_INS, + KC_F3, KC_F4, KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_DEL, + KC_F5, KC_F6, 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_NUHS, KC_ENT, KC_PGUP, + KC_F7, KC_F8, 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_UP, KC_PGDN, + KC_F9, KC_F10, KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, MO(1), KC_LEFT, KC_DOWN, KC_RGHT + ), + +[1] = LAYOUT( + QK_BOOT, KC_F2, 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_INS, + KC_F3, KC_F4, KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_DEL, + KC_F5, KC_F6, 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_NUHS, KC_ENT, KC_PGUP, + KC_F7, KC_F8, 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_UP, KC_PGDN, + KC_F9, KC_F10, KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, KC_TRNS, KC_LEFT, KC_DOWN, KC_RGHT + ), +}; diff --git a/keyboards/nopunin10did/styrkatmel/readme.md b/keyboards/nopunin10did/styrkatmel/readme.md new file mode 100644 index 00000000000..df9656d1a67 --- /dev/null +++ b/keyboards/nopunin10did/styrkatmel/readme.md @@ -0,0 +1,25 @@ +# Viktus Styrka Atmel Edition + +The Viktus Styrka is a 65% + left macro block created in a collaboration of OneCreativeMind and BlindAssassin111 (Viktus owner). + +This is a custom Atmel ISO Hotswap PCB for the Viktus Styrka designed and maintained by NoPunIn10Did. + +* Firmware Maintainer: [nopunin10did](https://github.com/nopunin10did) +* Hardware Supported: Styrka +* Hardware Availability: + +Make example for this keyboard (after setting up your build environment): + + make nopunin10did/styrkatmel:default + +Flashing example for this keyboard: + + make nopunin10did/styrkatmel: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). + +Enter the bootloader in 3 ways: + +* **Bootmagic reset**: Hold down the key at the top left in the macro columns (default: F1) and plug in the keyboard. +* **Physical reset button**: Briefly press the button on the back of the PCB. +* **Keycode in layout**: Press the key mapped to `QK_BOOT`. For the default layout, hold down the rightmost 1.25u key on the bottom row, then tap the top-left key in the macro columns. \ No newline at end of file From 0b3ece1189b11e36790c99a1a80f75413b826bb4 Mon Sep 17 00:00:00 2001 From: Sergey Vlasov Date: Fri, 13 Sep 2024 23:52:31 +0300 Subject: [PATCH 004/124] `qmk find`: Fix handling of keys with dots in filter functions (#24393) --- lib/python/qmk/search.py | 10 ++-- lib/python/qmk/tests/test_cli_commands.py | 65 +++++++++++++++++++++++ 2 files changed, 71 insertions(+), 4 deletions(-) diff --git a/lib/python/qmk/search.py b/lib/python/qmk/search.py index baaf11eb340..25e3d92066d 100644 --- a/lib/python/qmk/search.py +++ b/lib/python/qmk/search.py @@ -74,28 +74,30 @@ class Exists(FilterFunction): func_name = "exists" def apply(self, target_info: KeyboardKeymapDesc) -> bool: - return self.key in target_info.data + return self.key in target_info.dotty class Absent(FilterFunction): func_name = "absent" def apply(self, target_info: KeyboardKeymapDesc) -> bool: - return self.key not in target_info.data + return self.key not in target_info.dotty class Length(FilterFunction): func_name = "length" def apply(self, target_info: KeyboardKeymapDesc) -> bool: - return (self.key in target_info.data and len(target_info.data[self.key]) == int(self.value)) + info_dotty = target_info.dotty + return (self.key in info_dotty and len(info_dotty[self.key]) == int(self.value)) class Contains(FilterFunction): func_name = "contains" def apply(self, target_info: KeyboardKeymapDesc) -> bool: - return (self.key in target_info.data and self.value in target_info.data[self.key]) + info_dotty = target_info.dotty + return (self.key in info_dotty and self.value in info_dotty[self.key]) def _get_filter_class(func_name: str, key: str, value: str) -> Optional[FilterFunction]: diff --git a/lib/python/qmk/tests/test_cli_commands.py b/lib/python/qmk/tests/test_cli_commands.py index 4c322e0c9d0..f18bd12f820 100644 --- a/lib/python/qmk/tests/test_cli_commands.py +++ b/lib/python/qmk/tests/test_cli_commands.py @@ -347,3 +347,68 @@ def test_format_json_keymap_auto(): result = check_subcommand('format-json', '--format', 'auto', 'lib/python/qmk/tests/minimal_keymap.json') check_returncode(result) assert result.stdout == '{\n "keyboard": "handwired/pytest/basic",\n "keymap": "test",\n "layers": [\n ["KC_A"]\n ],\n "layout": "LAYOUT_ortho_1x1",\n "version": 1\n}\n' + + +def test_find_exists(): + result = check_subcommand('find', '-f', 'exists(rgb_matrix.split_count)', '-p', 'rgb_matrix.split_count') + check_returncode(result) + values = [s for s in result.stdout.splitlines() if 'rgb_matrix.split_count=' in s] + assert len(values) > 0 + for s in values: + assert '=None' not in s + assert '=[' in s + + +def test_find_absent(): + result = check_subcommand('find', '-f', 'absent(rgb_matrix.split_count)', '-p', 'rgb_matrix.split_count') + check_returncode(result) + values = [s for s in result.stdout.splitlines() if 'rgb_matrix.split_count=' in s] + assert len(values) > 0 + for s in values: + assert '=None' in s + assert '=[' not in s + + +def test_find_length(): + result = check_subcommand('find', '-f', 'length(matrix_pins.cols, 6)', '-p', 'matrix_pins.cols') + check_returncode(result) + values = [s for s in result.stdout.splitlines() if 'matrix_pins.cols=' in s] + assert len(values) > 0 + for s in values: + assert s.count(',') == 5 + + +def test_find_contains(): + result = check_subcommand('find', '-f', 'contains(matrix_pins.cols, B1)', '-p', 'matrix_pins.cols') + check_returncode(result) + values = [s for s in result.stdout.splitlines() if 'matrix_pins.cols=' in s] + assert len(values) > 0 + for s in values: + assert "'B1'" in s + + +def test_find_multiple_conditions(): + # this is intended to match at least 'crkbd/rev1' + result = check_subcommand( + 'find', '-f', 'exists(rgb_matrix.split_count)', '-f', 'contains(matrix_pins.cols, B1)', '-f', 'length(matrix_pins.cols, 6)', '-f', 'absent(eeprom.driver)', '-f', 'ws2812.pin=D3', '-p', 'rgb_matrix.split_count', '-p', 'matrix_pins.cols', '-p', + 'eeprom.driver', '-p', 'ws2812.pin' + ) + check_returncode(result) + rgb_matrix_split_count_values = [s for s in result.stdout.splitlines() if 'rgb_matrix.split_count=' in s] + assert len(rgb_matrix_split_count_values) > 0 + for s in rgb_matrix_split_count_values: + assert '=None' not in s + assert '=[' in s + matrix_pins_cols_values = [s for s in result.stdout.splitlines() if 'matrix_pins.cols=' in s] + assert len(matrix_pins_cols_values) > 0 + for s in matrix_pins_cols_values: + assert s.count(',') == 5 + assert "'B1'" in s + eeprom_driver_values = [s for s in result.stdout.splitlines() if 'eeprom.driver=' in s] + assert len(eeprom_driver_values) > 0 + for s in eeprom_driver_values: + assert '=None' in s + ws2812_pin_values = [s for s in result.stdout.splitlines() if 'ws2812.pin=' in s] + assert len(ws2812_pin_values) > 0 + for s in ws2812_pin_values: + assert '=D3' in s From aa05fa649fae1f5318ef36d93cb79a6bf4b94f47 Mon Sep 17 00:00:00 2001 From: jack Date: Sat, 14 Sep 2024 16:09:01 -0600 Subject: [PATCH 005/124] Update PR template (#24397) Initial --- .github/PULL_REQUEST_TEMPLATE.md | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/.github/PULL_REQUEST_TEMPLATE.md b/.github/PULL_REQUEST_TEMPLATE.md index d402488d407..868237d9599 100644 --- a/.github/PULL_REQUEST_TEMPLATE.md +++ b/.github/PULL_REQUEST_TEMPLATE.md @@ -1,6 +1,5 @@ - ## Description @@ -15,7 +14,7 @@ - [ ] New feature - [ ] Enhancement/optimization - [ ] Keyboard (addition or update) -- [ ] Keymap/layout/userspace (addition or update) +- [ ] Keymap/layout (addition or update) - [ ] Documentation ## Issues Fixed or Closed by This PR From e84104fe8d648e582eba3e3e4ba0bc7187adbee4 Mon Sep 17 00:00:00 2001 From: Ryan Date: Sun, 15 Sep 2024 10:08:29 +1000 Subject: [PATCH 006/124] Reinstate global `k_rgb_matrix_split` (#24388) --- quantum/led_matrix/led_matrix.c | 6 ++---- quantum/rgb_matrix/rgb_matrix.c | 11 +++++++---- 2 files changed, 9 insertions(+), 8 deletions(-) diff --git a/quantum/led_matrix/led_matrix.c b/quantum/led_matrix/led_matrix.c index 798ab9a120e..a5f0296f8d0 100644 --- a/quantum/led_matrix/led_matrix.c +++ b/quantum/led_matrix/led_matrix.c @@ -387,7 +387,6 @@ struct led_matrix_limits_t led_matrix_get_limits(uint8_t iter) { limits.led_min_index = LED_MATRIX_LED_PROCESS_LIMIT * (iter); limits.led_max_index = limits.led_min_index + LED_MATRIX_LED_PROCESS_LIMIT; if (limits.led_max_index > LED_MATRIX_LED_COUNT) limits.led_max_index = LED_MATRIX_LED_COUNT; - uint8_t k_led_matrix_split[2] = LED_MATRIX_SPLIT; if (is_keyboard_left() && (limits.led_max_index > k_led_matrix_split[0])) limits.led_max_index = k_led_matrix_split[0]; if (!(is_keyboard_left()) && (limits.led_min_index < k_led_matrix_split[0])) limits.led_min_index = k_led_matrix_split[0]; # else @@ -397,9 +396,8 @@ struct led_matrix_limits_t led_matrix_get_limits(uint8_t iter) { # endif #else # if defined(LED_MATRIX_SPLIT) - limits.led_min_index = 0; - limits.led_max_index = LED_MATRIX_LED_COUNT; - const uint8_t k_led_matrix_split[2] = LED_MATRIX_SPLIT; + limits.led_min_index = 0; + limits.led_max_index = LED_MATRIX_LED_COUNT; if (is_keyboard_left() && (limits.led_max_index > k_led_matrix_split[0])) limits.led_max_index = k_led_matrix_split[0]; if (!(is_keyboard_left()) && (limits.led_min_index < k_led_matrix_split[0])) limits.led_min_index = k_led_matrix_split[0]; # else diff --git a/quantum/rgb_matrix/rgb_matrix.c b/quantum/rgb_matrix/rgb_matrix.c index 4d55a3d5fe2..0ea421d1c52 100644 --- a/quantum/rgb_matrix/rgb_matrix.c +++ b/quantum/rgb_matrix/rgb_matrix.c @@ -83,6 +83,11 @@ static uint32_t rgb_timer_buffer; static last_hit_t last_hit_buffer; #endif // RGB_MATRIX_KEYREACTIVE_ENABLED +// split rgb matrix +#if defined(RGB_MATRIX_SPLIT) +const uint8_t k_rgb_matrix_split[2] = RGB_MATRIX_SPLIT; +#endif + EECONFIG_DEBOUNCE_HELPER(rgb_matrix, EECONFIG_RGB_MATRIX, rgb_matrix_config); void eeconfig_update_rgb_matrix(void) { @@ -399,7 +404,6 @@ struct rgb_matrix_limits_t rgb_matrix_get_limits(uint8_t iter) { limits.led_min_index = RGB_MATRIX_LED_PROCESS_LIMIT * (iter); limits.led_max_index = limits.led_min_index + RGB_MATRIX_LED_PROCESS_LIMIT; if (limits.led_max_index > RGB_MATRIX_LED_COUNT) limits.led_max_index = RGB_MATRIX_LED_COUNT; - uint8_t k_rgb_matrix_split[2] = RGB_MATRIX_SPLIT; if (is_keyboard_left() && (limits.led_max_index > k_rgb_matrix_split[0])) limits.led_max_index = k_rgb_matrix_split[0]; if (!(is_keyboard_left()) && (limits.led_min_index < k_rgb_matrix_split[0])) limits.led_min_index = k_rgb_matrix_split[0]; # else @@ -409,9 +413,8 @@ struct rgb_matrix_limits_t rgb_matrix_get_limits(uint8_t iter) { # endif #else # if defined(RGB_MATRIX_SPLIT) - limits.led_min_index = 0; - limits.led_max_index = RGB_MATRIX_LED_COUNT; - const uint8_t k_rgb_matrix_split[2] = RGB_MATRIX_SPLIT; + limits.led_min_index = 0; + limits.led_max_index = RGB_MATRIX_LED_COUNT; if (is_keyboard_left() && (limits.led_max_index > k_rgb_matrix_split[0])) limits.led_max_index = k_rgb_matrix_split[0]; if (!(is_keyboard_left()) && (limits.led_min_index < k_rgb_matrix_split[0])) limits.led_min_index = k_rgb_matrix_split[0]; # else From e7c009c142e30f6a4433e2a27ea6b56e611e68af Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Wed, 18 Sep 2024 09:56:46 +0100 Subject: [PATCH 007/124] Bump vite from 5.2.10 to 5.2.14 in /builddefs/docsgen (#24403) Bumps [vite](https://github.com/vitejs/vite/tree/HEAD/packages/vite) from 5.2.10 to 5.2.14. - [Release notes](https://github.com/vitejs/vite/releases) - [Changelog](https://github.com/vitejs/vite/blob/v5.2.14/packages/vite/CHANGELOG.md) - [Commits](https://github.com/vitejs/vite/commits/v5.2.14/packages/vite) --- updated-dependencies: - dependency-name: vite dependency-type: direct:development ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- builddefs/docsgen/package.json | 2 +- builddefs/docsgen/yarn.lock | 8 ++++---- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/builddefs/docsgen/package.json b/builddefs/docsgen/package.json index 435e7481f1f..3bc4b38c86b 100644 --- a/builddefs/docsgen/package.json +++ b/builddefs/docsgen/package.json @@ -1,7 +1,7 @@ { "license": "GPL-2.0-or-later", "devDependencies": { - "vite": "^5.2.10", + "vite": "^5.2.14", "vitepress": "^1.1.0", "vitepress-plugin-tabs": "^0.5.0", "vue": "^3.4.24" diff --git a/builddefs/docsgen/yarn.lock b/builddefs/docsgen/yarn.lock index b40c1298d01..740bd85bb56 100644 --- a/builddefs/docsgen/yarn.lock +++ b/builddefs/docsgen/yarn.lock @@ -743,10 +743,10 @@ tabbable@^6.2.0: resolved "https://registry.yarnpkg.com/tabbable/-/tabbable-6.2.0.tgz#732fb62bc0175cfcec257330be187dcfba1f3b97" integrity sha512-Cat63mxsVJlzYvN51JmVXIgNoUokrIaT2zLclCXjRd8boZ0004U4KCs/sToJ75C6sdlByWxpYnb5Boif1VSFew== -vite@^5.2.10, vite@^5.2.9: - version "5.2.10" - resolved "https://registry.yarnpkg.com/vite/-/vite-5.2.10.tgz#2ac927c91e99d51b376a5c73c0e4b059705f5bd7" - integrity sha512-PAzgUZbP7msvQvqdSD+ErD5qGnSFiGOoWmV5yAKUEI0kdhjbH6nMWVyZQC/hSc4aXwc0oJ9aEdIiF9Oje0JFCw== +vite@^5.2.14, vite@^5.2.9: + version "5.2.14" + resolved "https://registry.yarnpkg.com/vite/-/vite-5.2.14.tgz#fd5f60facf6b5f90ec7da6323c467a365d380c3d" + integrity sha512-TFQLuwWLPms+NBNlh0D9LZQ+HXW471COABxw/9TEUBrjuHMo9BrYBPrN/SYAwIuVL+rLerycxiLT41t4f5MZpA== dependencies: esbuild "^0.20.1" postcss "^8.4.38" From 42f1763db93b0f2c962e204ccc6e8ec7b07424a8 Mon Sep 17 00:00:00 2001 From: kbladewht Date: Wed, 18 Sep 2024 17:06:50 +0800 Subject: [PATCH 008/124] Workaround for broken STM32L433 startup (#24404) Change STM32L433 LSI to False, this is to fix board startup issue , change is same to stm32L432 board --- platforms/chibios/boards/GENERIC_STM32_L433XC/configs/mcuconf.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/platforms/chibios/boards/GENERIC_STM32_L433XC/configs/mcuconf.h b/platforms/chibios/boards/GENERIC_STM32_L433XC/configs/mcuconf.h index 948c740f6e2..24cc66b7884 100644 --- a/platforms/chibios/boards/GENERIC_STM32_L433XC/configs/mcuconf.h +++ b/platforms/chibios/boards/GENERIC_STM32_L433XC/configs/mcuconf.h @@ -40,7 +40,7 @@ #define STM32_PLS STM32_PLS_LEV0 #define STM32_HSI16_ENABLED TRUE #define STM32_HSI48_ENABLED TRUE -#define STM32_LSI_ENABLED TRUE +#define STM32_LSI_ENABLED FALSE #define STM32_HSE_ENABLED FALSE #define STM32_LSE_ENABLED FALSE #define STM32_MSIPLL_ENABLED FALSE From 49e339ba8d03e80f13190260ec92ba64bbb34998 Mon Sep 17 00:00:00 2001 From: Dasky <32983009+daskygit@users.noreply.github.com> Date: Wed, 18 Sep 2024 12:44:33 +0100 Subject: [PATCH 009/124] Add LD7032 support to QP. (#20828) Co-authored-by: Nick Brassel Co-authored-by: Sergey Vlasov --- docs/quantum_painter.md | 36 ++ drivers/painter/ld7032/qp_ld7032.c | 411 +++++++++++++++++++++ drivers/painter/ld7032/qp_ld7032.h | 66 ++++ drivers/painter/ld7032/qp_ld7032_opcodes.h | 45 +++ quantum/painter/qp.h | 6 + quantum/painter/qp_internal.c | 1 + quantum/painter/rules.mk | 27 +- 7 files changed, 591 insertions(+), 1 deletion(-) create mode 100644 drivers/painter/ld7032/qp_ld7032.c create mode 100644 drivers/painter/ld7032/qp_ld7032.h create mode 100644 drivers/painter/ld7032/qp_ld7032_opcodes.h diff --git a/docs/quantum_painter.md b/docs/quantum_painter.md index 1d844d0f942..782d496ff7d 100644 --- a/docs/quantum_painter.md +++ b/docs/quantum_painter.md @@ -28,6 +28,8 @@ Supported devices: | ILI9341 | RGB LCD | 240x320 | SPI + D/C + RST | `QUANTUM_PAINTER_DRIVERS += ili9341_spi` | | ILI9486 | RGB LCD | 320x480 | SPI + D/C + RST | `QUANTUM_PAINTER_DRIVERS += ili9486_spi` | | ILI9488 | RGB LCD | 320x480 | SPI + D/C + RST | `QUANTUM_PAINTER_DRIVERS += ili9488_spi` | +| LD7032 (SPI) | Monochrome OLED | 128x40 | SPI + D/C + RST | `QUANTUM_PAINTER_DRIVERS += ld7032_spi` | +| LD7032 (I2C) | Monochrome OLED | 128x40 | I2C | `QUANTUM_PAINTER_DRIVERS += ld7032_i2c` | | SSD1351 | RGB OLED | 128x128 | SPI + D/C + RST | `QUANTUM_PAINTER_DRIVERS += ssd1351_spi` | | ST7735 | RGB LCD | 132x162, 80x160 | SPI + D/C + RST | `QUANTUM_PAINTER_DRIVERS += st7735_spi` | | ST7789 | RGB LCD | 240x320, 240x240 | SPI + D/C + RST | `QUANTUM_PAINTER_DRIVERS += st7789_spi` | @@ -478,6 +480,40 @@ Native color format mono2 is compatible with SH1106 SSD1306 and SH1106 are almost entirely identical, to the point of being indisinguishable by Quantum Painter. Enable SH1106 support in Quantum Painter and create SH1106 devices in firmware to perform drawing operations on SSD1306 displays. +==== LD7032 + +Enabling support for the LD7032 in Quantum Painter is done by adding the following to `rules.mk`: + +```make +QUANTUM_PAINTER_ENABLE = yes +# For SPI: +QUANTUM_PAINTER_DRIVERS += ld7032_spi +# For I2C: +QUANTUM_PAINTER_DRIVERS += ld7032_i2c +``` + +Creating a SH1106 device in firmware can then be done with the following APIs: + +```c +// SPI-based LD7032: +painter_device_t qp_ld7032_make_spi_device(uint16_t panel_width, uint16_t panel_height, pin_t chip_select_pin, pin_t dc_pin, pin_t reset_pin, uint16_t spi_divisor, int spi_mode); +// I2C-based LD7032: +painter_device_t qp_ld7032_make_i2c_device(uint16_t panel_width, uint16_t panel_height, uint8_t i2c_address); +``` + +The device handle returned from the `qp_ld7032_make_???_device` function can be used to perform all other drawing operations. + +The maximum number of displays of each type can be configured by changing the following in your `config.h` (default is 1): + +```c +// 3 SPI displays: +#define LD7032_NUM_SPI_DEVICES 3 +// 3 I2C displays: +#define LD7032_NUM_I2C_DEVICES 3 +``` + +Native color format mono2 is compatible with LD7032. + ::::: ===== Surface diff --git a/drivers/painter/ld7032/qp_ld7032.c b/drivers/painter/ld7032/qp_ld7032.c new file mode 100644 index 00000000000..f43ae8e60d7 --- /dev/null +++ b/drivers/painter/ld7032/qp_ld7032.c @@ -0,0 +1,411 @@ +// Copyright 2023 Nick Brassel (@tzarc) +// Copyright 2023 Dasky (@daskygit) +// SPDX-License-Identifier: GPL-2.0-or-later + +#include "qp_internal.h" +#include "qp_comms.h" +#include "qp_oled_panel.h" +#include "qp_ld7032.h" +#include "qp_ld7032_opcodes.h" +#include "qp_surface.h" +#include "qp_surface_internal.h" + +typedef void (*ld7032_driver_comms_send_command_and_data_func)(painter_device_t device, uint8_t cmd, uint8_t data); +typedef uint32_t (*ld7032_driver_comms_send_command_and_databuf_func)(painter_device_t device, uint8_t cmd, const void *data, uint32_t byte_count); + +typedef struct ld7032_comms_with_command_vtable_t { + painter_comms_vtable_t base; // must be first, so this object can be cast from the painter_comms_vtable_t* type + painter_driver_comms_send_command_func send_command; + painter_driver_comms_bulk_command_sequence bulk_command_sequence; + ld7032_driver_comms_send_command_and_data_func send_command_data; + ld7032_driver_comms_send_command_and_databuf_func send_command_databuf; +} ld7032_comms_with_command_vtable_t; + +//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// +// LD7032 Internal API +//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// + +void ld7032_comms_i2c_send_command_and_data(painter_device_t device, uint8_t cmd, uint8_t data) { + uint8_t buf[2] = {cmd, data}; + qp_comms_i2c_send_data(device, buf, 2); +} + +void ld7032_comms_i2c_bulk_command_sequence(painter_device_t device, const uint8_t *sequence, size_t sequence_len) { + uint8_t buf[32]; + for (size_t i = 0; i < sequence_len;) { + uint8_t command = sequence[i]; + uint8_t delay = sequence[i + 1]; + uint8_t num_bytes = sequence[i + 2]; + buf[0] = command; + memcpy(&buf[1], &sequence[i + 3], num_bytes); + qp_comms_i2c_send_data(device, buf, num_bytes + 1); + if (delay > 0) { + wait_ms(delay); + } + i += (3 + num_bytes); + } +} + +uint32_t ld7032_comms_i2c_send_command_and_databuf(painter_device_t device, uint8_t cmd, const void *data, uint32_t byte_count) { + uint8_t buf[byte_count + 1]; + memset(buf, 0, sizeof(buf)); + buf[0] = cmd; + memcpy(&buf[1], data, byte_count); + return qp_comms_send(device, buf, byte_count + 1); +} + +// Power control +bool qp_ld7032_power(painter_device_t device, bool power_on) { + painter_driver_t * driver = (painter_driver_t *)device; + ld7032_comms_with_command_vtable_t *comms_vtable = (ld7032_comms_with_command_vtable_t *)driver->comms_vtable; + + comms_vtable->send_command_data(device, LD7032_DISP_ON_OFF, power_on ? 0x01 : 0x00); + + return true; +} + +// Screen clear +bool qp_ld7032_clear(painter_device_t device) { + qp_rect(device, 0, 0, 127, 127, 0, 0, 0, true); // clear memory + painter_driver_t *driver = (painter_driver_t *)device; + driver->driver_vtable->init(device, driver->rotation); // Re-init the display + return true; +} + +//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// +// Flush helpers +//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// + +void ld7032_flush_0(painter_device_t device, surface_dirty_data_t *dirty, const uint8_t *framebuffer, bool inverted) { + painter_driver_t * driver = (painter_driver_t *)device; + ld7032_comms_with_command_vtable_t *comms_vtable = (ld7032_comms_with_command_vtable_t *)driver->comms_vtable; + + int x_start = dirty->l >> 3; + int x_end = dirty->r >> 3; + int y_start = dirty->t; + int y_end = dirty->b; + int x_length = (x_end - x_start) + 1; + uint8_t x_view_offset = driver->offset_x >> 3; + uint8_t y_view_offset = driver->offset_y; + + for (int y_pos = y_start; y_pos <= y_end; y_pos++) { + int y_new_pos = y_pos; + if (inverted) { + y_new_pos = y_end - y_pos; + } + uint8_t packet[x_length]; + memcpy(packet, &framebuffer[(y_pos * (driver->panel_width >> 3)) + x_start], x_length); + uint8_t x_write_start = MIN(x_start + x_view_offset, (128 >> 3)); + uint8_t x_write_end = MIN(x_end + x_view_offset, (128 >> 3)); + uint8_t y_write_start = MIN(y_new_pos + y_view_offset, 39); + uint8_t y_write_end = MIN(y_new_pos + y_view_offset, 39); + + comms_vtable->send_command_data(device, LD7032_X_BOX_ADR_START, x_write_start); + comms_vtable->send_command_data(device, LD7032_X_BOX_ADR_END, x_write_end); + comms_vtable->send_command_data(device, LD7032_Y_BOX_ADR_START, y_write_start); + comms_vtable->send_command_data(device, LD7032_Y_BOX_ADR_END, y_write_end); + comms_vtable->send_command_databuf(device, LD7032_DATA_RW, packet, x_length); + } +} + +void ld7032_flush_90(painter_device_t device, surface_dirty_data_t *dirty, const uint8_t *framebuffer, bool inverted) { + painter_driver_t * driver = (painter_driver_t *)device; + ld7032_comms_with_command_vtable_t *comms_vtable = (ld7032_comms_with_command_vtable_t *)driver->comms_vtable; + + int x_start = dirty->t >> 3; + int x_end = dirty->b >> 3; + int y_start = dirty->l; + int y_end = dirty->r; + int x_length = (x_end - x_start) + 1; + uint8_t x_view_offset = driver->offset_x >> 3; + uint8_t y_view_offset = driver->offset_y; + + for (int y_pos = y_start; y_pos <= y_end; y_pos++) { + int y_new_pos = y_pos; + if (inverted) { + y_new_pos = y_end - y_pos; + } + uint8_t packet[x_length]; + memset(packet, 0, sizeof(packet)); + int count = 0; + for (int x_pos = x_start; x_pos <= x_end; x_pos++) { + for (int x = 0; x < 8; ++x) { + uint32_t pixel_num = (((x_pos << 3) + x) * driver->panel_height) + y_pos; + uint32_t byte_offset = pixel_num / 8; + uint8_t bit_offset = pixel_num % 8; + packet[count] |= ((framebuffer[byte_offset] & (1 << bit_offset)) >> bit_offset) << x; + } + count++; + } + uint8_t x_width = (driver->panel_width >> 3) - 1; + uint8_t x_write_start = MAX((int)x_width - x_end - x_view_offset, 0); + uint8_t x_write_end = MAX((int)x_width - x_start - x_view_offset, 0); + uint8_t y_write_start = MIN(y_new_pos + y_view_offset, 39); + uint8_t y_write_end = MIN(y_new_pos + y_view_offset, 39); + + comms_vtable->send_command_data(device, LD7032_X_BOX_ADR_START, x_write_start); + comms_vtable->send_command_data(device, LD7032_X_BOX_ADR_END, x_write_end); + comms_vtable->send_command_data(device, LD7032_Y_BOX_ADR_START, y_write_start); + comms_vtable->send_command_data(device, LD7032_Y_BOX_ADR_END, y_write_end); + comms_vtable->send_command_databuf(device, LD7032_DATA_RW, packet, x_length); + } +} + +//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// +// Driver storage +//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// + +typedef struct ld7032_device_t { + oled_panel_painter_device_t oled; + + uint8_t framebuffer[SURFACE_REQUIRED_BUFFER_BYTE_SIZE(128, 40, 1)]; +} ld7032_device_t; + +static ld7032_device_t ld7032_drivers[LD7032_NUM_DEVICES] = {0}; + +//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// +// Quantum Painter API implementations + +// Initialisation +__attribute__((weak)) bool qp_ld7032_init(painter_device_t device, painter_rotation_t rotation) { + ld7032_device_t *driver = (ld7032_device_t *)device; + + // Change the surface geometry based on the panel rotation + if (rotation == QP_ROTATION_90 || rotation == QP_ROTATION_270) { + driver->oled.surface.base.panel_width = driver->oled.base.panel_height; + driver->oled.surface.base.panel_height = driver->oled.base.panel_width; + } else { + driver->oled.surface.base.panel_width = driver->oled.base.panel_width; + driver->oled.surface.base.panel_height = driver->oled.base.panel_height; + } + + // Init the internal surface + if (!qp_init(&driver->oled.surface.base, QP_ROTATION_0)) { + qp_dprintf("Failed to init internal surface in qp_ld7032_init\n"); + return false; + } + + // clang-format off + const uint8_t ld7032_init_sequence[] = { + // Command, Delay, N, Data[N] + LD7032_DISP_STBY_ON_OFF, 0, 1, 0x00, + LD7032_DISP_ON_OFF, 0, 1, 0x00, + LD7032_DFRAME, 0, 1, 0x05, + //LD7032_WRITE_DIRECTION, 0, 1, 0b00001000, // 0 Right, 1 Up, 2 Vertical, 3 Bit Order, 4-7 Unused + LD7032_DISP_DIRECTION, 0, 1, 0x00, + LD7032_PEAK_WIDTH, 0, 1, 0x1F, + LD7032_PEAK_DELAY, 0, 1, 0x05, + LD7032_SCAN_MODE, 0, 1, 0x01, + LD7032_DOT_CURRENT, 0, 1, 0x1f, + LD7032_VDD_SEL, 0, 1, 0x01, + }; + // clang-format on + + qp_comms_bulk_command_sequence(device, ld7032_init_sequence, sizeof(ld7032_init_sequence)); + + uint8_t display_y_start = 40 - driver->oled.base.panel_height; + uint8_t display_x_start = (128 - driver->oled.base.panel_width) / 2; + + // clang-format off + uint8_t ld7032_memory_setup[] = { + // Command, Delay, N, Data[N] + LD7032_DISP_SIZE_X, 0, 2, 0x00, 0x7F, + LD7032_DISP_SIZE_Y, 0, 2, 0x00, 0x27, + LD7032_X_DISP_START, 0, 1, 0x0, + LD7032_Y_DISP_START, 0, 1, 0x0, + }; + // clang-format on + + ld7032_memory_setup[3] = display_x_start; + ld7032_memory_setup[4] = display_x_start + driver->oled.base.panel_width - 1; + ld7032_memory_setup[8] = display_y_start; + ld7032_memory_setup[9] = display_y_start + driver->oled.base.panel_height - 1; + ld7032_memory_setup[13] = ld7032_memory_setup[4] + 1; + ld7032_memory_setup[17] = driver->oled.base.panel_height; + + qp_comms_bulk_command_sequence(device, ld7032_memory_setup, sizeof(ld7032_memory_setup)); + + uint8_t write_direction = 0; + switch (rotation) { + default: + case QP_ROTATION_0: + write_direction = 0b00001000; + break; + case QP_ROTATION_90: + write_direction = 0b00000001; + break; + case QP_ROTATION_180: + write_direction = 0b00000001; + break; + case QP_ROTATION_270: + write_direction = 0b00001000; + break; + } + + painter_driver_t * pdriver = (painter_driver_t *)device; + ld7032_comms_with_command_vtable_t *comms_vtable = (ld7032_comms_with_command_vtable_t *)pdriver->comms_vtable; + + comms_vtable->send_command_data(device, LD7032_WRITE_DIRECTION, write_direction); + + qp_ld7032_power(device, true); + + return true; +} + +// Screen flush +bool qp_ld7032_flush(painter_device_t device) { + ld7032_device_t *driver = (ld7032_device_t *)device; + + if (!driver->oled.surface.dirty.is_dirty) { + return true; + } + + switch (driver->oled.base.rotation) { + default: + case QP_ROTATION_0: + ld7032_flush_0(device, &driver->oled.surface.dirty, driver->framebuffer, false); + break; + case QP_ROTATION_180: + ld7032_flush_0(device, &driver->oled.surface.dirty, driver->framebuffer, true); + break; + case QP_ROTATION_90: + ld7032_flush_90(device, &driver->oled.surface.dirty, driver->framebuffer, false); + break; + case QP_ROTATION_270: + ld7032_flush_90(device, &driver->oled.surface.dirty, driver->framebuffer, true); + break; + } + + // Clear the dirty area + qp_flush(&driver->oled.surface); + + return true; +} + +//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// +// Driver vtable +//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// + +const painter_driver_vtable_t ld7032_driver_vtable = { + .init = qp_ld7032_init, + .power = qp_ld7032_power, + .clear = qp_ld7032_clear, + .flush = qp_ld7032_flush, + .pixdata = qp_oled_panel_passthru_pixdata, + .viewport = qp_oled_panel_passthru_viewport, + .palette_convert = qp_oled_panel_passthru_palette_convert, + .append_pixels = qp_oled_panel_passthru_append_pixels, + .append_pixdata = qp_oled_panel_passthru_append_pixdata, +}; + +#ifdef QUANTUM_PAINTER_LD7032_SPI_ENABLE + +const ld7032_comms_with_command_vtable_t ld7032_spi_comms_vtable = { + .base = + { + .comms_init = qp_comms_spi_dc_reset_init, + .comms_start = qp_comms_spi_start, + .comms_send = qp_comms_spi_dc_reset_send_data, + .comms_stop = qp_comms_spi_stop, + }, + .send_command = qp_comms_spi_dc_reset_send_command, + .send_command_data = qp_comms_command_databyte, + .send_command_databuf = qp_comms_command_databuf, + .bulk_command_sequence = qp_comms_spi_dc_reset_bulk_command_sequence, +}; + +// Factory function for creating a handle to the LD7032 device +painter_device_t qp_ld7032_make_spi_device(uint16_t panel_width, uint16_t panel_height, pin_t chip_select_pin, pin_t dc_pin, pin_t reset_pin, uint16_t spi_divisor, int spi_mode) { + for (uint32_t i = 0; i < LD7032_NUM_DEVICES; ++i) { + ld7032_device_t *driver = &ld7032_drivers[i]; + if (!driver->oled.base.driver_vtable) { + painter_device_t surface = qp_make_mono1bpp_surface_advanced(&driver->oled.surface, 1, panel_width, panel_height, driver->framebuffer); + if (!surface) { + return NULL; + } + + // Setup the OLED device + driver->oled.base.driver_vtable = (const painter_driver_vtable_t *)&ld7032_driver_vtable; + driver->oled.base.comms_vtable = (const painter_comms_vtable_t *)&ld7032_spi_comms_vtable; + driver->oled.base.native_bits_per_pixel = 1; // 1bpp mono + driver->oled.base.panel_width = panel_width; + driver->oled.base.panel_height = panel_height; + driver->oled.base.rotation = QP_ROTATION_0; + driver->oled.base.offset_x = 0; + driver->oled.base.offset_y = 0; + + // SPI and other pin configuration + driver->oled.base.comms_config = &driver->oled.spi_dc_reset_config; + driver->oled.spi_dc_reset_config.spi_config.chip_select_pin = chip_select_pin; + driver->oled.spi_dc_reset_config.spi_config.divisor = spi_divisor; + driver->oled.spi_dc_reset_config.spi_config.lsb_first = false; + driver->oled.spi_dc_reset_config.spi_config.mode = spi_mode; + driver->oled.spi_dc_reset_config.dc_pin = dc_pin; + driver->oled.spi_dc_reset_config.reset_pin = reset_pin; + driver->oled.spi_dc_reset_config.command_params_uses_command_pin = true; + + if (!qp_internal_register_device((painter_device_t)driver)) { + memset(driver, 0, sizeof(ld7032_device_t)); + return NULL; + } + + return (painter_device_t)driver; + } + } + return NULL; +} + +#endif // QUANTUM_PAINTER_LD7032_SPI_ENABLE + +#ifdef QUANTUM_PAINTER_LD7032_I2C_ENABLE + +const ld7032_comms_with_command_vtable_t ld7032_i2c_comms_vtable = { + .base = + { + .comms_init = qp_comms_i2c_init, + .comms_start = qp_comms_i2c_start, + .comms_send = qp_comms_i2c_send_data, + .comms_stop = qp_comms_i2c_stop, + }, + .send_command = NULL, + .send_command_data = ld7032_comms_i2c_send_command_and_data, + .send_command_databuf = ld7032_comms_i2c_send_command_and_databuf, + .bulk_command_sequence = ld7032_comms_i2c_bulk_command_sequence, +}; + +// Factory function for creating a handle to the LD7032 device +painter_device_t qp_ld7032_make_i2c_device(uint16_t panel_width, uint16_t panel_height, uint8_t i2c_address) { + for (uint32_t i = 0; i < LD7032_NUM_DEVICES; ++i) { + ld7032_device_t *driver = &ld7032_drivers[i]; + if (!driver->oled.base.driver_vtable) { + painter_device_t surface = qp_make_mono1bpp_surface_advanced(&driver->oled.surface, 1, panel_width, panel_height, driver->framebuffer); + if (!surface) { + return NULL; + } + + // Setup the OLED device + driver->oled.base.driver_vtable = (const painter_driver_vtable_t *)&ld7032_driver_vtable; + driver->oled.base.comms_vtable = (const painter_comms_vtable_t *)&ld7032_i2c_comms_vtable; + driver->oled.base.native_bits_per_pixel = 1; // 1bpp mono + driver->oled.base.panel_width = panel_width; + driver->oled.base.panel_height = panel_height; + driver->oled.base.rotation = QP_ROTATION_0; + driver->oled.base.offset_x = 0; + driver->oled.base.offset_y = 0; + + // I2C configuration + driver->oled.base.comms_config = &driver->oled.i2c_config; + driver->oled.i2c_config.chip_address = i2c_address; + + if (!qp_internal_register_device((painter_device_t)driver)) { + memset(driver, 0, sizeof(ld7032_device_t)); + return NULL; + } + + return (painter_device_t)driver; + } + } + return NULL; +} + +#endif // QUANTUM_PAINTER_LD7032_SPI_ENABLE diff --git a/drivers/painter/ld7032/qp_ld7032.h b/drivers/painter/ld7032/qp_ld7032.h new file mode 100644 index 00000000000..967eb7999cc --- /dev/null +++ b/drivers/painter/ld7032/qp_ld7032.h @@ -0,0 +1,66 @@ +// Copyright 2023 Nick Brassel (@tzarc) +// SPDX-License-Identifier: GPL-2.0-or-later +#pragma once + +#include "gpio.h" +#include "qp_internal.h" + +//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// +// Quantum Painter LD7032 configurables (add to your keyboard's config.h) + +#if defined(QUANTUM_PAINTER_LD7032_SPI_ENABLE) && !defined(LD7032_NUM_SPI_DEVICES) +/** + * @def This controls the maximum number of SPI LD7032 devices that Quantum Painter can communicate with at any one time. + * Increasing this number allows for multiple displays to be used. + */ +# define LD7032_NUM_SPI_DEVICES 1 +#else +# define LD7032_NUM_SPI_DEVICES 0 +#endif + +#if defined(QUANTUM_PAINTER_LD7032_I2C_ENABLE) && !defined(LD7032_NUM_I2C_DEVICES) +/** + * @def This controls the maximum number of I2C LD7032 devices that Quantum Painter can communicate with at any one time. + * Increasing this number allows for multiple displays to be used. + */ +# define LD7032_NUM_I2C_DEVICES 1 +#else +# define LD7032_NUM_I2C_DEVICES 0 +#endif + +#define LD7032_NUM_DEVICES ((LD7032_NUM_SPI_DEVICES) + (LD7032_NUM_I2C_DEVICES)) + +//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// +// Quantum Painter LD7032 device factories + +#ifdef QUANTUM_PAINTER_LD7032_SPI_ENABLE + +/** + * Factory method for an LD7032 SPI LCD device. + * + * @param panel_width[in] the width of the display in pixels (usually 128) + * @param panel_height[in] the height of the display in pixels (usually 64) + * @param chip_select_pin[in] the GPIO pin used for SPI chip select + * @param dc_pin[in] the GPIO pin used for D/C control + * @param reset_pin[in] the GPIO pin used for RST + * @param spi_divisor[in] the SPI divisor to use when communicating with the display + * @param spi_mode[in] the SPI mode to use when communicating with the display + * @return the device handle used with all drawing routines in Quantum Painter + */ +painter_device_t qp_ld7032_make_spi_device(uint16_t panel_width, uint16_t panel_height, pin_t chip_select_pin, pin_t dc_pin, pin_t reset_pin, uint16_t spi_divisor, int spi_mode); + +#endif // QUANTUM_PAINTER_LD7032_SPI_ENABLE + +#ifdef QUANTUM_PAINTER_LD7032_I2C_ENABLE + +/** + * Factory method for an LD7032 I2C LCD device. + * + * @param panel_width[in] the width of the display in pixels (usually 128) + * @param panel_height[in] the height of the display in pixels (usually 64) + * @param i2c_address[in] the I2C address to use + * @return the device handle used with all drawing routines in Quantum Painter + */ +painter_device_t qp_ld7032_make_i2c_device(uint16_t panel_width, uint16_t panel_height, uint8_t i2c_address); + +#endif // QUANTUM_PAINTER_LD7032_I2C_ENABLE \ No newline at end of file diff --git a/drivers/painter/ld7032/qp_ld7032_opcodes.h b/drivers/painter/ld7032/qp_ld7032_opcodes.h new file mode 100644 index 00000000000..08ab77d6f86 --- /dev/null +++ b/drivers/painter/ld7032/qp_ld7032_opcodes.h @@ -0,0 +1,45 @@ +// Copyright 2023 Dasky (@daskygit) +// SPDX-License-Identifier: GPL-2.0-or-later + +typedef enum { + LD7032_SOFTRES = 0x01, + LD7032_DISP_ON_OFF = 0x02, + LD7032_DATA_RW = 0x08, + LD7032_DISP_DIRECTION = 0x09, + LD7032_IFMODE = 0x0D, + LD7032_PEAK_WIDTH = 0x10, + LD7032_DOT_CURRENT = 0x12, + LD7032_SCAN_MODE = 0x13, + LD7032_DISP_STBY_ON_OFF = 0x14, + LD7032_PEAK_DELAY = 0x16, + LD7032_ROW_SCAN = 0x17, + LD7032_PRE_C_WIDTH = 0x18, + LD7032_DFRAME = 0x1A, + LD7032_DATA_REVERSE = 0x1C, + LD7032_WRITE_DIRECTION = 0x1D, + LD7032_READREG = 0x20, + LD7032_DISP_SIZE_X = 0x30, + LD7032_DISP_SIZE_Y = 0x32, + LD7032_X_BOX_ADR_START = 0x34, + LD7032_X_BOX_ADR_END = 0x35, + LD7032_Y_BOX_ADR_START = 0x36, + LD7032_Y_BOX_ADR_END = 0x37, + LD7032_X_DISP_START = 0x38, + LD7032_Y_DISP_START = 0x39, + LD7032_XTALK_EN = 0x3A, + LD7032_XTALK_REF = 0x3B, + LD7032_AGING_EN = 0x3C, + LD7032_VDD_SEL = 0x3D, + LD7032_TESTCNT0 = 0x3E, + LD7032_VCC_R_SEL = 0x3F, + LD7032_PRE_C_SELECT = 0x44, + LD7032_ROW_OVERLAP = 0x48, + LD7032_S_SLEEP_TIMER = 0xC0, + LD7032_S_SLEEP_START = 0xC2, + LD7032_S_STEP_TIMER = 0xC3, + LD7032_S_STEP_UNIT = 0xC4, + LD7032_S_CONDITION = 0xCC, + LD7032_S_START_STOP = 0xCD, + LD7032_S_SELECT = 0xCE, + LD7032_TESTCNT1 = 0xF0, //-0xFF +} ld7032_opcodes; \ No newline at end of file diff --git a/quantum/painter/qp.h b/quantum/painter/qp.h index 820c418f43b..3dc77b42cfb 100644 --- a/quantum/painter/qp.h +++ b/quantum/painter/qp.h @@ -557,6 +557,12 @@ int16_t qp_drawtext_recolor(painter_device_t device, uint16_t x, uint16_t y, pai # define SH1106_NUM_DEVICES 0 #endif // QUANTUM_PAINTER_SH1106_ENABLE +#ifdef QUANTUM_PAINTER_LD7032_ENABLE +# include "qp_ld7032.h" +#else // QUANTUM_PAINTER_LD7032_ENABLE +# define LD7032_NUM_DEVICES 0 +#endif // QUANTUM_PAINTER_LD7032_ENABLE + //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// // Quantum Painter Extras diff --git a/quantum/painter/qp_internal.c b/quantum/painter/qp_internal.c index 7d4a6430afe..5097edfa074 100644 --- a/quantum/painter/qp_internal.c +++ b/quantum/painter/qp_internal.c @@ -19,6 +19,7 @@ enum { + (GC9107_NUM_DEVICES) // GC9107 + (SSD1351_NUM_DEVICES) // SSD1351 + (SH1106_NUM_DEVICES) // SH1106 + + (LD7032_NUM_DEVICES) // LD7032 }; static painter_device_t qp_devices[QP_NUM_DEVICES] = {NULL}; diff --git a/quantum/painter/rules.mk b/quantum/painter/rules.mk index 7b2ab702ee1..b773dd091c3 100644 --- a/quantum/painter/rules.mk +++ b/quantum/painter/rules.mk @@ -17,7 +17,9 @@ VALID_QUANTUM_PAINTER_DRIVERS := \ gc9107_spi \ ssd1351_spi \ sh1106_i2c \ - sh1106_spi + sh1106_spi \ + ld7032_i2c \ + ld7032_spi #------------------------------------------------------------------------------- @@ -182,6 +184,29 @@ define handle_quantum_painter_driver $(DRIVER_PATH)/painter/oled_panel/qp_oled_panel.c \ $(DRIVER_PATH)/painter/sh1106/qp_sh1106.c + else ifeq ($$(strip $$(CURRENT_PAINTER_DRIVER)),ld7032_spi) + QUANTUM_PAINTER_NEEDS_SURFACE := yes + QUANTUM_PAINTER_NEEDS_COMMS_SPI := yes + QUANTUM_PAINTER_NEEDS_COMMS_SPI_DC_RESET := yes + OPT_DEFS += -DQUANTUM_PAINTER_LD7032_ENABLE -DQUANTUM_PAINTER_LD7032_SPI_ENABLE + COMMON_VPATH += \ + $(DRIVER_PATH)/painter/oled_panel \ + $(DRIVER_PATH)/painter/ld7032 + SRC += \ + $(DRIVER_PATH)/painter/oled_panel/qp_oled_panel.c \ + $(DRIVER_PATH)/painter/ld7032/qp_ld7032.c + + else ifeq ($$(strip $$(CURRENT_PAINTER_DRIVER)),ld7032_i2c) + QUANTUM_PAINTER_NEEDS_SURFACE := yes + QUANTUM_PAINTER_NEEDS_COMMS_I2C := yes + OPT_DEFS += -DQUANTUM_PAINTER_LD7032_ENABLE -DQUANTUM_PAINTER_LD7032_I2C_ENABLE + COMMON_VPATH += \ + $(DRIVER_PATH)/painter/oled_panel \ + $(DRIVER_PATH)/painter/ld7032 + SRC += \ + $(DRIVER_PATH)/painter/oled_panel/qp_oled_panel.c \ + $(DRIVER_PATH)/painter/ld7032/qp_ld7032.c + endif endef From 1c03574424bfb0fa599d6cabf4ec724bfb27c21e Mon Sep 17 00:00:00 2001 From: Dasky <32983009+daskygit@users.noreply.github.com> Date: Wed, 18 Sep 2024 15:46:13 +0100 Subject: [PATCH 010/124] Fix ADNS-9800 read (#24406) --- drivers/sensors/adns9800.c | 18 ++++++++++-------- 1 file changed, 10 insertions(+), 8 deletions(-) diff --git a/drivers/sensors/adns9800.c b/drivers/sensors/adns9800.c index 0ba26a365ad..d5e2ca625a6 100644 --- a/drivers/sensors/adns9800.c +++ b/drivers/sensors/adns9800.c @@ -67,14 +67,15 @@ #define REG_SROM_Load_Burst 0x62 #define REG_Pixel_Burst 0x64 -#define MIN_CPI 200 -#define MAX_CPI 8200 -#define CPI_STEP 200 -#define CLAMP_CPI(value) value MAX_CPI ? MAX_CPI : value -#define US_BETWEEN_WRITES 120 -#define US_BETWEEN_READS 20 -#define US_BEFORE_MOTION 100 -#define MSB1 0x80 +#define MIN_CPI 200 +#define MAX_CPI 8200 +#define CPI_STEP 200 +#define CLAMP_CPI(value) value MAX_CPI ? MAX_CPI : value +#define US_BETWEEN_WRITES 120 +#define US_BETWEEN_READS 20 +#define US_DELAY_AFTER_ADDR 100 +#define US_BEFORE_MOTION 100 +#define MSB1 0x80 // clang-format on void adns9800_spi_start(void) { @@ -92,6 +93,7 @@ void adns9800_write(uint8_t reg_addr, uint8_t data) { uint8_t adns9800_read(uint8_t reg_addr) { adns9800_spi_start(); spi_write(reg_addr & 0x7f); + wait_us(US_DELAY_AFTER_ADDR); uint8_t data = spi_read(); spi_stop(); wait_us(US_BETWEEN_READS); From 61778f6136cac6f73ad042a1fb85b6bb548a7c1c Mon Sep 17 00:00:00 2001 From: plodah <127351418+plodah@users.noreply.github.com> Date: Fri, 20 Sep 2024 02:28:57 +0100 Subject: [PATCH 011/124] Fix a_jazz/akc084 render (#24411) * Alter ZXC row to have y index of 4 and bottom row to have index of 5 * Fix other issues with `]}`, `'"` & Enter - pointed out by noroadsleft --- keyboards/a_jazz/akc084/keyboard.json | 54 +++++++++++++-------------- 1 file changed, 27 insertions(+), 27 deletions(-) diff --git a/keyboards/a_jazz/akc084/keyboard.json b/keyboards/a_jazz/akc084/keyboard.json index c5270e4178c..a489a5ade50 100644 --- a/keyboards/a_jazz/akc084/keyboard.json +++ b/keyboards/a_jazz/akc084/keyboard.json @@ -81,7 +81,7 @@ {"matrix": [2, 9], "x": 9.5, "y": 2}, {"matrix": [2, 10], "x": 10.5, "y": 2}, {"matrix": [2, 11], "x": 11.5, "y": 2}, - {"matrix": [2, 12], "x": 11.5, "y": 2}, + {"matrix": [2, 12], "x": 12.5, "y": 2}, {"matrix": [2, 13], "x": 13.5, "y": 2, "w": 1.5}, {"matrix": [5, 11], "x": 15, "y": 2}, {"matrix": [3, 0], "x": 0, "y": 3, "w": 1.75}, @@ -95,33 +95,33 @@ {"matrix": [3, 8], "x": 8.75, "y": 3}, {"matrix": [3, 9], "x": 9.75, "y": 3}, {"matrix": [3, 10], "x": 10.75, "y": 3}, - {"matrix": [3, 11], "x": 11.75, "y": 3, "w": 2.25}, - {"matrix": [3, 12], "x": 14, "y": 3}, + {"matrix": [3, 11], "x": 11.75, "y": 3}, + {"matrix": [3, 12], "x": 12.75, "y": 3, "w": 2.25}, {"matrix": [5, 12], "x": 15, "y": 3}, - {"matrix": [4, 0], "x": 0, "y": 3, "w": 2.25}, - {"matrix": [4, 1], "x": 2.25, "y": 3}, - {"matrix": [4, 2], "x": 3.25, "y": 3}, - {"matrix": [4, 3], "x": 4.25, "y": 3}, - {"matrix": [4, 4], "x": 5.25, "y": 3}, - {"matrix": [4, 5], "x": 6.25, "y": 3}, - {"matrix": [4, 6], "x": 7.25, "y": 3}, - {"matrix": [4, 7], "x": 8.25, "y": 3}, - {"matrix": [4, 8], "x": 9.25, "y": 3}, - {"matrix": [4, 9], "x": 10.25, "y": 3}, - {"matrix": [4, 10], "x": 11.25, "y": 3}, - {"matrix": [4, 11], "x": 12.25, "y": 3, "w": 1.75}, - {"matrix": [5, 7], "x": 14, "y": 3}, - {"matrix": [5, 13], "x": 15, "y": 3}, - {"matrix": [5, 0], "x": 0, "y": 4, "w": 1.25}, - {"matrix": [5, 1], "x": 1.25, "y": 4, "w": 1.25}, - {"matrix": [5, 2], "x": 2.5, "y": 4, "w": 1.25}, - {"matrix": [5, 3], "x": 3.75, "y": 4, "w": 6.25}, - {"matrix": [5, 4], "x": 10, "y": 4}, - {"matrix": [5, 5], "x": 11, "y": 4}, - {"matrix": [5, 6], "x": 12, "y": 4}, - {"matrix": [5, 8], "x": 13, "y": 4}, - {"matrix": [5, 9], "x": 14, "y": 4}, - {"matrix": [5, 10], "x": 15, "y": 4} + {"matrix": [4, 0], "x": 0, "y": 4, "w": 2.25}, + {"matrix": [4, 1], "x": 2.25, "y": 4}, + {"matrix": [4, 2], "x": 3.25, "y": 4}, + {"matrix": [4, 3], "x": 4.25, "y": 4}, + {"matrix": [4, 4], "x": 5.25, "y": 4}, + {"matrix": [4, 5], "x": 6.25, "y": 4}, + {"matrix": [4, 6], "x": 7.25, "y": 4}, + {"matrix": [4, 7], "x": 8.25, "y": 4}, + {"matrix": [4, 8], "x": 9.25, "y": 4}, + {"matrix": [4, 9], "x": 10.25, "y": 4}, + {"matrix": [4, 10], "x": 11.25, "y": 4}, + {"matrix": [4, 11], "x": 12.25, "y": 4, "w": 1.75}, + {"matrix": [5, 7], "x": 14, "y": 4}, + {"matrix": [5, 13], "x": 15, "y": 4}, + {"matrix": [5, 0], "x": 0, "y": 5, "w": 1.25}, + {"matrix": [5, 1], "x": 1.25, "y": 5, "w": 1.25}, + {"matrix": [5, 2], "x": 2.5, "y": 5, "w": 1.25}, + {"matrix": [5, 3], "x": 3.75, "y": 5, "w": 6.25}, + {"matrix": [5, 4], "x": 10, "y": 5}, + {"matrix": [5, 5], "x": 11, "y": 5}, + {"matrix": [5, 6], "x": 12, "y": 5}, + {"matrix": [5, 8], "x": 13, "y": 5}, + {"matrix": [5, 9], "x": 14, "y": 5}, + {"matrix": [5, 10], "x": 15, "y": 5} ] } } From 90b87abb11df68dea659042bfea437f23dc860d2 Mon Sep 17 00:00:00 2001 From: Dasky <32983009+daskygit@users.noreply.github.com> Date: Fri, 20 Sep 2024 06:17:49 +0100 Subject: [PATCH 012/124] Add SteelSeries Prime+ mouse (#24408) Co-authored-by: Joel Challis --- keyboards/steelseries/prime_plus/board.h | 9 +++ keyboards/steelseries/prime_plus/config.h | 32 ++++++++++ .../prime_plus/graphics/primeplus.qgf.c | 31 ++++++++++ .../prime_plus/graphics/primeplus.qgf.h | 9 +++ keyboards/steelseries/prime_plus/halconf.h | 10 ++++ .../steelseries/prime_plus/keyboard.json | 59 +++++++++++++++++++ .../prime_plus/keymaps/default/keymap.c | 29 +++++++++ .../prime_plus/keymaps/default/rules.mk | 1 + keyboards/steelseries/prime_plus/mcuconf.h | 18 ++++++ keyboards/steelseries/prime_plus/prime_plus.c | 40 +++++++++++++ keyboards/steelseries/prime_plus/readme.md | 28 +++++++++ .../steelseries/prime_plus/rgblight_custom.c | 45 ++++++++++++++ keyboards/steelseries/prime_plus/rules.mk | 7 +++ 13 files changed, 318 insertions(+) create mode 100644 keyboards/steelseries/prime_plus/board.h create mode 100644 keyboards/steelseries/prime_plus/config.h create mode 100644 keyboards/steelseries/prime_plus/graphics/primeplus.qgf.c create mode 100644 keyboards/steelseries/prime_plus/graphics/primeplus.qgf.h create mode 100644 keyboards/steelseries/prime_plus/halconf.h create mode 100644 keyboards/steelseries/prime_plus/keyboard.json create mode 100644 keyboards/steelseries/prime_plus/keymaps/default/keymap.c create mode 100644 keyboards/steelseries/prime_plus/keymaps/default/rules.mk create mode 100644 keyboards/steelseries/prime_plus/mcuconf.h create mode 100644 keyboards/steelseries/prime_plus/prime_plus.c create mode 100644 keyboards/steelseries/prime_plus/readme.md create mode 100644 keyboards/steelseries/prime_plus/rgblight_custom.c create mode 100644 keyboards/steelseries/prime_plus/rules.mk diff --git a/keyboards/steelseries/prime_plus/board.h b/keyboards/steelseries/prime_plus/board.h new file mode 100644 index 00000000000..edb9e1072c3 --- /dev/null +++ b/keyboards/steelseries/prime_plus/board.h @@ -0,0 +1,9 @@ +// Copyright 2024 Dasky (@daskygit) +// SPDX-License-Identifier: GPL-2.0-or-later + +#pragma once + +#include_next + +#undef STM32_HSECLK +#define STM32_HSECLK 12000000 diff --git a/keyboards/steelseries/prime_plus/config.h b/keyboards/steelseries/prime_plus/config.h new file mode 100644 index 00000000000..db62111a187 --- /dev/null +++ b/keyboards/steelseries/prime_plus/config.h @@ -0,0 +1,32 @@ +// Copyright 2024 Dasky (@daskygit) +// SPDX-License-Identifier: GPL-2.0-or-later + +#pragma once + +#define POINTING_DEVICE_CS_PIN A4 +#define POINTING_DEVICE_MOTION_PIN B0 +#define POINTING_DEVICE_TASK_THROTTLE_MS 1 + +#define SPI_DRIVER SPID1 +#define SPI_SCK_PIN A5 +#define SPI_MOSI_PIN A7 +#define SPI_MISO_PIN A6 + +#define I2C1_SCL_PIN B8 +#define I2C1_SDA_PIN B9 + +#define OLED_RESET B7 +#define OLED_PWR B2 + +#define RGB_PWM_DRIVER PWMD1 +#define RGB_BLUE_PIN A10 +#define RGB_BLUE_PWM_CHANNEL 3 +#define RGB_GREEN_PIN A8 +#define RGB_GREEN_PWM_CHANNEL 1 +#define RGB_RED_PIN A9 +#define RGB_RED_PWM_CHANNEL 2 + +#define OPTICAL_SW_PWR A2 + +#define I2C1_CLOCK_SPEED 400000 +#define I2C1_DUTY_CYCLE FAST_DUTY_CYCLE_2 diff --git a/keyboards/steelseries/prime_plus/graphics/primeplus.qgf.c b/keyboards/steelseries/prime_plus/graphics/primeplus.qgf.c new file mode 100644 index 00000000000..b72f4899fef --- /dev/null +++ b/keyboards/steelseries/prime_plus/graphics/primeplus.qgf.c @@ -0,0 +1,31 @@ +// Copyright 2024 QMK -- generated source code only, image retains original copyright +// SPDX-License-Identifier: GPL-2.0-or-later + +#include + +const uint32_t gfx_primeplus_length = 317; + +// clang-format off +const uint8_t gfx_primeplus[317] = { + 0x00, 0xFF, 0x12, 0x00, 0x00, 0x51, 0x47, 0x46, 0x01, 0x3D, 0x01, 0x00, 0x00, 0xC2, 0xFE, 0xFF, + 0xFF, 0x60, 0x00, 0x18, 0x00, 0x01, 0x00, 0x01, 0xFE, 0x04, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, + 0x02, 0xFD, 0x06, 0x00, 0x00, 0x00, 0x00, 0x01, 0xFF, 0xE8, 0x03, 0x05, 0xFA, 0x0D, 0x01, 0x00, + 0x0C, 0x00, 0x82, 0x80, 0x24, 0x09, 0x09, 0x00, 0x82, 0x80, 0x24, 0x09, 0x09, 0x00, 0xA4, 0x80, + 0x24, 0x09, 0x38, 0xA6, 0x7A, 0xE7, 0x1D, 0x4E, 0xC2, 0x7C, 0x09, 0xC0, 0xFF, 0x1F, 0x48, 0xA9, + 0x0A, 0x29, 0x24, 0x52, 0x22, 0x55, 0x09, 0xE0, 0xFF, 0x3F, 0x48, 0xA9, 0x0A, 0x29, 0x24, 0x52, + 0x22, 0x55, 0x05, 0xFC, 0x02, 0xFF, 0xAF, 0x49, 0xA9, 0x3A, 0xE9, 0x24, 0xCE, 0x23, 0x55, 0x03, + 0xE0, 0xDE, 0x3B, 0x38, 0xA9, 0x0A, 0x27, 0x24, 0x12, 0x22, 0x55, 0x05, 0xE0, 0xDE, 0x3B, 0x08, + 0xA9, 0x0A, 0x29, 0x24, 0x12, 0xA2, 0x54, 0x09, 0xFC, 0xDE, 0xFB, 0x09, 0x46, 0x79, 0xE9, 0x1D, + 0xCE, 0x43, 0x55, 0x09, 0xE0, 0xDE, 0x3B, 0x09, 0x00, 0x82, 0xE0, 0xDE, 0x3B, 0x09, 0x00, 0x85, + 0xFC, 0xDC, 0xF9, 0x01, 0x00, 0xF0, 0x03, 0xFF, 0x80, 0x0F, 0x02, 0x00, 0x82, 0xE0, 0xD9, 0x3C, + 0x02, 0x00, 0x80, 0xF8, 0x03, 0xFF, 0x80, 0x1F, 0x02, 0x00, 0x82, 0xE0, 0x03, 0x3E, 0x02, 0x00, + 0x84, 0x18, 0x63, 0x04, 0xE1, 0x1F, 0x02, 0x00, 0x89, 0xFC, 0xDF, 0xFF, 0x01, 0x00, 0xD8, 0xDA, + 0x56, 0xFD, 0x1E, 0x02, 0x00, 0x82, 0xE0, 0xDF, 0x3F, 0x02, 0x00, 0x84, 0xD8, 0xDA, 0x56, 0xFD, + 0x1E, 0x02, 0x00, 0x82, 0xE0, 0xDF, 0x3F, 0x02, 0x00, 0x84, 0xD8, 0xDA, 0x56, 0x31, 0x18, 0x02, + 0x00, 0x80, 0xFC, 0x02, 0xFF, 0x86, 0x01, 0x00, 0x18, 0xE3, 0x56, 0xFD, 0x1E, 0x02, 0x00, 0x82, + 0xE0, 0xFF, 0x3F, 0x02, 0x00, 0x84, 0xD8, 0xDB, 0x56, 0xFD, 0x1E, 0x02, 0x00, 0x82, 0xC0, 0xFF, + 0x1F, 0x02, 0x00, 0x84, 0xD8, 0x5B, 0x54, 0xE1, 0x1F, 0x02, 0x00, 0x82, 0x80, 0x24, 0x09, 0x02, + 0x00, 0x80, 0xF8, 0x03, 0xFF, 0x80, 0x1F, 0x02, 0x00, 0x82, 0x80, 0x24, 0x09, 0x02, 0x00, 0x80, + 0xF0, 0x03, 0xFF, 0x80, 0x0F, 0x02, 0x00, 0x82, 0x80, 0x24, 0x09, 0x09, 0x00, +}; +// clang-format on diff --git a/keyboards/steelseries/prime_plus/graphics/primeplus.qgf.h b/keyboards/steelseries/prime_plus/graphics/primeplus.qgf.h new file mode 100644 index 00000000000..16ff19b2058 --- /dev/null +++ b/keyboards/steelseries/prime_plus/graphics/primeplus.qgf.h @@ -0,0 +1,9 @@ +// Copyright 2024 QMK -- generated source code only, image retains original copyright +// SPDX-License-Identifier: GPL-2.0-or-later + +#pragma once + +#include + +extern const uint32_t gfx_primeplus_length; +extern const uint8_t gfx_primeplus[317]; diff --git a/keyboards/steelseries/prime_plus/halconf.h b/keyboards/steelseries/prime_plus/halconf.h new file mode 100644 index 00000000000..683d021caea --- /dev/null +++ b/keyboards/steelseries/prime_plus/halconf.h @@ -0,0 +1,10 @@ +// Copyright 2024 Dasky (@daskygit) +// SPDX-License-Identifier: GPL-2.0-or-later + +#pragma once + +#define HAL_USE_SPI TRUE +#define HAL_USE_I2C TRUE +#define HAL_USE_PWM TRUE + +#include_next diff --git a/keyboards/steelseries/prime_plus/keyboard.json b/keyboards/steelseries/prime_plus/keyboard.json new file mode 100644 index 00000000000..b6acdadb1ad --- /dev/null +++ b/keyboards/steelseries/prime_plus/keyboard.json @@ -0,0 +1,59 @@ +{ + "manufacturer": "SteelSeries", + "keyboard_name": "Prime+", + "maintainer": "Dasky", + "bootloader": "uf2boot", + "build": { + "debounce_type": "asym_eager_defer_pk", + "lto": true + }, + "encoder": { + "rotary": [ + {"pin_a": "B5", "pin_b": "B4", "resolution": 2} + ] + }, + "features": { + "bootmagic": true, + "encoder": true, + "extrakey": true, + "mousekey": true, + "pointing_device": true, + "quantum_painter": true, + "rgblight": true + }, + "matrix_pins": { + "direct": [ + ["A0", "C15", "A1", "C13", "C14", "A3"] + ] + }, + "processor": "STM32F103", + "rgblight": { + "animations": { + "breathing": true, + "rainbow_mood": true + }, + "default": { + "animation": "rainbow_mood" + }, + "driver": "custom", + "led_count": 1 + }, + "url": "https://steelseries.com/gaming-mice/prime-plus", + "usb": { + "device_version": "1.0.0", + "pid": "0x0000", + "vid": "0xFEED" + }, + "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": 0, "y": 1}, + {"matrix": [0, 4], "x": 0, "y": 2}, + {"matrix": [0, 5], "x": 2, "y": 2} + ] + } + } +} diff --git a/keyboards/steelseries/prime_plus/keymaps/default/keymap.c b/keyboards/steelseries/prime_plus/keymaps/default/keymap.c new file mode 100644 index 00000000000..803f6b47daa --- /dev/null +++ b/keyboards/steelseries/prime_plus/keymaps/default/keymap.c @@ -0,0 +1,29 @@ +// Copyright 2024 Dasky (@daskygit) +// SPDX-License-Identifier: GPL-2.0-or-later + +#include QMK_KEYBOARD_H + +// clang-format off +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + // Left, Middle, Right, + // Forward + // Back + // Underneath + [0] = LAYOUT( + MS_BTN1, MS_BTN3, MS_BTN2, + MS_BTN5, + MS_BTN4, + QK_BOOT + ) +}; +// clang-format on + +void pointing_device_init_kb(void) { + pointing_device_set_cpi(1600); +} + +#if defined(ENCODER_MAP_ENABLE) +const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][NUM_DIRECTIONS] = { + [0] = {ENCODER_CCW_CW(MS_WHLU, MS_WHLD)}, +}; +#endif diff --git a/keyboards/steelseries/prime_plus/keymaps/default/rules.mk b/keyboards/steelseries/prime_plus/keymaps/default/rules.mk new file mode 100644 index 00000000000..ee325681483 --- /dev/null +++ b/keyboards/steelseries/prime_plus/keymaps/default/rules.mk @@ -0,0 +1 @@ +ENCODER_MAP_ENABLE = yes diff --git a/keyboards/steelseries/prime_plus/mcuconf.h b/keyboards/steelseries/prime_plus/mcuconf.h new file mode 100644 index 00000000000..9086cf2790f --- /dev/null +++ b/keyboards/steelseries/prime_plus/mcuconf.h @@ -0,0 +1,18 @@ +// Copyright 2024 Dasky (@daskygit) +// SPDX-License-Identifier: GPL-2.0-or-later + +#pragma once + +#include_next + +#undef STM32_I2C_USE_I2C1 +#define STM32_I2C_USE_I2C1 TRUE + +#undef STM32_PWM_USE_TIM1 +#define STM32_PWM_USE_TIM1 TRUE + +#undef STM32_SPI_USE_SPI1 +#define STM32_SPI_USE_SPI1 TRUE + +#undef STM32_PLLMUL_VALUE +#define STM32_PLLMUL_VALUE 6 diff --git a/keyboards/steelseries/prime_plus/prime_plus.c b/keyboards/steelseries/prime_plus/prime_plus.c new file mode 100644 index 00000000000..69db195ef18 --- /dev/null +++ b/keyboards/steelseries/prime_plus/prime_plus.c @@ -0,0 +1,40 @@ +// Copyright 2024 Dasky (@daskygit) +// SPDX-License-Identifier: GPL-2.0-or-later + +#include "quantum.h" +#include "graphics/primeplus.qgf.h" + +painter_image_handle_t primeplus; +painter_device_t display; + +void board_init(void) { + AFIO->MAPR |= AFIO_MAPR_I2C1_REMAP; + + gpio_set_pin_output(A15); + gpio_write_pin_high(A15); // Activate D+ pullup + + gpio_set_pin_output(OPTICAL_SW_PWR); + gpio_write_pin_low(OPTICAL_SW_PWR); // Enable power for optical switches + + gpio_set_pin_output(OLED_PWR); + gpio_write_pin_high(OLED_PWR); // Enable OLED power +} + +void keyboard_post_init_kb(void) { + wait_ms(1); // Wait for OLED + + gpio_set_pin_output(OLED_RESET); + gpio_write_pin_low(OLED_RESET); + wait_us(10); // Minimum wait 1us + + gpio_write_pin_high(OLED_RESET); + wait_ms(1); // Minimum wait 1ms + + primeplus = qp_load_image_mem(gfx_primeplus); + display = qp_ld7032_make_i2c_device(96, 24, 0x37); + + qp_init(display, QP_ROTATION_180); + qp_drawimage(display, 0, 0, primeplus); + + keyboard_post_init_user(); +} diff --git a/keyboards/steelseries/prime_plus/readme.md b/keyboards/steelseries/prime_plus/readme.md new file mode 100644 index 00000000000..a2c63669083 --- /dev/null +++ b/keyboards/steelseries/prime_plus/readme.md @@ -0,0 +1,28 @@ +# SteelSeries Prime + + +![Prime+](https://i.imgur.com/QhNHmwxh.png) + +This firmware does not support the dedicated lift off sensor. + +Erase with an stlink and flash this [uf2boot bootloader](https://github.com/daskygit/uf2-prime-plus), this is a a one way procedure voiding any warranty so be sure you don't want to use the original manufacturers firmware. + +* Keyboard Maintainer: [Dasky](https://github.com/daskygit) +* Hardware Supported: SteelSeries Prime+ +* Hardware Availability: https://steelseries.com/gaming-mice/prime-plus + +Make example for this keyboard (after setting up your build environment): + + make steelseries/prime_plus:default + +Flashing example for this keyboard: + + make steelseries/prime_plus: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 left mouse button and plug in. +* **Bootloader entry**: Hold the underneath button while plugging in. diff --git a/keyboards/steelseries/prime_plus/rgblight_custom.c b/keyboards/steelseries/prime_plus/rgblight_custom.c new file mode 100644 index 00000000000..cdb9e10078f --- /dev/null +++ b/keyboards/steelseries/prime_plus/rgblight_custom.c @@ -0,0 +1,45 @@ +// Copyright 2024 Dasky (@daskygit) +// SPDX-License-Identifier: GPL-2.0-or-later + +#include "quantum.h" + +static PWMConfig pwmCFG = { + .frequency = 0xFFFF, + .period = 256, +}; + +void prime_setleds(rgb_led_t *start_led, uint16_t num_leds) { + if (start_led[0].r == 0) { + pwmDisableChannel(&RGB_PWM_DRIVER, RGB_RED_PWM_CHANNEL - 1); + } else { + uint32_t duty = ((uint32_t)0xFFFF * start_led[0].r) / 0xFF; + pwmEnableChannel(&RGB_PWM_DRIVER, RGB_RED_PWM_CHANNEL - 1, PWM_FRACTION_TO_WIDTH(&RGB_PWM_DRIVER, 0xFFFF, duty)); + } + if (start_led[0].g == 0) { + pwmDisableChannel(&RGB_PWM_DRIVER, RGB_GREEN_PWM_CHANNEL - 1); + } else { + uint32_t duty = ((uint32_t)0xFFFF * start_led[0].g) / 0xFF; + pwmEnableChannel(&RGB_PWM_DRIVER, RGB_GREEN_PWM_CHANNEL - 1, PWM_FRACTION_TO_WIDTH(&RGB_PWM_DRIVER, 0xFFFF, duty)); + } + if (start_led[0].b == 0) { + pwmDisableChannel(&RGB_PWM_DRIVER, RGB_BLUE_PWM_CHANNEL - 1); + } else { + uint32_t duty = ((uint32_t)0xFFFF * start_led[0].b) / 0xFF; + pwmEnableChannel(&RGB_PWM_DRIVER, RGB_BLUE_PWM_CHANNEL - 1, PWM_FRACTION_TO_WIDTH(&RGB_PWM_DRIVER, 0xFFFF, duty)); + } +} + +void prime_initleds(void) { + palSetPadMode(PAL_PORT(RGB_RED_PIN), PAL_PAD(RGB_RED_PIN), PAL_MODE_ALTERNATE_PUSHPULL); + palSetPadMode(PAL_PORT(RGB_GREEN_PIN), PAL_PAD(RGB_GREEN_PIN), PAL_MODE_ALTERNATE_PUSHPULL); + palSetPadMode(PAL_PORT(RGB_BLUE_PIN), PAL_PAD(RGB_BLUE_PIN), PAL_MODE_ALTERNATE_PUSHPULL); + pwmCFG.channels[RGB_RED_PWM_CHANNEL - 1].mode = PWM_OUTPUT_ACTIVE_HIGH; + pwmCFG.channels[RGB_GREEN_PWM_CHANNEL - 1].mode = PWM_OUTPUT_ACTIVE_HIGH; + pwmCFG.channels[RGB_BLUE_PWM_CHANNEL - 1].mode = PWM_OUTPUT_ACTIVE_HIGH; + pwmStart(&RGB_PWM_DRIVER, &pwmCFG); +} + +const rgblight_driver_t rgblight_driver = { + .init = prime_initleds, + .setleds = prime_setleds, +}; diff --git a/keyboards/steelseries/prime_plus/rules.mk b/keyboards/steelseries/prime_plus/rules.mk new file mode 100644 index 00000000000..cfcb5f74750 --- /dev/null +++ b/keyboards/steelseries/prime_plus/rules.mk @@ -0,0 +1,7 @@ +MCU_LDSCRIPT = STM32F103xB_uf2boot + +QUANTUM_PAINTER_DRIVERS = ld7032_i2c +POINTING_DEVICE_DRIVER = pmw3389 + +SRC += graphics/primeplus.qgf.c +SRC += rgblight_custom.c From 2e86b05cab7e0bef6b4faf30d4c816f8b459452d Mon Sep 17 00:00:00 2001 From: Joe Scotto <8194147+joe-scotto@users.noreply.github.com> Date: Sat, 21 Sep 2024 13:24:38 -0400 Subject: [PATCH 013/124] Add Scotto69 (PCB Edition) (#24402) Co-authored-by: Joel Challis --- keyboards/scottokeebs/scotto69/keyboard.json | 107 ++++++++++++++++++ .../scotto69/keymaps/default/keymap.c | 58 ++++++++++ .../scotto69/keymaps/default/rules.mk | 1 + keyboards/scottokeebs/scotto69/readme.md | 29 +++++ 4 files changed, 195 insertions(+) create mode 100644 keyboards/scottokeebs/scotto69/keyboard.json create mode 100644 keyboards/scottokeebs/scotto69/keymaps/default/keymap.c create mode 100644 keyboards/scottokeebs/scotto69/keymaps/default/rules.mk create mode 100644 keyboards/scottokeebs/scotto69/readme.md diff --git a/keyboards/scottokeebs/scotto69/keyboard.json b/keyboards/scottokeebs/scotto69/keyboard.json new file mode 100644 index 00000000000..144e7b3a7e5 --- /dev/null +++ b/keyboards/scottokeebs/scotto69/keyboard.json @@ -0,0 +1,107 @@ +{ + "manufacturer": "ScottoKeebs", + "keyboard_name": "Scotto69 (PCB Edition)", + "maintainer": "joe-scotto", + "bootloader": "stm32-dfu", + "diode_direction": "COL2ROW", + "encoder": { + "rotary": [ + {"pin_a": "B15", "pin_b": "B14"} + ] + }, + "features": { + "bootmagic": true, + "command": false, + "console": false, + "encoder": true, + "extrakey": true, + "mousekey": true, + "nkro": true + }, + "matrix_pins": { + "cols": ["A7", "A8", "A14", "A15", "B3", "B4", "B5", "B6", "B7", "B8", "B9", "C14", "C15", "A3", "A4", "A5", "A6"], + "rows": ["B11", "B10", "B2", "B1", "B0"] + }, + "processor": "STM32F072", + "url": "https://scottokeebs.com", + "usb": { + "device_version": "1.0.0", + "pid": "0x0030", + "vid": "0x534B" + }, + "layouts": { + "LAYOUT": { + "layout": [ + {"matrix": [0, 0], "x": 0, "y": 0}, + {"matrix": [0, 1], "x": 2, "y": 0.5}, + {"matrix": [0, 2], "x": 3, "y": 0.5}, + {"matrix": [0, 3], "x": 4, "y": 0.5}, + {"matrix": [0, 4], "x": 5, "y": 0.5}, + {"matrix": [0, 5], "x": 6, "y": 0.5}, + {"matrix": [0, 6], "x": 7, "y": 0.5}, + {"matrix": [0, 7], "x": 8, "y": 0.5}, + {"matrix": [0, 8], "x": 9, "y": 0.5}, + {"matrix": [0, 9], "x": 10, "y": 0.5}, + {"matrix": [0, 10], "x": 11, "y": 0.5}, + {"matrix": [0, 11], "x": 12, "y": 0.5}, + {"matrix": [0, 12], "x": 13, "y": 0.5}, + {"matrix": [0, 13], "x": 15, "y": 0}, + {"matrix": [0, 14], "x": 16, "y": 0}, + {"matrix": [0, 15], "x": 17, "y": 0}, + {"matrix": [0, 16], "x": 18, "y": 0}, + {"matrix": [1, 0], "x": 0, "y": 1}, + {"matrix": [1, 1], "x": 2, "y": 1.5}, + {"matrix": [1, 2], "x": 3, "y": 1.5}, + {"matrix": [1, 3], "x": 4, "y": 1.5}, + {"matrix": [1, 4], "x": 5, "y": 1.5}, + {"matrix": [1, 5], "x": 6, "y": 1.5}, + {"matrix": [1, 6], "x": 7, "y": 1.5}, + {"matrix": [1, 7], "x": 8, "y": 1.5}, + {"matrix": [1, 8], "x": 9, "y": 1.5}, + {"matrix": [1, 9], "x": 10, "y": 1.5}, + {"matrix": [1, 10], "x": 11, "y": 1.5}, + {"matrix": [1, 11], "x": 12, "y": 1.5}, + {"matrix": [1, 12], "x": 13, "y": 1.5}, + {"matrix": [1, 13], "x": 15, "y": 1}, + {"matrix": [1, 14], "x": 16, "y": 1}, + {"matrix": [1, 15], "x": 17, "y": 1}, + {"matrix": [1, 16], "x": 18, "y": 1, "h": 2}, + {"matrix": [2, 0], "x": 0, "y": 2}, + {"matrix": [2, 1], "x": 2, "y": 2.5}, + {"matrix": [2, 2], "x": 3, "y": 2.5}, + {"matrix": [2, 3], "x": 4, "y": 2.5}, + {"matrix": [2, 4], "x": 5, "y": 2.5}, + {"matrix": [2, 5], "x": 6, "y": 2.5}, + {"matrix": [2, 6], "x": 7, "y": 2.5}, + {"matrix": [2, 7], "x": 8, "y": 2.5}, + {"matrix": [2, 8], "x": 9, "y": 2.5}, + {"matrix": [2, 9], "x": 10, "y": 2.5}, + {"matrix": [2, 10], "x": 11, "y": 2.5}, + {"matrix": [2, 11], "x": 12, "y": 2.5}, + {"matrix": [2, 12], "x": 13, "y": 2.5}, + {"matrix": [2, 13], "x": 15, "y": 2}, + {"matrix": [2, 14], "x": 16, "y": 2}, + {"matrix": [2, 15], "x": 17, "y": 2}, + {"matrix": [3, 0], "x": 0, "y": 3}, + {"matrix": [3, 1], "x": 2, "y": 3.5}, + {"matrix": [3, 2], "x": 3, "y": 3.5}, + {"matrix": [3, 3], "x": 4, "y": 3.5}, + {"matrix": [3, 4], "x": 5, "y": 3.5}, + {"matrix": [3, 5], "x": 6, "y": 3.5}, + {"matrix": [3, 6], "x": 7, "y": 3.5, "w": 2}, + {"matrix": [3, 8], "x": 9, "y": 3.5}, + {"matrix": [3, 9], "x": 10, "y": 3.53}, + {"matrix": [3, 10], "x": 11, "y": 3.53}, + {"matrix": [3, 11], "x": 12, "y": 3.5}, + {"matrix": [3, 12], "x": 13, "y": 3.5}, + {"matrix": [3, 13], "x": 15, "y": 3}, + {"matrix": [3, 14], "x": 16, "y": 3}, + {"matrix": [3, 15], "x": 17, "y": 3}, + {"matrix": [3, 16], "x": 18, "y": 3, "h": 2}, + {"matrix": [4, 0], "x": 0, "y": 4}, + {"matrix": [4, 13], "x": 15, "y": 4, "w": 2}, + {"matrix": [4, 15], "x": 17, "y": 4} + ] + } + } +} diff --git a/keyboards/scottokeebs/scotto69/keymaps/default/keymap.c b/keyboards/scottokeebs/scotto69/keymaps/default/keymap.c new file mode 100644 index 00000000000..96ee0e18779 --- /dev/null +++ b/keyboards/scottokeebs/scotto69/keymaps/default/keymap.c @@ -0,0 +1,58 @@ +/* +Copyright 2024 Joe Scotto + +This program is free software: you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation, either version 2 of the License, or +(at your option) any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License +along with this program. If not, see . +*/ + +#include QMK_KEYBOARD_H + +#if defined(ENCODER_MAP_ENABLE) +const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][NUM_DIRECTIONS] = { + [0] = { ENCODER_CCW_CW(KC_VOLD, KC_VOLU) }, + [1] = { ENCODER_CCW_CW(_______, _______) }, + [2] = { ENCODER_CCW_CW(_______, _______) }, + [3] = { ENCODER_CCW_CW(_______, _______) } +}; +#endif + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + [0] = LAYOUT( + KC_1, 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_LNUM, KC_SLSH, KC_ASTR, KC_MINS, + KC_2, KC_ESC, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_BSPC, KC_QUOT, KC_7, KC_8, KC_9, KC_PLUS, + KC_MUTE, KC_LSFT, LSFT_T(KC_Z), KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, RSFT_T(KC_SLSH), KC_RSFT, KC_4, KC_5, KC_6, + KC_4, KC_ESC, KC_NO, KC_NO, KC_LCTL, KC_LALT, LGUI_T(KC_SPC), LT(1, KC_TAB), LT(2, KC_ENT), KC_NO, KC_NO, KC_NO, KC_1, KC_2, KC_3, KC_ENT, + KC_5, KC_0, KC_DOT + ), + [1] = LAYOUT( + KC_TRNS, KC_TRNS, KC_UNDS, KC_MINS, KC_PLUS, KC_EQL, KC_COLN, KC_GRV, KC_MRWD, KC_MPLY, KC_MFFD, KC_DEL, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_LCBR, KC_LPRN, KC_RPRN, KC_RCBR, KC_PIPE, KC_ESC, KC_LEFT, KC_UP, KC_DOWN, KC_RGHT, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, LSFT_T(KC_LBRC), KC_QUOT, KC_DQUO, KC_RBRC, KC_SCLN, KC_TILDE, KC_VOLD, KC_MUTE, KC_VOLU, RSFT_T(KC_BSLS), KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS + ), + [2] = LAYOUT( + KC_TRNS, KC_TRNS, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_CAPS, KC_BSPC, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_LSFT, KC_NO, KC_NO, KC_NO, MO(3), KC_NO, KC_NO, KC_COMM, KC_DOT, RSFT_T(KC_SLSH), KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS + ), + [3] = LAYOUT( + KC_TRNS, KC_TRNS, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_F11, KC_NO, KC_NO, QK_BOOT, KC_TRNS, KC_NO, KC_NO, KC_NO, KC_NO, KC_F12, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS + ) +}; \ No newline at end of file diff --git a/keyboards/scottokeebs/scotto69/keymaps/default/rules.mk b/keyboards/scottokeebs/scotto69/keymaps/default/rules.mk new file mode 100644 index 00000000000..ee325681483 --- /dev/null +++ b/keyboards/scottokeebs/scotto69/keymaps/default/rules.mk @@ -0,0 +1 @@ +ENCODER_MAP_ENABLE = yes diff --git a/keyboards/scottokeebs/scotto69/readme.md b/keyboards/scottokeebs/scotto69/readme.md new file mode 100644 index 00000000000..d46b93b70b7 --- /dev/null +++ b/keyboards/scottokeebs/scotto69/readme.md @@ -0,0 +1,29 @@ +# Scotto69 (PCB Edition) + +![Scotto69 (PCB Edition)](https://i.imgur.com/WNtAzcG.jpeg) + +The Scotto69 (PCB Edition) is a standard 4x12 ortholinear keyboard with a numpad on the right and 5 macro keys on the left with an optional encoder. + +* Keyboard Maintainer: [Joe Scotto](https://github.com/joe-scotto) +* Hardware Supported: STM32F072CBT6 +* Hardware Availability: [ScottoKeebs](https://scottokeebs.com) + +# Compiling + +Make example for this keyboard (after setting up your build environment): + + make handwired/scottokeebs/scotto69:default + +Flashing example for this keyboard: + + make handwired/scottokeebs/scotto69: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 4665d9c405dfe00aec5abb0bb0acbe4b0400bfdf Mon Sep 17 00:00:00 2001 From: studiokestra <74369928+studiokestra@users.noreply.github.com> Date: Sat, 21 Sep 2024 11:29:12 -0600 Subject: [PATCH 014/124] [Keyboard] Add Fairholme PCB (#24400) Co-authored-by: Duncan Sutherland --- .../studiokestra/fairholme/keyboard.json | 1002 +++++++++++++++++ .../fairholme/keymaps/60_ansi/keymap.c | 34 + .../keymaps/60_ansi_split_bs_rshift/keymap.c | 34 + .../fairholme/keymaps/60_iso/keymap.c | 34 + .../fairholme/keymaps/default/keymap.c | 34 + keyboards/studiokestra/fairholme/readme.md | 27 + 6 files changed, 1165 insertions(+) create mode 100644 keyboards/studiokestra/fairholme/keyboard.json create mode 100644 keyboards/studiokestra/fairholme/keymaps/60_ansi/keymap.c create mode 100644 keyboards/studiokestra/fairholme/keymaps/60_ansi_split_bs_rshift/keymap.c create mode 100644 keyboards/studiokestra/fairholme/keymaps/60_iso/keymap.c create mode 100644 keyboards/studiokestra/fairholme/keymaps/default/keymap.c create mode 100644 keyboards/studiokestra/fairholme/readme.md diff --git a/keyboards/studiokestra/fairholme/keyboard.json b/keyboards/studiokestra/fairholme/keyboard.json new file mode 100644 index 00000000000..f789c2059bb --- /dev/null +++ b/keyboards/studiokestra/fairholme/keyboard.json @@ -0,0 +1,1002 @@ +{ + "manufacturer": "Studio Kestra", + "keyboard_name": "Fairholme", + "maintainer": "Studio Kestra", + "bootloader": "stm32-dfu", + "diode_direction": "COL2ROW", + "features": { + "bootmagic": true, + "command": false, + "console": false, + "extrakey": true, + "mousekey": true, + "nkro": true + }, + "matrix_pins": { + "cols": ["B11", "B2", "B1", "B0", "A7", "A6", "A5", "A4", "A3", "F1", "F0", "C15", "C14", "C13"], + "rows": ["A0", "A1", "A2", "A9", "A10"] + }, + "processor": "STM32F072", + "usb": { + "device_version": "1.0.0", + "pid": "0x6002", + "vid": "0x7C10" + }, + "indicators": { + "caps_lock": "B10", + "on_state": 1 + }, + "community_layouts": ["60_ansi", "60_ansi_split_bs_rshift", "60_ansi_tsangan", "60_ansi_tsangan_split_bs_rshift", "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_all": { + "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": [1, 13], "x": 14, "y": 0}, + + {"matrix": [1, 0], "x": 0, "y": 1, "w": 1.5}, + {"matrix": [1, 1], "x": 1.5, "y": 1}, + {"matrix": [1, 2], "x": 2.5, "y": 1}, + {"matrix": [1, 3], "x": 3.5, "y": 1}, + {"matrix": [1, 4], "x": 4.5, "y": 1}, + {"matrix": [1, 5], "x": 5.5, "y": 1}, + {"matrix": [1, 6], "x": 6.5, "y": 1}, + {"matrix": [1, 7], "x": 7.5, "y": 1}, + {"matrix": [1, 8], "x": 8.5, "y": 1}, + {"matrix": [1, 9], "x": 9.5, "y": 1}, + {"matrix": [1, 10], "x": 10.5, "y": 1}, + {"matrix": [1, 11], "x": 11.5, "y": 1}, + {"matrix": [1, 12], "x": 12.5, "y": 1}, + {"matrix": [2, 13], "x": 13.5, "y": 1, "w": 1.5}, + + {"matrix": [2, 0], "x": 0, "y": 2, "w": 1.75}, + {"matrix": [2, 1], "x": 1.75, "y": 2}, + {"matrix": [2, 2], "x": 2.75, "y": 2}, + {"matrix": [2, 3], "x": 3.75, "y": 2}, + {"matrix": [2, 4], "x": 4.75, "y": 2}, + {"matrix": [2, 5], "x": 5.75, "y": 2}, + {"matrix": [2, 6], "x": 6.75, "y": 2}, + {"matrix": [2, 7], "x": 7.75, "y": 2}, + {"matrix": [2, 8], "x": 8.75, "y": 2}, + {"matrix": [2, 9], "x": 9.75, "y": 2}, + {"matrix": [2, 10], "x": 10.75, "y": 2}, + {"matrix": [2, 11], "x": 11.75, "y": 2}, + {"matrix": [2, 12], "x": 12.75, "y": 2, "w": 2.25}, + + {"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}, + {"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": [4, 0], "x": 0, "y": 4, "w": 1.25}, + {"matrix": [4, 1], "x": 1.25, "y": 4, "w": 1.25}, + {"matrix": [4, 2], "x": 2.5, "y": 4, "w": 1.25}, + {"matrix": [4, 6], "x": 3.75, "y": 4, "w": 6.25}, + {"matrix": [4, 10], "x": 10, "y": 4, "w": 1.25}, + {"matrix": [4, 11], "x": 11.25, "y": 4, "w": 1.25}, + {"matrix": [4, 12], "x": 12.5, "y": 4, "w": 1.25}, + {"matrix": [4, 13], "x": 13.75, "y": 4, "w": 1.25} + ] + }, + "LAYOUT_60_ansi": { + "layout": [ + {"matrix": [0, 0], "x": 0, "y": 0}, + {"matrix": [0, 1], "x": 1, "y": 0}, + {"matrix": [0, 2], "x": 2, "y": 0}, + {"matrix": [0, 3], "x": 3, "y": 0}, + {"matrix": [0, 4], "x": 4, "y": 0}, + {"matrix": [0, 5], "x": 5, "y": 0}, + {"matrix": [0, 6], "x": 6, "y": 0}, + {"matrix": [0, 7], "x": 7, "y": 0}, + {"matrix": [0, 8], "x": 8, "y": 0}, + {"matrix": [0, 9], "x": 9, "y": 0}, + {"matrix": [0, 10], "x": 10, "y": 0}, + {"matrix": [0, 11], "x": 11, "y": 0}, + {"matrix": [0, 12], "x": 12, "y": 0}, + {"matrix": [0, 13], "x": 13, "y": 0, "w": 2}, + + {"matrix": [1, 0], "x": 0, "y": 1, "w": 1.5}, + {"matrix": [1, 1], "x": 1.5, "y": 1}, + {"matrix": [1, 2], "x": 2.5, "y": 1}, + {"matrix": [1, 3], "x": 3.5, "y": 1}, + {"matrix": [1, 4], "x": 4.5, "y": 1}, + {"matrix": [1, 5], "x": 5.5, "y": 1}, + {"matrix": [1, 6], "x": 6.5, "y": 1}, + {"matrix": [1, 7], "x": 7.5, "y": 1}, + {"matrix": [1, 8], "x": 8.5, "y": 1}, + {"matrix": [1, 9], "x": 9.5, "y": 1}, + {"matrix": [1, 10], "x": 10.5, "y": 1}, + {"matrix": [1, 11], "x": 11.5, "y": 1}, + {"matrix": [1, 12], "x": 12.5, "y": 1}, + {"matrix": [2, 13], "x": 13.5, "y": 1, "w": 1.5}, + + {"matrix": [2, 0], "x": 0, "y": 2, "w": 1.75}, + {"matrix": [2, 1], "x": 1.75, "y": 2}, + {"matrix": [2, 2], "x": 2.75, "y": 2}, + {"matrix": [2, 3], "x": 3.75, "y": 2}, + {"matrix": [2, 4], "x": 4.75, "y": 2}, + {"matrix": [2, 5], "x": 5.75, "y": 2}, + {"matrix": [2, 6], "x": 6.75, "y": 2}, + {"matrix": [2, 7], "x": 7.75, "y": 2}, + {"matrix": [2, 8], "x": 8.75, "y": 2}, + {"matrix": [2, 9], "x": 9.75, "y": 2}, + {"matrix": [2, 10], "x": 10.75, "y": 2}, + {"matrix": [2, 11], "x": 11.75, "y": 2}, + {"matrix": [2, 12], "x": 12.75, "y": 2, "w": 2.25}, + + {"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": 2.75}, + + {"matrix": [4, 0], "x": 0, "y": 4, "w": 1.25}, + {"matrix": [4, 1], "x": 1.25, "y": 4, "w": 1.25}, + {"matrix": [4, 2], "x": 2.5, "y": 4, "w": 1.25}, + {"matrix": [4, 6], "x": 3.75, "y": 4, "w": 6.25}, + {"matrix": [4, 10], "x": 10, "y": 4, "w": 1.25}, + {"matrix": [4, 11], "x": 11.25, "y": 4, "w": 1.25}, + {"matrix": [4, 12], "x": 12.5, "y": 4, "w": 1.25}, + {"matrix": [4, 13], "x": 13.75, "y": 4, "w": 1.25} + ] + }, + "LAYOUT_60_ansi_split_bs_rshift": { + "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": [1, 13], "x": 14, "y": 0}, + + {"matrix": [1, 0], "x": 0, "y": 1, "w": 1.5}, + {"matrix": [1, 1], "x": 1.5, "y": 1}, + {"matrix": [1, 2], "x": 2.5, "y": 1}, + {"matrix": [1, 3], "x": 3.5, "y": 1}, + {"matrix": [1, 4], "x": 4.5, "y": 1}, + {"matrix": [1, 5], "x": 5.5, "y": 1}, + {"matrix": [1, 6], "x": 6.5, "y": 1}, + {"matrix": [1, 7], "x": 7.5, "y": 1}, + {"matrix": [1, 8], "x": 8.5, "y": 1}, + {"matrix": [1, 9], "x": 9.5, "y": 1}, + {"matrix": [1, 10], "x": 10.5, "y": 1}, + {"matrix": [1, 11], "x": 11.5, "y": 1}, + {"matrix": [1, 12], "x": 12.5, "y": 1}, + {"matrix": [2, 13], "x": 13.5, "y": 1, "w": 1.5}, + + {"matrix": [2, 0], "x": 0, "y": 2, "w": 1.75}, + {"matrix": [2, 1], "x": 1.75, "y": 2}, + {"matrix": [2, 2], "x": 2.75, "y": 2}, + {"matrix": [2, 3], "x": 3.75, "y": 2}, + {"matrix": [2, 4], "x": 4.75, "y": 2}, + {"matrix": [2, 5], "x": 5.75, "y": 2}, + {"matrix": [2, 6], "x": 6.75, "y": 2}, + {"matrix": [2, 7], "x": 7.75, "y": 2}, + {"matrix": [2, 8], "x": 8.75, "y": 2}, + {"matrix": [2, 9], "x": 9.75, "y": 2}, + {"matrix": [2, 10], "x": 10.75, "y": 2}, + {"matrix": [2, 11], "x": 11.75, "y": 2}, + {"matrix": [2, 12], "x": 12.75, "y": 2, "w": 2.25}, + + {"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": [4, 0], "x": 0, "y": 4, "w": 1.25}, + {"matrix": [4, 1], "x": 1.25, "y": 4, "w": 1.25}, + {"matrix": [4, 2], "x": 2.5, "y": 4, "w": 1.25}, + {"matrix": [4, 6], "x": 3.75, "y": 4, "w": 6.25}, + {"matrix": [4, 10], "x": 10, "y": 4, "w": 1.25}, + {"matrix": [4, 11], "x": 11.25, "y": 4, "w": 1.25}, + {"matrix": [4, 12], "x": 12.5, "y": 4, "w": 1.25}, + {"matrix": [4, 13], "x": 13.75, "y": 4, "w": 1.25} + ] + }, + "LAYOUT_60_ansi_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": [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": [2, 13], "x": 13.5, "y": 1, "w": 1.5}, + + {"matrix": [2, 0], "x": 0, "y": 2, "w": 1.75}, + {"matrix": [2, 1], "x": 1.75, "y": 2}, + {"matrix": [2, 2], "x": 2.75, "y": 2}, + {"matrix": [2, 3], "x": 3.75, "y": 2}, + {"matrix": [2, 4], "x": 4.75, "y": 2}, + {"matrix": [2, 5], "x": 5.75, "y": 2}, + {"matrix": [2, 6], "x": 6.75, "y": 2}, + {"matrix": [2, 7], "x": 7.75, "y": 2}, + {"matrix": [2, 8], "x": 8.75, "y": 2}, + {"matrix": [2, 9], "x": 9.75, "y": 2}, + {"matrix": [2, 10], "x": 10.75, "y": 2}, + {"matrix": [2, 11], "x": 11.75, "y": 2}, + {"matrix": [2, 12], "x": 12.75, "y": 2, "w": 2.25}, + + {"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": 2.75}, + + {"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": 12.5, "y": 4}, + {"matrix": [4, 13], "x": 13.5, "y": 4, "w": 1.5} + ] + }, + "LAYOUT_60_ansi_tsangan_split_bs_rshift": { + "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": [1, 13], "x": 14, "y": 0}, + + {"matrix": [1, 0], "x": 0, "y": 1, "w": 1.5}, + {"matrix": [1, 1], "x": 1.5, "y": 1}, + {"matrix": [1, 2], "x": 2.5, "y": 1}, + {"matrix": [1, 3], "x": 3.5, "y": 1}, + {"matrix": [1, 4], "x": 4.5, "y": 1}, + {"matrix": [1, 5], "x": 5.5, "y": 1}, + {"matrix": [1, 6], "x": 6.5, "y": 1}, + {"matrix": [1, 7], "x": 7.5, "y": 1}, + {"matrix": [1, 8], "x": 8.5, "y": 1}, + {"matrix": [1, 9], "x": 9.5, "y": 1}, + {"matrix": [1, 10], "x": 10.5, "y": 1}, + {"matrix": [1, 11], "x": 11.5, "y": 1}, + {"matrix": [1, 12], "x": 12.5, "y": 1}, + {"matrix": [2, 13], "x": 13.5, "y": 1, "w": 1.5}, + + {"matrix": [2, 0], "x": 0, "y": 2, "w": 1.75}, + {"matrix": [2, 1], "x": 1.75, "y": 2}, + {"matrix": [2, 2], "x": 2.75, "y": 2}, + {"matrix": [2, 3], "x": 3.75, "y": 2}, + {"matrix": [2, 4], "x": 4.75, "y": 2}, + {"matrix": [2, 5], "x": 5.75, "y": 2}, + {"matrix": [2, 6], "x": 6.75, "y": 2}, + {"matrix": [2, 7], "x": 7.75, "y": 2}, + {"matrix": [2, 8], "x": 8.75, "y": 2}, + {"matrix": [2, 9], "x": 9.75, "y": 2}, + {"matrix": [2, 10], "x": 10.75, "y": 2}, + {"matrix": [2, 11], "x": 11.75, "y": 2}, + {"matrix": [2, 12], "x": 12.75, "y": 2, "w": 2.25}, + + {"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": [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": 12.5, "y": 4}, + {"matrix": [4, 13], "x": 13.5, "y": 4, "w": 1.5} + ] + }, + "LAYOUT_60_ansi_wkl": { + "layout": [ + {"matrix": [0, 0], "x": 0, "y": 0}, + {"matrix": [0, 1], "x": 1, "y": 0}, + {"matrix": [0, 2], "x": 2, "y": 0}, + {"matrix": [0, 3], "x": 3, "y": 0}, + {"matrix": [0, 4], "x": 4, "y": 0}, + {"matrix": [0, 5], "x": 5, "y": 0}, + {"matrix": [0, 6], "x": 6, "y": 0}, + {"matrix": [0, 7], "x": 7, "y": 0}, + {"matrix": [0, 8], "x": 8, "y": 0}, + {"matrix": [0, 9], "x": 9, "y": 0}, + {"matrix": [0, 10], "x": 10, "y": 0}, + {"matrix": [0, 11], "x": 11, "y": 0}, + {"matrix": [0, 12], "x": 12, "y": 0}, + {"matrix": [0, 13], "x": 13, "y": 0, "w": 2}, + + {"matrix": [1, 0], "x": 0, "y": 1, "w": 1.5}, + {"matrix": [1, 1], "x": 1.5, "y": 1}, + {"matrix": [1, 2], "x": 2.5, "y": 1}, + {"matrix": [1, 3], "x": 3.5, "y": 1}, + {"matrix": [1, 4], "x": 4.5, "y": 1}, + {"matrix": [1, 5], "x": 5.5, "y": 1}, + {"matrix": [1, 6], "x": 6.5, "y": 1}, + {"matrix": [1, 7], "x": 7.5, "y": 1}, + {"matrix": [1, 8], "x": 8.5, "y": 1}, + {"matrix": [1, 9], "x": 9.5, "y": 1}, + {"matrix": [1, 10], "x": 10.5, "y": 1}, + {"matrix": [1, 11], "x": 11.5, "y": 1}, + {"matrix": [1, 12], "x": 12.5, "y": 1}, + {"matrix": [2, 13], "x": 13.5, "y": 1, "w": 1.5}, + + {"matrix": [2, 0], "x": 0, "y": 2, "w": 1.75}, + {"matrix": [2, 1], "x": 1.75, "y": 2}, + {"matrix": [2, 2], "x": 2.75, "y": 2}, + {"matrix": [2, 3], "x": 3.75, "y": 2}, + {"matrix": [2, 4], "x": 4.75, "y": 2}, + {"matrix": [2, 5], "x": 5.75, "y": 2}, + {"matrix": [2, 6], "x": 6.75, "y": 2}, + {"matrix": [2, 7], "x": 7.75, "y": 2}, + {"matrix": [2, 8], "x": 8.75, "y": 2}, + {"matrix": [2, 9], "x": 9.75, "y": 2}, + {"matrix": [2, 10], "x": 10.75, "y": 2}, + {"matrix": [2, 11], "x": 11.75, "y": 2}, + {"matrix": [2, 12], "x": 12.75, "y": 2, "w": 2.25}, + + {"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": 2.75}, + + {"matrix": [4, 0], "x": 0, "y": 4, "w": 1.5}, + {"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, 13], "x": 13.5, "y": 4, "w": 1.5} + ] + }, + "LAYOUT_60_ansi_wkl_split_bs_rshift": { + "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": [1, 13], "x": 14, "y": 0}, + + {"matrix": [1, 0], "x": 0, "y": 1, "w": 1.5}, + {"matrix": [1, 1], "x": 1.5, "y": 1}, + {"matrix": [1, 2], "x": 2.5, "y": 1}, + {"matrix": [1, 3], "x": 3.5, "y": 1}, + {"matrix": [1, 4], "x": 4.5, "y": 1}, + {"matrix": [1, 5], "x": 5.5, "y": 1}, + {"matrix": [1, 6], "x": 6.5, "y": 1}, + {"matrix": [1, 7], "x": 7.5, "y": 1}, + {"matrix": [1, 8], "x": 8.5, "y": 1}, + {"matrix": [1, 9], "x": 9.5, "y": 1}, + {"matrix": [1, 10], "x": 10.5, "y": 1}, + {"matrix": [1, 11], "x": 11.5, "y": 1}, + {"matrix": [1, 12], "x": 12.5, "y": 1}, + {"matrix": [2, 13], "x": 13.5, "y": 1, "w": 1.5}, + + {"matrix": [2, 0], "x": 0, "y": 2, "w": 1.75}, + {"matrix": [2, 1], "x": 1.75, "y": 2}, + {"matrix": [2, 2], "x": 2.75, "y": 2}, + {"matrix": [2, 3], "x": 3.75, "y": 2}, + {"matrix": [2, 4], "x": 4.75, "y": 2}, + {"matrix": [2, 5], "x": 5.75, "y": 2}, + {"matrix": [2, 6], "x": 6.75, "y": 2}, + {"matrix": [2, 7], "x": 7.75, "y": 2}, + {"matrix": [2, 8], "x": 8.75, "y": 2}, + {"matrix": [2, 9], "x": 9.75, "y": 2}, + {"matrix": [2, 10], "x": 10.75, "y": 2}, + {"matrix": [2, 11], "x": 11.75, "y": 2}, + {"matrix": [2, 12], "x": 12.75, "y": 2, "w": 2.25}, + + {"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": [4, 0], "x": 0, "y": 4, "w": 1.5}, + {"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, 13], "x": 13.5, "y": 4, "w": 1.5} + ] + }, + "LAYOUT_60_hhkb": { + "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": [1, 13], "x": 14, "y": 0}, + + {"matrix": [1, 0], "x": 0, "y": 1, "w": 1.5}, + {"matrix": [1, 1], "x": 1.5, "y": 1}, + {"matrix": [1, 2], "x": 2.5, "y": 1}, + {"matrix": [1, 3], "x": 3.5, "y": 1}, + {"matrix": [1, 4], "x": 4.5, "y": 1}, + {"matrix": [1, 5], "x": 5.5, "y": 1}, + {"matrix": [1, 6], "x": 6.5, "y": 1}, + {"matrix": [1, 7], "x": 7.5, "y": 1}, + {"matrix": [1, 8], "x": 8.5, "y": 1}, + {"matrix": [1, 9], "x": 9.5, "y": 1}, + {"matrix": [1, 10], "x": 10.5, "y": 1}, + {"matrix": [1, 11], "x": 11.5, "y": 1}, + {"matrix": [1, 12], "x": 12.5, "y": 1}, + {"matrix": [2, 13], "x": 13.5, "y": 1, "w": 1.5}, + + {"matrix": [2, 0], "x": 0, "y": 2, "w": 1.75}, + {"matrix": [2, 1], "x": 1.75, "y": 2}, + {"matrix": [2, 2], "x": 2.75, "y": 2}, + {"matrix": [2, 3], "x": 3.75, "y": 2}, + {"matrix": [2, 4], "x": 4.75, "y": 2}, + {"matrix": [2, 5], "x": 5.75, "y": 2}, + {"matrix": [2, 6], "x": 6.75, "y": 2}, + {"matrix": [2, 7], "x": 7.75, "y": 2}, + {"matrix": [2, 8], "x": 8.75, "y": 2}, + {"matrix": [2, 9], "x": 9.75, "y": 2}, + {"matrix": [2, 10], "x": 10.75, "y": 2}, + {"matrix": [2, 11], "x": 11.75, "y": 2}, + {"matrix": [2, 12], "x": 12.75, "y": 2, "w": 2.25}, + + {"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": [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": 12.5, "y": 4} + ] + }, + "LAYOUT_60_iso": { + "layout": [ + {"matrix": [0, 0], "x": 0, "y": 0}, + {"matrix": [0, 1], "x": 1, "y": 0}, + {"matrix": [0, 2], "x": 2, "y": 0}, + {"matrix": [0, 3], "x": 3, "y": 0}, + {"matrix": [0, 4], "x": 4, "y": 0}, + {"matrix": [0, 5], "x": 5, "y": 0}, + {"matrix": [0, 6], "x": 6, "y": 0}, + {"matrix": [0, 7], "x": 7, "y": 0}, + {"matrix": [0, 8], "x": 8, "y": 0}, + {"matrix": [0, 9], "x": 9, "y": 0}, + {"matrix": [0, 10], "x": 10, "y": 0}, + {"matrix": [0, 11], "x": 11, "y": 0}, + {"matrix": [0, 12], "x": 12, "y": 0}, + {"matrix": [0, 13], "x": 13, "y": 0, "w": 2}, + + {"matrix": [1, 0], "x": 0, "y": 1, "w": 1.5}, + {"matrix": [1, 1], "x": 1.5, "y": 1}, + {"matrix": [1, 2], "x": 2.5, "y": 1}, + {"matrix": [1, 3], "x": 3.5, "y": 1}, + {"matrix": [1, 4], "x": 4.5, "y": 1}, + {"matrix": [1, 5], "x": 5.5, "y": 1}, + {"matrix": [1, 6], "x": 6.5, "y": 1}, + {"matrix": [1, 7], "x": 7.5, "y": 1}, + {"matrix": [1, 8], "x": 8.5, "y": 1}, + {"matrix": [1, 9], "x": 9.5, "y": 1}, + {"matrix": [1, 10], "x": 10.5, "y": 1}, + {"matrix": [1, 11], "x": 11.5, "y": 1}, + {"matrix": [1, 12], "x": 12.5, "y": 1}, + + {"matrix": [2, 0], "x": 0, "y": 2, "w": 1.75}, + {"matrix": [2, 1], "x": 1.75, "y": 2}, + {"matrix": [2, 2], "x": 2.75, "y": 2}, + {"matrix": [2, 3], "x": 3.75, "y": 2}, + {"matrix": [2, 4], "x": 4.75, "y": 2}, + {"matrix": [2, 5], "x": 5.75, "y": 2}, + {"matrix": [2, 6], "x": 6.75, "y": 2}, + {"matrix": [2, 7], "x": 7.75, "y": 2}, + {"matrix": [2, 8], "x": 8.75, "y": 2}, + {"matrix": [2, 9], "x": 9.75, "y": 2}, + {"matrix": [2, 10], "x": 10.75, "y": 2}, + {"matrix": [2, 11], "x": 11.75, "y": 2}, + {"matrix": [2, 12], "x": 12.75, "y": 2}, + {"matrix": [2, 13], "x": 13.75, "y": 1, "w": 1.25, "h":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}, + {"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": 2.75}, + + {"matrix": [4, 0], "x": 0, "y": 4, "w": 1.25}, + {"matrix": [4, 1], "x": 1.25, "y": 4, "w": 1.25}, + {"matrix": [4, 2], "x": 2.5, "y": 4, "w": 1.25}, + {"matrix": [4, 6], "x": 3.75, "y": 4, "w": 6.25}, + {"matrix": [4, 10], "x": 10, "y": 4, "w": 1.25}, + {"matrix": [4, 11], "x": 11.25, "y": 4, "w": 1.25}, + {"matrix": [4, 12], "x": 12.5, "y": 4, "w": 1.25}, + {"matrix": [4, 13], "x": 13.75, "y": 4, "w": 1.25} + ] + }, + "LAYOUT_60_iso_split_bs_rshift": { + "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": [1, 13], "x": 14, "y": 0}, + + {"matrix": [1, 0], "x": 0, "y": 1, "w": 1.5}, + {"matrix": [1, 1], "x": 1.5, "y": 1}, + {"matrix": [1, 2], "x": 2.5, "y": 1}, + {"matrix": [1, 3], "x": 3.5, "y": 1}, + {"matrix": [1, 4], "x": 4.5, "y": 1}, + {"matrix": [1, 5], "x": 5.5, "y": 1}, + {"matrix": [1, 6], "x": 6.5, "y": 1}, + {"matrix": [1, 7], "x": 7.5, "y": 1}, + {"matrix": [1, 8], "x": 8.5, "y": 1}, + {"matrix": [1, 9], "x": 9.5, "y": 1}, + {"matrix": [1, 10], "x": 10.5, "y": 1}, + {"matrix": [1, 11], "x": 11.5, "y": 1}, + {"matrix": [1, 12], "x": 12.5, "y": 1}, + + {"matrix": [2, 0], "x": 0, "y": 2, "w": 1.75}, + {"matrix": [2, 1], "x": 1.75, "y": 2}, + {"matrix": [2, 2], "x": 2.75, "y": 2}, + {"matrix": [2, 3], "x": 3.75, "y": 2}, + {"matrix": [2, 4], "x": 4.75, "y": 2}, + {"matrix": [2, 5], "x": 5.75, "y": 2}, + {"matrix": [2, 6], "x": 6.75, "y": 2}, + {"matrix": [2, 7], "x": 7.75, "y": 2}, + {"matrix": [2, 8], "x": 8.75, "y": 2}, + {"matrix": [2, 9], "x": 9.75, "y": 2}, + {"matrix": [2, 10], "x": 10.75, "y": 2}, + {"matrix": [2, 11], "x": 11.75, "y": 2}, + {"matrix": [2, 12], "x": 12.75, "y": 2}, + {"matrix": [2, 13], "x": 13.75, "y": 1, "w": 1.25, "h":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}, + {"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": [4, 0], "x": 0, "y": 4, "w": 1.25}, + {"matrix": [4, 1], "x": 1.25, "y": 4, "w": 1.25}, + {"matrix": [4, 2], "x": 2.5, "y": 4, "w": 1.25}, + {"matrix": [4, 6], "x": 3.75, "y": 4, "w": 6.25}, + {"matrix": [4, 10], "x": 10, "y": 4, "w": 1.25}, + {"matrix": [4, 11], "x": 11.25, "y": 4, "w": 1.25}, + {"matrix": [4, 12], "x": 12.5, "y": 4, "w": 1.25}, + {"matrix": [4, 13], "x": 13.75, "y": 4, "w": 1.25} + ] + }, + "LAYOUT_60_iso_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": [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": [2, 0], "x": 0, "y": 2, "w": 1.75}, + {"matrix": [2, 1], "x": 1.75, "y": 2}, + {"matrix": [2, 2], "x": 2.75, "y": 2}, + {"matrix": [2, 3], "x": 3.75, "y": 2}, + {"matrix": [2, 4], "x": 4.75, "y": 2}, + {"matrix": [2, 5], "x": 5.75, "y": 2}, + {"matrix": [2, 6], "x": 6.75, "y": 2}, + {"matrix": [2, 7], "x": 7.75, "y": 2}, + {"matrix": [2, 8], "x": 8.75, "y": 2}, + {"matrix": [2, 9], "x": 9.75, "y": 2}, + {"matrix": [2, 10], "x": 10.75, "y": 2}, + {"matrix": [2, 11], "x": 11.75, "y": 2}, + {"matrix": [2, 12], "x": 12.75, "y": 2}, + {"matrix": [2, 13], "x": 13.75, "y": 1, "w": 1.25, "h":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}, + {"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": 2.75}, + + {"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": 12.5, "y": 4}, + {"matrix": [4, 13], "x": 13.5, "y": 4, "w": 1.5} + ] + }, + "LAYOUT_60_iso_tsangan_split_bs_rshift": { + "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": [1, 13], "x": 14, "y": 0}, + + {"matrix": [1, 0], "x": 0, "y": 1, "w": 1.5}, + {"matrix": [1, 1], "x": 1.5, "y": 1}, + {"matrix": [1, 2], "x": 2.5, "y": 1}, + {"matrix": [1, 3], "x": 3.5, "y": 1}, + {"matrix": [1, 4], "x": 4.5, "y": 1}, + {"matrix": [1, 5], "x": 5.5, "y": 1}, + {"matrix": [1, 6], "x": 6.5, "y": 1}, + {"matrix": [1, 7], "x": 7.5, "y": 1}, + {"matrix": [1, 8], "x": 8.5, "y": 1}, + {"matrix": [1, 9], "x": 9.5, "y": 1}, + {"matrix": [1, 10], "x": 10.5, "y": 1}, + {"matrix": [1, 11], "x": 11.5, "y": 1}, + {"matrix": [1, 12], "x": 12.5, "y": 1}, + + {"matrix": [2, 0], "x": 0, "y": 2, "w": 1.75}, + {"matrix": [2, 1], "x": 1.75, "y": 2}, + {"matrix": [2, 2], "x": 2.75, "y": 2}, + {"matrix": [2, 3], "x": 3.75, "y": 2}, + {"matrix": [2, 4], "x": 4.75, "y": 2}, + {"matrix": [2, 5], "x": 5.75, "y": 2}, + {"matrix": [2, 6], "x": 6.75, "y": 2}, + {"matrix": [2, 7], "x": 7.75, "y": 2}, + {"matrix": [2, 8], "x": 8.75, "y": 2}, + {"matrix": [2, 9], "x": 9.75, "y": 2}, + {"matrix": [2, 10], "x": 10.75, "y": 2}, + {"matrix": [2, 11], "x": 11.75, "y": 2}, + {"matrix": [2, 12], "x": 12.75, "y": 2}, + {"matrix": [2, 13], "x": 13.75, "y": 1, "w": 1.25, "h":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}, + {"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": [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": 12.5, "y": 4}, + {"matrix": [4, 13], "x": 13.5, "y": 4, "w": 1.5} + ] + }, + "LAYOUT_60_iso_wkl": { + "layout": [ + {"matrix": [0, 0], "x": 0, "y": 0}, + {"matrix": [0, 1], "x": 1, "y": 0}, + {"matrix": [0, 2], "x": 2, "y": 0}, + {"matrix": [0, 3], "x": 3, "y": 0}, + {"matrix": [0, 4], "x": 4, "y": 0}, + {"matrix": [0, 5], "x": 5, "y": 0}, + {"matrix": [0, 6], "x": 6, "y": 0}, + {"matrix": [0, 7], "x": 7, "y": 0}, + {"matrix": [0, 8], "x": 8, "y": 0}, + {"matrix": [0, 9], "x": 9, "y": 0}, + {"matrix": [0, 10], "x": 10, "y": 0}, + {"matrix": [0, 11], "x": 11, "y": 0}, + {"matrix": [0, 12], "x": 12, "y": 0}, + {"matrix": [0, 13], "x": 13, "y": 0, "w": 2}, + + {"matrix": [1, 0], "x": 0, "y": 1, "w": 1.5}, + {"matrix": [1, 1], "x": 1.5, "y": 1}, + {"matrix": [1, 2], "x": 2.5, "y": 1}, + {"matrix": [1, 3], "x": 3.5, "y": 1}, + {"matrix": [1, 4], "x": 4.5, "y": 1}, + {"matrix": [1, 5], "x": 5.5, "y": 1}, + {"matrix": [1, 6], "x": 6.5, "y": 1}, + {"matrix": [1, 7], "x": 7.5, "y": 1}, + {"matrix": [1, 8], "x": 8.5, "y": 1}, + {"matrix": [1, 9], "x": 9.5, "y": 1}, + {"matrix": [1, 10], "x": 10.5, "y": 1}, + {"matrix": [1, 11], "x": 11.5, "y": 1}, + {"matrix": [1, 12], "x": 12.5, "y": 1}, + + {"matrix": [2, 0], "x": 0, "y": 2, "w": 1.75}, + {"matrix": [2, 1], "x": 1.75, "y": 2}, + {"matrix": [2, 2], "x": 2.75, "y": 2}, + {"matrix": [2, 3], "x": 3.75, "y": 2}, + {"matrix": [2, 4], "x": 4.75, "y": 2}, + {"matrix": [2, 5], "x": 5.75, "y": 2}, + {"matrix": [2, 6], "x": 6.75, "y": 2}, + {"matrix": [2, 7], "x": 7.75, "y": 2}, + {"matrix": [2, 8], "x": 8.75, "y": 2}, + {"matrix": [2, 9], "x": 9.75, "y": 2}, + {"matrix": [2, 10], "x": 10.75, "y": 2}, + {"matrix": [2, 11], "x": 11.75, "y": 2}, + {"matrix": [2, 12], "x": 12.75, "y": 2}, + {"matrix": [2, 13], "x": 13.75, "y": 1, "w": 1.25, "h":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}, + {"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": 2.75}, + + {"matrix": [4, 0], "x": 0, "y": 4, "w": 1.5}, + {"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, 13], "x": 13.5, "y": 4, "w": 1.5} + ] + }, + "LAYOUT_60_iso_wkl_split_bs_rshift": { + "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": [1, 13], "x": 14, "y": 0}, + + {"matrix": [1, 0], "x": 0, "y": 1, "w": 1.5}, + {"matrix": [1, 1], "x": 1.5, "y": 1}, + {"matrix": [1, 2], "x": 2.5, "y": 1}, + {"matrix": [1, 3], "x": 3.5, "y": 1}, + {"matrix": [1, 4], "x": 4.5, "y": 1}, + {"matrix": [1, 5], "x": 5.5, "y": 1}, + {"matrix": [1, 6], "x": 6.5, "y": 1}, + {"matrix": [1, 7], "x": 7.5, "y": 1}, + {"matrix": [1, 8], "x": 8.5, "y": 1}, + {"matrix": [1, 9], "x": 9.5, "y": 1}, + {"matrix": [1, 10], "x": 10.5, "y": 1}, + {"matrix": [1, 11], "x": 11.5, "y": 1}, + {"matrix": [1, 12], "x": 12.5, "y": 1}, + + {"matrix": [2, 0], "x": 0, "y": 2, "w": 1.75}, + {"matrix": [2, 1], "x": 1.75, "y": 2}, + {"matrix": [2, 2], "x": 2.75, "y": 2}, + {"matrix": [2, 3], "x": 3.75, "y": 2}, + {"matrix": [2, 4], "x": 4.75, "y": 2}, + {"matrix": [2, 5], "x": 5.75, "y": 2}, + {"matrix": [2, 6], "x": 6.75, "y": 2}, + {"matrix": [2, 7], "x": 7.75, "y": 2}, + {"matrix": [2, 8], "x": 8.75, "y": 2}, + {"matrix": [2, 9], "x": 9.75, "y": 2}, + {"matrix": [2, 10], "x": 10.75, "y": 2}, + {"matrix": [2, 11], "x": 11.75, "y": 2}, + {"matrix": [2, 12], "x": 12.75, "y": 2}, + {"matrix": [2, 13], "x": 13.75, "y": 1, "w": 1.25, "h":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}, + {"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": [4, 0], "x": 0, "y": 4, "w": 1.5}, + {"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, 13], "x": 13.5, "y": 4, "w": 1.5} + ] + } + } +} \ No newline at end of file diff --git a/keyboards/studiokestra/fairholme/keymaps/60_ansi/keymap.c b/keyboards/studiokestra/fairholme/keymaps/60_ansi/keymap.c new file mode 100644 index 00000000000..f240a1c67e0 --- /dev/null +++ b/keyboards/studiokestra/fairholme/keymaps/60_ansi/keymap.c @@ -0,0 +1,34 @@ +// Copyright 2024 Studio Kestra +// 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 │ - │ = │ Backsp│ + * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤ + * │ Tab │ Q │ W │ E │ R │ T │ Y │ U │ I │ O │ P │ [ │ ] │ \ │ + * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴─────┤ + * │ Caps │ A │ S │ D │ F │ G │ H │ J │ K │ L │ ; │ ' │ Enter │ + * ├──────┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴────────┤ + * │ Shift │ Z │ X │ C │ V │ B │ N │ M │ , │ . │ / │ Shift │ + * ├────┬───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬────┬────┤ + * │Ctrl│GUI │Alt │ │ Alt│ GUI│ Fn │Ctrl│ + * └────┴────┴────┴────────────────────────┴────┴────┴────┴────┘ + */ + [0] = LAYOUT_60_ansi( + KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, + KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, + KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT, + KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, + KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, KC_RGUI, MO(1), KC_RCTL + ), + [1] = LAYOUT_60_ansi( /* FN */ + KC_NO, 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_NO, KC_NO, KC_PGUP, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_UP, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, + KC_NO, KC_HOME, KC_PGDN, KC_END, KC_NO, KC_NO, KC_NO, KC_LEFT, KC_DOWN, KC_RGHT, KC_NO, KC_NO, KC_NO, + KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, + KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, _______, KC_NO + ) +}; diff --git a/keyboards/studiokestra/fairholme/keymaps/60_ansi_split_bs_rshift/keymap.c b/keyboards/studiokestra/fairholme/keymaps/60_ansi_split_bs_rshift/keymap.c new file mode 100644 index 00000000000..50299b26af1 --- /dev/null +++ b/keyboards/studiokestra/fairholme/keymaps/60_ansi_split_bs_rshift/keymap.c @@ -0,0 +1,34 @@ +// Copyright 2024 Studio Kestra +// 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 │ - │ = │ | │ ~ │ + * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┤ + * │ Tab │ Q │ W │ E │ R │ T │ Y │ U │ I │ O │ P │ [ │ ] │Bcksp│ + * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴─────┤ + * │ Caps │ A │ S │ D │ F │ G │ H │ J │ K │ L │ ; │ ' │ Enter │ + * ├──────┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴────┬───┤ + * │ Shift │ Z │ X │ C │ V │ B │ N │ M │ , │ . │ / │Shift │Fn │ + * ├────┬───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬────┬┴───┤ + * │Ctrl│GUI │Alt │ │ Alt│ GUI│Menu│Ctrl│ + * └────┴────┴────┴────────────────────────┴────┴────┴────┴────┘ + */ + [0] = LAYOUT_60_ansi_split_bs_rshift( + 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_GRV, + 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_BSPC, + 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, MO(1), + KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, KC_RGUI, KC_APP, KC_RCTL + ), + [1] = LAYOUT_60_ansi_split_bs_rshift( /* FN */ + KC_NO, 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_NO, KC_DEL, + KC_NO, KC_NO, KC_PGUP, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_UP, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, + KC_NO, KC_HOME, KC_PGDN, KC_END, KC_NO, KC_NO, KC_NO, KC_LEFT, KC_DOWN, KC_RGHT, KC_NO, KC_NO, KC_NO, + KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, _______, + KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO + ) +}; diff --git a/keyboards/studiokestra/fairholme/keymaps/60_iso/keymap.c b/keyboards/studiokestra/fairholme/keymaps/60_iso/keymap.c new file mode 100644 index 00000000000..67468d4ffb7 --- /dev/null +++ b/keyboards/studiokestra/fairholme/keymaps/60_iso/keymap.c @@ -0,0 +1,34 @@ +// Copyright 2024 Studio Kestra +// 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 │ - │ = │ Backsp│ + * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤ + * │ Tab │ Q │ W │ E │ R │ T │ Y │ U │ I │ O │ P │ [ │ ] │ │ + * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┐Ent │ + * │ Caps │ A │ S │ D │ F │ G │ H │ J │ K │ L │ ; │ ' │ ` │ │ + * ├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┴────┤ + * │Shft│ \ │ Z │ X │ C │ V │ B │ N │ M │ , │ . │ / │ Shift │ + * ├────┼───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬────┬────┤ + * │Ctrl│GUI │Alt │ │ Alt│ GUI│ Fn │Ctrl│ + * └────┴────┴────┴────────────────────────┴────┴────┴────┴────┘ + */ + [0] = LAYOUT_60_iso( + KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, + KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, + KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_NUHS, 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_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, KC_RGUI, MO(1), KC_RCTL + ), + [1] = LAYOUT_60_iso( /* FN */ + KC_NO, 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_NO, KC_NO, KC_PGUP, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_UP, KC_NO, KC_NO, KC_NO, KC_NO, + KC_NO, KC_HOME, KC_PGDN, KC_END, KC_NO, KC_NO, KC_NO, KC_LEFT, KC_DOWN, KC_RGHT, KC_NO, KC_NO, KC_NO, KC_NO, + KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, + KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, _______, KC_NO + ) +}; diff --git a/keyboards/studiokestra/fairholme/keymaps/default/keymap.c b/keyboards/studiokestra/fairholme/keymaps/default/keymap.c new file mode 100644 index 00000000000..15ad875016a --- /dev/null +++ b/keyboards/studiokestra/fairholme/keymaps/default/keymap.c @@ -0,0 +1,34 @@ +// Copyright 2024 Studio Kestra +// 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 │ - │ = │ | │ ~ │ + * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┤ + * │ Tab │ Q │ W │ E │ R │ T │ Y │ U │ I │ O │ P │ [ │ ] │Bcksp│ + * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴─────┤ + * │ Caps │ A │ S │ D │ F │ G │ H │ J │ K │ L │ ; │ ' │ Enter │ + * ├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴────┬───┤ + * │ Shift │ Z │ X │ C │ V │ B │ N │ M │ , │ . │ / │Shift │Fn │ + * ├────┼───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬────┬┴───┤ + * │Ctrl│GUI │Alt │ │ Alt│ GUI│Menu│Ctrl│ + * └────┴────┴────┴────────────────────────┴────┴────┴────┴────┘ + */ + [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_BSLS, KC_GRV, + KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSPC, + 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_NO, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, MO(1), + KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, KC_RGUI, KC_APP, KC_RCTL + ), + [1] = LAYOUT_all( /* FN */ + KC_NO, 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_NO, KC_DEL, + KC_NO, KC_NO, KC_PGUP, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_UP, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, + KC_NO, KC_HOME, KC_PGDN, KC_END, KC_NO, KC_NO, KC_NO, KC_LEFT, KC_DOWN, KC_RGHT, KC_NO, KC_NO, KC_NO, + KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, _______, + KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO + ) +}; diff --git a/keyboards/studiokestra/fairholme/readme.md b/keyboards/studiokestra/fairholme/readme.md new file mode 100644 index 00000000000..b5b92bacc24 --- /dev/null +++ b/keyboards/studiokestra/fairholme/readme.md @@ -0,0 +1,27 @@ +# studiokestra/fairholme + +![studiokestra/fairholme](https://i.imgur.com/Ep6wkgS.png) + +60% PCB developed as a successor to Cascade PCB powered by STM32F072. + +* Keyboard Maintainer: [studiokestra](https://github.com/studiokestra) +* Hardware Supported: Geonworks F2-60 +* Hardware Availability: https://geon.works + +Make example for this keyboard (after setting up your build environment): + + make studiokestra/fairholme:default + +Flashing example for this keyboard: + + make studiokestra/fairholme: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 6a536d5588b17687d34c30b598945b855d2c1a35 Mon Sep 17 00:00:00 2001 From: pancho horrillo Date: Sat, 21 Sep 2024 20:48:31 +0200 Subject: [PATCH 015/124] `.editorconfig`: fix inline comment, tidy name section for yaml (#24416) --- .editorconfig | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/.editorconfig b/.editorconfig index 3a537d01b28..692a84da610 100644 --- a/.editorconfig +++ b/.editorconfig @@ -11,7 +11,8 @@ charset = utf-8 trim_trailing_whitespace = true insert_final_newline = true -[{*.yaml,*.yml}] # To match GitHub Actions formatting + # To match GitHub Actions formatting +[*.{yaml,yml}] indent_size = 2 [*.md] From 93cc3f58b1e99945268dd039d98feb71d70a0acd Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Tue, 24 Sep 2024 09:55:18 +0100 Subject: [PATCH 016/124] Bump rollup from 4.16.4 to 4.22.4 in /builddefs/docsgen (#24430) Bumps [rollup](https://github.com/rollup/rollup) from 4.16.4 to 4.22.4. - [Release notes](https://github.com/rollup/rollup/releases) - [Changelog](https://github.com/rollup/rollup/blob/master/CHANGELOG.md) - [Commits](https://github.com/rollup/rollup/compare/v4.16.4...v4.22.4) --- updated-dependencies: - dependency-name: rollup dependency-type: indirect ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- builddefs/docsgen/yarn.lock | 166 ++++++++++++++++++------------------ 1 file changed, 83 insertions(+), 83 deletions(-) diff --git a/builddefs/docsgen/yarn.lock b/builddefs/docsgen/yarn.lock index 740bd85bb56..3b5f68035f7 100644 --- a/builddefs/docsgen/yarn.lock +++ b/builddefs/docsgen/yarn.lock @@ -298,85 +298,85 @@ resolved "https://registry.yarnpkg.com/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.15.tgz#d7c6e6755c78567a951e04ab52ef0fd26de59f32" integrity sha512-eF2rxCRulEKXHTRiDrDy6erMYWqNw4LPdQ8UQA4huuxaQsVeRPFl2oM8oDGxMFhJUWZf9McpLtJasDDZb/Bpeg== -"@rollup/rollup-android-arm-eabi@4.16.4": - version "4.16.4" - resolved "https://registry.yarnpkg.com/@rollup/rollup-android-arm-eabi/-/rollup-android-arm-eabi-4.16.4.tgz#5e8930291f1e5ead7fb1171d53ba5c87718de062" - integrity sha512-GkhjAaQ8oUTOKE4g4gsZ0u8K/IHU1+2WQSgS1TwTcYvL+sjbaQjNHFXbOJ6kgqGHIO1DfUhI/Sphi9GkRT9K+Q== +"@rollup/rollup-android-arm-eabi@4.22.4": + version "4.22.4" + resolved "https://registry.yarnpkg.com/@rollup/rollup-android-arm-eabi/-/rollup-android-arm-eabi-4.22.4.tgz#8b613b9725e8f9479d142970b106b6ae878610d5" + integrity sha512-Fxamp4aEZnfPOcGA8KSNEohV8hX7zVHOemC8jVBoBUHu5zpJK/Eu3uJwt6BMgy9fkvzxDaurgj96F/NiLukF2w== -"@rollup/rollup-android-arm64@4.16.4": - version "4.16.4" - resolved "https://registry.yarnpkg.com/@rollup/rollup-android-arm64/-/rollup-android-arm64-4.16.4.tgz#ffb84f1359c04ec8a022a97110e18a5600f5f638" - integrity sha512-Bvm6D+NPbGMQOcxvS1zUl8H7DWlywSXsphAeOnVeiZLQ+0J6Is8T7SrjGTH29KtYkiY9vld8ZnpV3G2EPbom+w== +"@rollup/rollup-android-arm64@4.22.4": + version "4.22.4" + resolved "https://registry.yarnpkg.com/@rollup/rollup-android-arm64/-/rollup-android-arm64-4.22.4.tgz#654ca1049189132ff602bfcf8df14c18da1f15fb" + integrity sha512-VXoK5UMrgECLYaMuGuVTOx5kcuap1Jm8g/M83RnCHBKOqvPPmROFJGQaZhGccnsFtfXQ3XYa4/jMCJvZnbJBdA== -"@rollup/rollup-darwin-arm64@4.16.4": - version "4.16.4" - resolved "https://registry.yarnpkg.com/@rollup/rollup-darwin-arm64/-/rollup-darwin-arm64-4.16.4.tgz#b2fcee8d4806a0b1b9185ac038cc428ddedce9f4" - integrity sha512-i5d64MlnYBO9EkCOGe5vPR/EeDwjnKOGGdd7zKFhU5y8haKhQZTN2DgVtpODDMxUr4t2K90wTUJg7ilgND6bXw== +"@rollup/rollup-darwin-arm64@4.22.4": + version "4.22.4" + resolved "https://registry.yarnpkg.com/@rollup/rollup-darwin-arm64/-/rollup-darwin-arm64-4.22.4.tgz#6d241d099d1518ef0c2205d96b3fa52e0fe1954b" + integrity sha512-xMM9ORBqu81jyMKCDP+SZDhnX2QEVQzTcC6G18KlTQEzWK8r/oNZtKuZaCcHhnsa6fEeOBionoyl5JsAbE/36Q== -"@rollup/rollup-darwin-x64@4.16.4": - version "4.16.4" - resolved "https://registry.yarnpkg.com/@rollup/rollup-darwin-x64/-/rollup-darwin-x64-4.16.4.tgz#fcb25ccbaa3dd33a6490e9d1c64bab2e0e16b932" - integrity sha512-WZupV1+CdUYehaZqjaFTClJI72fjJEgTXdf4NbW69I9XyvdmztUExBtcI2yIIU6hJtYvtwS6pkTkHJz+k08mAQ== +"@rollup/rollup-darwin-x64@4.22.4": + version "4.22.4" + resolved "https://registry.yarnpkg.com/@rollup/rollup-darwin-x64/-/rollup-darwin-x64-4.22.4.tgz#42bd19d292a57ee11734c980c4650de26b457791" + integrity sha512-aJJyYKQwbHuhTUrjWjxEvGnNNBCnmpHDvrb8JFDbeSH3m2XdHcxDd3jthAzvmoI8w/kSjd2y0udT+4okADsZIw== -"@rollup/rollup-linux-arm-gnueabihf@4.16.4": - version "4.16.4" - resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-arm-gnueabihf/-/rollup-linux-arm-gnueabihf-4.16.4.tgz#40d46bdfe667e5eca31bf40047460e326d2e26bb" - integrity sha512-ADm/xt86JUnmAfA9mBqFcRp//RVRt1ohGOYF6yL+IFCYqOBNwy5lbEK05xTsEoJq+/tJzg8ICUtS82WinJRuIw== +"@rollup/rollup-linux-arm-gnueabihf@4.22.4": + version "4.22.4" + resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-arm-gnueabihf/-/rollup-linux-arm-gnueabihf-4.22.4.tgz#f23555ee3d8fe941c5c5fd458cd22b65eb1c2232" + integrity sha512-j63YtCIRAzbO+gC2L9dWXRh5BFetsv0j0va0Wi9epXDgU/XUi5dJKo4USTttVyK7fGw2nPWK0PbAvyliz50SCQ== -"@rollup/rollup-linux-arm-musleabihf@4.16.4": - version "4.16.4" - resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-arm-musleabihf/-/rollup-linux-arm-musleabihf-4.16.4.tgz#7741df2448c11c56588b50835dbfe91b1a10b375" - integrity sha512-tJfJaXPiFAG+Jn3cutp7mCs1ePltuAgRqdDZrzb1aeE3TktWWJ+g7xK9SNlaSUFw6IU4QgOxAY4rA+wZUT5Wfg== +"@rollup/rollup-linux-arm-musleabihf@4.22.4": + version "4.22.4" + resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-arm-musleabihf/-/rollup-linux-arm-musleabihf-4.22.4.tgz#f3bbd1ae2420f5539d40ac1fde2b38da67779baa" + integrity sha512-dJnWUgwWBX1YBRsuKKMOlXCzh2Wu1mlHzv20TpqEsfdZLb3WoJW2kIEsGwLkroYf24IrPAvOT/ZQ2OYMV6vlrg== -"@rollup/rollup-linux-arm64-gnu@4.16.4": - version "4.16.4" - resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-arm64-gnu/-/rollup-linux-arm64-gnu-4.16.4.tgz#0a23b02d2933e4c4872ad18d879890b6a4a295df" - integrity sha512-7dy1BzQkgYlUTapDTvK997cgi0Orh5Iu7JlZVBy1MBURk7/HSbHkzRnXZa19ozy+wwD8/SlpJnOOckuNZtJR9w== +"@rollup/rollup-linux-arm64-gnu@4.22.4": + version "4.22.4" + resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-arm64-gnu/-/rollup-linux-arm64-gnu-4.22.4.tgz#7abe900120113e08a1f90afb84c7c28774054d15" + integrity sha512-AdPRoNi3NKVLolCN/Sp4F4N1d98c4SBnHMKoLuiG6RXgoZ4sllseuGioszumnPGmPM2O7qaAX/IJdeDU8f26Aw== -"@rollup/rollup-linux-arm64-musl@4.16.4": - version "4.16.4" - resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-arm64-musl/-/rollup-linux-arm64-musl-4.16.4.tgz#e37ef259358aa886cc07d782220a4fb83c1e6970" - integrity sha512-zsFwdUw5XLD1gQe0aoU2HVceI6NEW7q7m05wA46eUAyrkeNYExObfRFQcvA6zw8lfRc5BHtan3tBpo+kqEOxmg== +"@rollup/rollup-linux-arm64-musl@4.22.4": + version "4.22.4" + resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-arm64-musl/-/rollup-linux-arm64-musl-4.22.4.tgz#9e655285c8175cd44f57d6a1e8e5dedfbba1d820" + integrity sha512-Gl0AxBtDg8uoAn5CCqQDMqAx22Wx22pjDOjBdmG0VIWX3qUBHzYmOKh8KXHL4UpogfJ14G4wk16EQogF+v8hmA== -"@rollup/rollup-linux-powerpc64le-gnu@4.16.4": - version "4.16.4" - resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-powerpc64le-gnu/-/rollup-linux-powerpc64le-gnu-4.16.4.tgz#8c69218b6de05ee2ba211664a2d2ac1e54e43f94" - integrity sha512-p8C3NnxXooRdNrdv6dBmRTddEapfESEUflpICDNKXpHvTjRRq1J82CbU5G3XfebIZyI3B0s074JHMWD36qOW6w== +"@rollup/rollup-linux-powerpc64le-gnu@4.22.4": + version "4.22.4" + resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-powerpc64le-gnu/-/rollup-linux-powerpc64le-gnu-4.22.4.tgz#9a79ae6c9e9d8fe83d49e2712ecf4302db5bef5e" + integrity sha512-3aVCK9xfWW1oGQpTsYJJPF6bfpWfhbRnhdlyhak2ZiyFLDaayz0EP5j9V1RVLAAxlmWKTDfS9wyRyY3hvhPoOg== -"@rollup/rollup-linux-riscv64-gnu@4.16.4": - version "4.16.4" - resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-riscv64-gnu/-/rollup-linux-riscv64-gnu-4.16.4.tgz#d32727dab8f538d9a4a7c03bcf58c436aecd0139" - integrity sha512-Lh/8ckoar4s4Id2foY7jNgitTOUQczwMWNYi+Mjt0eQ9LKhr6sK477REqQkmy8YHY3Ca3A2JJVdXnfb3Rrwkng== +"@rollup/rollup-linux-riscv64-gnu@4.22.4": + version "4.22.4" + resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-riscv64-gnu/-/rollup-linux-riscv64-gnu-4.22.4.tgz#67ac70eca4ace8e2942fabca95164e8874ab8128" + integrity sha512-ePYIir6VYnhgv2C5Xe9u+ico4t8sZWXschR6fMgoPUK31yQu7hTEJb7bCqivHECwIClJfKgE7zYsh1qTP3WHUA== -"@rollup/rollup-linux-s390x-gnu@4.16.4": - version "4.16.4" - resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-s390x-gnu/-/rollup-linux-s390x-gnu-4.16.4.tgz#d46097246a187d99fc9451fe8393b7155b47c5ec" - integrity sha512-1xwwn9ZCQYuqGmulGsTZoKrrn0z2fAur2ujE60QgyDpHmBbXbxLaQiEvzJWDrscRq43c8DnuHx3QorhMTZgisQ== +"@rollup/rollup-linux-s390x-gnu@4.22.4": + version "4.22.4" + resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-s390x-gnu/-/rollup-linux-s390x-gnu-4.22.4.tgz#9f883a7440f51a22ed7f99e1d070bd84ea5005fc" + integrity sha512-GqFJ9wLlbB9daxhVlrTe61vJtEY99/xB3C8e4ULVsVfflcpmR6c8UZXjtkMA6FhNONhj2eA5Tk9uAVw5orEs4Q== -"@rollup/rollup-linux-x64-gnu@4.16.4": - version "4.16.4" - resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-x64-gnu/-/rollup-linux-x64-gnu-4.16.4.tgz#6356c5a03a4afb1c3057490fc51b4764e109dbc7" - integrity sha512-LuOGGKAJ7dfRtxVnO1i3qWc6N9sh0Em/8aZ3CezixSTM+E9Oq3OvTsvC4sm6wWjzpsIlOCnZjdluINKESflJLA== +"@rollup/rollup-linux-x64-gnu@4.22.4": + version "4.22.4" + resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-x64-gnu/-/rollup-linux-x64-gnu-4.22.4.tgz#70116ae6c577fe367f58559e2cffb5641a1dd9d0" + integrity sha512-87v0ol2sH9GE3cLQLNEy0K/R0pz1nvg76o8M5nhMR0+Q+BBGLnb35P0fVz4CQxHYXaAOhE8HhlkaZfsdUOlHwg== -"@rollup/rollup-linux-x64-musl@4.16.4": - version "4.16.4" - resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-x64-musl/-/rollup-linux-x64-musl-4.16.4.tgz#03a5831a9c0d05877b94653b5ddd3020d3c6fb06" - integrity sha512-ch86i7KkJKkLybDP2AtySFTRi5fM3KXp0PnHocHuJMdZwu7BuyIKi35BE9guMlmTpwwBTB3ljHj9IQXnTCD0vA== +"@rollup/rollup-linux-x64-musl@4.22.4": + version "4.22.4" + resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-x64-musl/-/rollup-linux-x64-musl-4.22.4.tgz#f473f88219feb07b0b98b53a7923be716d1d182f" + integrity sha512-UV6FZMUgePDZrFjrNGIWzDo/vABebuXBhJEqrHxrGiU6HikPy0Z3LfdtciIttEUQfuDdCn8fqh7wiFJjCNwO+g== -"@rollup/rollup-win32-arm64-msvc@4.16.4": - version "4.16.4" - resolved "https://registry.yarnpkg.com/@rollup/rollup-win32-arm64-msvc/-/rollup-win32-arm64-msvc-4.16.4.tgz#6cc0db57750376b9303bdb6f5482af8974fcae35" - integrity sha512-Ma4PwyLfOWZWayfEsNQzTDBVW8PZ6TUUN1uFTBQbF2Chv/+sjenE86lpiEwj2FiviSmSZ4Ap4MaAfl1ciF4aSA== +"@rollup/rollup-win32-arm64-msvc@4.22.4": + version "4.22.4" + resolved "https://registry.yarnpkg.com/@rollup/rollup-win32-arm64-msvc/-/rollup-win32-arm64-msvc-4.22.4.tgz#4349482d17f5d1c58604d1c8900540d676f420e0" + integrity sha512-BjI+NVVEGAXjGWYHz/vv0pBqfGoUH0IGZ0cICTn7kB9PyjrATSkX+8WkguNjWoj2qSr1im/+tTGRaY+4/PdcQw== -"@rollup/rollup-win32-ia32-msvc@4.16.4": - version "4.16.4" - resolved "https://registry.yarnpkg.com/@rollup/rollup-win32-ia32-msvc/-/rollup-win32-ia32-msvc-4.16.4.tgz#aea0b7e492bd9ed46971cb80bc34f1eb14e07789" - integrity sha512-9m/ZDrQsdo/c06uOlP3W9G2ENRVzgzbSXmXHT4hwVaDQhYcRpi9bgBT0FTG9OhESxwK0WjQxYOSfv40cU+T69w== +"@rollup/rollup-win32-ia32-msvc@4.22.4": + version "4.22.4" + resolved "https://registry.yarnpkg.com/@rollup/rollup-win32-ia32-msvc/-/rollup-win32-ia32-msvc-4.22.4.tgz#a6fc39a15db618040ec3c2a24c1e26cb5f4d7422" + integrity sha512-SiWG/1TuUdPvYmzmYnmd3IEifzR61Tragkbx9D3+R8mzQqDBz8v+BvZNDlkiTtI9T15KYZhP0ehn3Dld4n9J5g== -"@rollup/rollup-win32-x64-msvc@4.16.4": - version "4.16.4" - resolved "https://registry.yarnpkg.com/@rollup/rollup-win32-x64-msvc/-/rollup-win32-x64-msvc-4.16.4.tgz#c09ad9a132ccb5a67c4f211d909323ab1294f95f" - integrity sha512-YunpoOAyGLDseanENHmbFvQSfVL5BxW3k7hhy0eN4rb3gS/ct75dVD0EXOWIqFT/nE8XYW6LP6vz6ctKRi0k9A== +"@rollup/rollup-win32-x64-msvc@4.22.4": + version "4.22.4" + resolved "https://registry.yarnpkg.com/@rollup/rollup-win32-x64-msvc/-/rollup-win32-x64-msvc-4.22.4.tgz#3dd5d53e900df2a40841882c02e56f866c04d202" + integrity sha512-j8pPKp53/lq9lMXN57S8cFz0MynJk8OWNuUnXct/9KCpKU7DgU3bYMJhwWmcqC0UU29p8Lr0/7KEVcaM6bf47Q== "@shikijs/core@1.3.0", "@shikijs/core@^1.3.0": version "1.3.0" @@ -697,28 +697,28 @@ rfdc@^1.3.1: integrity sha512-r5a3l5HzYlIC68TpmYKlxWjmOP6wiPJ1vWv2HeLhNsRZMrCkxeqxiHlQ21oXmQ4F3SiryXBHhAD7JZqvOJjFmg== rollup@^4.13.0: - version "4.16.4" - resolved "https://registry.yarnpkg.com/rollup/-/rollup-4.16.4.tgz#fe328eb41293f20c9593a095ec23bdc4b5d93317" - integrity sha512-kuaTJSUbz+Wsb2ATGvEknkI12XV40vIiHmLuFlejoo7HtDok/O5eDDD0UpCVY5bBX5U5RYo8wWP83H7ZsqVEnA== + version "4.22.4" + resolved "https://registry.yarnpkg.com/rollup/-/rollup-4.22.4.tgz#4135a6446671cd2a2453e1ad42a45d5973ec3a0f" + integrity sha512-vD8HJ5raRcWOyymsR6Z3o6+RzfEPCnVLMFJ6vRslO1jt4LO6dUo5Qnpg7y4RkZFM2DMe3WUirkI5c16onjrc6A== dependencies: "@types/estree" "1.0.5" optionalDependencies: - "@rollup/rollup-android-arm-eabi" "4.16.4" - "@rollup/rollup-android-arm64" "4.16.4" - "@rollup/rollup-darwin-arm64" "4.16.4" - "@rollup/rollup-darwin-x64" "4.16.4" - "@rollup/rollup-linux-arm-gnueabihf" "4.16.4" - "@rollup/rollup-linux-arm-musleabihf" "4.16.4" - "@rollup/rollup-linux-arm64-gnu" "4.16.4" - "@rollup/rollup-linux-arm64-musl" "4.16.4" - "@rollup/rollup-linux-powerpc64le-gnu" "4.16.4" - "@rollup/rollup-linux-riscv64-gnu" "4.16.4" - "@rollup/rollup-linux-s390x-gnu" "4.16.4" - "@rollup/rollup-linux-x64-gnu" "4.16.4" - "@rollup/rollup-linux-x64-musl" "4.16.4" - "@rollup/rollup-win32-arm64-msvc" "4.16.4" - "@rollup/rollup-win32-ia32-msvc" "4.16.4" - "@rollup/rollup-win32-x64-msvc" "4.16.4" + "@rollup/rollup-android-arm-eabi" "4.22.4" + "@rollup/rollup-android-arm64" "4.22.4" + "@rollup/rollup-darwin-arm64" "4.22.4" + "@rollup/rollup-darwin-x64" "4.22.4" + "@rollup/rollup-linux-arm-gnueabihf" "4.22.4" + "@rollup/rollup-linux-arm-musleabihf" "4.22.4" + "@rollup/rollup-linux-arm64-gnu" "4.22.4" + "@rollup/rollup-linux-arm64-musl" "4.22.4" + "@rollup/rollup-linux-powerpc64le-gnu" "4.22.4" + "@rollup/rollup-linux-riscv64-gnu" "4.22.4" + "@rollup/rollup-linux-s390x-gnu" "4.22.4" + "@rollup/rollup-linux-x64-gnu" "4.22.4" + "@rollup/rollup-linux-x64-musl" "4.22.4" + "@rollup/rollup-win32-arm64-msvc" "4.22.4" + "@rollup/rollup-win32-ia32-msvc" "4.22.4" + "@rollup/rollup-win32-x64-msvc" "4.22.4" fsevents "~2.3.2" shiki@1.3.0, shiki@^1.3.0: From a7486a8d87e6b982033d9328f6474fb7d7d5371a Mon Sep 17 00:00:00 2001 From: Joel Challis Date: Tue, 24 Sep 2024 12:04:15 +0100 Subject: [PATCH 017/124] Remove `STM32_PWM_USE_ADVANCED` references (#24432) --- docs/drivers/ws2812.md | 2 +- keyboards/acheron/apollo/87h/delta/mcuconf.h | 3 --- keyboards/acheron/apollo/87htsc/mcuconf.h | 3 --- keyboards/acheron/apollo/88htsc/mcuconf.h | 3 --- keyboards/acheron/athena/alpha/mcuconf.h | 3 --- keyboards/acheron/athena/beta/mcuconf.h | 3 --- keyboards/acheron/shark/beta/mcuconf.h | 3 --- keyboards/acheron/themis/87h/mcuconf.h | 3 --- keyboards/acheron/themis/87htsc/mcuconf.h | 3 --- keyboards/acheron/themis/88htsc/mcuconf.h | 3 --- keyboards/aurora65/mcuconf.h | 3 --- keyboards/black_hellebore/mcuconf.h | 3 --- keyboards/cipulot/ec_980c/mcuconf.h | 3 --- keyboards/cipulot/ec_typek/mcuconf.h | 3 --- keyboards/meetlab/kalice/mcuconf.h | 2 -- keyboards/mode/m256wh/mcuconf.h | 3 --- keyboards/mode/m256ws/mcuconf.h | 3 --- keyboards/smithrune/iron165r2/f411/mcuconf.h | 3 --- keyboards/smithrune/magnus/m75h/mcuconf.h | 3 --- keyboards/smithrune/magnus/m75s/mcuconf.h | 3 --- keyboards/tg67/mcuconf.h | 3 --- keyboards/viendi8l/mcuconf.h | 3 --- platforms/chibios/drivers/backlight_pwm.c | 2 +- 23 files changed, 2 insertions(+), 64 deletions(-) diff --git a/docs/drivers/ws2812.md b/docs/drivers/ws2812.md index 61addf1917e..64343d3c6aa 100644 --- a/docs/drivers/ws2812.md +++ b/docs/drivers/ws2812.md @@ -236,7 +236,7 @@ The following `#define`s apply only to the `pwm` driver: |`WS2812_PWM_COMPLEMENTARY_OUTPUT`|*Not defined* |Whether the PWM output is complementary (`TIMx_CHyN`) | ::: tip -Using a complementary timer output (`TIMx_CHyN`) is possible only for advanced-control timers (1, 8 and 20 on STM32), and the `STM32_PWM_USE_ADVANCED` option in `mcuconf.h` must be set to `TRUE`. Complementary outputs of general-purpose timers are not supported due to ChibiOS limitations. +Using a complementary timer output (`TIMx_CHyN`) is possible only for advanced-control timers (1, 8 and 20 on STM32). Complementary outputs of general-purpose timers are not supported due to ChibiOS limitations. ::: ## API {#api} diff --git a/keyboards/acheron/apollo/87h/delta/mcuconf.h b/keyboards/acheron/apollo/87h/delta/mcuconf.h index 652fecfc8aa..0000e33889a 100644 --- a/keyboards/acheron/apollo/87h/delta/mcuconf.h +++ b/keyboards/acheron/apollo/87h/delta/mcuconf.h @@ -18,8 +18,5 @@ #include_next -#undef STM32_PWM_USE_ADVANCED -#define STM32_PWM_USE_ADVANCED TRUE - #undef STM32_PWM_USE_TIM1 #define STM32_PWM_USE_TIM1 TRUE diff --git a/keyboards/acheron/apollo/87htsc/mcuconf.h b/keyboards/acheron/apollo/87htsc/mcuconf.h index 652fecfc8aa..0000e33889a 100644 --- a/keyboards/acheron/apollo/87htsc/mcuconf.h +++ b/keyboards/acheron/apollo/87htsc/mcuconf.h @@ -18,8 +18,5 @@ #include_next -#undef STM32_PWM_USE_ADVANCED -#define STM32_PWM_USE_ADVANCED TRUE - #undef STM32_PWM_USE_TIM1 #define STM32_PWM_USE_TIM1 TRUE diff --git a/keyboards/acheron/apollo/88htsc/mcuconf.h b/keyboards/acheron/apollo/88htsc/mcuconf.h index 652fecfc8aa..0000e33889a 100644 --- a/keyboards/acheron/apollo/88htsc/mcuconf.h +++ b/keyboards/acheron/apollo/88htsc/mcuconf.h @@ -18,8 +18,5 @@ #include_next -#undef STM32_PWM_USE_ADVANCED -#define STM32_PWM_USE_ADVANCED TRUE - #undef STM32_PWM_USE_TIM1 #define STM32_PWM_USE_TIM1 TRUE diff --git a/keyboards/acheron/athena/alpha/mcuconf.h b/keyboards/acheron/athena/alpha/mcuconf.h index 63f1e30e641..c35579fe1c7 100644 --- a/keyboards/acheron/athena/alpha/mcuconf.h +++ b/keyboards/acheron/athena/alpha/mcuconf.h @@ -21,9 +21,6 @@ #undef STM32_I2C_USE_I2C1 #define STM32_I2C_USE_I2C1 TRUE -#undef STM32_PWM_USE_ADVANCED -#define STM32_PWM_USE_ADVANCED TRUE - #undef STM32_PWM_USE_TIM3 #define STM32_PWM_USE_TIM3 TRUE diff --git a/keyboards/acheron/athena/beta/mcuconf.h b/keyboards/acheron/athena/beta/mcuconf.h index 63f1e30e641..c35579fe1c7 100644 --- a/keyboards/acheron/athena/beta/mcuconf.h +++ b/keyboards/acheron/athena/beta/mcuconf.h @@ -21,9 +21,6 @@ #undef STM32_I2C_USE_I2C1 #define STM32_I2C_USE_I2C1 TRUE -#undef STM32_PWM_USE_ADVANCED -#define STM32_PWM_USE_ADVANCED TRUE - #undef STM32_PWM_USE_TIM3 #define STM32_PWM_USE_TIM3 TRUE diff --git a/keyboards/acheron/shark/beta/mcuconf.h b/keyboards/acheron/shark/beta/mcuconf.h index 63f1e30e641..c35579fe1c7 100644 --- a/keyboards/acheron/shark/beta/mcuconf.h +++ b/keyboards/acheron/shark/beta/mcuconf.h @@ -21,9 +21,6 @@ #undef STM32_I2C_USE_I2C1 #define STM32_I2C_USE_I2C1 TRUE -#undef STM32_PWM_USE_ADVANCED -#define STM32_PWM_USE_ADVANCED TRUE - #undef STM32_PWM_USE_TIM3 #define STM32_PWM_USE_TIM3 TRUE diff --git a/keyboards/acheron/themis/87h/mcuconf.h b/keyboards/acheron/themis/87h/mcuconf.h index 3d1d05c307c..ff2280716d6 100644 --- a/keyboards/acheron/themis/87h/mcuconf.h +++ b/keyboards/acheron/themis/87h/mcuconf.h @@ -18,8 +18,5 @@ #include_next -#undef STM32_PWM_USE_ADVANCED -#define STM32_PWM_USE_ADVANCED TRUE - #undef STM32_PWM_USE_TIM1 #define STM32_PWM_USE_TIM1 TRUE diff --git a/keyboards/acheron/themis/87htsc/mcuconf.h b/keyboards/acheron/themis/87htsc/mcuconf.h index 3d1d05c307c..ff2280716d6 100644 --- a/keyboards/acheron/themis/87htsc/mcuconf.h +++ b/keyboards/acheron/themis/87htsc/mcuconf.h @@ -18,8 +18,5 @@ #include_next -#undef STM32_PWM_USE_ADVANCED -#define STM32_PWM_USE_ADVANCED TRUE - #undef STM32_PWM_USE_TIM1 #define STM32_PWM_USE_TIM1 TRUE diff --git a/keyboards/acheron/themis/88htsc/mcuconf.h b/keyboards/acheron/themis/88htsc/mcuconf.h index 3d1d05c307c..ff2280716d6 100644 --- a/keyboards/acheron/themis/88htsc/mcuconf.h +++ b/keyboards/acheron/themis/88htsc/mcuconf.h @@ -18,8 +18,5 @@ #include_next -#undef STM32_PWM_USE_ADVANCED -#define STM32_PWM_USE_ADVANCED TRUE - #undef STM32_PWM_USE_TIM1 #define STM32_PWM_USE_TIM1 TRUE diff --git a/keyboards/aurora65/mcuconf.h b/keyboards/aurora65/mcuconf.h index 5e966ec140b..0b3baa9b4b2 100644 --- a/keyboards/aurora65/mcuconf.h +++ b/keyboards/aurora65/mcuconf.h @@ -20,6 +20,3 @@ #undef STM32_PWM_USE_TIM1 #define STM32_PWM_USE_TIM1 TRUE - -#undef STM32_PWM_USE_ADVANCED -#define STM32_PWM_USE_ADVANCED TRUE diff --git a/keyboards/black_hellebore/mcuconf.h b/keyboards/black_hellebore/mcuconf.h index ccb216946c9..51dc999135d 100644 --- a/keyboards/black_hellebore/mcuconf.h +++ b/keyboards/black_hellebore/mcuconf.h @@ -18,8 +18,5 @@ #include_next -#undef STM32_PWM_USE_ADVANCED -#define STM32_PWM_USE_ADVANCED TRUE - #undef STM32_PWM_USE_TIM1 #define STM32_PWM_USE_TIM1 TRUE diff --git a/keyboards/cipulot/ec_980c/mcuconf.h b/keyboards/cipulot/ec_980c/mcuconf.h index 5f9ecca48dd..2f22252a008 100644 --- a/keyboards/cipulot/ec_980c/mcuconf.h +++ b/keyboards/cipulot/ec_980c/mcuconf.h @@ -21,8 +21,5 @@ #undef STM32_ADC_USE_ADC1 #define STM32_ADC_USE_ADC1 TRUE -#undef STM32_PWM_USE_ADVANCED -#define STM32_PWM_USE_ADVANCED TRUE - #undef STM32_PWM_USE_TIM1 #define STM32_PWM_USE_TIM1 TRUE diff --git a/keyboards/cipulot/ec_typek/mcuconf.h b/keyboards/cipulot/ec_typek/mcuconf.h index 5f9ecca48dd..2f22252a008 100644 --- a/keyboards/cipulot/ec_typek/mcuconf.h +++ b/keyboards/cipulot/ec_typek/mcuconf.h @@ -21,8 +21,5 @@ #undef STM32_ADC_USE_ADC1 #define STM32_ADC_USE_ADC1 TRUE -#undef STM32_PWM_USE_ADVANCED -#define STM32_PWM_USE_ADVANCED TRUE - #undef STM32_PWM_USE_TIM1 #define STM32_PWM_USE_TIM1 TRUE diff --git a/keyboards/meetlab/kalice/mcuconf.h b/keyboards/meetlab/kalice/mcuconf.h index e2f1a5652b9..92876625723 100644 --- a/keyboards/meetlab/kalice/mcuconf.h +++ b/keyboards/meetlab/kalice/mcuconf.h @@ -19,5 +19,3 @@ #undef STM32_PWM_USE_TIM1 #define STM32_PWM_USE_TIM1 TRUE -#undef STM32_PWM_USE_ADVANCED -#define STM32_PWM_USE_ADVANCED TRUE \ No newline at end of file diff --git a/keyboards/mode/m256wh/mcuconf.h b/keyboards/mode/m256wh/mcuconf.h index 3d1d05c307c..ff2280716d6 100644 --- a/keyboards/mode/m256wh/mcuconf.h +++ b/keyboards/mode/m256wh/mcuconf.h @@ -18,8 +18,5 @@ #include_next -#undef STM32_PWM_USE_ADVANCED -#define STM32_PWM_USE_ADVANCED TRUE - #undef STM32_PWM_USE_TIM1 #define STM32_PWM_USE_TIM1 TRUE diff --git a/keyboards/mode/m256ws/mcuconf.h b/keyboards/mode/m256ws/mcuconf.h index 3d1d05c307c..ff2280716d6 100644 --- a/keyboards/mode/m256ws/mcuconf.h +++ b/keyboards/mode/m256ws/mcuconf.h @@ -18,8 +18,5 @@ #include_next -#undef STM32_PWM_USE_ADVANCED -#define STM32_PWM_USE_ADVANCED TRUE - #undef STM32_PWM_USE_TIM1 #define STM32_PWM_USE_TIM1 TRUE diff --git a/keyboards/smithrune/iron165r2/f411/mcuconf.h b/keyboards/smithrune/iron165r2/f411/mcuconf.h index 63f1e30e641..c35579fe1c7 100644 --- a/keyboards/smithrune/iron165r2/f411/mcuconf.h +++ b/keyboards/smithrune/iron165r2/f411/mcuconf.h @@ -21,9 +21,6 @@ #undef STM32_I2C_USE_I2C1 #define STM32_I2C_USE_I2C1 TRUE -#undef STM32_PWM_USE_ADVANCED -#define STM32_PWM_USE_ADVANCED TRUE - #undef STM32_PWM_USE_TIM3 #define STM32_PWM_USE_TIM3 TRUE diff --git a/keyboards/smithrune/magnus/m75h/mcuconf.h b/keyboards/smithrune/magnus/m75h/mcuconf.h index 8f4541a8c39..e9e60c9f990 100644 --- a/keyboards/smithrune/magnus/m75h/mcuconf.h +++ b/keyboards/smithrune/magnus/m75h/mcuconf.h @@ -18,9 +18,6 @@ #include_next -#undef STM32_PWM_USE_ADVANCED -#define STM32_PWM_USE_ADVANCED TRUE - #undef STM32_PWM_USE_TIM3 #define STM32_PWM_USE_TIM3 TRUE diff --git a/keyboards/smithrune/magnus/m75s/mcuconf.h b/keyboards/smithrune/magnus/m75s/mcuconf.h index 8f4541a8c39..e9e60c9f990 100644 --- a/keyboards/smithrune/magnus/m75s/mcuconf.h +++ b/keyboards/smithrune/magnus/m75s/mcuconf.h @@ -18,9 +18,6 @@ #include_next -#undef STM32_PWM_USE_ADVANCED -#define STM32_PWM_USE_ADVANCED TRUE - #undef STM32_PWM_USE_TIM3 #define STM32_PWM_USE_TIM3 TRUE diff --git a/keyboards/tg67/mcuconf.h b/keyboards/tg67/mcuconf.h index 8d8fd085d42..a4bf617885a 100644 --- a/keyboards/tg67/mcuconf.h +++ b/keyboards/tg67/mcuconf.h @@ -20,6 +20,3 @@ #undef STM32_PWM_USE_TIM1 #define STM32_PWM_USE_TIM1 TRUE - -#undef STM32_PWM_USE_ADVANCED -#define STM32_PWM_USE_ADVANCED TRUE diff --git a/keyboards/viendi8l/mcuconf.h b/keyboards/viendi8l/mcuconf.h index 6c8d8c8af97..c9aae5b9e5e 100644 --- a/keyboards/viendi8l/mcuconf.h +++ b/keyboards/viendi8l/mcuconf.h @@ -21,8 +21,5 @@ #undef STM32_I2C_USE_I2C1 #define STM32_I2C_USE_I2C1 TRUE -#undef STM32_PWM_USE_ADVANCED -#define STM32_PWM_USE_ADVANCED TRUE - #undef STM32_PWM_USE_TIM1 #define STM32_PWM_USE_TIM1 TRUE diff --git a/platforms/chibios/drivers/backlight_pwm.c b/platforms/chibios/drivers/backlight_pwm.c index 01e6f71307a..25fe7962b02 100644 --- a/platforms/chibios/drivers/backlight_pwm.c +++ b/platforms/chibios/drivers/backlight_pwm.c @@ -25,7 +25,7 @@ # define BACKLIGHT_PWM_CHANNEL 3 #endif -// Support for pins which are on TIM1_CH1N - requires STM32_PWM_USE_ADVANCED +// Support for pins which are on TIM1_CH1N #ifdef BACKLIGHT_PWM_COMPLEMENTARY_OUTPUT # if BACKLIGHT_ON_STATE == 1 # define PWM_OUTPUT_MODE PWM_COMPLEMENTARY_OUTPUT_ACTIVE_LOW; From 9a8f5a80e47815aefef1420f37078b7ff204e1c0 Mon Sep 17 00:00:00 2001 From: Nick Brassel Date: Tue, 24 Sep 2024 21:53:55 +1000 Subject: [PATCH 018/124] Remove `RING_BUFFERED_6KRO_REPORT_ENABLE` due to disuse. (#24433) --- builddefs/show_options.mk | 1 - docs/config_options.md | 2 - tests/test_common/keyboard_report_util.cpp | 2 - tmk_core/protocol.mk | 4 - tmk_core/protocol/report.c | 93 ---------------------- 5 files changed, 102 deletions(-) diff --git a/builddefs/show_options.mk b/builddefs/show_options.mk index 81d8400a806..1c1a3ebf8e0 100644 --- a/builddefs/show_options.mk +++ b/builddefs/show_options.mk @@ -67,7 +67,6 @@ OTHER_OPTION_NAMES = \ PS2_DRIVER \ RAW_ENABLE \ SWAP_HANDS_ENABLE \ - RING_BUFFERED_6KRO_REPORT_ENABLE \ WATCHDOG_ENABLE \ ERGOINU \ NO_USB_STARTUP_CHECK \ diff --git a/docs/config_options.md b/docs/config_options.md index fec6b22b133..90a708dd99c 100644 --- a/docs/config_options.md +++ b/docs/config_options.md @@ -426,8 +426,6 @@ Use these to enable or disable building certain features. The more you have enab * Key combo feature * `NKRO_ENABLE` * USB N-Key Rollover - if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work -* `RING_BUFFERED_6KRO_REPORT_ENABLE` - * USB 6-Key Rollover - Instead of stopping any new input once 6 keys are pressed, the oldest key is released and the new key is pressed. * `AUDIO_ENABLE` * Enable the audio subsystem. * `KEY_OVERRIDE_ENABLE` diff --git a/tests/test_common/keyboard_report_util.cpp b/tests/test_common/keyboard_report_util.cpp index 56764835391..18e0574277d 100644 --- a/tests/test_common/keyboard_report_util.cpp +++ b/tests/test_common/keyboard_report_util.cpp @@ -29,8 +29,6 @@ std::vector get_keys(const report_keyboard_t& report) { std::vector result; #if defined(NKRO_ENABLE) # error NKRO support not implemented yet -#elif defined(RING_BUFFERED_6KRO_REPORT_ENABLE) -# error 6KRO support not implemented yet #else for (size_t i = 0; i < KEYBOARD_REPORT_KEYS; i++) { if (report.keys[i]) { diff --git a/tmk_core/protocol.mk b/tmk_core/protocol.mk index 796b4e87871..8f019765484 100644 --- a/tmk_core/protocol.mk +++ b/tmk_core/protocol.mk @@ -54,10 +54,6 @@ ifeq ($(strip $(NKRO_ENABLE)), yes) endif endif -ifeq ($(strip $(RING_BUFFERED_6KRO_REPORT_ENABLE)), yes) - OPT_DEFS += -DRING_BUFFERED_6KRO_REPORT_ENABLE -endif - ifeq ($(strip $(NO_SUSPEND_POWER_DOWN)), yes) OPT_DEFS += -DNO_SUSPEND_POWER_DOWN endif diff --git a/tmk_core/protocol/report.c b/tmk_core/protocol/report.c index 0166bf654f2..056921d6a09 100644 --- a/tmk_core/protocol/report.c +++ b/tmk_core/protocol/report.c @@ -22,16 +22,6 @@ #include "util.h" #include -#ifdef RING_BUFFERED_6KRO_REPORT_ENABLE -# define RO_ADD(a, b) ((a + b) % KEYBOARD_REPORT_KEYS) -# define RO_SUB(a, b) ((a - b + KEYBOARD_REPORT_KEYS) % KEYBOARD_REPORT_KEYS) -# define RO_INC(a) RO_ADD(a, 1) -# define RO_DEC(a) RO_SUB(a, 1) -static int8_t cb_head = 0; -static int8_t cb_tail = 0; -static int8_t cb_count = 0; -#endif - /** \brief has_anykey * * FIXME: Needs doc @@ -65,18 +55,7 @@ uint8_t get_first_key(void) { return i << 3 | biton(nkro_report->bits[i]); } #endif -#ifdef RING_BUFFERED_6KRO_REPORT_ENABLE - uint8_t i = cb_head; - do { - if (keyboard_report->keys[i] != 0) { - break; - } - i = RO_INC(i); - } while (i != cb_tail); - return keyboard_report->keys[i]; -#else return keyboard_report->keys[0]; -#endif } /** \brief Checks if a key is pressed in the report @@ -110,50 +89,6 @@ bool is_key_pressed(uint8_t key) { * FIXME: Needs doc */ void add_key_byte(report_keyboard_t* keyboard_report, uint8_t code) { -#ifdef RING_BUFFERED_6KRO_REPORT_ENABLE - int8_t i = cb_head; - int8_t empty = -1; - if (cb_count) { - do { - if (keyboard_report->keys[i] == code) { - return; - } - if (empty == -1 && keyboard_report->keys[i] == 0) { - empty = i; - } - i = RO_INC(i); - } while (i != cb_tail); - if (i == cb_tail) { - if (cb_tail == cb_head) { - // buffer is full - if (empty == -1) { - // pop head when has no empty space - cb_head = RO_INC(cb_head); - cb_count--; - } else { - // left shift when has empty space - uint8_t offset = 1; - i = RO_INC(empty); - do { - if (keyboard_report->keys[i] != 0) { - keyboard_report->keys[empty] = keyboard_report->keys[i]; - keyboard_report->keys[i] = 0; - empty = RO_INC(empty); - } else { - offset++; - } - i = RO_INC(i); - } while (i != cb_tail); - cb_tail = RO_SUB(cb_tail, offset); - } - } - } - } - // add to tail - keyboard_report->keys[cb_tail] = code; - cb_tail = RO_INC(cb_tail); - cb_count++; -#else int8_t i = 0; int8_t empty = -1; for (; i < KEYBOARD_REPORT_KEYS; i++) { @@ -169,7 +104,6 @@ void add_key_byte(report_keyboard_t* keyboard_report, uint8_t code) { keyboard_report->keys[empty] = code; } } -#endif } /** \brief del key byte @@ -177,38 +111,11 @@ void add_key_byte(report_keyboard_t* keyboard_report, uint8_t code) { * FIXME: Needs doc */ void del_key_byte(report_keyboard_t* keyboard_report, uint8_t code) { -#ifdef RING_BUFFERED_6KRO_REPORT_ENABLE - uint8_t i = cb_head; - if (cb_count) { - do { - if (keyboard_report->keys[i] == code) { - keyboard_report->keys[i] = 0; - cb_count--; - if (cb_count == 0) { - // reset head and tail - cb_tail = cb_head = 0; - } - if (i == RO_DEC(cb_tail)) { - // left shift when next to tail - do { - cb_tail = RO_DEC(cb_tail); - if (keyboard_report->keys[RO_DEC(cb_tail)] != 0) { - break; - } - } while (cb_tail != cb_head); - } - break; - } - i = RO_INC(i); - } while (i != cb_tail); - } -#else for (uint8_t i = 0; i < KEYBOARD_REPORT_KEYS; i++) { if (keyboard_report->keys[i] == code) { keyboard_report->keys[i] = 0; } } -#endif } #ifdef NKRO_ENABLE From f7393a5ab85e7b94f5ed19031a8fbb11b7f76e18 Mon Sep 17 00:00:00 2001 From: nopunin10did Date: Wed, 25 Sep 2024 15:25:03 -0400 Subject: [PATCH 019/124] Fix jabberwocky key coordinates in QMK Configurator (#24435) --- keyboards/nopunin10did/jabberwocky/v2/keyboard.json | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/keyboards/nopunin10did/jabberwocky/v2/keyboard.json b/keyboards/nopunin10did/jabberwocky/v2/keyboard.json index 177f5235f45..7c688039a37 100644 --- a/keyboards/nopunin10did/jabberwocky/v2/keyboard.json +++ b/keyboards/nopunin10did/jabberwocky/v2/keyboard.json @@ -140,8 +140,8 @@ {"matrix": [9, 1], "x": 3, "y": 4.375}, {"matrix": [8, 2], "x": 4.25, "y": 4.375, "w": 1.25}, - {"matrix": [9, 2], "x": 5.25, "y": 4.375}, - {"matrix": [8, 3], "x": 6.25, "y": 4.375}, + {"matrix": [9, 2], "x": 5.5, "y": 4.375}, + {"matrix": [8, 3], "x": 6.5, "y": 4.375}, {"matrix": [9, 3], "x": 8.5, "y": 4.375}, {"matrix": [8, 4], "x": 9.5, "y": 4.25}, {"matrix": [9, 4], "x": 10.5, "y": 4.375}, From 805cde674d6e7bb5c09fdc48dd04b135cc3430ac Mon Sep 17 00:00:00 2001 From: Eric Date: Thu, 26 Sep 2024 11:43:39 -0700 Subject: [PATCH 020/124] input_club/ergodox_infinity ST7565 call spi_stop (#24429) --- drivers/lcd/st7565.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/drivers/lcd/st7565.c b/drivers/lcd/st7565.c index 4fce40edbe0..cf71c5e5a33 100644 --- a/drivers/lcd/st7565.c +++ b/drivers/lcd/st7565.c @@ -187,6 +187,8 @@ void st7565_render(void) { st7565_send_data(&st7565_buffer[ST7565_BLOCK_SIZE * update_start], ST7565_BLOCK_SIZE); + spi_stop(); + // Turn on display if it is off st7565_on(); From 17fac880bf26d36bde6456d283b7db08c131a0c8 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Fri, 27 Sep 2024 20:38:32 +0100 Subject: [PATCH 021/124] Bump JamesIves/github-pages-deploy-action from 4.6.4 to 4.6.6 (#24446) Bumps [JamesIves/github-pages-deploy-action](https://github.com/jamesives/github-pages-deploy-action) from 4.6.4 to 4.6.6. - [Release notes](https://github.com/jamesives/github-pages-deploy-action/releases) - [Commits](https://github.com/jamesives/github-pages-deploy-action/compare/v4.6.4...v4.6.6) --- updated-dependencies: - dependency-name: JamesIves/github-pages-deploy-action dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- .github/workflows/docs.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/docs.yml b/.github/workflows/docs.yml index 338b983d78e..616457604e1 100644 --- a/.github/workflows/docs.yml +++ b/.github/workflows/docs.yml @@ -56,7 +56,7 @@ jobs: - name: Deploy if: ${{ github.event_name == 'push' && github.repository == 'qmk/qmk_firmware' }} - uses: JamesIves/github-pages-deploy-action@v4.6.4 + uses: JamesIves/github-pages-deploy-action@v4.6.6 with: token: ${{ secrets.GITHUB_TOKEN }} branch: gh-pages From 4d6337539d4166eb1ef92251253f53d379ef852c Mon Sep 17 00:00:00 2001 From: Joel Challis Date: Sat, 28 Sep 2024 01:58:22 +0100 Subject: [PATCH 022/124] Revert "Bump JamesIves/github-pages-deploy-action from 4.6.4 to 4.6.6" (#24450) Revert "Bump JamesIves/github-pages-deploy-action from 4.6.4 to 4.6.6 (#24446)" This reverts commit 17fac880bf26d36bde6456d283b7db08c131a0c8. --- .github/workflows/docs.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/docs.yml b/.github/workflows/docs.yml index 616457604e1..338b983d78e 100644 --- a/.github/workflows/docs.yml +++ b/.github/workflows/docs.yml @@ -56,7 +56,7 @@ jobs: - name: Deploy if: ${{ github.event_name == 'push' && github.repository == 'qmk/qmk_firmware' }} - uses: JamesIves/github-pages-deploy-action@v4.6.6 + uses: JamesIves/github-pages-deploy-action@v4.6.4 with: token: ${{ secrets.GITHUB_TOKEN }} branch: gh-pages From f18a6993936517c86afa3e383fd16bb3b9611691 Mon Sep 17 00:00:00 2001 From: Ryan Date: Mon, 30 Sep 2024 09:26:31 +1000 Subject: [PATCH 023/124] [docs] `reference_info_json`: add type hints (#24443) --- docs/reference_info_json.md | 464 ++++++++++++++++++------------------ 1 file changed, 232 insertions(+), 232 deletions(-) diff --git a/docs/reference_info_json.md b/docs/reference_info_json.md index e658b48b715..82110537a9d 100644 --- a/docs/reference_info_json.md +++ b/docs/reference_info_json.md @@ -6,51 +6,51 @@ You can create `info.json` files at every level under `qmk_firmware/keyboards/String Required * A free-form text string describing the keyboard. This will be used as the USB product string. Can include Unicode characters, escaped to ASCII eg. `\u03A8` (Ψ). * Example: `"Clueboard 66%"` -* `maintainer` (Required) +* `maintainer` String Required * GitHub username of the maintainer, or `qmk` for community maintained boards. * Example: `"skullydazed"` -* `manufacturer` (Required) +* `manufacturer` String Required * A free-form text string describing the keyboard's manufacturer. This will be used as the USB manufacturer string. Can include Unicode characters, escaped to ASCII eg. `\u03A8` (Ψ). * Example: `"Clueboard"` -* `url` (Required) +* `url` String Required * A URL to the keyboard's product page, [QMK.fm/keyboards](https://qmk.fm/keyboards) page, or other page describing information about the keyboard. * Example: `"https://clueboard.co"` -* `bootloader_instructions` +* `bootloader_instructions` String * Instructions for putting the keyboard into a mode that allows for firmware flashing. * Example: `"Press the button marked RESET on the back of the PCB"` -* `tags` +* `tags` Array: String * A list of tags describing the keyboard. * Example: `["ortho", "split", "rgb"]` ## Hardware Configuration {#hardware-configuration} -* `board` +* `board` String * Override the default ChibiOS board name (ARM-based keyboards only). * Example: `"BLACKPILL_STM32_F411"` -* `bootloader` +* `bootloader` String * The bootloader in use on the keyboard. Required if `development_board` is not specified. -* `development_board` +* `development_board` String * The microcontroller development board, if applicable. * Example: `"promicro"` -* `pin_compatible` +* `pin_compatible` String * The form factor of the development board, if applicable. Must be one of `elite_c`, `promicro`. -* `processor` +* `processor` String * The microcontroller in use on the keyboard. Required if `development_board` is not specified. ## Firmware Configuration {#firmware-configuration} * `build` - * `debounce_type` + * `debounce_type`String * The debounce algorithm to use. Must be one of `asym_eager_defer_pk`, `custom`, `sym_defer_g`, `sym_defer_pk`, `sym_defer_pr`, `sym_eager_pk`, `sym_eager_pr`. - * `firmware_format` + * `firmware_format`String * The format of the final output binary. Must be one of `bin`, `hex`, `uf2`. - * `lto` + * `lto`Boolean * Enable Link-Time Optimization. * Default: `false` -* `features` +* `features`Object: Boolean * A dictionary of features to enable or disable. * Example: ```json @@ -61,36 +61,36 @@ You can create `info.json` files at every level under `qmk_firmware/keyboards/Boolean * Enable locking switch support. * Default: `false` - * `resync` + * `resync` Boolean * Keep switch state consistent with keyboard LED state. * Default: `false` - * `tap_capslock_delay` + * `tap_capslock_delay` Number * The delay between keydown and keyup for Caps Lock tap events in milliseconds. * Default: `80` (80 ms) - * `tap_keycode_delay` + * `tap_keycode_delay` Number * The delay between keydown and keyup for tap events in milliseconds. * Default: `0` (no delay) * `tapping` - * `hold_on_other_key_press` + * `hold_on_other_key_press` Boolean * Default: `false` - * `hold_on_other_key_press_per_key` + * `hold_on_other_key_press_per_key` Boolean * Default: `false` - * `permissive_hold` + * `permissive_hold` Boolean * Default: `false` - * `permissive_hold_per_key` + * `permissive_hold_per_key` Boolean * Default: `false` - * `retro` + * `retro` Boolean * Default: `false` - * `retro_per_key` + * `retro_per_key` Boolean * Default: `false` - * `term` + * `term` Number * Default: `200` (200 ms) - * `term_per_key` + * `term_per_key` Boolean * Default: `false` - * `toggle` + * `toggle` Number * Default: `5` ## APA102 {#apa102} @@ -98,11 +98,11 @@ You can create `info.json` files at every level under `qmk_firmware/keyboards/Pin Required * The GPIO pin connected to `CI` on the first LED in the chain. - * `data_pin` (Required) + * `data_pin` Pin Required * The GPIO pin connected to `DI` on the first LED in the chain. - * `default_brightness` + * `default_brightness` Number * The initial global brightness level (independent of the RGB data), from 0 to 31. * Default: `31` @@ -112,26 +112,26 @@ Configures the [Audio](features/audio) feature. * `audio` * `default` - * `on` + * `on` Boolean * The default audio enabled state. * Default: `true` - * `clicky` + * `clicky` Boolean * The default audio clicky enabled state. * Default: `true` - * `driver` + * `driver` String * The driver to use. Must be one of `dac_additive`, `dac_basic`, `pwm_software`, `pwm_hardware`. - * `macro_beep` + * `macro_beep` Boolean * Play a short beep for `\a` (ASCII `BEL`) characters in Send String macros. * Default: `false` - * `pins` (Required) + * `pins` Array: Pin Required * The GPIO pin(s) connected to the speaker(s). * `power_control` - * `on_state` + * `on_state` 0|1 * The logical GPIO state required to turn the speaker on. * Default: `1` (on = high) - * `pin` + * `pin` Pin * The GPIO pin connected to speaker power circuit. - * `voices` + * `voices` Boolean * Use multiple audio voices. * Default: `false` @@ -141,40 +141,40 @@ Configures the [Audio](features/audio) feature. Configures the [Backlight](features/backlight) feature. * `backlight` - * `as_caps_lock` + * `as_caps_lock` Boolean * Use the backlight as a Caps Lock indicator. * Default: `false` - * `breathing` + * `breathing` Boolean * Whether backlight breathing is enabled. * Default: `false` - * `breathing_period` + * `breathing_period` Number * The length of one backlight breathing cycle in seconds. * Default: `6` (6 seconds) * `default` - * `on` + * `on` Boolean * The default backlight enabled state. * Default: `true` - * `breathing` + * `breathing` Boolean * The default backlight breathing state. * Default: `false` - * `brightness` + * `brightness` Number * The default brightness level. * Default: `max_brightness` - * `driver` + * `driver` String * The driver to use. Must be one of `custom`, `pwm`, `software`, `timer`. * Default: `"pwm"` - * `levels` + * `levels` Number * The number of brightness levels (excluding off), from 1 to 31. * Default: `3` - * `max_brightness` + * `max_brightness` Number * The maximum PWM value which brightness is scaled to, from 0 to 255. * Default: `255` - * `on_state` + * `on_state` 0|1 * The logical GPIO state required to turn the LEDs on. * Default: `1` (on = high) - * `pin` + * `pin` Pin * The GPIO pin connected to the backlight circuit. - * `pins` + * `pins` Array: Pin * A list of GPIO pins connected to the backlight LEDs (`software` and `timer` drivers only). ## Bluetooth {#bluetooth} @@ -182,7 +182,7 @@ Configures the [Backlight](features/backlight) feature. Configures the [Bluetooth](features/bluetooth) feature. * `bluetooth` - * `driver` + * `driver` String * The driver to use. Must be one of `custom`, `bluefruit_le`, `rn42`. ## Bootmagic {#bootmagic} @@ -190,10 +190,10 @@ Configures the [Bluetooth](features/bluetooth) feature. Configures the [Bootmagic](features/bootmagic) feature. * `bootmagic` - * `enabled` + * `enabled` Boolean * Enables the Bootmagic feature. * Default: `false` - * `matrix` + * `matrix` Matrix * The matrix position of the key to check during startup. This should generally be set to the (physically) top left key. * Default: `[0, 0]` @@ -202,19 +202,19 @@ Configures the [Bootmagic](features/bootmagic) feature. Configures the [Caps Word](features/caps_word) feature. * `caps_word` - * `both_shifts_turns_on` + * `both_shifts_turns_on` Boolean * Activate Caps Word by pressing both Shift keys. * Default: `false` - * `double_tap_shift_turns_on` + * `double_tap_shift_turns_on` Boolean * Activate Caps Word by pressing Left Shift twice. * Default: `false` - * `enabled` + * `enabled` Boolean * Enables the Caps Word feature. * Default: `false` - * `idle_timeout` + * `idle_timeout` Number * The amount of time before Caps Word automatically deactivates in milliseconds. * Default: `5000` (5 seconds) - * `invert_on_shift` + * `invert_on_shift` Boolean * Invert shift state instead of deactivating Caps Word when Shift is pressed. * Default: `false` @@ -223,7 +223,7 @@ Configures the [Caps Word](features/caps_word) feature. Configures the [Combo](features/combo) feature. * `combo` - * `term` + * `term` Number * The amount of time to recognize a combo in milliseconds. * Default: `50` (50 ms) @@ -232,12 +232,12 @@ Configures the [Combo](features/combo) feature. Configures the [DIP Switches](features/dip_switch) feature. * `dip_switch` - * `enabled` + * `enabled` Boolean * Enable the DIP Switches feature. * Default: `false` - * `pins` + * `pins` Array: Pin * A list of GPIO pins connected to the MCU. - * `matrix_grid` + * `matrix_grid` Array: Matrix * A list of matrix locations in the key matrix. * Example: `[ [0,6], [1,6], [2,6] ]` @@ -246,15 +246,15 @@ Configures the [DIP Switches](features/dip_switch) feature. Configures the [EEPROM](drivers/eeprom) driver. * `eeprom` - * `driver` + * `driver` String * The EEPROM backend to use. Must be one of `custom`, `i2c`, `legacy_stm32_flash`, `spi`, `transient`, `vendor`, `wear_leveling`. * Default: `"vendor"` * `wear_leveling` - * `driver` + * `driver` String * The driver to use. Must be one of `embedded_flash`, `legacy`, `rp2040_flash`, `spi_flash`, `custom`. - * `backing_size` + * `backing_size` Number * Number of bytes used by the wear-leveling algorithm for its underlying storage, and needs to be a multiple of the logical size. - * `logical_size` + * `logical_size` Number * Number of bytes “exposed” to the rest of QMK and denotes the size of the usable EEPROM. ## Encoder {#encoder} @@ -262,13 +262,13 @@ Configures the [EEPROM](drivers/eeprom) driver. Configures the [Encoder](features/encoders) feature. * `encoder` - * `rotary` + * `rotary` Array: Object * A list of encoder objects. - * `pin_a` (Required) + * `pin_a` Pin Required * The GPIO pin connected to the encoder's `A` pin. - * `pin_b` (Required) + * `pin_b` Pin Required * The GPIO pin connected to the encoder's `B` pin. - * `resolution` + * `resolution` Number * The number of edge transitions on both pins required to register an input. * Default: `4` @@ -277,18 +277,18 @@ Configures the [Encoder](features/encoders) feature. Configures the [LED Indicators](features/led_indicators) feature. * `indicators` - * `caps_lock` + * `caps_lock` Pin * The GPIO pin connected to the Caps Lock LED. - * `compose` + * `compose` Pin * The GPIO pin connected to the Compose LED. - * `kana` + * `kana` Pin * The GPIO pin connected to the Kana LED. - * `num_lock` + * `num_lock` Pin * The GPIO pin connected to the Num Lock LED. - * `on_state` + * `on_state` 0|1 * The logical GPIO state required to turn the LEDs on. * Default: `1` (on = high) - * `scroll_lock` + * `scroll_lock` Pin * The GPIO pin connected to the Scroll Lock LED. ## Layouts {#layouts} @@ -301,10 +301,10 @@ All key positions and rotations are specified in relation to the top-left corner The ISO enter key is represented by a 1.25u×2uh key. Renderers which utilize info.json layout data (such as `qmk info -l` and the QMK Configurator) should display this key as expected. -* `community_layouts` +* `community_layouts` Array: String * A list of community layouts supported by the keyboard. * Example: `["60_ansi", "60_iso"]` -* `layout_aliases` +* `layout_aliases` Object: String * A mapping of layout aliases to layout definitions. * Example: ```json @@ -313,34 +313,34 @@ The ISO enter key is represented by a 1.25u×2uh key. Renderers which utilize in "LAYOUT_iso": "LAYOUT_60_iso" } ``` -* `layouts` +* `layouts` Object * A dictionary of layouts supported by the keyboard. - * `LAYOUT_` - * `layout` + * `LAYOUT_` Object + * `layout` Array: Object * A list of key dictionaries comprising the layout. Each key dictionary contains: - * `matrix` (Required) + * `matrix` Matrix Required * The matrix position for the key. * Example: `[0, 4]` (row 0, column 4) - * `x` (Required) + * `x` KeyUnit Required * The absolute position of the key in the horizontal axis, in key units. - * `y` (Required) + * `y` KeyUnit Required * The absolute position of the key in the vertical axis, in key units. - * `h` + * `h` KeyUnit * The height of the key, in key units. * Default: `1` (1u) - * `label` + * `label` String * What to name the key. This is *not* a key assignment as in the keymap, but should usually correspond to the keycode for the first layer of the default keymap. * Example: `"Escape"` - * `r` + * `r` Number * The rotation angle in degrees. Currently not implemented. - * `rx` + * `rx` Number * The absolute X position of the rotation axis. Currently not implemented. - * `ry` + * `ry` Number * The absolute Y position of the rotation axis. Currently not implemented. - * `w` + * `w` KeyUnit * The width of the key, in key units. * Default: `1` (1u) - * `encoder` + * `encoder` Number * The index of an encoder this key should be linked to * Example: `{"label": "Shift", "matrix": [4, 0], "x": 0, "y": 4.25, "w": 2.25}` @@ -349,13 +349,13 @@ The ISO enter key is represented by a 1.25u×2uh key. Renderers which utilize in Configures the [Leader Key](features/leader_key) feature. * `leader_key` - * `timing` + * `timing` Boolean * Reset the `timeout` on each keypress. * Default: `false` - * `strict_processing` + * `strict_processing` Boolean * Do not extract the tap keycodes from Layer-Tap and Mod-Tap key events. * Default: `false` - * `timeout` + * `timeout` Number * The amount of time to complete a leader sequence in milliseconds. * Default: `300` (300 ms) @@ -364,7 +364,7 @@ Configures the [Leader Key](features/leader_key) feature. Configures the [LED Matrix](features/led_matrix) feature. * `led_matrix` - * `animations` + * `animations` Object: Boolean * A dictionary of effects to enable or disable. Effects which are absent default to `false`. * Example: ```json @@ -374,82 +374,82 @@ Configures the [LED Matrix](features/led_matrix) feature. "cycle_left_right": false } ``` - * `center_point` + * `center_point` Array: Number * The centroid (geometric center) of the LEDs. Used for certain effects. * Default: `[112, 32]` * `default` - * `animation` + * `animation` String * The default effect. Must be one of `led_matrix.animations` * Default: `"solid"` - * `on` + * `on` Boolean * The default enabled state. * Default: `true` - * `val` + * `val` Number * The default brightness level. * Default: `max_brightness` - * `speed` + * `speed` Number * The default animation speed. * Default: `128` - * `driver` (Required) + * `driver` String Required * The driver to use. Must be one of `custom`, `is31fl3218`, `is31fl3731`, `is31fl3733`, `is31fl3736`, `is31fl3737`, `is31fl3741`, `is31fl3742a`, `is31fl3743a`, `is31fl3745`, `is31fl3746a`, `snled27351`. - * `layout` (Required) + * `layout` Array: Object Required * List of LED configuration dictionaries. Each dictionary contains: - * `flags` (Required) + * `flags` Number Required * A bitfield of flags describing the type of LED. - * `x` (Required) + * `x` Number Required * The position of the LED in the horizontal axis, from 0 to 224. - * `y` (Required) + * `y` Number Required * The position of the LED in the vertical axis, from 0 to 64. - * `matrix` + * `matrix` Matrix * The key matrix position associated with the LED. * Example: `[0, 2]` * Example: `{"matrix": [2, 1], "x": 20, "y": 48, "flags": 2}` - * `led_flush_limit` + * `led_flush_limit` Number * Limits in milliseconds how frequently an animation will update the LEDs. * Default: `16` - * `led_process_limit` + * `led_process_limit` Number * Limits the number of LEDs to process in an animation per task run (increases keyboard responsiveness). * Default: `led_count / 5` - * `max_brightness` + * `max_brightness` Number * The maximum value which brightness is scaled to, from 0 to 255. * Default: `255` - * `react_on_keyup` + * `react_on_keyup` Boolean * Animations react to keyup instead of keydown. * Default: `false` - * `sleep` + * `sleep` Boolean * Turn off the LEDs when the host goes to sleep. * Default: `false` - * `speed_steps` + * `speed_steps` Number * The number of speed adjustment steps. * Default: `16` - * `split_count` + * `split_count` Array: Number * For split keyboards, the number of LEDs on each half. * Example: `[16, 16]` - * `timeout` + * `timeout` Number * The LED activity timeout in milliseconds. * Default: `0` (no timeout) - * `val_steps` + * `val_steps` Number * The number of brightness adjustment steps. * Default: `8` ## Matrix {#matrix} -* `debounce` +* `debounce` Number * The debounce time in milliseconds. * Default: `5` (5 ms) -* `diode_direction` +* `diode_direction` String * Which way the diodes are "pointing". Unused for `matrix_pins.direct`. Must be one of `COL2ROW`, `ROW2COL`. * `matrix_pins` - * `cols` + * `cols` Array: Pin * A list of GPIO pins connected to the matrix columns. * Example: `["A0", "A1", "A2"]` - * `custom` + * `custom` Boolean * Whether to use a custom matrix scanning implementation. * Default: `false` - * `custom_lite` + * `custom_lite` Boolean * Whether to use a "lite" custom matrix scanning implementation. * Default: `false` - * `direct` + * `direct` Array: Array: Pin * A 2-dimensional list of GPIO pins connected to each keyswitch, forming the "matrix" rows and columns. * Example: ```json @@ -459,16 +459,16 @@ Configures the [LED Matrix](features/led_matrix) feature. ["C0", "C1", "C2"] ] ``` - * `ghost` + * `ghost` Boolean * Whether the matrix has no anti-ghosting diodes. * Default: `false` - * `input_pressed_state` + * `input_pressed_state` 0|1 * The logical GPIO state of the input pins when a key is pressed. * Default: `0` (pressed = low) - * `io_delay` + * `io_delay` Number * The amount of time to wait between row/col selection and col/row pin reading, in microseconds. * Default: `30` (30 µs) - * `rows` + * `rows` Array: Pin * A list of GPIO pins connected to the matrix rows. * Example: `["B0", "B1", "B2"]` @@ -477,23 +477,23 @@ Configures the [LED Matrix](features/led_matrix) feature. Configures the [Mouse Keys](features/mouse_keys) feature. * `mouse_key` - * `delay` - * `enabled` + * `delay` Number + * `enabled` Boolean * Enables the Mouse Keys feature. * Default: `false` - * `interval` - * `max_speed` - * `time_to_max` - * `wheel_delay` + * `interval` Number + * `max_speed` Number + * `time_to_max` Number + * `wheel_delay` Number ## One Shot {#one-shot} Configures [One Shot keys](one_shot_keys). * `oneshot` - * `tap_toggle` + * `tap_toggle` Number * The number of times to tap the key in order to hold it. - * `timeout` + * `timeout` Number * The amount of time before the key is released in milliseconds. ## PS/2 {#ps2} @@ -501,30 +501,30 @@ Configures [One Shot keys](one_shot_keys). Configures the [PS/2](features/ps2_mouse) feature. * `ps2` - * `clock_pin` + * `clock_pin` Pin * The GPIO pin connected to `CLK` on the PS/2 device. - * `data_pin` + * `data_pin` Pin * The GPIO pin connected to `DATA` on the PS/2 device. - * `driver` + * `driver` String * The PS/2 driver to use. Must be one of `busywait`, `interrupt`, `usart`, `vendor`. * Default: `"busywait"` - * `enabled` + * `enabled` Boolean * Enable the PS/2 feature. * Default: `false` - * `mouse_enabled` + * `mouse_enabled` Boolean * Enable the PS/2 mouse handling. * Default: `false` ## QMK LUFA Bootloader {#qmk-lufa-bootloader} * `qmk_lufa_bootloader` - * `esc_input` (Required) + * `esc_input` Pin Required * The GPIO pin connected to the designated "exit bootloader" key's row (if `COL2ROW`). - * `esc_output` (Required) + * `esc_output` Pin Required * The GPIO pin connected to the designated "exit bootloader" key's column (if `COL2ROW`). - * `led` + * `led` Pin * The GPIO pin connected to an LED to flash. - * `speaker` + * `speaker` Pin * The GPIO pin connected to a speaker to click (can also be used for a second LED). ## RGBLight {#rgblight} @@ -532,9 +532,9 @@ Configures the [PS/2](features/ps2_mouse) feature. Configures the [RGB Lighting](features/rgblight) feature. * `rgblight` - * `led_count` (Required) + * `led_count` Number Required * The number of LEDs in the chain. - * `animations` + * `animations` Object: Boolean * A dictionary of effects to enable or disable. Effects which are absent default to `false`. * Example: ```json @@ -544,60 +544,60 @@ Configures the [RGB Lighting](features/rgblight) feature. "snake": false } ``` - * `brightness_steps` + * `brightness_steps` Number * The number of brightness adjustment steps. * Default: `17` * `default` - * `animation` + * `animation` String * The default effect. Must be one of `rgblight.animations` * Default: `"static_light"` - * `on` + * `on` Boolean * The default enabled state. * Default: `true` - * `hue` + * `hue` Number * The default hue value. * Default: `0` - * `sat` + * `sat` Number * The default saturation value. * Default: `255` - * `val` + * `val` Number * The default brightness level. * Default: `max_brightness` - * `speed` + * `speed` Number * The default animation speed. * Default: `0` - * `driver` + * `driver` String * The driver to use. Must be one of `apa102`, `custom`, `ws2812`. * Default: `"ws2812"` - * `hue_steps` + * `hue_steps` Number * The number of hue adjustment steps. * Default: `8` * `layers` - * `blink` + * `blink` Boolean * Enable layer blinking API. * Default: `false` - * `enabled` + * `enabled` Boolean * Enable RGB Lighting Layers. * Default: `false` - * `max` + * `max` Number * The maximum layer count, from 1 to 32. * Default: `8` - * `led_map` + * `led_map` Array: Number * Remap LED indices. * Example: `[4, 3, 2, 1, 0]` - * `max_brightness` + * `max_brightness` Number * The maximum value which the HSV "V" component is scaled to, from 0 to 255. * Default: `255` - * `saturation_steps` + * `saturation_steps` Number * The number of saturation adjustment steps. * Default: `17` - * `sleep` + * `sleep` Boolean * Turn off the LEDs when the host goes to sleep. * Default: `false` - * `split` + * `split` Boolean * Enable synchronization between split halves. * Default: `false` - * `split_count` + * `split_count` Array: Number * When `rgblight.split` is enabled, the number of LEDs on each half. * Example: `[10, 10]` @@ -606,7 +606,7 @@ Configures the [RGB Lighting](features/rgblight) feature. Configures the [RGB Matrix](features/rgb_matrix) feature. * `rgb_matrix` - * `animations` + * `animations` Object: Boolean * A dictionary of effects to enable or disable. Effects which are absent default to `false`. * Example: ```json @@ -616,73 +616,73 @@ Configures the [RGB Matrix](features/rgb_matrix) feature. "cycle_left_right": false } ``` - * `center_point` + * `center_point` Array: Number * The centroid (geometric center) of the LEDs. Used for certain effects. * Default: `[112, 32]` * `default` - * `animation` + * `animation` String * The default effect. Must be one of `rgb_matrix.animations` * Default: `"solid_color"` - * `on` + * `on` Boolean * The default enabled state. * Default: `true` - * `hue` + * `hue` Number * The default hue value. * Default: `0` - * `sat` + * `sat` Number * The default saturation value. * Default: `255` - * `val` + * `val` Number * The default brightness level. * Default: `max_brightness` - * `speed` + * `speed` Number * The default animation speed. * Default: `128` - * `driver` (Required) + * `driver` String Required * The driver to use. Must be one of `aw20216s`, `custom`, `is31fl3218`, `is31fl3236`, `is31fl3729`, `is31fl3731`, `is31fl3733`, `is31fl3736`, `is31fl3737`, `is31fl3741`, `is31fl3742a`, `is31fl3743a`, `is31fl3745`, `is31fl3746a`, `snled27351`, `ws2812`. - * `hue_steps` + * `hue_steps` Number * The number of hue adjustment steps. * Default: `8` - * `layout` (Required) + * `layout` Array: Object Required * List of LED configuration dictionaries. Each dictionary contains: - * `flags` (Required) + * `flags` Number Required * A bitfield of flags describing the type of LED. - * `x` (Required) + * `x` Number Required * The position of the LED in the horizontal axis, from 0 to 224. - * `y` (Required) + * `y` Number Required * The position of the LED in the vertical axis, from 0 to 64. - * `matrix` + * `matrix` Matrix * The key matrix position associated with the LED. * Example: `[0, 2]` * Example: `{"matrix": [2, 1], "x": 20, "y": 48, "flags": 2}` - * `led_flush_limit` + * `led_flush_limit` Number * Limits in milliseconds how frequently an animation will update the LEDs. * Default: `16` - * `led_process_limit` + * `led_process_limit` Number * Limits the number of LEDs to process in an animation per task run (increases keyboard responsiveness). * Default: `led_count / 5` - * `max_brightness` + * `max_brightness` Number * The maximum value which the HSV "V" component is scaled to, from 0 to 255. * Default: `255` - * `react_on_keyup` + * `react_on_keyup` Boolean * Animations react to keyup instead of keydown. * Default: `false` - * `sat_steps` + * `sat_steps` Number * The number of saturation adjustment steps. * Default: `16` - * `sleep` + * `sleep` Boolean * Turn off the LEDs when the host goes to sleep. * Default: `false` - * `speed_steps` + * `speed_steps` Number * The number of speed adjustment steps. * Default: `16` - * `split_count` + * `split_count` Array: Number * For split keyboards, the number of LEDs on each half. * Example: `[16, 16]` - * `timeout` + * `timeout` Number * The LED activity timeout in milliseconds. * Default: `0` (no timeout) - * `val_steps` + * `val_steps` Number * The number of brightness adjustment steps. * Default: `16` @@ -691,16 +691,16 @@ Configures the [RGB Matrix](features/rgb_matrix) feature. Configures the [Secure](features/secure) feature. * `secure` - * `enabled` + * `enabled` Boolean * Enable the Secure feature. * Default: `false` - * `idle_timeout` + * `idle_timeout` Number * Timeout while unlocked before returning to the locked state. Set to `0` to disable. * Default: `60000` (1 minute) - * `unlock_sequence` + * `unlock_sequence` Array: Matrix * A list of up to five matrix locations comprising the "unlock sequence". * Example: `[[0, 0], [0, 1], [4, 3]]` - * `unlock_timeout` + * `unlock_timeout` Number * Timeout for the user to perform the unlock sequence. Set to `0` to disable. * Default: `5000` (5 seconds) @@ -716,7 +716,7 @@ Configures the [Split Keyboard](features/split_keyboard) feature. * `right` * `pins` * See [DIP Switches](#dip-switch) config. - * `enabled` + * `enabled` Boolean * Enable the Split Keyboard feature. * Default: `false` * `encoder` @@ -724,69 +724,69 @@ Configures the [Split Keyboard](features/split_keyboard) feature. * `rotary` * See [Encoder](#encoder) config. * `handedness` - * `pin` + * `pin` Pin * The GPIO pin connected to determine handedness. - * `matrix_grid` + * `matrix_grid` Array: Pin * The GPIO pins of the matrix position which determines the handedness. * Example: `["A1", "B5"]` * `matrix_pins` * `right` * See [Matrix](#matrix) config. * `serial` - * `driver` + * `driver` String * The driver to use. Must be one of `bitbang`, `usart`, `vendor`. * Default: `"bitbang"` - * `pin` + * `pin` Pin * The GPIO pin to use for transmit and receive. - * `soft_serial_speed` + * `soft_serial_speed` Number * The protocol speed, from `0` to `5` (`serial` transport protocol only). * Default: `1` * `transport` - * `protocol` + * `protocol` String * The split transport protocol to use. Must be one of `custom`, `i2c`, `serial`. * `sync` - * `activity` + * `activity` Boolean * Mirror the activity timestamps to the secondary half. * Default: `false` - * `detected_os` + * `detected_os` Boolean * Mirror the [detected OS](features/os_detection) to the secondary half. * Default: `false` - * `haptic` + * `haptic` Boolean * Mirror the haptic state and process haptic feedback to the secondary half. * Default: `false` - * `layer_state` + * `layer_state` Boolean * Mirror the layer state to the secondary half. * Default: `false` - * `indicators` + * `indicators` Boolean * Mirror the indicator state to the secondary half. * Default: `false` - * `matrix_state` + * `matrix_state` Boolean * Mirror the main/primary half's matrix state to the secondary half. * Default: `false` - * `modifiers` + * `modifiers` Boolean * Mirror the modifier state to the secondary half. * Default: `false` - * `oled` + * `oled` Boolean * Mirror the OLED on/off status to the secondary half. * Default: `false` - * `st7565` + * `st7565` Boolean * Mirror the ST7565 on/off status to the secondary half. * Default: `false` - * `wpm` + * `wpm` Boolean * Mirror the current WPM value to the secondary half. * Default: `false` - * `watchdog` + * `watchdog` Boolean * Reboot the secondary half if it loses connection. * Default: `false` - * `watchdog_timeout` + * `watchdog_timeout` Number * The amount of time to wait for communication from the primary half in milliseconds. * `usb_detect` - * `enabled` + * `enabled` Boolean * Detect USB connection when determining split half roles. - * `polling_interval` + * `polling_interval` Number * The polling frequency in milliseconds. * Default: `10` (10 ms) - * `timeout` + * `timeout` Number * The amount of time to wait for a USB connection in milliseconds. * Default: `2000` (2 seconds) @@ -795,48 +795,48 @@ Configures the [Split Keyboard](features/split_keyboard) feature. Configures the [Stenography](features/stenography) feature. * `stenography` - * `enabled` + * `enabled` Boolean * Enable the Stenography feature. * Default: `false` - * `protocol` + * `protocol` String * The Steno protocol to use. Must be one of `all`, `geminipr`, `txbolt`. * Default: `"all"` ## USB {#usb} * `usb` - * `device_version` (Required) + * `device_version` String Required * A BCD version number in the format `MM.m.r` (up to `99.9.9`). * Example: `"1.0.0"` - * `pid` (Required) + * `pid` String Required * The USB product ID as a four-digit hexadecimal number. * Example: `"0x23B0"` - * `vid` (Required) + * `vid` String Required * The USB vendor ID as a four-digit hexadecimal number. * Example: `"0xC1ED"` - * `force_nkro` + * `force_nkro` Boolean * Force NKRO to be active. * Default: `false` - * `max_power` + * `max_power` Number * The maximum current draw the host should expect from the device. This does not control the actual current usage. * Default: `500` (500 mA) - * `no_startup_check` + * `no_startup_check` Boolean * Disable USB suspend check after keyboard startup. * Default: `false` - * `polling_interval` + * `polling_interval` Number * The frequency at which the host should poll the keyboard for reports. * Default: `1` (1 ms/1000 Hz) * `shared_endpoint` - * `keyboard` + * `keyboard` Boolean * Send keyboard reports through the "shared" USB endpoint. * Default: `false` - * `mouse` + * `mouse` Boolean * Send mouse reports through the "shared" USB endpoint. * Default: `true` - * `suspend_wakeup_delay` + * `suspend_wakeup_delay` Number * The amount of time to wait after sending a wakeup packet, in milliseconds. * Default: `0` (disabled) - * `wait_for_enumeration` + * `wait_for_enumeration` Boolean * Force the keyboard to wait for USB enumeration before starting up. * Default: `false` @@ -845,17 +845,17 @@ Configures the [Stenography](features/stenography) feature. Configures the [WS2812](drivers/ws2812) driver. * `ws2812` - * `driver` + * `driver` String * The driver to use. Must be one of `bitbang`, `custom`, `i2c`, `pwm`, `spi`, `vendor`. * Default: `"bitbang"` - * `pin` (Required) + * `pin` Pin Required * The GPIO pin connected to `DI` on the first LED in the chain (`bitbang`, `pwm`, `spi` and `vendor` drivers only). - * `i2c_address` + * `i2c_address` String * The I²C address of the WS2812 controller (`i2c` driver only). * Default: `"0xB0"` - * `i2c_timeout` + * `i2c_timeout` Number * The I²C timeout in milliseconds (`i2c` driver only). * Default: `100` (100 ms) - * `rgbw` + * `rgbw` Boolean * Enable RGBW LEDs. * Default: `false` From 015cd23616b921115002b4d6238d7ed1350f8f66 Mon Sep 17 00:00:00 2001 From: Pham Duc Minh <95753855+Deemen17@users.noreply.github.com> Date: Mon, 30 Sep 2024 07:23:21 +0700 Subject: [PATCH 024/124] [Keyboard] Add DE80 PCB (#24439) --- keyboards/deemen17/de80/config.h | 20 + keyboards/deemen17/de80/halconf.h | 22 + keyboards/deemen17/de80/keyboard.json | 893 ++++++++++++++++++ .../deemen17/de80/keymaps/default/keymap.c | 45 + .../deemen17/de80/keymaps/default/rules.mk | 1 + keyboards/deemen17/de80/mcuconf.h | 23 + keyboards/deemen17/de80/readme.md | 27 + 7 files changed, 1031 insertions(+) create mode 100644 keyboards/deemen17/de80/config.h create mode 100644 keyboards/deemen17/de80/halconf.h create mode 100644 keyboards/deemen17/de80/keyboard.json create mode 100644 keyboards/deemen17/de80/keymaps/default/keymap.c create mode 100644 keyboards/deemen17/de80/keymaps/default/rules.mk create mode 100644 keyboards/deemen17/de80/mcuconf.h create mode 100644 keyboards/deemen17/de80/readme.md diff --git a/keyboards/deemen17/de80/config.h b/keyboards/deemen17/de80/config.h new file mode 100644 index 00000000000..e4066d3954b --- /dev/null +++ b/keyboards/deemen17/de80/config.h @@ -0,0 +1,20 @@ +/* Copyright 2024 Deemen17 + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +#pragma once + +#define WS2812_SPI_DRIVER SPID2 +#define WS2812_SPI_USE_CIRCULAR_BUFFER diff --git a/keyboards/deemen17/de80/halconf.h b/keyboards/deemen17/de80/halconf.h new file mode 100644 index 00000000000..ccf74472856 --- /dev/null +++ b/keyboards/deemen17/de80/halconf.h @@ -0,0 +1,22 @@ +/* Copyright 2022 QMK + * + * 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 HAL_USE_SPI TRUE + +#include_next + diff --git a/keyboards/deemen17/de80/keyboard.json b/keyboards/deemen17/de80/keyboard.json new file mode 100644 index 00000000000..f2b6b2dbdd4 --- /dev/null +++ b/keyboards/deemen17/de80/keyboard.json @@ -0,0 +1,893 @@ +{ + "manufacturer": "Deemen17", + "keyboard_name": "DE80", + "maintainer": "Deemen17", + "bootloader": "uf2boot", + "diode_direction": "COL2ROW", + "features": { + "bootmagic": true, + "extrakey": true, + "mousekey": true, + "nkro": true, + "rgblight": true, + "encoder": true + }, + "matrix_pins": { + "rows": ["A8", "A10", "A9", "B11", "C14", "C13"], + "cols": ["B14", "B13", "B12", "B2", "B1", "B0", "A7", "A6", "A5", "A4", "A3", "A2", "A1", "A0", "A15", "B7", "B6"] + }, + "processor": "STM32F103", + "usb": { + "vid": "0xDE17", + "pid": "0x80F1", + "device_version": "1.0.0" + }, + "indicators": { + "caps_lock": "B10", + "scroll_lock": "B3" + }, + "rgblight": { + "animations": { + "alternating": true, + "breathing": true, + "christmas": true, + "knight": true, + "rainbow_mood": true, + "rainbow_swirl": true, + "rgb_test": true, + "snake": true, + "static_gradient": true, + "twinkle": true + }, + "led_count": 40, + "max_brightness": 250, + "sleep": true + }, + "ws2812": { + "driver": "spi", + "pin": "B15" + }, + "encoder": { + "rotary": [ + {"pin_a": "B5", "pin_b": "B4"} + ] + }, + "layout_aliases": { + "LAYOUT_all": "LAYOUT_tkl_f13_ansi_tsangan_split_bs_rshift" + }, + "community_layouts": ["tkl_ansi_tsangan", "tkl_ansi_tsangan_split_bs_rshift", "tkl_ansi_wkl", "tkl_ansi_wkl_split_bs_rshift", "tkl_f13_ansi_tsangan", "tkl_f13_ansi_tsangan_split_bs_rshift", "tkl_f13_ansi_wkl", "tkl_f13_ansi_wkl_split_bs_rshift" ], + "layouts": { + "LAYOUT_tkl_ansi_tsangan": { + "layout": [ + {"matrix": [0, 0], "x": 0, "y": 0}, + + {"matrix": [0, 2], "x": 2, "y": 0}, + {"matrix": [0, 3], "x": 3, "y": 0}, + {"matrix": [0, 4], "x": 4, "y": 0}, + {"matrix": [0, 5], "x": 5, "y": 0}, + + {"matrix": [0, 6], "x": 6.5, "y": 0}, + {"matrix": [0, 7], "x": 7.5, "y": 0}, + {"matrix": [0, 8], "x": 8.5, "y": 0}, + {"matrix": [0, 9], "x": 9.5, "y": 0}, + + {"matrix": [0, 10], "x": 11, "y": 0}, + {"matrix": [0, 11], "x": 12, "y": 0}, + {"matrix": [0, 12], "x": 13, "y": 0}, + {"matrix": [0, 13], "x": 14, "y": 0}, + + {"matrix": [0, 14], "x": 15.25, "y": 0}, + {"matrix": [0, 15], "x": 16.25, "y": 0}, + {"matrix": [0, 16], "x": 17.25, "y": 0}, + + {"matrix": [1, 0], "x": 0, "y": 1.25}, + {"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": [2, 13], "x": 13.5, "y": 2.25, "w": 1.5}, + + {"matrix": [2, 14], "x": 15.25, "y": 2.25}, + {"matrix": [2, 15], "x": 16.25, "y": 2.25}, + {"matrix": [2, 16], "x": 17.25, "y": 2.25}, + + {"matrix": [3, 0], "x": 0, "y": 3.25, "w": 1.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, 13], "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} + ] + }, + "LAYOUT_tkl_ansi_tsangan_split_bs_rshift": { + "layout": [ + {"matrix": [0, 0], "x": 0, "y": 0}, + + {"matrix": [0, 2], "x": 2, "y": 0}, + {"matrix": [0, 3], "x": 3, "y": 0}, + {"matrix": [0, 4], "x": 4, "y": 0}, + {"matrix": [0, 5], "x": 5, "y": 0}, + + {"matrix": [0, 6], "x": 6.5, "y": 0}, + {"matrix": [0, 7], "x": 7.5, "y": 0}, + {"matrix": [0, 8], "x": 8.5, "y": 0}, + {"matrix": [0, 9], "x": 9.5, "y": 0}, + + {"matrix": [0, 10], "x": 11, "y": 0}, + {"matrix": [0, 11], "x": 12, "y": 0}, + {"matrix": [0, 12], "x": 13, "y": 0}, + {"matrix": [0, 13], "x": 14, "y": 0}, + + {"matrix": [0, 14], "x": 15.25, "y": 0}, + {"matrix": [0, 15], "x": 16.25, "y": 0}, + {"matrix": [0, 16], "x": 17.25, "y": 0}, + + {"matrix": [1, 0], "x": 0, "y": 1.25}, + {"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}, + {"matrix": [3, 12], "x": 14, "y": 1.25}, + + {"matrix": [1, 14], "x": 15.25, "y": 1.25}, + {"matrix": [1, 15], "x": 16.25, "y": 1.25}, + {"matrix": [1, 16], "x": 17.25, "y": 1.25}, + + {"matrix": [2, 0], "x": 0, "y": 2.25, "w": 1.5}, + {"matrix": [2, 1], "x": 1.5, "y": 2.25}, + {"matrix": [2, 2], "x": 2.5, "y": 2.25}, + {"matrix": [2, 3], "x": 3.5, "y": 2.25}, + {"matrix": [2, 4], "x": 4.5, "y": 2.25}, + {"matrix": [2, 5], "x": 5.5, "y": 2.25}, + {"matrix": [2, 6], "x": 6.5, "y": 2.25}, + {"matrix": [2, 7], "x": 7.5, "y": 2.25}, + {"matrix": [2, 8], "x": 8.5, "y": 2.25}, + {"matrix": [2, 9], "x": 9.5, "y": 2.25}, + {"matrix": [2, 10], "x": 10.5, "y": 2.25}, + {"matrix": [2, 11], "x": 11.5, "y": 2.25}, + {"matrix": [2, 12], "x": 12.5, "y": 2.25}, + {"matrix": [2, 13], "x": 13.5, "y": 2.25, "w": 1.5}, + + {"matrix": [2, 14], "x": 15.25, "y": 2.25}, + {"matrix": [2, 15], "x": 16.25, "y": 2.25}, + {"matrix": [2, 16], "x": 17.25, "y": 2.25}, + + {"matrix": [3, 0], "x": 0, "y": 3.25, "w": 1.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": 1.75}, + {"matrix": [4, 13], "x": 14, "y": 4.25}, + + {"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} + ] + }, + "LAYOUT_tkl_f13_ansi_tsangan": { + "layout": [ + {"matrix": [0, 0], "x": 0, "y": 0}, + + {"matrix": [0, 1], "x": 1.25, "y": 0}, + {"matrix": [0, 2], "x": 2.25, "y": 0}, + {"matrix": [0, 3], "x": 3.25, "y": 0}, + {"matrix": [0, 4], "x": 4.25, "y": 0}, + + {"matrix": [0, 5], "x": 5.5, "y": 0}, + {"matrix": [0, 6], "x": 6.5, "y": 0}, + {"matrix": [0, 7], "x": 7.5, "y": 0}, + {"matrix": [0, 8], "x": 8.5, "y": 0}, + + {"matrix": [0, 9], "x": 9.75, "y": 0}, + {"matrix": [0, 10], "x": 10.75, "y": 0}, + {"matrix": [0, 11], "x": 11.75, "y": 0}, + {"matrix": [0, 12], "x": 12.75, "y": 0}, + + {"matrix": [0, 13], "x": 14, "y": 0}, + + {"matrix": [0, 14], "x": 15.25, "y": 0}, + {"matrix": [0, 15], "x": 16.25, "y": 0}, + {"matrix": [0, 16], "x": 17.25, "y": 0}, + + {"matrix": [1, 0], "x": 0, "y": 1.25}, + {"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": [2, 13], "x": 13.5, "y": 2.25, "w": 1.5}, + + {"matrix": [2, 14], "x": 15.25, "y": 2.25}, + {"matrix": [2, 15], "x": 16.25, "y": 2.25}, + {"matrix": [2, 16], "x": 17.25, "y": 2.25}, + + {"matrix": [3, 0], "x": 0, "y": 3.25, "w": 1.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, 13], "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.5, "y": 5.25}, + {"matrix": [5, 2], "x": 2.5, "y": 5.25, "w": 1.25}, + {"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} + ] + }, + "LAYOUT_tkl_f13_ansi_tsangan_split_bs_rshift": { + "layout": [ + {"matrix": [0, 0], "x": 0, "y": 0}, + + {"matrix": [0, 1], "x": 1.25, "y": 0}, + {"matrix": [0, 2], "x": 2.25, "y": 0}, + {"matrix": [0, 3], "x": 3.25, "y": 0}, + {"matrix": [0, 4], "x": 4.25, "y": 0}, + + {"matrix": [0, 5], "x": 5.5, "y": 0}, + {"matrix": [0, 6], "x": 6.5, "y": 0}, + {"matrix": [0, 7], "x": 7.5, "y": 0}, + {"matrix": [0, 8], "x": 8.5, "y": 0}, + + {"matrix": [0, 9], "x": 9.75, "y": 0}, + {"matrix": [0, 10], "x": 10.75, "y": 0}, + {"matrix": [0, 11], "x": 11.75, "y": 0}, + {"matrix": [0, 12], "x": 12.75, "y": 0}, + + {"matrix": [0, 13], "x": 14, "y": 0}, + + {"matrix": [0, 14], "x": 15.25, "y": 0}, + {"matrix": [0, 15], "x": 16.25, "y": 0}, + {"matrix": [0, 16], "x": 17.25, "y": 0}, + + {"matrix": [1, 0], "x": 0, "y": 1.25}, + {"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}, + {"matrix": [3, 12], "x": 14, "y": 1.25}, + + {"matrix": [1, 14], "x": 15.25, "y": 1.25}, + {"matrix": [1, 15], "x": 16.25, "y": 1.25}, + {"matrix": [1, 16], "x": 17.25, "y": 1.25}, + + {"matrix": [2, 0], "x": 0, "y": 2.25, "w": 1.5}, + {"matrix": [2, 1], "x": 1.5, "y": 2.25}, + {"matrix": [2, 2], "x": 2.5, "y": 2.25}, + {"matrix": [2, 3], "x": 3.5, "y": 2.25}, + {"matrix": [2, 4], "x": 4.5, "y": 2.25}, + {"matrix": [2, 5], "x": 5.5, "y": 2.25}, + {"matrix": [2, 6], "x": 6.5, "y": 2.25}, + {"matrix": [2, 7], "x": 7.5, "y": 2.25}, + {"matrix": [2, 8], "x": 8.5, "y": 2.25}, + {"matrix": [2, 9], "x": 9.5, "y": 2.25}, + {"matrix": [2, 10], "x": 10.5, "y": 2.25}, + {"matrix": [2, 11], "x": 11.5, "y": 2.25}, + {"matrix": [2, 12], "x": 12.5, "y": 2.25}, + {"matrix": [2, 13], "x": 13.5, "y": 2.25, "w": 1.5}, + + {"matrix": [2, 14], "x": 15.25, "y": 2.25}, + {"matrix": [2, 15], "x": 16.25, "y": 2.25}, + {"matrix": [2, 16], "x": 17.25, "y": 2.25}, + + {"matrix": [3, 0], "x": 0, "y": 3.25, "w": 1.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": 1.75}, + {"matrix": [4, 13], "x": 14, "y": 4.25}, + + {"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.5, "y": 5.25}, + {"matrix": [5, 2], "x": 2.5, "y": 5.25, "w": 1.25}, + {"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} + ] + }, + "LAYOUT_tkl_ansi_wkl": { + "layout": [ + {"matrix": [0, 0], "x": 0, "y": 0}, + + {"matrix": [0, 2], "x": 2, "y": 0}, + {"matrix": [0, 3], "x": 3, "y": 0}, + {"matrix": [0, 4], "x": 4, "y": 0}, + {"matrix": [0, 5], "x": 5, "y": 0}, + + {"matrix": [0, 6], "x": 6.5, "y": 0}, + {"matrix": [0, 7], "x": 7.5, "y": 0}, + {"matrix": [0, 8], "x": 8.5, "y": 0}, + {"matrix": [0, 9], "x": 9.5, "y": 0}, + + {"matrix": [0, 10], "x": 11, "y": 0}, + {"matrix": [0, 11], "x": 12, "y": 0}, + {"matrix": [0, 12], "x": 13, "y": 0}, + {"matrix": [0, 13], "x": 14, "y": 0}, + + {"matrix": [0, 14], "x": 15.25, "y": 0}, + {"matrix": [0, 15], "x": 16.25, "y": 0}, + {"matrix": [0, 16], "x": 17.25, "y": 0}, + + {"matrix": [1, 0], "x": 0, "y": 1.25}, + {"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": [2, 13], "x": 13.5, "y": 2.25, "w": 1.5}, + + {"matrix": [2, 14], "x": 15.25, "y": 2.25}, + {"matrix": [2, 15], "x": 16.25, "y": 2.25}, + {"matrix": [2, 16], "x": 17.25, "y": 2.25}, + + {"matrix": [3, 0], "x": 0, "y": 3.25, "w": 1.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, 13], "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, 2], "x": 2.5, "y": 5.25, "w": 1.25}, + {"matrix": [5, 6], "x": 4, "y": 5.25, "w": 7}, + {"matrix": [5, 11], "x": 11, "y": 5.25, "w": 1.5}, + {"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} + ] + }, + "LAYOUT_tkl_ansi_wkl_split_bs_rshift": { + "layout": [ + {"matrix": [0, 0], "x": 0, "y": 0}, + + {"matrix": [0, 2], "x": 2, "y": 0}, + {"matrix": [0, 3], "x": 3, "y": 0}, + {"matrix": [0, 4], "x": 4, "y": 0}, + {"matrix": [0, 5], "x": 5, "y": 0}, + + {"matrix": [0, 6], "x": 6.5, "y": 0}, + {"matrix": [0, 7], "x": 7.5, "y": 0}, + {"matrix": [0, 8], "x": 8.5, "y": 0}, + {"matrix": [0, 9], "x": 9.5, "y": 0}, + + {"matrix": [0, 10], "x": 11, "y": 0}, + {"matrix": [0, 11], "x": 12, "y": 0}, + {"matrix": [0, 12], "x": 13, "y": 0}, + {"matrix": [0, 13], "x": 14, "y": 0}, + + {"matrix": [0, 14], "x": 15.25, "y": 0}, + {"matrix": [0, 15], "x": 16.25, "y": 0}, + {"matrix": [0, 16], "x": 17.25, "y": 0}, + + {"matrix": [1, 0], "x": 0, "y": 1.25}, + {"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}, + {"matrix": [3, 12], "x": 14, "y": 1.25}, + + {"matrix": [1, 14], "x": 15.25, "y": 1.25}, + {"matrix": [1, 15], "x": 16.25, "y": 1.25}, + {"matrix": [1, 16], "x": 17.25, "y": 1.25}, + + {"matrix": [2, 0], "x": 0, "y": 2.25, "w": 1.5}, + {"matrix": [2, 1], "x": 1.5, "y": 2.25}, + {"matrix": [2, 2], "x": 2.5, "y": 2.25}, + {"matrix": [2, 3], "x": 3.5, "y": 2.25}, + {"matrix": [2, 4], "x": 4.5, "y": 2.25}, + {"matrix": [2, 5], "x": 5.5, "y": 2.25}, + {"matrix": [2, 6], "x": 6.5, "y": 2.25}, + {"matrix": [2, 7], "x": 7.5, "y": 2.25}, + {"matrix": [2, 8], "x": 8.5, "y": 2.25}, + {"matrix": [2, 9], "x": 9.5, "y": 2.25}, + {"matrix": [2, 10], "x": 10.5, "y": 2.25}, + {"matrix": [2, 11], "x": 11.5, "y": 2.25}, + {"matrix": [2, 12], "x": 12.5, "y": 2.25}, + {"matrix": [2, 13], "x": 13.5, "y": 2.25, "w": 1.5}, + + {"matrix": [2, 14], "x": 15.25, "y": 2.25}, + {"matrix": [2, 15], "x": 16.25, "y": 2.25}, + {"matrix": [2, 16], "x": 17.25, "y": 2.25}, + + {"matrix": [3, 0], "x": 0, "y": 3.25, "w": 1.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": 1.75}, + {"matrix": [4, 13], "x": 14, "y": 4.25}, + + {"matrix": [4, 15], "x": 16.25, "y": 4.25}, + + {"matrix": [5, 0], "x": 0, "y": 5.25, "w": 1.25}, + {"matrix": [5, 2], "x": 2.5, "y": 5.25, "w": 1.25}, + {"matrix": [5, 6], "x": 4, "y": 5.25, "w": 7}, + {"matrix": [5, 11], "x": 11, "y": 5.25, "w": 1.5}, + {"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} + ] + }, + "LAYOUT_tkl_f13_ansi_wkl": { + "layout": [ + {"matrix": [0, 0], "x": 0, "y": 0}, + + {"matrix": [0, 1], "x": 1.25, "y": 0}, + {"matrix": [0, 2], "x": 2.25, "y": 0}, + {"matrix": [0, 3], "x": 3.25, "y": 0}, + {"matrix": [0, 4], "x": 4.25, "y": 0}, + + {"matrix": [0, 5], "x": 5.5, "y": 0}, + {"matrix": [0, 6], "x": 6.5, "y": 0}, + {"matrix": [0, 7], "x": 7.5, "y": 0}, + {"matrix": [0, 8], "x": 8.5, "y": 0}, + + {"matrix": [0, 9], "x": 9.75, "y": 0}, + {"matrix": [0, 10], "x": 10.75, "y": 0}, + {"matrix": [0, 11], "x": 11.75, "y": 0}, + {"matrix": [0, 12], "x": 12.75, "y": 0}, + + {"matrix": [0, 13], "x": 14, "y": 0}, + + {"matrix": [0, 14], "x": 15.25, "y": 0}, + {"matrix": [0, 15], "x": 16.25, "y": 0}, + {"matrix": [0, 16], "x": 17.25, "y": 0}, + + {"matrix": [1, 0], "x": 0, "y": 1.25}, + {"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": [2, 13], "x": 13.5, "y": 2.25, "w": 1.5}, + + {"matrix": [2, 14], "x": 15.25, "y": 2.25}, + {"matrix": [2, 15], "x": 16.25, "y": 2.25}, + {"matrix": [2, 16], "x": 17.25, "y": 2.25}, + + {"matrix": [3, 0], "x": 0, "y": 3.25, "w": 1.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, 13], "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, 2], "x": 2.5, "y": 5.25, "w": 1.25}, + {"matrix": [5, 6], "x": 4, "y": 5.25, "w": 7}, + {"matrix": [5, 11], "x": 11, "y": 5.25, "w": 1.5}, + {"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} + ] + }, + "LAYOUT_tkl_f13_ansi_wkl_split_bs_rshift": { + "layout": [ + {"matrix": [0, 0], "x": 0, "y": 0}, + + {"matrix": [0, 1], "x": 1.25, "y": 0}, + {"matrix": [0, 2], "x": 2.25, "y": 0}, + {"matrix": [0, 3], "x": 3.25, "y": 0}, + {"matrix": [0, 4], "x": 4.25, "y": 0}, + + {"matrix": [0, 5], "x": 5.5, "y": 0}, + {"matrix": [0, 6], "x": 6.5, "y": 0}, + {"matrix": [0, 7], "x": 7.5, "y": 0}, + {"matrix": [0, 8], "x": 8.5, "y": 0}, + + {"matrix": [0, 9], "x": 9.75, "y": 0}, + {"matrix": [0, 10], "x": 10.75, "y": 0}, + {"matrix": [0, 11], "x": 11.75, "y": 0}, + {"matrix": [0, 12], "x": 12.75, "y": 0}, + + {"matrix": [0, 13], "x": 14, "y": 0}, + + {"matrix": [0, 14], "x": 15.25, "y": 0}, + {"matrix": [0, 15], "x": 16.25, "y": 0}, + {"matrix": [0, 16], "x": 17.25, "y": 0}, + + {"matrix": [1, 0], "x": 0, "y": 1.25}, + {"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}, + {"matrix": [3, 12], "x": 14, "y": 1.25}, + + {"matrix": [1, 14], "x": 15.25, "y": 1.25}, + {"matrix": [1, 15], "x": 16.25, "y": 1.25}, + {"matrix": [1, 16], "x": 17.25, "y": 1.25}, + + {"matrix": [2, 0], "x": 0, "y": 2.25, "w": 1.5}, + {"matrix": [2, 1], "x": 1.5, "y": 2.25}, + {"matrix": [2, 2], "x": 2.5, "y": 2.25}, + {"matrix": [2, 3], "x": 3.5, "y": 2.25}, + {"matrix": [2, 4], "x": 4.5, "y": 2.25}, + {"matrix": [2, 5], "x": 5.5, "y": 2.25}, + {"matrix": [2, 6], "x": 6.5, "y": 2.25}, + {"matrix": [2, 7], "x": 7.5, "y": 2.25}, + {"matrix": [2, 8], "x": 8.5, "y": 2.25}, + {"matrix": [2, 9], "x": 9.5, "y": 2.25}, + {"matrix": [2, 10], "x": 10.5, "y": 2.25}, + {"matrix": [2, 11], "x": 11.5, "y": 2.25}, + {"matrix": [2, 12], "x": 12.5, "y": 2.25}, + {"matrix": [2, 13], "x": 13.5, "y": 2.25, "w": 1.5}, + + {"matrix": [2, 14], "x": 15.25, "y": 2.25}, + {"matrix": [2, 15], "x": 16.25, "y": 2.25}, + {"matrix": [2, 16], "x": 17.25, "y": 2.25}, + + {"matrix": [3, 0], "x": 0, "y": 3.25, "w": 1.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": 1.75}, + {"matrix": [4, 13], "x": 14, "y": 4.25}, + + {"matrix": [4, 15], "x": 16.25, "y": 4.25}, + + {"matrix": [5, 0], "x": 0, "y": 5.25, "w": 1.25}, + {"matrix": [5, 2], "x": 2.5, "y": 5.25, "w": 1.25}, + {"matrix": [5, 6], "x": 4, "y": 5.25, "w": 7}, + {"matrix": [5, 11], "x": 11, "y": 5.25, "w": 1.5}, + {"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/deemen17/de80/keymaps/default/keymap.c b/keyboards/deemen17/de80/keymaps/default/keymap.c new file mode 100644 index 00000000000..cd354304470 --- /dev/null +++ b/keyboards/deemen17/de80/keymaps/default/keymap.c @@ -0,0 +1,45 @@ +/* Copyright 2024 Deemen17 Works + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ +#include QMK_KEYBOARD_H + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + + [0] = LAYOUT_all( + KC_ESC, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_F13, KC_PSCR, KC_SCRL, KC_PAUS, + KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_DEL, 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_LSFT, KC_LSFT, KC_UP, + KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_LALT, MO(1), KC_LCTL, KC_LEFT, KC_DOWN, KC_RGHT + ), + + [1] = LAYOUT_all( + QK_BOOT, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, RGB_SAI, RGB_HUI, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, RGB_SAD, RGB_HUD, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, RGB_TOG, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, RGB_VAI, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, RGB_RMOD, RGB_VAD, RGB_MOD + ) + +}; + +#if defined(ENCODER_MAP_ENABLE) +const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][NUM_DIRECTIONS] = { + [0] = { ENCODER_CCW_CW(KC_VOLD, KC_VOLU) }, + [1] = { ENCODER_CCW_CW(KC_VOLD, KC_VOLU) }, +}; +#endif diff --git a/keyboards/deemen17/de80/keymaps/default/rules.mk b/keyboards/deemen17/de80/keymaps/default/rules.mk new file mode 100644 index 00000000000..ee325681483 --- /dev/null +++ b/keyboards/deemen17/de80/keymaps/default/rules.mk @@ -0,0 +1 @@ +ENCODER_MAP_ENABLE = yes diff --git a/keyboards/deemen17/de80/mcuconf.h b/keyboards/deemen17/de80/mcuconf.h new file mode 100644 index 00000000000..8b309107b0c --- /dev/null +++ b/keyboards/deemen17/de80/mcuconf.h @@ -0,0 +1,23 @@ +/* Copyright 2022 QMK + * + * 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 + +#include_next + + +#undef STM32_SPI_USE_SPI2 +#define STM32_SPI_USE_SPI2 TRUE diff --git a/keyboards/deemen17/de80/readme.md b/keyboards/deemen17/de80/readme.md new file mode 100644 index 00000000000..c82330d8f22 --- /dev/null +++ b/keyboards/deemen17/de80/readme.md @@ -0,0 +1,27 @@ +# DE80 + +![deemen17/de80](https://i.imgur.com/oZvFM0G.png) + +The DE80 is a portable TKL PCB that features a compact A87 form factor, dual USB Type C ports (breakable), seven JST SH 4P 1.0 ports, two FPC ports, and compatibility with both F12 and F13 footprints, making it suitable for use with a variety of TKL boards. + +* Keyboard Maintainer: [Deemen17](https://github.com/Deemen17) +* Hardware Supported: DE80 R1 2024 PCB w/ STM32F103 MCU +* Hardware Availability: [Deemen17 Facebook Page](https://www.facebook.com/deemen17/), [Deemen17 Works Instagram](https://www.instagram.com/deemen17.works) + +Make example for this keyboard (after setting up your build environment): + + make deemen17/de80:default + +Flashing example for this keyboard: + + make deemen17/de80: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 (ESC/Escape) and plug in the keyboard +* **Physical reset button**: Double tap the button RESET on the back of the PCB +* **Keycode in layout**: Press the key mapped to `QK_BOOT` if it is available From b78118b2dd5267516a80e0fa7460ca491aafef4c Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 30 Sep 2024 20:31:03 +0100 Subject: [PATCH 025/124] Bump JamesIves/github-pages-deploy-action from 4.6.4 to 4.6.8 (#24453) Bumps [JamesIves/github-pages-deploy-action](https://github.com/jamesives/github-pages-deploy-action) from 4.6.4 to 4.6.8. - [Release notes](https://github.com/jamesives/github-pages-deploy-action/releases) - [Commits](https://github.com/jamesives/github-pages-deploy-action/compare/v4.6.4...v4.6.8) --- updated-dependencies: - dependency-name: JamesIves/github-pages-deploy-action dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- .github/workflows/docs.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/docs.yml b/.github/workflows/docs.yml index 338b983d78e..42d377fe4a9 100644 --- a/.github/workflows/docs.yml +++ b/.github/workflows/docs.yml @@ -56,7 +56,7 @@ jobs: - name: Deploy if: ${{ github.event_name == 'push' && github.repository == 'qmk/qmk_firmware' }} - uses: JamesIves/github-pages-deploy-action@v4.6.4 + uses: JamesIves/github-pages-deploy-action@v4.6.8 with: token: ${{ secrets.GITHUB_TOKEN }} branch: gh-pages From 6374bad54060995eb43dc3bf2e6975d787aca53d Mon Sep 17 00:00:00 2001 From: DOIO2022 <116554792+DOIO2022@users.noreply.github.com> Date: Thu, 3 Oct 2024 08:27:36 +0800 Subject: [PATCH 026/124] Add KB09-01 keyboard (#24044) Co-authored-by: jack --- keyboards/doio/kb09/keyboard.json | 123 +++++++++++++++++++ keyboards/doio/kb09/keymaps/default/keymap.c | 58 +++++++++ keyboards/doio/kb09/readme.md | 26 ++++ 3 files changed, 207 insertions(+) create mode 100644 keyboards/doio/kb09/keyboard.json create mode 100644 keyboards/doio/kb09/keymaps/default/keymap.c create mode 100644 keyboards/doio/kb09/readme.md diff --git a/keyboards/doio/kb09/keyboard.json b/keyboards/doio/kb09/keyboard.json new file mode 100644 index 00000000000..e3012f510cb --- /dev/null +++ b/keyboards/doio/kb09/keyboard.json @@ -0,0 +1,123 @@ +{ + "manufacturer": "DOIO", + "keyboard_name": "KB09-01", + "maintainer": "DOIO2022", + "bootloader": "stm32duino", + "diode_direction": "COL2ROW", + "encoder": { + "rotary": [ + {"pin_a": "B5", "pin_b": "B6"}, + {"pin_a": "A1", "pin_b": "A2"} + ] + }, + "features": { + "bootmagic": true, + "command": false, + "console": false, + "encoder": true, + "extrakey": true, + "mousekey": true, + "nkro": true, + "rgb_matrix": true + }, + "matrix_pins": { + "cols": ["B14", "B13", "B12", "B0", "A7"], + "rows": ["B3", "B4", "B9", "B8"] + }, + "processor": "STM32F103", + "rgb_matrix": { + "animations": { + "alphas_mods": true, + "band_pinwheel_sat": true, + "band_pinwheel_val": true, + "band_sat": true, + "band_spiral_sat": true, + "band_spiral_val": true, + "band_val": true, + "breathing": true, + "cycle_all": true, + "cycle_left_right": true, + "cycle_out_in": true, + "cycle_out_in_dual": true, + "cycle_pinwheel": true, + "cycle_spiral": true, + "cycle_up_down": true, + "digital_rain": true, + "dual_beacon": true, + "gradient_left_right": true, + "gradient_up_down": true, + "hue_breathing": true, + "hue_pendulum": true, + "hue_wave": true, + "jellybean_raindrops": true, + "multisplash": true, + "pixel_fractal": true, + "pixel_rain": true, + "rainbow_beacon": true, + "rainbow_moving_chevron": true, + "rainbow_pinwheels": true, + "raindrops": true, + "solid_multisplash": true, + "solid_reactive": true, + "solid_reactive_cross": true, + "solid_reactive_multicross": true, + "solid_reactive_multinexus": true, + "solid_reactive_multiwide": true, + "solid_reactive_nexus": true, + "solid_reactive_simple": true, + "solid_reactive_wide": true, + "solid_splash": true, + "splash": true, + "typing_heatmap": true + }, + "default": { + "animation": "cycle_up_down" + }, + "driver": "ws2812", + "layout": [ + {"matrix": [0, 0], "x": 0, "y": 0, "flags": 4}, + {"matrix": [0, 1], "x": 56, "y": 0, "flags": 4}, + {"matrix": [0, 2], "x": 112, "y": 0, "flags": 4}, + {"matrix": [1, 0], "x": 0, "y": 21, "flags": 4}, + {"matrix": [1, 1], "x": 56, "y": 21, "flags": 4}, + {"matrix": [1, 2], "x": 112, "y": 21, "flags": 4}, + {"matrix": [2, 0], "x": 0, "y": 42, "flags": 4}, + {"matrix": [2, 1], "x": 56, "y": 42, "flags": 4}, + {"matrix": [2, 2], "x": 112, "y": 42, "flags": 4} + ], + "max_brightness": 200, + "sleep": true + }, + "url": "", + "usb": { + "device_version": "0.0.1", + "pid": "0x0901", + "vid": "0xD010" + }, + "ws2812": { + "pin": "A10" + }, + "layouts": { + "LAYOUT": { + "layout": [ + {"matrix": [1, 3], "x": 1, "y": 0}, + {"matrix": [0, 0], "x": 4, "y": 0}, + {"matrix": [0, 1], "x": 5, "y": 0}, + {"matrix": [0, 2], "x": 6, "y": 0}, + {"matrix": [0, 4], "x": 8, "y": 0}, + {"matrix": [1, 4], "x": 9, "y": 0}, + {"matrix": [0, 3], "x": 0, "y": 1}, + {"matrix": [2, 3], "x": 2, "y": 1}, + {"matrix": [1, 0], "x": 4, "y": 1}, + {"matrix": [1, 1], "x": 5, "y": 1}, + {"matrix": [1, 2], "x": 6, "y": 1}, + {"matrix": [3, 0], "x": 1, "y": 2}, + {"matrix": [2, 0], "x": 4, "y": 2}, + {"matrix": [2, 1], "x": 5, "y": 2}, + {"matrix": [2, 2], "x": 6, "y": 2}, + {"matrix": [3, 1], "x": 3, "y": 3}, + {"matrix": [3, 2], "x": 3, "y": 3} + ] + } + } +} \ No newline at end of file diff --git a/keyboards/doio/kb09/keymaps/default/keymap.c b/keyboards/doio/kb09/keymaps/default/keymap.c new file mode 100644 index 00000000000..657a6bc428f --- /dev/null +++ b/keyboards/doio/kb09/keymaps/default/keymap.c @@ -0,0 +1,58 @@ +/* Copyright 2022 DOIO + * Copyright 2022 DOIO2022 + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + + +#include QMK_KEYBOARD_H + +enum layer_names { + _LAY0, + _LAY1, + _LAY2, + _LAY3 +}; + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + [_LAY0] = LAYOUT( + KC_UP, KC_1, KC_2, KC_3, KC_MPLY, KC_MUTE, + KC_LEFT, KC_RIGHT, KC_4, KC_5, KC_6, + KC_DOWN, KC_7, KC_8, KC_9, + TO(1), LWIN(KC_D)), + [_LAY1] = LAYOUT( + KC_TRNS, C(S(KC_S)), C(KC_H), C(KC_G), KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, C(S(KC_A)), C(KC_J), C(S(KC_G)), + KC_TRNS, C(KC_Z), KC_DEL, C(A(S(KC_E))), + TO(2), KC_TRNS), + [_LAY2] = LAYOUT( + KC_TRNS, S(KC_I), A(KC_EQL), C(S(KC_M)), KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, S(KC_O), A(KC_MINS), S(KC_M), + KC_TRNS, KC_C, KC_V, C(KC_M), + TO(3), KC_TRNS), + [_LAY3] = LAYOUT( + KC_TRNS, RGB_SPI, RGB_SPD, RGB_HUI, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, RGB_SAI, RGB_SAD, RGB_HUD, + KC_TRNS, RGB_MOD, RGB_VAI, RGB_VAD, + TO(0), KC_TRNS) +}; + +#ifdef ENCODER_MAP_ENABLE +const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][NUM_DIRECTIONS] = { + [_LAY0] = { ENCODER_CCW_CW(KC_MPRV, KC_MNXT), ENCODER_CCW_CW(KC_VOLD, KC_VOLU) }, + [_LAY1] = { ENCODER_CCW_CW(KC_TRNS, KC_TRNS), ENCODER_CCW_CW(KC_TRNS, KC_TRNS) }, + [_LAY2] = { ENCODER_CCW_CW(KC_TRNS, KC_TRNS), ENCODER_CCW_CW(KC_TRNS, KC_TRNS) }, + [_LAY3] = { ENCODER_CCW_CW(KC_TRNS, KC_TRNS), ENCODER_CCW_CW(KC_TRNS, KC_TRNS) }, +}; +#endif diff --git a/keyboards/doio/kb09/readme.md b/keyboards/doio/kb09/readme.md new file mode 100644 index 00000000000..a7b23dc58da --- /dev/null +++ b/keyboards/doio/kb09/readme.md @@ -0,0 +1,26 @@ +# doio/kb09 + +![kb09-01](https://i.imgur.com/MVKeweC.png) + +QMK for DOIO GBA keypad . + +* Keyboard Maintainer: DOIO2022 +* Hardware Supported: DOIO GBA keypad + +Make example for this keyboard (after setting up your build environment): + + make doio/kb09:default + +Flashing example for this keyboard: + + make doio/kb09: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 +* **Keycode in layout**: Press the key mapped to `QK_BOOT` if it is available From 6a73c8299b53426295e6af9c30a51a1823b872c1 Mon Sep 17 00:00:00 2001 From: anubhav dhiman <104914147+anubhavd7@users.noreply.github.com> Date: Wed, 2 Oct 2024 17:28:41 -0700 Subject: [PATCH 027/124] Add atset AT2 keyboard (#24099) Co-authored-by: Ryan Co-authored-by: jack Co-authored-by: Joel Challis Co-authored-by: zvecr --- keyboards/atset/at2/keyboard.json | 32 ++++++++++++++++++++ keyboards/atset/at2/keymaps/default/keymap.c | 10 ++++++ keyboards/atset/at2/readme.md | 24 +++++++++++++++ 3 files changed, 66 insertions(+) create mode 100644 keyboards/atset/at2/keyboard.json create mode 100644 keyboards/atset/at2/keymaps/default/keymap.c create mode 100644 keyboards/atset/at2/readme.md diff --git a/keyboards/atset/at2/keyboard.json b/keyboards/atset/at2/keyboard.json new file mode 100644 index 00000000000..d612505c900 --- /dev/null +++ b/keyboards/atset/at2/keyboard.json @@ -0,0 +1,32 @@ +{ + "manufacturer": "Atset", + "keyboard_name": "AT2", + "maintainer": "qmk", + "board": "GENERIC_RP_RP2040", + "processor": "RP2040", + "bootloader": "rp2040", + "diode_direction": "COL2ROW", + "usb": { + "vid": "0x4141", + "pid": "0x6174", + "device_version": "1.0.0" + }, + "features": { + "bootmagic": true, + "extrakey": true, + "mousekey": true, + "nkro": true + }, + "matrix_pins": { + "cols": ["GP19", "GP20"], + "rows": ["GP28"] + }, + "layouts": { + "LAYOUT": { + "layout": [ + {"matrix": [0, 0], "x": 0, "y": 0}, + {"matrix": [0, 1], "x": 1, "y": 0} + ] + } + } +} diff --git a/keyboards/atset/at2/keymaps/default/keymap.c b/keyboards/atset/at2/keymaps/default/keymap.c new file mode 100644 index 00000000000..bdecf93a57a --- /dev/null +++ b/keyboards/atset/at2/keymaps/default/keymap.c @@ -0,0 +1,10 @@ +/* SPDX-License-Identifier: GPL-2.0-or-later */ + +#include QMK_KEYBOARD_H + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + [0] = LAYOUT( + KC_MUTE, KC_MPLY + ) +}; + diff --git a/keyboards/atset/at2/readme.md b/keyboards/atset/at2/readme.md new file mode 100644 index 00000000000..0bc777b052e --- /dev/null +++ b/keyboards/atset/at2/readme.md @@ -0,0 +1,24 @@ +# ATSET AT2 + +A special 2 key keyboard powered by QMK. + +* Keyboard Maintainer: [ATSET](https://github.com/anubhavd7) +* Hardware Supported: ATSET AT2 (https://imgur.com/a/yBbVwef) +https://www.atsetmediscience.com/atset-at2-9949007.html +Make example for this keyboard (after setting up your build environment): + + make atset/at2:default + +Flashing example for this keyboard: + + make atset/at2: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 e12c1fefdfedbf772d10377c85e2c3caffbdb644 Mon Sep 17 00:00:00 2001 From: yiancar Date: Sat, 5 Oct 2024 10:16:25 -0600 Subject: [PATCH 028/124] NK Classic TKL ISO (#24434) * initial_commit * fix keymap * Update keyboards/novelkeys/nk_classic_tkl_iso/keyboard.json Co-authored-by: Duncan Sutherland --------- Co-authored-by: Duncan Sutherland --- .../novelkeys/nk_classic_tkl_iso/config.h | 25 ++ .../novelkeys/nk_classic_tkl_iso/halconf.h | 21 ++ .../nk_classic_tkl_iso/keyboard.json | 270 ++++++++++++++++++ .../keymaps/default/keymap.c | 69 +++++ .../novelkeys/nk_classic_tkl_iso/mcuconf.h | 22 ++ .../novelkeys/nk_classic_tkl_iso/readme.md | 32 +++ .../novelkeys/nk_classic_tkl_iso/rules.mk | 2 + 7 files changed, 441 insertions(+) create mode 100644 keyboards/novelkeys/nk_classic_tkl_iso/config.h create mode 100644 keyboards/novelkeys/nk_classic_tkl_iso/halconf.h create mode 100755 keyboards/novelkeys/nk_classic_tkl_iso/keyboard.json create mode 100644 keyboards/novelkeys/nk_classic_tkl_iso/keymaps/default/keymap.c create mode 100644 keyboards/novelkeys/nk_classic_tkl_iso/mcuconf.h create mode 100644 keyboards/novelkeys/nk_classic_tkl_iso/readme.md create mode 100644 keyboards/novelkeys/nk_classic_tkl_iso/rules.mk diff --git a/keyboards/novelkeys/nk_classic_tkl_iso/config.h b/keyboards/novelkeys/nk_classic_tkl_iso/config.h new file mode 100644 index 00000000000..62744a2589b --- /dev/null +++ b/keyboards/novelkeys/nk_classic_tkl_iso/config.h @@ -0,0 +1,25 @@ +/* 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 . + */ + +#pragma once + +/* RGB options */ + +#define WS2812_PWM_DRIVER PWMD3 +#define WS2812_PWM_CHANNEL 3 +#define WS2812_PWM_PAL_MODE 1 +#define WS2812_DMA_STREAM STM32_DMA1_STREAM3 +#define WS2812_DMA_CHANNEL 3 diff --git a/keyboards/novelkeys/nk_classic_tkl_iso/halconf.h b/keyboards/novelkeys/nk_classic_tkl_iso/halconf.h new file mode 100644 index 00000000000..c7f5bab5c85 --- /dev/null +++ b/keyboards/novelkeys/nk_classic_tkl_iso/halconf.h @@ -0,0 +1,21 @@ +/* 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 . + */ + +#pragma once + +#define HAL_USE_PWM TRUE + +#include_next diff --git a/keyboards/novelkeys/nk_classic_tkl_iso/keyboard.json b/keyboards/novelkeys/nk_classic_tkl_iso/keyboard.json new file mode 100755 index 00000000000..12085cbacc1 --- /dev/null +++ b/keyboards/novelkeys/nk_classic_tkl_iso/keyboard.json @@ -0,0 +1,270 @@ +{ + "manufacturer": "Yiancar-Designs", + "keyboard_name": "NK_ Classic TKL ISO", + "maintainer": "Yiancar", + "bootloader": "stm32-dfu", + "diode_direction": "COL2ROW", + "features": { + "bootmagic": true, + "command": false, + "console": false, + "extrakey": true, + "mousekey": true, + "nkro": true, + "rgb_matrix": 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", + "rgb_matrix": { + "animations": { + "alphas_mods": true, + "band_pinwheel_sat": true, + "band_pinwheel_val": true, + "band_sat": true, + "band_spiral_sat": true, + "band_spiral_val": true, + "band_val": true, + "breathing": true, + "cycle_all": true, + "cycle_left_right": true, + "cycle_out_in": true, + "cycle_out_in_dual": true, + "cycle_pinwheel": true, + "cycle_spiral": true, + "cycle_up_down": true, + "digital_rain": true, + "dual_beacon": true, + "gradient_left_right": true, + "gradient_up_down": true, + "hue_breathing": true, + "hue_pendulum": true, + "hue_wave": true, + "jellybean_raindrops": true, + "multisplash": true, + "pixel_flow": true, + "pixel_fractal": true, + "pixel_rain": true, + "rainbow_beacon": true, + "rainbow_moving_chevron": true, + "rainbow_pinwheels": true, + "raindrops": true, + "solid_multisplash": true, + "solid_reactive": true, + "solid_reactive_cross": true, + "solid_reactive_multicross": true, + "solid_reactive_multinexus": true, + "solid_reactive_multiwide": true, + "solid_reactive_nexus": true, + "solid_reactive_simple": true, + "solid_reactive_wide": true, + "solid_splash": true, + "splash": true, + "typing_heatmap": true + }, + "driver": "ws2812", + "layout": [ + {"matrix": [0, 0], "x": 0, "y": 0, "flags": 1}, + {"matrix": [0, 1], "x": 26, "y": 0, "flags": 4}, + {"matrix": [0, 2], "x": 38, "y": 0, "flags": 4}, + {"matrix": [0, 3], "x": 51, "y": 0, "flags": 4}, + {"matrix": [0, 4], "x": 64, "y": 0, "flags": 4}, + {"matrix": [0, 5], "x": 83, "y": 0, "flags": 1}, + {"matrix": [0, 6], "x": 96, "y": 0, "flags": 1}, + {"matrix": [0, 7], "x": 109, "y": 0, "flags": 1}, + {"matrix": [0, 8], "x": 122, "y": 0, "flags": 1}, + {"matrix": [0, 9], "x": 141, "y": 0, "flags": 4}, + {"matrix": [0, 10], "x": 154, "y": 0, "flags": 4}, + {"matrix": [0, 11], "x": 166, "y": 0, "flags": 4}, + {"matrix": [0, 12], "x": 179, "y": 0, "flags": 4}, + {"matrix": [0, 14], "x": 195, "y": 0, "flags": 1}, + {"matrix": [0, 15], "x": 208, "y": 0, "flags": 1}, + {"matrix": [0, 16], "x": 221, "y": 0, "flags": 1}, + {"matrix": [1, 16], "x": 221, "y": 15, "flags": 1}, + {"matrix": [1, 15], "x": 208, "y": 15, "flags": 1}, + {"matrix": [1, 14], "x": 195, "y": 15, "flags": 1}, + {"matrix": [1, 13], "x": 173, "y": 15, "flags": 1}, + {"matrix": [1, 12], "x": 154, "y": 15, "flags": 4}, + {"matrix": [1, 11], "x": 141, "y": 15, "flags": 4}, + {"matrix": [1, 10], "x": 128, "y": 15, "flags": 4}, + {"matrix": [1, 9], "x": 115, "y": 15, "flags": 4}, + {"matrix": [1, 8], "x": 102, "y": 15, "flags": 4}, + {"matrix": [1, 7], "x": 90, "y": 15, "flags": 4}, + {"matrix": [1, 6], "x": 77, "y": 15, "flags": 4}, + {"matrix": [1, 5], "x": 64, "y": 15, "flags": 4}, + {"matrix": [1, 4], "x": 51, "y": 15, "flags": 4}, + {"matrix": [1, 3], "x": 38, "y": 15, "flags": 4}, + {"matrix": [1, 2], "x": 26, "y": 15, "flags": 4}, + {"matrix": [1, 1], "x": 13, "y": 15, "flags": 4}, + {"matrix": [1, 0], "x": 0, "y": 15, "flags": 4}, + {"matrix": [2, 0], "x": 3, "y": 27, "flags": 1}, + {"matrix": [2, 1], "x": 19, "y": 27, "flags": 4}, + {"matrix": [2, 2], "x": 32, "y": 27, "flags": 4}, + {"matrix": [2, 3], "x": 45, "y": 27, "flags": 4}, + {"matrix": [2, 4], "x": 58, "y": 27, "flags": 4}, + {"matrix": [2, 5], "x": 70, "y": 27, "flags": 4}, + {"matrix": [2, 6], "x": 83, "y": 27, "flags": 4}, + {"matrix": [2, 7], "x": 96, "y": 27, "flags": 4}, + {"matrix": [2, 8], "x": 109, "y": 27, "flags": 4}, + {"matrix": [2, 9], "x": 122, "y": 27, "flags": 4}, + {"matrix": [2, 10], "x": 134, "y": 27, "flags": 4}, + {"matrix": [2, 11], "x": 147, "y": 27, "flags": 4}, + {"matrix": [2, 12], "x": 160, "y": 27, "flags": 4}, + {"matrix": [3, 13], "x": 178, "y": 21, "flags": 1}, + {"matrix": [2, 14], "x": 195, "y": 27, "flags": 1}, + {"matrix": [2, 15], "x": 208, "y": 27, "flags": 1}, + {"matrix": [2, 16], "x": 221, "y": 27, "flags": 1}, + {"x": 224, "y": 34, "flags": 9}, + {"x": 218, "y": 34, "flags": 9}, + {"x": 211, "y": 34, "flags": 9}, + {"x": 205, "y": 34, "flags": 9}, + {"x": 198, "y": 34, "flags": 9}, + {"x": 192, "y": 34, "flags": 9}, + {"matrix": [3, 12], "x": 163, "y": 40, "flags": 4}, + {"matrix": [3, 11], "x": 150, "y": 40, "flags": 4}, + {"matrix": [3, 10], "x": 138, "y": 40, "flags": 4}, + {"matrix": [3, 9], "x": 125, "y": 40, "flags": 4}, + {"matrix": [3, 8], "x": 112, "y": 40, "flags": 4}, + {"matrix": [3, 7], "x": 99, "y": 40, "flags": 4}, + {"matrix": [3, 6], "x": 86, "y": 40, "flags": 4}, + {"matrix": [3, 5], "x": 74, "y": 40, "flags": 4}, + {"matrix": [3, 4], "x": 61, "y": 40, "flags": 4}, + {"matrix": [3, 3], "x": 48, "y": 40, "flags": 4}, + {"matrix": [3, 2], "x": 35, "y": 40, "flags": 4}, + {"matrix": [3, 1], "x": 22, "y": 40, "flags": 4}, + {"matrix": [3, 0], "x": 5, "y": 40, "flags": 1}, + {"matrix": [4, 0], "x": 1, "y": 52, "flags": 1}, + {"matrix": [4, 1], "x": 16, "y": 52, "flags": 4}, + {"matrix": [4, 2], "x": 29, "y": 52, "flags": 4}, + {"matrix": [4, 3], "x": 42, "y": 52, "flags": 4}, + {"matrix": [4, 4], "x": 54, "y": 52, "flags": 4}, + {"matrix": [4, 5], "x": 67, "y": 52, "flags": 4}, + {"matrix": [4, 6], "x": 80, "y": 52, "flags": 4}, + {"matrix": [4, 7], "x": 93, "y": 52, "flags": 4}, + {"matrix": [4, 8], "x": 106, "y": 52, "flags": 4}, + {"matrix": [4, 9], "x": 118, "y": 52, "flags": 4}, + {"matrix": [4, 10], "x": 131, "y": 52, "flags": 4}, + {"matrix": [4, 11], "x": 144, "y": 52, "flags": 4}, + {"matrix": [4, 12], "x": 168, "y": 52, "flags": 1}, + {"matrix": [4, 15], "x": 208, "y": 52, "flags": 1}, + {"matrix": [5, 16], "x": 221, "y": 64, "flags": 1}, + {"matrix": [5, 15], "x": 208, "y": 64, "flags": 1}, + {"matrix": [5, 14], "x": 195, "y": 64, "flags": 1}, + {"matrix": [5, 13], "x": 176, "y": 64, "flags": 1}, + {"matrix": [5, 12], "x": 160, "y": 64, "flags": 1}, + {"matrix": [5, 11], "x": 144, "y": 64, "flags": 1}, + {"matrix": [5, 6], "x": 90, "y": 64, "flags": 4}, + {"matrix": [5, 2], "x": 35, "y": 64, "flags": 1}, + {"matrix": [5, 1], "x": 19, "y": 64, "flags": 1}, + {"matrix": [5, 0], "x": 3, "y": 64, "flags": 1} + ], + "max_brightness": 120, + "sleep": true + }, + "url": "www.yiancar-designs.com", + "usb": { + "device_version": "0.0.1", + "pid": "0x4E55", + "vid": "0x8968" + }, + "ws2812": { + "driver": "pwm", + "pin": "B0" + }, + "community_layouts": ["tkl_iso_tsangan"], + "layouts": { + "LAYOUT_tkl_iso_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": [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, 12], "x": 12.75, "y": 3.25}, + {"matrix": [3, 13], "x": 13.75, "y": 2.25, "w": 1.25, "h": 2}, + {"matrix": [4, 0], "x": 0, "y": 4.25, "w": 1.25}, + {"matrix": [4, 1], "x": 1.25, "y": 4.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/novelkeys/nk_classic_tkl_iso/keymaps/default/keymap.c b/keyboards/novelkeys/nk_classic_tkl_iso/keymaps/default/keymap.c new file mode 100644 index 00000000000..5af062e0b03 --- /dev/null +++ b/keyboards/novelkeys/nk_classic_tkl_iso/keymaps/default/keymap.c @@ -0,0 +1,69 @@ +/* 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 + +enum my_keycodes { + RETRO_RGB = QK_USER_0 +}; + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { +[0] = LAYOUT_tkl_iso_tsangan( /* 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_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_NUHS, 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_UP, + KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, MO(1), KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT), + +[1] = LAYOUT_tkl_iso_tsangan( /* FN */ + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_VOLU, KC_VOLD, KC_MUTE, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, RGB_TOG, RGB_MOD, RGB_HUD, RGB_HUI, RGB_SAD, RGB_SAI, RGB_VAD, RGB_VAI, RGB_SPD, RGB_SPI, _______, _______, + _______, _______, _______, RETRO_RGB, _______, _______, _______, _______, _______, _______), + +}; + +bool rgb_matrix_indicators_advanced_user(uint8_t led_min, uint8_t led_max) { + if (host_keyboard_led_state().caps_lock) { + for (uint8_t i = 50; i <= 55; i++) { + rgb_matrix_set_color(i, 255, 86, 0); + } + } + return false; +} + +bool process_record_user(uint16_t keycode, keyrecord_t *record) { + switch (keycode) { + case RETRO_RGB: + if (record->event.pressed) { + switch (rgb_matrix_get_flags()) { + case LED_FLAG_ALL: { + rgb_matrix_set_flags(LED_FLAG_INDICATOR); + } + break; + default: { + rgb_matrix_set_flags(LED_FLAG_ALL); + } + break; + } + } + return false; // Skip all further processing of this key + default: + return true; // Process all other keycodes normally + } +} diff --git a/keyboards/novelkeys/nk_classic_tkl_iso/mcuconf.h b/keyboards/novelkeys/nk_classic_tkl_iso/mcuconf.h new file mode 100644 index 00000000000..ec984442ed0 --- /dev/null +++ b/keyboards/novelkeys/nk_classic_tkl_iso/mcuconf.h @@ -0,0 +1,22 @@ +/* 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 . + */ + +#pragma once + +#include_next + +#undef STM32_PWM_USE_TIM3 +#define STM32_PWM_USE_TIM3 TRUE diff --git a/keyboards/novelkeys/nk_classic_tkl_iso/readme.md b/keyboards/novelkeys/nk_classic_tkl_iso/readme.md new file mode 100644 index 00000000000..d748f2476a4 --- /dev/null +++ b/keyboards/novelkeys/nk_classic_tkl_iso/readme.md @@ -0,0 +1,32 @@ +# NK Classic TKL + +This is a TKL ISO PCB. It supports VIA and full per-key RGB. + +* 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://novelkeys.com/ + +## Instructions + +### Build + +Make example for this keyboard (after setting up your build environment): + + make novelkeys/nk_classic_tkl_iso: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 novelkeys/nk_classic_tkl_iso::dfu-util`) diff --git a/keyboards/novelkeys/nk_classic_tkl_iso/rules.mk b/keyboards/novelkeys/nk_classic_tkl_iso/rules.mk new file mode 100644 index 00000000000..0ab54aaaf71 --- /dev/null +++ b/keyboards/novelkeys/nk_classic_tkl_iso/rules.mk @@ -0,0 +1,2 @@ +# Wildcard to allow APM32 MCU +DFU_SUFFIX_ARGS = -v FFFF -p FFFF From 43e82ed5c72b7386ca91d1bd363ee092f77c1b9a Mon Sep 17 00:00:00 2001 From: Dasky <32983009+daskygit@users.noreply.github.com> Date: Sun, 6 Oct 2024 08:41:55 +0100 Subject: [PATCH 029/124] Remove binary blobs from optical sensors. (#24428) * remove pmw srom * remove adns9800 srom * Update drivers/sensors/pmw33xx_common.c --- drivers/sensors/adns9800.c | 73 ++++---- drivers/sensors/adns9800_srom_A6.h | 202 -------------------- drivers/sensors/pmw3360.c | 263 +------------------------- drivers/sensors/pmw3389.c | 284 +---------------------------- drivers/sensors/pmw3389.h | 2 - drivers/sensors/pmw33xx_common.c | 32 ++-- 6 files changed, 64 insertions(+), 792 deletions(-) delete mode 100644 drivers/sensors/adns9800_srom_A6.h diff --git a/drivers/sensors/adns9800.c b/drivers/sensors/adns9800.c index d5e2ca625a6..f4abdb50874 100644 --- a/drivers/sensors/adns9800.c +++ b/drivers/sensors/adns9800.c @@ -15,7 +15,6 @@ */ #include "spi_master.h" -#include "adns9800_srom_A6.h" #include "adns9800.h" #include "wait.h" @@ -78,6 +77,14 @@ #define MSB1 0x80 // clang-format on +uint16_t __attribute__((weak)) adns9800_srom_get_length(void) { + return 0; +} + +uint8_t __attribute__((weak)) adns9800_srom_get_byte(uint16_t position) { + return 0; +} + void adns9800_spi_start(void) { spi_start(ADNS9800_CS_PIN, false, ADNS9800_SPI_MODE, ADNS9800_SPI_DIVISOR); } @@ -117,48 +124,48 @@ void adns9800_init(void) { adns9800_read(REG_Delta_Y_L); adns9800_read(REG_Delta_Y_H); -#ifdef ADNS9800_UPLOAD_SROM - // upload firmware + if (adns9800_srom_get_length() != 0) { + // upload firmware - // 3k firmware mode - adns9800_write(REG_Configuration_IV, 0x02); + // 3k firmware mode + adns9800_write(REG_Configuration_IV, 0x02); - // enable initialisation - adns9800_write(REG_SROM_Enable, 0x1d); + // enable initialisation + adns9800_write(REG_SROM_Enable, 0x1d); - // wait a frame - wait_ms(10); + // wait a frame + wait_ms(10); - // start SROM download - adns9800_write(REG_SROM_Enable, 0x18); + // start SROM download + adns9800_write(REG_SROM_Enable, 0x18); - // write the SROM file + // write the SROM file - adns9800_spi_start(); + adns9800_spi_start(); - spi_write(REG_SROM_Load_Burst | 0x80); - wait_us(15); - - // send all bytes of the firmware - for (uint16_t i = 0; i < FIRMWARE_LENGTH; i++) { - spi_write(pgm_read_byte(firmware_data + i)); + spi_write(REG_SROM_Load_Burst | 0x80); wait_us(15); + + // send all bytes of the firmware + for (uint16_t i = 0; i < adns9800_srom_get_length(); i++) { + spi_write(adns9800_srom_get_byte(i)); + wait_us(15); + } + + spi_stop(); + + wait_ms(10); + } else { + // write reset value to REG_Configuration_IV + adns9800_write(REG_Configuration_IV, 0x0); + + // write reset value to REG_SROM_Enable + adns9800_write(REG_SROM_Enable, 0x0); + + // wait a frame + wait_ms(10); } - spi_stop(); - - wait_ms(10); -#else - // write reset value to REG_Configuration_IV - adns9800_write(REG_Configuration_IV, 0x0); - - // write reset value to REG_SROM_Enable - adns9800_write(REG_SROM_Enable, 0x0); - - // wait a frame - wait_ms(10); -#endif - // enable laser uint8_t laser_ctrl0 = adns9800_read(REG_LASER_CTRL0); adns9800_write(REG_LASER_CTRL0, laser_ctrl0 & 0xf0); diff --git a/drivers/sensors/adns9800_srom_A6.h b/drivers/sensors/adns9800_srom_A6.h deleted file mode 100644 index e698a401b94..00000000000 --- a/drivers/sensors/adns9800_srom_A6.h +++ /dev/null @@ -1,202 +0,0 @@ -#pragma once - -#include "progmem.h" - -#define FIRMWARE_LENGTH 3070 - -// clang-format off - -const uint8_t firmware_data[FIRMWARE_LENGTH] PROGMEM = { - 0x03, 0xA6, 0x68, 0x1E, 0x7D, 0x10, 0x7E, 0x7E, 0x5F, 0x1C, 0xB8, 0xF2, 0x47, 0x0C, 0x7B, 0x74, - 0x4B, 0x14, 0x8B, 0x75, 0x66, 0x51, 0x0B, 0x8C, 0x76, 0x74, 0x4B, 0x14, 0xAA, 0xD6, 0x0F, 0x9C, - 0xBA, 0xF6, 0x6E, 0x3F, 0xDD, 0x38, 0xD5, 0x02, 0x80, 0x9B, 0x82, 0x6D, 0x58, 0x13, 0xA4, 0xAB, - 0xB5, 0xC9, 0x10, 0xA2, 0xC6, 0x0A, 0x7F, 0x5D, 0x19, 0x91, 0xA0, 0xA3, 0xCE, 0xEB, 0x3E, 0xC9, - 0xF1, 0x60, 0x42, 0xE7, 0x4C, 0xFB, 0x74, 0x6A, 0x56, 0x2E, 0xBF, 0xDD, 0x38, 0xD3, 0x05, 0x88, - 0x92, 0xA6, 0xCE, 0xFF, 0x5D, 0x38, 0xD1, 0xCF, 0xEF, 0x58, 0xCB, 0x65, 0x48, 0xF0, 0x35, 0x85, - 0xA9, 0xB2, 0x8F, 0x5E, 0xF3, 0x80, 0x94, 0x97, 0x7E, 0x75, 0x97, 0x87, 0x73, 0x13, 0xB0, 0x8A, - 0x69, 0xD4, 0x0A, 0xDE, 0xC1, 0x79, 0x59, 0x36, 0xDB, 0x9D, 0xD6, 0xB8, 0x15, 0x6F, 0xCE, 0x3C, - 0x72, 0x32, 0x45, 0x88, 0xDF, 0x6C, 0xA5, 0x6D, 0xE8, 0x76, 0x96, 0x14, 0x74, 0x20, 0xDC, 0xF4, - 0xFA, 0x37, 0x6A, 0x27, 0x32, 0xE3, 0x29, 0xBF, 0xC4, 0xC7, 0x06, 0x9D, 0x58, 0xE7, 0x87, 0x7C, - 0x2E, 0x9F, 0x6E, 0x49, 0x07, 0x5D, 0x23, 0x64, 0x54, 0x83, 0x6E, 0xCB, 0xB7, 0x77, 0xF7, 0x2B, - 0x6E, 0x0F, 0x2E, 0x66, 0x12, 0x60, 0x55, 0x65, 0xFC, 0x43, 0xB3, 0x58, 0x73, 0x5B, 0xE8, 0x67, - 0x04, 0x43, 0x02, 0xDE, 0xB3, 0x89, 0xA0, 0x6D, 0x3A, 0x27, 0x79, 0x64, 0x5B, 0x0C, 0x16, 0x9E, - 0x66, 0xB1, 0x8B, 0x87, 0x0C, 0x5D, 0xF2, 0xB6, 0x3D, 0x71, 0xDF, 0x42, 0x03, 0x8A, 0x06, 0x8D, - 0xEF, 0x1D, 0xA8, 0x96, 0x5C, 0xED, 0x31, 0x61, 0x5C, 0xA1, 0x34, 0xF6, 0x8C, 0x08, 0x60, 0x33, - 0x07, 0x00, 0x3E, 0x79, 0x95, 0x1B, 0x43, 0x7F, 0xFE, 0xB6, 0xA6, 0xD4, 0x9D, 0x76, 0x72, 0xBF, - 0xAD, 0xC0, 0x15, 0xE8, 0x37, 0x31, 0xA3, 0x72, 0x63, 0x52, 0x1D, 0x1C, 0x5D, 0x51, 0x1B, 0xE1, - 0xA9, 0xED, 0x60, 0x32, 0x3E, 0xA9, 0x50, 0x28, 0x53, 0x06, 0x59, 0xE2, 0xFC, 0xE7, 0x02, 0x64, - 0x39, 0x21, 0x56, 0x4A, 0xA5, 0x40, 0x80, 0x81, 0xD5, 0x5A, 0x60, 0x7B, 0x68, 0x84, 0xF1, 0xE0, - 0xB1, 0xB6, 0x5B, 0xDF, 0xA8, 0x1D, 0x6D, 0x65, 0x20, 0xC0, 0xA2, 0xB9, 0xD9, 0xBB, 0x00, 0xA6, - 0xDB, 0x8B, 0x01, 0x53, 0x91, 0xFE, 0xC4, 0x51, 0x85, 0xB0, 0x96, 0x7F, 0xFD, 0x51, 0xDD, 0x14, - 0x03, 0x67, 0x2E, 0x75, 0x1C, 0x76, 0xD3, 0x6E, 0xDD, 0x99, 0x55, 0x76, 0xE5, 0xAB, 0x23, 0xFC, - 0x4A, 0xD5, 0xC6, 0xE8, 0x2E, 0xCA, 0x8A, 0xB3, 0xF6, 0x8C, 0x6C, 0xB0, 0xE9, 0xF2, 0xE7, 0x9E, - 0x69, 0x41, 0xED, 0xF1, 0x6D, 0xD2, 0x86, 0xD8, 0x7E, 0xCB, 0x5D, 0x47, 0x6C, 0x85, 0x6A, 0x23, - 0xED, 0x20, 0x40, 0x93, 0xB4, 0x20, 0xC7, 0xA5, 0xC9, 0xAF, 0x03, 0x15, 0xAC, 0x19, 0xE5, 0x2A, - 0x36, 0xDF, 0x6D, 0xC5, 0x8C, 0x80, 0x07, 0xCE, 0x92, 0x0C, 0xD8, 0x06, 0x62, 0x0F, 0xDD, 0x48, - 0x46, 0x1A, 0x53, 0xC7, 0x8A, 0x8C, 0x5D, 0x5D, 0xB4, 0xA1, 0x02, 0xD3, 0xA9, 0xB8, 0xF3, 0x94, - 0x8F, 0x3F, 0xE5, 0x54, 0xD4, 0x11, 0x65, 0xB2, 0x5E, 0x09, 0x0B, 0x81, 0xE3, 0x75, 0xA7, 0x89, - 0x81, 0x39, 0x6C, 0x46, 0xF6, 0x06, 0x9F, 0x27, 0x3B, 0xB6, 0x2D, 0x5F, 0x1D, 0x4B, 0xD4, 0x7B, - 0x1D, 0x61, 0x74, 0x89, 0xE4, 0xE3, 0xBD, 0x98, 0x1B, 0xC4, 0x51, 0x3B, 0xA4, 0xFA, 0xE0, 0x92, - 0xF7, 0xBE, 0xF2, 0x4D, 0xBB, 0xFF, 0xAD, 0x4F, 0x6D, 0x68, 0xC2, 0x79, 0x40, 0xAA, 0x9B, 0x8F, - 0x0C, 0x32, 0x4B, 0x5F, 0x3E, 0xAB, 0x59, 0x98, 0xB3, 0xF5, 0x1D, 0xAC, 0x5E, 0xBC, 0x78, 0xD3, - 0x01, 0x6C, 0x64, 0x15, 0x2F, 0xD8, 0x71, 0xA6, 0x2D, 0x45, 0xE1, 0x22, 0x42, 0xE4, 0x4E, 0x04, - 0x3C, 0x7D, 0xF4, 0x40, 0x21, 0xB4, 0x67, 0x05, 0xA8, 0xE2, 0xF3, 0x72, 0x87, 0x4C, 0x7D, 0xD9, - 0x1B, 0x65, 0x97, 0xF3, 0xC2, 0xE3, 0xE4, 0xC8, 0xD2, 0xDE, 0xF6, 0xEF, 0xDC, 0xBB, 0x44, 0x08, - 0x5E, 0xE2, 0x45, 0x27, 0x01, 0xB0, 0xF6, 0x43, 0xE7, 0x3A, 0xF6, 0xDC, 0x9D, 0xED, 0xF3, 0xC5, - 0x0C, 0xB8, 0x9C, 0x98, 0x3A, 0xD8, 0x36, 0xEE, 0x96, 0x72, 0x67, 0xE7, 0x81, 0x91, 0xD5, 0x05, - 0x0A, 0xE0, 0x82, 0xD5, 0x8F, 0xE8, 0xF9, 0xB0, 0xC9, 0xCF, 0x93, 0xE7, 0x04, 0xC5, 0xBC, 0x2B, - 0x43, 0x56, 0x7E, 0xE8, 0x67, 0x7C, 0xE5, 0xFB, 0x49, 0xAD, 0x5E, 0x9F, 0x25, 0x13, 0xDE, 0x6E, - 0x6E, 0xE9, 0xF1, 0xEC, 0x87, 0x0B, 0x59, 0x81, 0x76, 0x84, 0x76, 0xB3, 0x24, 0xAF, 0x30, 0xFD, - 0x27, 0x8B, 0xAB, 0xD8, 0x00, 0x8B, 0x9B, 0x0C, 0xD2, 0xB2, 0x4E, 0x5E, 0x9D, 0x1D, 0x96, 0x01, - 0x00, 0x67, 0xC1, 0x5F, 0x02, 0x20, 0xFD, 0x45, 0x6A, 0x01, 0x60, 0x58, 0x45, 0xCA, 0x47, 0x21, - 0x90, 0x5A, 0xC4, 0x43, 0x26, 0x1A, 0xD7, 0xA5, 0x4A, 0xB2, 0x5D, 0x2B, 0x35, 0x49, 0xFB, 0xA5, - 0x17, 0x92, 0x21, 0x1E, 0x93, 0x96, 0x67, 0xA2, 0x7E, 0x36, 0x7A, 0xDE, 0x5F, 0xBE, 0x7A, 0x58, - 0x9D, 0xF8, 0x78, 0xA3, 0xFA, 0xC8, 0xD5, 0x17, 0xF0, 0x21, 0x97, 0x8C, 0x80, 0xB5, 0x4B, 0x3B, - 0xBD, 0xBB, 0x41, 0x21, 0xA8, 0x50, 0x67, 0xF7, 0xE7, 0x19, 0x80, 0x10, 0x8E, 0xCE, 0x04, 0x18, - 0x3F, 0x51, 0x6B, 0x77, 0xD8, 0x9E, 0x16, 0xAF, 0xEC, 0xEF, 0x48, 0x16, 0x4D, 0x9E, 0x85, 0x38, - 0x18, 0x3E, 0xD4, 0x28, 0x87, 0x60, 0x2A, 0xF6, 0x7F, 0x09, 0x86, 0x6F, 0x9C, 0x3C, 0x3A, 0xFF, - 0xAB, 0xD0, 0x61, 0xA2, 0x97, 0x0D, 0x71, 0x94, 0x7E, 0xFD, 0xB9, 0x80, 0x02, 0x89, 0x6A, 0xB3, - 0x84, 0x6C, 0x2A, 0x77, 0x62, 0xBE, 0x0B, 0xF4, 0xAF, 0xAC, 0x7B, 0x7C, 0x8E, 0xCA, 0x01, 0xBA, - 0x71, 0x78, 0x94, 0xFD, 0xB5, 0x39, 0xA4, 0x4D, 0x2F, 0x78, 0xCF, 0xCA, 0x92, 0x0C, 0x1A, 0x99, - 0x48, 0x4C, 0x11, 0x96, 0xB5, 0x4E, 0x41, 0x28, 0xE4, 0xA6, 0xFE, 0x4B, 0x72, 0x91, 0xE7, 0xD4, - 0xDD, 0x9F, 0x12, 0xE6, 0x29, 0x38, 0xCE, 0x45, 0xAE, 0x02, 0xB8, 0x24, 0xAE, 0xBD, 0xE9, 0x66, - 0x08, 0x62, 0xA2, 0x2C, 0x2B, 0x00, 0xE2, 0x23, 0xD9, 0xC4, 0x48, 0xE4, 0xD3, 0xAC, 0xBB, 0x34, - 0xC7, 0xF0, 0xE3, 0x4F, 0xB9, 0x30, 0xEA, 0xA2, 0x12, 0xF1, 0x30, 0x2C, 0x36, 0xDE, 0x48, 0xF2, - 0xB0, 0x4C, 0x43, 0x3F, 0x2E, 0x58, 0xE4, 0x20, 0xE3, 0x58, 0xCD, 0x31, 0x22, 0xF0, 0xA2, 0x2A, - 0xE6, 0x19, 0x90, 0x55, 0x86, 0xF6, 0x55, 0x79, 0xD1, 0xD7, 0x46, 0x2F, 0xC0, 0xDC, 0x99, 0xE8, - 0xF3, 0x6A, 0xDF, 0x7F, 0xEB, 0x24, 0x4A, 0x1E, 0x5A, 0x75, 0xDE, 0x2F, 0x5C, 0x19, 0x61, 0x03, - 0x53, 0x54, 0x6A, 0x3B, 0x18, 0x70, 0xB6, 0x4F, 0xF1, 0x9C, 0x0A, 0x59, 0x9D, 0x19, 0x92, 0x65, - 0x8C, 0x83, 0x14, 0x2D, 0x44, 0x8A, 0x75, 0xA9, 0xF5, 0x90, 0xD2, 0x66, 0x4E, 0xFA, 0x69, 0x0F, - 0x5B, 0x0B, 0x98, 0x65, 0xC8, 0x11, 0x42, 0x59, 0x7F, 0xDD, 0x1B, 0x75, 0x17, 0x31, 0x4C, 0x75, - 0x58, 0xEB, 0x58, 0x63, 0x7D, 0xF2, 0xA6, 0xC2, 0x6E, 0xB7, 0x3F, 0x3E, 0x5E, 0x47, 0xAD, 0xB7, - 0x04, 0xE8, 0x05, 0xF8, 0xB2, 0xCF, 0x19, 0xF3, 0xD2, 0x85, 0xFE, 0x3E, 0x3E, 0xB1, 0x62, 0x08, - 0x2C, 0x10, 0x07, 0x0D, 0x73, 0x90, 0x17, 0xFA, 0x9B, 0x56, 0x02, 0x75, 0xF9, 0x51, 0xE0, 0xE9, - 0x1A, 0x7B, 0x9F, 0xB3, 0xF3, 0x98, 0xB8, 0x1C, 0x9C, 0xE1, 0xD5, 0x35, 0xAE, 0xC8, 0x60, 0x48, - 0x11, 0x09, 0x94, 0x6B, 0xD0, 0x8B, 0x15, 0xBC, 0x05, 0x68, 0xD3, 0x54, 0x8A, 0x51, 0x39, 0x5C, - 0x42, 0x76, 0xCE, 0xD8, 0xAD, 0x89, 0x30, 0xC9, 0x05, 0x1C, 0xCC, 0x94, 0x3F, 0x0F, 0x90, 0x6F, - 0x72, 0x2D, 0x85, 0x64, 0x9A, 0xB9, 0x23, 0xF9, 0x0B, 0xC3, 0x7C, 0x39, 0x0F, 0x97, 0x07, 0x97, - 0xDA, 0x58, 0x48, 0x33, 0x05, 0x23, 0xB8, 0x82, 0xE8, 0xD3, 0x53, 0x89, 0xAF, 0x33, 0x80, 0x22, - 0x84, 0x0C, 0x95, 0x5C, 0x67, 0xB8, 0x77, 0x0C, 0x5C, 0xA2, 0x5F, 0x3D, 0x58, 0x0F, 0x27, 0xF3, - 0x2F, 0xAE, 0x48, 0xBD, 0x0B, 0x6F, 0x54, 0xFB, 0x67, 0x4C, 0xEA, 0x32, 0x27, 0xF1, 0xFA, 0xE2, - 0xB0, 0xEC, 0x0B, 0x15, 0xB4, 0x70, 0xF6, 0x5C, 0xDD, 0x71, 0x60, 0xC3, 0xC1, 0xA8, 0x32, 0x65, - 0xAC, 0x7A, 0x77, 0x41, 0xE5, 0xA9, 0x6B, 0x11, 0x81, 0xFA, 0x34, 0x8D, 0xFB, 0xC1, 0x80, 0x6E, - 0xC4, 0x60, 0x30, 0x07, 0xD4, 0x8B, 0x67, 0xBD, 0xAA, 0x8C, 0x9C, 0x64, 0xAC, 0xDB, 0x0B, 0x24, - 0x8B, 0x63, 0x6F, 0xE6, 0xBC, 0xE7, 0x33, 0xA4, 0x4A, 0x4C, 0xA7, 0x9F, 0x43, 0x53, 0xD2, 0xBB, - 0x8F, 0x43, 0xC7, 0x3D, 0x78, 0x68, 0x3F, 0xA5, 0x3D, 0xCA, 0x69, 0x84, 0xA6, 0x97, 0x2D, 0xC0, - 0x7D, 0x31, 0x34, 0x55, 0x1D, 0x07, 0xB1, 0x5F, 0x40, 0x5C, 0x93, 0xB0, 0xBC, 0x7C, 0xB0, 0xBC, - 0xE7, 0x12, 0xEE, 0x6B, 0x2B, 0xD3, 0x4D, 0x67, 0x70, 0x3A, 0x9A, 0xF2, 0x3C, 0x7C, 0x81, 0xFA, - 0xD7, 0xD9, 0x90, 0x91, 0x81, 0xB8, 0xB1, 0xF3, 0x48, 0x6A, 0x26, 0x4F, 0x0C, 0xCE, 0xB0, 0x9E, - 0xFD, 0x4A, 0x3A, 0xAF, 0xAC, 0x5B, 0x3F, 0xBF, 0x44, 0x5A, 0xA3, 0x19, 0x1E, 0x4B, 0xE7, 0x36, - 0x6A, 0xD7, 0x20, 0xAE, 0xD7, 0x7D, 0x3B, 0xE7, 0xFF, 0x3A, 0x86, 0x2E, 0xD0, 0x4A, 0x3E, 0xAF, - 0x9F, 0x8E, 0x01, 0xBF, 0xF8, 0x4F, 0xC1, 0xE8, 0x6F, 0x74, 0xE1, 0x45, 0xD3, 0xF7, 0x04, 0x6A, - 0x4B, 0x9D, 0xEC, 0x33, 0x27, 0x76, 0xD7, 0xC5, 0xE1, 0xB0, 0x3B, 0x0E, 0x23, 0xEC, 0xF0, 0x86, - 0xD2, 0x1A, 0xBF, 0x3D, 0x04, 0x62, 0xB3, 0x6C, 0xB2, 0xEB, 0x17, 0x05, 0xA6, 0x0A, 0x8A, 0x7E, - 0x83, 0x1C, 0xB6, 0x37, 0x09, 0xC6, 0x0B, 0x70, 0x3C, 0xB5, 0x93, 0x81, 0xD8, 0x93, 0xA0, 0x5F, - 0x1E, 0x08, 0xE2, 0xC6, 0xE5, 0xC9, 0x72, 0xF1, 0xF1, 0xC1, 0xED, 0xD5, 0x58, 0x93, 0x83, 0xF8, - 0x65, 0x67, 0x2E, 0x0D, 0xA9, 0xF1, 0x64, 0x12, 0xE6, 0x4C, 0xEA, 0x15, 0x3F, 0x8C, 0x1A, 0xB6, - 0xBF, 0xF6, 0xB9, 0x52, 0x35, 0x09, 0xB0, 0xE6, 0xF7, 0xCD, 0xF1, 0xA5, 0xAA, 0x81, 0xD1, 0x81, - 0x6F, 0xB4, 0xA9, 0x66, 0x1F, 0xFC, 0x48, 0xC0, 0xB6, 0xD1, 0x8B, 0x06, 0x2F, 0xF6, 0xEF, 0x1F, - 0x0A, 0xE6, 0xCE, 0x3A, 0x4A, 0x55, 0xBF, 0x6D, 0xF9, 0x4D, 0xD4, 0x08, 0x45, 0x4B, 0xC3, 0x66, - 0x19, 0x92, 0x10, 0xE1, 0x17, 0x8E, 0x28, 0x91, 0x16, 0xBF, 0x3C, 0xEE, 0xA3, 0xA6, 0x99, 0x92, - 0x10, 0xE1, 0xF6, 0xCC, 0xAC, 0xB8, 0x65, 0x0B, 0x43, 0x66, 0xF8, 0xE3, 0xE5, 0x3F, 0x24, 0x89, - 0x47, 0x5D, 0x78, 0x43, 0xD0, 0x61, 0x17, 0xBD, 0x5B, 0x64, 0x54, 0x08, 0x45, 0x59, 0x93, 0xF6, - 0x95, 0x8A, 0x41, 0x51, 0x62, 0x4B, 0x51, 0x02, 0x30, 0x73, 0xC7, 0x87, 0xC5, 0x4B, 0xA2, 0x97, - 0x0F, 0xE8, 0x46, 0x5F, 0x7E, 0x2A, 0xE1, 0x30, 0x20, 0xB0, 0xFA, 0xE7, 0xCE, 0x61, 0x42, 0x57, - 0x6E, 0x21, 0xF3, 0x7A, 0xEC, 0xE3, 0x25, 0xC7, 0x25, 0xF3, 0x67, 0xA7, 0x57, 0x40, 0x00, 0x02, - 0xCF, 0x1C, 0x80, 0x77, 0x67, 0xBD, 0x70, 0xA1, 0x19, 0x92, 0x31, 0x75, 0x93, 0x27, 0x27, 0xB6, - 0x82, 0xE4, 0xEB, 0x1D, 0x78, 0x48, 0xE7, 0xA5, 0x5E, 0x57, 0xEF, 0x64, 0x28, 0x64, 0x1B, 0xF6, - 0x11, 0xB2, 0x03, 0x9D, 0xB9, 0x18, 0x02, 0x27, 0xF7, 0xBE, 0x9D, 0x55, 0xFC, 0x00, 0xD2, 0xC7, - 0xAE, 0xAD, 0x0B, 0xC5, 0xE9, 0x42, 0x41, 0x48, 0xD8, 0x32, 0xCF, 0xF6, 0x0F, 0xF5, 0xBC, 0x97, - 0xC6, 0x99, 0x47, 0x76, 0xBD, 0x89, 0x06, 0x0F, 0x63, 0x0C, 0x51, 0xD4, 0x5E, 0xEA, 0x48, 0xA8, - 0xA2, 0x56, 0x1C, 0x79, 0x84, 0x86, 0x40, 0x88, 0x41, 0x76, 0x55, 0xFC, 0xC2, 0xD7, 0xFD, 0xC9, - 0xC7, 0x80, 0x61, 0x35, 0xA7, 0x43, 0x20, 0xF7, 0xEB, 0x6C, 0x66, 0x13, 0xB0, 0xEC, 0x02, 0x75, - 0x3E, 0x4B, 0xAF, 0xB9, 0x5D, 0x40, 0xDA, 0xD6, 0x6E, 0x2D, 0x39, 0x54, 0xC2, 0x95, 0x35, 0x54, - 0x25, 0x72, 0xE1, 0x78, 0xB8, 0xEB, 0xC1, 0x16, 0x58, 0x0F, 0x9C, 0x9B, 0xB4, 0xEA, 0x37, 0xEC, - 0x3B, 0x11, 0xBA, 0xD5, 0x8A, 0xA9, 0xE3, 0x98, 0x00, 0x51, 0x1C, 0x14, 0xE0, 0x40, 0x96, 0xE5, - 0xE9, 0xF2, 0x21, 0x22, 0xB1, 0x23, 0x60, 0x78, 0xD3, 0x17, 0xF8, 0x7A, 0xA5, 0xA8, 0xBA, 0x20, - 0xD3, 0x15, 0x1E, 0x32, 0xE4, 0x5E, 0x15, 0x48, 0xAE, 0xA9, 0xE5, 0xB8, 0x33, 0xEC, 0xE8, 0xA2, - 0x42, 0xAC, 0xBF, 0x10, 0x84, 0x53, 0x87, 0x19, 0xB4, 0x5F, 0x76, 0x4D, 0x01, 0x9D, 0x56, 0x74, - 0xD9, 0x5C, 0x97, 0xE7, 0x88, 0xEA, 0x3A, 0xBF, 0xDC, 0x4C, 0x33, 0x8A, 0x16, 0xB9, 0x5B, 0xFA, - 0xD8, 0x42, 0xA7, 0xBB, 0x3C, 0x04, 0x27, 0x78, 0x49, 0x81, 0x2A, 0x5A, 0x7D, 0x7C, 0x23, 0xA8, - 0xBA, 0xF7, 0x9A, 0x9F, 0xD2, 0x66, 0x3E, 0x38, 0x3C, 0x75, 0xF9, 0xD1, 0x30, 0x26, 0x30, 0x6E, - 0x5A, 0x6E, 0xDC, 0x6A, 0x69, 0x32, 0x50, 0x33, 0x47, 0x9E, 0xA4, 0xA8, 0x64, 0x66, 0xF0, 0x8A, - 0xE4, 0xFD, 0x27, 0x6F, 0x51, 0x25, 0x8B, 0x43, 0x74, 0xC9, 0x8E, 0xBD, 0x88, 0x31, 0xBE, 0xEC, - 0x65, 0xD2, 0xCB, 0x8D, 0x5A, 0x13, 0x48, 0x16, 0x8C, 0x61, 0x0B, 0x11, 0xF6, 0xC6, 0x66, 0xAE, - 0xC3, 0xCC, 0x0C, 0xD2, 0xE1, 0x9F, 0x82, 0x41, 0x3F, 0x56, 0xF9, 0x73, 0xEF, 0xDC, 0x30, 0x50, - 0xCF, 0xB6, 0x7F, 0xBC, 0xD0, 0xB3, 0x10, 0xAB, 0x24, 0xE4, 0xEC, 0xAD, 0x18, 0x8C, 0x39, 0x2D, - 0x30, 0x4C, 0xC5, 0x40, 0x0D, 0xF6, 0xAC, 0xD6, 0x18, 0x5D, 0x96, 0xBF, 0x5F, 0x71, 0x75, 0x96, - 0x22, 0x97, 0x0F, 0x02, 0x94, 0x6E, 0xA6, 0xAE, 0x6D, 0x8F, 0x1E, 0xCA, 0x12, 0x9B, 0x2A, 0x1C, - 0xCE, 0xA9, 0xEE, 0xFD, 0x12, 0x8E, 0xFC, 0xED, 0x09, 0x33, 0xBA, 0xF4, 0x1A, 0x15, 0xF6, 0x9D, - 0x87, 0x16, 0x43, 0x7C, 0x78, 0x57, 0xE1, 0x44, 0xC9, 0xEB, 0x1F, 0x58, 0x4D, 0xC1, 0x49, 0x11, - 0x5C, 0xB2, 0x11, 0xA8, 0x55, 0x16, 0xF1, 0xC6, 0x50, 0xE9, 0x87, 0x89, 0xF6, 0xCF, 0xD8, 0x9C, - 0x51, 0xA7, 0xBC, 0x5B, 0x31, 0x6D, 0x4D, 0x51, 0xD0, 0x4C, 0xBC, 0x0D, 0x58, 0x2D, 0x7B, 0x88, - 0x7A, 0xF9, 0x8E, 0xD6, 0x40, 0x4D, 0xBB, 0xBE, 0xC4, 0xE5, 0x07, 0xFC, 0xD9, 0x7B, 0x6D, 0xA6, - 0x42, 0x57, 0x8F, 0x02, 0x94, 0x4F, 0xE4, 0x2A, 0x65, 0xE2, 0x19, 0x5A, 0x50, 0xE1, 0x25, 0x65, - 0x4A, 0x60, 0xC2, 0xCD, 0xA8, 0xEC, 0x05, 0x2E, 0x87, 0x7B, 0x95, 0xB7, 0x4F, 0xA0, 0x0B, 0x1B, - 0x4A, 0x7F, 0x92, 0xC8, 0x90, 0xEE, 0x89, 0x1E, 0x10, 0xD2, 0x85, 0xE4, 0x9F, 0x63, 0xC8, 0x12, - 0xBB, 0x4E, 0xB8, 0xCF, 0x0A, 0xEC, 0x18, 0x4E, 0xE6, 0x7C, 0xB3, 0x33, 0x26, 0xC7, 0x1F, 0xD2, - 0x04, 0x23, 0xEA, 0x07, 0x0C, 0x5F, 0x90, 0xBD, 0xA7, 0x6A, 0x0F, 0x4A, 0xD6, 0x10, 0x01, 0x3C, - 0x12, 0x29, 0x2E, 0x96, 0xC0, 0x4D, 0xBB, 0xBE, 0xE5, 0xA7, 0x83, 0xD5, 0x6A, 0x3C, 0xE3, 0x5B, - 0xB8, 0xF2, 0x5C, 0x6D, 0x1F, 0xA6, 0xF3, 0x12, 0x24, 0xF6, 0xD6, 0x3B, 0x10, 0x14, 0x09, 0x07, - 0x82, 0xE8, 0x30, 0x6A, 0x99, 0xDC, 0x95, 0x01, 0x9C, 0xD4, 0x68, 0x3B, 0xCA, 0x98, 0x12, 0xAB, - 0x77, 0x25, 0x15, 0x7D, 0x10, 0x32, 0x45, 0x98, 0xCD, 0x7A, 0xDF, 0x71, 0x8A, 0x75, 0xC1, 0x1C, - 0xD4, 0x68, 0x25, 0xEB, 0xBB, 0x54, 0x27, 0x6F, 0x2A, 0xF7, 0xB9, 0x98, 0x03, 0x27, 0xDE, 0x24, - 0xA8, 0xBB, 0x98, 0xC2, 0x84, 0xFF, 0x9B, 0x51, 0xD8, 0x53, 0x50, 0xDA, 0xF5, 0x88, 0xAA, 0x87, - 0x2F, 0xAE, 0xD6, 0xEA, 0x6B, 0xDE, 0xC8, 0xD7, 0xA7, 0x28, 0x65, 0x81, 0xE8, 0xB2, 0x3B, 0x1D, - 0x4F, 0x75, 0x8F, 0x9F, 0x7A, 0x74, 0x8E, 0xC1, 0x5F, 0x9A, 0xA8, 0x9D, 0xFA, 0x03, 0xA3, 0x71, - 0x9B, 0x37, 0x6D, 0xD5, 0x0B, 0xF5, 0xE1, 0xA1, 0x1B, 0x01, 0x6A, 0xC6, 0x67, 0xAA, 0xEA, 0x2C, - 0x9D, 0xA4, 0xD2, 0x6E, 0xFC, 0xDE, 0x2E, 0x7F, 0x94, 0x69, 0xE5, 0x4A, 0xE0, 0x01, 0x48, 0x3C, - 0x6B, 0xF7, 0x1E, 0xB6, 0x0B, 0x5F, 0xF9, 0x2E, 0x07, 0xC5, 0xE8, 0xAE, 0x37, 0x1B, 0xBC, 0x3C, - 0xD8, 0xD5, 0x0B, 0x91, 0x9E, 0x80, 0x24, 0xF5, 0x06, 0x0C, 0x0E, 0x98, 0x07, 0x96, 0x2D, 0x19, - 0xDC, 0x58, 0x93, 0xCC, 0xFB, 0x4E, 0xEB, 0xBD, 0x0F, 0xF5, 0xAF, 0x01, 0xFA, 0xF1, 0x7C, 0x43, - 0x8C, 0xB8, 0x56, 0x3E, 0xBE, 0x77, 0x4E, 0x2B, 0xF7, 0xBB, 0xB7, 0x45, 0x47, 0xCD, 0xCC, 0xA6, - 0x4C, 0x72, 0x7B, 0x6A, 0x2A, 0x70, 0x13, 0x07, 0xFD, 0xB8, 0x9C, 0x98, 0x3A, 0xD8, 0x23, 0x67, - 0x5B, 0x34, 0xD5, 0x14, 0x0C, 0xAB, 0x77, 0x1F, 0xF8, 0x3D, 0x5A, 0x9F, 0x92, 0xB7, 0x2C, 0xAD, - 0x31, 0xDE, 0x61, 0x07, 0xB3, 0x6B, 0xF7, 0x38, 0x15, 0x95, 0x46, 0x14, 0x48, 0x53, 0x69, 0x52, - 0x66, 0x07, 0x6D, 0x83, 0x71, 0x8A, 0x67, 0x25, 0x20, 0x0F, 0xFE, 0xD7, 0x02, 0xD7, 0x6E, 0x2C, - 0xD2, 0x1A, 0x0A, 0x5D, 0xFD, 0x0F, 0x74, 0xE3, 0xA4, 0x36, 0x07, 0x9A, 0xDF, 0xD4, 0x79, 0xBF, - 0xEF, 0x59, 0xC0, 0x44, 0x52, 0x87, 0x9A, 0x6E, 0x1D, 0x0E, 0xEE, 0xDE, 0x2E, 0x1A, 0xA9, 0x8F, - 0x3A, 0xC9, 0xBA, 0xEC, 0x99, 0x78, 0x2D, 0x55, 0x6B, 0x14, 0xC2, 0x06, 0xD5, 0xFC, 0x93, 0x53, - 0x4D, 0x11, 0x8C, 0xF8, 0xFA, 0x79, 0x7C, 0xA6, 0x64, 0xAE, 0x61, 0xB8, 0x7B, 0x94, 0x56, 0xA6, - 0x39, 0x78, 0x9A, 0xE5, 0xC7, 0xDF, 0x18, 0x63, 0x23, 0x9C, 0xFA, 0x66, 0xBB, 0xB7, 0x5A, 0x27, - 0x4C, 0xD1, 0xA1, 0x83, 0x22, 0xB3, 0x52, 0x49, 0x35, 0xB0, 0x22, 0x83, 0x59, 0x12, 0x00, 0x16, - 0x98, 0xDD, 0xAD, 0xC2, 0x94, 0xF9, 0xD3, 0x7B, 0x64, 0x7F, 0x44, 0x3E, 0x3C, 0x8B, 0x9A, 0x83, - 0x9C, 0x69, 0x6B, 0xE4, 0xDF, 0x9F, 0xED, 0x54, 0x1F, 0xE5, 0x5D, 0x7A, 0x05, 0x82, 0xB3, 0xDD, - 0xEF, 0xFC, 0x53, 0x96, 0xB0, 0x2C, 0x5A, 0xF8, 0xDF, 0x9C, 0x8B, 0x16, 0x4E, 0xDF, 0xDA, 0x4D, - 0x09, 0x09, 0x69, 0x50, 0x03, 0x65, 0xD8, 0x73, 0x70, 0xE8, 0x86, 0xBF, 0xBB, 0x35, 0xCE, 0xB2, - 0x46, 0xCB, 0x02, 0x00, 0x5B, 0xB4, 0xE2, 0xC6, 0x8F, 0x2F, 0x98, 0xAF, 0x87, 0x4B, 0x48, 0x45, - 0xED, 0xCC, 0x1D, 0xE6, 0x58, 0xD6, 0xF2, 0x50, 0x25, 0x9F, 0x52, 0xC7, 0xCB, 0x8A, 0x17, 0x9D, - 0x5B, 0xE5, 0xC8, 0xD7, 0x72, 0xB7, 0x52, 0xB2, 0xC4, 0x98, 0xE3, 0x7A, 0x17, 0x3E, 0xC6, 0x60, - 0xA7, 0x97, 0xB0, 0xCF, 0x18, 0x81, 0x53, 0x84, 0x4C, 0xD5, 0x17, 0x32, 0x03, 0x13, 0x39, 0x51, - 0x09, 0x10, 0xE3, 0x77, 0x49, 0x4F, 0x62, 0x01, 0xBF, 0x8C, 0x9A, 0xE0, 0x41, 0x9E, 0x89, 0x74, - 0x36, 0xF9, 0x96, 0x86, 0x2E, 0x96, 0x1C, 0x4A, 0xB7, 0x2B, 0x4A, 0x97, 0xBC, 0x99, 0x40, 0xA3, - 0xE0, 0x3D, 0xC8, 0xAD, 0x2F, 0xDF, 0x4F, 0x2C, 0xC4, 0x69, 0x82, 0x9F, 0x9B, 0x81, 0x0C, 0x61, - 0x5C, 0xA5, 0x9D, 0x8C, 0x89, 0xC0, 0x2C, 0xB4, 0x4A, 0x33, 0x4E, 0xEB, 0xA2, 0x56, 0x40, 0xC0, - 0xC2, 0x46, 0xAF, 0x6A, 0xFC, 0x67, 0xD1, 0x80, 0x5E, 0xC5, 0x6D, 0x84, 0x43, 0x27, 0x3F, 0x55, - 0x15, 0x96, 0x6A, 0xA0, 0xA5, 0xDA, 0xB7, 0xFF, 0xB7, 0x75, 0x6E, 0x4C, 0x49, 0x91, 0x9D, 0x22, - 0xA3, 0x46, 0xEA, 0xED, 0x9A, 0x00, 0xE2, 0x32, 0xC3, 0xD6, 0xA9, 0x71, 0x20, 0x55, 0xA3, 0x19, - 0xED, 0xF8, 0x4F, 0xA7, 0x12, 0x9C, 0x66, 0x87, 0xAF, 0x4E, 0xB7, 0xF0, 0xDB, 0xBF, 0xEF, 0xF0, - 0xF6, 0xAF, 0xEA, 0xDA, 0x09, 0xFE, 0xDE, 0x38, 0x5C, 0xA5, 0xA2, 0xDF, 0x99, 0x45, 0xA8, 0xE4, - 0xE7, 0x92, 0xAC, 0x67, 0xAA, 0x4F, 0xBF, 0x77, 0x3E, 0xA2, 0x40, 0x49, 0x22, 0x4A, 0x1E, 0x3B, - 0xAA, 0x70, 0x7F, 0x95, 0xAF, 0x37, 0x4B, 0xFC, 0x99, 0xE2, 0xE0, 0xBA, 0xD7, 0x34, 0xCE, 0x55, - 0x88, 0x5B, 0x84, 0x1B, 0x57, 0xC4, 0x80, 0x03, 0x53, 0xC9, 0x2F, 0x93, 0x04, 0x4D, 0xD5, 0x96, - 0xE5, 0x70, 0xA6, 0x6E, 0x63, 0x5D, 0x9D, 0x6C, 0xDB, 0x02, 0x0A, 0xA9, 0xDA, 0x8B, 0x53, 0xDC, - 0xD9, 0x9A, 0xC5, 0x94, 0x2C, 0x91, 0x92, 0x2A, 0xDE, 0xBB, 0x8B, 0x13, 0xB9, 0x19, 0x96, 0x64, - 0xCC, 0xF2, 0x64, 0x39, 0xB7, 0x75, 0x49, 0xE9, 0x86, 0xC2, 0x86, 0x62, 0xD9, 0x24, 0xD3, 0x81, - 0x35, 0x49, 0xFC, 0xA0, 0xA5, 0xA0, 0x93, 0x05, 0x64, 0xB4, 0x1A, 0x57, 0xCE, 0x0C, 0x90, 0x02, - 0x27, 0xC5, 0x7A, 0x2B, 0x5D, 0xAE, 0x3E, 0xD5, 0xDD, 0x10, 0x7C, 0x14, 0xEA, 0x3A, 0x08, 0xAC, - 0x72, 0x4E, 0x90, 0x3D, 0x3B, 0x7C, 0x86, 0x2E, 0xEB, 0xD4, 0x06, 0x70, 0xE6, 0xC7, 0xFB, 0x5F, - 0xBD, 0x18, 0xF4, 0x11, 0xA4, 0x1A, 0x93, 0xC3, 0xBE, 0xD9, 0xFB, 0x26, 0x48, 0x2F, 0x37, 0x3C, - 0xD0, 0x03, 0x47, 0x1A, 0xF7, 0x62, 0x19, 0x24, 0x5C, 0xF4, 0xA8, 0x92, 0x20, 0x7A, 0xF2, 0x9E, - 0x2A, 0xC5, 0x95, 0xA2, 0xFB, 0xA4, 0xEA, 0x85, 0xD8, 0x56, 0xB7, 0x70, 0xD1, 0x60, 0x30, 0xA5, - 0x30, 0x82, 0x70, 0xDC, 0x7A, 0x65, 0x8A, 0x36, 0x3F, 0x5B, 0x0C, 0xAE, 0x54, 0x7C, 0xD3, 0x57, - 0x84, 0x7B, 0x3A, 0x65, 0x18, 0x81, 0xEE, 0x05, 0x9B, 0x44, 0x4D, 0xB8, 0xDA, 0xA2, 0xA1, 0xC9, - 0x15, 0xD3, 0x73, 0x03, 0x0E, 0x43, 0xE9, 0x8E, 0x15, 0xF9, 0xBE, 0xC6, 0xC5, 0x8A, 0xE5, 0xC0, - 0x1E, 0xC2, 0x37, 0x9E, 0x2A, 0x26, 0xA5, 0xA0, 0xBD, 0x24, 0x5F, 0xB9, 0xC1, 0xAB, 0x34, 0x48, - 0xB9, 0x5D, 0x98, 0xB4, 0x65, 0x18, 0xF3, 0x63, 0x19, 0x44, 0x1B, 0x11, 0x16, 0xFF, 0xDC, 0xF1, - 0x79, 0x08, 0x86, 0x0F, 0x52, 0x98, 0x73, 0xC4, 0x92, 0x90, 0x2B, 0x47, 0x09, 0xD0, 0x43, 0x6C, - 0x2F, 0x20, 0xEB, 0xDC, 0xDA, 0xC5, 0x08, 0x7B, 0x94, 0x42, 0x30, 0x6A, 0xC7, 0xDA, 0x8C, 0xC3, - 0x76, 0xA7, 0xA5, 0xCC, 0x62, 0x13, 0x00, 0x60, 0x31, 0x58, 0x44, 0x9B, 0xF5, 0x64, 0x14, 0xF5, - 0x11, 0xC5, 0x54, 0x52, 0x83, 0xD4, 0x73, 0x01, 0x16, 0x0E, 0xB3, 0x7A, 0x29, 0x69, 0x35, 0x56, - 0xD4, 0xEE, 0x8A, 0x17, 0xA2, 0x99, 0x24, 0x9C, 0xD7, 0x8F, 0xDB, 0x55, 0xB5, 0x3E -}; diff --git a/drivers/sensors/pmw3360.c b/drivers/sensors/pmw3360.c index 8408daa9451..fb710591d3a 100644 --- a/drivers/sensors/pmw3360.c +++ b/drivers/sensors/pmw3360.c @@ -31,265 +31,4 @@ void pmw33xx_set_cpi(uint8_t sensor, uint16_t cpi) { } // PID, Inverse PID, SROM version -const uint8_t pmw33xx_firmware_signature[3] PROGMEM = {0x42, 0xBD, 0x04}; - -// Firmware Blob for PMW3360 -// clang-format off -const uint8_t pmw33xx_firmware_data[PMW33XX_FIRMWARE_LENGTH] PROGMEM = { - 0x01, 0x04, 0x8E, 0x96, 0x6E, 0x77, 0x3E, 0xFE, 0x7E, 0x5F, 0x1D, 0xB8, 0xF2, 0x66, 0x4E, 0xFF, - 0x5D, 0x19, 0xB0, 0xC2, 0x04, 0x69, 0x54, 0x2A, 0xD6, 0x2E, 0xBF, 0xDD, 0x19, 0xB0, 0xC3, 0xE5, - 0x29, 0xB1, 0xE0, 0x23, 0xA5, 0xA9, 0xB1, 0xC1, 0x00, 0x82, 0x67, 0x4C, 0x1A, 0x97, 0x8D, 0x79, - 0x51, 0x20, 0xC7, 0x06, 0x8E, 0x7C, 0x7C, 0x7A, 0x76, 0x4F, 0xFD, 0x59, 0x30, 0xE2, 0x46, 0x0E, - 0x9E, 0xBE, 0xDF, 0x1D, 0x99, 0x91, 0xA0, 0xA5, 0xA1, 0xA9, 0xD0, 0x22, 0xC6, 0xEF, 0x5C, 0x1B, - 0x95, 0x89, 0x90, 0xA2, 0xA7, 0xCC, 0xFB, 0x55, 0x28, 0xB3, 0xE4, 0x4A, 0xF7, 0x6C, 0x3B, 0xF4, - 0x6A, 0x56, 0x2E, 0xDE, 0x1F, 0x9D, 0xB8, 0xD3, 0x05, 0x88, 0x92, 0xA6, 0xCE, 0x1E, 0xBE, 0xDF, - 0x1D, 0x99, 0xB0, 0xE2, 0x46, 0xEF, 0x5C, 0x07, 0x11, 0x5D, 0x98, 0x0B, 0x9D, 0x94, 0x97, 0xEE, - 0x4E, 0x45, 0x33, 0x6B, 0x44, 0xC7, 0x29, 0x56, 0x27, 0x30, 0xC6, 0xA7, 0xD5, 0xF2, 0x56, 0xDF, - 0xB4, 0x38, 0x62, 0xCB, 0xA0, 0xB6, 0xE3, 0x0F, 0x84, 0x06, 0x24, 0x05, 0x65, 0x6F, 0x76, 0x89, - 0xB5, 0x77, 0x41, 0x27, 0x82, 0x66, 0x65, 0x82, 0xCC, 0xD5, 0xE6, 0x20, 0xD5, 0x27, 0x17, 0xC5, - 0xF8, 0x03, 0x23, 0x7C, 0x5F, 0x64, 0xA5, 0x1D, 0xC1, 0xD6, 0x36, 0xCB, 0x4C, 0xD4, 0xDB, 0x66, - 0xD7, 0x8B, 0xB1, 0x99, 0x7E, 0x6F, 0x4C, 0x36, 0x40, 0x06, 0xD6, 0xEB, 0xD7, 0xA2, 0xE4, 0xF4, - 0x95, 0x51, 0x5A, 0x54, 0x96, 0xD5, 0x53, 0x44, 0xD7, 0x8C, 0xE0, 0xB9, 0x40, 0x68, 0xD2, 0x18, - 0xE9, 0xDD, 0x9A, 0x23, 0x92, 0x48, 0xEE, 0x7F, 0x43, 0xAF, 0xEA, 0x77, 0x38, 0x84, 0x8C, 0x0A, - 0x72, 0xAF, 0x69, 0xF8, 0xDD, 0xF1, 0x24, 0x83, 0xA3, 0xF8, 0x4A, 0xBF, 0xF5, 0x94, 0x13, 0xDB, - 0xBB, 0xD8, 0xB4, 0xB3, 0xA0, 0xFB, 0x45, 0x50, 0x60, 0x30, 0x59, 0x12, 0x31, 0x71, 0xA2, 0xD3, - 0x13, 0xE7, 0xFA, 0xE7, 0xCE, 0x0F, 0x63, 0x15, 0x0B, 0x6B, 0x94, 0xBB, 0x37, 0x83, 0x26, 0x05, - 0x9D, 0xFB, 0x46, 0x92, 0xFC, 0x0A, 0x15, 0xD1, 0x0D, 0x73, 0x92, 0xD6, 0x8C, 0x1B, 0x8C, 0xB8, - 0x55, 0x8A, 0xCE, 0xBD, 0xFE, 0x8E, 0xFC, 0xED, 0x09, 0x12, 0x83, 0x91, 0x82, 0x51, 0x31, 0x23, - 0xFB, 0xB4, 0x0C, 0x76, 0xAD, 0x7C, 0xD9, 0xB4, 0x4B, 0xB2, 0x67, 0x14, 0x09, 0x9C, 0x7F, 0x0C, - 0x18, 0xBA, 0x3B, 0xD6, 0x8E, 0x14, 0x2A, 0xE4, 0x1B, 0x52, 0x9F, 0x2B, 0x7D, 0xE1, 0xFB, 0x6A, - 0x33, 0x02, 0xFA, 0xAC, 0x5A, 0xF2, 0x3E, 0x88, 0x7E, 0xAE, 0xD1, 0xF3, 0x78, 0xE8, 0x05, 0xD1, - 0xE3, 0xDC, 0x21, 0xF6, 0xE1, 0x9A, 0xBD, 0x17, 0x0E, 0xD9, 0x46, 0x9B, 0x88, 0x03, 0xEA, 0xF6, - 0x66, 0xBE, 0x0E, 0x1B, 0x50, 0x49, 0x96, 0x40, 0x97, 0xF1, 0xF1, 0xE4, 0x80, 0xA6, 0x6E, 0xE8, - 0x77, 0x34, 0xBF, 0x29, 0x40, 0x44, 0xC2, 0xFF, 0x4E, 0x98, 0xD3, 0x9C, 0xA3, 0x32, 0x2B, 0x76, - 0x51, 0x04, 0x09, 0xE7, 0xA9, 0xD1, 0xA6, 0x32, 0xB1, 0x23, 0x53, 0xE2, 0x47, 0xAB, 0xD6, 0xF5, - 0x69, 0x5C, 0x3E, 0x5F, 0xFA, 0xAE, 0x45, 0x20, 0xE5, 0xD2, 0x44, 0xFF, 0x39, 0x32, 0x6D, 0xFD, - 0x27, 0x57, 0x5C, 0xFD, 0xF0, 0xDE, 0xC1, 0xB5, 0x99, 0xE5, 0xF5, 0x1C, 0x77, 0x01, 0x75, 0xC5, - 0x6D, 0x58, 0x92, 0xF2, 0xB2, 0x47, 0x00, 0x01, 0x26, 0x96, 0x7A, 0x30, 0xFF, 0xB7, 0xF0, 0xEF, - 0x77, 0xC1, 0x8A, 0x5D, 0xDC, 0xC0, 0xD1, 0x29, 0x30, 0x1E, 0x77, 0x38, 0x7A, 0x94, 0xF1, 0xB8, - 0x7A, 0x7E, 0xEF, 0xA4, 0xD1, 0xAC, 0x31, 0x4A, 0xF2, 0x5D, 0x64, 0x3D, 0xB2, 0xE2, 0xF0, 0x08, - 0x99, 0xFC, 0x70, 0xEE, 0x24, 0xA7, 0x7E, 0xEE, 0x1E, 0x20, 0x69, 0x7D, 0x44, 0xBF, 0x87, 0x42, - 0xDF, 0x88, 0x3B, 0x0C, 0xDA, 0x42, 0xC9, 0x04, 0xF9, 0x45, 0x50, 0xFC, 0x83, 0x8F, 0x11, 0x6A, - 0x72, 0xBC, 0x99, 0x95, 0xF0, 0xAC, 0x3D, 0xA7, 0x3B, 0xCD, 0x1C, 0xE2, 0x88, 0x79, 0x37, 0x11, - 0x5F, 0x39, 0x89, 0x95, 0x0A, 0x16, 0x84, 0x7A, 0xF6, 0x8A, 0xA4, 0x28, 0xE4, 0xED, 0x83, 0x80, - 0x3B, 0xB1, 0x23, 0xA5, 0x03, 0x10, 0xF4, 0x66, 0xEA, 0xBB, 0x0C, 0x0F, 0xC5, 0xEC, 0x6C, 0x69, - 0xC5, 0xD3, 0x24, 0xAB, 0xD4, 0x2A, 0xB7, 0x99, 0x88, 0x76, 0x08, 0xA0, 0xA8, 0x95, 0x7C, 0xD8, - 0x38, 0x6D, 0xCD, 0x59, 0x02, 0x51, 0x4B, 0xF1, 0xB5, 0x2B, 0x50, 0xE3, 0xB6, 0xBD, 0xD0, 0x72, - 0xCF, 0x9E, 0xFD, 0x6E, 0xBB, 0x44, 0xC8, 0x24, 0x8A, 0x77, 0x18, 0x8A, 0x13, 0x06, 0xEF, 0x97, - 0x7D, 0xFA, 0x81, 0xF0, 0x31, 0xE6, 0xFA, 0x77, 0xED, 0x31, 0x06, 0x31, 0x5B, 0x54, 0x8A, 0x9F, - 0x30, 0x68, 0xDB, 0xE2, 0x40, 0xF8, 0x4E, 0x73, 0xFA, 0xAB, 0x74, 0x8B, 0x10, 0x58, 0x13, 0xDC, - 0xD2, 0xE6, 0x78, 0xD1, 0x32, 0x2E, 0x8A, 0x9F, 0x2C, 0x58, 0x06, 0x48, 0x27, 0xC5, 0xA9, 0x5E, - 0x81, 0x47, 0x89, 0x46, 0x21, 0x91, 0x03, 0x70, 0xA4, 0x3E, 0x88, 0x9C, 0xDA, 0x33, 0x0A, 0xCE, - 0xBC, 0x8B, 0x8E, 0xCF, 0x9F, 0xD3, 0x71, 0x80, 0x43, 0xCF, 0x6B, 0xA9, 0x51, 0x83, 0x76, 0x30, - 0x82, 0xC5, 0x6A, 0x85, 0x39, 0x11, 0x50, 0x1A, 0x82, 0xDC, 0x1E, 0x1C, 0xD5, 0x7D, 0xA9, 0x71, - 0x99, 0x33, 0x47, 0x19, 0x97, 0xB3, 0x5A, 0xB1, 0xDF, 0xED, 0xA4, 0xF2, 0xE6, 0x26, 0x84, 0xA2, - 0x28, 0x9A, 0x9E, 0xDF, 0xA6, 0x6A, 0xF4, 0xD6, 0xFC, 0x2E, 0x5B, 0x9D, 0x1A, 0x2A, 0x27, 0x68, - 0xFB, 0xC1, 0x83, 0x21, 0x4B, 0x90, 0xE0, 0x36, 0xDD, 0x5B, 0x31, 0x42, 0x55, 0xA0, 0x13, 0xF7, - 0xD0, 0x89, 0x53, 0x71, 0x99, 0x57, 0x09, 0x29, 0xC5, 0xF3, 0x21, 0xF8, 0x37, 0x2F, 0x40, 0xF3, - 0xD4, 0xAF, 0x16, 0x08, 0x36, 0x02, 0xFC, 0x77, 0xC5, 0x8B, 0x04, 0x90, 0x56, 0xB9, 0xC9, 0x67, - 0x9A, 0x99, 0xE8, 0x00, 0xD3, 0x86, 0xFF, 0x97, 0x2D, 0x08, 0xE9, 0xB7, 0xB3, 0x91, 0xBC, 0xDF, - 0x45, 0xC6, 0xED, 0x0F, 0x8C, 0x4C, 0x1E, 0xE6, 0x5B, 0x6E, 0x38, 0x30, 0xE4, 0xAA, 0xE3, 0x95, - 0xDE, 0xB9, 0xE4, 0x9A, 0xF5, 0xB2, 0x55, 0x9A, 0x87, 0x9B, 0xF6, 0x6A, 0xB2, 0xF2, 0x77, 0x9A, - 0x31, 0xF4, 0x7A, 0x31, 0xD1, 0x1D, 0x04, 0xC0, 0x7C, 0x32, 0xA2, 0x9E, 0x9A, 0xF5, 0x62, 0xF8, - 0x27, 0x8D, 0xBF, 0x51, 0xFF, 0xD3, 0xDF, 0x64, 0x37, 0x3F, 0x2A, 0x6F, 0x76, 0x3A, 0x7D, 0x77, - 0x06, 0x9E, 0x77, 0x7F, 0x5E, 0xEB, 0x32, 0x51, 0xF9, 0x16, 0x66, 0x9A, 0x09, 0xF3, 0xB0, 0x08, - 0xA4, 0x70, 0x96, 0x46, 0x30, 0xFF, 0xDA, 0x4F, 0xE9, 0x1B, 0xED, 0x8D, 0xF8, 0x74, 0x1F, 0x31, - 0x92, 0xB3, 0x73, 0x17, 0x36, 0xDB, 0x91, 0x30, 0xD6, 0x88, 0x55, 0x6B, 0x34, 0x77, 0x87, 0x7A, - 0xE7, 0xEE, 0x06, 0xC6, 0x1C, 0x8C, 0x19, 0x0C, 0x48, 0x46, 0x23, 0x5E, 0x9C, 0x07, 0x5C, 0xBF, - 0xB4, 0x7E, 0xD6, 0x4F, 0x74, 0x9C, 0xE2, 0xC5, 0x50, 0x8B, 0xC5, 0x8B, 0x15, 0x90, 0x60, 0x62, - 0x57, 0x29, 0xD0, 0x13, 0x43, 0xA1, 0x80, 0x88, 0x91, 0x00, 0x44, 0xC7, 0x4D, 0x19, 0x86, 0xCC, - 0x2F, 0x2A, 0x75, 0x5A, 0xFC, 0xEB, 0x97, 0x2A, 0x70, 0xE3, 0x78, 0xD8, 0x91, 0xB0, 0x4F, 0x99, - 0x07, 0xA3, 0x95, 0xEA, 0x24, 0x21, 0xD5, 0xDE, 0x51, 0x20, 0x93, 0x27, 0x0A, 0x30, 0x73, 0xA8, - 0xFF, 0x8A, 0x97, 0xE9, 0xA7, 0x6A, 0x8E, 0x0D, 0xE8, 0xF0, 0xDF, 0xEC, 0xEA, 0xB4, 0x6C, 0x1D, - 0x39, 0x2A, 0x62, 0x2D, 0x3D, 0x5A, 0x8B, 0x65, 0xF8, 0x90, 0x05, 0x2E, 0x7E, 0x91, 0x2C, 0x78, - 0xEF, 0x8E, 0x7A, 0xC1, 0x2F, 0xAC, 0x78, 0xEE, 0xAF, 0x28, 0x45, 0x06, 0x4C, 0x26, 0xAF, 0x3B, - 0xA2, 0xDB, 0xA3, 0x93, 0x06, 0xB5, 0x3C, 0xA5, 0xD8, 0xEE, 0x8F, 0xAF, 0x25, 0xCC, 0x3F, 0x85, - 0x68, 0x48, 0xA9, 0x62, 0xCC, 0x97, 0x8F, 0x7F, 0x2A, 0xEA, 0xE0, 0x15, 0x0A, 0xAD, 0x62, 0x07, - 0xBD, 0x45, 0xF8, 0x41, 0xD8, 0x36, 0xCB, 0x4C, 0xDB, 0x6E, 0xE6, 0x3A, 0xE7, 0xDA, 0x15, 0xE9, - 0x29, 0x1E, 0x12, 0x10, 0xA0, 0x14, 0x2C, 0x0E, 0x3D, 0xF4, 0xBF, 0x39, 0x41, 0x92, 0x75, 0x0B, - 0x25, 0x7B, 0xA3, 0xCE, 0x39, 0x9C, 0x15, 0x64, 0xC8, 0xFA, 0x3D, 0xEF, 0x73, 0x27, 0xFE, 0x26, - 0x2E, 0xCE, 0xDA, 0x6E, 0xFD, 0x71, 0x8E, 0xDD, 0xFE, 0x76, 0xEE, 0xDC, 0x12, 0x5C, 0x02, 0xC5, - 0x3A, 0x4E, 0x4E, 0x4F, 0xBF, 0xCA, 0x40, 0x15, 0xC7, 0x6E, 0x8D, 0x41, 0xF1, 0x10, 0xE0, 0x4F, - 0x7E, 0x97, 0x7F, 0x1C, 0xAE, 0x47, 0x8E, 0x6B, 0xB1, 0x25, 0x31, 0xB0, 0x73, 0xC7, 0x1B, 0x97, - 0x79, 0xF9, 0x80, 0xD3, 0x66, 0x22, 0x30, 0x07, 0x74, 0x1E, 0xE4, 0xD0, 0x80, 0x21, 0xD6, 0xEE, - 0x6B, 0x6C, 0x4F, 0xBF, 0xF5, 0xB7, 0xD9, 0x09, 0x87, 0x2F, 0xA9, 0x14, 0xBE, 0x27, 0xD9, 0x72, - 0x50, 0x01, 0xD4, 0x13, 0x73, 0xA6, 0xA7, 0x51, 0x02, 0x75, 0x25, 0xE1, 0xB3, 0x45, 0x34, 0x7D, - 0xA8, 0x8E, 0xEB, 0xF3, 0x16, 0x49, 0xCB, 0x4F, 0x8C, 0xA1, 0xB9, 0x36, 0x85, 0x39, 0x75, 0x5D, - 0x08, 0x00, 0xAE, 0xEB, 0xF6, 0xEA, 0xD7, 0x13, 0x3A, 0x21, 0x5A, 0x5F, 0x30, 0x84, 0x52, 0x26, - 0x95, 0xC9, 0x14, 0xF2, 0x57, 0x55, 0x6B, 0xB1, 0x10, 0xC2, 0xE1, 0xBD, 0x3B, 0x51, 0xC0, 0xB7, - 0x55, 0x4C, 0x71, 0x12, 0x26, 0xC7, 0x0D, 0xF9, 0x51, 0xA4, 0x38, 0x02, 0x05, 0x7F, 0xB8, 0xF1, - 0x72, 0x4B, 0xBF, 0x71, 0x89, 0x14, 0xF3, 0x77, 0x38, 0xD9, 0x71, 0x24, 0xF3, 0x00, 0x11, 0xA1, - 0xD8, 0xD4, 0x69, 0x27, 0x08, 0x37, 0x35, 0xC9, 0x11, 0x9D, 0x90, 0x1C, 0x0E, 0xE7, 0x1C, 0xFF, - 0x2D, 0x1E, 0xE8, 0x92, 0xE1, 0x18, 0x10, 0x95, 0x7C, 0xE0, 0x80, 0xF4, 0x96, 0x43, 0x21, 0xF9, - 0x75, 0x21, 0x64, 0x38, 0xDD, 0x9F, 0x1E, 0x95, 0x16, 0xDA, 0x56, 0x1D, 0x4F, 0x9A, 0x53, 0xB2, - 0xE2, 0xE4, 0x18, 0xCB, 0x6B, 0x1A, 0x65, 0xEB, 0x56, 0xC6, 0x3B, 0xE5, 0xFE, 0xD8, 0x26, 0x3F, - 0x3A, 0x84, 0x59, 0x72, 0x66, 0xA2, 0xF3, 0x75, 0xFF, 0xFB, 0x60, 0xB3, 0x22, 0xAD, 0x3F, 0x2D, - 0x6B, 0xF9, 0xEB, 0xEA, 0x05, 0x7C, 0xD8, 0x8F, 0x6D, 0x2C, 0x98, 0x9E, 0x2B, 0x93, 0xF1, 0x5E, - 0x46, 0xF0, 0x87, 0x49, 0x29, 0x73, 0x68, 0xD7, 0x7F, 0xF9, 0xF0, 0xE5, 0x7D, 0xDB, 0x1D, 0x75, - 0x19, 0xF3, 0xC4, 0x58, 0x9B, 0x17, 0x88, 0xA8, 0x92, 0xE0, 0xBE, 0xBD, 0x8B, 0x1D, 0x8D, 0x9F, - 0x56, 0x76, 0xAD, 0xAF, 0x29, 0xE2, 0xD9, 0xD5, 0x52, 0xF6, 0xB5, 0x56, 0x35, 0x57, 0x3A, 0xC8, - 0xE1, 0x56, 0x43, 0x19, 0x94, 0xD3, 0x04, 0x9B, 0x6D, 0x35, 0xD8, 0x0B, 0x5F, 0x4D, 0x19, 0x8E, - 0xEC, 0xFA, 0x64, 0x91, 0x0A, 0x72, 0x20, 0x2B, 0xBC, 0x1A, 0x4A, 0xFE, 0x8B, 0xFD, 0xBB, 0xED, - 0x1B, 0x23, 0xEA, 0xAD, 0x72, 0x82, 0xA1, 0x29, 0x99, 0x71, 0xBD, 0xF0, 0x95, 0xC1, 0x03, 0xDD, - 0x7B, 0xC2, 0xB2, 0x3C, 0x28, 0x54, 0xD3, 0x68, 0xA4, 0x72, 0xC8, 0x66, 0x96, 0xE0, 0xD1, 0xD8, - 0x7F, 0xF8, 0xD1, 0x26, 0x2B, 0xF7, 0xAD, 0xBA, 0x55, 0xCA, 0x15, 0xB9, 0x32, 0xC3, 0xE5, 0x88, - 0x97, 0x8E, 0x5C, 0xFB, 0x92, 0x25, 0x8B, 0xBF, 0xA2, 0x45, 0x55, 0x7A, 0xA7, 0x6F, 0x8B, 0x57, - 0x5B, 0xCF, 0x0E, 0xCB, 0x1D, 0xFB, 0x20, 0x82, 0x77, 0xA8, 0x8C, 0xCC, 0x16, 0xCE, 0x1D, 0xFA, - 0xDE, 0xCC, 0x0B, 0x62, 0xFE, 0xCC, 0xE1, 0xB7, 0xF0, 0xC3, 0x81, 0x64, 0x73, 0x40, 0xA0, 0xC2, - 0x4D, 0x89, 0x11, 0x75, 0x33, 0x55, 0x33, 0x8D, 0xE8, 0x4A, 0xFD, 0xEA, 0x6E, 0x30, 0x0B, 0xD7, - 0x31, 0x2C, 0xDE, 0x47, 0xE3, 0xBF, 0xF8, 0x55, 0x42, 0xE2, 0x7F, 0x59, 0xE5, 0x17, 0xEF, 0x99, - 0x34, 0x69, 0x91, 0xB1, 0x23, 0x8E, 0x20, 0x87, 0x2D, 0xA8, 0xFE, 0xD5, 0x8A, 0xF3, 0x84, 0x3A, - 0xF0, 0x37, 0xE4, 0x09, 0x00, 0x54, 0xEE, 0x67, 0x49, 0x93, 0xE4, 0x81, 0x70, 0xE3, 0x90, 0x4D, - 0xEF, 0xFE, 0x41, 0xB7, 0x99, 0x7B, 0xC1, 0x83, 0xBA, 0x62, 0x12, 0x6F, 0x7D, 0xDE, 0x6B, 0xAF, - 0xDA, 0x16, 0xF9, 0x55, 0x51, 0xEE, 0xA6, 0x0C, 0x2B, 0x02, 0xA3, 0xFD, 0x8D, 0xFB, 0x30, 0x17, - 0xE4, 0x6F, 0xDF, 0x36, 0x71, 0xC4, 0xCA, 0x87, 0x25, 0x48, 0xB0, 0x47, 0xEC, 0xEA, 0xB4, 0xBF, - 0xA5, 0x4D, 0x9B, 0x9F, 0x02, 0x93, 0xC4, 0xE3, 0xE4, 0xE8, 0x42, 0x2D, 0x68, 0x81, 0x15, 0x0A, - 0xEB, 0x84, 0x5B, 0xD6, 0xA8, 0x74, 0xFB, 0x7D, 0x1D, 0xCB, 0x2C, 0xDA, 0x46, 0x2A, 0x76, 0x62, - 0xCE, 0xBC, 0x5C, 0x9E, 0x8B, 0xE7, 0xCF, 0xBE, 0x78, 0xF5, 0x7C, 0xEB, 0xB3, 0x3A, 0x9C, 0xAA, - 0x6F, 0xCC, 0x72, 0xD1, 0x59, 0xF2, 0x11, 0x23, 0xD6, 0x3F, 0x48, 0xD1, 0xB7, 0xCE, 0xB0, 0xBF, - 0xCB, 0xEA, 0x80, 0xDE, 0x57, 0xD4, 0x5E, 0x97, 0x2F, 0x75, 0xD1, 0x50, 0x8E, 0x80, 0x2C, 0x66, - 0x79, 0xBF, 0x72, 0x4B, 0xBD, 0x8A, 0x81, 0x6C, 0xD3, 0xE1, 0x01, 0xDC, 0xD2, 0x15, 0x26, 0xC5, - 0x36, 0xDA, 0x2C, 0x1A, 0xC0, 0x27, 0x94, 0xED, 0xB7, 0x9B, 0x85, 0x0B, 0x5E, 0x80, 0x97, 0xC5, - 0xEC, 0x4F, 0xEC, 0x88, 0x5D, 0x50, 0x07, 0x35, 0x47, 0xDC, 0x0B, 0x3B, 0x3D, 0xDD, 0x60, 0xAF, - 0xA8, 0x5D, 0x81, 0x38, 0x24, 0x25, 0x5D, 0x5C, 0x15, 0xD1, 0xDE, 0xB3, 0xAB, 0xEC, 0x05, 0x69, - 0xEF, 0x83, 0xED, 0x57, 0x54, 0xB8, 0x64, 0x64, 0x11, 0x16, 0x32, 0x69, 0xDA, 0x9F, 0x2D, 0x7F, - 0x36, 0xBB, 0x44, 0x5A, 0x34, 0xE8, 0x7F, 0xBF, 0x03, 0xEB, 0x00, 0x7F, 0x59, 0x68, 0x22, 0x79, - 0xCF, 0x73, 0x6C, 0x2C, 0x29, 0xA7, 0xA1, 0x5F, 0x38, 0xA1, 0x1D, 0xF0, 0x20, 0x53, 0xE0, 0x1A, - 0x63, 0x14, 0x58, 0x71, 0x10, 0xAA, 0x08, 0x0C, 0x3E, 0x16, 0x1A, 0x60, 0x22, 0x82, 0x7F, 0xBA, - 0xA4, 0x43, 0xA0, 0xD0, 0xAC, 0x1B, 0xD5, 0x6B, 0x64, 0xB5, 0x14, 0x93, 0x31, 0x9E, 0x53, 0x50, - 0xD0, 0x57, 0x66, 0xEE, 0x5A, 0x4F, 0xFB, 0x03, 0x2A, 0x69, 0x58, 0x76, 0xF1, 0x83, 0xF7, 0x4E, - 0xBA, 0x8C, 0x42, 0x06, 0x60, 0x5D, 0x6D, 0xCE, 0x60, 0x88, 0xAE, 0xA4, 0xC3, 0xF1, 0x03, 0xA5, - 0x4B, 0x98, 0xA1, 0xFF, 0x67, 0xE1, 0xAC, 0xA2, 0xB8, 0x62, 0xD7, 0x6F, 0xA0, 0x31, 0xB4, 0xD2, - 0x77, 0xAF, 0x21, 0x10, 0x06, 0xC6, 0x9A, 0xFF, 0x1D, 0x09, 0x17, 0x0E, 0x5F, 0xF1, 0xAA, 0x54, - 0x34, 0x4B, 0x45, 0x8A, 0x87, 0x63, 0xA6, 0xDC, 0xF9, 0x24, 0x30, 0x67, 0xC6, 0xB2, 0xD6, 0x61, - 0x33, 0x69, 0xEE, 0x50, 0x61, 0x57, 0x28, 0xE7, 0x7E, 0xEE, 0xEC, 0x3A, 0x5A, 0x73, 0x4E, 0xA8, - 0x8D, 0xE4, 0x18, 0xEA, 0xEC, 0x41, 0x64, 0xC8, 0xE2, 0xE8, 0x66, 0xB6, 0x2D, 0xB6, 0xFB, 0x6A, - 0x6C, 0x16, 0xB3, 0xDD, 0x46, 0x43, 0xB9, 0x73, 0x00, 0x6A, 0x71, 0xED, 0x4E, 0x9D, 0x25, 0x1A, - 0xC3, 0x3C, 0x4A, 0x95, 0x15, 0x99, 0x35, 0x81, 0x14, 0x02, 0xD6, 0x98, 0x9B, 0xEC, 0xD8, 0x23, - 0x3B, 0x84, 0x29, 0xAF, 0x0C, 0x99, 0x83, 0xA6, 0x9A, 0x34, 0x4F, 0xFA, 0xE8, 0xD0, 0x3C, 0x4B, - 0xD0, 0xFB, 0xB6, 0x68, 0xB8, 0x9E, 0x8F, 0xCD, 0xF7, 0x60, 0x2D, 0x7A, 0x22, 0xE5, 0x7D, 0xAB, - 0x65, 0x1B, 0x95, 0xA7, 0xA8, 0x7F, 0xB6, 0x77, 0x47, 0x7B, 0x5F, 0x8B, 0x12, 0x72, 0xD0, 0xD4, - 0x91, 0xEF, 0xDE, 0x19, 0x50, 0x3C, 0xA7, 0x8B, 0xC4, 0xA9, 0xB3, 0x23, 0xCB, 0x76, 0xE6, 0x81, - 0xF0, 0xC1, 0x04, 0x8F, 0xA3, 0xB8, 0x54, 0x5B, 0x97, 0xAC, 0x19, 0xFF, 0x3F, 0x55, 0x27, 0x2F, - 0xE0, 0x1D, 0x42, 0x9B, 0x57, 0xFC, 0x4B, 0x4E, 0x0F, 0xCE, 0x98, 0xA9, 0x43, 0x57, 0x03, 0xBD, - 0xE7, 0xC8, 0x94, 0xDF, 0x6E, 0x36, 0x73, 0x32, 0xB4, 0xEF, 0x2E, 0x85, 0x7A, 0x6E, 0xFC, 0x6C, - 0x18, 0x82, 0x75, 0x35, 0x90, 0x07, 0xF3, 0xE4, 0x9F, 0x3E, 0xDC, 0x68, 0xF3, 0xB5, 0xF3, 0x19, - 0x80, 0x92, 0x06, 0x99, 0xA2, 0xE8, 0x6F, 0xFF, 0x2E, 0x7F, 0xAE, 0x42, 0xA4, 0x5F, 0xFB, 0xD4, - 0x0E, 0x81, 0x2B, 0xC3, 0x04, 0xFF, 0x2B, 0xB3, 0x74, 0x4E, 0x36, 0x5B, 0x9C, 0x15, 0x00, 0xC6, - 0x47, 0x2B, 0xE8, 0x8B, 0x3D, 0xF1, 0x9C, 0x03, 0x9A, 0x58, 0x7F, 0x9B, 0x9C, 0xBF, 0x85, 0x49, - 0x79, 0x35, 0x2E, 0x56, 0x7B, 0x41, 0x14, 0x39, 0x47, 0x83, 0x26, 0xAA, 0x07, 0x89, 0x98, 0x11, - 0x1B, 0x86, 0xE7, 0x73, 0x7A, 0xD8, 0x7D, 0x78, 0x61, 0x53, 0xE9, 0x79, 0xF5, 0x36, 0x8D, 0x44, - 0x92, 0x84, 0xF9, 0x13, 0x50, 0x58, 0x3B, 0xA4, 0x6A, 0x36, 0x65, 0x49, 0x8E, 0x3C, 0x0E, 0xF1, - 0x6F, 0xD2, 0x84, 0xC4, 0x7E, 0x8E, 0x3F, 0x39, 0xAE, 0x7C, 0x84, 0xF1, 0x63, 0x37, 0x8E, 0x3C, - 0xCC, 0x3E, 0x44, 0x81, 0x45, 0xF1, 0x4B, 0xB9, 0xED, 0x6B, 0x36, 0x5D, 0xBB, 0x20, 0x60, 0x1A, - 0x0F, 0xA3, 0xAA, 0x55, 0x77, 0x3A, 0xA9, 0xAE, 0x37, 0x4D, 0xBA, 0xB8, 0x86, 0x6B, 0xBC, 0x08, - 0x50, 0xF6, 0xCC, 0xA4, 0xBD, 0x1D, 0x40, 0x72, 0xA5, 0x86, 0xFA, 0xE2, 0x10, 0xAE, 0x3D, 0x58, - 0x4B, 0x97, 0xF3, 0x43, 0x74, 0xA9, 0x9E, 0xEB, 0x21, 0xB7, 0x01, 0xA4, 0x86, 0x93, 0x97, 0xEE, - 0x2F, 0x4F, 0x3B, 0x86, 0xA1, 0x41, 0x6F, 0x41, 0x26, 0x90, 0x78, 0x5C, 0x7F, 0x30, 0x38, 0x4B, - 0x3F, 0xAA, 0xEC, 0xED, 0x5C, 0x6F, 0x0E, 0xAD, 0x43, 0x87, 0xFD, 0x93, 0x35, 0xE6, 0x01, 0xEF, - 0x41, 0x26, 0x90, 0x99, 0x9E, 0xFB, 0x19, 0x5B, 0xAD, 0xD2, 0x91, 0x8A, 0xE0, 0x46, 0xAF, 0x65, - 0xFA, 0x4F, 0x84, 0xC1, 0xA1, 0x2D, 0xCF, 0x45, 0x8B, 0xD3, 0x85, 0x50, 0x55, 0x7C, 0xF9, 0x67, - 0x88, 0xD4, 0x4E, 0xE9, 0xD7, 0x6B, 0x61, 0x54, 0xA1, 0xA4, 0xA6, 0xA2, 0xC2, 0xBF, 0x30, 0x9C, - 0x40, 0x9F, 0x5F, 0xD7, 0x69, 0x2B, 0x24, 0x82, 0x5E, 0xD9, 0xD6, 0xA7, 0x12, 0x54, 0x1A, 0xF7, - 0x55, 0x9F, 0x76, 0x50, 0xA9, 0x95, 0x84, 0xE6, 0x6B, 0x6D, 0xB5, 0x96, 0x54, 0xD6, 0xCD, 0xB3, - 0xA1, 0x9B, 0x46, 0xA7, 0x94, 0x4D, 0xC4, 0x94, 0xB4, 0x98, 0xE3, 0xE1, 0xE2, 0x34, 0xD5, 0x33, - 0x16, 0x07, 0x54, 0xCD, 0xB7, 0x77, 0x53, 0xDB, 0x4F, 0x4D, 0x46, 0x9D, 0xE9, 0xD4, 0x9C, 0x8A, - 0x36, 0xB6, 0xB8, 0x38, 0x26, 0x6C, 0x0E, 0xFF, 0x9C, 0x1B, 0x43, 0x8B, 0x80, 0xCC, 0xB9, 0x3D, - 0xDA, 0xC7, 0xF1, 0x8A, 0xF2, 0x6D, 0xB8, 0xD7, 0x74, 0x2F, 0x7E, 0x1E, 0xB7, 0xD3, 0x4A, 0xB4, - 0xAC, 0xFC, 0x79, 0x48, 0x6C, 0xBC, 0x96, 0xB6, 0x94, 0x46, 0x57, 0x2D, 0xB0, 0xA3, 0xFC, 0x1E, - 0xB9, 0x52, 0x60, 0x85, 0x2D, 0x41, 0xD0, 0x43, 0x01, 0x1E, 0x1C, 0xD5, 0x7D, 0xFC, 0xF3, 0x96, - 0x0D, 0xC7, 0xCB, 0x2A, 0x29, 0x9A, 0x93, 0xDD, 0x88, 0x2D, 0x37, 0x5D, 0xAA, 0xFB, 0x49, 0x68, - 0xA0, 0x9C, 0x50, 0x86, 0x7F, 0x68, 0x56, 0x57, 0xF9, 0x79, 0x18, 0x39, 0xD4, 0xE0, 0x01, 0x84, - 0x33, 0x61, 0xCA, 0xA5, 0xD2, 0xD6, 0xE4, 0xC9, 0x8A, 0x4A, 0x23, 0x44, 0x4E, 0xBC, 0xF0, 0xDC, - 0x24, 0xA1, 0xA0, 0xC4, 0xE2, 0x07, 0x3C, 0x10, 0xC4, 0xB5, 0x25, 0x4B, 0x65, 0x63, 0xF4, 0x80, - 0xE7, 0xCF, 0x61, 0xB1, 0x71, 0x82, 0x21, 0x87, 0x2C, 0xF5, 0x91, 0x00, 0x32, 0x0C, 0xEC, 0xA9, - 0xB5, 0x9A, 0x74, 0x85, 0xE3, 0x36, 0x8F, 0x76, 0x4F, 0x9C, 0x6D, 0xCE, 0xBC, 0xAD, 0x0A, 0x4B, - 0xED, 0x76, 0x04, 0xCB, 0xC3, 0xB9, 0x33, 0x9E, 0x01, 0x93, 0x96, 0x69, 0x7D, 0xC5, 0xA2, 0x45, - 0x79, 0x9B, 0x04, 0x5C, 0x84, 0x09, 0xED, 0x88, 0x43, 0xC7, 0xAB, 0x93, 0x14, 0x26, 0xA1, 0x40, - 0xB5, 0xCE, 0x4E, 0xBF, 0x2A, 0x42, 0x85, 0x3E, 0x2C, 0x3B, 0x54, 0xE8, 0x12, 0x1F, 0x0E, 0x97, - 0x59, 0xB2, 0x27, 0x89, 0xFA, 0xF2, 0xDF, 0x8E, 0x68, 0x59, 0xDC, 0x06, 0xBC, 0xB6, 0x85, 0x0D, - 0x06, 0x22, 0xEC, 0xB1, 0xCB, 0xE5, 0x04, 0xE6, 0x3D, 0xB3, 0xB0, 0x41, 0x73, 0x08, 0x3F, 0x3C, - 0x58, 0x86, 0x63, 0xEB, 0x50, 0xEE, 0x1D, 0x2C, 0x37, 0x74, 0xA9, 0xD3, 0x18, 0xA3, 0x47, 0x6E, - 0x93, 0x54, 0xAD, 0x0A, 0x5D, 0xB8, 0x2A, 0x55, 0x5D, 0x78, 0xF6, 0xEE, 0xBE, 0x8E, 0x3C, 0x76, - 0x69, 0xB9, 0x40, 0xC2, 0x34, 0xEC, 0x2A, 0xB9, 0xED, 0x7E, 0x20, 0xE4, 0x8D, 0x00, 0x38, 0xC7, - 0xE6, 0x8F, 0x44, 0xA8, 0x86, 0xCE, 0xEB, 0x2A, 0xE9, 0x90, 0xF1, 0x4C, 0xDF, 0x32, 0xFB, 0x73, - 0x1B, 0x6D, 0x92, 0x1E, 0x95, 0xFE, 0xB4, 0xDB, 0x65, 0xDF, 0x4D, 0x23, 0x54, 0x89, 0x48, 0xBF, - 0x4A, 0x2E, 0x70, 0xD6, 0xD7, 0x62, 0xB4, 0x33, 0x29, 0xB1, 0x3A, 0x33, 0x4C, 0x23, 0x6D, 0xA6, - 0x76, 0xA5, 0x21, 0x63, 0x48, 0xE6, 0x90, 0x5D, 0xED, 0x90, 0x95, 0x0B, 0x7A, 0x84, 0xBE, 0xB8, - 0x0D, 0x5E, 0x63, 0x0C, 0x62, 0x26, 0x4C, 0x14, 0x5A, 0xB3, 0xAC, 0x23, 0xA4, 0x74, 0xA7, 0x6F, - 0x33, 0x30, 0x05, 0x60, 0x01, 0x42, 0xA0, 0x28, 0xB7, 0xEE, 0x19, 0x38, 0xF1, 0x64, 0x80, 0x82, - 0x43, 0xE1, 0x41, 0x27, 0x1F, 0x1F, 0x90, 0x54, 0x7A, 0xD5, 0x23, 0x2E, 0xD1, 0x3D, 0xCB, 0x28, - 0xBA, 0x58, 0x7F, 0xDC, 0x7C, 0x91, 0x24, 0xE9, 0x28, 0x51, 0x83, 0x6E, 0xC5, 0x56, 0x21, 0x42, - 0xED, 0xA0, 0x56, 0x22, 0xA1, 0x40, 0x80, 0x6B, 0xA8, 0xF7, 0x94, 0xCA, 0x13, 0x6B, 0x0C, 0x39, - 0xD9, 0xFD, 0xE9, 0xF3, 0x6F, 0xA6, 0x9E, 0xFC, 0x70, 0x8A, 0xB3, 0xBC, 0x59, 0x3C, 0x1E, 0x1D, - 0x6C, 0xF9, 0x7C, 0xAF, 0xF9, 0x88, 0x71, 0x95, 0xEB, 0x57, 0x00, 0xBD, 0x9F, 0x8C, 0x4F, 0xE1, - 0x24, 0x83, 0xC5, 0x22, 0xEA, 0xFD, 0xD3, 0x0C, 0xE2, 0x17, 0x18, 0x7C, 0x6A, 0x4C, 0xDE, 0x77, - 0xB4, 0x53, 0x9B, 0x4C, 0x81, 0xCD, 0x23, 0x60, 0xAA, 0x0E, 0x25, 0x73, 0x9C, 0x02, 0x79, 0x32, - 0x30, 0xDF, 0x74, 0xDF, 0x75, 0x19, 0xF4, 0xA5, 0x14, 0x5C, 0xF7, 0x7A, 0xA8, 0xA5, 0x91, 0x84, - 0x7C, 0x60, 0x03, 0x06, 0x3B, 0xCD, 0x50, 0xB6, 0x27, 0x9C, 0xFE, 0xB1, 0xDD, 0xCC, 0xD3, 0xB0, - 0x59, 0x24, 0xB2, 0xCA, 0xE2, 0x1C, 0x81, 0x22, 0x9D, 0x07, 0x8F, 0x8E, 0xB9, 0xBE, 0x4E, 0xFA, - 0xFC, 0x39, 0x65, 0xBA, 0xBF, 0x9D, 0x12, 0x37, 0x5E, 0x97, 0x7E, 0xF3, 0x89, 0xF5, 0x5D, 0xF5, - 0xE3, 0x09, 0x8C, 0x62, 0xB5, 0x20, 0x9D, 0x0C, 0x53, 0x8A, 0x68, 0x1B, 0xD2, 0x8F, 0x75, 0x17, - 0x5D, 0xD4, 0xE5, 0xDA, 0x75, 0x62, 0x19, 0x14, 0x6A, 0x26, 0x2D, 0xEB, 0xF8, 0xAF, 0x37, 0xF0, - 0x6C, 0xA4, 0x55, 0xB1, 0xBC, 0xE2, 0x33, 0xC0, 0x9A, 0xCA, 0xB0, 0x11, 0x49, 0x4F, 0x68, 0x9B, - 0x3B, 0x6B, 0x3C, 0xCC, 0x13, 0xF6, 0xC7, 0x85, 0x61, 0x68, 0x42, 0xAE, 0xBB, 0xDD, 0xCD, 0x45, - 0x16, 0x29, 0x1D, 0xEA, 0xDB, 0xC8, 0x03, 0x94, 0x3C, 0xEE, 0x4F, 0x82, 0x11, 0xC3, 0xEC, 0x28, - 0xBD, 0x97, 0x05, 0x99, 0xDE, 0xD7, 0xBB, 0x5E, 0x22, 0x1F, 0xD4, 0xEB, 0x64, 0xD9, 0x92, 0xD9, - 0x85, 0xB7, 0x6A, 0x05, 0x6A, 0xE4, 0x24, 0x41, 0xF1, 0xCD, 0xF0, 0xD8, 0x3F, 0xF8, 0x9E, 0x0E, - 0xCD, 0x0B, 0x7A, 0x70, 0x6B, 0x5A, 0x75, 0x0A, 0x6A, 0x33, 0x88, 0xEC, 0x17, 0x75, 0x08, 0x70, - 0x10, 0x2F, 0x24, 0xCF, 0xC4, 0xE9, 0x42, 0x00, 0x61, 0x94, 0xCA, 0x1F, 0x3A, 0x76, 0x06, 0xFA, - 0xD2, 0x48, 0x81, 0xF0, 0x77, 0x60, 0x03, 0x45, 0xD9, 0x61, 0xF4, 0xA4, 0x6F, 0x3D, 0xD9, 0x30, - 0xC3, 0x04, 0x6B, 0x54, 0x2A, 0xB7, 0xEC, 0x3B, 0xF4, 0x4B, 0xF5, 0x68, 0x52, 0x26, 0xCE, 0xFF, - 0x5D, 0x19, 0x91, 0xA0, 0xA3, 0xA5, 0xA9, 0xB1, 0xE0, 0x23, 0xC4, 0x0A, 0x77, 0x4D, 0xF9, 0x51, - 0x20, 0xA3, 0xA5, 0xA9, 0xB1, 0xC1, 0x00, 0x82, 0x86, 0x8E, 0x7F, 0x5D, 0x19, 0x91, 0xA0, 0xA3, - 0xC4, 0xEB, 0x54, 0x0B, 0x75, 0x68, 0x52, 0x07, 0x8C, 0x9A, 0x97, 0x8D, 0x79, 0x70, 0x62, 0x46, - 0xEF, 0x5C, 0x1B, 0x95, 0x89, 0x71, 0x41, 0xE1, 0x21, 0xA1, 0xA1, 0xA1, 0xC0, 0x02, 0x67, 0x4C, - 0x1A, 0xB6, 0xCF, 0xFD, 0x78, 0x53, 0x24, 0xAB, 0xB5, 0xC9, 0xF1, 0x60, 0x23, 0xA5, 0xC8, 0x12, - 0x87, 0x6D, 0x58, 0x13, 0x85, 0x88, 0x92, 0x87, 0x6D, 0x58, 0x32, 0xC7, 0x0C, 0x9A, 0x97, 0xAC, - 0xDA, 0x36, 0xEE, 0x5E, 0x3E, 0xDF, 0x1D, 0xB8, 0xF2, 0x66, 0x2F, 0xBD, 0xF8, 0x72, 0x47, 0xED, - 0x58, 0x13, 0x85, 0x88, 0x92, 0x87, 0x8C, 0x7B, 0x55, 0x09, 0x90, 0xA2, 0xC6, 0xEF, 0x3D, 0xF8, - 0x53, 0x24, 0xAB, 0xD4, 0x2A, 0xB7, 0xEC, 0x5A, 0x36, 0xEE, 0x5E, 0x3E, 0xDF, 0x3C, 0xFA, 0x76, - 0x4F, 0xFD, 0x59, 0x30, 0xE2, 0x46, 0xEF, 0x3D, 0xF8, 0x53, 0x05, 0x69, 0x31, 0xC1, 0x00, 0x82, - 0x86, 0x8E, 0x7F, 0x5D, 0x19, 0xB0, 0xE2, 0x27, 0xCC, 0xFB, 0x74, 0x4B, 0x14, 0x8B, 0x94, 0x8B, - 0x75, 0x68, 0x33, 0xC5, 0x08, 0x92, 0x87, 0x8C, 0x9A, 0xB6, 0xCF, 0x1C, 0xBA, 0xD7, 0x0D, 0x98, - 0xB2, 0xE6, 0x2F, 0xDC, 0x1B, 0x95, 0x89, 0x71, 0x60, 0x23, 0xC4, 0x0A, 0x96, 0x8F, 0x9C, 0xBA, - 0xF6, 0x6E, 0x3F, 0xFC, 0x5B, 0x15, 0xA8, 0xD2, 0x26, 0xAF, 0xBD, 0xF8, 0x72, 0x66, 0x2F, 0xDC, - 0x1B, 0xB4, 0xCB, 0x14, 0x8B, 0x94, 0xAA, 0xB7, 0xCD, 0xF9, 0x51, 0x01, 0x80, 0x82, 0x86, 0x6F, - 0x3D, 0xD9, 0x30, 0xE2, 0x27, 0xCC, 0xFB, 0x74, 0x4B, 0x14, 0xAA, 0xB7, 0xCD, 0xF9, 0x70, 0x43, - 0x04, 0x6B, 0x35, 0xC9, 0xF1, 0x60, 0x23, 0xA5, 0xC8, 0xF3, 0x45, 0x08, 0x92, 0x87, 0x6D, 0x58, - 0x32, 0xE6, 0x2F, 0xBD, 0xF8, 0x72, 0x66, 0x4E, 0x1E, 0xBE, 0xFE, 0x7E, 0x7E, 0x7E, 0x5F, 0x1D, - 0x99, 0x91, 0xA0, 0xA3, 0xC4, 0x0A, 0x77, 0x4D, 0x18, 0x93, 0xA4, 0xAB, 0xD4, 0x0B, 0x75, 0x49, - 0x10, 0xA2, 0xC6, 0xEF, 0x3D, 0xF8, 0x53, 0x24, 0xAB, 0xB5, 0xE8, 0x33, 0xE4, 0x4A, 0x16, 0xAE, - 0xDE, 0x1F, 0xBC, 0xDB, 0x15, 0xA8, 0xB3, 0xC5, 0x08, 0x73, 0x45, 0xE9, 0x31, 0xC1, 0xE1, 0x21, - 0xA1, 0xA1, 0xA1, 0xC0, 0x02, 0x86, 0x6F, 0x5C, 0x3A, 0xD7, 0x0D, 0x98, 0x93, 0xA4, 0xCA, 0x16, - 0xAE, 0xDE, 0x1F, 0x9D, 0x99, 0xB0, 0xE2, 0x46, 0xEF, 0x3D, 0xF8, 0x72, 0x47, 0x0C, 0x9A, 0xB6, - 0xCF, 0xFD, 0x59, 0x11, 0xA0, 0xA3, 0xA5, 0xC8, 0xF3, 0x45, 0x08, 0x92, 0x87, 0x6D, 0x39, 0xF0, - 0x43, 0x04, 0x8A, 0x96, 0xAE, 0xDE, 0x3E, 0xDF, 0x1D, 0x99, 0x91, 0xA0, 0xC2, 0x06, 0x6F, 0x3D, - 0xF8, 0x72, 0x47, 0x0C, 0x9A, 0x97, 0x8D, 0x98, 0x93, 0x85, 0x88, 0x73, 0x45, 0xE9, 0x31, 0xE0, - 0x23, 0xA5, 0xA9, 0xD0, 0x03, 0x84, 0x8A, 0x96, 0xAE, 0xDE, 0x1F, 0xBC, 0xDB, 0x15, 0xA8, 0xD2, - 0x26, 0xCE, 0xFF, 0x5D, 0x19, 0x91, 0x81, 0x80, 0x82, 0x67, 0x2D, 0xD8, 0x13, 0xA4, 0xAB, 0xD4, - 0x0B, 0x94, 0xAA, 0xB7, 0xCD, 0xF9, 0x51, 0x20, 0xA3, 0xA5, 0xC8, 0xF3, 0x45, 0xE9, 0x50, 0x22, - 0xC6, 0xEF, 0x5C, 0x3A, 0xD7, 0x0D, 0x98, 0x93, 0x85, 0x88, 0x73, 0x64, 0x4A, 0xF7, 0x4D, 0xF9, - 0x51, 0x20, 0xA3, 0xC4, 0x0A, 0x96, 0xAE, 0xDE, 0x3E, 0xFE, 0x7E, 0x7E, 0x7E, 0x5F, 0x3C, 0xFA, - 0x76, 0x4F, 0xFD, 0x78, 0x72, 0x66, 0x2F, 0xBD, 0xD9, 0x30, 0xC3, 0xE5, 0x48, 0x12, 0x87, 0x8C, - 0x7B, 0x55, 0x28, 0xD2, 0x07, 0x8C, 0x9A, 0x97, 0xAC, 0xDA, 0x17, 0x8D, 0x79, 0x51, 0x20, 0xA3, - 0xC4, 0xEB, 0x54, 0x0B, 0x94, 0x8B, 0x94, 0xAA, 0xD6, 0x2E, 0xBF, 0xFC, 0x5B, 0x15, 0xA8, 0xD2, - 0x26, 0xAF, 0xDC, 0x1B, 0xB4, 0xEA, 0x37, 0xEC, 0x3B, 0xF4, 0x6A, 0x37, 0xCD, 0x18, 0x93, 0x85, - 0x69, 0x31, 0xC1, 0xE1, 0x40, 0xE3, 0x25, 0xC8, 0x12, 0x87, 0x8C, 0x9A, 0xB6, 0xCF, 0xFD, 0x59, - 0x11, 0xA0, 0xC2, 0x06, 0x8E, 0x7F, 0x5D, 0x38, 0xF2, 0x47, 0x0C, 0x7B, 0x74, 0x6A, 0x37, 0xEC, - 0x5A, 0x36, 0xEE, 0x3F, 0xFC, 0x7A, 0x76, 0x4F, 0x1C, 0x9B, 0x95, 0x89, 0x71, 0x41, 0x00, 0x63, - 0x44, 0xEB, 0x54, 0x2A, 0xD6, 0x0F, 0x9C, 0xBA, 0xD7, 0x0D, 0x98, 0x93, 0x85, 0x69, 0x31, 0xC1, - 0x00, 0x82, 0x86, 0x8E, 0x9E, 0xBE, 0xDF, 0x3C, 0xFA, 0x57, 0x2C, 0xDA, 0x36, 0xEE, 0x3F, 0xFC, - 0x5B, 0x15, 0x89, 0x71, 0x41, 0x00, 0x82, 0x86, 0x8E, 0x7F, 0x5D, 0x38, 0xF2, 0x47, 0xED, 0x58, - 0x13, 0xA4, 0xCA, 0xF7, 0x4D, 0xF9, 0x51, 0x01, 0x80, 0x63, 0x44, 0xEB, 0x54, 0x2A, 0xD6, 0x2E, - 0xBF, 0xDD, 0x19, 0x91, 0xA0, 0xA3, 0xA5, 0xA9, 0xB1, 0xE0, 0x42, 0x06, 0x8E, 0x7F, 0x5D, 0x19, - 0x91, 0xA0, 0xA3, 0xC4, 0x0A, 0x96, 0x8F, 0x7D, 0x78, 0x72, 0x47, 0x0C, 0x7B, 0x74, 0x6A, 0x56, - 0x2E, 0xDE, 0x1F, 0xBC, 0xFA, 0x57, 0x0D, 0x79, 0x51, 0x01, 0x61, 0x21, 0xA1, 0xC0, 0xE3, 0x25, - 0xA9, 0xB1, 0xC1, 0xE1, 0x40, 0x02, 0x67, 0x4C, 0x1A, 0x97, 0x8D, 0x98, 0x93, 0xA4, 0xAB, 0xD4, - 0x2A, 0xD6, 0x0F, 0x9C, 0x9B, 0xB4, 0xCB, 0x14, 0xAA, 0xB7, 0xCD, 0xF9, 0x51, 0x20, 0xA3, 0xC4, - 0xEB, 0x35, 0xC9, 0xF1, 0x60, 0x42, 0x06, 0x8E, 0x7F, 0x7C, 0x7A, 0x76, 0x6E, 0x3F, 0xFC, 0x7A, - 0x76, 0x6E, 0x5E, 0x3E, 0xFE, 0x7E, 0x5F, 0x3C, 0xDB, 0x15, 0x89, 0x71, 0x41, 0xE1, 0x21, 0xC0, - 0xE3, 0x44, 0xEB, 0x54, 0x2A, 0xB7, 0xCD, 0xF9, 0x70, 0x62, 0x27, 0xAD, 0xD8, 0x32, 0xC7, 0x0C, - 0x7B, 0x74, 0x4B, 0x14, 0xAA, 0xB7, 0xEC, 0x3B, 0xD5, 0x28, 0xD2, 0x07, 0x6D, 0x39, 0xD1, 0x20, - 0xC2, 0xE7, 0x4C, 0x1A, 0x97, 0x8D, 0x98, 0xB2, 0xC7, 0x0C, 0x59, 0x28, 0xF3, 0x9B -}; +const uint8_t pmw33xx_firmware_signature[2] PROGMEM = {0x42, 0xBD}; diff --git a/drivers/sensors/pmw3389.c b/drivers/sensors/pmw3389.c index 10e578edac6..85d2c8a4296 100644 --- a/drivers/sensors/pmw3389.c +++ b/drivers/sensors/pmw3389.c @@ -28,285 +28,5 @@ void pmw33xx_set_cpi(uint8_t sensor, uint16_t cpi) { pmw33xx_write(sensor, REG_Resolution_L, cpival & 0xFF); } -// PID, Inverse PID, SROM version -const uint8_t pmw33xx_firmware_signature[3] PROGMEM = {0x42, 0xBD, 0x04}; - -// Firmware Blob for PMW3389 -// clang-format off -const uint8_t pmw33xx_firmware_data[PMW33XX_FIRMWARE_LENGTH] PROGMEM = { - 0x01, 0xe8, 0xba, 0x26, 0x0b, 0xb2, 0xbe, 0xfe, 0x7e, 0x5f, 0x3c, 0xdb, 0x15, 0xa8, 0xb3, - 0xe4, 0x2b, 0xb5, 0xe8, 0x53, 0x07, 0x6d, 0x3b, 0xd1, 0x20, 0xc2, 0x06, 0x6f, 0x3d, 0xd9, - 0x11, 0xa0, 0xc2, 0xe7, 0x2d, 0xb9, 0xd1, 0x20, 0xa3, 0xa5, 0xc8, 0xf3, 0x64, 0x4a, 0xf7, - 0x4d, 0x18, 0x93, 0xa4, 0xca, 0xf7, 0x6c, 0x5a, 0x36, 0xee, 0x5e, 0x3e, 0xfe, 0x7e, 0x7e, - 0x5f, 0x1d, 0x99, 0xb0, 0xc3, 0xe5, 0x29, 0xd3, 0x03, 0x65, 0x48, 0x12, 0x87, 0x6d, 0x58, - 0x32, 0xe6, 0x2f, 0xdc, 0x3a, 0xf2, 0x4f, 0xfd, 0x59, 0x11, 0x81, 0x61, 0x21, 0xc0, 0x02, - 0x86, 0x8e, 0x7f, 0x5d, 0x38, 0xf2, 0x47, 0x0c, 0x7b, 0x55, 0x28, 0xb3, 0xe4, 0x4a, 0x16, - 0xab, 0xbf, 0xdd, 0x38, 0xf2, 0x66, 0x4e, 0xff, 0x5d, 0x19, 0x91, 0xa0, 0xa3, 0xa5, 0xc8, - 0x12, 0xa6, 0xaf, 0xdc, 0x3a, 0xd1, 0x41, 0x60, 0x75, 0x58, 0x24, 0x92, 0xd4, 0x72, 0x6c, - 0xe0, 0x2f, 0xfd, 0x23, 0x8d, 0x1c, 0x5b, 0xb2, 0x97, 0x36, 0x3d, 0x0b, 0xa2, 0x49, 0xb1, - 0x58, 0xf2, 0x1f, 0xc0, 0xcb, 0xf8, 0x41, 0x4f, 0xcd, 0x1e, 0x6b, 0x39, 0xa7, 0x2b, 0xe9, - 0x30, 0x16, 0x83, 0xd2, 0x0e, 0x47, 0x8f, 0xe3, 0xb1, 0xdf, 0xa2, 0x15, 0xdb, 0x5d, 0x30, - 0xc5, 0x1a, 0xab, 0x31, 0x99, 0xf3, 0xfa, 0xb2, 0x86, 0x69, 0xad, 0x7a, 0xe8, 0xa7, 0x18, - 0x6a, 0xcc, 0xc8, 0x65, 0x23, 0x87, 0xa8, 0x5f, 0xf5, 0x21, 0x59, 0x75, 0x09, 0x71, 0x45, - 0x55, 0x25, 0x4b, 0xda, 0xa1, 0xc3, 0xf7, 0x41, 0xab, 0x59, 0xd9, 0x74, 0x12, 0x55, 0x5f, - 0xbc, 0xaf, 0xd9, 0xfd, 0xb0, 0x1e, 0xa3, 0x0f, 0xff, 0xde, 0x11, 0x16, 0x6a, 0xae, 0x0e, - 0xe1, 0x5d, 0x3c, 0x10, 0x43, 0x9a, 0xa1, 0x0b, 0x24, 0x8f, 0x0d, 0x7f, 0x0b, 0x5e, 0x4c, - 0x42, 0xa4, 0x84, 0x2c, 0x40, 0xd0, 0x55, 0x39, 0xe6, 0x4b, 0xf8, 0x9b, 0x2f, 0xdc, 0x28, - 0xff, 0xfa, 0xb5, 0x85, 0x19, 0xe5, 0x28, 0xa1, 0x77, 0xaa, 0x73, 0xf3, 0x03, 0xc7, 0x62, - 0xa6, 0x91, 0x18, 0xc9, 0xb0, 0xcd, 0x05, 0xdc, 0xca, 0x81, 0x26, 0x1a, 0x47, 0x40, 0xda, - 0x36, 0x7d, 0x6a, 0x53, 0xc8, 0x5a, 0x77, 0x5d, 0x19, 0xa4, 0x1b, 0x23, 0x83, 0xd0, 0xb2, - 0xaa, 0x0e, 0xbf, 0x77, 0x4e, 0x3a, 0x3b, 0x59, 0x00, 0x31, 0x0d, 0x02, 0x1b, 0x88, 0x7a, - 0xd4, 0xbd, 0x9d, 0xcc, 0x58, 0x04, 0x69, 0xf6, 0x3b, 0xca, 0x42, 0xe2, 0xfd, 0xc3, 0x3d, - 0x39, 0xc5, 0xd0, 0x71, 0xe4, 0xc8, 0xb7, 0x3e, 0x3f, 0xc8, 0xe9, 0xca, 0xc9, 0x3f, 0x04, - 0x4e, 0x1b, 0x79, 0xca, 0xa5, 0x61, 0xc2, 0xed, 0x1d, 0xa6, 0xda, 0x5a, 0xe9, 0x7f, 0x65, - 0x8c, 0xbe, 0x12, 0x6e, 0xa4, 0x5b, 0x33, 0x2f, 0x84, 0x28, 0x9c, 0x1c, 0x88, 0x2d, 0xff, - 0x07, 0xbf, 0xa6, 0xd7, 0x5a, 0x88, 0x86, 0xb0, 0x3f, 0xf6, 0x31, 0x5b, 0x11, 0x6d, 0xf5, - 0x58, 0xeb, 0x58, 0x02, 0x9e, 0xb5, 0x9a, 0xb1, 0xff, 0x25, 0x9d, 0x8b, 0x4f, 0xb6, 0x0a, - 0xf9, 0xea, 0x3e, 0x3f, 0x21, 0x09, 0x65, 0x21, 0x22, 0xfe, 0x3d, 0x4e, 0x11, 0x5b, 0x9e, - 0x5a, 0x59, 0x8b, 0xdd, 0xd8, 0xce, 0xd6, 0xd9, 0x59, 0xd2, 0x1e, 0xfd, 0xef, 0x0d, 0x1b, - 0xd9, 0x61, 0x7f, 0xd7, 0x2d, 0xad, 0x62, 0x09, 0xe5, 0x22, 0x63, 0xea, 0xc7, 0x31, 0xd9, - 0xa1, 0x38, 0x80, 0x5c, 0xa7, 0x32, 0x82, 0xec, 0x1b, 0xa2, 0x49, 0x5a, 0x06, 0xd2, 0x7c, - 0xc9, 0x96, 0x57, 0xbb, 0x17, 0x75, 0xfc, 0x7a, 0x8f, 0x0d, 0x77, 0xb5, 0x7a, 0x8e, 0x3e, - 0xf4, 0xba, 0x2f, 0x69, 0x13, 0x26, 0xd6, 0xd9, 0x21, 0x60, 0x2f, 0x21, 0x3e, 0x87, 0xee, - 0xfd, 0x87, 0x16, 0x0d, 0xc8, 0x08, 0x00, 0x25, 0x71, 0xac, 0x2c, 0x03, 0x2a, 0x37, 0x2d, - 0xb3, 0x34, 0x09, 0x91, 0xe3, 0x06, 0x2c, 0x38, 0x37, 0x95, 0x3b, 0x17, 0x7a, 0xaf, 0xac, - 0x99, 0x55, 0xab, 0x41, 0x39, 0x5f, 0x8e, 0xa6, 0x43, 0x80, 0x03, 0x88, 0x6f, 0x7d, 0xbd, - 0x5a, 0xb4, 0x2b, 0x32, 0x23, 0x5a, 0xa9, 0x31, 0x32, 0x39, 0x4c, 0x5b, 0xf4, 0x6b, 0xaf, - 0x66, 0x6f, 0x3c, 0x8e, 0x2d, 0x82, 0x97, 0x9f, 0x4a, 0x01, 0xdc, 0x99, 0x98, 0x00, 0xec, - 0x38, 0x7a, 0x79, 0x70, 0xa6, 0x85, 0xd6, 0x21, 0x63, 0x0d, 0x45, 0x9a, 0x2e, 0x5e, 0xa7, - 0xb1, 0xea, 0x66, 0x6a, 0xbc, 0x62, 0x2d, 0x7b, 0x7d, 0x85, 0xea, 0x95, 0x2f, 0xc0, 0xe8, - 0x6f, 0x35, 0xa0, 0x3a, 0x02, 0x25, 0xbc, 0xb2, 0x5f, 0x5c, 0x43, 0x96, 0xcc, 0x26, 0xd2, - 0x16, 0xb4, 0x96, 0x73, 0xd7, 0x13, 0xc7, 0xae, 0x53, 0x15, 0x31, 0x89, 0x68, 0x66, 0x6d, - 0x2c, 0x92, 0x1f, 0xcc, 0x5b, 0xa7, 0x8f, 0x5d, 0xbb, 0xc9, 0xdb, 0xe8, 0x3b, 0x9d, 0x61, - 0x74, 0x8b, 0x05, 0xa1, 0x58, 0x52, 0x68, 0xee, 0x3d, 0x39, 0x79, 0xa0, 0x9b, 0xdd, 0xe1, - 0x55, 0xc9, 0x60, 0xeb, 0xad, 0xb8, 0x5b, 0xc2, 0x5a, 0xb5, 0x2c, 0x18, 0x55, 0xa9, 0x50, - 0xc3, 0xf6, 0x72, 0x5f, 0xcc, 0xe2, 0xf4, 0x55, 0xb5, 0xd6, 0xb5, 0x4a, 0x99, 0xa5, 0x28, - 0x74, 0x97, 0x18, 0xe8, 0xc0, 0x84, 0x89, 0x50, 0x03, 0x86, 0x4d, 0x1a, 0xb7, 0x09, 0x90, - 0xa2, 0x01, 0x04, 0xbb, 0x73, 0x62, 0xcb, 0x97, 0x22, 0x70, 0x5d, 0x52, 0x41, 0x8e, 0xd9, - 0x90, 0x15, 0xaa, 0xab, 0x0a, 0x31, 0x65, 0xb4, 0xda, 0xd0, 0xee, 0x24, 0xc9, 0x41, 0x91, - 0x1e, 0xbc, 0x46, 0x70, 0x40, 0x9d, 0xda, 0x0e, 0x2a, 0xe4, 0xb2, 0x4c, 0x9f, 0xf2, 0xfc, - 0xf3, 0x84, 0x17, 0x44, 0x1e, 0xd7, 0xca, 0x23, 0x1f, 0x3f, 0x5a, 0x22, 0x3d, 0xaf, 0x9b, - 0x2d, 0xfc, 0x41, 0xad, 0x26, 0xb4, 0x45, 0x67, 0x0b, 0x80, 0x0e, 0xf9, 0x61, 0x37, 0xec, - 0x3b, 0xf4, 0x4b, 0x14, 0xdf, 0x5a, 0x0c, 0x3a, 0x50, 0x0b, 0x14, 0x0c, 0x72, 0xae, 0xc6, - 0xc5, 0xec, 0x35, 0x53, 0x2d, 0x59, 0xed, 0x91, 0x74, 0xe2, 0xc4, 0xc8, 0xf2, 0x25, 0x6b, - 0x97, 0x6f, 0xc9, 0x76, 0xce, 0xa9, 0xb1, 0x99, 0x8f, 0x5a, 0x92, 0x3b, 0xc4, 0x8d, 0x54, - 0x50, 0x40, 0x72, 0xd6, 0x90, 0x83, 0xfc, 0xe5, 0x49, 0x8b, 0x17, 0xf5, 0xfd, 0x6b, 0x8d, - 0x32, 0x02, 0xe9, 0x0a, 0xfe, 0xbf, 0x00, 0x6b, 0xa3, 0xad, 0x5f, 0x09, 0x4b, 0x97, 0x2b, - 0x00, 0x58, 0x65, 0x2e, 0x07, 0x49, 0x0a, 0x3b, 0x6b, 0x2e, 0x50, 0x6c, 0x1d, 0xac, 0xb7, - 0x6a, 0x26, 0xd8, 0x13, 0xa4, 0xca, 0x16, 0xae, 0xab, 0x93, 0xb9, 0x1c, 0x1c, 0xb4, 0x47, - 0x6a, 0x38, 0x36, 0x17, 0x27, 0xc9, 0x7f, 0xc7, 0x64, 0xcb, 0x89, 0x58, 0xc5, 0x61, 0xc2, - 0xc6, 0xea, 0x15, 0x0b, 0x34, 0x0c, 0x5d, 0x61, 0x76, 0x6e, 0x2b, 0x62, 0x40, 0x92, 0xa3, - 0x6c, 0xef, 0xf4, 0xe4, 0xc3, 0xa1, 0xa8, 0xf5, 0x94, 0x79, 0x0d, 0xd1, 0x3d, 0xcb, 0x3d, - 0x40, 0xb6, 0xd0, 0xf0, 0x10, 0x54, 0xd8, 0x47, 0x25, 0x51, 0xc5, 0x41, 0x79, 0x00, 0xe5, - 0xa0, 0x72, 0xde, 0xbb, 0x3b, 0x62, 0x17, 0xf6, 0xbc, 0x5d, 0x00, 0x76, 0x2e, 0xa7, 0x3b, - 0xb6, 0xf1, 0x98, 0x72, 0x59, 0x2a, 0x73, 0xb0, 0x21, 0xd6, 0x49, 0xe0, 0xc0, 0xd5, 0xeb, - 0x02, 0x7d, 0x4b, 0x41, 0x28, 0x70, 0x2d, 0xec, 0x2b, 0x71, 0x1f, 0x0b, 0xb9, 0x71, 0x63, - 0x06, 0xe6, 0xbc, 0x60, 0xbb, 0xf4, 0x9a, 0x62, 0x43, 0x09, 0x18, 0x4e, 0x93, 0x06, 0x4d, - 0x76, 0xfa, 0x7f, 0xbd, 0x02, 0xe4, 0x50, 0x91, 0x12, 0xe5, 0x86, 0xff, 0x64, 0x1e, 0xaf, - 0x7e, 0xb3, 0xb2, 0xde, 0x89, 0xc1, 0xa2, 0x6f, 0x40, 0x7b, 0x41, 0x51, 0x63, 0xea, 0x25, - 0xd1, 0x97, 0x57, 0x92, 0xa8, 0x45, 0xa1, 0xa5, 0x45, 0x21, 0x43, 0x7f, 0x83, 0x15, 0x29, - 0xd0, 0x30, 0x53, 0x32, 0xb4, 0x5a, 0x17, 0x96, 0xbc, 0xc2, 0x68, 0xa9, 0xb7, 0xaf, 0xac, - 0xdf, 0xf1, 0xe3, 0x89, 0xba, 0x24, 0x79, 0x54, 0xc6, 0x14, 0x07, 0x1c, 0x1e, 0x0d, 0x3a, - 0x6b, 0xe5, 0x3d, 0x4e, 0x10, 0x60, 0x96, 0xec, 0x6c, 0xda, 0x47, 0xae, 0x03, 0x25, 0x39, - 0x1d, 0x74, 0xc8, 0xac, 0x6a, 0xf2, 0x6b, 0x05, 0x2a, 0x9a, 0xe7, 0xe8, 0x92, 0xd6, 0xc2, - 0x6d, 0xfa, 0xe8, 0xa7, 0x9d, 0x5f, 0x48, 0xc9, 0x75, 0xf1, 0x66, 0x6a, 0xdb, 0x5d, 0x9a, - 0xcd, 0x27, 0xdd, 0xb9, 0x24, 0x04, 0x9c, 0x18, 0xc2, 0x6d, 0x0c, 0x91, 0x34, 0x48, 0x42, - 0x6f, 0xe9, 0x59, 0x70, 0xc4, 0x7e, 0x81, 0x0e, 0x32, 0x0a, 0x93, 0x48, 0xb0, 0xc0, 0x15, - 0x9e, 0x05, 0xac, 0x36, 0x16, 0xcb, 0x59, 0x65, 0xa0, 0x83, 0xdf, 0x3e, 0xda, 0xfb, 0x1d, - 0x1a, 0xdb, 0x65, 0xec, 0x9a, 0xc6, 0xc3, 0x8e, 0x3c, 0x45, 0xfd, 0xc8, 0xf5, 0x1c, 0x6a, - 0x67, 0x0d, 0x8f, 0x99, 0x7d, 0x30, 0x21, 0x8c, 0xea, 0x22, 0x87, 0x65, 0xc9, 0xb2, 0x4c, - 0xe4, 0x1b, 0x46, 0xba, 0x54, 0xbd, 0x7c, 0xca, 0xd5, 0x8f, 0x5b, 0xa5, 0x01, 0x04, 0xd8, - 0x0a, 0x16, 0xbf, 0xb9, 0x50, 0x2e, 0x37, 0x2f, 0x64, 0xf3, 0x70, 0x11, 0x02, 0x05, 0x31, - 0x9b, 0xa0, 0xb2, 0x01, 0x5e, 0x4f, 0x19, 0xc9, 0xd4, 0xea, 0xa1, 0x79, 0x54, 0x53, 0xa7, - 0xde, 0x2f, 0x49, 0xd3, 0xd1, 0x63, 0xb5, 0x03, 0x15, 0x4e, 0xbf, 0x04, 0xb3, 0x26, 0x8b, - 0x20, 0xb2, 0x45, 0xcf, 0xcd, 0x5b, 0x82, 0x32, 0x88, 0x61, 0xa7, 0xa8, 0xb2, 0xa0, 0x72, - 0x96, 0xc0, 0xdb, 0x2b, 0xe2, 0x5f, 0xba, 0xe3, 0xf5, 0x8a, 0xde, 0xf1, 0x18, 0x01, 0x16, - 0x40, 0xd9, 0x86, 0x12, 0x09, 0x18, 0x1b, 0x05, 0x0c, 0xb1, 0xb5, 0x47, 0xe2, 0x43, 0xab, - 0xfe, 0x92, 0x63, 0x7e, 0x95, 0x2b, 0xf0, 0xaf, 0xe1, 0xf1, 0xc3, 0x4a, 0xff, 0x2b, 0x09, - 0xbb, 0x4a, 0x0e, 0x9a, 0xc4, 0xd8, 0x64, 0x7d, 0x83, 0xa0, 0x4f, 0x44, 0xdb, 0xc4, 0xa8, - 0x58, 0xef, 0xfc, 0x9e, 0x77, 0xf9, 0xa6, 0x8f, 0x58, 0x8b, 0x12, 0xf4, 0xe9, 0x81, 0x12, - 0x47, 0x51, 0x41, 0x83, 0xef, 0xf6, 0x73, 0xbc, 0x8e, 0x0f, 0x4c, 0x8f, 0x4e, 0x69, 0x90, - 0x77, 0x29, 0x5d, 0x92, 0xb0, 0x6d, 0x06, 0x67, 0x29, 0x60, 0xbd, 0x4b, 0x17, 0xc8, 0x89, - 0x69, 0x28, 0x29, 0xd6, 0x78, 0xcb, 0x11, 0x4c, 0xba, 0x8b, 0x68, 0xae, 0x7e, 0x9f, 0xef, - 0x95, 0xda, 0xe2, 0x9e, 0x7f, 0xe9, 0x55, 0xe5, 0xe1, 0xe2, 0xb7, 0xe6, 0x5f, 0xbb, 0x2c, - 0xa2, 0xe6, 0xee, 0xc7, 0x0a, 0x60, 0xa9, 0xd1, 0x80, 0xdf, 0x7f, 0xd6, 0x97, 0xab, 0x1d, - 0x22, 0x25, 0xfc, 0x79, 0x23, 0xe0, 0xae, 0xc5, 0xef, 0x16, 0xa4, 0xa1, 0x0f, 0x92, 0xa9, - 0xc7, 0xe3, 0x3a, 0x55, 0xdf, 0x62, 0x49, 0xd9, 0xf5, 0x84, 0x49, 0xc5, 0x90, 0x34, 0xd3, - 0xe1, 0xac, 0x99, 0x21, 0xb1, 0x02, 0x76, 0x4a, 0xfa, 0xd4, 0xbb, 0xa4, 0x9c, 0xa2, 0xe2, - 0xcb, 0x3d, 0x3b, 0x14, 0x75, 0x60, 0xd1, 0x02, 0xb4, 0xa3, 0xb4, 0x72, 0x06, 0xf9, 0x19, - 0x9c, 0xe2, 0xe4, 0xa7, 0x0f, 0x25, 0x88, 0xc6, 0x86, 0xd6, 0x8c, 0x74, 0x4e, 0x6e, 0xfc, - 0xa8, 0x48, 0x9e, 0xa7, 0x9d, 0x1a, 0x4b, 0x37, 0x09, 0xc8, 0xb0, 0x10, 0xbe, 0x6f, 0xfe, - 0xa3, 0xc4, 0x7a, 0xb5, 0x3d, 0xe8, 0x30, 0xf1, 0x0d, 0xa0, 0xb2, 0x44, 0xfc, 0x9b, 0x8c, - 0xf8, 0x61, 0xed, 0x81, 0xd1, 0x62, 0x11, 0xb4, 0xe1, 0xd5, 0x39, 0x52, 0x89, 0xd3, 0xa8, - 0x49, 0x31, 0xdf, 0xb6, 0xf9, 0x91, 0xf4, 0x1c, 0x9d, 0x09, 0x95, 0x40, 0x56, 0xe7, 0xe3, - 0xcd, 0x5c, 0x92, 0xc1, 0x1d, 0x6b, 0xe9, 0x78, 0x6f, 0x8e, 0x94, 0x42, 0x66, 0xa2, 0xaa, - 0xd3, 0xc8, 0x2e, 0xe3, 0xf6, 0x07, 0x72, 0x0b, 0x6b, 0x1e, 0x7b, 0xb9, 0x7c, 0xe0, 0xa0, - 0xbc, 0xd9, 0x25, 0xdf, 0x87, 0xa8, 0x5f, 0x9c, 0xcc, 0xf0, 0xdb, 0x42, 0x8e, 0x07, 0x31, - 0x13, 0x01, 0x66, 0x32, 0xd1, 0xb8, 0xd6, 0xe3, 0x5e, 0x12, 0x76, 0x61, 0xd3, 0x38, 0x89, - 0xe6, 0x17, 0x6f, 0xa5, 0xf2, 0x71, 0x0e, 0xa5, 0xe2, 0x88, 0x30, 0xbb, 0xbe, 0x8a, 0xea, - 0xc7, 0x62, 0xc4, 0xcf, 0xb8, 0xcd, 0x33, 0x8d, 0x3d, 0x3e, 0xb5, 0x60, 0x3a, 0x03, 0x92, - 0xe4, 0x6d, 0x1b, 0xe0, 0xb4, 0x84, 0x08, 0x55, 0x88, 0xa7, 0x3a, 0xb9, 0x3d, 0x43, 0xc3, - 0xc0, 0xfa, 0x07, 0x6a, 0xca, 0x94, 0xad, 0x99, 0x55, 0xf1, 0xf1, 0xc0, 0x23, 0x87, 0x1d, - 0x3d, 0x1c, 0xd1, 0x66, 0xa0, 0x57, 0x10, 0x52, 0xa2, 0x7f, 0xbe, 0xf9, 0x88, 0xb6, 0x02, - 0xbf, 0x08, 0x23, 0xa9, 0x0c, 0x63, 0x17, 0x2a, 0xae, 0xf5, 0xf7, 0xb7, 0x21, 0x83, 0x92, - 0x31, 0x23, 0x0d, 0x20, 0xc3, 0xc2, 0x05, 0x21, 0x62, 0x8e, 0x45, 0xe8, 0x14, 0xc1, 0xda, - 0x75, 0xb8, 0xf8, 0x92, 0x01, 0xd0, 0x5d, 0x18, 0x9f, 0x99, 0x11, 0x19, 0xf5, 0x35, 0xe8, - 0x7f, 0x20, 0x88, 0x8c, 0x05, 0x75, 0xf5, 0xd7, 0x40, 0x17, 0xbb, 0x1e, 0x36, 0x52, 0xd9, - 0xa4, 0x9c, 0xc2, 0x9d, 0x42, 0x81, 0xd8, 0xc7, 0x8a, 0xe7, 0x4c, 0x81, 0xe0, 0xb7, 0x57, - 0xed, 0x48, 0x8b, 0xf0, 0x97, 0x15, 0x61, 0xd9, 0x2c, 0x7c, 0x45, 0xaf, 0xc2, 0xcd, 0xfc, - 0xaa, 0x13, 0xad, 0x59, 0xcc, 0xb2, 0xb2, 0x6e, 0xdd, 0x63, 0x9c, 0x32, 0x0f, 0xec, 0x83, - 0xbe, 0x78, 0xac, 0x91, 0x44, 0x1a, 0x1f, 0xea, 0xfd, 0x5d, 0x8e, 0xb4, 0xc0, 0x84, 0xd4, - 0xac, 0xb4, 0x87, 0x5f, 0xac, 0xef, 0xdf, 0xcd, 0x12, 0x56, 0xc8, 0xcd, 0xfe, 0xc5, 0xda, - 0xd3, 0xc1, 0x69, 0xf3, 0x61, 0x05, 0xea, 0x25, 0xe2, 0x12, 0x05, 0x8f, 0x39, 0x08, 0x08, - 0x7c, 0x37, 0xb6, 0x7e, 0x5b, 0xd8, 0xb1, 0x0e, 0xf2, 0xdb, 0x4b, 0xf1, 0xad, 0x90, 0x01, - 0x57, 0xcd, 0xa0, 0xb4, 0x52, 0xe8, 0xf3, 0xd7, 0x8a, 0xbd, 0x4f, 0x9f, 0x21, 0x40, 0x72, - 0xa4, 0xfc, 0x0b, 0x01, 0x2b, 0x2f, 0xb6, 0x4c, 0x95, 0x2d, 0x35, 0x33, 0x41, 0x6b, 0xa0, - 0x93, 0xe7, 0x2c, 0xf2, 0xd3, 0x72, 0x8b, 0xf4, 0x4f, 0x15, 0x3c, 0xaf, 0xd6, 0x12, 0xde, - 0x3f, 0x83, 0x3f, 0xff, 0xf8, 0x7f, 0xf6, 0xcc, 0xa6, 0x7f, 0xc9, 0x9a, 0x6e, 0x1f, 0xc1, - 0x0c, 0xfb, 0xee, 0x9c, 0xe7, 0xaf, 0xc9, 0x26, 0x54, 0xef, 0xb0, 0x39, 0xef, 0xb2, 0xe9, - 0x23, 0xc4, 0xef, 0xd1, 0xa1, 0xa4, 0x25, 0x24, 0x6f, 0x8d, 0x6a, 0xe5, 0x8a, 0x32, 0x3a, - 0xaf, 0xfc, 0xda, 0xce, 0x18, 0x25, 0x42, 0x07, 0x4d, 0x45, 0x8b, 0xdf, 0x85, 0xcf, 0x55, - 0xb2, 0x24, 0xfe, 0x9c, 0x69, 0x74, 0xa7, 0x6e, 0xa0, 0xce, 0xc0, 0x39, 0xf4, 0x86, 0xc6, - 0x8d, 0xae, 0xb9, 0x48, 0x64, 0x13, 0x0b, 0x40, 0x81, 0xa2, 0xc9, 0xa8, 0x85, 0x51, 0xee, - 0x9f, 0xcf, 0xa2, 0x8c, 0x19, 0x52, 0x48, 0xe2, 0xc1, 0xa8, 0x58, 0xb4, 0x10, 0x24, 0x06, - 0x58, 0x51, 0xfc, 0xb9, 0x12, 0xec, 0xfd, 0x73, 0xb4, 0x6d, 0x84, 0xfa, 0x06, 0x8b, 0x05, - 0x0b, 0x2d, 0xd6, 0xd6, 0x1f, 0x29, 0x82, 0x9f, 0x19, 0x12, 0x1e, 0xb2, 0x04, 0x8f, 0x7f, - 0x4d, 0xbd, 0x30, 0x2e, 0xe3, 0xe0, 0x88, 0x29, 0xc5, 0x93, 0xd6, 0x6c, 0x1f, 0x29, 0x45, - 0x91, 0xa7, 0x58, 0xcd, 0x05, 0x17, 0xd6, 0x6d, 0xb3, 0xca, 0x66, 0xcc, 0x3c, 0x4a, 0x74, - 0xfd, 0x08, 0x10, 0xa6, 0x99, 0x92, 0x10, 0xd2, 0x85, 0xab, 0x6e, 0x1d, 0x0e, 0x8b, 0x26, - 0x46, 0xd1, 0x6c, 0x84, 0xc0, 0x26, 0x43, 0x59, 0x68, 0xf0, 0x13, 0x1d, 0xfb, 0xe3, 0xd1, - 0xd2, 0xb4, 0x71, 0x9e, 0xf2, 0x59, 0x6a, 0x33, 0x29, 0x79, 0xd2, 0xd7, 0x26, 0xf1, 0xae, - 0x78, 0x9e, 0x1f, 0x0f, 0x3f, 0xe3, 0xe8, 0xd0, 0x27, 0x78, 0x77, 0xf6, 0xac, 0x9c, 0x56, - 0x39, 0x73, 0x8a, 0x6b, 0x2f, 0x34, 0x78, 0xb1, 0x11, 0xdb, 0xa4, 0x5c, 0x80, 0x01, 0x71, - 0x6a, 0xc2, 0xd1, 0x2e, 0x5e, 0x76, 0x28, 0x70, 0x93, 0xae, 0x3e, 0x78, 0xb0, 0x1f, 0x0f, - 0xda, 0xbf, 0xfb, 0x8a, 0x67, 0x65, 0x4f, 0x91, 0xed, 0x49, 0x75, 0x78, 0x62, 0xa2, 0x93, - 0xb5, 0x70, 0x7f, 0x4d, 0x08, 0x4e, 0x79, 0x61, 0xa8, 0x5f, 0x7f, 0xb4, 0x65, 0x9f, 0x91, - 0x54, 0x3a, 0xe8, 0x50, 0x33, 0xd3, 0xd5, 0x8a, 0x7c, 0xf3, 0x9e, 0x8b, 0x77, 0x7b, 0xc6, - 0xc6, 0x0c, 0x45, 0x95, 0x1f, 0xb0, 0xd0, 0x0b, 0x27, 0x4a, 0xfd, 0xc7, 0xf7, 0x0d, 0x5a, - 0x43, 0xc9, 0x7d, 0x35, 0xb0, 0x7d, 0xc4, 0x9c, 0x57, 0x1e, 0x76, 0x0d, 0xf1, 0x95, 0x30, - 0x71, 0xcc, 0xb3, 0x66, 0x3b, 0x63, 0xa8, 0x6c, 0xa3, 0x43, 0xa0, 0x24, 0xcc, 0xb7, 0x53, - 0xfe, 0xfe, 0xbc, 0x6e, 0x60, 0x89, 0xaf, 0x16, 0x21, 0xc8, 0x91, 0x6a, 0x89, 0xce, 0x80, - 0x2c, 0xf1, 0x59, 0xce, 0xc3, 0x60, 0x61, 0x3b, 0x0b, 0x19, 0xfe, 0x99, 0xac, 0x65, 0x90, - 0x15, 0x12, 0x05, 0xac, 0x7e, 0xff, 0x98, 0x7b, 0x66, 0x64, 0x0e, 0x4b, 0x5b, 0xaa, 0x8d, - 0x3b, 0xd2, 0x56, 0xcf, 0x99, 0x39, 0xee, 0x22, 0x81, 0xd0, 0x60, 0x06, 0x66, 0x20, 0x81, - 0x48, 0x3c, 0x6f, 0x3a, 0x77, 0xba, 0xcb, 0x52, 0xac, 0x79, 0x56, 0xaf, 0xe9, 0x16, 0x17, - 0x0a, 0xa3, 0x82, 0x08, 0xd5, 0x3c, 0x97, 0xcb, 0x09, 0xff, 0x7f, 0xf9, 0x4f, 0x60, 0x05, - 0xb9, 0x53, 0x26, 0xaa, 0xb8, 0x50, 0xaa, 0x19, 0x25, 0xae, 0x5f, 0xea, 0x8a, 0xd0, 0x89, - 0x12, 0x80, 0x43, 0x50, 0x24, 0x12, 0x21, 0x14, 0xcd, 0x77, 0xeb, 0x21, 0xcc, 0x5c, 0x09, - 0x64, 0xf3, 0xc7, 0xcb, 0xc5, 0x4b, 0xc3, 0xe7, 0xed, 0xe7, 0x86, 0x2c, 0x1d, 0x8e, 0x19, - 0x52, 0x9b, 0x2a, 0x0c, 0x18, 0x72, 0x0b, 0x1e, 0x1b, 0xb0, 0x0f, 0x42, 0x99, 0x04, 0xae, - 0xd5, 0xb7, 0x89, 0x1a, 0xb9, 0x4f, 0xd6, 0xaf, 0xf3, 0xc9, 0x93, 0x6f, 0xb0, 0x60, 0x83, - 0x6e, 0x6b, 0xd1, 0x5f, 0x3f, 0x1a, 0x83, 0x1e, 0x24, 0x00, 0x87, 0xb5, 0x3e, 0xdb, 0xf9, - 0x4d, 0xa7, 0x16, 0x2e, 0x19, 0x5b, 0x8f, 0x1b, 0x0d, 0x47, 0x72, 0x42, 0xe9, 0x0a, 0x11, - 0x08, 0x2d, 0x88, 0x1c, 0xbc, 0xc7, 0xb4, 0xbe, 0x29, 0x4d, 0x03, 0x5e, 0xec, 0xdf, 0xf3, - 0x3d, 0x2f, 0xe8, 0x1d, 0x9a, 0xd2, 0xd1, 0xab, 0x41, 0x3d, 0x87, 0x11, 0x45, 0xb0, 0x0d, - 0x46, 0xf5, 0xe8, 0x95, 0x62, 0x1c, 0x68, 0xf7, 0xa6, 0x5b, 0x39, 0x4e, 0xbf, 0x47, 0xba, - 0x5d, 0x7f, 0xb7, 0x6a, 0xf4, 0xba, 0x1d, 0x69, 0xf6, 0xa4, 0xe7, 0xe4, 0x6b, 0x3b, 0x0d, - 0x23, 0x16, 0x4a, 0xb2, 0x68, 0xf0, 0xb2, 0x0d, 0x09, 0x17, 0x6a, 0x63, 0x8c, 0x83, 0xd3, - 0xbd, 0x05, 0xc9, 0xf6, 0xf0, 0xa1, 0x31, 0x0b, 0x2c, 0xac, 0x83, 0xac, 0x80, 0x34, 0x32, - 0xb4, 0xec, 0xd0, 0xbc, 0x54, 0x82, 0x9a, 0xc8, 0xf6, 0xa0, 0x7d, 0xc6, 0x79, 0x73, 0xf4, - 0x20, 0x99, 0xf3, 0xb4, 0x01, 0xde, 0x91, 0x27, 0xf2, 0xc0, 0xdc, 0x81, 0x00, 0x4e, 0x7e, - 0x07, 0x99, 0xc8, 0x3a, 0x51, 0xbc, 0x38, 0xd6, 0x8a, 0xa2, 0xde, 0x3b, 0x6a, 0x8c, 0x1a, - 0x7c, 0x81, 0x0f, 0x3a, 0x1f, 0xe4, 0x05, 0x7b, 0x20, 0x35, 0x6b, 0xa5, 0x6a, 0xa7, 0xe7, - 0xbc, 0x9c, 0x20, 0xec, 0x00, 0x15, 0xe2, 0x51, 0xaf, 0x77, 0xeb, 0x29, 0x3c, 0x7d, 0x2e, - 0x00, 0x5c, 0x81, 0x21, 0xfa, 0x35, 0x6f, 0x40, 0xef, 0xfb, 0xd1, 0x3f, 0xcc, 0x9d, 0x55, - 0x53, 0xfb, 0x5a, 0xa5, 0x56, 0x89, 0x0b, 0x52, 0xeb, 0x57, 0x73, 0x4f, 0x1b, 0x67, 0x24, - 0xcb, 0xb8, 0x6a, 0x10, 0x69, 0xd6, 0xfb, 0x52, 0x40, 0xff, 0x20, 0xa5, 0xf3, 0x72, 0xe1, - 0x3d, 0xa4, 0x8c, 0x81, 0x66, 0x16, 0x0d, 0x5d, 0xad, 0xa8, 0x50, 0x25, 0x78, 0x31, 0x77, - 0x0c, 0x57, 0xe4, 0xe9, 0x15, 0x2d, 0xdb, 0x07, 0x87, 0xc8, 0xb0, 0x43, 0xde, 0xfc, 0xfe, - 0xa9, 0xeb, 0xf5, 0xb0, 0xd3, 0x7b, 0xe9, 0x1f, 0x6e, 0xca, 0xe4, 0x03, 0x95, 0xc5, 0xd1, - 0x59, 0x72, 0x63, 0xf0, 0x86, 0x54, 0xe8, 0x16, 0x62, 0x0b, 0x35, 0x29, 0xc2, 0x68, 0xd0, - 0xd6, 0x3e, 0x90, 0x60, 0x57, 0x1d, 0xc9, 0xed, 0x3f, 0xed, 0xb0, 0x2f, 0x7e, 0x97, 0x02, - 0x51, 0xec, 0xee, 0x6f, 0x82, 0x74, 0x76, 0x7f, 0xfb, 0xd6, 0xc4, 0xc3, 0xdd, 0xe8, 0xb1, - 0x60, 0xfc, 0xc6, 0xb9, 0x0d, 0x6a, 0x33, 0x78, 0xc6, 0xc1, 0xbf, 0x86, 0x2c, 0x50, 0xcc, - 0x9a, 0x70, 0x8e, 0x7b, 0xec, 0xab, 0x95, 0xac, 0x53, 0xa0, 0x4b, 0x07, 0x88, 0xaf, 0x42, - 0xed, 0x19, 0x8d, 0xf6, 0x32, 0x17, 0x48, 0x47, 0x1d, 0x41, 0x6f, 0xfe, 0x2e, 0xa7, 0x8f, - 0x4b, 0xa0, 0x51, 0xf3, 0xbf, 0x02, 0x0a, 0x48, 0x58, 0xf7, 0xa1, 0x6d, 0xea, 0xa5, 0x13, - 0x5a, 0x5b, 0xea, 0x0c, 0x9e, 0x52, 0x4f, 0x9e, 0xb9, 0x71, 0x7f, 0x23, 0x83, 0xda, 0x1b, - 0x86, 0x9a, 0x41, 0x29, 0xda, 0x70, 0xe7, 0x64, 0xa1, 0x7b, 0xd5, 0x0a, 0x22, 0x0d, 0x5c, - 0x40, 0xc4, 0x81, 0x07, 0x25, 0x35, 0x4a, 0x1c, 0x10, 0xdb, 0x45, 0x0a, 0xff, 0x36, 0xd4, - 0xe0, 0xeb, 0x5f, 0x68, 0xd6, 0x67, 0xc6, 0xd0, 0x8b, 0x76, 0x1a, 0x7d, 0x59, 0x42, 0xa1, - 0xcb, 0x96, 0x4d, 0x84, 0x09, 0x9a, 0x3d, 0xe0, 0x52, 0x85, 0x6e, 0x48, 0x90, 0x85, 0x2a, - 0x63, 0xb2, 0x69, 0xd2, 0x00, 0x43, 0x31, 0x37, 0xb3, 0x52, 0xaf, 0x62, 0xfa, 0xc1, 0xe0, - 0x03, 0xfb, 0x62, 0xaa, 0x88, 0xc9, 0xb2, 0x2c, 0xd5, 0xa8, 0xf5, 0xa5, 0x4c, 0x12, 0x59, - 0x4e, 0x06, 0x5e, 0x9b, 0x15, 0x66, 0x11, 0xb2, 0x27, 0x92, 0xdc, 0x98, 0x59, 0xde, 0xdf, - 0xfa, 0x9a, 0x32, 0x2e, 0xc0, 0x5d, 0x3c, 0x33, 0x41, 0x6d, 0xaf, 0xb2, 0x25, 0x23, 0x14, - 0xa5, 0x7b, 0xc7, 0x9b, 0x68, 0xf3, 0xda, 0xeb, 0xe3, 0xa9, 0xe2, 0x6f, 0x0e, 0x1d, 0x1c, - 0xba, 0x55, 0xb6, 0x34, 0x6a, 0x93, 0x1f, 0x1f, 0xb8, 0x34, 0xc8, 0x84, 0x08, 0xb1, 0x6b, - 0x6a, 0x28, 0x74, 0x74, 0xe5, 0xeb, 0x75, 0xe9, 0x7c, 0xd8, 0xba, 0xd8, 0x42, 0xa5, 0xee, - 0x1f, 0x80, 0xd9, 0x96, 0xb2, 0x2e, 0xe7, 0xbf, 0xba, 0xeb, 0xd1, 0x69, 0xbb, 0x8f, 0xfd, - 0x5a, 0x63, 0x8f, 0x39, 0x7f, 0xdf, 0x1d, 0x37, 0xd2, 0x18, 0x35, 0x9d, 0xb6, 0xcc, 0xe4, - 0x27, 0x81, 0x89, 0x38, 0x38, 0x68, 0x33, 0xe7, 0x78, 0xd8, 0x76, 0xf5, 0xee, 0xd0, 0x4a, - 0x07, 0x69, 0x19, 0x7a, 0xad, 0x18, 0xb1, 0x94, 0x61, 0x45, 0x53, 0xa2, 0x48, 0xda, 0x96, - 0x4a, 0xf9, 0xee, 0x94, 0x2a, 0x1f, 0x6e, 0x18, 0x3c, 0x92, 0x46, 0xd1, 0x1a, 0x28, 0x18, - 0x32, 0x1f, 0x3a, 0x45, 0xbe, 0x04, 0x35, 0x92, 0xe5, 0xa3, 0xcb, 0xb5, 0x2e, 0x32, 0x43, - 0xac, 0x65, 0x17, 0x89, 0x99, 0x15, 0x03, 0x9e, 0xb1, 0x23, 0x2f, 0xed, 0x76, 0x4d, 0xd8, - 0xac, 0x21, 0x40, 0xc4, 0x99, 0x4e, 0x65, 0x71, 0x2c, 0xb3, 0x45, 0xab, 0xfb, 0xe7, 0x72, - 0x39, 0x56, 0x30, 0x6d, 0xfb, 0x74, 0xeb, 0x99, 0xf3, 0xcd, 0x57, 0x5c, 0x78, 0x75, 0xe9, - 0x8d, 0xc3, 0xa2, 0xfb, 0x5d, 0xe0, 0x90, 0xc5, 0x55, 0xad, 0x91, 0x53, 0x4e, 0x9e, 0xbd, - 0x8c, 0x49, 0xa4, 0xa4, 0x69, 0x10, 0x0c, 0xc5, 0x76, 0xe9, 0x25, 0x86, 0x8d, 0x66, 0x23, - 0xa8, 0xdb, 0x5c, 0xe8, 0xd9, 0x30, 0xe1, 0x15, 0x7b, 0xc0, 0x99, 0x0f, 0x03, 0xec, 0xaa, - 0x12, 0xef, 0xce, 0xd4, 0xea, 0x55, 0x5c, 0x08, 0x86, 0xf4, 0xf4, 0xb0, 0x83, 0x42, 0x95, - 0x37, 0xb6, 0x38, 0xe0, 0x2b, 0x54, 0x89, 0xbd, 0x4e, 0x20, 0x9d, 0x3f, 0xc3, 0x4b, 0xb7, - 0xec, 0xfa, 0x5a, 0x14, 0x03, 0xcb, 0x64, 0xc8, 0x34, 0x4a, 0x4b, 0x6e, 0xf8, 0x6e, 0x56, - 0xf6, 0xdd, 0x5f, 0xa1, 0x24, 0xe2, 0xd4, 0xd0, 0x82, 0x64, 0x1f, 0x8e, 0x9b, 0xfa, 0xb4, - 0xcb, 0xdb, 0x0a, 0xe8, 0x15, 0xfc, 0x15, 0xab, 0x4b, 0x18, 0xbf, 0xd4, 0x42, 0x14, 0x48, - 0x82, 0x85, 0xdd, 0xeb, 0x49, 0x1b, 0x0b, 0x0b, 0x05, 0xe9, 0xb4, 0xa1, 0x33, 0x0a, 0x5d, - 0x0e, 0x6c, 0x4b, 0xc0, 0xd6, 0x6c, 0x7c, 0xfb, 0x69, 0x0b, 0x53, 0x19, 0xe4, 0xf3, 0x35, - 0xfc, 0xbe, 0xa1, 0x34, 0x02, 0x09, 0x4f, 0x74, 0x86, 0x92, 0xcd, 0x5d, 0x1a, 0xc1, 0x27, - 0x0c, 0xf2, 0xc5, 0xcf, 0xdd, 0x23, 0x93, 0x02, 0xbd, 0x41, 0x5e, 0x42, 0xf0, 0xa0, 0x9d, - 0x0c, 0x72, 0xc8, 0xec, 0x32, 0x0a, 0x8a, 0xfd, 0x3d, 0x5a, 0x41, 0x27, 0x0c, 0x88, 0x59, - 0xad, 0x94, 0x2e, 0xef, 0x5d, 0x8f, 0xc7, 0xdf, 0x66, 0xe4, 0xdd, 0x56, 0x6c, 0x7b, 0xca, - 0x55, 0x81, 0xae, 0xae, 0x5c, 0x1b, 0x1a, 0xab, 0xae, 0x99, 0x8d, 0xcc, 0x42, 0x97, 0x59, - 0xf4, 0x14, 0x3f, 0x75, 0xc6, 0xd1, 0x88, 0xba, 0xaa, 0x84, 0x4a, 0xd0, 0x34, 0x08, 0x3b, - 0x7d, 0xdb, 0x15, 0x06, 0xb0, 0x5c, 0xbd, 0x40, 0xf5, 0xa8, 0xec, 0xae, 0x36, 0x40, 0xdd, - 0x90, 0x1c, 0x3e, 0x0d, 0x7e, 0x73, 0xc7, 0xc2, 0xc5, 0x6a, 0xff, 0x52, 0x05, 0x7f, 0xbe, - 0xd0, 0x92, 0xfd, 0xb3, 0x6f, 0xff, 0x5d, 0xb7, 0x97, 0x64, 0x73, 0x7b, 0xca, 0xd1, 0x98, - 0x24, 0x6b, 0x0b, 0x01, 0x68, 0xdd, 0x27, 0x85, 0x85, 0xb5, 0x83, 0xc1, 0xe0, 0x50, 0x64, - 0xc7, 0xaf, 0xf1, 0xc6, 0x4d, 0xb1, 0xef, 0xc9, 0xb4, 0x0a, 0x6d, 0x65, 0xf3, 0x47, 0xcc, - 0xa3, 0x02, 0x21, 0x0c, 0xbe, 0x22, 0x29, 0x05, 0xcf, 0x5f, 0xe8, 0x94, 0x6c, 0xe5, 0xdc, - 0xc4, 0xdf, 0xbe, 0x3e, 0xa8, 0xb4, 0x18, 0xb0, 0x99, 0xb8, 0x6f, 0xff, 0x5d, 0xb9, 0xfd, - 0x3b, 0x5d, 0x16, 0xbf, 0x3e, 0xd8, 0xb3, 0xd8, 0x08, 0x34, 0xf6, 0x47, 0x35, 0x5b, 0x72, - 0x1a, 0x33, 0xad, 0x52, 0x5d, 0xb8, 0xd0, 0x77, 0xc6, 0xab, 0xba, 0x55, 0x09, 0x5f, 0x02, - 0xf8, 0xd4, 0x5f, 0x53, 0x06, 0x91, 0xcd, 0x74, 0x42, 0xae, 0x54, 0x91, 0x81, 0x62, 0x13, - 0x6f, 0xd8, 0xa9, 0x77, 0xc3, 0x6c, 0xcb, 0xf1, 0x29, 0x5a, 0xcc, 0xda, 0x35, 0xbd, 0x52, - 0x23, 0xbe, 0x59, 0xeb, 0x12, 0x6d, 0xb7, 0x53, 0xee, 0xfc, 0xb4, 0x1b, 0x13, 0x5e, 0xba, - 0x16, 0x7c, 0xc5, 0xf3, 0xe3, 0x6d, 0x07, 0x78, 0xf5, 0x2b, 0x21, 0x05, 0x88, 0x4c, 0xc0, - 0xa1, 0xe3, 0x36, 0x10, 0xf8, 0x1b, 0xd8, 0x17, 0xfb, 0x6a, 0x4e, 0xd8, 0xb3, 0x47, 0x2d, - 0x99, 0xbd, 0xbb, 0x5d, 0x37, 0x7d, 0xba, 0xf1, 0xe1, 0x7c, 0xc0, 0xc5, 0x54, 0x62, 0x7f, - 0xcf, 0x5a, 0x4a, 0x93, 0xcc, 0xf1, 0x1b, 0x34, 0xc8, 0xa6, 0x05, 0x4c, 0x55, 0x8b, 0x54, - 0x84, 0xd5, 0x77, 0xeb, 0xc0, 0x6d, 0x3a, 0x29, 0xbd, 0x75, 0x61, 0x09, 0x9a, 0x2c, 0xbb, - 0xf7, 0x18, 0x79, 0x34, 0x90, 0x24, 0xa5, 0x81, 0x70, 0x87, 0xc5, 0x02, 0x7c, 0xba, 0xd4, - 0x5e, 0x14, 0x8e, 0xe4, 0xed, 0xa2, 0x61, 0x6a, 0xb9, 0x6e, 0xb5, 0x4a, 0xb9, 0x01, 0x46, - 0xf4, 0xcf, 0xbc, 0x09, 0x2f, 0x27, 0x4b, 0xbd, 0x86, 0x7a, 0x10, 0xe1, 0xd4, 0xc8, 0xd9, - 0x20, 0x8d, 0x8a, 0x63, 0x00, 0x63, 0x44, 0xeb, 0x54, 0x0b, 0x75, 0x49, 0x10, 0xa2, 0xa7, - 0xad, 0xb9, 0xd1, 0x01, 0x80, 0x63, 0x25, 0xc8, 0x12, 0xa6, 0xce, 0x1e, 0xbe, 0xfe, 0x7e, - 0x5f, 0x3c, 0xdb, 0x34, 0xea, 0x37, 0xec, 0x3b, 0xd5, 0x28, 0xd2, 0x07, 0x8c, 0x9a, 0xb6, - 0xee, 0x5e, 0x3e, 0xdf, 0x1d, 0x99, 0xb0, 0xe2, 0x46, 0xef, 0x5c, 0x1b, 0xb4, 0xea, 0x56, - 0x2e, 0xde, 0x1f, 0x9d, 0xb8, 0xd3, 0x24, 0xab, 0xd4, 0x2a, 0xd6, 0x2e, 0xde, 0x1f, 0x9d, - 0xb8, 0xf2, 0x66, 0x2f, 0xbd, 0xf8, 0x72, 0x66, 0x4e, 0x1e, 0x9f, 0x9d, 0xb8, 0xf2, 0x47, - 0x0c, 0x9a, 0xb6, 0xee, 0x3f, 0xfc, 0x7a, 0x57, 0x0d, 0x79, 0x70, 0x62, 0x27, 0xad, 0xb9, - 0xd1, 0x01, 0x61, 0x40, 0x02, 0x67, 0x2d, 0xd8, 0x32, 0xe6, 0x2f, 0xdc, 0x3a, 0xd7, 0x2c, - 0xbb, 0xf4, 0x4b, 0xf5, 0x49, 0xf1, 0x60, 0x23, 0xc4, 0x0a, 0x77, 0x4d, 0xf9, 0x51, 0x01, - 0x80, 0x63, 0x25, 0xa9, 0xb1, 0xe0, 0x42, 0xe7, 0x4c, 0x1a, 0x97, 0xac, 0xbb, 0xf4, 0x6a, - 0x37, 0xcd, 0x18, 0xb2, 0xe6, 0x2f, 0xdc, 0x1b, 0x95, 0xa8, 0xd2, 0x07, 0x6d, 0x58, 0x32, - 0xe6, 0x4e, 0x1e, 0x9f, 0xbc, 0xfa, 0x57, 0x0d, 0x79, 0x51, 0x20, 0xc2, 0x06, 0x6f, 0x5c, - 0x1b, 0x95, 0xa8, 0xb3, 0xc5, 0xe9, 0x31, 0xe0, 0x23, 0xc4, 0x0a, 0x77, 0x4d, 0x18, 0x93, - 0x85, 0x69, 0x31, 0xc1, 0xe1, 0x21, 0xc0, 0xe3, 0x44, 0x0a, 0x77, 0x6c, 0x5a, 0x17, 0x8d, - 0x98, 0x93, 0xa4, 0xab, 0xd4, 0x2a, 0xb7, 0xec, 0x5a, 0x17, 0xac, 0xbb, 0xf4, 0x4b, 0x14, - 0xaa, 0xb7, 0xec, 0x3b, 0xd5, 0x28, 0xb3, 0xc5, 0xe9, 0x31, 0xc1, 0x00, 0x82, 0x67, 0x4c, - 0xfb, 0x55, 0x28, 0xd2, 0x26, 0xaf, 0xbd, 0xd9, 0x11, 0x81, 0x61, 0x21, 0xa1, 0xa1, 0xc0, - 0x02, 0x86, 0x6f, 0x5c, 0x1b, 0xb4, 0xcb, 0x14, 0x8b, 0x94, 0xaa, 0xd6, 0x2e, 0xbf, 0xdd, - 0x19, 0xb0, 0xe2, 0x46, 0x0e, 0x7f, 0x7c, 0x5b, 0x15, 0x89, 0x90, 0x83, 0x84, 0x6b, 0x54, - 0x0b, 0x75, 0x68, 0x52, 0x07, 0x6d, 0x58, 0x32, 0xc7, 0xed, 0x58, 0x32, 0xc7, 0xed, 0x58, - 0x32, 0xe6, 0x4e, 0xff, 0x7c, 0x7a, 0x76, 0x6e, 0x3f, 0xdd, 0x38, 0xd3, 0x05, 0x88, 0x92, - 0xa6, 0xaf, 0xdc, 0x1b, 0xb4, 0xcb, 0xf5, 0x68, 0x52, 0x07, 0x8c, 0x7b, 0x55, 0x09, 0x90, - 0x83, 0x84, 0x6b, 0x54, 0x2a, 0xb7, 0xec, 0x3b, 0xd5, 0x09, 0x90, 0xa2, 0xc6, 0x0e, 0x7f, - 0x7c, 0x7a, 0x57, 0x0d, 0x98, 0xb2, 0xc7, 0xed, 0x58, 0x32, 0xc7, 0x0c, 0x7b, 0x74, 0x4b, - 0x14, 0x8b, 0x94, 0xaa, 0xb7, 0xcd, 0x18, 0x93, 0xa4, 0xca, 0x16, 0xae, 0xbf, 0xdd, 0x19, - 0xb0, 0xe2, 0x46, 0x0e, 0x7f, 0x5d, 0x19, 0x91, 0x81, 0x80, 0x63, 0x44, 0xeb, 0x35, 0xc9, - 0x10, 0x83, 0x65, 0x48, 0x12, 0xa6, 0xce, 0x1e, 0x9f, 0xbc, 0xdb, 0x15, 0x89, 0x71, 0x60, - 0x23, 0xc4, 0xeb, 0x54, 0x2a, 0xb7, 0xec, 0x5a, 0x36, 0xcf, 0x81, 0x10, 0xac, 0x74 -}; - -// clang-format off +// PID, Inverse PID +const uint8_t pmw33xx_firmware_signature[2] PROGMEM = {0x42, 0xBD}; diff --git a/drivers/sensors/pmw3389.h b/drivers/sensors/pmw3389.h index fafd1e20469..a7028f84b1a 100644 --- a/drivers/sensors/pmw3389.h +++ b/drivers/sensors/pmw3389.h @@ -17,8 +17,6 @@ #define PMW33XX_CPI_MIN 50 #define PMW33XX_CPI_MAX 16000 -#define PMW33XX_FIRMWARE_LENGTH 4094 - // PMW3389 register addresses // clang-format off #define REG_Product_ID 0x00 diff --git a/drivers/sensors/pmw33xx_common.c b/drivers/sensors/pmw33xx_common.c index f1f2d0e8653..b4fa727af9b 100644 --- a/drivers/sensors/pmw33xx_common.c +++ b/drivers/sensors/pmw33xx_common.c @@ -15,8 +15,7 @@ #include "spi_master.h" #include "progmem.h" -extern const uint8_t pmw33xx_firmware_data[PMW33XX_FIRMWARE_LENGTH] PROGMEM; -extern const uint8_t pmw33xx_firmware_signature[3] PROGMEM; +extern const uint8_t pmw33xx_firmware_signature[2] PROGMEM; static const pin_t cs_pins_left[] = PMW33XX_CS_PINS; static const pin_t cs_pins_right[] = PMW33XX_CS_PINS_RIGHT; @@ -27,6 +26,14 @@ static bool in_burst_right[ARRAY_SIZE(cs_pins_right)] = {0}; bool __attribute__((cold)) pmw33xx_upload_firmware(uint8_t sensor); bool __attribute__((cold)) pmw33xx_check_signature(uint8_t sensor); +uint16_t __attribute__((weak)) pmw33xx_srom_get_length(void) { + return 0; +} + +uint8_t __attribute__((weak)) pmw33xx_srom_get_byte(uint16_t position) { + return 0; +} + void pmw33xx_set_cpi_all_sensors(uint16_t cpi) { for (uint8_t sensor = 0; sensor < pmw33xx_number_of_sensors; sensor++) { pmw33xx_set_cpi(sensor, cpi); @@ -89,10 +96,9 @@ uint8_t pmw33xx_read(uint8_t sensor, uint8_t reg_addr) { } bool pmw33xx_check_signature(uint8_t sensor) { - uint8_t signature_dump[3] = { + uint8_t signature_dump[2] = { pmw33xx_read(sensor, REG_Product_ID), pmw33xx_read(sensor, REG_Inverse_Product_ID), - pmw33xx_read(sensor, REG_SROM_ID), }; return memcmp(pmw33xx_firmware_signature, signature_dump, sizeof(signature_dump)) == 0; @@ -115,10 +121,12 @@ bool pmw33xx_upload_firmware(uint8_t sensor) { spi_write(REG_SROM_Load_Burst | 0x80); wait_us(15); - for (size_t i = 0; i < PMW33XX_FIRMWARE_LENGTH; i++) { - spi_write(pgm_read_byte(pmw33xx_firmware_data + i)); + for (size_t i = 0; i < pmw33xx_srom_get_length(); i++) { + spi_write(pmw33xx_srom_get_byte(i)); wait_us(15); } + + spi_stop(); wait_us(200); pmw33xx_read(sensor, REG_SROM_ID); @@ -154,12 +162,14 @@ bool pmw33xx_init(uint8_t sensor) { pmw33xx_read(sensor, REG_Delta_Y_L); pmw33xx_read(sensor, REG_Delta_Y_H); -#ifdef PMW33XX_UPLOAD_SROM - if (!pmw33xx_upload_firmware(sensor)) { - pd_dprintf("PMW33XX (%d): firmware upload failed!\n", sensor); - return false; + if (pmw33xx_srom_get_length() != 0) { + if (!pmw33xx_upload_firmware(sensor)) { + pd_dprintf("PMW33XX (%d): firmware upload failed!\n", sensor); + return false; + } + } else { + pd_dprintf("PMW33XX (%d): firmware upload skipped.\n", sensor); } -#endif spi_stop(); From 208ebf54a905ce6e4e563a6811eca8c8dc8b17e1 Mon Sep 17 00:00:00 2001 From: Ryan Date: Sun, 6 Oct 2024 19:01:07 +1100 Subject: [PATCH 030/124] WS2812 API rework (#24364) * Begin WS2812 API rework * Move RGBW conversion, clean up color.h, fix RGBW for AVR bitbang * Formatting & update PS2AVRGB I2C driver (untested) * Tested ARM bitbang RGB+RGBW * Tested ARM SPI RGB - RGBW not working * Tested ARM PWM RGB+RGBW * Tested RP2040 PIO driver RGB+RGBW * Update RGBLight * Formatting * Fix BM60HSRGB rev2 * Fix oddforge/vea * Fix 1k and XD002 RGBLite * Fix model_m/mschwingen * Fix handwired/promethium * Rename `WS2812_LED_TOTAL` for BM60HSRGB * Fix work_louder boards * Fix dawn60 * Fix rgbkb/pan * Fix neson_design/700e and n6 * Fix ergodox_ez/shine * ergodox_ez/shine: invert indices for left half * Fix matrix/abelx * Fix matrix/m20add * Remove custom rgblight driver for matrix/noah - should be done with lighting layers * Fix LED indexes for RGBLight split * Rename `convert_rgb_to_rgbw()` to `ws2812_rgb_to_rgbw()` * Update WS2812 API docs * `ergodox_ez/shine`: simplify LED index calculation * LED/RGB Matrix: Add weak function for LED index resolution * Bandaid fix for RGB Matrix splits not using WS2812 * `steelseries/prime_plus`: redo custom RGBLight driver * Update keyboards/steelseries/prime_plus/rgblight_custom.c Co-authored-by: Dasky <32983009+daskygit@users.noreply.github.com> --------- Co-authored-by: Dasky <32983009+daskygit@users.noreply.github.com> --- builddefs/common_features.mk | 2 +- docs/drivers/ws2812.md | 45 ++++- drivers/ws2812.c | 15 ++ drivers/ws2812.h | 47 ++++-- keyboards/1k/config.h | 2 + keyboards/1k/keymaps/default/rgblite.h | 4 +- keyboards/ergodox_ez/post_config.h | 2 + keyboards/ergodox_ez/shine/rgblight_custom.c | 86 +++++----- keyboards/handwired/promethium/config.h | 1 + keyboards/handwired/promethium/rgbsps.c | 8 +- keyboards/ibm/model_m/mschwingen/config.h | 1 + keyboards/ibm/model_m/mschwingen/mschwingen.c | 65 ++++---- .../ergodox_infinity/ergodox_infinity.c | 4 + .../keychron/q11/ansi_encoder/ansi_encoder.c | 4 + .../keychron/q11/iso_encoder/iso_encoder.c | 4 + keyboards/kprepublic/bm60hsrgb/rev2/config.h | 6 +- keyboards/kprepublic/bm60hsrgb/rev2/rev2.c | 26 +-- .../kprepublic/bm60hsrgb_iso/rev2/config.h | 6 +- .../kprepublic/bm60hsrgb_iso/rev2/rev2.c | 26 +-- .../kprepublic/bm60hsrgb_poker/rev2/config.h | 6 +- .../kprepublic/bm60hsrgb_poker/rev2/rev2.c | 26 +-- keyboards/matrix/abelx/abelx.c | 47 +++--- keyboards/matrix/abelx/config.h | 1 + keyboards/matrix/m20add/m20add.c | 7 - keyboards/matrix/m20add/rgb_ring.c | 19 +-- keyboards/matrix/m20add/rgb_ring.h | 1 - keyboards/matrix/noah/keyboard.json | 2 +- keyboards/matrix/noah/noah.c | 57 ------- keyboards/neson_design/700e/700e.c | 63 +++---- keyboards/neson_design/700e/config.h | 1 + keyboards/neson_design/n6/config.h | 1 + keyboards/neson_design/n6/n6.c | 61 ++++--- keyboards/oddforge/vea/ws2812_custom.c | 21 ++- keyboards/orthograph/orthograph.c | 3 + keyboards/rgbkb/pan/config.h | 1 + keyboards/rgbkb/pan/pan.c | 28 +--- .../steelseries/prime_plus/rgblight_custom.c | 68 +++++--- keyboards/wilba_tech/wt_rgb_backlight.c | 18 +- keyboards/work_louder/rgb_functions.c | 10 +- keyboards/xelus/dawn60/rev1/config.h | 2 +- keyboards/xelus/dawn60/rev1_qmk/config.h | 4 +- keyboards/xelus/dawn60/rev1_qmk/rev1_qmk.c | 14 +- .../xiudi/xd002/keymaps/rgb_lite/config.h | 3 + .../xiudi/xd002/keymaps/rgb_lite/rgblite.h | 6 +- platforms/avr/drivers/ws2812_bitbang.c | 52 +++--- platforms/avr/drivers/ws2812_i2c.c | 22 ++- .../drivers/vendor/RP/RP2040/ws2812_vendor.c | 27 ++- platforms/chibios/drivers/ws2812_bitbang.c | 42 +++-- platforms/chibios/drivers/ws2812_pwm.c | 28 +++- platforms/chibios/drivers/ws2812_spi.c | 25 ++- quantum/color.c | 11 -- quantum/color.h | 24 --- quantum/led_matrix/led_matrix.c | 11 +- quantum/led_matrix/led_matrix.h | 2 + quantum/rgb_matrix/rgb_matrix.c | 11 +- quantum/rgb_matrix/rgb_matrix.h | 2 + quantum/rgb_matrix/rgb_matrix_drivers.c | 58 +------ quantum/rgblight/rgblight.c | 156 ++++++------------ quantum/rgblight/rgblight.h | 1 - quantum/rgblight/rgblight_drivers.c | 20 +-- quantum/rgblight/rgblight_drivers.h | 5 +- 61 files changed, 649 insertions(+), 672 deletions(-) create mode 100644 drivers/ws2812.c create mode 100644 keyboards/xiudi/xd002/keymaps/rgb_lite/config.h diff --git a/builddefs/common_features.mk b/builddefs/common_features.mk index 2b129308877..a2c88d7e99f 100644 --- a/builddefs/common_features.mk +++ b/builddefs/common_features.mk @@ -932,7 +932,7 @@ ifeq ($(strip $(WS2812_DRIVER_REQUIRED)), yes) OPT_DEFS += -DWS2812_$(strip $(shell echo $(WS2812_DRIVER) | tr '[:lower:]' '[:upper:]')) - SRC += ws2812_$(strip $(WS2812_DRIVER)).c + SRC += ws2812.c ws2812_$(strip $(WS2812_DRIVER)).c ifeq ($(strip $(PLATFORM)), CHIBIOS) ifeq ($(strip $(WS2812_DRIVER)), pwm) diff --git a/docs/drivers/ws2812.md b/docs/drivers/ws2812.md index 64343d3c6aa..036ea40d1df 100644 --- a/docs/drivers/ws2812.md +++ b/docs/drivers/ws2812.md @@ -241,13 +241,44 @@ Using a complementary timer output (`TIMx_CHyN`) is possible only for advanced-c ## API {#api} -### `void ws2812_setleds(rgb_led_t *ledarray, uint16_t number_of_leds)` {#api-ws2812-setleds} +### `void ws2812_init(void)` {#api-ws2812-init} -Send RGB data to the WS2812 LED chain. +Initialize the LED driver. This function should be called first. -#### Arguments {#api-ws2812-setleds-arguments} +--- - - `rgb_led_t *ledarray` - A pointer to the LED array. - - `uint16_t number_of_leds` - The length of the LED array. +### `void ws2812_set_color(int index, uint8_t red, uint8_t green, uint8_t blue)` {#api-ws2812-set-color} + +Set the color of a single LED. This function does not immediately update the LEDs; call `ws2812_flush()` after you are finished. + +#### Arguments {#api-ws2812-set-color-arguments} + + - `int index` + The LED index in the WS2812 chain. + - `uint8_t red` + The red value to set. + - `uint8_t green` + The green value to set. + - `uint8_t blue` + The blue value to set. + +--- + +### `void ws812_set_color_all(uint8_t red, uint8_t green, uint8_t blue)` {#api-ws2812-set-color-all} + +Set the color of all LEDs. + +#### Arguments {#api-ws2812-set-color-all-arguments} + + - `uint8_t red` + The red value to set. + - `uint8_t green` + The green value to set. + - `uint8_t blue` + The blue value to set. + +--- + +### `void ws2812_flush(void)` {#api-ws2812-flush} + +Flush the PWM values to the LED chain. diff --git a/drivers/ws2812.c b/drivers/ws2812.c new file mode 100644 index 00000000000..bf234c6f7dc --- /dev/null +++ b/drivers/ws2812.c @@ -0,0 +1,15 @@ +// Copyright 2024 QMK +// SPDX-License-Identifier: GPL-2.0-or-later + +#include "ws2812.h" + +#if defined(WS2812_RGBW) +void ws2812_rgb_to_rgbw(ws2812_led_t *led) { + // Determine lowest value in all three colors, put that into + // the white channel and then shift all colors by that amount + led->w = MIN(led->r, MIN(led->g, led->b)); + led->r -= led->w; + led->g -= led->w; + led->b -= led->w; +} +#endif diff --git a/drivers/ws2812.h b/drivers/ws2812.h index 993cce8ce45..8013e5bd2dd 100644 --- a/drivers/ws2812.h +++ b/drivers/ws2812.h @@ -15,7 +15,7 @@ #pragma once -#include "quantum/color.h" +#include "util.h" /* * The WS2812 datasheets define T1H 900ns, T0H 350ns, T1L 350ns, T0L 900ns. Hence, by default, these @@ -62,17 +62,36 @@ # define WS2812_LED_COUNT RGB_MATRIX_LED_COUNT #endif -void ws2812_init(void); +#define WS2812_BYTE_ORDER_RGB 0 +#define WS2812_BYTE_ORDER_GRB 1 +#define WS2812_BYTE_ORDER_BGR 2 -/* User Interface - * - * Input: - * ledarray: An array of GRB data describing the LED colors - * number_of_leds: The number of LEDs to write - * - * The functions will perform the following actions: - * - Set the data-out pin as output - * - Send out the LED data - * - Wait 50us to reset the LEDs - */ -void ws2812_setleds(rgb_led_t *ledarray, uint16_t number_of_leds); +#ifndef WS2812_BYTE_ORDER +# define WS2812_BYTE_ORDER WS2812_BYTE_ORDER_GRB +#endif + +typedef struct PACKED ws2812_led_t { +#if (WS2812_BYTE_ORDER == WS2812_BYTE_ORDER_GRB) + uint8_t g; + uint8_t r; + uint8_t b; +#elif (WS2812_BYTE_ORDER == WS2812_BYTE_ORDER_RGB) + uint8_t r; + uint8_t g; + uint8_t b; +#elif (WS2812_BYTE_ORDER == WS2812_BYTE_ORDER_BGR) + uint8_t b; + uint8_t g; + uint8_t r; +#endif +#ifdef WS2812_RGBW + uint8_t w; +#endif +} ws2812_led_t; + +void ws2812_init(void); +void ws2812_set_color(int index, uint8_t red, uint8_t green, uint8_t blue); +void ws2812_set_color_all(uint8_t red, uint8_t green, uint8_t blue); +void ws2812_flush(void); + +void ws2812_rgb_to_rgbw(ws2812_led_t *led); diff --git a/keyboards/1k/config.h b/keyboards/1k/config.h index 0d0cd3712a7..fcd7fe6f94b 100644 --- a/keyboards/1k/config.h +++ b/keyboards/1k/config.h @@ -32,3 +32,5 @@ #define USB_INTR_ENABLE_BIT PCIE #define USB_INTR_PENDING_BIT PCIF #define USB_INTR_VECTOR SIG_PIN_CHANGE + +#define WS2812_LED_COUNT 1 diff --git a/keyboards/1k/keymaps/default/rgblite.h b/keyboards/1k/keymaps/default/rgblite.h index 2e0b898699c..b30ec26b040 100644 --- a/keyboards/1k/keymaps/default/rgblite.h +++ b/keyboards/1k/keymaps/default/rgblite.h @@ -11,8 +11,8 @@ static inline void rgblite_init(void) { } static inline void rgblite_setrgb(RGB rgb) { - rgb_led_t leds[RGBLIGHT_LED_COUNT] = {{.r = rgb.r, .g = rgb.g, .b = rgb.b}}; - ws2812_setleds(leds, RGBLIGHT_LED_COUNT); + ws2812_set_color_all(rgb.r, rgb.g, rgb.b); + ws2812_flush(); } static void rgblite_increase_hue(void) { diff --git a/keyboards/ergodox_ez/post_config.h b/keyboards/ergodox_ez/post_config.h index eb22439ae4f..e94fda0f062 100644 --- a/keyboards/ergodox_ez/post_config.h +++ b/keyboards/ergodox_ez/post_config.h @@ -33,8 +33,10 @@ along with this program. If not, see . #ifdef ERGODOX_LED_30 // If using 30 LEDs, then define that many +# define WS2812_LED_COUNT 30 # define RGBLIGHT_LED_COUNT 30 // Number of LEDs #else // If not, then only define 15 +# define WS2812_LED_COUNT 15 # define RGBLIGHT_LED_COUNT 15 // Number of LEDs #endif diff --git a/keyboards/ergodox_ez/shine/rgblight_custom.c b/keyboards/ergodox_ez/shine/rgblight_custom.c index 29060e76fce..8e806b1fd16 100644 --- a/keyboards/ergodox_ez/shine/rgblight_custom.c +++ b/keyboards/ergodox_ez/shine/rgblight_custom.c @@ -21,47 +21,55 @@ along with this program. If not, see . #include "ergodox_ez.h" #include "ws2812.h" -void setleds_custom(rgb_led_t *led, uint16_t led_num) { - uint16_t length = 0; - int i = 0; - int j = 0; -# ifdef WS2812_RGBW - int bytes_per_led = 4; -# else - int bytes_per_led = 3; -# endif -# if defined(ERGODOX_LED_30) - // prevent right-half code from trying to bitbang all 30 - // so with 30 LEDs, we count from 29 to 15 here, and the - // other half does 0 to 14. - uint8_t half_led_num = RGBLIGHT_LED_COUNT / 2; - length = half_led_num * bytes_per_led; - uint8_t data[length]; - for (i = half_led_num + half_led_num - 1; i >= half_led_num; --i) -# elif defined(ERGODOX_LED_15_MIRROR) - length = led_num * bytes_per_led; - uint8_t data[length]; - for (i = 0; i < led_num; ++i) -# else // ERGDOX_LED_15 non-mirrored - length = led_num * bytes_per_led; - uint8_t data[length]; - for (i = led_num - 1; i >= 0; --i) -# endif - { - uint8_t *data_byte = (uint8_t *)(led + i); - data[j++] = data_byte[0]; - data[j++] = data_byte[1]; - data[j++] = data_byte[2]; -#ifdef WS2812_RGBW - data[j++] = data_byte[3]; -#endif - } - i2c_transmit(0x84, data, sizeof(data), ERGODOX_EZ_I2C_TIMEOUT); +#define WS2812_I2C_ADDRESS_LEFT 0x84 - ws2812_setleds(led, led_num); +#if defined(ERGODOX_LED_30) +# define WS2812_LED_COUNT_LEFT (RGBLIGHT_LED_COUNT / 2) +ws2812_led_t ws2812_leds_left[WS2812_LED_COUNT_LEFT]; +#else +# define WS2812_LED_COUNT_LEFT RGBLIGHT_LED_COUNT +ws2812_led_t ws2812_leds_left[WS2812_LED_COUNT_LEFT]; +#endif + +void set_color_left(int index, uint8_t red, uint8_t green, uint8_t blue) { + ws2812_leds_left[index].r = red; + ws2812_leds_left[index].g = green; + ws2812_leds_left[index].b = blue; +#if defined(WS2812_RGBW) + ws2812_rgb_to_rgbw(&ws2812_leds_left[index]); +#endif +} + +void set_color_custom(int index, uint8_t red, uint8_t green, uint8_t blue) { +#if defined(ERGODOX_LED_30) + if (index < WS2812_LED_COUNT_LEFT) { + ws2812_set_color(index, red, green, blue); + } else { + set_color_left(RGBLIGHT_LED_COUNT - index - 1, red, green, blue); + } +#elif defined(ERGODOX_LED_15_MIRROR) + ws2812_set_color(index, red, green, blue); + set_color_left(index, red, green, blue); +#else + ws2812_set_color(index, red, green, blue); + set_color_left(WS2812_LED_COUNT_LEFT - index - 1, red, green, blue); +#endif +} + +void set_color_all_custom(uint8_t red, uint8_t green, uint8_t blue) { + for (int i = 0; i < RGBLIGHT_LED_COUNT; i++) { + set_color_custom(i, red, green, blue); + } +} + +void flush_custom(void) { + i2c_transmit(WS2812_I2C_ADDRESS_LEFT, (uint8_t *)ws2812_leds_left, sizeof(ws2812_leds_left), ERGODOX_EZ_I2C_TIMEOUT); + ws2812_flush(); } const rgblight_driver_t rgblight_driver = { - .init = ws2812_init, - .setleds = setleds_custom, + .init = ws2812_init, + .set_color = set_color_custom, + .set_color_all = set_color_all_custom, + .flush = flush_custom, }; diff --git a/keyboards/handwired/promethium/config.h b/keyboards/handwired/promethium/config.h index 342411a6b2c..806726b5eba 100644 --- a/keyboards/handwired/promethium/config.h +++ b/keyboards/handwired/promethium/config.h @@ -155,6 +155,7 @@ enum led_sequence { }; # define RGBSPS_NUM LED_TOTAL +# define WS2812_LED_COUNT RGBSPS_NUM #endif /* PS/2 mouse */ diff --git a/keyboards/handwired/promethium/rgbsps.c b/keyboards/handwired/promethium/rgbsps.c index 7dc26f4a5e4..07ece69166e 100644 --- a/keyboards/handwired/promethium/rgbsps.c +++ b/keyboards/handwired/promethium/rgbsps.c @@ -2,8 +2,6 @@ #include "ws2812.h" #include "rgbsps.h" -rgb_led_t led[RGBSPS_NUM]; - void keyboard_pre_init_kb(void) { ws2812_init(); @@ -11,9 +9,7 @@ void keyboard_pre_init_kb(void) { } void rgbsps_set(uint8_t index, uint8_t r, uint8_t g, uint8_t b) { - led[index].r = r; - led[index].g = g; - led[index].b = b; + ws2812_set_color(index, r, g, b); } void rgbsps_setall(uint8_t r, uint8_t g, uint8_t b) { @@ -27,7 +23,7 @@ void rgbsps_turnoff(void) { } void rgbsps_send(void) { - ws2812_setleds(led, RGBSPS_NUM); + ws2812_flush(); } void rgbsps_sethsv(uint8_t index, uint16_t hue, uint8_t sat, uint8_t val) { diff --git a/keyboards/ibm/model_m/mschwingen/config.h b/keyboards/ibm/model_m/mschwingen/config.h index b34d29649ad..19fb3fcd6f7 100644 --- a/keyboards/ibm/model_m/mschwingen/config.h +++ b/keyboards/ibm/model_m/mschwingen/config.h @@ -65,6 +65,7 @@ # define MODELM_LED_SCROLLOCK MODELM_LED3 # define MODELM_LED_NUMLOCK MODELM_LED1 #elif defined(KEYBOARD_ibm_model_m_mschwingen_led_ws2812) +# define WS2812_LED_COUNT 3 #else # error one of MODELM_LEDS_FFC, MODELM_LEDS_WIRED or MODELM_LEDS_WS2812 must be set! #endif diff --git a/keyboards/ibm/model_m/mschwingen/mschwingen.c b/keyboards/ibm/model_m/mschwingen/mschwingen.c index 7c0f1b25650..cb4854d8d1a 100644 --- a/keyboards/ibm/model_m/mschwingen/mschwingen.c +++ b/keyboards/ibm/model_m/mschwingen/mschwingen.c @@ -39,27 +39,10 @@ static uint8_t isRecording = 0; # if RGBLIGHT_LED_COUNT < 3 # error we need at least 3 RGB LEDs! # endif -static rgb_led_t led[RGBLIGHT_LED_COUNT] = {{255, 255, 255}, {255, 255, 255}, {255, 255, 255}}; # define BRIGHT 32 # define DIM 6 -static const rgb_led_t black = {.r = 0, .g = 0, .b = 0}; - -static const __attribute__((unused)) rgb_led_t green = {.r = 0, .g = BRIGHT, .b = 0}; -static const __attribute__((unused)) rgb_led_t lgreen = {.r = 0, .g = DIM, .b = 0}; - -static const __attribute__((unused)) rgb_led_t red = {.r = BRIGHT, .g = 0, .b = 0}; -static const __attribute__((unused)) rgb_led_t lred = {.r = DIM, .g = 0, .b = 0}; - -static const __attribute__((unused)) rgb_led_t blue = {.r = 0, .g = 0, .b = BRIGHT}; -static const __attribute__((unused)) rgb_led_t lblue = {.r = 0, .g = 0, .b = DIM}; - -static const __attribute__((unused)) rgb_led_t turq = {.r = 0, .g = BRIGHT, .b = BRIGHT}; -static const __attribute__((unused)) rgb_led_t lturq = {.r = 0, .g = DIM, .b = DIM}; - -static const __attribute__((unused)) rgb_led_t white = {.r = BRIGHT, .g = BRIGHT, .b = BRIGHT}; - static led_t led_state; static uint8_t layer; static uint8_t default_layer; @@ -81,17 +64,15 @@ void sleep_led_enable(void) { suspend_active = true; gpio_write_pin_low(MODELM_STATUS_LED); #ifdef KEYBOARD_ibm_model_m_mschwingen_led_ws2812 - led[0] = black; - led[1] = black; - led[2] = black; - ws2812_setleds(led, RGBLIGHT_LED_COUNT); + ws2812_set_color_all(0, 0, 0); + ws2812_flush(); #endif } void keyboard_pre_init_kb(void) { #ifdef KEYBOARD_ibm_model_m_mschwingen_led_ws2812 ws2812_init(); - ws2812_setleds(led, RGBLIGHT_LED_COUNT); + ws2812_flush(); #else /* Set status LEDs pins to output and Low (on) */ gpio_set_pin_output(MODELM_LED_CAPSLOCK); @@ -121,35 +102,59 @@ void keyboard_pre_init_kb(void) { #ifdef KEYBOARD_ibm_model_m_mschwingen_led_ws2812 static void led_update_rgb(void) { if (isRecording && blink_state) { - led[0] = white; + ws2812_set_color(0, BRIGHT, BRIGHT, BRIGHT); } else { switch (default_layer) { case 0: - led[0] = led_state.num_lock ? blue : lblue; + if (led_state.num_lock) { + ws2812_set_color(0, 0, 0, BRIGHT); + } else { + ws2812_set_color(0, 0, 0, DIM); + } break; case 1: - led[0] = led_state.num_lock ? green : black; + if (led_state.num_lock) { + ws2812_set_color(0, 0, BRIGHT, 0); + } else { + ws2812_set_color(0, 0, 0, 0); + } break; } } - led[1] = led_state.caps_lock ? green : black; + if (led_state.caps_lock) { + ws2812_set_color(1, 0, BRIGHT, 0); + } else { + ws2812_set_color(1, 0, 0, 0); + } switch (layer) { case 0: case 1: default: - led[2] = led_state.scroll_lock ? green : black; + if (led_state.scroll_lock) { + ws2812_set_color(2, 0, BRIGHT, 0); + } else { + ws2812_set_color(2, 0, 0, 0); + } break; case 2: - led[2] = led_state.scroll_lock ? red : lred; + if (led_state.scroll_lock) { + ws2812_set_color(2, BRIGHT, 0, 0); + } else { + ws2812_set_color(2, DIM, 0, 0); + } break; case 3: - led[2] = led_state.scroll_lock ? turq : lturq; + if (led_state.scroll_lock) { + ws2812_set_color(2, 0, BRIGHT, BRIGHT); + } else { + ws2812_set_color(2, 0, DIM, DIM); + } break; } if (!suspend_active) { - ws2812_setleds(led, RGBLIGHT_LED_COUNT); + ws2812_flush(); } } diff --git a/keyboards/input_club/ergodox_infinity/ergodox_infinity.c b/keyboards/input_club/ergodox_infinity/ergodox_infinity.c index 2e8d0b9763c..03988a440a8 100644 --- a/keyboards/input_club/ergodox_infinity/ergodox_infinity.c +++ b/keyboards/input_club/ergodox_infinity/ergodox_infinity.c @@ -209,6 +209,10 @@ const is31fl3731_led_t PROGMEM g_is31fl3731_leds[IS31FL3731_LED_COUNT] = { // 71 70 69 { 0, C3_7 }, { 0, C2_7 }, { 0, C1_7 }, }; + +int led_matrix_led_index(int index) { + return index; +} #endif #ifdef ST7565_ENABLE diff --git a/keyboards/keychron/q11/ansi_encoder/ansi_encoder.c b/keyboards/keychron/q11/ansi_encoder/ansi_encoder.c index 49e428bc00d..5794056bfad 100755 --- a/keyboards/keychron/q11/ansi_encoder/ansi_encoder.c +++ b/keyboards/keychron/q11/ansi_encoder/ansi_encoder.c @@ -125,4 +125,8 @@ const snled27351_led_t PROGMEM g_snled27351_leds[SNLED27351_LED_COUNT] = { {0, CB7_CA1, CB9_CA1, CB8_CA1}, // Down {0, CB7_CA7, CB9_CA7, CB8_CA7}, // Right }; + +int rgb_matrix_led_index(int index) { + return index; +} #endif diff --git a/keyboards/keychron/q11/iso_encoder/iso_encoder.c b/keyboards/keychron/q11/iso_encoder/iso_encoder.c index 8725598b1c2..e750addcfab 100755 --- a/keyboards/keychron/q11/iso_encoder/iso_encoder.c +++ b/keyboards/keychron/q11/iso_encoder/iso_encoder.c @@ -126,4 +126,8 @@ const snled27351_led_t PROGMEM g_snled27351_leds[SNLED27351_LED_COUNT] = { {0, CB7_CA1, CB9_CA1, CB8_CA1}, // Down {0, CB7_CA7, CB9_CA7, CB8_CA7}, // Right }; + +int rgb_matrix_led_index(int index) { + return index; +} #endif diff --git a/keyboards/kprepublic/bm60hsrgb/rev2/config.h b/keyboards/kprepublic/bm60hsrgb/rev2/config.h index 1d2b071fc16..a8010af152a 100644 --- a/keyboards/kprepublic/bm60hsrgb/rev2/config.h +++ b/keyboards/kprepublic/bm60hsrgb/rev2/config.h @@ -25,9 +25,9 @@ // Underglow LEDs are WS2812, but someone might want to use RGBLIGHT for them; // don't use those LEDs in RGB Matrix in that case. #ifdef RGBLIGHT_ENABLE -# define WS2812_LED_TOTAL 0 +# define WS2812_LED_COUNT 0 #else -# define WS2812_LED_TOTAL 6 +# define WS2812_LED_COUNT 6 #endif -#define RGB_MATRIX_LED_COUNT (IS31FL3733_LED_COUNT + WS2812_LED_TOTAL) +#define RGB_MATRIX_LED_COUNT (IS31FL3733_LED_COUNT + WS2812_LED_COUNT) diff --git a/keyboards/kprepublic/bm60hsrgb/rev2/rev2.c b/keyboards/kprepublic/bm60hsrgb/rev2/rev2.c index 5bd23a12b8a..e7ff5a9ddc9 100644 --- a/keyboards/kprepublic/bm60hsrgb/rev2/rev2.c +++ b/keyboards/kprepublic/bm60hsrgb/rev2/rev2.c @@ -110,7 +110,7 @@ led_config_t g_led_config = { { 18, 48 }, { 30, 48 }, { 45, 48 }, { 60, 48 }, { 75, 48 }, { 90, 48 }, { 105, 48 }, { 120, 48 }, { 135, 48 }, { 150, 48 }, { 165, 48 }, { 191, 48 }, { 210, 48 }, // Ctrl, GUI, Alt, Space, RAlt, FN, Left, Down, Right { 3, 64 }, { 22, 64 }, { 33, 64 }, { 101, 64 }, { 135, 64 }, { 153, 64 }, { 195, 64 }, { 210, 64 }, { 225, 64 } -# if WS2812_LED_TOTAL > 0 +# if WS2812_LED_COUNT > 0 ,{ 28, 40}, { 62, 40}, { 96, 40}, {130, 40}, {164, 40}, {198, 40} # endif }, { @@ -124,7 +124,7 @@ led_config_t g_led_config = { 1, 4, 4, 4, 4, 4, 4, 4, 4, 4, 1, 1, 4, // Ctrl, GUI, Alt, Space, RAlt, FN, Left, Down, Right 1, 1, 1, 4, 1, 1, 1, 1, 1 -# if WS2812_LED_TOTAL > 0 +# if WS2812_LED_COUNT > 0 ,2, 2, 2, 2, 2, 2 # endif } @@ -147,10 +147,6 @@ bool rgb_matrix_indicators_kb(void) { // Custom RGB Matrix driver that combines IS31FL3733 and WS2812 // ========================================================================== -# if WS2812_LED_TOTAL > 0 -rgb_led_t rgb_matrix_ws2812_array[WS2812_LED_TOTAL]; -# endif - static void rgb_matrix_driver_init(void) { i2c_init(); is31fl3733_init(0); @@ -164,31 +160,25 @@ static void rgb_matrix_driver_init(void) { static void rgb_matrix_driver_flush(void) { is31fl3733_update_pwm_buffers(0); -# if WS2812_LED_TOTAL > 0 - ws2812_setleds(rgb_matrix_ws2812_array, WS2812_LED_TOTAL); +# if WS2812_LED_COUNT > 0 + ws2812_flush(); # endif } static void rgb_matrix_driver_set_color(int index, uint8_t red, uint8_t green, uint8_t blue) { if (index < IS31FL3733_LED_COUNT) { is31fl3733_set_color(index, red, green, blue); +# if WS2812_LED_COUNT > 0 } else { -# if WS2812_LED_TOTAL > 0 - rgb_matrix_ws2812_array[index - IS31FL3733_LED_COUNT].r = red; - rgb_matrix_ws2812_array[index - IS31FL3733_LED_COUNT].g = green; - rgb_matrix_ws2812_array[index - IS31FL3733_LED_COUNT].b = blue; + ws2812_set_color(index - IS31FL3733_LED_COUNT, red, green, blue); # endif } } static void rgb_matrix_driver_set_color_all(uint8_t red, uint8_t green, uint8_t blue) { is31fl3733_set_color_all(red, green, blue); -# if WS2812_LED_TOTAL > 0 - for (uint8_t i = 0; i < WS2812_LED_TOTAL; i++) { - rgb_matrix_ws2812_array[i].r = red; - rgb_matrix_ws2812_array[i].g = green; - rgb_matrix_ws2812_array[i].b = blue; - } +# if WS2812_LED_COUNT > 0 + ws2812_set_color_all(red, green, blue); # endif } diff --git a/keyboards/kprepublic/bm60hsrgb_iso/rev2/config.h b/keyboards/kprepublic/bm60hsrgb_iso/rev2/config.h index ea594e53cf7..710e240aa4d 100644 --- a/keyboards/kprepublic/bm60hsrgb_iso/rev2/config.h +++ b/keyboards/kprepublic/bm60hsrgb_iso/rev2/config.h @@ -23,9 +23,9 @@ // Underglow LEDs are WS2812, but someone might want to use RGBLIGHT for them; // don't use those LEDs in RGB Matrix in that case. #ifdef RGBLIGHT_ENABLE -# define WS2812_LED_TOTAL 0 +# define WS2812_LED_COUNT 0 #else -# define WS2812_LED_TOTAL 6 +# define WS2812_LED_COUNT 6 #endif -#define RGB_MATRIX_LED_COUNT (IS31FL3733_LED_COUNT + WS2812_LED_TOTAL) +#define RGB_MATRIX_LED_COUNT (IS31FL3733_LED_COUNT + WS2812_LED_COUNT) diff --git a/keyboards/kprepublic/bm60hsrgb_iso/rev2/rev2.c b/keyboards/kprepublic/bm60hsrgb_iso/rev2/rev2.c index 794dea51764..0d52d1bacb5 100644 --- a/keyboards/kprepublic/bm60hsrgb_iso/rev2/rev2.c +++ b/keyboards/kprepublic/bm60hsrgb_iso/rev2/rev2.c @@ -112,7 +112,7 @@ led_config_t g_led_config = { { { 3, 48 }, { 22, 48 }, { 33, 48 }, { 48, 48 }, { 63, 48 }, { 78, 48 }, { 93, 48 }, { 108, 48 }, { 123, 48 }, { 138, 48 }, { 153, 48 }, { 168, 48 }, { 194, 48 }, { 213, 48 }, // Ctrl, GUI, Alt, Space, RAlt, FN, Left, Down, Right { 3, 64 }, { 22, 64 }, { 33, 64 }, { 101, 64 }, { 135, 64 }, { 153, 64 }, { 195, 64 }, { 210, 64 }, { 225, 64 } -# if WS2812_LED_TOTAL > 0 +# if WS2812_LED_COUNT > 0 ,{ 28, 40}, { 62, 40}, { 96, 40}, {130, 40}, {164, 40}, {198, 40} # endif }, { @@ -126,7 +126,7 @@ led_config_t g_led_config = { { 1, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 1, 1, 4, // Ctrl, GUI, Alt, Space, RAlt, FN, Left, Down, Right 1, 1, 1, 4, 1, 1, 1, 1, 1 -# if WS2812_LED_TOTAL > 0 +# if WS2812_LED_COUNT > 0 ,2, 2, 2, 2, 2, 2 # endif } }; @@ -147,10 +147,6 @@ bool rgb_matrix_indicators_kb(void) { // Custom RGB Matrix driver that combines IS31FL3733 and WS2812 // ========================================================================== -# if WS2812_LED_TOTAL > 0 -rgb_led_t rgb_matrix_ws2812_array[WS2812_LED_TOTAL]; -# endif - static void rgb_matrix_driver_init(void) { i2c_init(); is31fl3733_init(0); @@ -164,31 +160,25 @@ static void rgb_matrix_driver_init(void) { static void rgb_matrix_driver_flush(void) { is31fl3733_update_pwm_buffers(0); -# if WS2812_LED_TOTAL > 0 - ws2812_setleds(rgb_matrix_ws2812_array, WS2812_LED_TOTAL); +# if WS2812_LED_COUNT > 0 + ws2812_flush(); # endif } static void rgb_matrix_driver_set_color(int index, uint8_t red, uint8_t green, uint8_t blue) { if (index < IS31FL3733_LED_COUNT) { is31fl3733_set_color(index, red, green, blue); +# if WS2812_LED_COUNT > 0 } else { -# if WS2812_LED_TOTAL > 0 - rgb_matrix_ws2812_array[index - IS31FL3733_LED_COUNT].r = red; - rgb_matrix_ws2812_array[index - IS31FL3733_LED_COUNT].g = green; - rgb_matrix_ws2812_array[index - IS31FL3733_LED_COUNT].b = blue; + ws2812_set_color(index - IS31FL3733_LED_COUNT, red, green, blue); # endif } } static void rgb_matrix_driver_set_color_all(uint8_t red, uint8_t green, uint8_t blue) { is31fl3733_set_color_all(red, green, blue); -# if WS2812_LED_TOTAL > 0 - for (uint8_t i = 0; i < WS2812_LED_TOTAL; i++) { - rgb_matrix_ws2812_array[i].r = red; - rgb_matrix_ws2812_array[i].g = green; - rgb_matrix_ws2812_array[i].b = blue; - } +# if WS2812_LED_COUNT > 0 + ws2812_set_color_all(red, green, blue); # endif } diff --git a/keyboards/kprepublic/bm60hsrgb_poker/rev2/config.h b/keyboards/kprepublic/bm60hsrgb_poker/rev2/config.h index b5ff897b188..843c5b2625b 100644 --- a/keyboards/kprepublic/bm60hsrgb_poker/rev2/config.h +++ b/keyboards/kprepublic/bm60hsrgb_poker/rev2/config.h @@ -21,9 +21,9 @@ // Underglow LEDs are WS2812, but someone might want to use RGBLIGHT for them; // don't use those LEDs in RGB Matrix in that case. #ifdef RGBLIGHT_ENABLE -# define WS2812_LED_TOTAL 0 +# define WS2812_LED_COUNT 0 #else -# define WS2812_LED_TOTAL 6 +# define WS2812_LED_COUNT 6 #endif -#define RGB_MATRIX_LED_COUNT (IS31FL3733_LED_COUNT + WS2812_LED_TOTAL) +#define RGB_MATRIX_LED_COUNT (IS31FL3733_LED_COUNT + WS2812_LED_COUNT) diff --git a/keyboards/kprepublic/bm60hsrgb_poker/rev2/rev2.c b/keyboards/kprepublic/bm60hsrgb_poker/rev2/rev2.c index 3586dc8e804..5766942b346 100644 --- a/keyboards/kprepublic/bm60hsrgb_poker/rev2/rev2.c +++ b/keyboards/kprepublic/bm60hsrgb_poker/rev2/rev2.c @@ -107,7 +107,7 @@ led_config_t g_led_config = { { 18, 48 }, { 30, 48 }, { 45, 48 }, { 60, 48 }, { 75, 48 }, { 90, 48 }, { 105, 48 }, { 120, 48 }, { 135, 48 }, { 150, 48 }, { 165, 48 }, { 191, 48 }, // Ctrl, GUI, Alt, Space, RAlt, FN, Left, Down, Right { 3, 64 }, { 22, 64 }, { 33, 64 }, { 101, 64 }, { 135, 64 }, { 153, 64 }, { 210, 64 }, { 225, 64 } -# if WS2812_LED_TOTAL > 0 +# if WS2812_LED_COUNT > 0 ,{ 28, 40}, { 62, 40}, { 96, 40}, {130, 40}, {164, 40}, {198, 40} # endif }, { @@ -121,7 +121,7 @@ led_config_t g_led_config = { 1, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 1, // Ctrl, GUI, Alt, Space, RAlt, FN, Left, Down, Right 1, 1, 1, 4, 1, 1, 1, 1 -# if WS2812_LED_TOTAL > 0 +# if WS2812_LED_COUNT > 0 ,2, 2, 2, 2, 2, 2 # endif } @@ -143,10 +143,6 @@ bool rgb_matrix_indicators_kb(void) { // Custom RGB Matrix driver that combines IS31FL3733 and WS2812 // ========================================================================== -# if WS2812_LED_TOTAL > 0 -rgb_led_t rgb_matrix_ws2812_array[WS2812_LED_TOTAL]; -# endif - static void rgb_matrix_driver_init(void) { i2c_init(); is31fl3733_init(0); @@ -160,31 +156,25 @@ static void rgb_matrix_driver_init(void) { static void rgb_matrix_driver_flush(void) { is31fl3733_update_pwm_buffers(0); -# if WS2812_LED_TOTAL > 0 - ws2812_setleds(rgb_matrix_ws2812_array, WS2812_LED_TOTAL); +# if WS2812_LED_COUNT > 0 + ws2812_flush(); # endif } static void rgb_matrix_driver_set_color(int index, uint8_t red, uint8_t green, uint8_t blue) { if (index < IS31FL3733_LED_COUNT) { is31fl3733_set_color(index, red, green, blue); +# if WS2812_LED_COUNT > 0 } else { -# if WS2812_LED_TOTAL > 0 - rgb_matrix_ws2812_array[index - IS31FL3733_LED_COUNT].r = red; - rgb_matrix_ws2812_array[index - IS31FL3733_LED_COUNT].g = green; - rgb_matrix_ws2812_array[index - IS31FL3733_LED_COUNT].b = blue; + ws2812_set_color(index - IS31FL3733_LED_COUNT, red, green, blue); # endif } } static void rgb_matrix_driver_set_color_all(uint8_t red, uint8_t green, uint8_t blue) { is31fl3733_set_color_all(red, green, blue); -# if WS2812_LED_TOTAL > 0 - for (uint8_t i = 0; i < WS2812_LED_TOTAL; i++) { - rgb_matrix_ws2812_array[i].r = red; - rgb_matrix_ws2812_array[i].g = green; - rgb_matrix_ws2812_array[i].b = blue; - } +# if WS2812_LED_COUNT > 0 + ws2812_set_color_all(red, green, blue); # endif } diff --git a/keyboards/matrix/abelx/abelx.c b/keyboards/matrix/abelx/abelx.c index ee7ffde1346..9058bf6e2f7 100644 --- a/keyboards/matrix/abelx/abelx.c +++ b/keyboards/matrix/abelx/abelx.c @@ -41,20 +41,6 @@ uint8_t read_pin(uint16_t pin) return (data & (1< -#include "rgblight.h" -#include "ws2812.h" -extern rgblight_config_t rgblight_config; - -// led 0 for caps lock, led 1 for scroll lock, led 3 for num lock -// led 4 for layer 1, led 5 for layer 2, led 6 for layer 3, led 7 for layer 4 -#if RGBLIGHT_LED_COUNT < 7 -#error "MUST set the RGBLIGHT_LED_COUNT bigger than 7" -#endif -rgb_led_t noah_leds[RGBLIGHT_LED_COUNT]; -static bool noah_led_mode = false; -void setleds_custom(rgb_led_t *ledarray, uint16_t num_leds) { - memset(&noah_leds[0], 0, sizeof(noah_leds)); - if (!rgblight_config.enable) { - for (uint8_t i = 0; i < RGBLIGHT_LED_COUNT; i++) { - ledarray[i].r = 0; - ledarray[i].g = 0; - ledarray[i].b = 0; - } - } - if (noah_led_mode) { - led_t led_state = host_keyboard_led_state(); - if (led_state.caps_lock) { - noah_leds[0] = ledarray[0]; - } - if (led_state.scroll_lock) { - noah_leds[1] = ledarray[1]; - } - if (led_state.num_lock) { - noah_leds[2] = ledarray[2]; - } - for (int32_t i = 0; i < 4; i++) { - if(layer_state_is(i+1)) { - noah_leds[i + 3] = ledarray[i + 3]; - } - } - } else { - memcpy(&noah_leds[0], &ledarray[0], sizeof(noah_leds)); - } - - ws2812_setleds(noah_leds, RGBLIGHT_LED_COUNT); -} - -const rgblight_driver_t rgblight_driver = { - .init = ws2812_init, - .setleds = setleds_custom, -}; -#endif - #ifdef RGB_MATRIX_ENABLE const is31fl3731_led_t PROGMEM g_is31fl3731_leds[IS31FL3731_LED_COUNT] = { /* Refer to IS31 manual for these locations @@ -150,11 +99,6 @@ const is31fl3731_led_t PROGMEM g_is31fl3731_leds[IS31FL3731_LED_COUNT] = { bool process_record_kb(uint16_t keycode, keyrecord_t *record) { if (record->event.pressed) { switch(keycode) { - #ifdef RGBLIGHT_ENABLE - case KC_F24: // switch the led mode on or off - noah_led_mode = !noah_led_mode; - return false; - #ifdef RGB_MATRIX_ENABLE case KC_F13: // toggle rgb matrix rgb_matrix_toggle(); @@ -162,7 +106,6 @@ bool process_record_kb(uint16_t keycode, keyrecord_t *record) { case KC_F14: rgb_matrix_step(); return false; - #endif #endif default: break; diff --git a/keyboards/neson_design/700e/700e.c b/keyboards/neson_design/700e/700e.c index c6ba94c8343..cee22cf78dc 100644 --- a/keyboards/neson_design/700e/700e.c +++ b/keyboards/neson_design/700e/700e.c @@ -18,9 +18,11 @@ */ #include "quantum.h" -#include "i2c_master.h" -#include "drivers/led/issi/is31fl3731.h" -#include "ws2812.h" + +#ifdef RGBLIGHT_ENABLE +# include "i2c_master.h" +# include "drivers/led/issi/is31fl3731.h" +# include "ws2812.h" enum { SELF_TESTING, @@ -67,7 +69,6 @@ enum { #endif #define ST_RIGHT_END (ST_RIGHT_BEGIN+ST_RIGHT_SIZE-1) -#ifdef RGBLIGHT_ENABLE typedef struct { uint8_t state; @@ -295,7 +296,6 @@ void matrix_init_kb(void) gpio_set_pin_output(LED_CAPS_LOCK_PIN); gpio_write_pin_low(LED_CAPS_LOCK_PIN); - is31fl3731_init_drivers(); update_ticks(); matrix_init_user(); @@ -313,17 +313,10 @@ void housekeeping_task_kb(void) } else if (rgb_state.state == CAPS_ALERT) { if (rgb_state.alert) { is31fl3731_set_color_all(ALERM_LED_R, ALERM_LED_G, ALERM_LED_B); - rgb_led_t leds[4]; - for (int i = 0; i < 4; i++) { - leds[i].r = ALERM_LED_G; - leds[i].g = ALERM_LED_R; - leds[i].b = ALERM_LED_B; - } - ws2812_setleds(leds, 4); + ws2812_set_color_all(ALERM_LED_G, ALERM_LED_R, ALERM_LED_B); } else { is31fl3731_set_color_all(0, 0, 0); - rgb_led_t leds[4] = {0}; - ws2812_setleds(leds, 4); + ws2812_set_color_all(0, 0, 0); } if (timer_elapsed(rgb_state.ticks) > ALERT_INTERVAL) { @@ -333,28 +326,40 @@ void housekeeping_task_kb(void) } is31fl3731_flush(); + ws2812_flush(); } -void setleds_custom(rgb_led_t *start_led, uint16_t num_leds) -{ +void init_custom(void) { + is31fl3731_init_drivers(); + ws2812_init(); +} + +void set_color_custom(int index, uint8_t red, uint8_t green, uint8_t blue) { + if (index < IS31FL3731_LED_COUNT) { + is31fl3731_set_color(index, red, green, blue); + } else if (index < IS31FL3731_LED_COUNT + WS2812_LED_COUNT) { + ws2812_set_color(index - IS31FL3731_LED_COUNT, green, red, blue); + } +} + +void set_color_all_custom(uint8_t red, uint8_t green, uint8_t blue) { + for (int i = 0; i < RGBLIGHT_LED_COUNT; i++) { + set_color_custom(i, red, green, blue); + } +} + +void flush_custom(void) { if (rgb_state.state != NORMAL) return; - for (uint8_t i = 0; i < IS31FL3731_LED_COUNT; i++) { - is31fl3731_set_color(i, start_led[i].r, start_led[i].g, start_led[i].b); - } - rgb_led_t leds[4]; - for (int i = 0; i < 4; i++) { - leds[i].r = start_led[IS31FL3731_LED_COUNT+i].g; - leds[i].g = start_led[IS31FL3731_LED_COUNT+i].r; - leds[i].b = start_led[IS31FL3731_LED_COUNT+i].b; - } - //ws2812_setleds(start_led+IS31FL3731_LED_COUNT, 4); - ws2812_setleds(leds, 4); + is31fl3731_flush(); + ws2812_flush(); } const rgblight_driver_t rgblight_driver = { - .init = ws2812_init, - .setleds = setleds_custom, + .init = init_custom, + .set_color = set_color_custom, + .set_color_all = set_color_all_custom, + .flush = flush_custom, }; bool led_update_kb(led_t led_state) diff --git a/keyboards/neson_design/700e/config.h b/keyboards/neson_design/700e/config.h index d92c9deb5d7..2c2d02cad1e 100644 --- a/keyboards/neson_design/700e/config.h +++ b/keyboards/neson_design/700e/config.h @@ -21,5 +21,6 @@ #define IS31FL3731_I2C_ADDRESS_1 IS31FL3731_I2C_ADDRESS_GND #define IS31FL3731_I2C_ADDRESS_2 IS31FL3731_I2C_ADDRESS_VCC #define IS31FL3731_LED_COUNT 64 +#define WS2812_LED_COUNT 4 #define USB_SUSPEND_WAKEUP_DELAY 1000 diff --git a/keyboards/neson_design/n6/config.h b/keyboards/neson_design/n6/config.h index 92aa189fae0..dd67c118510 100644 --- a/keyboards/neson_design/n6/config.h +++ b/keyboards/neson_design/n6/config.h @@ -21,3 +21,4 @@ #define IS31FL3731_I2C_ADDRESS_1 IS31FL3731_I2C_ADDRESS_GND #define IS31FL3731_I2C_ADDRESS_2 IS31FL3731_I2C_ADDRESS_VCC #define IS31FL3731_LED_COUNT 64 +#define WS2812_LED_COUNT 1 diff --git a/keyboards/neson_design/n6/n6.c b/keyboards/neson_design/n6/n6.c index ef5035dcde5..03bb88c40b5 100644 --- a/keyboards/neson_design/n6/n6.c +++ b/keyboards/neson_design/n6/n6.c @@ -18,9 +18,11 @@ */ #include "quantum.h" -#include "i2c_master.h" -#include "drivers/led/issi/is31fl3731.h" -#include "ws2812.h" + +#ifdef RGBLIGHT_ENABLE +# include "i2c_master.h" +# include "drivers/led/issi/is31fl3731.h" +# include "ws2812.h" enum { SELF_TESTING, @@ -67,7 +69,6 @@ enum { #endif #define ST_RIGHT_END (ST_RIGHT_BEGIN+ST_RIGHT_SIZE-1) -#ifdef RGBLIGHT_ENABLE extern rgblight_config_t rgblight_config; typedef struct { @@ -299,8 +300,6 @@ void matrix_init_kb(void) gpio_set_pin_output(LED_CAPS_LOCK_PIN); gpio_write_pin_low(LED_CAPS_LOCK_PIN); - is31fl3731_init_drivers(); - update_ticks(); matrix_init_user(); } @@ -310,22 +309,12 @@ void housekeeping_task_kb(void) if (rgb_state.state == SELF_TESTING) { self_testing(); } else if (rgb_state.state == CAPS_ALERT) { - //gold 0xFF, 0xD9, 0x00 - rgb_led_t led = { - .r = 0xFF, - //.g = 0xD9, - .g = 0xA5, - .b = 0x00, - }; if (rgb_state.alert) { - is31fl3731_set_color_all(led.r, led.g, led.b); - ws2812_setleds(&led, 1); + is31fl3731_set_color_all(0xFF, 0xA5, 0x00); + ws2812_set_color_all(0xFF, 0xA5, 0x00); } else { - led.r = 0; - led.g = 0; - led.b = 0; is31fl3731_set_color_all(0, 0, 0); - ws2812_setleds(&led, 1); + ws2812_set_color_all(0, 0, 0); } if (timer_elapsed(rgb_state.ticks) > ALERT_INTERVAL) { @@ -337,19 +326,37 @@ void housekeeping_task_kb(void) is31fl3731_flush(); } -void setleds_custom(rgb_led_t *start_led, uint16_t num_leds) -{ +void init_custom(void) { + is31fl3731_init_drivers(); + ws2812_init(); +} + +void set_color_custom(int index, uint8_t red, uint8_t green, uint8_t blue) { + if (index < IS31FL3731_LED_COUNT) { + is31fl3731_set_color(index, red, green, blue); + } else if (index < IS31FL3731_LED_COUNT + WS2812_LED_COUNT) { + ws2812_set_color(index - IS31FL3731_LED_COUNT, red, green, blue); + } +} + +void set_color_all_custom(uint8_t red, uint8_t green, uint8_t blue) { + for (int i = 0; i < RGBLIGHT_LED_COUNT; i++) { + set_color_custom(i, red, green, blue); + } +} + +void flush_custom(void) { if (rgb_state.state != NORMAL) return; - for (uint8_t i = 0; i < IS31FL3731_LED_COUNT; i++) { - is31fl3731_set_color(i, start_led[i].r, start_led[i].g, start_led[i].b); - } - ws2812_setleds(start_led+IS31FL3731_LED_COUNT, 1); + is31fl3731_flush(); + ws2812_flush(); } const rgblight_driver_t rgblight_driver = { - .init = ws2812_init, - .setleds = setleds_custom, + .init = init_custom, + .set_color = set_color_custom, + .set_color_all = set_color_all_custom, + .flush = flush_custom, }; bool led_update_kb(led_t led_state) diff --git a/keyboards/oddforge/vea/ws2812_custom.c b/keyboards/oddforge/vea/ws2812_custom.c index 317f98130b1..568f0e176df 100644 --- a/keyboards/oddforge/vea/ws2812_custom.c +++ b/keyboards/oddforge/vea/ws2812_custom.c @@ -17,12 +17,25 @@ # define WS2812_I2C_TIMEOUT 100 #endif +ws2812_led_t ws2812_leds[WS2812_LED_COUNT]; + void ws2812_init(void) { i2c_init(); } -// Setleds for standard RGB -void ws2812_setleds(rgb_led_t *ledarray, uint16_t leds) { - i2c_transmit(WS2812_I2C_ADDRESS, (uint8_t *)ledarray, sizeof(rgb_led_t) * (leds >> 1), WS2812_I2C_TIMEOUT); - i2c_transmit(WS2812_I2C_ADDRESS_RIGHT, (uint8_t *)ledarray+(sizeof(rgb_led_t) * (leds >> 1)), sizeof(rgb_led_t) * (leds - (leds >> 1)), WS2812_I2C_TIMEOUT); +void ws2812_set_color(int index, uint8_t red, uint8_t green, uint8_t blue) { + ws2812_leds[index].r = red; + ws2812_leds[index].g = green; + ws2812_leds[index].b = blue; +} + +void ws2812_set_color_all(uint8_t red, uint8_t green, uint8_t blue) { + for (int i = 0; i < WS2812_LED_COUNT; i++) { + ws2812_set_color(i, red, green, blue); + } +} + +void ws2812_flush(void) { + i2c_transmit(WS2812_I2C_ADDRESS, (uint8_t *)ws2812_leds, sizeof(ws2812_led_t) * (WS2812_LED_COUNT >> 1), WS2812_I2C_TIMEOUT); + i2c_transmit(WS2812_I2C_ADDRESS_RIGHT, (uint8_t *)ws2812_leds + (sizeof(ws2812_led_t) * (WS2812_LED_COUNT >> 1)), sizeof(ws2812_led_t) * (WS2812_LED_COUNT - (WS2812_LED_COUNT >> 1)), WS2812_I2C_TIMEOUT); } diff --git a/keyboards/orthograph/orthograph.c b/keyboards/orthograph/orthograph.c index 9d824574d10..0649115aa37 100644 --- a/keyboards/orthograph/orthograph.c +++ b/keyboards/orthograph/orthograph.c @@ -125,4 +125,7 @@ const is31fl3733_led_t PROGMEM g_is31fl3733_leds[IS31FL3733_LED_COUNT] = { {0, SW7_CS7, SW8_CS7, SW9_CS7} }; +int rgb_matrix_led_index(int index) { + return index; +} #endif diff --git a/keyboards/rgbkb/pan/config.h b/keyboards/rgbkb/pan/config.h index abb9620a5d9..be719c14373 100644 --- a/keyboards/rgbkb/pan/config.h +++ b/keyboards/rgbkb/pan/config.h @@ -17,3 +17,4 @@ along with this program. If not, see . #pragma once #define RGB_MATRIX_LED_COUNT 64 +#define WS2812_LED_COUNT 64 diff --git a/keyboards/rgbkb/pan/pan.c b/keyboards/rgbkb/pan/pan.c index 401831e0e20..20cc4dd2487 100644 --- a/keyboards/rgbkb/pan/pan.c +++ b/keyboards/rgbkb/pan/pan.c @@ -21,43 +21,23 @@ # if defined(KEYBOARD_rgbkb_pan_rev1) # include "ws2812.h" -// LED color buffer -rgb_led_t rgb_matrix_ws2812_array[RGB_MATRIX_LED_COUNT]; - -static void flush(void) { - ws2812_setleds(rgb_matrix_ws2812_array, RGB_MATRIX_LED_COUNT); -} - // Set an led in the buffer to a color static inline void setled(int i, uint8_t r, uint8_t g, uint8_t b) { # if defined(RGB_ENCODERS) || defined(STAGGERED_RGB_ENCODERS) if (i == 0 || i == 1) { // if encoder LEDs, change LEDs - rgb_matrix_ws2812_array[i].r = g; - rgb_matrix_ws2812_array[i].g = b; - rgb_matrix_ws2812_array[i].b = r; + ws2812_set_color(i, g, b, r); } else # endif { - rgb_matrix_ws2812_array[i].r = r; - rgb_matrix_ws2812_array[i].g = g; - rgb_matrix_ws2812_array[i].b = b; - } -# ifdef WS2812_RGBW - convert_rgb_to_rgbw(&rgb_matrix_ws2812_array[i]); -# endif -} - -static void setled_all(uint8_t r, uint8_t g, uint8_t b) { - for (int i = 0; i < ARRAY_SIZE(rgb_matrix_ws2812_array); i++) { - setled(i, r, g, b); + ws2812_set_color(i, r, g, b); } } const rgb_matrix_driver_t rgb_matrix_driver = { .init = ws2812_init, - .flush = flush, + .flush = ws2812_flush, .set_color = setled, - .set_color_all = setled_all, + .set_color_all = ws2812_set_color_all, }; # endif diff --git a/keyboards/steelseries/prime_plus/rgblight_custom.c b/keyboards/steelseries/prime_plus/rgblight_custom.c index cdb9e10078f..d2be7892038 100644 --- a/keyboards/steelseries/prime_plus/rgblight_custom.c +++ b/keyboards/steelseries/prime_plus/rgblight_custom.c @@ -1,35 +1,20 @@ // Copyright 2024 Dasky (@daskygit) // SPDX-License-Identifier: GPL-2.0-or-later -#include "quantum.h" +#include +#include "chibios_config.h" +#include "gpio.h" +#include "color.h" +#include "rgblight_drivers.h" static PWMConfig pwmCFG = { .frequency = 0xFFFF, .period = 256, }; -void prime_setleds(rgb_led_t *start_led, uint16_t num_leds) { - if (start_led[0].r == 0) { - pwmDisableChannel(&RGB_PWM_DRIVER, RGB_RED_PWM_CHANNEL - 1); - } else { - uint32_t duty = ((uint32_t)0xFFFF * start_led[0].r) / 0xFF; - pwmEnableChannel(&RGB_PWM_DRIVER, RGB_RED_PWM_CHANNEL - 1, PWM_FRACTION_TO_WIDTH(&RGB_PWM_DRIVER, 0xFFFF, duty)); - } - if (start_led[0].g == 0) { - pwmDisableChannel(&RGB_PWM_DRIVER, RGB_GREEN_PWM_CHANNEL - 1); - } else { - uint32_t duty = ((uint32_t)0xFFFF * start_led[0].g) / 0xFF; - pwmEnableChannel(&RGB_PWM_DRIVER, RGB_GREEN_PWM_CHANNEL - 1, PWM_FRACTION_TO_WIDTH(&RGB_PWM_DRIVER, 0xFFFF, duty)); - } - if (start_led[0].b == 0) { - pwmDisableChannel(&RGB_PWM_DRIVER, RGB_BLUE_PWM_CHANNEL - 1); - } else { - uint32_t duty = ((uint32_t)0xFFFF * start_led[0].b) / 0xFF; - pwmEnableChannel(&RGB_PWM_DRIVER, RGB_BLUE_PWM_CHANNEL - 1, PWM_FRACTION_TO_WIDTH(&RGB_PWM_DRIVER, 0xFFFF, duty)); - } -} +rgb_led_t prime_leds[RGBLIGHT_LED_COUNT]; -void prime_initleds(void) { +void init_custom(void) { palSetPadMode(PAL_PORT(RGB_RED_PIN), PAL_PAD(RGB_RED_PIN), PAL_MODE_ALTERNATE_PUSHPULL); palSetPadMode(PAL_PORT(RGB_GREEN_PIN), PAL_PAD(RGB_GREEN_PIN), PAL_MODE_ALTERNATE_PUSHPULL); palSetPadMode(PAL_PORT(RGB_BLUE_PIN), PAL_PAD(RGB_BLUE_PIN), PAL_MODE_ALTERNATE_PUSHPULL); @@ -39,7 +24,42 @@ void prime_initleds(void) { pwmStart(&RGB_PWM_DRIVER, &pwmCFG); } +void set_color_custom(int index, uint8_t red, uint8_t green, uint8_t blue) { + prime_leds[index].r = red; + prime_leds[index].g = green; + prime_leds[index].b = blue; +} + +void set_color_all_custom(uint8_t red, uint8_t green, uint8_t blue) { + for (int i = 0; i < RGBLIGHT_LED_COUNT; i++) { + set_color_custom(i, red, green, blue); + } +} + +void flush_custom(void) { + if (prime_leds[0].r == 0) { + pwmDisableChannel(&RGB_PWM_DRIVER, RGB_RED_PWM_CHANNEL - 1); + } else { + uint32_t duty = ((uint32_t)0xFFFF * prime_leds[0].r) / 0xFF; + pwmEnableChannel(&RGB_PWM_DRIVER, RGB_RED_PWM_CHANNEL - 1, PWM_FRACTION_TO_WIDTH(&RGB_PWM_DRIVER, 0xFFFF, duty)); + } + if (prime_leds[0].g == 0) { + pwmDisableChannel(&RGB_PWM_DRIVER, RGB_GREEN_PWM_CHANNEL - 1); + } else { + uint32_t duty = ((uint32_t)0xFFFF * prime_leds[0].g) / 0xFF; + pwmEnableChannel(&RGB_PWM_DRIVER, RGB_GREEN_PWM_CHANNEL - 1, PWM_FRACTION_TO_WIDTH(&RGB_PWM_DRIVER, 0xFFFF, duty)); + } + if (prime_leds[0].b == 0) { + pwmDisableChannel(&RGB_PWM_DRIVER, RGB_BLUE_PWM_CHANNEL - 1); + } else { + uint32_t duty = ((uint32_t)0xFFFF * prime_leds[0].b) / 0xFF; + pwmEnableChannel(&RGB_PWM_DRIVER, RGB_BLUE_PWM_CHANNEL - 1, PWM_FRACTION_TO_WIDTH(&RGB_PWM_DRIVER, 0xFFFF, duty)); + } +} + const rgblight_driver_t rgblight_driver = { - .init = prime_initleds, - .setleds = prime_setleds, + .init = init_custom, + .set_color = set_color_custom, + .set_color_all = set_color_all_custom, + .flush = flush_custom, }; diff --git a/keyboards/wilba_tech/wt_rgb_backlight.c b/keyboards/wilba_tech/wt_rgb_backlight.c index 936286c2eef..645ee2b32a8 100644 --- a/keyboards/wilba_tech/wt_rgb_backlight.c +++ b/keyboards/wilba_tech/wt_rgb_backlight.c @@ -60,7 +60,6 @@ #if defined(RGB_BACKLIGHT_DAWN60) #include "ws2812.h" -rgb_led_t g_ws2812_leds[WS2812_LED_TOTAL]; #endif #include "progmem.h" @@ -1011,6 +1010,9 @@ void backlight_update_pwm_buffers(void) driver = 0; } #else +#if defined(RGB_BACKLIGHT_DAWN60) + ws2812_flush(); +#endif is31fl3731_update_pwm_buffers( 0 ); is31fl3731_update_pwm_buffers( 1 ); is31fl3731_update_led_control_registers( 0 ); @@ -1037,10 +1039,7 @@ void backlight_set_color( int index, uint8_t red, uint8_t green, uint8_t blue ) if( index < IS31FL3731_LED_COUNT ) { is31fl3731_set_color( index, red, green, blue ); } else { - g_ws2812_leds[index - IS31FL3731_LED_COUNT].r = red; - g_ws2812_leds[index - IS31FL3731_LED_COUNT].g = green; - g_ws2812_leds[index - IS31FL3731_LED_COUNT].b = blue; - ws2812_setleds(g_ws2812_leds, WS2812_LED_TOTAL); + ws2812_set_color( index - IS31FL3731_LED_COUNT, red, green, blue ); } #else is31fl3731_set_color( index, red, green, blue ); @@ -1075,12 +1074,7 @@ void backlight_set_color_all( uint8_t red, uint8_t green, uint8_t blue ) } #elif defined(RGB_BACKLIGHT_DAWN60) is31fl3731_set_color_all( red, green, blue ); - for (uint8_t i = 0; i < WS2812_LED_TOTAL; i++) { - g_ws2812_leds[i].r = red; - g_ws2812_leds[i].g = green; - g_ws2812_leds[i].b = blue; - } - ws2812_setleds(g_ws2812_leds, WS2812_LED_TOTAL); + ws2812_set_color_all( red, green, blue ); #else is31fl3731_set_color_all( red, green, blue ); #endif @@ -1325,7 +1319,7 @@ void backlight_effect_alphas_mods(void) } } #if defined(RGB_BACKLIGHT_DAWN60) - for (int i = 0; i < WS2812_LED_TOTAL; i++) { + for (int i = 0; i < WS2812_LED_COUNT; i++) { if ((RGB_UNDERGLOW_ALPHA_TOP_START <= i && i <= RGB_UNDERGLOW_ALPHA_TOP_END) || (RGB_UNDERGLOW_ALPHA_BOT_START <= i && i <= RGB_UNDERGLOW_ALPHA_BOT_END)) { backlight_set_color(i + IS31FL3731_LED_COUNT, rgb1.r, rgb1.g, rgb1.b); diff --git a/keyboards/work_louder/rgb_functions.c b/keyboards/work_louder/rgb_functions.c index bc31aab7c1f..fb99c0b0086 100644 --- a/keyboards/work_louder/rgb_functions.c +++ b/keyboards/work_louder/rgb_functions.c @@ -26,13 +26,17 @@ #define WS2812_DI_PIN RGBLIGHT_DI_PIN #define ws2812_init ws2812_rgb_init -#define ws2812_setleds ws2812_rgb_setleds +#define ws2812_set_color ws2812_rgb_set_color +#define ws2812_set_color_all ws2812_rgb_set_color_all +#define ws2812_flush ws2812_rgb_flush #include "ws2812_bitbang.c" const rgblight_driver_t rgblight_driver = { - .init = ws2812_init, - .setleds = ws2812_setleds, + .init = ws2812_init, + .set_color = ws2812_set_color, + .set_color_all = ws2812_set_color_all, + .flush = ws2812_flush, }; #endif diff --git a/keyboards/xelus/dawn60/rev1/config.h b/keyboards/xelus/dawn60/rev1/config.h index e64b0895fac..7ff2294ddd6 100644 --- a/keyboards/xelus/dawn60/rev1/config.h +++ b/keyboards/xelus/dawn60/rev1/config.h @@ -42,7 +42,7 @@ #define RGB_BACKLIGHT_DAWN60 //RGB Underglow defines -#define WS2812_LED_TOTAL 20 +#define WS2812_LED_COUNT 20 #define RGB_UNDERGLOW_ALPHA_TOP_START 0 #define RGB_UNDERGLOW_ALPHA_TOP_END 6 diff --git a/keyboards/xelus/dawn60/rev1_qmk/config.h b/keyboards/xelus/dawn60/rev1_qmk/config.h index b54fcaee2ad..12f0dad8dfa 100644 --- a/keyboards/xelus/dawn60/rev1_qmk/config.h +++ b/keyboards/xelus/dawn60/rev1_qmk/config.h @@ -16,14 +16,14 @@ #pragma once //RGB Underglow defines -#define WS2812_LED_TOTAL 20 +#define WS2812_LED_COUNT 20 //RGB Matrix defines #define IS31FL3731_I2C_ADDRESS_1 IS31FL3731_I2C_ADDRESS_GND #define IS31FL3731_I2C_ADDRESS_2 IS31FL3731_I2C_ADDRESS_SDA #define IS31FL3731_LED_COUNT 64 -#define RGB_MATRIX_LED_COUNT (IS31FL3731_LED_COUNT + WS2812_LED_TOTAL) +#define RGB_MATRIX_LED_COUNT (IS31FL3731_LED_COUNT + WS2812_LED_COUNT) // enable/disable LEDs based on layout // switch between split backspace (1) or normal backspace(0) diff --git a/keyboards/xelus/dawn60/rev1_qmk/rev1_qmk.c b/keyboards/xelus/dawn60/rev1_qmk/rev1_qmk.c index a153a7cf837..746c68950b8 100644 --- a/keyboards/xelus/dawn60/rev1_qmk/rev1_qmk.c +++ b/keyboards/xelus/dawn60/rev1_qmk/rev1_qmk.c @@ -23,8 +23,6 @@ #include "ws2812.h" #ifdef RGB_MATRIX_ENABLE -rgb_led_t rgb_matrix_ws2812_array[WS2812_LED_TOTAL]; - const is31fl3731_led_t PROGMEM g_is31fl3731_leds[IS31FL3731_LED_COUNT] = { /* Refer to IS31 manual for these locations * driver @@ -161,26 +159,20 @@ static void init(void) { static void flush(void) { is31fl3731_update_pwm_buffers(0); is31fl3731_update_pwm_buffers(1); - ws2812_setleds(rgb_matrix_ws2812_array, WS2812_LED_TOTAL); + ws2812_flush(); } static void set_color(int index, uint8_t red, uint8_t green, uint8_t blue) { if (index < IS31FL3731_LED_COUNT) { is31fl3731_set_color(index, red, green, blue); } else { - rgb_matrix_ws2812_array[index - IS31FL3731_LED_COUNT].r = red; - rgb_matrix_ws2812_array[index - IS31FL3731_LED_COUNT].g = green; - rgb_matrix_ws2812_array[index - IS31FL3731_LED_COUNT].b = blue; + ws2812_set_color(index - IS31FL3731_LED_COUNT, red, green, blue); } } static void set_color_all(uint8_t red, uint8_t green, uint8_t blue) { is31fl3731_set_color_all( red, green, blue ); - for (uint8_t i = 0; i < WS2812_LED_TOTAL; i++) { - rgb_matrix_ws2812_array[i].r = red; - rgb_matrix_ws2812_array[i].g = green; - rgb_matrix_ws2812_array[i].b = blue; - } + ws2812_set_color_all( red, green, blue ); } diff --git a/keyboards/xiudi/xd002/keymaps/rgb_lite/config.h b/keyboards/xiudi/xd002/keymaps/rgb_lite/config.h new file mode 100644 index 00000000000..bb9f2fc153d --- /dev/null +++ b/keyboards/xiudi/xd002/keymaps/rgb_lite/config.h @@ -0,0 +1,3 @@ +#pragma once + +#define WS2812_LED_COUNT 2 diff --git a/keyboards/xiudi/xd002/keymaps/rgb_lite/rgblite.h b/keyboards/xiudi/xd002/keymaps/rgb_lite/rgblite.h index 0bb0582415c..3ee8c44b87d 100644 --- a/keyboards/xiudi/xd002/keymaps/rgb_lite/rgblite.h +++ b/keyboards/xiudi/xd002/keymaps/rgb_lite/rgblite.h @@ -7,9 +7,9 @@ static inline void rgblite_init(void) { ws2812_init(); } -static inline void rgblite_setrgb(uint8_t _r, uint8_t _g, uint8_t _b) { - rgb_led_t leds[RGBLIGHT_LED_COUNT] = {{.r = _r, .g = _g, .b = _b}, {.r = _r, .g = _g, .b = _b}}; - ws2812_setleds(leds, RGBLIGHT_LED_COUNT); +static inline void rgblite_setrgb(uint8_t r, uint8_t g, uint8_t b) { + ws2812_set_color_all(r, g, b); + ws2812_flush(); } static void rgblite_increase_hue(void) { diff --git a/platforms/avr/drivers/ws2812_bitbang.c b/platforms/avr/drivers/ws2812_bitbang.c index be127e501c9..183690c9674 100644 --- a/platforms/avr/drivers/ws2812_bitbang.c +++ b/platforms/avr/drivers/ws2812_bitbang.c @@ -28,28 +28,6 @@ #define pinmask(pin) (_BV((pin)&0xF)) -/* - * Forward declare internal functions - * - * The functions take a byte-array and send to the data output as WS2812 bitstream. - * The length is the number of bytes to send - three per LED. - */ - -static inline void ws2812_sendarray_mask(uint8_t *data, uint16_t datlen, uint8_t masklo, uint8_t maskhi); - -void ws2812_init(void) { - DDRx_ADDRESS(WS2812_DI_PIN) |= pinmask(WS2812_DI_PIN); -} - -void ws2812_setleds(rgb_led_t *ledarray, uint16_t number_of_leds) { - uint8_t masklo = ~(pinmask(WS2812_DI_PIN)) & PORTx_ADDRESS(WS2812_DI_PIN); - uint8_t maskhi = pinmask(WS2812_DI_PIN) | PORTx_ADDRESS(WS2812_DI_PIN); - - ws2812_sendarray_mask((uint8_t *)ledarray, number_of_leds * sizeof(rgb_led_t), masklo, maskhi); - - _delay_us(WS2812_TRST_US); -} - /* This routine writes an array of bytes with RGB values to the Dataout pin using the fast 800kHz clockless WS2811/2812 protocol. @@ -172,3 +150,33 @@ static inline void ws2812_sendarray_mask(uint8_t *data, uint16_t datlen, uint8_t SREG = sreg_prev; } + +ws2812_led_t ws2812_leds[WS2812_LED_COUNT]; + +void ws2812_init(void) { + DDRx_ADDRESS(WS2812_DI_PIN) |= pinmask(WS2812_DI_PIN); +} + +void ws2812_set_color(int index, uint8_t red, uint8_t green, uint8_t blue) { + ws2812_leds[index].r = red; + ws2812_leds[index].g = green; + ws2812_leds[index].b = blue; +#if defined(WS2812_RGBW) + ws2812_rgb_to_rgbw(&ws2812_leds[index]); +#endif +} + +void ws2812_set_color_all(uint8_t red, uint8_t green, uint8_t blue) { + for (int i = 0; i < WS2812_LED_COUNT; i++) { + ws2812_set_color(i, red, green, blue); + } +} + +void ws2812_flush(void) { + uint8_t masklo = ~(pinmask(WS2812_DI_PIN)) & PORTx_ADDRESS(WS2812_DI_PIN); + uint8_t maskhi = pinmask(WS2812_DI_PIN) | PORTx_ADDRESS(WS2812_DI_PIN); + + ws2812_sendarray_mask((uint8_t *)ws2812_leds, WS2812_LED_COUNT * sizeof(ws2812_led_t), masklo, maskhi); + + _delay_us(WS2812_TRST_US); +} diff --git a/platforms/avr/drivers/ws2812_i2c.c b/platforms/avr/drivers/ws2812_i2c.c index 86a5ac8394e..e6b922f4bfe 100644 --- a/platforms/avr/drivers/ws2812_i2c.c +++ b/platforms/avr/drivers/ws2812_i2c.c @@ -1,3 +1,6 @@ +// Copyright 2024 QMK +// SPDX-License-Identifier: GPL-2.0-or-later + #include "ws2812.h" #include "i2c_master.h" @@ -13,11 +16,24 @@ # define WS2812_I2C_TIMEOUT 100 #endif +ws2812_led_t ws2812_leds[WS2812_LED_COUNT]; + void ws2812_init(void) { i2c_init(); } -// Setleds for standard RGB -void ws2812_setleds(rgb_led_t *ledarray, uint16_t leds) { - i2c_transmit(WS2812_I2C_ADDRESS, (uint8_t *)ledarray, sizeof(rgb_led_t) * leds, WS2812_I2C_TIMEOUT); +void ws2812_set_color(int index, uint8_t red, uint8_t green, uint8_t blue) { + ws2812_leds[index].r = red; + ws2812_leds[index].g = green; + ws2812_leds[index].b = blue; +} + +void ws2812_set_color_all(uint8_t red, uint8_t green, uint8_t blue) { + for (int i = 0; i < WS2812_LED_COUNT; i++) { + ws2812_set_color(i, red, green, blue); + } +} + +void ws2812_flush(void) { + i2c_transmit(WS2812_I2C_ADDRESS, (uint8_t *)ws2812_leds, WS2812_LED_COUNT * sizeof(ws2812_led_t), WS2812_I2C_TIMEOUT); } diff --git a/platforms/chibios/drivers/vendor/RP/RP2040/ws2812_vendor.c b/platforms/chibios/drivers/vendor/RP/RP2040/ws2812_vendor.c index 41a5311719f..6cf035e1f2b 100644 --- a/platforms/chibios/drivers/vendor/RP/RP2040/ws2812_vendor.c +++ b/platforms/chibios/drivers/vendor/RP/RP2040/ws2812_vendor.c @@ -266,19 +266,36 @@ static inline void sync_ws2812_transfer(void) { busy_wait_until(LAST_TRANSFER); } -void ws2812_setleds(rgb_led_t* ledarray, uint16_t leds) { +ws2812_led_t ws2812_leds[WS2812_LED_COUNT]; + +void ws2812_set_color(int index, uint8_t red, uint8_t green, uint8_t blue) { + ws2812_leds[index].r = red; + ws2812_leds[index].g = green; + ws2812_leds[index].b = blue; +#if defined(WS2812_RGBW) + ws2812_rgb_to_rgbw(&ws2812_leds[index]); +#endif +} + +void ws2812_set_color_all(uint8_t red, uint8_t green, uint8_t blue) { + for (int i = 0; i < WS2812_LED_COUNT; i++) { + ws2812_set_color(i, red, green, blue); + } +} + +void ws2812_flush(void) { sync_ws2812_transfer(); - for (int i = 0; i < leds; i++) { + for (int i = 0; i < WS2812_LED_COUNT; i++) { #if defined(WS2812_RGBW) - WS2812_BUFFER[i] = rgbw8888_to_u32(ledarray[i].r, ledarray[i].g, ledarray[i].b, ledarray[i].w); + WS2812_BUFFER[i] = rgbw8888_to_u32(ws2812_leds[i].r, ws2812_leds[i].g, ws2812_leds[i].b, ws2812_leds[i].w); #else - WS2812_BUFFER[i] = rgbw8888_to_u32(ledarray[i].r, ledarray[i].g, ledarray[i].b, 0); + WS2812_BUFFER[i] = rgbw8888_to_u32(ws2812_leds[i].r, ws2812_leds[i].g, ws2812_leds[i].b, 0); #endif } dmaChannelSetSourceX(dma_channel, (uint32_t)WS2812_BUFFER); - dmaChannelSetCounterX(dma_channel, leds); + dmaChannelSetCounterX(dma_channel, WS2812_LED_COUNT); dmaChannelSetModeX(dma_channel, RP_DMA_MODE_WS2812); dmaChannelEnableX(dma_channel); } diff --git a/platforms/chibios/drivers/ws2812_bitbang.c b/platforms/chibios/drivers/ws2812_bitbang.c index 96378ec0ac5..fce1963d0ae 100644 --- a/platforms/chibios/drivers/ws2812_bitbang.c +++ b/platforms/chibios/drivers/ws2812_bitbang.c @@ -76,33 +76,49 @@ void sendByte(uint8_t byte) { } } +ws2812_led_t ws2812_leds[WS2812_LED_COUNT]; + void ws2812_init(void) { palSetLineMode(WS2812_DI_PIN, WS2812_OUTPUT_MODE); } -// Setleds for standard RGB -void ws2812_setleds(rgb_led_t *ledarray, uint16_t leds) { +void ws2812_set_color(int index, uint8_t red, uint8_t green, uint8_t blue) { + ws2812_leds[index].r = red; + ws2812_leds[index].g = green; + ws2812_leds[index].b = blue; +#if defined(WS2812_RGBW) + ws2812_rgb_to_rgbw(&ws2812_leds[index]); +#endif +} + +void ws2812_set_color_all(uint8_t red, uint8_t green, uint8_t blue) { + for (int i = 0; i < WS2812_LED_COUNT; i++) { + ws2812_set_color(i, red, green, blue); + } +} + +void ws2812_flush(void) { // this code is very time dependent, so we need to disable interrupts chSysLock(); - for (uint8_t i = 0; i < leds; i++) { + for (int i = 0; i < WS2812_LED_COUNT; i++) { // WS2812 protocol dictates grb order #if (WS2812_BYTE_ORDER == WS2812_BYTE_ORDER_GRB) - sendByte(ledarray[i].g); - sendByte(ledarray[i].r); - sendByte(ledarray[i].b); + sendByte(ws2812_leds[i].g); + sendByte(ws2812_leds[i].r); + sendByte(ws2812_leds[i].b); #elif (WS2812_BYTE_ORDER == WS2812_BYTE_ORDER_RGB) - sendByte(ledarray[i].r); - sendByte(ledarray[i].g); - sendByte(ledarray[i].b); + sendByte(ws2812_leds[i].r); + sendByte(ws2812_leds[i].g); + sendByte(ws2812_leds[i].b); #elif (WS2812_BYTE_ORDER == WS2812_BYTE_ORDER_BGR) - sendByte(ledarray[i].b); - sendByte(ledarray[i].g); - sendByte(ledarray[i].r); + sendByte(ws2812_leds[i].b); + sendByte(ws2812_leds[i].g); + sendByte(ws2812_leds[i].r); #endif #ifdef WS2812_RGBW - sendByte(ledarray[i].w); + sendByte(ws2812_leds[i].w); #endif } diff --git a/platforms/chibios/drivers/ws2812_pwm.c b/platforms/chibios/drivers/ws2812_pwm.c index 1e9d2ebb410..dc0e3091633 100644 --- a/platforms/chibios/drivers/ws2812_pwm.c +++ b/platforms/chibios/drivers/ws2812_pwm.c @@ -387,13 +387,29 @@ void ws2812_write_led_rgbw(uint16_t led_number, uint8_t r, uint8_t g, uint8_t b, } } -// Setleds for standard RGB -void ws2812_setleds(rgb_led_t* ledarray, uint16_t leds) { - for (uint16_t i = 0; i < leds; i++) { -#ifdef WS2812_RGBW - ws2812_write_led_rgbw(i, ledarray[i].r, ledarray[i].g, ledarray[i].b, ledarray[i].w); +ws2812_led_t ws2812_leds[WS2812_LED_COUNT]; + +void ws2812_set_color(int index, uint8_t red, uint8_t green, uint8_t blue) { + ws2812_leds[index].r = red; + ws2812_leds[index].g = green; + ws2812_leds[index].b = blue; +#if defined(WS2812_RGBW) + ws2812_rgb_to_rgbw(&ws2812_leds[index]); +#endif +} + +void ws2812_set_color_all(uint8_t red, uint8_t green, uint8_t blue) { + for (int i = 0; i < WS2812_LED_COUNT; i++) { + ws2812_set_color(i, red, green, blue); + } +} + +void ws2812_flush(void) { + for (int i = 0; i < WS2812_LED_COUNT; i++) { +#if defined(WS2812_RGBW) + ws2812_write_led_rgbw(i, ws2812_leds[i].r, ws2812_leds[i].g, ws2812_leds[i].b, ws2812_leds[i].w); #else - ws2812_write_led(i, ledarray[i].r, ledarray[i].g, ledarray[i].b); + ws2812_write_led(i, ws2812_leds[i].r, ws2812_leds[i].g, ws2812_leds[i].b); #endif } } diff --git a/platforms/chibios/drivers/ws2812_spi.c b/platforms/chibios/drivers/ws2812_spi.c index 9896f9e69d8..a1357edec57 100644 --- a/platforms/chibios/drivers/ws2812_spi.c +++ b/platforms/chibios/drivers/ws2812_spi.c @@ -106,7 +106,7 @@ static uint8_t get_protocol_eq(uint8_t data, int pos) { return eq; } -static void set_led_color_rgb(rgb_led_t color, int pos) { +static void set_led_color_rgb(ws2812_led_t color, int pos) { uint8_t* tx_start = &txbuf[PREAMBLE_SIZE]; #if (WS2812_BYTE_ORDER == WS2812_BYTE_ORDER_GRB) @@ -137,6 +137,8 @@ static void set_led_color_rgb(rgb_led_t color, int pos) { #endif } +ws2812_led_t ws2812_leds[WS2812_LED_COUNT]; + void ws2812_init(void) { palSetLineMode(WS2812_DI_PIN, WS2812_MOSI_OUTPUT_MODE); @@ -187,9 +189,24 @@ void ws2812_init(void) { #endif } -void ws2812_setleds(rgb_led_t* ledarray, uint16_t leds) { - for (uint8_t i = 0; i < leds; i++) { - set_led_color_rgb(ledarray[i], i); +void ws2812_set_color(int index, uint8_t red, uint8_t green, uint8_t blue) { + ws2812_leds[index].r = red; + ws2812_leds[index].g = green; + ws2812_leds[index].b = blue; +#if defined(WS2812_RGBW) + ws2812_rgb_to_rgbw(&ws2812_leds[index]); +#endif +} + +void ws2812_set_color_all(uint8_t red, uint8_t green, uint8_t blue) { + for (int i = 0; i < WS2812_LED_COUNT; i++) { + ws2812_set_color(i, red, green, blue); + } +} + +void ws2812_flush(void) { + for (int i = 0; i < WS2812_LED_COUNT; i++) { + set_led_color_rgb(ws2812_leds[i], i); } // Send async - each led takes ~0.03ms, 50 leds ~1.5ms, animations flushing faster than send will cause issues. diff --git a/quantum/color.c b/quantum/color.c index 96d548a33cc..5f264cb76fe 100644 --- a/quantum/color.c +++ b/quantum/color.c @@ -108,14 +108,3 @@ RGB hsv_to_rgb(HSV hsv) { RGB hsv_to_rgb_nocie(HSV hsv) { return hsv_to_rgb_impl(hsv, false); } - -#ifdef WS2812_RGBW -void convert_rgb_to_rgbw(rgb_led_t *led) { - // Determine lowest value in all three colors, put that into - // the white channel and then shift all colors by that amount - led->w = MIN(led->r, MIN(led->g, led->b)); - led->r -= led->w; - led->g -= led->w; - led->b -= led->w; -} -#endif diff --git a/quantum/color.h b/quantum/color.h index b6a9dd0641c..81a2c1e7bac 100644 --- a/quantum/color.h +++ b/quantum/color.h @@ -74,31 +74,10 @@ // clang-format on -#define WS2812_BYTE_ORDER_RGB 0 -#define WS2812_BYTE_ORDER_GRB 1 -#define WS2812_BYTE_ORDER_BGR 2 - -#ifndef WS2812_BYTE_ORDER -# define WS2812_BYTE_ORDER WS2812_BYTE_ORDER_GRB -#endif - typedef struct PACKED rgb_led_t { -#if (WS2812_BYTE_ORDER == WS2812_BYTE_ORDER_GRB) - uint8_t g; - uint8_t r; - uint8_t b; -#elif (WS2812_BYTE_ORDER == WS2812_BYTE_ORDER_RGB) uint8_t r; uint8_t g; uint8_t b; -#elif (WS2812_BYTE_ORDER == WS2812_BYTE_ORDER_BGR) - uint8_t b; - uint8_t g; - uint8_t r; -#endif -#ifdef WS2812_RGBW - uint8_t w; -#endif } rgb_led_t; typedef rgb_led_t RGB; @@ -111,6 +90,3 @@ typedef struct PACKED HSV { RGB hsv_to_rgb(HSV hsv); RGB hsv_to_rgb_nocie(HSV hsv); -#ifdef WS2812_RGBW -void convert_rgb_to_rgbw(rgb_led_t *led); -#endif diff --git a/quantum/led_matrix/led_matrix.c b/quantum/led_matrix/led_matrix.c index a5f0296f8d0..58263c62e37 100644 --- a/quantum/led_matrix/led_matrix.c +++ b/quantum/led_matrix/led_matrix.c @@ -139,11 +139,20 @@ void led_matrix_update_pwm_buffers(void) { led_matrix_driver.flush(); } +__attribute__((weak)) int led_matrix_led_index(int index) { +#if defined(LED_MATRIX_SPLIT) + if (!is_keyboard_left() && index >= k_led_matrix_split[0]) { + return index - k_led_matrix_split[0]; + } +#endif + return index; +} + void led_matrix_set_value(int index, uint8_t value) { #ifdef USE_CIE1931_CURVE value = pgm_read_byte(&CIE1931_CURVE[value]); #endif - led_matrix_driver.set_value(index, value); + led_matrix_driver.set_value(led_matrix_led_index(index), value); } void led_matrix_set_value_all(uint8_t value) { diff --git a/quantum/led_matrix/led_matrix.h b/quantum/led_matrix/led_matrix.h index 9a13c3e52b4..a3468a20039 100644 --- a/quantum/led_matrix/led_matrix.h +++ b/quantum/led_matrix/led_matrix.h @@ -121,6 +121,8 @@ void eeconfig_debug_led_matrix(void); uint8_t led_matrix_map_row_column_to_led_kb(uint8_t row, uint8_t column, uint8_t *led_i); uint8_t led_matrix_map_row_column_to_led(uint8_t row, uint8_t column, uint8_t *led_i); +int led_matrix_led_index(int index); + void led_matrix_set_value(int index, uint8_t value); void led_matrix_set_value_all(uint8_t value); diff --git a/quantum/rgb_matrix/rgb_matrix.c b/quantum/rgb_matrix/rgb_matrix.c index 0ea421d1c52..47bba278e4c 100644 --- a/quantum/rgb_matrix/rgb_matrix.c +++ b/quantum/rgb_matrix/rgb_matrix.c @@ -143,8 +143,17 @@ void rgb_matrix_update_pwm_buffers(void) { rgb_matrix_driver.flush(); } +__attribute__((weak)) int rgb_matrix_led_index(int index) { +#if defined(RGB_MATRIX_SPLIT) + if (!is_keyboard_left() && index >= k_rgb_matrix_split[0]) { + return index - k_rgb_matrix_split[0]; + } +#endif + return index; +} + void rgb_matrix_set_color(int index, uint8_t red, uint8_t green, uint8_t blue) { - rgb_matrix_driver.set_color(index, red, green, blue); + rgb_matrix_driver.set_color(rgb_matrix_led_index(index), red, green, blue); } void rgb_matrix_set_color_all(uint8_t red, uint8_t green, uint8_t blue) { diff --git a/quantum/rgb_matrix/rgb_matrix.h b/quantum/rgb_matrix/rgb_matrix.h index ceb3185d1a8..a1115a721ea 100644 --- a/quantum/rgb_matrix/rgb_matrix.h +++ b/quantum/rgb_matrix/rgb_matrix.h @@ -145,6 +145,8 @@ void eeconfig_update_rgb_matrix(void); uint8_t rgb_matrix_map_row_column_to_led_kb(uint8_t row, uint8_t column, uint8_t *led_i); uint8_t rgb_matrix_map_row_column_to_led(uint8_t row, uint8_t column, uint8_t *led_i); +int rgb_matrix_led_index(int index); + void rgb_matrix_set_color(int index, uint8_t red, uint8_t green, uint8_t blue); void rgb_matrix_set_color_all(uint8_t red, uint8_t green, uint8_t blue); diff --git a/quantum/rgb_matrix/rgb_matrix_drivers.c b/quantum/rgb_matrix/rgb_matrix_drivers.c index bf5209a9d32..3b45e82cb91 100644 --- a/quantum/rgb_matrix/rgb_matrix_drivers.c +++ b/quantum/rgb_matrix/rgb_matrix_drivers.c @@ -146,61 +146,11 @@ const rgb_matrix_driver_t rgb_matrix_driver = { # pragma message "You need to use a custom driver, or re-implement the WS2812 driver to use a different configuration." # endif -// LED color buffer -rgb_led_t rgb_matrix_ws2812_array[WS2812_LED_COUNT]; -bool ws2812_dirty = false; - -static void init(void) { - ws2812_init(); - ws2812_dirty = false; -} - -static void flush(void) { - if (ws2812_dirty) { - ws2812_setleds(rgb_matrix_ws2812_array, WS2812_LED_COUNT); - ws2812_dirty = false; - } -} - -// Set an led in the buffer to a color -static inline void setled(int i, uint8_t r, uint8_t g, uint8_t b) { -# if defined(RGB_MATRIX_SPLIT) - const uint8_t k_rgb_matrix_split[2] = RGB_MATRIX_SPLIT; - if (!is_keyboard_left()) { - if (i >= k_rgb_matrix_split[0]) { - i -= k_rgb_matrix_split[0]; - } else { - return; - } - } else if (i >= k_rgb_matrix_split[0]) { - return; - } -# endif - - if (rgb_matrix_ws2812_array[i].r == r && rgb_matrix_ws2812_array[i].g == g && rgb_matrix_ws2812_array[i].b == b) { - return; - } - - ws2812_dirty = true; - rgb_matrix_ws2812_array[i].r = r; - rgb_matrix_ws2812_array[i].g = g; - rgb_matrix_ws2812_array[i].b = b; -# ifdef WS2812_RGBW - convert_rgb_to_rgbw(&rgb_matrix_ws2812_array[i]); -# endif -} - -static void setled_all(uint8_t r, uint8_t g, uint8_t b) { - for (int i = 0; i < ARRAY_SIZE(rgb_matrix_ws2812_array); i++) { - setled(i, r, g, b); - } -} - const rgb_matrix_driver_t rgb_matrix_driver = { - .init = init, - .flush = flush, - .set_color = setled, - .set_color_all = setled_all, + .init = ws2812_init, + .flush = ws2812_flush, + .set_color = ws2812_set_color, + .set_color_all = ws2812_set_color_all, }; #endif diff --git a/quantum/rgblight/rgblight.c b/quantum/rgblight/rgblight.c index b0f2dfdc1d8..e16fb99c3b1 100644 --- a/quantum/rgblight/rgblight.c +++ b/quantum/rgblight/rgblight.c @@ -115,11 +115,6 @@ static bool pre_suspend_enabled; animation_status_t animation_status = {}; #endif -#ifndef LED_ARRAY -rgb_led_t led[RGBLIGHT_LED_COUNT]; -# define LED_ARRAY led -#endif - #ifdef RGBLIGHT_LAYERS rgblight_segment_t const *const *rgblight_layers = NULL; @@ -145,23 +140,26 @@ __attribute__((weak)) RGB rgblight_hsv_to_rgb(HSV hsv) { return hsv_to_rgb(hsv); } -void setrgb(uint8_t r, uint8_t g, uint8_t b, rgb_led_t *led1) { - led1->r = r; - led1->g = g; - led1->b = b; -#ifdef WS2812_RGBW - led1->w = 0; +uint8_t rgblight_led_index(uint8_t index) { +#if defined(RGBLIGHT_LED_MAP) + return pgm_read_byte(&led_map[index]) - rgblight_ranges.clipping_start_pos; +#else + return index - rgblight_ranges.clipping_start_pos; #endif } -void sethsv_raw(uint8_t hue, uint8_t sat, uint8_t val, rgb_led_t *led1) { - HSV hsv = {hue, sat, val}; - RGB rgb = rgblight_hsv_to_rgb(hsv); - setrgb(rgb.r, rgb.g, rgb.b, led1); +void setrgb(uint8_t r, uint8_t g, uint8_t b, int index) { + rgblight_driver.set_color(rgblight_led_index(index), r, g, b); } -void sethsv(uint8_t hue, uint8_t sat, uint8_t val, rgb_led_t *led1) { - sethsv_raw(hue, sat, val > RGBLIGHT_LIMIT_VAL ? RGBLIGHT_LIMIT_VAL : val, led1); +void sethsv_raw(uint8_t hue, uint8_t sat, uint8_t val, int index) { + HSV hsv = {hue, sat, val}; + RGB rgb = rgblight_hsv_to_rgb(hsv); + setrgb(rgb.r, rgb.g, rgb.b, index); +} + +void sethsv(uint8_t hue, uint8_t sat, uint8_t val, int index) { + sethsv_raw(hue, sat, val > RGBLIGHT_LIMIT_VAL ? RGBLIGHT_LIMIT_VAL : val, index); } void rgblight_check_config(void) { @@ -515,9 +513,8 @@ void rgblight_decrease_speed_noeeprom(void) { void rgblight_sethsv_noeeprom_old(uint8_t hue, uint8_t sat, uint8_t val) { if (rgblight_config.enable) { - rgb_led_t tmp_led; - sethsv(hue, sat, val, &tmp_led); - rgblight_setrgb(tmp_led.r, tmp_led.g, tmp_led.b); + RGB rgb = hsv_to_rgb((HSV){hue, sat, val > RGBLIGHT_LIMIT_VAL ? RGBLIGHT_LIMIT_VAL : val}); + rgblight_setrgb(rgb.r, rgb.g, rgb.b); } } @@ -531,13 +528,12 @@ void rgblight_sethsv_eeprom_helper(uint8_t hue, uint8_t sat, uint8_t val, bool w rgblight_status.base_mode = mode_base_table[rgblight_config.mode]; if (rgblight_config.mode == RGBLIGHT_MODE_STATIC_LIGHT) { // same static color - rgb_led_t tmp_led; #ifdef RGBLIGHT_LAYERS_RETAIN_VAL // needed for rgblight_layers_write() to get the new val, since it reads rgblight_config.val rgblight_config.val = val; #endif - sethsv(hue, sat, val, &tmp_led); - rgblight_setrgb(tmp_led.r, tmp_led.g, tmp_led.b); + RGB rgb = hsv_to_rgb((HSV){hue, sat, val > RGBLIGHT_LIMIT_VAL ? RGBLIGHT_LIMIT_VAL : val}); + rgblight_setrgb(rgb.r, rgb.g, rgb.b); } else { // all LEDs in same color if (1 == 0) { // dummy @@ -575,7 +571,7 @@ void rgblight_sethsv_eeprom_helper(uint8_t hue, uint8_t sat, uint8_t val, bool w _hue = hue - _hue; } dprintf("rgblight rainbow set hsv: %d,%d,%d,%u\n", i, _hue, direction, range); - sethsv(_hue, sat, val, (rgb_led_t *)&led[i + rgblight_ranges.effect_start_pos]); + sethsv(_hue, sat, val, i + rgblight_ranges.effect_start_pos); } # ifdef RGBLIGHT_LAYERS_RETAIN_VAL // needed for rgblight_layers_write() to get the new val, since it reads rgblight_config.val @@ -649,12 +645,7 @@ void rgblight_setrgb(uint8_t r, uint8_t g, uint8_t b) { } for (uint8_t i = rgblight_ranges.effect_start_pos; i < rgblight_ranges.effect_end_pos; i++) { - led[i].r = r; - led[i].g = g; - led[i].b = b; -#ifdef WS2812_RGBW - led[i].w = 0; -#endif + rgblight_driver.set_color(rgblight_led_index(i), r, g, b); } rgblight_set(); } @@ -664,12 +655,7 @@ void rgblight_setrgb_at(uint8_t r, uint8_t g, uint8_t b, uint8_t index) { return; } - led[index].r = r; - led[index].g = g; - led[index].b = b; -#ifdef WS2812_RGBW - led[index].w = 0; -#endif + rgblight_driver.set_color(rgblight_led_index(index), r, g, b); rgblight_set(); } @@ -678,9 +664,8 @@ void rgblight_sethsv_at(uint8_t hue, uint8_t sat, uint8_t val, uint8_t index) { return; } - rgb_led_t tmp_led; - sethsv(hue, sat, val, &tmp_led); - rgblight_setrgb_at(tmp_led.r, tmp_led.g, tmp_led.b, index); + RGB rgb = hsv_to_rgb((HSV){hue, sat, val > RGBLIGHT_LIMIT_VAL ? RGBLIGHT_LIMIT_VAL : val}); + rgblight_setrgb_at(rgb.r, rgb.g, rgb.b, index); } #if defined(RGBLIGHT_EFFECT_BREATHING) || defined(RGBLIGHT_EFFECT_RAINBOW_MOOD) || defined(RGBLIGHT_EFFECT_RAINBOW_SWIRL) || defined(RGBLIGHT_EFFECT_SNAKE) || defined(RGBLIGHT_EFFECT_KNIGHT) || defined(RGBLIGHT_EFFECT_TWINKLE) @@ -701,12 +686,7 @@ void rgblight_setrgb_range(uint8_t r, uint8_t g, uint8_t b, uint8_t start, uint8 } for (uint8_t i = start; i < end; i++) { - led[i].r = r; - led[i].g = g; - led[i].b = b; -#ifdef WS2812_RGBW - led[i].w = 0; -#endif + rgblight_driver.set_color(rgblight_led_index(i), r, g, b); } rgblight_set(); } @@ -716,9 +696,8 @@ void rgblight_sethsv_range(uint8_t hue, uint8_t sat, uint8_t val, uint8_t start, return; } - rgb_led_t tmp_led; - sethsv(hue, sat, val, &tmp_led); - rgblight_setrgb_range(tmp_led.r, tmp_led.g, tmp_led.b, start, end); + RGB rgb = hsv_to_rgb((HSV){hue, sat, val > RGBLIGHT_LIMIT_VAL ? RGBLIGHT_LIMIT_VAL : val}); + rgblight_setrgb_range(rgb.r, rgb.g, rgb.b, start, end); } #ifndef RGBLIGHT_SPLIT @@ -785,12 +764,12 @@ static void rgblight_layers_write(void) { break; // No more segments } // Write segment.count LEDs - rgb_led_t *const limit = &led[MIN(segment.index + segment.count, RGBLIGHT_LED_COUNT)]; - for (rgb_led_t *led_ptr = &led[segment.index]; led_ptr < limit; led_ptr++) { + int limit = MIN(segment.index + segment.count, RGBLIGHT_LED_COUNT); + for (int i = segment.index; i < limit; i++) { # ifdef RGBLIGHT_LAYERS_RETAIN_VAL - sethsv(segment.hue, segment.sat, current_val, led_ptr); + sethsv(segment.hue, segment.sat, current_val, i); # else - sethsv(segment.hue, segment.sat, segment.val, led_ptr); + sethsv(segment.hue, segment.sat, segment.val, i); # endif } segment_ptr++; @@ -897,17 +876,9 @@ void rgblight_wakeup(void) { #endif void rgblight_set(void) { - rgb_led_t *start_led; - uint8_t num_leds = rgblight_ranges.clipping_num_leds; - if (!rgblight_config.enable) { for (uint8_t i = rgblight_ranges.effect_start_pos; i < rgblight_ranges.effect_end_pos; i++) { - led[i].r = 0; - led[i].g = 0; - led[i].b = 0; -#ifdef WS2812_RGBW - led[i].w = 0; -#endif + rgblight_driver.set_color(rgblight_led_index(i), 0, 0, 0); } } @@ -923,22 +894,7 @@ void rgblight_set(void) { } #endif -#ifdef RGBLIGHT_LED_MAP - rgb_led_t led0[RGBLIGHT_LED_COUNT]; - for (uint8_t i = 0; i < RGBLIGHT_LED_COUNT; i++) { - led0[i] = led[pgm_read_byte(&led_map[i])]; - } - start_led = led0 + rgblight_ranges.clipping_start_pos; -#else - start_led = led + rgblight_ranges.clipping_start_pos; -#endif - -#ifdef WS2812_RGBW - for (uint8_t i = 0; i < num_leds; i++) { - convert_rgb_to_rgbw(&start_led[i]); - } -#endif - rgblight_driver.setleds(start_led, num_leds); + rgblight_driver.flush(); } #ifdef RGBLIGHT_SPLIT @@ -1222,7 +1178,7 @@ void rgblight_effect_rainbow_swirl(animation_status_t *anim) { for (i = 0; i < rgblight_ranges.effect_num_leds; i++) { hue = (RGBLIGHT_RAINBOW_SWIRL_RANGE / rgblight_ranges.effect_num_leds * i + anim->current_hue); - sethsv(hue, rgblight_config.sat, rgblight_config.val, (rgb_led_t *)&led[i + rgblight_ranges.effect_start_pos]); + sethsv(hue, rgblight_config.sat, rgblight_config.val, i + rgblight_ranges.effect_start_pos); } rgblight_set(); @@ -1259,13 +1215,8 @@ void rgblight_effect_snake(animation_status_t *anim) { # endif for (i = 0; i < rgblight_ranges.effect_num_leds; i++) { - rgb_led_t *ledp = led + i + rgblight_ranges.effect_start_pos; - ledp->r = 0; - ledp->g = 0; - ledp->b = 0; -# ifdef WS2812_RGBW - ledp->w = 0; -# endif + rgblight_driver.set_color(rgblight_led_index(i + rgblight_ranges.effect_start_pos), 0, 0, 0); + for (j = 0; j < RGBLIGHT_EFFECT_SNAKE_LENGTH; j++) { k = pos + j * increment; if (k > RGBLIGHT_LED_COUNT) { @@ -1275,7 +1226,7 @@ void rgblight_effect_snake(animation_status_t *anim) { k = k + rgblight_ranges.effect_num_leds; } if (i == k) { - sethsv(rgblight_config.hue, rgblight_config.sat, (uint8_t)(rgblight_config.val * (RGBLIGHT_EFFECT_SNAKE_LENGTH - j) / RGBLIGHT_EFFECT_SNAKE_LENGTH), ledp); + sethsv(rgblight_config.hue, rgblight_config.sat, (uint8_t)(rgblight_config.val * (RGBLIGHT_EFFECT_SNAKE_LENGTH - j) / RGBLIGHT_EFFECT_SNAKE_LENGTH), i + rgblight_ranges.effect_start_pos); } } } @@ -1320,26 +1271,16 @@ void rgblight_effect_knight(animation_status_t *anim) { # endif // Set all the LEDs to 0 for (i = rgblight_ranges.effect_start_pos; i < rgblight_ranges.effect_end_pos; i++) { - led[i].r = 0; - led[i].g = 0; - led[i].b = 0; -# ifdef WS2812_RGBW - led[i].w = 0; -# endif + rgblight_driver.set_color(rgblight_led_index(i), 0, 0, 0); } // Determine which LEDs should be lit up for (i = 0; i < RGBLIGHT_EFFECT_KNIGHT_LED_NUM; i++) { cur = (i + RGBLIGHT_EFFECT_KNIGHT_OFFSET) % rgblight_ranges.effect_num_leds + rgblight_ranges.effect_start_pos; if (i >= low_bound && i <= high_bound) { - sethsv(rgblight_config.hue, rgblight_config.sat, rgblight_config.val, (rgb_led_t *)&led[cur]); + sethsv(rgblight_config.hue, rgblight_config.sat, rgblight_config.val, cur); } else { - led[cur].r = 0; - led[cur].g = 0; - led[cur].b = 0; -# ifdef WS2812_RGBW - led[cur].w = 0; -# endif + rgblight_driver.set_color(rgblight_led_index(cur), 0, 0, 0); } } rgblight_set(); @@ -1384,7 +1325,7 @@ void rgblight_effect_christmas(animation_status_t *anim) { for (i = 0; i < rgblight_ranges.effect_num_leds; i++) { uint8_t local_hue = (i / RGBLIGHT_EFFECT_CHRISTMAS_STEP) % 2 ? hue : hue_green - hue; - sethsv(local_hue, rgblight_config.sat, val, (rgb_led_t *)&led[i + rgblight_ranges.effect_start_pos]); + sethsv(local_hue, rgblight_config.sat, val, i + rgblight_ranges.effect_start_pos); } rgblight_set(); @@ -1407,9 +1348,8 @@ void rgblight_effect_rgbtest(animation_status_t *anim) { uint8_t b; if (maxval == 0) { - rgb_led_t tmp_led; - sethsv(0, 255, RGBLIGHT_LIMIT_VAL, &tmp_led); - maxval = tmp_led.r; + RGB rgb = hsv_to_rgb((HSV){0, 255, RGBLIGHT_LIMIT_VAL}); + maxval = rgb.r; } g = r = b = 0; switch (anim->pos) { @@ -1431,13 +1371,12 @@ void rgblight_effect_rgbtest(animation_status_t *anim) { #ifdef RGBLIGHT_EFFECT_ALTERNATING void rgblight_effect_alternating(animation_status_t *anim) { for (int i = 0; i < rgblight_ranges.effect_num_leds; i++) { - rgb_led_t *ledp = led + i + rgblight_ranges.effect_start_pos; if (i < rgblight_ranges.effect_num_leds / 2 && anim->pos) { - sethsv(rgblight_config.hue, rgblight_config.sat, rgblight_config.val, ledp); + sethsv(rgblight_config.hue, rgblight_config.sat, rgblight_config.val, i + rgblight_ranges.effect_start_pos); } else if (i >= rgblight_ranges.effect_num_leds / 2 && !anim->pos) { - sethsv(rgblight_config.hue, rgblight_config.sat, rgblight_config.val, ledp); + sethsv(rgblight_config.hue, rgblight_config.sat, rgblight_config.val, i + rgblight_ranges.effect_start_pos); } else { - sethsv(rgblight_config.hue, rgblight_config.sat, 0, ledp); + sethsv(rgblight_config.hue, rgblight_config.sat, 0, i + rgblight_ranges.effect_start_pos); } } rgblight_set(); @@ -1504,8 +1443,7 @@ void rgblight_effect_twinkle(animation_status_t *anim) { // This LED is off, and was NOT selected to start brightening } - rgb_led_t *ledp = led + i + rgblight_ranges.effect_start_pos; - sethsv(c->h, c->s, c->v, ledp); + sethsv(c->h, c->s, c->v, i + rgblight_ranges.effect_start_pos); } rgblight_set(); diff --git a/quantum/rgblight/rgblight.h b/quantum/rgblight/rgblight.h index 0ed67ff6e3d..7c238051291 100644 --- a/quantum/rgblight/rgblight.h +++ b/quantum/rgblight/rgblight.h @@ -169,7 +169,6 @@ enum RGBLIGHT_EFFECT_MODE { #include "rgblight_drivers.h" #include "progmem.h" #include "eeconfig.h" -#include "ws2812.h" #include "color.h" #ifdef RGBLIGHT_LAYERS diff --git a/quantum/rgblight/rgblight_drivers.c b/quantum/rgblight/rgblight_drivers.c index 76e9031aec9..ef986ee13c5 100644 --- a/quantum/rgblight/rgblight_drivers.c +++ b/quantum/rgblight/rgblight_drivers.c @@ -7,24 +7,20 @@ # include "ws2812.h" const rgblight_driver_t rgblight_driver = { - .init = ws2812_init, - .setleds = ws2812_setleds, + .init = ws2812_init, + .set_color = ws2812_set_color, + .set_color_all = ws2812_set_color_all, + .flush = ws2812_flush, }; #elif defined(RGBLIGHT_APA102) # include "apa102.h" -// Temporary shim -static void apa102_setleds(rgb_led_t *ledarray, uint16_t number_of_leds) { - for (uint16_t i = 0; i < number_of_leds; i++) { - apa102_set_color(i, ledarray[i].r, ledarray[i].g, ledarray[i].b); - } - apa102_flush(); -} - const rgblight_driver_t rgblight_driver = { - .init = apa102_init, - .setleds = apa102_setleds, + .init = apa102_init, + .set_color = apa102_set_color, + .set_color_all = apa102_set_color_all, + .flush = apa102_flush, }; #endif diff --git a/quantum/rgblight/rgblight_drivers.h b/quantum/rgblight/rgblight_drivers.h index af28b918e17..16fb4cebd63 100644 --- a/quantum/rgblight/rgblight_drivers.h +++ b/quantum/rgblight/rgblight_drivers.h @@ -4,11 +4,12 @@ #pragma once #include -#include "color.h" typedef struct { void (*init)(void); - void (*setleds)(rgb_led_t *ledarray, uint16_t number_of_leds); + void (*set_color)(int index, uint8_t red, uint8_t green, uint8_t blue); + void (*set_color_all)(uint8_t red, uint8_t green, uint8_t blue); + void (*flush)(void); } rgblight_driver_t; extern const rgblight_driver_t rgblight_driver; From 3cf94cb3083a8c7de632153bf33e569ea9f90526 Mon Sep 17 00:00:00 2001 From: Andre Brait Date: Sun, 6 Oct 2024 10:39:21 +0200 Subject: [PATCH 031/124] Add easier way to set default single layer (#24376) * Add set_single_default_layer to match set_single_persistent_default_layer * Implements exactly the same behavior, except the write to EEPROM --- docs/feature_layers.md | 1 + docs/ref_functions.md | 4 +++- quantum/quantum.c | 8 ++++++-- quantum/quantum.h | 1 + 4 files changed, 11 insertions(+), 3 deletions(-) diff --git a/docs/feature_layers.md b/docs/feature_layers.md index fe9932fadbe..30ab7132226 100644 --- a/docs/feature_layers.md +++ b/docs/feature_layers.md @@ -74,6 +74,7 @@ There are a number of functions (and variables) related to how you can use or ma | `default_layer_and(layer_mask)` | Turns on layers based on matching enabled bits between specifed layer and existing default layer state. | | `default_layer_xor(layer_mask)` | Turns on layers based on non-matching bits between specifed layer and existing default layer state. | | `default_layer_debug(layer_mask)` | Prints out the current bit mask and highest active default layer to debugger console. | +| [`set_single_default_layer(layer)`](ref_functions.md#setting-the-persistent-default-layer) | Sets the default layer, but does _not_ write it to persistent memory (EEPROM). | | [`set_single_persistent_default_layer(layer)`](ref_functions.md#setting-the-persistent-default-layer) | Sets the default layer and writes it to persistent memory (EEPROM). | | [`update_tri_layer(x, y, z)`](ref_functions.md#update_tri_layerx-y-z) | Checks if layers `x` and `y` are both on, and sets `z` based on that (on if both on, otherwise off). | | [`update_tri_layer_state(state, x, y, z)`](ref_functions.md#update_tri_layer_statestate-x-y-z) | Does the same as `update_tri_layer(x, y, z)`, but from `layer_state_set_*` functions. | diff --git a/docs/ref_functions.md b/docs/ref_functions.md index 3304981ef56..599515ebc1e 100644 --- a/docs/ref_functions.md +++ b/docs/ref_functions.md @@ -69,7 +69,7 @@ layer_state_t layer_state_set_user(layer_state_t state) { Do you want to set the default layer, so that it's retained even after you unplug the board? If so, this is the function for you. -To use this, you would use `set_single_persistent_default_layer(layer)`. If you have a name defined for your layer, you can use that instead (such as _QWERTY, _DVORAK or _COLEMAK). +To do this, you would use `set_single_persistent_default_layer(layer)`. If you have a name defined for your layer, you can use that instead (such as _QWERTY, _DVORAK or _COLEMAK). This will set the default layer, update the persistent settings, and play a tune if you have [Audio](features/audio) enabled on your board, and the default layer sounds set. @@ -82,6 +82,8 @@ To configure the default layer sounds, you would want to define this in your `co } ``` +If you do not require it to be retained after you unplug the board, use `set_single_default_layer(layer)` instead. + ::: tip There are a large number of predefined songs in [quantum/audio/song_list.h](https://github.com/qmk/qmk_firmware/blob/master/quantum/audio/song_list.h) that you can use. diff --git a/quantum/quantum.c b/quantum/quantum.c index db323e31c98..892beee1be9 100644 --- a/quantum/quantum.c +++ b/quantum/quantum.c @@ -477,14 +477,18 @@ bool process_record_quantum(keyrecord_t *record) { return process_action_kb(record); } -void set_single_persistent_default_layer(uint8_t default_layer) { +void set_single_default_layer(uint8_t default_layer) { #if defined(AUDIO_ENABLE) && defined(DEFAULT_LAYER_SONGS) PLAY_SONG(default_layer_songs[default_layer]); #endif - eeconfig_update_default_layer((layer_state_t)1 << default_layer); default_layer_set((layer_state_t)1 << default_layer); } +void set_single_persistent_default_layer(uint8_t default_layer) { + eeconfig_update_default_layer((layer_state_t)1 << default_layer); + set_single_default_layer(default_layer); +} + //------------------------------------------------------------------------------ // Override these functions in your keymap file to play different tunes on // different events such as startup and bootloader jump diff --git a/quantum/quantum.h b/quantum/quantum.h index 5446ab1ad71..b60d8a86bf7 100644 --- a/quantum/quantum.h +++ b/quantum/quantum.h @@ -240,6 +240,7 @@ extern layer_state_t layer_state; # include "os_detection.h" #endif +void set_single_default_layer(uint8_t default_layer); void set_single_persistent_default_layer(uint8_t default_layer); #define IS_LAYER_ON(layer) layer_state_is(layer) From c82f6752666aa5795f80b90892c241dc40eb68d9 Mon Sep 17 00:00:00 2001 From: Nick Brassel Date: Sun, 6 Oct 2024 21:39:37 +1300 Subject: [PATCH 032/124] Install `dnf copr` plugin if not present (i.e. docker containers). (#24308) * Install `dnf copr` plugin if not present (i.e. docker containers). * Don't need to skip prompt when invoking help. --- util/install/fedora.sh | 1 + 1 file changed, 1 insertion(+) diff --git a/util/install/fedora.sh b/util/install/fedora.sh index 0b93326bbfc..20a14882069 100755 --- a/util/install/fedora.sh +++ b/util/install/fedora.sh @@ -5,6 +5,7 @@ _qmk_install() { . /etc/os-release if [ "$VERSION_ID" -ge "39" ]; then + sudo dnf copr -h >/dev/null 2>&1 || sudo dnf $SKIP_PROMPT install dnf-plugins-core sudo dnf $SKIP_PROMPT copr enable erovia/dfu-programmer fi From 305e7baa71ccecf8c126863a7f439361dd9cc750 Mon Sep 17 00:00:00 2001 From: Nick Brassel Date: Sun, 6 Oct 2024 21:44:36 +1300 Subject: [PATCH 033/124] Allow for `get_hardware_id()` to be used for serial number. (#24053) * Allow for `get_hardware_id()` to be used for serial number. * Length checks. * Explain length. * Cleanup. * Preprocessor magic. * Use the force, Batman. * Swap logic; if SERIAL_NUMBER is defined use that, otherwise derive it. * Cleanup. * Cleanup. --- platforms/chibios/config.h | 4 ++ tmk_core/protocol/usb_descriptor.c | 91 +++++++++++++++++++++++++----- 2 files changed, 82 insertions(+), 13 deletions(-) diff --git a/platforms/chibios/config.h b/platforms/chibios/config.h index 006415a5dc5..a58479bb974 100644 --- a/platforms/chibios/config.h +++ b/platforms/chibios/config.h @@ -5,3 +5,7 @@ #ifndef CORTEX_ENABLE_WFI_IDLE # define CORTEX_ENABLE_WFI_IDLE TRUE #endif // CORTEX_ENABLE_WFI_IDLE + +#ifndef SERIAL_NUMBER_USE_HARDWARE_ID +# define SERIAL_NUMBER_USE_HARDWARE_ID TRUE +#endif // SERIAL_NUMBER_USE_HARDWARE_ID diff --git a/tmk_core/protocol/usb_descriptor.c b/tmk_core/protocol/usb_descriptor.c index 7efd085ea32..7454c9a7c46 100644 --- a/tmk_core/protocol/usb_descriptor.c +++ b/tmk_core/protocol/usb_descriptor.c @@ -49,6 +49,16 @@ # include "os_detection.h" #endif +#if defined(SERIAL_NUMBER) || (defined(SERIAL_NUMBER_USE_HARDWARE_ID) && SERIAL_NUMBER_USE_HARDWARE_ID == TRUE) + +# define HAS_SERIAL_NUMBER + +# if defined(SERIAL_NUMBER_USE_HARDWARE_ID) && SERIAL_NUMBER_USE_HARDWARE_ID == TRUE +# include "hardware_id.h" +# endif + +#endif // defined(SERIAL_NUMBER) || (defined(SERIAL_NUMBER_USE_HARDWARE_ID) && SERIAL_NUMBER_USE_HARDWARE_ID == TRUE) + // clang-format off /* @@ -451,11 +461,11 @@ const USB_Descriptor_Device_t PROGMEM DeviceDescriptor = { .ReleaseNumber = DEVICE_VER, .ManufacturerStrIndex = 0x01, .ProductStrIndex = 0x02, -#if defined(SERIAL_NUMBER) +#ifdef HAS_SERIAL_NUMBER .SerialNumStrIndex = 0x03, -#else +#else // HAS_SERIAL_NUMBER .SerialNumStrIndex = 0x00, -#endif +#endif // HAS_SERIAL_NUMBER .NumberOfConfigurations = FIXED_NUM_CONFIGURATIONS }; @@ -1037,9 +1047,13 @@ const USB_Descriptor_Configuration_t PROGMEM ConfigurationDescriptor = { /* * String descriptors */ + +#define USB_DESCRIPTOR_SIZE_LITERAL_U16STRING(str) \ + (sizeof(USB_Descriptor_Header_t) + sizeof(str) - sizeof(wchar_t)) // include header, don't count null terminator + const USB_Descriptor_String_t PROGMEM LanguageString = { .Header = { - .Size = 4, + .Size = sizeof(USB_Descriptor_Header_t) + sizeof(uint16_t), .Type = DTYPE_String }, .UnicodeString = {LANGUAGE_ID_ENG} @@ -1047,7 +1061,7 @@ const USB_Descriptor_String_t PROGMEM LanguageString = { const USB_Descriptor_String_t PROGMEM ManufacturerString = { .Header = { - .Size = sizeof(USBSTR(MANUFACTURER)), + .Size = USB_DESCRIPTOR_SIZE_LITERAL_U16STRING(USBSTR(MANUFACTURER)), .Type = DTYPE_String }, .UnicodeString = USBSTR(MANUFACTURER) @@ -1055,24 +1069,70 @@ const USB_Descriptor_String_t PROGMEM ManufacturerString = { const USB_Descriptor_String_t PROGMEM ProductString = { .Header = { - .Size = sizeof(USBSTR(PRODUCT)), + .Size = USB_DESCRIPTOR_SIZE_LITERAL_U16STRING(USBSTR(PRODUCT)), .Type = DTYPE_String }, .UnicodeString = USBSTR(PRODUCT) }; +// clang-format on + #if defined(SERIAL_NUMBER) +// clang-format off const USB_Descriptor_String_t PROGMEM SerialNumberString = { .Header = { - .Size = sizeof(USBSTR(SERIAL_NUMBER)), + .Size = USB_DESCRIPTOR_SIZE_LITERAL_U16STRING(USBSTR(SERIAL_NUMBER)), .Type = DTYPE_String }, .UnicodeString = USBSTR(SERIAL_NUMBER) }; -#endif - // clang-format on +#else // defined(SERIAL_NUMBER) + +# if defined(SERIAL_NUMBER_USE_HARDWARE_ID) && SERIAL_NUMBER_USE_HARDWARE_ID == TRUE + +# if defined(__AVR__) +# error Dynamically setting the serial number on AVR is unsupported as LUFA requires the string to be in PROGMEM. +# endif // defined(__AVR__) + +# ifndef SERIAL_NUMBER_LENGTH +# define SERIAL_NUMBER_LENGTH (sizeof(hardware_id_t) * 2) +# endif + +# define SERIAL_NUMBER_DESCRIPTOR_SIZE \ + (sizeof(USB_Descriptor_Header_t) /* Descriptor header */ \ + + (((SERIAL_NUMBER_LENGTH) + 1) * sizeof(wchar_t))) /* Length of serial number, with potential extra character as we're converting 2 nibbles at a time */ + +uint8_t SerialNumberString[SERIAL_NUMBER_DESCRIPTOR_SIZE] = {0}; + +void set_serial_number_descriptor(void) { + static bool is_set = false; + if (is_set) { + return; + } + is_set = true; + + static const char hex_str[] = "0123456789ABCDEF"; + hardware_id_t id = get_hardware_id(); + USB_Descriptor_String_t* desc = (USB_Descriptor_String_t*)SerialNumberString; + + // Copy across nibbles from the hardware ID as unicode hex characters + int length = MIN(sizeof(id) * 2, SERIAL_NUMBER_LENGTH); + uint8_t* p = (uint8_t*)&id; + for (int i = 0; i < length; i += 2) { + desc->UnicodeString[i + 0] = hex_str[p[i / 2] >> 4]; + desc->UnicodeString[i + 1] = hex_str[p[i / 2] & 0xF]; + } + + desc->Header.Size = sizeof(USB_Descriptor_Header_t) + (length * sizeof(wchar_t)); // includes header, don't count null terminator + desc->Header.Type = DTYPE_String; +} + +# endif // defined(SERIAL_NUMBER_USE_HARDWARE_ID) && SERIAL_NUMBER_USE_HARDWARE_ID == TRUE + +#endif // defined(SERIAL_NUMBER) + /** * This function is called by the library when in device mode, and must be overridden (see library "USB Descriptors" * documentation) by the application code so that the address and size of a requested descriptor can be given @@ -1114,13 +1174,18 @@ uint16_t get_usb_descriptor(const uint16_t wValue, const uint16_t wIndex, const Size = pgm_read_byte(&ProductString.Header.Size); break; -#if defined(SERIAL_NUMBER) +#ifdef HAS_SERIAL_NUMBER case 0x03: - Address = &SerialNumberString; - Size = pgm_read_byte(&SerialNumberString.Header.Size); + Address = (const USB_Descriptor_String_t*)&SerialNumberString; +# if defined(SERIAL_NUMBER) + Size = pgm_read_byte(&SerialNumberString.Header.Size); +# else + set_serial_number_descriptor(); + Size = ((const USB_Descriptor_String_t*)SerialNumberString)->Header.Size; +# endif break; -#endif +#endif // HAS_SERIAL_NUMBER } #ifdef OS_DETECTION_ENABLE process_wlength(wLength); From a322107cb7b347a8c2020fcab5b9505c328daa24 Mon Sep 17 00:00:00 2001 From: durken1 <71756879+durken1@users.noreply.github.com> Date: Sun, 6 Oct 2024 10:47:15 +0200 Subject: [PATCH 034/124] add USART configuration to config.h for PS/2 mouse support (#24398) --- keyboards/pierce/config.h | 37 +++++++++++++++++++++++++++++++++++++ 1 file changed, 37 insertions(+) diff --git a/keyboards/pierce/config.h b/keyboards/pierce/config.h index 82c4b4b2642..3b89c38603c 100644 --- a/keyboards/pierce/config.h +++ b/keyboards/pierce/config.h @@ -23,3 +23,40 @@ /* COL2ROW or ROW2COL */ #define DIODE_DIRECTION COL2ROW + +#ifdef PS2_DRIVER_USART +#define PS2_CLOCK_PIN D5 +#define PS2_DATA_PIN D2 + +/* synchronous, odd parity, 1-bit stop, 8-bit data, sample at falling edge */ +/* set DDR of CLOCK as input to be slave */ +#define PS2_USART_INIT() do { \ + PS2_CLOCK_DDR &= ~(1< Date: Sun, 6 Oct 2024 10:50:39 +0200 Subject: [PATCH 035/124] Tweak OS detect, add OS_DETECTION_SINGLE_REPORT (#24379) * Default OS_DETECTION_DEBOUNCE bumped from 200ms to 250ms * Add OS_DETECTION_SINGLE_REPORT to prevent undesired multiple reports * Prevents random stability issues on ARM MacBooks after switching via KVM * Works for every device I could test, including ARM MacBooks * Disabled by default to keep current behavior * Add Troubleshooting section on documentation * Tweak reset logic to prevent a freeze with some KVMs The USB stack on ARM MacBooks is more similar to that of iOS and, for some reason, it seems to like sending packets that influence the OS detection and results in a second OS_MACOS report being sent at a random period of time after plugging the keyboard back. This does not always happen and the consequences of this vary based on what the user is doing in the callback, but since this is not obvious and it's hard to debug, I've decided to add a flag for those affected by such issue. The stability issue I had in mine was a combination of factors and I found the actual cause being my own bad math when changing the default layer, but this change alone is also confirmed to fix it. Lastly, soem KVMs seem to leave the USB controlled in a suspended state when cold-booting Windows, meaning the keyboard would hang and the reset logic would not work. This tunes it so that it can get out of such state. Also retested for compatibility with my old KVM to ensure the logic works for both. --- docs/features/os_detection.md | 30 ++++++++++++++----- quantum/os_detection.c | 54 +++++++++++++++++++++-------------- 2 files changed, 56 insertions(+), 28 deletions(-) diff --git a/docs/features/os_detection.md b/docs/features/os_detection.md index d0556d2549d..880e88d4b93 100644 --- a/docs/features/os_detection.md +++ b/docs/features/os_detection.md @@ -70,17 +70,33 @@ The process is done in steps, generating a number of intermediate results until We therefore resort to debouncing the result until it has been stable for a given amount of milliseconds. This amount can be configured, in case your board is not stable within the default debouncing time of 200ms. -## KVM and USB switches - -Some KVM and USB switches may not trigger the USB controller on the keyboard to fully reset upon switching machines. -If your keyboard does not redetect the OS in this situation, you can force the keyboard to reset when the USB initialization event is detected, forcing the USB controller to be reconfigured. - ## Configuration Options -* `#define OS_DETECTION_DEBOUNCE 200` +* `#define OS_DETECTION_DEBOUNCE 250` * defined the debounce time for OS detection, in milliseconds + * defaults to 250ms * `#define OS_DETECTION_KEYBOARD_RESET` - * enables the keyboard reset upon a USB device reinitilization, such as switching devices on some KVMs + * enables the keyboard reset upon a USB device reinitilization + * this setting may help with detection issues when switching between devices on some KVMs (see [Troubleshooting](#troubleshooting)) +* `#define OS_DETECTION_SINGLE_REPORT` + * allows the report callbacks to be called only once, when the OS detection result is considered stable + * subsequent changes in the detection results, if any, are ignored + * this setting may help with delayed stability issues when switching devices on some KVMs (see [Troubleshooting](#troubleshooting)) + +## Troubleshooting + +Some KVMs and USB switches may cause issues when the OS detection is turned on. +Here is a list of common issues and how to fix them: + +* **Problem**: _keyboard won't redetect the OS when switching between machines using a KVM_ + * **Explanation**: some KVMs keep the USB controller powered on during the switch and OS + detection happens when the USB device description is being assembled. + * **Solution**: use `OS_DETECTION_KEYBOARD_RESET` to force the keyboard to reset upon switching. +* **Problem**: _keyboard OS detection callback gets invoked even minuted after startup_ + * **Explanation**: some OSes, notably macOS on ARM-based Macs, may cause this behavior. + The actual cause is not known at this time.' + * **Solution**: use `OS_DETECTION_SINGLE_REPORT` to suppress repeated callback invocations. + ## Debug diff --git a/quantum/os_detection.c b/quantum/os_detection.c index 96b026e2471..99ffe1927a8 100644 --- a/quantum/os_detection.c +++ b/quantum/os_detection.c @@ -34,7 +34,7 @@ static uint16_t usb_setups[STORED_USB_SETUPS]; #endif #ifndef OS_DETECTION_DEBOUNCE -# define OS_DETECTION_DEBOUNCE 200 +# define OS_DETECTION_DEBOUNCE 250 #endif // 2s should always be more than enough (otherwise, you may have other issues) @@ -59,25 +59,40 @@ struct setups_data_t setups_data = { }; static volatile os_variant_t detected_os = OS_UNSURE; -static os_variant_t reported_os = OS_UNSURE; +static volatile os_variant_t reported_os = OS_UNSURE; // we need to be able to report OS_UNSURE if that is the stable result of the guesses -static bool first_report = true; +static volatile bool first_report = true; // to react on USB state changes -static volatile enum usb_device_state current_usb_device_state = USB_DEVICE_STATE_INIT; -static enum usb_device_state reported_usb_device_state = USB_DEVICE_STATE_INIT; +static volatile enum usb_device_state current_usb_device_state = USB_DEVICE_STATE_NO_INIT; +static volatile enum usb_device_state maxprev_usb_device_state = USB_DEVICE_STATE_NO_INIT; // the OS detection might be unstable for a while, "debounce" it static volatile bool debouncing = false; -static volatile fast_timer_t last_time; +static volatile fast_timer_t last_time = 0; void os_detection_task(void) { +#ifdef OS_DETECTION_KEYBOARD_RESET + // resetting the keyboard on the USB device state change callback results in instability, so delegate that to this task + // only take action if it's been stable at least once, to avoid issues with some KVMs + if (current_usb_device_state <= USB_DEVICE_STATE_INIT && maxprev_usb_device_state >= USB_DEVICE_STATE_CONFIGURED) { + if (debouncing && timer_elapsed_fast(last_time) >= OS_DETECTION_DEBOUNCE) { + soft_reset_keyboard(); + } + return; + } +#endif +#ifdef OS_DETECTION_SINGLE_REPORT + if (!first_report) { + return; + } +#endif if (current_usb_device_state == USB_DEVICE_STATE_CONFIGURED) { // debouncing goes for both the detected OS as well as the USB state if (debouncing && timer_elapsed_fast(last_time) >= OS_DETECTION_DEBOUNCE) { - debouncing = false; - reported_usb_device_state = current_usb_device_state; + debouncing = false; + last_time = 0; if (detected_os != reported_os || first_report) { first_report = false; reported_os = detected_os; @@ -85,13 +100,6 @@ void os_detection_task(void) { } } } -#ifdef OS_DETECTION_KEYBOARD_RESET - // resetting the keyboard on the USB device state change callback results in instability, so delegate that to this task - // only take action if it's been stable at least once, to avoid issues with some KVMs - else if (current_usb_device_state == USB_DEVICE_STATE_INIT && reported_usb_device_state != USB_DEVICE_STATE_INIT) { - soft_reset_keyboard(); - } -#endif } __attribute__((weak)) bool process_detected_host_os_kb(os_variant_t detected_os) { @@ -155,16 +163,20 @@ os_variant_t detected_host_os(void) { void erase_wlength_data(void) { memset(&setups_data, 0, sizeof(setups_data)); - detected_os = OS_UNSURE; - reported_os = OS_UNSURE; - current_usb_device_state = USB_DEVICE_STATE_INIT; - reported_usb_device_state = USB_DEVICE_STATE_INIT; - debouncing = false; - first_report = true; + detected_os = OS_UNSURE; + reported_os = OS_UNSURE; + current_usb_device_state = USB_DEVICE_STATE_NO_INIT; + maxprev_usb_device_state = USB_DEVICE_STATE_NO_INIT; + debouncing = false; + last_time = 0; + first_report = true; } void os_detection_notify_usb_device_state_change(enum usb_device_state usb_device_state) { // treat this like any other source of instability + if (maxprev_usb_device_state < current_usb_device_state) { + maxprev_usb_device_state = current_usb_device_state; + } current_usb_device_state = usb_device_state; last_time = timer_read_fast(); debouncing = true; From 13a87ad354c90a638cc7a71e7d23bead2f4771eb Mon Sep 17 00:00:00 2001 From: rahanahu Date: Sun, 6 Oct 2024 17:51:06 +0900 Subject: [PATCH 036/124] `hotdox76v2`: Update g_led_config.matrix_co to fix key electrical matrix to led index lookup table. (#24293) update g_led_config on hotdox76v2/hotdox76v2.c Co-authored-by: rahanahu --- keyboards/hotdox76v2/hotdox76v2.c | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/keyboards/hotdox76v2/hotdox76v2.c b/keyboards/hotdox76v2/hotdox76v2.c index 3ee58941070..26dc8f4d741 100644 --- a/keyboards/hotdox76v2/hotdox76v2.c +++ b/keyboards/hotdox76v2/hotdox76v2.c @@ -20,12 +20,12 @@ led_config_t g_led_config = { { 13, 12, 11, 10, 9, 8, 7 }, { 0, 1, 2, 3, 4, 5, 6 }, /*right*/ - { NO_LED, 72, 71, 70, 73, 75, 74 }, - { 65, 66, 67, 68, 69, NO_LED, NO_LED }, - { 64, 63, 62, 61, 60, 59, 58 }, - { 52, 53, 54, 55, 56, 57, NO_LED }, - { 51, 50, 49, 48, 47, 46, 45 }, - { 38, 39, 40, 41, 42, 43, 44 } + { NO_LED, 77, 76, 75, 78, 80, 79 }, + { 70, 71, 72, 73, 74, NO_LED, NO_LED }, + { 69, 68, 67, 66, 65, 64, 63 }, + { 57, 58, 59, 60, 61, 62, NO_LED }, + { 56, 55, 54, 53, 52, 51, 50 }, + { 43, 44, 45, 46, 47, 48, 49 } }, { // LED Index to Physical Position From c2dd0c184521c34b11f4189328c64bd99dfe860a Mon Sep 17 00:00:00 2001 From: Steven Karrmann Date: Sun, 6 Oct 2024 04:52:56 -0400 Subject: [PATCH 037/124] Update Janus keyboard firmware to use EE_HANDS (#24261) * Use EE_HANDS https://docs.qmk.fm/features/split_keyboard#handedness-by-eeprom * Update Janus readme to indicate EEPROM handedness is used --- keyboards/janus/config.h | 4 ++-- keyboards/janus/readme.md | 2 ++ 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/keyboards/janus/config.h b/keyboards/janus/config.h index 2d9cead0e3e..8f28edfb916 100644 --- a/keyboards/janus/config.h +++ b/keyboards/janus/config.h @@ -3,8 +3,8 @@ #pragma once - -/* Serial communication */ +/* Split keyboard configuration */ +#define EE_HANDS #define SERIAL_USART_FULL_DUPLEX #define SERIAL_USART_TX_PIN GP0 #define SERIAL_USART_RX_PIN GP1 diff --git a/keyboards/janus/readme.md b/keyboards/janus/readme.md index aa9e65cdc49..93b3b00c6fd 100644 --- a/keyboards/janus/readme.md +++ b/keyboards/janus/readme.md @@ -18,6 +18,8 @@ Flashing example for this keyboard: 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). +If you would like to plug in your keyboard using either half, then set the EEPROM left/right UF2 bootloader parameter when flashing each half for the first time. Refer to [QMK's handedness by EEPROM documentation](https://docs.qmk.fm/features/split_keyboard#handedness-by-eeprom). Without this bootloader parameter, the configuration assumes the left half will be plugged in. + ## Bootloader Enter the bootloader in 3 ways: From ff213636279a3fe4f55077d684e9283bc9b726e8 Mon Sep 17 00:00:00 2001 From: Robin Haberkorn Date: Sun, 6 Oct 2024 11:01:20 +0200 Subject: [PATCH 038/124] ibm/model_m/modelh: added ISO layout and keymap for Wheelwriter 10/15 keyboard modules (#24248) These are probably compatible with the Wheelwriter 1000 as well. --- keyboards/ibm/model_m/modelh/keyboard.json | 89 ++++++++++++++++++- .../keymaps/wheelwriter_1x_iso/keymap.c | 33 +++++++ keyboards/ibm/model_m/modelh/readme.md | 4 + 3 files changed, 125 insertions(+), 1 deletion(-) create mode 100644 keyboards/ibm/model_m/modelh/keymaps/wheelwriter_1x_iso/keymap.c diff --git a/keyboards/ibm/model_m/modelh/keyboard.json b/keyboards/ibm/model_m/modelh/keyboard.json index 513d5d9bb6b..6b9cf20c1d5 100644 --- a/keyboards/ibm/model_m/modelh/keyboard.json +++ b/keyboards/ibm/model_m/modelh/keyboard.json @@ -284,6 +284,93 @@ {"matrix": [0, 12], "x": 18.5, "y": 5.5, "w": 2}, {"matrix": [0, 13], "x": 20.5, "y": 5.5} ] - } + }, + "LAYOUT_wheelwriter_1x_iso": { + "layout": [ + {"matrix": [2, 2], "x": 0, "y": 0}, + + {"matrix": [2, 4], "x": 1.25, "y": 0}, + {"matrix": [3, 4], "x": 2.25, "y": 0}, + {"matrix": [3, 5], "x": 3.25, "y": 0}, + {"matrix": [3, 6], "x": 4.25, "y": 0}, + {"matrix": [3, 7], "x": 5.25, "y": 0}, + {"matrix": [2, 7], "x": 6.25, "y": 0}, + {"matrix": [2, 8], "x": 7.25, "y": 0}, + {"matrix": [3, 8], "x": 8.25, "y": 0}, + {"matrix": [3, 9], "x": 9.25, "y": 0}, + {"matrix": [3, 10], "x": 10.25, "y": 0}, + {"matrix": [3, 11], "x": 11.25, "y": 0}, + {"matrix": [2, 11], "x": 12.25, "y": 0}, + {"matrix": [2, 9], "x": 13.25, "y": 0}, + {"matrix": [2, 12], "x": 14.25, "y": 0, "w": 2}, + + {"matrix": [2, 13], "x": 17.5, "y": 0}, + + {"matrix": [4, 1], "x": 0, "y": 1}, + + {"matrix": [4, 2], "x": 1.25, "y": 1, "w": 1.5}, + {"matrix": [4, 4], "x": 2.75, "y": 1}, + {"matrix": [4, 5], "x": 3.75, "y": 1}, + {"matrix": [4, 6], "x": 4.75, "y": 1}, + {"matrix": [4, 7], "x": 5.75, "y": 1}, + {"matrix": [5, 7], "x": 6.75, "y": 1}, + {"matrix": [5, 8], "x": 7.75, "y": 1}, + {"matrix": [4, 8], "x": 8.75, "y": 1}, + {"matrix": [4, 9], "x": 9.75, "y": 1}, + {"matrix": [4, 10], "x": 10.75, "y": 1}, + {"matrix": [4, 11], "x": 11.75, "y": 1}, + {"matrix": [5, 11], "x": 12.75, "y": 1}, + {"matrix": [5, 9], "x": 13.75, "y": 1}, + + {"matrix": [4, 13], "x": 17.5, "y": 1}, + + {"matrix": [5, 2], "x": 0, "y": 2}, + + {"matrix": [6, 2], "x": 1.25, "y": 2, "w": 1.5}, + {"matrix": [1, 4], "x": 3, "y": 2}, + {"matrix": [1, 5], "x": 4, "y": 2}, + {"matrix": [1, 6], "x": 5, "y": 2}, + {"matrix": [1, 7], "x": 6, "y": 2}, + {"matrix": [0, 7], "x": 7, "y": 2}, + {"matrix": [0, 8], "x": 8, "y": 2}, + {"matrix": [1, 8], "x": 9, "y": 2}, + {"matrix": [1, 9], "x": 10, "y": 2}, + {"matrix": [1, 10], "x": 11, "y": 2}, + {"matrix": [1, 11], "x": 12, "y": 2}, + {"matrix": [0, 11], "x": 13, "y": 2}, + {"matrix": [6, 11], "x": 14, "y": 2}, + {"matrix": [0, 12], "x": 15, "y": 2, "w": 1.25, "h": 2}, + + {"matrix": [1, 13], "x": 17.5, "y": 2}, + + {"matrix": [1, 2], "x": 0, "y": 3}, + + {"matrix": [7, 3], "x": 1.25, "y": 3, "w": 1.25}, + {"matrix": [7, 4], "x": 2.5, "y": 3}, + {"matrix": [6, 4], "x": 3.5, "y": 3}, + {"matrix": [6, 5], "x": 4.5, "y": 3}, + {"matrix": [6, 6], "x": 5.5, "y": 3}, + {"matrix": [6, 7], "x": 6.5, "y": 3}, + {"matrix": [7, 7], "x": 7.5, "y": 3}, + {"matrix": [7, 8], "x": 8.5, "y": 3}, + {"matrix": [6, 8], "x": 9.5, "y": 3}, + {"matrix": [6, 9], "x": 10.5, "y": 3}, + {"matrix": [6, 10], "x": 11.5, "y": 3}, + {"matrix": [7, 11], "x": 12.5, "y": 3}, + {"matrix": [6, 3], "x": 13.5, "y": 3, "w": 2.75}, + + {"matrix": [6, 12], "x": 17.5, "y": 3}, + + {"matrix": [0, 1], "x": 0, "y": 4}, + + {"matrix": [7, 14], "x": 3.75, "y": 4, "w": 2.5}, + {"matrix": [7, 1], "x": 6.25, "y": 4, "w": 7.25}, + {"matrix": [7, 2], "x": 14.75, "y": 4, "w": 1.5}, + + {"matrix": [7, 12], "x": 16.5, "y": 4}, + {"matrix": [0, 13], "x": 17.5, "y": 4}, + {"matrix": [7, 13], "x": 18.5, "y": 4} + ] + } } } diff --git a/keyboards/ibm/model_m/modelh/keymaps/wheelwriter_1x_iso/keymap.c b/keyboards/ibm/model_m/modelh/keymaps/wheelwriter_1x_iso/keymap.c new file mode 100644 index 00000000000..e603de22df9 --- /dev/null +++ b/keyboards/ibm/model_m/modelh/keymaps/wheelwriter_1x_iso/keymap.c @@ -0,0 +1,33 @@ +/* Copyright 2024 Robin Haberkorn + * + * 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_wheelwriter_1x_iso( /* Base layer */ + KC_ESC, KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_INS, + 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_DEL, + 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_NUHS, KC_ENT, MO(1), + KC_APP, 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_UP, + KC_LCTL, KC_LALT, KC_SPC, KC_RALT, KC_LEFT, KC_DOWN, KC_RGHT + ), + [1] = LAYOUT_wheelwriter_1x_iso( /* Function key layer */ + KC_MUTE, KC_NO, 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_NO, KC_BRIU, + KC_VOLU, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_BRID, + KC_VOLD, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, + KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_PGUP, + KC_NO, KC_NO, KC_NO, KC_NO, KC_HOME, KC_PGDN, KC_END + ), +}; diff --git a/keyboards/ibm/model_m/modelh/readme.md b/keyboards/ibm/model_m/modelh/readme.md index bed79619cea..2a59ce99c86 100644 --- a/keyboards/ibm/model_m/modelh/readme.md +++ b/keyboards/ibm/model_m/modelh/readme.md @@ -17,4 +17,8 @@ Flashing example for this keyboard: make ibm/model_m/modelh:default:flash +For IBM Wheelwriter 10/15/1000 modules (ISO), you can try the `wheelwriter_1x_iso` keymap: + + make ibm/model_m/modelh:wheelwriter_1x_iso + 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 c9cd92ece3537a91e509488ea0ab1ae8b30d9c65 Mon Sep 17 00:00:00 2001 From: Drashna Jaelre Date: Sun, 6 Oct 2024 02:05:10 -0700 Subject: [PATCH 039/124] [Keyboard] Corne rev4 (#24084) * [Keyboard] Corne rev4 * Remove unneeded update interval and moved split pin to dd * Cleanup config and errors * Move bootmagic config to dd * Re-add existing configs * Additional config fixes * shove off via keymap --- keyboards/crkbd/crkbd.c | 1 + keyboards/crkbd/info.json | 144 ++++++- keyboards/crkbd/keymaps/default/keymap.c | 9 + keyboards/crkbd/post_config.h | 32 +- keyboards/crkbd/r2g/keyboard.json | 15 + keyboards/crkbd/readme.md | 17 +- keyboards/crkbd/rev1/keyboard.json | 120 +----- keyboards/crkbd/rev4_0/config.h | 17 + keyboards/crkbd/rev4_0/info.json | 367 ++++++++++++++++++ keyboards/crkbd/rev4_0/mcuconf.h | 9 + keyboards/crkbd/rev4_0/mini/keyboard.json | 52 +++ keyboards/crkbd/rev4_0/post_config.h | 11 + keyboards/crkbd/rev4_0/standard/keyboard.json | 58 +++ keyboards/crkbd/rev4_1/config.h | 16 + keyboards/crkbd/rev4_1/info.json | 363 +++++++++++++++++ keyboards/crkbd/rev4_1/mcuconf.h | 9 + keyboards/crkbd/rev4_1/mini/keyboard.json | 52 +++ keyboards/crkbd/rev4_1/post_config.h | 11 + keyboards/crkbd/rev4_1/standard/keyboard.json | 58 +++ 19 files changed, 1199 insertions(+), 162 deletions(-) create mode 100755 keyboards/crkbd/rev4_0/config.h create mode 100755 keyboards/crkbd/rev4_0/info.json create mode 100755 keyboards/crkbd/rev4_0/mcuconf.h create mode 100755 keyboards/crkbd/rev4_0/mini/keyboard.json create mode 100755 keyboards/crkbd/rev4_0/post_config.h create mode 100755 keyboards/crkbd/rev4_0/standard/keyboard.json create mode 100755 keyboards/crkbd/rev4_1/config.h create mode 100755 keyboards/crkbd/rev4_1/info.json create mode 100755 keyboards/crkbd/rev4_1/mcuconf.h create mode 100755 keyboards/crkbd/rev4_1/mini/keyboard.json create mode 100755 keyboards/crkbd/rev4_1/post_config.h create mode 100755 keyboards/crkbd/rev4_1/standard/keyboard.json diff --git a/keyboards/crkbd/crkbd.c b/keyboards/crkbd/crkbd.c index 2ac0e63125f..ae94088d29d 100644 --- a/keyboards/crkbd/crkbd.c +++ b/keyboards/crkbd/crkbd.c @@ -113,6 +113,7 @@ static void oled_render_keylog(void) { oled_write(depad_str(last_keycode_str, ' '), false); oled_write_P(PSTR(":"), false); oled_write_char(key_name, false); + oled_advance_page(true); } // static void render_bootmagic_status(bool status) { diff --git a/keyboards/crkbd/info.json b/keyboards/crkbd/info.json index 880cbccc29e..31ee98e269e 100644 --- a/keyboards/crkbd/info.json +++ b/keyboards/crkbd/info.json @@ -1,34 +1,138 @@ { - "keyboard_name": "Corne", "manufacturer": "foostan", - "url": "", + "url": "https://github.com/foostan/crkbd", "maintainer": "qmk", "usb": { - "vid": "0x4653", - "pid": "0x0001", - "device_version": "0.0.1" - }, - "rgb_matrix": { - "driver": "ws2812" + "vid": "0x4653" }, "features": { "bootmagic": true, "extrakey": true, - "mousekey": true, "nkro": true, - "oled": true + "oled": true, + "rgblight": false, + "rgb_matrix": true }, - "build": { - "lto": true + "bootmagic": { + "matrix": [0, 1] }, - "matrix_pins": { - "cols": [ "F4", "F5", "F6", "F7", "B1", "B3" ], - "rows": [ "D4", "C6", "D7", "E6" ] - }, - "diode_direction": "COL2ROW", "split": { - "enabled": true + "enabled": true, + "bootmagic": { + "matrix": [4, 1] + } }, - "processor": "atmega32u4", - "community_layouts": [ "split_3x5_3", "split_3x6_3" ] + "layout_aliases": { + "LAYOUT": "LAYOUT_split_3x6_3" + }, + "community_layouts": [ "split_3x5_3", "split_3x6_3" ], + "layouts": { + "LAYOUT_split_3x5_3": { + "layout": [ + {"matrix": [0, 1], "x": 0, "y": 0.3}, + {"matrix": [0, 2], "x": 1, "y": 0.1}, + {"matrix": [0, 3], "x": 2, "y": 0}, + {"matrix": [0, 4], "x": 3, "y": 0.1}, + {"matrix": [0, 5], "x": 4, "y": 0.2}, + + {"matrix": [4, 5], "x": 8, "y": 0.2}, + {"matrix": [4, 4], "x": 9, "y": 0.1}, + {"matrix": [4, 3], "x": 10, "y": 0}, + {"matrix": [4, 2], "x": 11, "y": 0.1}, + {"matrix": [4, 1], "x": 12, "y": 0.3}, + + {"matrix": [1, 1], "x": 0, "y": 1.3}, + {"matrix": [1, 2], "x": 1, "y": 1.1}, + {"matrix": [1, 3], "x": 2, "y": 1}, + {"matrix": [1, 4], "x": 3, "y": 1.1}, + {"matrix": [1, 5], "x": 4, "y": 1.2}, + + {"matrix": [5, 5], "x": 8, "y": 1.2}, + {"matrix": [5, 4], "x": 9, "y": 1.1}, + {"matrix": [5, 3], "x": 10, "y": 1}, + {"matrix": [5, 2], "x": 11, "y": 1.1}, + {"matrix": [5, 1], "x": 12, "y": 1.3}, + + {"matrix": [2, 1], "x": 0, "y": 2.3}, + {"matrix": [2, 2], "x": 1, "y": 2.1}, + {"matrix": [2, 3], "x": 2, "y": 2}, + {"matrix": [2, 4], "x": 3, "y": 2.1}, + {"matrix": [2, 5], "x": 4, "y": 2.2}, + + {"matrix": [6, 5], "x": 8, "y": 2.2}, + {"matrix": [6, 4], "x": 9, "y": 2.1}, + {"matrix": [6, 3], "x": 10, "y": 2}, + {"matrix": [6, 2], "x": 11, "y": 2.1}, + {"matrix": [6, 1], "x": 12, "y": 2.3}, + + {"matrix": [3, 3], "x": 3, "y": 3.7}, + {"matrix": [3, 4], "x": 4, "y": 3.7}, + {"matrix": [3, 5], "x": 5, "y": 3.2, "h": 1.5}, + + {"matrix": [7, 5], "x": 7, "y": 3.2, "h": 1.5}, + {"matrix": [7, 4], "x": 8, "y": 3.7}, + {"matrix": [7, 3], "x": 9, "y": 3.7} + ] + }, + "LAYOUT_split_3x6_3": { + "layout": [ + {"matrix": [0, 0], "x": 0, "y": 0.3}, + {"matrix": [0, 1], "x": 1, "y": 0.3}, + {"matrix": [0, 2], "x": 2, "y": 0.1}, + {"matrix": [0, 3], "x": 3, "y": 0}, + {"matrix": [0, 4], "x": 4, "y": 0.1}, + {"matrix": [0, 5], "x": 5, "y": 0.2}, + + {"matrix": [4, 5], "x": 9, "y": 0.2}, + {"matrix": [4, 4], "x": 10, "y": 0.1}, + {"matrix": [4, 3], "x": 11, "y": 0}, + {"matrix": [4, 2], "x": 12, "y": 0.1}, + {"matrix": [4, 1], "x": 13, "y": 0.3}, + {"matrix": [4, 0], "x": 14, "y": 0.3}, + + {"matrix": [1, 0], "x": 0, "y": 1.3}, + {"matrix": [1, 1], "x": 1, "y": 1.3}, + {"matrix": [1, 2], "x": 2, "y": 1.1}, + {"matrix": [1, 3], "x": 3, "y": 1}, + {"matrix": [1, 4], "x": 4, "y": 1.1}, + {"matrix": [1, 5], "x": 5, "y": 1.2}, + + {"matrix": [5, 5], "x": 9, "y": 1.2}, + {"matrix": [5, 4], "x": 10, "y": 1.1}, + {"matrix": [5, 3], "x": 11, "y": 1}, + {"matrix": [5, 2], "x": 12, "y": 1.1}, + {"matrix": [5, 1], "x": 13, "y": 1.3}, + {"matrix": [5, 0], "x": 14, "y": 1.3}, + + {"matrix": [2, 0], "x": 0, "y": 2.3}, + {"matrix": [2, 1], "x": 1, "y": 2.3}, + {"matrix": [2, 2], "x": 2, "y": 2.1}, + {"matrix": [2, 3], "x": 3, "y": 2}, + {"matrix": [2, 4], "x": 4, "y": 2.1}, + {"matrix": [2, 5], "x": 5, "y": 2.2}, + + {"matrix": [6, 5], "x": 9, "y": 2.2}, + {"matrix": [6, 4], "x": 10, "y": 2.1}, + {"matrix": [6, 3], "x": 11, "y": 2}, + {"matrix": [6, 2], "x": 12, "y": 2.1}, + {"matrix": [6, 1], "x": 13, "y": 2.3}, + {"matrix": [6, 0], "x": 14, "y": 2.3}, + + {"matrix": [3, 3], "x": 4, "y": 3.7}, + {"matrix": [3, 4], "x": 5, "y": 3.7}, + {"matrix": [3, 5], "x": 6, "y": 3.2, "h": 1.5}, + + {"matrix": [7, 5], "x": 8, "y": 3.2, "h": 1.5}, + {"matrix": [7, 4], "x": 9, "y": 3.7}, + {"matrix": [7, 3], "x": 10, "y": 3.7} + ] + } + }, + "rgb_matrix": { + "driver": "ws2812", + "max_brightness": 120 + }, + "rgblight": { + "max_brightness": 120 + } } diff --git a/keyboards/crkbd/keymaps/default/keymap.c b/keyboards/crkbd/keymaps/default/keymap.c index e46743af6b2..f4d6f900ce4 100644 --- a/keyboards/crkbd/keymaps/default/keymap.c +++ b/keyboards/crkbd/keymaps/default/keymap.c @@ -68,3 +68,12 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { //`--------------------------' `--------------------------' ) }; + +#ifdef ENCODER_MAP_ENABLE +const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][NUM_DIRECTIONS] = { + [0] = { ENCODER_CCW_CW(KC_VOLD, KC_VOLU), ENCODER_CCW_CW(KC_MPRV, KC_MNXT), ENCODER_CCW_CW(RGB_VAD, RGB_VAI), ENCODER_CCW_CW(KC_RGHT, KC_LEFT), }, + [1] = { ENCODER_CCW_CW(KC_VOLD, KC_VOLU), ENCODER_CCW_CW(KC_MPRV, KC_MNXT), ENCODER_CCW_CW(RGB_VAD, RGB_VAI), ENCODER_CCW_CW(KC_RGHT, KC_LEFT), }, + [2] = { ENCODER_CCW_CW(KC_VOLD, KC_VOLU), ENCODER_CCW_CW(KC_MPRV, KC_MNXT), ENCODER_CCW_CW(RGB_VAD, RGB_VAI), ENCODER_CCW_CW(KC_RGHT, KC_LEFT), }, + [3] = { ENCODER_CCW_CW(KC_VOLD, KC_VOLU), ENCODER_CCW_CW(KC_MPRV, KC_MNXT), ENCODER_CCW_CW(RGB_VAD, RGB_VAI), ENCODER_CCW_CW(KC_RGHT, KC_LEFT), }, +}; +#endif diff --git a/keyboards/crkbd/post_config.h b/keyboards/crkbd/post_config.h index aaf405a5bf9..dcc194479b5 100644 --- a/keyboards/crkbd/post_config.h +++ b/keyboards/crkbd/post_config.h @@ -16,34 +16,6 @@ #pragma once -#ifndef BOOTMAGIC_ROW -# define BOOTMAGIC_ROW 0 -#endif -#ifndef BOOTMAGIC_COLUMN -# define BOOTMAGIC_COLUMN 1 -#endif - -#ifndef BOOTMAGIC_ROW_RIGHT -# define BOOTMAGIC_ROW_RIGHT 4 -#endif -#ifndef BOOTMAGIC_COLUMN_RIGHT -# define BOOTMAGIC_COLUMN_RIGHT 1 -#endif - -#ifdef RGBLIGHT_ENABLE -# ifndef RGBLIGHT_LIMIT_VAL -# define RGBLIGHT_LIMIT_VAL 120 -# endif -#endif - -#ifdef RGB_MATRIX_ENABLE -# ifndef RGB_MATRIX_MAXIMUM_BRIGHTNESS -# define RGB_MATRIX_MAXIMUM_BRIGHTNESS 120 -# endif -#endif - -#ifdef OLED_ENABLE - #ifndef OLED_FONT_H - #define OLED_FONT_H "keyboards/crkbd/lib/glcdfont.c" - #endif +#ifndef OLED_FONT_H +# define OLED_FONT_H "keyboards/crkbd/lib/glcdfont.c" #endif diff --git a/keyboards/crkbd/r2g/keyboard.json b/keyboards/crkbd/r2g/keyboard.json index e6c49d5fc86..15d5ef0a035 100644 --- a/keyboards/crkbd/r2g/keyboard.json +++ b/keyboards/crkbd/r2g/keyboard.json @@ -1,7 +1,21 @@ { + "keyboard_name": "Corne", + "usb": { + "pid": "0x0001", + "device_version": "0.0.1" + }, + "processor": "atmega32u4", "features": { "rgb_matrix": true }, + "build": { + "lto": true + }, + "matrix_pins": { + "cols": [ "F4", "F5", "F6", "F7", "B1", "B3" ], + "rows": [ "D4", "C6", "D7", "E6" ] + }, + "diode_direction": "COL2ROW", "split": { "serial": { "pin": "D2" @@ -38,6 +52,7 @@ "layout_aliases": { "LAYOUT": "LAYOUT_split_3x6_3" }, + "community_layouts": [ "split_3x5_3", "split_3x6_3" ], "layouts": { "LAYOUT_split_3x5_3": { "layout": [ diff --git a/keyboards/crkbd/readme.md b/keyboards/crkbd/readme.md index 4297ee56d90..7e921ad66d1 100644 --- a/keyboards/crkbd/readme.md +++ b/keyboards/crkbd/readme.md @@ -1,28 +1,33 @@ # Corne Keyboard (CRKBD) -Also known (incorrectly) as the `HeliDox`. - ![Crkbd](https://user-images.githubusercontent.com/736191/40575636-6fba63a4-6123-11e8-9ca0-3f990f1f9f4c.jpg) ![Crkbd](https://user-images.githubusercontent.com/736191/40887871-0eead5dc-678a-11e8-9518-e3ad9e5d2bac.png) A split keyboard with 3x6 vertically staggered keys and 3 thumb keys. +Also, it has the option that use extension keys and rotary encoders. Keyboard Maintainer: [foostan](https://github.com/foostan/) [@foostan](https://twitter.com/foostan) -Hardware Supported: Crkbd PCB, Pro Micro +Hardware Supported: Corne PCB Hardware Availability: [PCB & Case Data](https://github.com/foostan/crkbd) -Make example for this keyboard (after setting up your build environment): +Flash example for this keyboard of v1 - v3: ```sh -make crkbd:default +qmk flash -kb crkbd/rev1 -km default +``` + +Flash example for this keyboard of v4: + +```sh +qmk flash -kb crkbd/rev4 -km default ``` See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) and the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information. Brand new to QMK? Start with our [Complete Newbs Guide](https://docs.qmk.fm/#/newbs). ## Bootloader -The Corne PCBs have a reset button next to the TRRS jack to enter in to the bootloader. +The Corne PCBs have a reset and boot buttons next to the TRRS jack to enter in to the bootloader. Additionally, if you hold down the "Q" or "P" buttons when plugging in that half of the keyboard (per the default QWERTY layout), this will jump to the bootloader and reset the EEPROM (persistent storage). This would normally be the very top corner-most position, but due to the breakaway column, it's left at Q and P for compatibility. diff --git a/keyboards/crkbd/rev1/keyboard.json b/keyboards/crkbd/rev1/keyboard.json index c9b5c27884c..2b32a5c8f63 100644 --- a/keyboards/crkbd/rev1/keyboard.json +++ b/keyboards/crkbd/rev1/keyboard.json @@ -1,7 +1,20 @@ { + "keyboard_name": "Corne", + "usb": { + "pid": "0x0001", + "device_version": "0.0.1" + }, "features": { "rgblight": true }, + "build": { + "lto": true + }, + "matrix_pins": { + "cols": [ "F4", "F5", "F6", "F7", "B1", "B3" ], + "rows": [ "D4", "C6", "D7", "E6" ] + }, + "diode_direction": "COL2ROW", "split": { "serial": { "pin": "D2" @@ -78,110 +91,5 @@ {"matrix": [6, 0], "x": 224, "y": 41, "flags": 1} ] }, - "development_board": "promicro", - "layout_aliases": { - "LAYOUT": "LAYOUT_split_3x6_3" - }, - "layouts": { - "LAYOUT_split_3x5_3": { - "layout": [ - {"matrix": [0, 1], "x": 0, "y": 0.3}, - {"matrix": [0, 2], "x": 1, "y": 0.1}, - {"matrix": [0, 3], "x": 2, "y": 0}, - {"matrix": [0, 4], "x": 3, "y": 0.1}, - {"matrix": [0, 5], "x": 4, "y": 0.2}, - - {"matrix": [4, 5], "x": 8, "y": 0.2}, - {"matrix": [4, 4], "x": 9, "y": 0.1}, - {"matrix": [4, 3], "x": 10, "y": 0}, - {"matrix": [4, 2], "x": 11, "y": 0.1}, - {"matrix": [4, 1], "x": 12, "y": 0.3}, - - {"matrix": [1, 1], "x": 0, "y": 1.3}, - {"matrix": [1, 2], "x": 1, "y": 1.1}, - {"matrix": [1, 3], "x": 2, "y": 1}, - {"matrix": [1, 4], "x": 3, "y": 1.1}, - {"matrix": [1, 5], "x": 4, "y": 1.2}, - - {"matrix": [5, 5], "x": 8, "y": 1.2}, - {"matrix": [5, 4], "x": 9, "y": 1.1}, - {"matrix": [5, 3], "x": 10, "y": 1}, - {"matrix": [5, 2], "x": 11, "y": 1.1}, - {"matrix": [5, 1], "x": 12, "y": 1.3}, - - {"matrix": [2, 1], "x": 0, "y": 2.3}, - {"matrix": [2, 2], "x": 1, "y": 2.1}, - {"matrix": [2, 3], "x": 2, "y": 2}, - {"matrix": [2, 4], "x": 3, "y": 2.1}, - {"matrix": [2, 5], "x": 4, "y": 2.2}, - - {"matrix": [6, 5], "x": 8, "y": 2.2}, - {"matrix": [6, 4], "x": 9, "y": 2.1}, - {"matrix": [6, 3], "x": 10, "y": 2}, - {"matrix": [6, 2], "x": 11, "y": 2.1}, - {"matrix": [6, 1], "x": 12, "y": 2.3}, - - {"matrix": [3, 3], "x": 3, "y": 3.7}, - {"matrix": [3, 4], "x": 4, "y": 3.7}, - {"matrix": [3, 5], "x": 5, "y": 3.2, "h": 1.5}, - - {"matrix": [7, 5], "x": 7, "y": 3.2, "h": 1.5}, - {"matrix": [7, 4], "x": 8, "y": 3.7}, - {"matrix": [7, 3], "x": 9, "y": 3.7} - ] - }, - "LAYOUT_split_3x6_3": { - "layout": [ - {"matrix": [0, 0], "x": 0, "y": 0.3}, - {"matrix": [0, 1], "x": 1, "y": 0.3}, - {"matrix": [0, 2], "x": 2, "y": 0.1}, - {"matrix": [0, 3], "x": 3, "y": 0}, - {"matrix": [0, 4], "x": 4, "y": 0.1}, - {"matrix": [0, 5], "x": 5, "y": 0.2}, - - {"matrix": [4, 5], "x": 9, "y": 0.2}, - {"matrix": [4, 4], "x": 10, "y": 0.1}, - {"matrix": [4, 3], "x": 11, "y": 0}, - {"matrix": [4, 2], "x": 12, "y": 0.1}, - {"matrix": [4, 1], "x": 13, "y": 0.3}, - {"matrix": [4, 0], "x": 14, "y": 0.3}, - - {"matrix": [1, 0], "x": 0, "y": 1.3}, - {"matrix": [1, 1], "x": 1, "y": 1.3}, - {"matrix": [1, 2], "x": 2, "y": 1.1}, - {"matrix": [1, 3], "x": 3, "y": 1}, - {"matrix": [1, 4], "x": 4, "y": 1.1}, - {"matrix": [1, 5], "x": 5, "y": 1.2}, - - {"matrix": [5, 5], "x": 9, "y": 1.2}, - {"matrix": [5, 4], "x": 10, "y": 1.1}, - {"matrix": [5, 3], "x": 11, "y": 1}, - {"matrix": [5, 2], "x": 12, "y": 1.1}, - {"matrix": [5, 1], "x": 13, "y": 1.3}, - {"matrix": [5, 0], "x": 14, "y": 1.3}, - - {"matrix": [2, 0], "x": 0, "y": 2.3}, - {"matrix": [2, 1], "x": 1, "y": 2.3}, - {"matrix": [2, 2], "x": 2, "y": 2.1}, - {"matrix": [2, 3], "x": 3, "y": 2}, - {"matrix": [2, 4], "x": 4, "y": 2.1}, - {"matrix": [2, 5], "x": 5, "y": 2.2}, - - {"matrix": [6, 5], "x": 9, "y": 2.2}, - {"matrix": [6, 4], "x": 10, "y": 2.1}, - {"matrix": [6, 3], "x": 11, "y": 2}, - {"matrix": [6, 2], "x": 12, "y": 2.1}, - {"matrix": [6, 1], "x": 13, "y": 2.3}, - {"matrix": [6, 0], "x": 14, "y": 2.3}, - - {"matrix": [3, 3], "x": 4, "y": 3.7}, - {"matrix": [3, 4], "x": 5, "y": 3.7}, - {"matrix": [3, 5], "x": 6, "y": 3.2, "h": 1.5}, - - {"matrix": [7, 5], "x": 8, "y": 3.2, "h": 1.5}, - {"matrix": [7, 4], "x": 9, "y": 3.7}, - {"matrix": [7, 3], "x": 10, "y": 3.7} - ] - } - } + "development_board": "promicro" } diff --git a/keyboards/crkbd/rev4_0/config.h b/keyboards/crkbd/rev4_0/config.h new file mode 100755 index 00000000000..228fc6dc075 --- /dev/null +++ b/keyboards/crkbd/rev4_0/config.h @@ -0,0 +1,17 @@ +// Copyright 2024 QMK +// SPDX-License-Identifier: GPL-2.0-or-later + +#pragma once + +#define SERIAL_USART_FULL_DUPLEX +#define SERIAL_USART_TX_PIN GP12 +#define SERIAL_USART_RX_PIN GP13 + +#define I2C_DRIVER I2CD1 +#define I2C1_SDA_PIN GP6 +#define I2C1_SCL_PIN GP7 + +/* RP2040- and hardware-specific config */ +#define RP2040_BOOTLOADER_DOUBLE_TAP_RESET // Activates the double-tap behavior +#define RP2040_BOOTLOADER_DOUBLE_TAP_RESET_TIMEOUT 500U +#define PICO_XOSC_STARTUP_DELAY_MULTIPLIER 64 diff --git a/keyboards/crkbd/rev4_0/info.json b/keyboards/crkbd/rev4_0/info.json new file mode 100755 index 00000000000..2eda29a53f7 --- /dev/null +++ b/keyboards/crkbd/rev4_0/info.json @@ -0,0 +1,367 @@ +{ + "maintainer": "foostan", + "manufacturer": "foostan", + "url": "https://github.com/foostan/crkbd", + "usb": { + "vid": "0x4653", + "suspend_wakeup_delay": 200, + "device_version": "4.0.0" + }, + "processor": "RP2040", + "bootloader": "rp2040", + "features": { + "bootmagic": true, + "extrakey": true, + "nkro": true, + "oled": true, + "rgblight": false, + "rgb_matrix": true, + "mousekey": true, + "encoder": true + }, + "diode_direction": "COL2ROW", + "dynamic_keymap": { + "layer_count": 6 + }, + "matrix_pins": { + "direct":[ + ["GP22", "GP20", "GP23", "GP26", "GP29", "GP0", "GP4"], + ["GP19", "GP18", "GP24", "GP27", "GP1", "GP2", "GP8"], + ["GP17", "GP16", "GP25", "GP28", "GP3", "GP9", null], + [ null, null, null, "GP14", "GP15", "GP11", null] + ] + }, + "encoder": { + "rotary": [ + {"pin_a": "GP5", "pin_b": "GP7"}, + {"pin_a": "GP6", "pin_b": "GP7"} + ] + }, + "bootmagic": { + "enabled": true, + "matrix": [ 0, 1 ] + }, + "split": { + "enabled": true, + "bootmagic": { + "matrix": [ 4, 1 ] + }, + "handedness": { + "pin": "GP21" + }, + "matrix_pins": { + "right": { + "direct": [ + [ "GP8", "GP9", "GP3", "GP2", "GP1", "GP27", "GP25"], + ["GP11", "GP14", "GP4", "GP0", "GP28", "GP26", "GP23"], + ["GP15", "GP18", "GP5", "GP29", "GP20", "GP22", null], + [ null, null, null, "GP16", "GP17", "GP19", null] + ] + } + }, + "encoder": { + "right": { + "rotary": [ + {"pin_a": "GP24", "pin_b": "GP7"}, + {"pin_a": "GP6", "pin_b": "GP7"} + ] + } + }, + "serial": { + "driver": "vendor" + }, + "transport": { + "sync": { + "matrix_state": true + }, + "watchdog": true + + }, + "usb_detect": { + "timeout": 500 + } + }, + "community_layouts": [ "split_3x5_3", "split_3x6_3" ], + "layouts": { + "LAYOUT_split_3x5_3": { + "layout": [ + {"matrix": [0, 1], "x": 0, "y": 0.3}, + {"matrix": [0, 2], "x": 1, "y": 0.1}, + {"matrix": [0, 3], "x": 2, "y": 0}, + {"matrix": [0, 4], "x": 3, "y": 0.1}, + {"matrix": [0, 5], "x": 4, "y": 0.2}, + + {"matrix": [4, 5], "x": 8, "y": 0.2}, + {"matrix": [4, 4], "x": 9, "y": 0.1}, + {"matrix": [4, 3], "x": 10, "y": 0}, + {"matrix": [4, 2], "x": 11, "y": 0.1}, + {"matrix": [4, 1], "x": 12, "y": 0.3}, + + {"matrix": [1, 1], "x": 0, "y": 1.3}, + {"matrix": [1, 2], "x": 1, "y": 1.1}, + {"matrix": [1, 3], "x": 2, "y": 1}, + {"matrix": [1, 4], "x": 3, "y": 1.1}, + {"matrix": [1, 5], "x": 4, "y": 1.2}, + + {"matrix": [5, 5], "x": 8, "y": 1.2}, + {"matrix": [5, 4], "x": 9, "y": 1.1}, + {"matrix": [5, 3], "x": 10, "y": 1}, + {"matrix": [5, 2], "x": 11, "y": 1.1}, + {"matrix": [5, 1], "x": 12, "y": 1.3}, + + {"matrix": [2, 1], "x": 0, "y": 2.3}, + {"matrix": [2, 2], "x": 1, "y": 2.1}, + {"matrix": [2, 3], "x": 2, "y": 2}, + {"matrix": [2, 4], "x": 3, "y": 2.1}, + {"matrix": [2, 5], "x": 4, "y": 2.2}, + + {"matrix": [6, 5], "x": 8, "y": 2.2}, + {"matrix": [6, 4], "x": 9, "y": 2.1}, + {"matrix": [6, 3], "x": 10, "y": 2}, + {"matrix": [6, 2], "x": 11, "y": 2.1}, + {"matrix": [6, 1], "x": 12, "y": 2.3}, + + {"matrix": [3, 3], "x": 3, "y": 3.7}, + {"matrix": [3, 4], "x": 4, "y": 3.7}, + {"matrix": [3, 5], "x": 5, "y": 3.2, "h": 1.5}, + + {"matrix": [7, 5], "x": 7, "y": 3.2, "h": 1.5}, + {"matrix": [7, 4], "x": 8, "y": 3.7}, + {"matrix": [7, 3], "x": 9, "y": 3.7} + ] + }, + "LAYOUT_split_3x6_3": { + "layout": [ + {"matrix": [0, 0], "x": 0, "y": 0.3}, + {"matrix": [0, 1], "x": 1, "y": 0.3}, + {"matrix": [0, 2], "x": 2, "y": 0.1}, + {"matrix": [0, 3], "x": 3, "y": 0}, + {"matrix": [0, 4], "x": 4, "y": 0.1}, + {"matrix": [0, 5], "x": 5, "y": 0.2}, + + {"matrix": [4, 5], "x": 9, "y": 0.2}, + {"matrix": [4, 4], "x": 10, "y": 0.1}, + {"matrix": [4, 3], "x": 11, "y": 0}, + {"matrix": [4, 2], "x": 12, "y": 0.1}, + {"matrix": [4, 1], "x": 13, "y": 0.3}, + {"matrix": [4, 0], "x": 14, "y": 0.3}, + + {"matrix": [1, 0], "x": 0, "y": 1.3}, + {"matrix": [1, 1], "x": 1, "y": 1.3}, + {"matrix": [1, 2], "x": 2, "y": 1.1}, + {"matrix": [1, 3], "x": 3, "y": 1}, + {"matrix": [1, 4], "x": 4, "y": 1.1}, + {"matrix": [1, 5], "x": 5, "y": 1.2}, + + {"matrix": [5, 5], "x": 9, "y": 1.2}, + {"matrix": [5, 4], "x": 10, "y": 1.1}, + {"matrix": [5, 3], "x": 11, "y": 1}, + {"matrix": [5, 2], "x": 12, "y": 1.1}, + {"matrix": [5, 1], "x": 13, "y": 1.3}, + {"matrix": [5, 0], "x": 14, "y": 1.3}, + + {"matrix": [2, 0], "x": 0, "y": 2.3}, + {"matrix": [2, 1], "x": 1, "y": 2.3}, + {"matrix": [2, 2], "x": 2, "y": 2.1}, + {"matrix": [2, 3], "x": 3, "y": 2}, + {"matrix": [2, 4], "x": 4, "y": 2.1}, + {"matrix": [2, 5], "x": 5, "y": 2.2}, + + {"matrix": [6, 5], "x": 9, "y": 2.2}, + {"matrix": [6, 4], "x": 10, "y": 2.1}, + {"matrix": [6, 3], "x": 11, "y": 2}, + {"matrix": [6, 2], "x": 12, "y": 2.1}, + {"matrix": [6, 1], "x": 13, "y": 2.3}, + {"matrix": [6, 0], "x": 14, "y": 2.3}, + + {"matrix": [3, 3], "x": 4, "y": 3.7}, + {"matrix": [3, 4], "x": 5, "y": 3.7}, + {"matrix": [3, 5], "x": 6, "y": 3.2, "h": 1.5}, + + {"matrix": [7, 5], "x": 8, "y": 3.2, "h": 1.5}, + {"matrix": [7, 4], "x": 9, "y": 3.7}, + {"matrix": [7, 3], "x": 10, "y": 3.7} + ] + }, + "LAYOUT_split_3x5_3_ex2": { + "layout": [ + {"matrix": [0, 1], "x": 0, "y": 0.3}, + {"matrix": [0, 2], "x": 1, "y": 0.1}, + {"matrix": [0, 3], "x": 2, "y": 0}, + {"matrix": [0, 4], "x": 3, "y": 0.1}, + {"matrix": [0, 5], "x": 4, "y": 0.2}, + {"matrix": [0, 6], "x": 5, "y": 0.7}, + + {"matrix": [4, 6], "x": 8, "y": 0.7}, + {"matrix": [4, 5], "x": 9, "y": 0.2}, + {"matrix": [4, 4], "x": 10, "y": 0.1}, + {"matrix": [4, 3], "x": 11, "y": 0}, + {"matrix": [4, 2], "x": 12, "y": 0.1}, + {"matrix": [4, 1], "x": 13, "y": 0.3}, + + {"matrix": [1, 1], "x": 0, "y": 1.3}, + {"matrix": [1, 2], "x": 1, "y": 1.1}, + {"matrix": [1, 3], "x": 2, "y": 1}, + {"matrix": [1, 4], "x": 3, "y": 1.1}, + {"matrix": [1, 5], "x": 4, "y": 1.2}, + {"matrix": [1, 6], "x": 5, "y": 1.7}, + + {"matrix": [5, 6], "x": 8, "y": 1.7}, + {"matrix": [5, 5], "x": 9, "y": 1.2}, + {"matrix": [5, 4], "x": 10, "y": 1.1}, + {"matrix": [5, 3], "x": 11, "y": 1}, + {"matrix": [5, 2], "x": 12, "y": 1.1}, + {"matrix": [5, 1], "x": 13, "y": 1.3}, + + {"matrix": [2, 1], "x": 0, "y": 2.3}, + {"matrix": [2, 2], "x": 1, "y": 2.1}, + {"matrix": [2, 3], "x": 2, "y": 2}, + {"matrix": [2, 4], "x": 3, "y": 2.1}, + {"matrix": [2, 5], "x": 4, "y": 2.2}, + + {"matrix": [6, 5], "x": 9, "y": 2.2}, + {"matrix": [6, 4], "x": 10, "y": 2.1}, + {"matrix": [6, 3], "x": 11, "y": 2}, + {"matrix": [6, 2], "x": 12, "y": 2.1}, + {"matrix": [6, 1], "x": 13, "y": 2.3}, + + {"matrix": [3, 3], "x": 4, "y": 3.7}, + {"matrix": [3, 4], "x": 5, "y": 3.7}, + {"matrix": [3, 5], "x": 6, "y": 3.2, "h": 1.5}, + + {"matrix": [7, 5], "x": 8, "y": 3.2, "h": 1.5}, + {"matrix": [7, 4], "x": 9, "y": 3.7}, + {"matrix": [7, 3], "x": 10, "y": 3.7} + ] + }, + "LAYOUT_split_3x6_3_ex2": { + "layout": [ + {"matrix": [0, 0], "x": 0, "y": 0.3}, + {"matrix": [0, 1], "x": 1, "y": 0.3}, + {"matrix": [0, 2], "x": 2, "y": 0.1}, + {"matrix": [0, 3], "x": 3, "y": 0}, + {"matrix": [0, 4], "x": 4, "y": 0.1}, + {"matrix": [0, 5], "x": 5, "y": 0.2}, + {"matrix": [0, 6], "x": 6, "y": 0.7}, + + {"matrix": [4, 6], "x": 8, "y": 0.7}, + {"matrix": [4, 5], "x": 9, "y": 0.2}, + {"matrix": [4, 4], "x": 10, "y": 0.1}, + {"matrix": [4, 3], "x": 11, "y": 0}, + {"matrix": [4, 2], "x": 12, "y": 0.1}, + {"matrix": [4, 1], "x": 13, "y": 0.3}, + {"matrix": [4, 0], "x": 14, "y": 0.3}, + + {"matrix": [1, 0], "x": 0, "y": 1.3}, + {"matrix": [1, 1], "x": 1, "y": 1.3}, + {"matrix": [1, 2], "x": 2, "y": 1.1}, + {"matrix": [1, 3], "x": 3, "y": 1}, + {"matrix": [1, 4], "x": 4, "y": 1.1}, + {"matrix": [1, 5], "x": 5, "y": 1.2}, + {"matrix": [1, 6], "x": 6, "y": 1.7}, + + {"matrix": [5, 6], "x": 8, "y": 1.7}, + {"matrix": [5, 5], "x": 9, "y": 1.2}, + {"matrix": [5, 4], "x": 10, "y": 1.1}, + {"matrix": [5, 3], "x": 11, "y": 1}, + {"matrix": [5, 2], "x": 12, "y": 1.1}, + {"matrix": [5, 1], "x": 13, "y": 1.3}, + {"matrix": [5, 0], "x": 14, "y": 1.3}, + + {"matrix": [2, 0], "x": 0, "y": 2.3}, + {"matrix": [2, 1], "x": 1, "y": 2.3}, + {"matrix": [2, 2], "x": 2, "y": 2.1}, + {"matrix": [2, 3], "x": 3, "y": 2}, + {"matrix": [2, 4], "x": 4, "y": 2.1}, + {"matrix": [2, 5], "x": 5, "y": 2.2}, + + {"matrix": [6, 5], "x": 9, "y": 2.2}, + {"matrix": [6, 4], "x": 10, "y": 2.1}, + {"matrix": [6, 3], "x": 11, "y": 2}, + {"matrix": [6, 2], "x": 12, "y": 2.1}, + {"matrix": [6, 1], "x": 13, "y": 2.3}, + {"matrix": [6, 0], "x": 14, "y": 2.3}, + + {"matrix": [3, 3], "x": 4, "y": 3.7}, + {"matrix": [3, 4], "x": 5, "y": 3.7}, + {"matrix": [3, 5], "x": 6, "y": 3.2, "h": 1.5}, + + {"matrix": [7, 5], "x": 8, "y": 3.2, "h": 1.5}, + {"matrix": [7, 4], "x": 9, "y": 3.7}, + {"matrix": [7, 3], "x": 10, "y": 3.7} + ] + } + }, + "ws2812": { + "driver": "vendor", + "pin": "GP10" + }, + "rgblight": { + "led_count": 46, + "split": true, + "split_count": [23, 23], + "max_brightness": 50, + "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 + } + }, + "rgb_matrix": { + "driver": "ws2812", + "max_brightness": 50, + "animations": { + "alphas_mods": true, + "gradient_up_down": true, + "gradient_left_right": true, + "breathing": true, + "band_sat": true, + "band_val": true, + "band_pinwheel_sat": true, + "band_pinwheel_val": true, + "band_spiral_sat": true, + "band_spiral_val": true, + "cycle_all": true, + "cycle_left_right": true, + "cycle_up_down": true, + "rainbow_moving_chevron": true, + "cycle_out_in": true, + "cycle_out_in_dual": true, + "cycle_pinwheel": true, + "cycle_spiral": true, + "dual_beacon": true, + "rainbow_beacon": true, + "rainbow_pinwheels": true, + "raindrops": true, + "jellybean_raindrops": true, + "hue_breathing": true, + "hue_pendulum": true, + "hue_wave": true, + "pixel_fractal": true, + "pixel_flow": true, + "pixel_rain": true, + "typing_heatmap": true, + "digital_rain": true, + "solid_reactive_simple": true, + "solid_reactive": true, + "solid_reactive_wide": true, + "solid_reactive_multiwide": true, + "solid_reactive_cross": true, + "solid_reactive_multicross": true, + "solid_reactive_nexus": true, + "solid_reactive_multinexus": true, + "splash": true, + "multisplash": true, + "solid_splash": true, + "solid_multisplash": true + }, + "sleep": true + } +} diff --git a/keyboards/crkbd/rev4_0/mcuconf.h b/keyboards/crkbd/rev4_0/mcuconf.h new file mode 100755 index 00000000000..543d4703b02 --- /dev/null +++ b/keyboards/crkbd/rev4_0/mcuconf.h @@ -0,0 +1,9 @@ +// Copyright 2024 QMK +// SPDX-License-Identifier: GPL-2.0-or-later + +#pragma once + +#include_next + +#undef RP_I2C_USE_I2C1 +#define RP_I2C_USE_I2C1 TRUE diff --git a/keyboards/crkbd/rev4_0/mini/keyboard.json b/keyboards/crkbd/rev4_0/mini/keyboard.json new file mode 100755 index 00000000000..a455b1ba21b --- /dev/null +++ b/keyboards/crkbd/rev4_0/mini/keyboard.json @@ -0,0 +1,52 @@ +{ + "keyboard_name": "Corne v4 mini", + "usb": { + "pid": "0x0104" + }, + "rgb_matrix": { + "split_count": [20, 20], + "layout": [ + {"matrix": [3, 5], "x": 95, "y": 63, "flags": 4}, + {"matrix": [2, 5], "x": 85, "y": 39, "flags": 4}, + {"matrix": [1, 5], "x": 85, "y": 21, "flags": 4}, + {"matrix": [0, 5], "x": 85, "y": 4, "flags": 4}, + {"matrix": [0, 4], "x": 68, "y": 2, "flags": 4}, + {"matrix": [1, 4], "x": 68, "y": 19, "flags": 4}, + {"matrix": [2, 4], "x": 68, "y": 37, "flags": 4}, + {"matrix": [3, 4], "x": 80, "y": 58, "flags": 4}, + {"matrix": [3, 3], "x": 60, "y": 55, "flags": 4}, + {"matrix": [2, 3], "x": 50, "y": 35, "flags": 4}, + {"matrix": [1, 3], "x": 50, "y": 13, "flags": 4}, + {"matrix": [0, 3], "x": 50, "y": 0, "flags": 4}, + {"matrix": [0, 2], "x": 33, "y": 3, "flags": 4}, + {"matrix": [1, 2], "x": 33, "y": 20, "flags": 4}, + {"matrix": [2, 2], "x": 33, "y": 37, "flags": 4}, + {"matrix": [2, 1], "x": 16, "y": 42, "flags": 4}, + {"matrix": [1, 1], "x": 16, "y": 24, "flags": 4}, + {"matrix": [0, 1], "x": 16, "y": 7, "flags": 4}, + {"matrix": [0, 6], "x": 103, "y": 17, "flags": 4}, + {"matrix": [1, 6], "x": 103, "y": 24, "flags": 4}, + + {"matrix": [7, 5], "x": 129, "y": 63, "flags": 4}, + {"matrix": [6, 5], "x": 139, "y": 39, "flags": 4}, + {"matrix": [5, 5], "x": 139, "y": 21, "flags": 4}, + {"matrix": [4, 5], "x": 139, "y": 4, "flags": 4}, + {"matrix": [4, 4], "x": 156, "y": 2, "flags": 4}, + {"matrix": [5, 4], "x": 156, "y": 19, "flags": 4}, + {"matrix": [6, 4], "x": 156, "y": 37, "flags": 4}, + {"matrix": [7, 4], "x": 144, "y": 58, "flags": 4}, + {"matrix": [7, 3], "x": 164, "y": 55, "flags": 4}, + {"matrix": [6, 3], "x": 174, "y": 35, "flags": 4}, + {"matrix": [5, 3], "x": 174, "y": 13, "flags": 4}, + {"matrix": [4, 3], "x": 174, "y": 0, "flags": 4}, + {"matrix": [4, 2], "x": 191, "y": 3, "flags": 4}, + {"matrix": [5, 2], "x": 191, "y": 20, "flags": 4}, + {"matrix": [6, 2], "x": 191, "y": 37, "flags": 4}, + {"matrix": [6, 1], "x": 208, "y": 42, "flags": 4}, + {"matrix": [5, 1], "x": 208, "y": 24, "flags": 4}, + {"matrix": [4, 1], "x": 208, "y": 7, "flags": 4}, + {"matrix": [4, 6], "x": 122, "y": 17, "flags": 4}, + {"matrix": [5, 6], "x": 122, "y": 24, "flags": 4} + ] + } +} diff --git a/keyboards/crkbd/rev4_0/post_config.h b/keyboards/crkbd/rev4_0/post_config.h new file mode 100755 index 00000000000..d9669a4cc39 --- /dev/null +++ b/keyboards/crkbd/rev4_0/post_config.h @@ -0,0 +1,11 @@ +// Copyright 2024 QMK +// SPDX-License-Identifier: GPL-2.0-or-later + +#pragma once + +#ifndef OLED_FONT_H +# define OLED_FONT_H "keyboards/crkbd/lib/glcdfont.c" +#endif +#ifndef OLED_UPDATE_INTERVAL +# define OLED_UPDATE_INTERVAL 50 +#endif // OLED_UPDATE_INTERVAL diff --git a/keyboards/crkbd/rev4_0/standard/keyboard.json b/keyboards/crkbd/rev4_0/standard/keyboard.json new file mode 100755 index 00000000000..ba90a9e5f5e --- /dev/null +++ b/keyboards/crkbd/rev4_0/standard/keyboard.json @@ -0,0 +1,58 @@ +{ + "keyboard_name": "Corne v4", + "usb": { + "pid": "0x0004" + }, + "rgb_matrix": { + "split_count": [23, 23], + "layout": [ + {"matrix": [3, 5], "x": 95, "y": 63, "flags": 4}, + {"matrix": [2, 5], "x": 85, "y": 39, "flags": 4}, + {"matrix": [1, 5], "x": 85, "y": 21, "flags": 4}, + {"matrix": [0, 5], "x": 85, "y": 4, "flags": 4}, + {"matrix": [0, 4], "x": 68, "y": 2, "flags": 4}, + {"matrix": [1, 4], "x": 68, "y": 19, "flags": 4}, + {"matrix": [2, 4], "x": 68, "y": 37, "flags": 4}, + {"matrix": [3, 4], "x": 80, "y": 58, "flags": 4}, + {"matrix": [3, 3], "x": 60, "y": 55, "flags": 4}, + {"matrix": [2, 3], "x": 50, "y": 35, "flags": 4}, + {"matrix": [1, 3], "x": 50, "y": 13, "flags": 4}, + {"matrix": [0, 3], "x": 50, "y": 0, "flags": 4}, + {"matrix": [0, 2], "x": 33, "y": 3, "flags": 4}, + {"matrix": [1, 2], "x": 33, "y": 20, "flags": 4}, + {"matrix": [2, 2], "x": 33, "y": 37, "flags": 4}, + {"matrix": [2, 1], "x": 16, "y": 42, "flags": 4}, + {"matrix": [1, 1], "x": 16, "y": 24, "flags": 4}, + {"matrix": [0, 1], "x": 16, "y": 7, "flags": 4}, + {"matrix": [0, 0], "x": 0, "y": 7, "flags": 4}, + {"matrix": [1, 0], "x": 0, "y": 24, "flags": 4}, + {"matrix": [2, 0], "x": 0, "y": 41, "flags": 4}, + {"matrix": [0, 6], "x": 103, "y": 17, "flags": 4}, + {"matrix": [1, 6], "x": 103, "y": 24, "flags": 4}, + + {"matrix": [7, 5], "x": 129, "y": 63, "flags": 4}, + {"matrix": [6, 5], "x": 139, "y": 39, "flags": 4}, + {"matrix": [5, 5], "x": 139, "y": 21, "flags": 4}, + {"matrix": [4, 5], "x": 139, "y": 4, "flags": 4}, + {"matrix": [4, 4], "x": 156, "y": 2, "flags": 4}, + {"matrix": [5, 4], "x": 156, "y": 19, "flags": 4}, + {"matrix": [6, 4], "x": 156, "y": 37, "flags": 4}, + {"matrix": [7, 4], "x": 144, "y": 58, "flags": 4}, + {"matrix": [7, 3], "x": 164, "y": 55, "flags": 4}, + {"matrix": [6, 3], "x": 174, "y": 35, "flags": 4}, + {"matrix": [5, 3], "x": 174, "y": 13, "flags": 4}, + {"matrix": [4, 3], "x": 174, "y": 0, "flags": 4}, + {"matrix": [4, 2], "x": 191, "y": 3, "flags": 4}, + {"matrix": [5, 2], "x": 191, "y": 20, "flags": 4}, + {"matrix": [6, 2], "x": 191, "y": 37, "flags": 4}, + {"matrix": [6, 1], "x": 208, "y": 42, "flags": 4}, + {"matrix": [5, 1], "x": 208, "y": 24, "flags": 4}, + {"matrix": [4, 1], "x": 208, "y": 7, "flags": 4}, + {"matrix": [4, 0], "x": 224, "y": 7, "flags": 4}, + {"matrix": [5, 0], "x": 224, "y": 24, "flags": 4}, + {"matrix": [6, 0], "x": 224, "y": 41, "flags": 4}, + {"matrix": [4, 6], "x": 122, "y": 17, "flags": 4}, + {"matrix": [5, 6], "x": 122, "y": 24, "flags": 4} + ] + } +} diff --git a/keyboards/crkbd/rev4_1/config.h b/keyboards/crkbd/rev4_1/config.h new file mode 100755 index 00000000000..6f7d290ddcd --- /dev/null +++ b/keyboards/crkbd/rev4_1/config.h @@ -0,0 +1,16 @@ +// Copyright 2024 QMK +// SPDX-License-Identifier: GPL-2.0-or-later + +#pragma once + +#define SERIAL_USART_TX_PIN GP12 +#define USB_VBUS_PIN GP13 + +#define I2C_DRIVER I2CD1 +#define I2C1_SDA_PIN GP6 +#define I2C1_SCL_PIN GP7 + +/* RP2040- and hardware-specific config */ +#define RP2040_BOOTLOADER_DOUBLE_TAP_RESET // Activates the double-tap behavior +#define RP2040_BOOTLOADER_DOUBLE_TAP_RESET_TIMEOUT 500U +#define PICO_XOSC_STARTUP_DELAY_MULTIPLIER 64 diff --git a/keyboards/crkbd/rev4_1/info.json b/keyboards/crkbd/rev4_1/info.json new file mode 100755 index 00000000000..3732d639101 --- /dev/null +++ b/keyboards/crkbd/rev4_1/info.json @@ -0,0 +1,363 @@ +{ + "maintainer": "foostan", + "manufacturer": "foostan", + "url": "https://github.com/foostan/crkbd", + "usb": { + "vid": "0x4653", + "suspend_wakeup_delay": 200, + "device_version": "4.1.0" + }, + "processor": "RP2040", + "bootloader": "rp2040", + "features": { + "bootmagic": true, + "extrakey": true, + "nkro": true, + "oled": true, + "rgblight": false, + "rgb_matrix": true, + "mousekey": true, + "encoder": true + }, + "diode_direction": "COL2ROW", + "dynamic_keymap": { + "layer_count": 6 + }, + "matrix_pins": { + "direct":[ + ["GP22", "GP20", "GP23", "GP26", "GP29", "GP0", "GP4"], + ["GP19", "GP18", "GP24", "GP27", "GP1", "GP2", "GP8"], + ["GP17", "GP16", "GP25", "GP28", "GP3", "GP9", null], + [ null, null, null, "GP14", "GP15", "GP11", null] + ] + }, + "encoder": { + "rotary": [ + {"pin_a": "GP5", "pin_b": "GP7"}, + {"pin_a": "GP6", "pin_b": "GP7"} + ] + }, + "bootmagic": { + "enabled": true, + "matrix": [ 0, 1 ] + }, + "split": { + "enabled": true, + "bootmagic": { + "matrix": [ 4, 1 ] + }, + "handedness": { + "pin": "GP21" + }, + "matrix_pins": { + "right": { + "direct": [ + [ "GP8", "GP9", "GP3", "GP2", "GP1", "GP27", "GP25"], + ["GP11", "GP14", "GP4", "GP0", "GP28", "GP26", "GP23"], + ["GP15", "GP18", "GP5", "GP29", "GP20", "GP22", null], + [ null, null, null, "GP16", "GP17", "GP19", null] + ] + } + }, + "encoder": { + "right": { + "rotary": [ + {"pin_a": "GP24", "pin_b": "GP7"}, + {"pin_a": "GP6", "pin_b": "GP7"} + ] + } + }, + "serial": { + "driver": "vendor" + }, + "transport": { + "sync": { + "matrix_state": true + }, + "watchdog": true + } + }, + "community_layouts": [ "split_3x5_3", "split_3x6_3" ], + "layouts": { + "LAYOUT_split_3x5_3": { + "layout": [ + {"matrix": [0, 1], "x": 0, "y": 0.3}, + {"matrix": [0, 2], "x": 1, "y": 0.1}, + {"matrix": [0, 3], "x": 2, "y": 0}, + {"matrix": [0, 4], "x": 3, "y": 0.1}, + {"matrix": [0, 5], "x": 4, "y": 0.2}, + + {"matrix": [4, 5], "x": 8, "y": 0.2}, + {"matrix": [4, 4], "x": 9, "y": 0.1}, + {"matrix": [4, 3], "x": 10, "y": 0}, + {"matrix": [4, 2], "x": 11, "y": 0.1}, + {"matrix": [4, 1], "x": 12, "y": 0.3}, + + {"matrix": [1, 1], "x": 0, "y": 1.3}, + {"matrix": [1, 2], "x": 1, "y": 1.1}, + {"matrix": [1, 3], "x": 2, "y": 1}, + {"matrix": [1, 4], "x": 3, "y": 1.1}, + {"matrix": [1, 5], "x": 4, "y": 1.2}, + + {"matrix": [5, 5], "x": 8, "y": 1.2}, + {"matrix": [5, 4], "x": 9, "y": 1.1}, + {"matrix": [5, 3], "x": 10, "y": 1}, + {"matrix": [5, 2], "x": 11, "y": 1.1}, + {"matrix": [5, 1], "x": 12, "y": 1.3}, + + {"matrix": [2, 1], "x": 0, "y": 2.3}, + {"matrix": [2, 2], "x": 1, "y": 2.1}, + {"matrix": [2, 3], "x": 2, "y": 2}, + {"matrix": [2, 4], "x": 3, "y": 2.1}, + {"matrix": [2, 5], "x": 4, "y": 2.2}, + + {"matrix": [6, 5], "x": 8, "y": 2.2}, + {"matrix": [6, 4], "x": 9, "y": 2.1}, + {"matrix": [6, 3], "x": 10, "y": 2}, + {"matrix": [6, 2], "x": 11, "y": 2.1}, + {"matrix": [6, 1], "x": 12, "y": 2.3}, + + {"matrix": [3, 3], "x": 3, "y": 3.7}, + {"matrix": [3, 4], "x": 4, "y": 3.7}, + {"matrix": [3, 5], "x": 5, "y": 3.2, "h": 1.5}, + + {"matrix": [7, 5], "x": 7, "y": 3.2, "h": 1.5}, + {"matrix": [7, 4], "x": 8, "y": 3.7}, + {"matrix": [7, 3], "x": 9, "y": 3.7} + ] + }, + "LAYOUT_split_3x6_3": { + "layout": [ + {"matrix": [0, 0], "x": 0, "y": 0.3}, + {"matrix": [0, 1], "x": 1, "y": 0.3}, + {"matrix": [0, 2], "x": 2, "y": 0.1}, + {"matrix": [0, 3], "x": 3, "y": 0}, + {"matrix": [0, 4], "x": 4, "y": 0.1}, + {"matrix": [0, 5], "x": 5, "y": 0.2}, + + {"matrix": [4, 5], "x": 9, "y": 0.2}, + {"matrix": [4, 4], "x": 10, "y": 0.1}, + {"matrix": [4, 3], "x": 11, "y": 0}, + {"matrix": [4, 2], "x": 12, "y": 0.1}, + {"matrix": [4, 1], "x": 13, "y": 0.3}, + {"matrix": [4, 0], "x": 14, "y": 0.3}, + + {"matrix": [1, 0], "x": 0, "y": 1.3}, + {"matrix": [1, 1], "x": 1, "y": 1.3}, + {"matrix": [1, 2], "x": 2, "y": 1.1}, + {"matrix": [1, 3], "x": 3, "y": 1}, + {"matrix": [1, 4], "x": 4, "y": 1.1}, + {"matrix": [1, 5], "x": 5, "y": 1.2}, + + {"matrix": [5, 5], "x": 9, "y": 1.2}, + {"matrix": [5, 4], "x": 10, "y": 1.1}, + {"matrix": [5, 3], "x": 11, "y": 1}, + {"matrix": [5, 2], "x": 12, "y": 1.1}, + {"matrix": [5, 1], "x": 13, "y": 1.3}, + {"matrix": [5, 0], "x": 14, "y": 1.3}, + + {"matrix": [2, 0], "x": 0, "y": 2.3}, + {"matrix": [2, 1], "x": 1, "y": 2.3}, + {"matrix": [2, 2], "x": 2, "y": 2.1}, + {"matrix": [2, 3], "x": 3, "y": 2}, + {"matrix": [2, 4], "x": 4, "y": 2.1}, + {"matrix": [2, 5], "x": 5, "y": 2.2}, + + {"matrix": [6, 5], "x": 9, "y": 2.2}, + {"matrix": [6, 4], "x": 10, "y": 2.1}, + {"matrix": [6, 3], "x": 11, "y": 2}, + {"matrix": [6, 2], "x": 12, "y": 2.1}, + {"matrix": [6, 1], "x": 13, "y": 2.3}, + {"matrix": [6, 0], "x": 14, "y": 2.3}, + + {"matrix": [3, 3], "x": 4, "y": 3.7}, + {"matrix": [3, 4], "x": 5, "y": 3.7}, + {"matrix": [3, 5], "x": 6, "y": 3.2, "h": 1.5}, + + {"matrix": [7, 5], "x": 8, "y": 3.2, "h": 1.5}, + {"matrix": [7, 4], "x": 9, "y": 3.7}, + {"matrix": [7, 3], "x": 10, "y": 3.7} + ] + }, + "LAYOUT_split_3x5_3_ex2": { + "layout": [ + {"matrix": [0, 1], "x": 0, "y": 0.3}, + {"matrix": [0, 2], "x": 1, "y": 0.1}, + {"matrix": [0, 3], "x": 2, "y": 0}, + {"matrix": [0, 4], "x": 3, "y": 0.1}, + {"matrix": [0, 5], "x": 4, "y": 0.2}, + {"matrix": [0, 6], "x": 5, "y": 0.7}, + + {"matrix": [4, 6], "x": 8, "y": 0.7}, + {"matrix": [4, 5], "x": 9, "y": 0.2}, + {"matrix": [4, 4], "x": 10, "y": 0.1}, + {"matrix": [4, 3], "x": 11, "y": 0}, + {"matrix": [4, 2], "x": 12, "y": 0.1}, + {"matrix": [4, 1], "x": 13, "y": 0.3}, + + {"matrix": [1, 1], "x": 0, "y": 1.3}, + {"matrix": [1, 2], "x": 1, "y": 1.1}, + {"matrix": [1, 3], "x": 2, "y": 1}, + {"matrix": [1, 4], "x": 3, "y": 1.1}, + {"matrix": [1, 5], "x": 4, "y": 1.2}, + {"matrix": [1, 6], "x": 5, "y": 1.7}, + + {"matrix": [5, 6], "x": 8, "y": 1.7}, + {"matrix": [5, 5], "x": 9, "y": 1.2}, + {"matrix": [5, 4], "x": 10, "y": 1.1}, + {"matrix": [5, 3], "x": 11, "y": 1}, + {"matrix": [5, 2], "x": 12, "y": 1.1}, + {"matrix": [5, 1], "x": 13, "y": 1.3}, + + {"matrix": [2, 1], "x": 0, "y": 2.3}, + {"matrix": [2, 2], "x": 1, "y": 2.1}, + {"matrix": [2, 3], "x": 2, "y": 2}, + {"matrix": [2, 4], "x": 3, "y": 2.1}, + {"matrix": [2, 5], "x": 4, "y": 2.2}, + + {"matrix": [6, 5], "x": 9, "y": 2.2}, + {"matrix": [6, 4], "x": 10, "y": 2.1}, + {"matrix": [6, 3], "x": 11, "y": 2}, + {"matrix": [6, 2], "x": 12, "y": 2.1}, + {"matrix": [6, 1], "x": 13, "y": 2.3}, + + {"matrix": [3, 3], "x": 4, "y": 3.7}, + {"matrix": [3, 4], "x": 5, "y": 3.7}, + {"matrix": [3, 5], "x": 6, "y": 3.2, "h": 1.5}, + + {"matrix": [7, 5], "x": 8, "y": 3.2, "h": 1.5}, + {"matrix": [7, 4], "x": 9, "y": 3.7}, + {"matrix": [7, 3], "x": 10, "y": 3.7} + ] + }, + "LAYOUT_split_3x6_3_ex2": { + "layout": [ + {"matrix": [0, 0], "x": 0, "y": 0.3}, + {"matrix": [0, 1], "x": 1, "y": 0.3}, + {"matrix": [0, 2], "x": 2, "y": 0.1}, + {"matrix": [0, 3], "x": 3, "y": 0}, + {"matrix": [0, 4], "x": 4, "y": 0.1}, + {"matrix": [0, 5], "x": 5, "y": 0.2}, + {"matrix": [0, 6], "x": 6, "y": 0.7}, + + {"matrix": [4, 6], "x": 8, "y": 0.7}, + {"matrix": [4, 5], "x": 9, "y": 0.2}, + {"matrix": [4, 4], "x": 10, "y": 0.1}, + {"matrix": [4, 3], "x": 11, "y": 0}, + {"matrix": [4, 2], "x": 12, "y": 0.1}, + {"matrix": [4, 1], "x": 13, "y": 0.3}, + {"matrix": [4, 0], "x": 14, "y": 0.3}, + + {"matrix": [1, 0], "x": 0, "y": 1.3}, + {"matrix": [1, 1], "x": 1, "y": 1.3}, + {"matrix": [1, 2], "x": 2, "y": 1.1}, + {"matrix": [1, 3], "x": 3, "y": 1}, + {"matrix": [1, 4], "x": 4, "y": 1.1}, + {"matrix": [1, 5], "x": 5, "y": 1.2}, + {"matrix": [1, 6], "x": 6, "y": 1.7}, + + {"matrix": [5, 6], "x": 8, "y": 1.7}, + {"matrix": [5, 5], "x": 9, "y": 1.2}, + {"matrix": [5, 4], "x": 10, "y": 1.1}, + {"matrix": [5, 3], "x": 11, "y": 1}, + {"matrix": [5, 2], "x": 12, "y": 1.1}, + {"matrix": [5, 1], "x": 13, "y": 1.3}, + {"matrix": [5, 0], "x": 14, "y": 1.3}, + + {"matrix": [2, 0], "x": 0, "y": 2.3}, + {"matrix": [2, 1], "x": 1, "y": 2.3}, + {"matrix": [2, 2], "x": 2, "y": 2.1}, + {"matrix": [2, 3], "x": 3, "y": 2}, + {"matrix": [2, 4], "x": 4, "y": 2.1}, + {"matrix": [2, 5], "x": 5, "y": 2.2}, + + {"matrix": [6, 5], "x": 9, "y": 2.2}, + {"matrix": [6, 4], "x": 10, "y": 2.1}, + {"matrix": [6, 3], "x": 11, "y": 2}, + {"matrix": [6, 2], "x": 12, "y": 2.1}, + {"matrix": [6, 1], "x": 13, "y": 2.3}, + {"matrix": [6, 0], "x": 14, "y": 2.3}, + + {"matrix": [3, 3], "x": 4, "y": 3.7}, + {"matrix": [3, 4], "x": 5, "y": 3.7}, + {"matrix": [3, 5], "x": 6, "y": 3.2, "h": 1.5}, + + {"matrix": [7, 5], "x": 8, "y": 3.2, "h": 1.5}, + {"matrix": [7, 4], "x": 9, "y": 3.7}, + {"matrix": [7, 3], "x": 10, "y": 3.7} + ] + } + }, + "ws2812": { + "driver": "vendor", + "pin": "GP10" + }, + "rgblight": { + "led_count": 46, + "split": true, + "split_count": [23, 23], + "max_brightness": 50, + "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 + } + }, + "rgb_matrix": { + "driver": "ws2812", + "max_brightness": 50, + "animations": { + "alphas_mods": true, + "gradient_up_down": true, + "gradient_left_right": true, + "breathing": true, + "band_sat": true, + "band_val": true, + "band_pinwheel_sat": true, + "band_pinwheel_val": true, + "band_spiral_sat": true, + "band_spiral_val": true, + "cycle_all": true, + "cycle_left_right": true, + "cycle_up_down": true, + "rainbow_moving_chevron": true, + "cycle_out_in": true, + "cycle_out_in_dual": true, + "cycle_pinwheel": true, + "cycle_spiral": true, + "dual_beacon": true, + "rainbow_beacon": true, + "rainbow_pinwheels": true, + "raindrops": true, + "jellybean_raindrops": true, + "hue_breathing": true, + "hue_pendulum": true, + "hue_wave": true, + "pixel_fractal": true, + "pixel_flow": true, + "pixel_rain": true, + "typing_heatmap": true, + "digital_rain": true, + "solid_reactive_simple": true, + "solid_reactive": true, + "solid_reactive_wide": true, + "solid_reactive_multiwide": true, + "solid_reactive_cross": true, + "solid_reactive_multicross": true, + "solid_reactive_nexus": true, + "solid_reactive_multinexus": true, + "splash": true, + "multisplash": true, + "solid_splash": true, + "solid_multisplash": true + }, + "sleep": true + } +} diff --git a/keyboards/crkbd/rev4_1/mcuconf.h b/keyboards/crkbd/rev4_1/mcuconf.h new file mode 100755 index 00000000000..543d4703b02 --- /dev/null +++ b/keyboards/crkbd/rev4_1/mcuconf.h @@ -0,0 +1,9 @@ +// Copyright 2024 QMK +// SPDX-License-Identifier: GPL-2.0-or-later + +#pragma once + +#include_next + +#undef RP_I2C_USE_I2C1 +#define RP_I2C_USE_I2C1 TRUE diff --git a/keyboards/crkbd/rev4_1/mini/keyboard.json b/keyboards/crkbd/rev4_1/mini/keyboard.json new file mode 100755 index 00000000000..a455b1ba21b --- /dev/null +++ b/keyboards/crkbd/rev4_1/mini/keyboard.json @@ -0,0 +1,52 @@ +{ + "keyboard_name": "Corne v4 mini", + "usb": { + "pid": "0x0104" + }, + "rgb_matrix": { + "split_count": [20, 20], + "layout": [ + {"matrix": [3, 5], "x": 95, "y": 63, "flags": 4}, + {"matrix": [2, 5], "x": 85, "y": 39, "flags": 4}, + {"matrix": [1, 5], "x": 85, "y": 21, "flags": 4}, + {"matrix": [0, 5], "x": 85, "y": 4, "flags": 4}, + {"matrix": [0, 4], "x": 68, "y": 2, "flags": 4}, + {"matrix": [1, 4], "x": 68, "y": 19, "flags": 4}, + {"matrix": [2, 4], "x": 68, "y": 37, "flags": 4}, + {"matrix": [3, 4], "x": 80, "y": 58, "flags": 4}, + {"matrix": [3, 3], "x": 60, "y": 55, "flags": 4}, + {"matrix": [2, 3], "x": 50, "y": 35, "flags": 4}, + {"matrix": [1, 3], "x": 50, "y": 13, "flags": 4}, + {"matrix": [0, 3], "x": 50, "y": 0, "flags": 4}, + {"matrix": [0, 2], "x": 33, "y": 3, "flags": 4}, + {"matrix": [1, 2], "x": 33, "y": 20, "flags": 4}, + {"matrix": [2, 2], "x": 33, "y": 37, "flags": 4}, + {"matrix": [2, 1], "x": 16, "y": 42, "flags": 4}, + {"matrix": [1, 1], "x": 16, "y": 24, "flags": 4}, + {"matrix": [0, 1], "x": 16, "y": 7, "flags": 4}, + {"matrix": [0, 6], "x": 103, "y": 17, "flags": 4}, + {"matrix": [1, 6], "x": 103, "y": 24, "flags": 4}, + + {"matrix": [7, 5], "x": 129, "y": 63, "flags": 4}, + {"matrix": [6, 5], "x": 139, "y": 39, "flags": 4}, + {"matrix": [5, 5], "x": 139, "y": 21, "flags": 4}, + {"matrix": [4, 5], "x": 139, "y": 4, "flags": 4}, + {"matrix": [4, 4], "x": 156, "y": 2, "flags": 4}, + {"matrix": [5, 4], "x": 156, "y": 19, "flags": 4}, + {"matrix": [6, 4], "x": 156, "y": 37, "flags": 4}, + {"matrix": [7, 4], "x": 144, "y": 58, "flags": 4}, + {"matrix": [7, 3], "x": 164, "y": 55, "flags": 4}, + {"matrix": [6, 3], "x": 174, "y": 35, "flags": 4}, + {"matrix": [5, 3], "x": 174, "y": 13, "flags": 4}, + {"matrix": [4, 3], "x": 174, "y": 0, "flags": 4}, + {"matrix": [4, 2], "x": 191, "y": 3, "flags": 4}, + {"matrix": [5, 2], "x": 191, "y": 20, "flags": 4}, + {"matrix": [6, 2], "x": 191, "y": 37, "flags": 4}, + {"matrix": [6, 1], "x": 208, "y": 42, "flags": 4}, + {"matrix": [5, 1], "x": 208, "y": 24, "flags": 4}, + {"matrix": [4, 1], "x": 208, "y": 7, "flags": 4}, + {"matrix": [4, 6], "x": 122, "y": 17, "flags": 4}, + {"matrix": [5, 6], "x": 122, "y": 24, "flags": 4} + ] + } +} diff --git a/keyboards/crkbd/rev4_1/post_config.h b/keyboards/crkbd/rev4_1/post_config.h new file mode 100755 index 00000000000..4cb5c8b2368 --- /dev/null +++ b/keyboards/crkbd/rev4_1/post_config.h @@ -0,0 +1,11 @@ +// Copyright 2024 QMK +// SPDX-License-Identifier: GPL-2.0-or-later + +#pragma once + +#ifndef OLED_FONT_H +# define OLED_FONT_H "keyboards/crkbd/lib/glcdfont.c" +#endif +#ifndef OLED_UPDATE_INTERVAL +# define OLED_UPDATE_INTERVAL 50 +#endif // OLED_UPDATE_INTERVAL diff --git a/keyboards/crkbd/rev4_1/standard/keyboard.json b/keyboards/crkbd/rev4_1/standard/keyboard.json new file mode 100755 index 00000000000..ba90a9e5f5e --- /dev/null +++ b/keyboards/crkbd/rev4_1/standard/keyboard.json @@ -0,0 +1,58 @@ +{ + "keyboard_name": "Corne v4", + "usb": { + "pid": "0x0004" + }, + "rgb_matrix": { + "split_count": [23, 23], + "layout": [ + {"matrix": [3, 5], "x": 95, "y": 63, "flags": 4}, + {"matrix": [2, 5], "x": 85, "y": 39, "flags": 4}, + {"matrix": [1, 5], "x": 85, "y": 21, "flags": 4}, + {"matrix": [0, 5], "x": 85, "y": 4, "flags": 4}, + {"matrix": [0, 4], "x": 68, "y": 2, "flags": 4}, + {"matrix": [1, 4], "x": 68, "y": 19, "flags": 4}, + {"matrix": [2, 4], "x": 68, "y": 37, "flags": 4}, + {"matrix": [3, 4], "x": 80, "y": 58, "flags": 4}, + {"matrix": [3, 3], "x": 60, "y": 55, "flags": 4}, + {"matrix": [2, 3], "x": 50, "y": 35, "flags": 4}, + {"matrix": [1, 3], "x": 50, "y": 13, "flags": 4}, + {"matrix": [0, 3], "x": 50, "y": 0, "flags": 4}, + {"matrix": [0, 2], "x": 33, "y": 3, "flags": 4}, + {"matrix": [1, 2], "x": 33, "y": 20, "flags": 4}, + {"matrix": [2, 2], "x": 33, "y": 37, "flags": 4}, + {"matrix": [2, 1], "x": 16, "y": 42, "flags": 4}, + {"matrix": [1, 1], "x": 16, "y": 24, "flags": 4}, + {"matrix": [0, 1], "x": 16, "y": 7, "flags": 4}, + {"matrix": [0, 0], "x": 0, "y": 7, "flags": 4}, + {"matrix": [1, 0], "x": 0, "y": 24, "flags": 4}, + {"matrix": [2, 0], "x": 0, "y": 41, "flags": 4}, + {"matrix": [0, 6], "x": 103, "y": 17, "flags": 4}, + {"matrix": [1, 6], "x": 103, "y": 24, "flags": 4}, + + {"matrix": [7, 5], "x": 129, "y": 63, "flags": 4}, + {"matrix": [6, 5], "x": 139, "y": 39, "flags": 4}, + {"matrix": [5, 5], "x": 139, "y": 21, "flags": 4}, + {"matrix": [4, 5], "x": 139, "y": 4, "flags": 4}, + {"matrix": [4, 4], "x": 156, "y": 2, "flags": 4}, + {"matrix": [5, 4], "x": 156, "y": 19, "flags": 4}, + {"matrix": [6, 4], "x": 156, "y": 37, "flags": 4}, + {"matrix": [7, 4], "x": 144, "y": 58, "flags": 4}, + {"matrix": [7, 3], "x": 164, "y": 55, "flags": 4}, + {"matrix": [6, 3], "x": 174, "y": 35, "flags": 4}, + {"matrix": [5, 3], "x": 174, "y": 13, "flags": 4}, + {"matrix": [4, 3], "x": 174, "y": 0, "flags": 4}, + {"matrix": [4, 2], "x": 191, "y": 3, "flags": 4}, + {"matrix": [5, 2], "x": 191, "y": 20, "flags": 4}, + {"matrix": [6, 2], "x": 191, "y": 37, "flags": 4}, + {"matrix": [6, 1], "x": 208, "y": 42, "flags": 4}, + {"matrix": [5, 1], "x": 208, "y": 24, "flags": 4}, + {"matrix": [4, 1], "x": 208, "y": 7, "flags": 4}, + {"matrix": [4, 0], "x": 224, "y": 7, "flags": 4}, + {"matrix": [5, 0], "x": 224, "y": 24, "flags": 4}, + {"matrix": [6, 0], "x": 224, "y": 41, "flags": 4}, + {"matrix": [4, 6], "x": 122, "y": 17, "flags": 4}, + {"matrix": [5, 6], "x": 122, "y": 24, "flags": 4} + ] + } +} From 7446c6ea7d49b9967b6f308e47a351f8c1398ab5 Mon Sep 17 00:00:00 2001 From: ak66666 <32971450+ak66666@users.noreply.github.com> Date: Sun, 6 Oct 2024 05:08:18 -0400 Subject: [PATCH 040/124] Added a new keyboard ThumbsUp! v9 with a default keymap (#23800) * Added a cleaned-up set of files for ThumbsUp! v9. * Renamed the keymap for v9 as default * Update keyboards/thumbsup/keymaps/default/keymap.c As per PR review suggestions. Co-authored-by: jack <0x6a73@protonmail.com> * Update keyboards/thumbsup/keymaps/default/keymap.c As per PR review suggestions. Co-authored-by: jack <0x6a73@protonmail.com> * Update keyboards/thumbsup/keymaps/default/keymap.c As per PR review suggestions. Co-authored-by: jack <0x6a73@protonmail.com> * Update keyboards/thumbsup/keymaps/default/keymap.c As per PR review suggestions. Co-authored-by: jack <0x6a73@protonmail.com> * Update keyboards/thumbsup/keymaps/default/keymap.c As per PR review suggestions. Co-authored-by: jack <0x6a73@protonmail.com> * Update keyboards/thumbsup/rev9_promicro_4x12/info.json As per PR review suggestions. Co-authored-by: jack <0x6a73@protonmail.com> * Update keyboards/thumbsup/rev9_promicro_4x12/readme.md As per PR review suggestions. Co-authored-by: jack <0x6a73@protonmail.com> * Update keyboards/thumbsup/rev9_promicro_4x12/readme.md As per PR review suggestions. Co-authored-by: jack <0x6a73@protonmail.com> * Update keyboards/thumbsup/rev9_promicro_4x12/rules.mk As per PR review suggestions. Co-authored-by: jack <0x6a73@protonmail.com> * Update keyboards/thumbsup/rev9_promicro_4x12/info.json As per PR review suggestions. Co-authored-by: jack <0x6a73@protonmail.com> * Apply suggestions from code review Co-authored-by: jack <0x6a73@protonmail.com> * Delete keyboards/thumbsup/keymaps/default/readme.md as per review recommendation. * v9: Fixed the layout name in keymap.c file. * v9: PR recommendatios applied - rules.mk file removed, info.json renamed to keyboard.json. * v9: PR recommendatios applied - rules.mk file removed, info.json renamed to keyboard.json. * v9: Fixed the copyright header modified by mistake. * v9: Fixed the tri-layer switch as per the review recommendation. * v9: Fixed the copyright header modified by mistake. --------- Co-authored-by: jack <0x6a73@protonmail.com> --- keyboards/thumbsup/keymaps/default/keymap.c | 175 ++++++++++++++++++ keyboards/thumbsup/keymaps/default/rules.mk | 1 + .../thumbsup/rev9_promicro_4x12/config.h | 28 +++ .../thumbsup/rev9_promicro_4x12/keyboard.json | 77 ++++++++ .../thumbsup/rev9_promicro_4x12/readme.md | 27 +++ .../thumbsup/rev9_promicro_4x12/rules.mk | 1 + 6 files changed, 309 insertions(+) create mode 100644 keyboards/thumbsup/keymaps/default/keymap.c create mode 100644 keyboards/thumbsup/keymaps/default/rules.mk create mode 100644 keyboards/thumbsup/rev9_promicro_4x12/config.h create mode 100644 keyboards/thumbsup/rev9_promicro_4x12/keyboard.json create mode 100644 keyboards/thumbsup/rev9_promicro_4x12/readme.md create mode 100644 keyboards/thumbsup/rev9_promicro_4x12/rules.mk diff --git a/keyboards/thumbsup/keymaps/default/keymap.c b/keyboards/thumbsup/keymaps/default/keymap.c new file mode 100644 index 00000000000..a7bc4271801 --- /dev/null +++ b/keyboards/thumbsup/keymaps/default/keymap.c @@ -0,0 +1,175 @@ +/* Copyright 2022 Alexander (Sasha) Karmanov + * + * 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 + + + +// Defines names for use in layer keycodes and the keymap +enum layer_names { + _QWERTY, + _CURSORLEFT, + _CURSORRGHT, + _NUMBERS, + _EXTRARIGHT +}; + +// Aliases for this command to make the thumb keys work as LOWER/RAISE on hold and as space on hit. +//#define CURSORRGHT LT(_CURSORRGHT,KC_SPC) +//#define CURSORLEFT LT(_CURSORLEFT,KC_SPC) + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + + +/* Qwerty + * ,-----------------------------------------+ +-----------------------------------------. + * | Esc | Q | W | E | R | T | | Y | U | I | O | P |BSpc | + * |------+------+------+------+------+------+ +------+------+------+------+------+------| + * | Tab | A | S | D | F | G | | H | J | K | L | ; |Enter | +Hold: + Extra-Rt + * |------+------+------+------+------+------| |------+------+------+------+------+------| + * | Ctrl | Z | X | C | V | B | | N | M | , | . | / |RCtrl | + * +------+------+------+------+------+------+ +------+------+------+------+------+------+ + . | GUI | Alt | | | | | | RAlt | Menu | . + | +------+------+ | | | | +------+------+ | +Hold: | | LSft |CursLt| |CursRt| RSft | | +Single hit: | | |Space | |Space | | | + | +------+------| |------+------+ | + +------------------------------> SPACE SPACE <-----------------------------+ + + */ +[_QWERTY] = LAYOUT( + KC_ESC, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSPC, + LT(_EXTRARIGHT,KC_TAB), KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_PENT, + KC_LCTL, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RCTL, + KC_SPC, KC_LGUI, KC_LALT, KC_LSFT, LT(TL_LOWR,KC_SPC), LT(TL_UPPR ,KC_SPC), KC_RSFT, KC_RALT, KC_APP, KC_SPC +), + + +/* + +Layers below are used on top of QWERTY layer defined above. +(Except the PLOVER/STENO layers.) + +-------+ +The keys which are shown empty, like this: | |, represent a transparent key, + +-------+ +meaning the key from the underlaying layer (i.e. QWERTY) will be used. +In the keymaps those keys are defined as "_______". + + +-------+ +-------+ +The keys which are shown solid, like this: | XXXXX | or this | ... |, represent an opaque/blocking key? + +-------+ +-------+ +Such key is not doing anything in that layer nor allowing the key from the underlaying layer +to be invoked. +In the keymaps those keys are defined as "XXXXXXX". + +Most of the modifiers are the same in all layers. +So in most layers they are defined as transparent keys, +letting the keys from QWERTY layer to do the work. + +With that idea all the layers below leave the unmodified keys as transparent keys. +In the same time - the layers block the keys that have no sense to be used +in that given layer. For instance in the cursor control layers +some of the keys are not used in the layer, but they are blocked to avoid +alpha-keys from QWERTY layer to appear. + +For the same reason the keymaps below are shown simplified, +without separate thumbcluster. + +*/ + + + +/* Cursor Control on the right (Right Space) + * ,-----------------------------------------------------------------------------------. + * | Esc |Break |WheelD|MousUp|WheelU| Del | Ins | Home | Up | End | ` | Del | + * |------+------+------+------+------+-------------+------+------+------+------+------| + * | |SelAll|MousLt|MousDn|MousRt| ... | PgUp | Left | Down |Right | ... | | + * |------+------+------+------+------+------|------+------+------+------+------+------| + * | | Undo | Cut | Copy | Paste| ... | PgDn |MsBtLe|MsBtMi|MsBtRt| ... | | + * `------+------+------+------+------+------+------+------+------+------+------+------. + * | | | | | X | | | | + * `-------------------------------------------------------' + */ +[_CURSORRGHT] = LAYOUT( + _______, KC_BRK, KC_WH_D, KC_MS_U, KC_WH_U, KC_DEL, KC_PGUP, KC_HOME, KC_UP, KC_END, KC_GRV, KC_DEL, + KC_ENT, LCTL(KC_A), KC_MS_L, KC_MS_D, KC_MS_R, XXXXXXX, KC_PGDN, KC_LEFT, KC_DOWN, KC_RGHT, XXXXXXX, _______, + _______, LCTL(KC_Z), LSFT(KC_DEL), LCTL(KC_INS), LSFT(KC_INS), XXXXXXX, KC_INS, KC_BTN1, KC_BTN3, KC_BTN2, XXXXXXX, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ +), + + + + /* Cursor Control on the left (Left Space) + * ,-----------------------------------------------------------------------------------. + * | |Break | Home | Up | End | Ins | Del |WheelU|MousUp|WheelD| ` | Del | + * |------+------+------+------+------+------+-------------+------+------+------+------| + * | Enter|SelAll|Right | Down | Left | PgUp | xxx |MousLt|MousDn|MousRt| xxx |Enter | + * |------+------+------+------+------+------+------|------+------+------+------+------| + * | | xxx |MsBtRt|MsBtMi|MsBtLe| PgDn | xxx | Cut | Copy | Paste| xxx | | + * `------+------+------+------+------+------+------+------+------+------+------+------. + * | | | | X | | | | | + * `-------------------------------------------------------' + */ +[_CURSORLEFT] = LAYOUT( + _______, KC_BRK, KC_HOME, KC_UP, KC_END, KC_PGUP, KC_DEL, KC_WH_U, KC_MS_U, KC_WH_D, KC_GRV, KC_DEL, + KC_ENT, LCTL(KC_A), KC_LEFT, KC_DOWN, KC_RGHT, KC_PGDN, XXXXXXX, KC_MS_L, KC_MS_D, KC_MS_R, XXXXXXX, _______, + _______, XXXXXXX, KC_BTN2, KC_BTN3, KC_BTN1, KC_INS, XXXXXXX, LCTL(KC_DEL), LCTL(KC_INS), LSFT(KC_INS), XXXXXXX, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ +), + + + /* Numbers on the home row, FNs on the top row, symbols in the second row + * (Lower or Raise) + * ,-----------------------------------------------------------------------------------. + * | | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 0 |BackSp| + * |------+------+------+------+------+------|------+------+------+------+------+------| + * | | F1 | F2 | F3 | F4 | F5 | F6 | F7 | F8 | F9 | F10| Enter| + * |------+------+------+------+------+-------------+------+------+------+------+------| + * | | F11 | F12 | LAlt |LShift| LAlt | RAlt |RShift| , | . | / | | + * `------+------+------+------+------+------+------+------+------+------+------+------. + * | | | | | | | | | + * `-------------------------------------------------------' + */ +[_NUMBERS] = LAYOUT( + _______, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_BSPC, + LT(_EXTRARIGHT,KC_TAB), 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_LALT, KC_LSFT, KC_LALT, KC_RALT, KC_RSFT, KC_COMM, KC_DOT, KC_SLSH, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ +), + +/* ExtraRightSide (the keys from the right side which did not fit into the matrix) + * ,-----------------------------------------------------------------------------------. + * | Esc |BREAK |PLOVR2|PLOVER|TxBOLT|TxBlt2| ` | = | ( | ) | - | | + * |------+------+------+------+------+-------------+------+------+------+------+------| + * |******| | | | | |PrtScr| | | | ' | | + This is the + key turning + this layer on + * |------+------+------+------+------+------|------+------+------+------+------+------| + * | | | |NumPad|Qwerty| | | | [ | ] | \ | | + * `------+------+------+------+------+------+------+------+------+------+------+------. + * | | | | | | | | | + * `-------------------------------------------------------' + */ +[_EXTRARIGHT] = LAYOUT( + _______, KC_BRK, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_GRV, KC_EQL, KC_LPRN, KC_RPRN, KC_MINS, _______, + _______, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_PSCR, XXXXXXX, XXXXXXX, XXXXXXX, KC_QUOT, _______, + _______, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_LBRC, KC_RBRC, KC_BSLS, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ +) +}; + diff --git a/keyboards/thumbsup/keymaps/default/rules.mk b/keyboards/thumbsup/keymaps/default/rules.mk new file mode 100644 index 00000000000..2c72d2ddb6c --- /dev/null +++ b/keyboards/thumbsup/keymaps/default/rules.mk @@ -0,0 +1 @@ +TRI_LAYER_ENABLE = yes \ No newline at end of file diff --git a/keyboards/thumbsup/rev9_promicro_4x12/config.h b/keyboards/thumbsup/rev9_promicro_4x12/config.h new file mode 100644 index 00000000000..71300e008d0 --- /dev/null +++ b/keyboards/thumbsup/rev9_promicro_4x12/config.h @@ -0,0 +1,28 @@ +/* +Copyright 2024 Alexander (Sasha) Karmanov (ak66666) + +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 + + +//Cirque ProGlide Touchpad configuration +#define POINTING_DEVICE_ROTATION_90 +#define CIRQUE_PINNACLE_TAP_ENABLE +#define CIRQUE_PINNACLE_SECONDARY_TAP_ENABLE +#define POINTING_DEVICE_GESTURES_SCROLL_ENABLE + +#define CIRQUE_PINNACLE_POSITION_MODE CIRQUE_PINNACLE_ABSOLUTE_MODE diff --git a/keyboards/thumbsup/rev9_promicro_4x12/keyboard.json b/keyboards/thumbsup/rev9_promicro_4x12/keyboard.json new file mode 100644 index 00000000000..95fa6664b24 --- /dev/null +++ b/keyboards/thumbsup/rev9_promicro_4x12/keyboard.json @@ -0,0 +1,77 @@ +{ + "manufacturer": "Alexander (Sasha) Karmanov", + "keyboard_name": "ThumbsUp! v9", + "maintainer": "u/ak66666", + "development_board": "promicro", + "diode_direction": "COL2ROW", + "features": { + "bootmagic": true, + "extrakey": true, + "mousekey": true, + "pointing_device": true + }, + "dynamic_keymap": { + "layer_count": 6 + }, + "matrix_pins": { + "cols": ["B2", "B6", "B5", "B4", "E6", "D7", "B3", "F4", "F5", "F6", "F7", "B1"], + "rows": ["D3", "D2", "D4", "C6"] + }, + "usb": { + "device_version": "1.0.0", + "pid": "0x0090", + "vid": "0x5361" + }, + "layouts": { + "LAYOUT": { + "layout": [ + {"label": "ESC", "matrix": [0, 0], "x": 0, "y": 0}, + {"label": "Q", "matrix": [0, 1], "x": 1, "y": 0}, + {"label": "W", "matrix": [0, 2], "x": 2, "y": 0}, + {"label": "E", "matrix": [0, 3], "x": 3, "y": 0}, + {"label": "R", "matrix": [0, 4], "x": 4, "y": 0}, + {"label": "T", "matrix": [0, 5], "x": 5, "y": 0}, + {"label": "Y", "matrix": [0, 6], "x": 6, "y": 0}, + {"label": "U", "matrix": [0, 7], "x": 7, "y": 0}, + {"label": "I", "matrix": [0, 8], "x": 8, "y": 0}, + {"label": "O", "matrix": [0, 9], "x": 9, "y": 0}, + {"label": "P", "matrix": [0, 10], "x": 10, "y": 0}, + {"label": "BKSPC", "matrix": [0, 11], "x": 11, "y": 0}, + {"label": "TAB", "matrix": [1, 0], "x": 0, "y": 1}, + {"label": "A", "matrix": [1, 1], "x": 1, "y": 1}, + {"label": "S", "matrix": [1, 2], "x": 2, "y": 1}, + {"label": "D", "matrix": [1, 3], "x": 3, "y": 1}, + {"label": "F", "matrix": [1, 4], "x": 4, "y": 1}, + {"label": "G", "matrix": [1, 5], "x": 5, "y": 1}, + {"label": "H", "matrix": [1, 6], "x": 6, "y": 1}, + {"label": "J", "matrix": [1, 7], "x": 7, "y": 1}, + {"label": "K", "matrix": [1, 8], "x": 8, "y": 1}, + {"label": "L", "matrix": [1, 9], "x": 9, "y": 1}, + {"label": ";", "matrix": [1, 10], "x": 10, "y": 1}, + {"label": "ENTER", "matrix": [1, 11], "x": 11, "y": 1}, + {"label": "LCTRL", "matrix": [2, 0], "x": 0, "y": 2}, + {"label": "Z", "matrix": [2, 1], "x": 1, "y": 2}, + {"label": "X", "matrix": [2, 2], "x": 2, "y": 2}, + {"label": "C", "matrix": [2, 3], "x": 3, "y": 2}, + {"label": "V", "matrix": [2, 4], "x": 4, "y": 2}, + {"label": "B", "matrix": [2, 5], "x": 5, "y": 2}, + {"label": "N", "matrix": [2, 6], "x": 6, "y": 2}, + {"label": "M", "matrix": [2, 7], "x": 7, "y": 2}, + {"label": ",", "matrix": [2, 8], "x": 8, "y": 2}, + {"label": ".", "matrix": [2, 9], "x": 9, "y": 2}, + {"label": "/", "matrix": [2, 10], "x": 10, "y": 2}, + {"label": "RCTRL", "matrix": [2, 11], "x": 11, "y": 2}, + {"label": "SPACE", "matrix": [3, 1], "x": 1, "y": 3}, + {"label": "WIN", "matrix": [3, 2], "x": 2, "y": 3}, + {"label": "LALT", "matrix": [3, 3], "x": 3, "y": 3}, + {"label": "LSHIFT", "matrix": [3, 5], "x": 4, "y": 3}, + {"label": "RAISE", "matrix": [3, 4], "x": 5, "y": 3}, + {"label": "LOWER", "matrix": [3, 7], "x": 6, "y": 3}, + {"label": "RSHIFT", "matrix": [3, 6], "x": 7, "y": 3}, + {"label": "RALT", "matrix": [3, 8], "x": 8, "y": 3}, + {"label": "MENU", "matrix": [3, 9], "x": 9, "y": 3}, + {"label": "SPACE", "matrix": [3, 10], "x": 10, "y": 3} + ] + } + } +} \ No newline at end of file diff --git a/keyboards/thumbsup/rev9_promicro_4x12/readme.md b/keyboards/thumbsup/rev9_promicro_4x12/readme.md new file mode 100644 index 00000000000..e74da5cec8f --- /dev/null +++ b/keyboards/thumbsup/rev9_promicro_4x12/readme.md @@ -0,0 +1,27 @@ +# ThumbsUp! v9 + +![ThumbsUp! v9](https://i.imgur.com/Zqc6dpQ.jpeg) + +A yet another version of the ThumbsUp! keyboard, a three-level PCB-based keyboard supporting Kailh Choc (1350) switches. +This v9 version got 4x12 key layout with 2- or 3-key thumbcluster and an optional touchpad. + + +* Keyboard Maintainer: [Alexander (Sasha) Karmanov](https://github.com/ak66666) +* Hardware Supported: AtMega32u4 ProMicro-compatibles +* Hardware Availability: https://www.etsy.com/ca/listing/1641077896/thumbsup-v9-ergonomic-mechanical + +Make example for this keyboard (after setting up your build environment): + + make thumbsup/rev9_promicro_4x12:default + +Flashing example for this keyboard: + + make thumbsup/rev9_promicro_4x12: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: + +* **Physical reset button**: Press twice the button on the bottom side of the middle PCB. diff --git a/keyboards/thumbsup/rev9_promicro_4x12/rules.mk b/keyboards/thumbsup/rev9_promicro_4x12/rules.mk new file mode 100644 index 00000000000..9bfd1498a33 --- /dev/null +++ b/keyboards/thumbsup/rev9_promicro_4x12/rules.mk @@ -0,0 +1 @@ +POINTING_DEVICE_DRIVER = cirque_pinnacle_i2c \ No newline at end of file From 2cb35373c6ecc4341b538cc5ad37accf3e5030e4 Mon Sep 17 00:00:00 2001 From: eynsai <47629346+eynsai@users.noreply.github.com> Date: Sun, 6 Oct 2024 05:26:55 -0400 Subject: [PATCH 041/124] Extended wheel reports (#24422) extended wheel reports --- docs/features/pointing_device.md | 1 + quantum/pointing_device/pointing_device.c | 30 +++++++++---------- quantum/pointing_device/pointing_device.h | 14 +++++++-- .../pointing_device/pointing_device_drivers.c | 10 +++---- tmk_core/protocol/report.h | 10 +++++-- tmk_core/protocol/usb_descriptor.c | 24 +++++++++++---- tmk_core/protocol/vusb/vusb.c | 30 ++++++++++++++----- 7 files changed, 82 insertions(+), 37 deletions(-) diff --git a/docs/features/pointing_device.md b/docs/features/pointing_device.md index a6bf521a184..0ecf82c8df6 100644 --- a/docs/features/pointing_device.md +++ b/docs/features/pointing_device.md @@ -394,6 +394,7 @@ Ideally, new sensor hardware should be added to `drivers/sensors/` and `quantum/ | Setting | Description | Default | | ---------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------- | ------------- | | `MOUSE_EXTENDED_REPORT` | (Optional) Enables support for extended mouse reports. (-32767 to 32767, instead of just -127 to 127). | _not defined_ | +| `WHEEL_EXTENDED_REPORT` | (Optional) Enables support for extended wheel reports. (-32767 to 32767, instead of just -127 to 127). | _not defined_ | | `POINTING_DEVICE_ROTATION_90` | (Optional) Rotates the X and Y data by 90 degrees. | _not defined_ | | `POINTING_DEVICE_ROTATION_180` | (Optional) Rotates the X and Y data by 180 degrees. | _not defined_ | | `POINTING_DEVICE_ROTATION_270` | (Optional) Rotates the X and Y data by 270 degrees. | _not defined_ | diff --git a/quantum/pointing_device/pointing_device.c b/quantum/pointing_device/pointing_device.c index 74ce9108a9c..7d3be9e524f 100644 --- a/quantum/pointing_device/pointing_device.c +++ b/quantum/pointing_device/pointing_device.c @@ -377,28 +377,28 @@ void pointing_device_set_cpi_on_side(bool left, uint16_t cpi) { } /** - * @brief clamps int16_t to int8_t + * @brief clamps int16_t to int8_t, or int32_t to int16_t * - * @param[in] int16_t value - * @return int8_t clamped value + * @param[in] hv_clamp_range_t value + * @return mouse_hv_report_t clamped value */ -static inline int8_t pointing_device_hv_clamp(int16_t value) { - if (value < INT8_MIN) { - return INT8_MIN; - } else if (value > INT8_MAX) { - return INT8_MAX; +static inline mouse_hv_report_t pointing_device_hv_clamp(hv_clamp_range_t value) { + if (value < HV_REPORT_MIN) { + return HV_REPORT_MIN; + } else if (value > HV_REPORT_MAX) { + return HV_REPORT_MAX; } else { return value; } } /** - * @brief clamps int16_t to int8_t + * @brief clamps int16_t to int8_t, or int32_t to int16_t * - * @param[in] clamp_range_t value + * @param[in] xy_clamp_range_t value * @return mouse_xy_report_t clamped value */ -static inline mouse_xy_report_t pointing_device_xy_clamp(clamp_range_t value) { +static inline mouse_xy_report_t pointing_device_xy_clamp(xy_clamp_range_t value) { if (value < XY_REPORT_MIN) { return XY_REPORT_MIN; } else if (value > XY_REPORT_MAX) { @@ -419,10 +419,10 @@ static inline mouse_xy_report_t pointing_device_xy_clamp(clamp_range_t value) { * @return combined report_mouse_t of left_report and right_report */ report_mouse_t pointing_device_combine_reports(report_mouse_t left_report, report_mouse_t right_report) { - left_report.x = pointing_device_xy_clamp((clamp_range_t)left_report.x + right_report.x); - left_report.y = pointing_device_xy_clamp((clamp_range_t)left_report.y + right_report.y); - left_report.h = pointing_device_hv_clamp((int16_t)left_report.h + right_report.h); - left_report.v = pointing_device_hv_clamp((int16_t)left_report.v + right_report.v); + left_report.x = pointing_device_xy_clamp((xy_clamp_range_t)left_report.x + right_report.x); + left_report.y = pointing_device_xy_clamp((xy_clamp_range_t)left_report.y + right_report.y); + left_report.h = pointing_device_hv_clamp((hv_clamp_range_t)left_report.h + right_report.h); + left_report.v = pointing_device_hv_clamp((hv_clamp_range_t)left_report.v + right_report.v); left_report.buttons |= right_report.buttons; return left_report; } diff --git a/quantum/pointing_device/pointing_device.h b/quantum/pointing_device/pointing_device.h index 1cd4b0b5e60..b0f8533d6d0 100644 --- a/quantum/pointing_device/pointing_device.h +++ b/quantum/pointing_device/pointing_device.h @@ -95,11 +95,21 @@ typedef enum { #ifdef MOUSE_EXTENDED_REPORT # define XY_REPORT_MIN INT16_MIN # define XY_REPORT_MAX INT16_MAX -typedef int32_t clamp_range_t; +typedef int32_t xy_clamp_range_t; #else # define XY_REPORT_MIN INT8_MIN # define XY_REPORT_MAX INT8_MAX -typedef int16_t clamp_range_t; +typedef int16_t xy_clamp_range_t; +#endif + +#ifdef WHEEL_EXTENDED_REPORT +# define HV_REPORT_MIN INT16_MIN +# define HV_REPORT_MAX INT16_MAX +typedef int32_t hv_clamp_range_t; +#else +# define HV_REPORT_MIN INT8_MIN +# define HV_REPORT_MAX INT8_MAX +typedef int16_t hv_clamp_range_t; #endif void pointing_device_init(void); diff --git a/quantum/pointing_device/pointing_device_drivers.c b/quantum/pointing_device/pointing_device_drivers.c index bf131c6eda5..6cbe427401e 100644 --- a/quantum/pointing_device/pointing_device_drivers.c +++ b/quantum/pointing_device/pointing_device_drivers.c @@ -391,7 +391,7 @@ const pointing_device_driver_t pointing_device_driver = { }; #elif defined(POINTING_DEVICE_DRIVER_pimoroni_trackball) -mouse_xy_report_t pimoroni_trackball_adapt_values(clamp_range_t* offset) { +mouse_xy_report_t pimoroni_trackball_adapt_values(xy_clamp_range_t* offset) { if (*offset > XY_REPORT_MAX) { *offset -= XY_REPORT_MAX; return (mouse_xy_report_t)XY_REPORT_MAX; @@ -406,10 +406,10 @@ mouse_xy_report_t pimoroni_trackball_adapt_values(clamp_range_t* offset) { } report_mouse_t pimoroni_trackball_get_report(report_mouse_t mouse_report) { - static uint16_t debounce = 0; - static uint8_t error_count = 0; - pimoroni_data_t pimoroni_data = {0}; - static clamp_range_t x_offset = 0, y_offset = 0; + static uint16_t debounce = 0; + static uint8_t error_count = 0; + pimoroni_data_t pimoroni_data = {0}; + static xy_clamp_range_t x_offset = 0, y_offset = 0; if (error_count < PIMORONI_TRACKBALL_ERROR_COUNT) { i2c_status_t status = read_pimoroni_trackball(&pimoroni_data); diff --git a/tmk_core/protocol/report.h b/tmk_core/protocol/report.h index 0e4f6e9defa..37c8ea48f1b 100644 --- a/tmk_core/protocol/report.h +++ b/tmk_core/protocol/report.h @@ -199,6 +199,12 @@ typedef int16_t mouse_xy_report_t; typedef int8_t mouse_xy_report_t; #endif +#ifdef WHEEL_EXTENDED_REPORT +typedef int16_t mouse_hv_report_t; +#else +typedef int8_t mouse_hv_report_t; +#endif + typedef struct { #ifdef MOUSE_SHARED_EP uint8_t report_id; @@ -210,8 +216,8 @@ typedef struct { #endif mouse_xy_report_t x; mouse_xy_report_t y; - int8_t v; - int8_t h; + mouse_hv_report_t v; + mouse_hv_report_t h; } PACKED report_mouse_t; typedef struct { diff --git a/tmk_core/protocol/usb_descriptor.c b/tmk_core/protocol/usb_descriptor.c index 7454c9a7c46..0ac02bb19fc 100644 --- a/tmk_core/protocol/usb_descriptor.c +++ b/tmk_core/protocol/usb_descriptor.c @@ -165,20 +165,34 @@ const USB_Descriptor_HIDReport_Datatype_t PROGMEM SharedReport[] = { # endif HID_RI_INPUT(8, HID_IOF_DATA | HID_IOF_VARIABLE | HID_IOF_RELATIVE), - // Vertical wheel (1 byte) - HID_RI_USAGE(8, 0x38), // Wheel + // Vertical wheel (1 or 2 bytes) + HID_RI_USAGE(8, 0x38), // Wheel +# ifndef WHEEL_EXTENDED_REPORT HID_RI_LOGICAL_MINIMUM(8, -127), HID_RI_LOGICAL_MAXIMUM(8, 127), HID_RI_REPORT_COUNT(8, 0x01), HID_RI_REPORT_SIZE(8, 0x08), +# else + HID_RI_LOGICAL_MINIMUM(16, -32767), + HID_RI_LOGICAL_MAXIMUM(16, 32767), + HID_RI_REPORT_COUNT(8, 0x01), + HID_RI_REPORT_SIZE(8, 0x10), +# endif HID_RI_INPUT(8, HID_IOF_DATA | HID_IOF_VARIABLE | HID_IOF_RELATIVE), - // Horizontal wheel (1 byte) - HID_RI_USAGE_PAGE(8, 0x0C), // Consumer - HID_RI_USAGE(16, 0x0238), // AC Pan + // Horizontal wheel (1 or 2 bytes) + HID_RI_USAGE_PAGE(8, 0x0C),// Consumer + HID_RI_USAGE(16, 0x0238), // AC Pan +# ifndef WHEEL_EXTENDED_REPORT HID_RI_LOGICAL_MINIMUM(8, -127), HID_RI_LOGICAL_MAXIMUM(8, 127), HID_RI_REPORT_COUNT(8, 0x01), HID_RI_REPORT_SIZE(8, 0x08), +# else + HID_RI_LOGICAL_MINIMUM(16, -32767), + HID_RI_LOGICAL_MAXIMUM(16, 32767), + HID_RI_REPORT_COUNT(8, 0x01), + HID_RI_REPORT_SIZE(8, 0x10), +# endif HID_RI_INPUT(8, HID_IOF_DATA | HID_IOF_VARIABLE | HID_IOF_RELATIVE), HID_RI_END_COLLECTION(0), HID_RI_END_COLLECTION(0), diff --git a/tmk_core/protocol/vusb/vusb.c b/tmk_core/protocol/vusb/vusb.c index c8ab4942536..886ee2375e4 100644 --- a/tmk_core/protocol/vusb/vusb.c +++ b/tmk_core/protocol/vusb/vusb.c @@ -524,23 +524,37 @@ const PROGMEM uchar shared_hid_report[] = { # endif 0x81, 0x06, // Input (Data, Variable, Relative) - // Vertical wheel (1 byte) + // Vertical wheel (1 or 2 bytes) 0x09, 0x38, // Usage (Wheel) +# ifndef WHEEL_EXTENDED_REPORT 0x15, 0x81, // Logical Minimum (-127) 0x25, 0x7F, // Logical Maximum (127) 0x95, 0x01, // Report Count (1) 0x75, 0x08, // Report Size (8) +# else + 0x16, 0x01, 0x80, // Logical Minimum (-32767) + 0x26, 0xFF, 0x7F, // Logical Maximum (32767) + 0x95, 0x01, // Report Count (1) + 0x75, 0x10, // Report Size (16) +# endif 0x81, 0x06, // Input (Data, Variable, Relative) - // Horizontal wheel (1 byte) + // Horizontal wheel (1 or 2 bytes) 0x05, 0x0C, // Usage Page (Consumer) 0x0A, 0x38, 0x02, // Usage (AC Pan) - 0x15, 0x81, // Logical Minimum (-127) - 0x25, 0x7F, // Logical Maximum (127) +# ifndef WHEEL_EXTENDED_REPORT + 0x15, 0x81, // Logical Minimum (-127) + 0x25, 0x7F, // Logical Maximum (127) + 0x95, 0x01, // Report Count (1) + 0x75, 0x08, // Report Size (8) +# else + 0x16, 0x01, 0x80, // Logical Minimum (-32767) + 0x26, 0xFF, 0x7F, // Logical Maximum (32767) 0x95, 0x01, // Report Count (1) - 0x75, 0x08, // Report Size (8) - 0x81, 0x06, // Input (Data, Variable, Relative) - 0xC0, // End Collection - 0xC0, // End Collection + 0x75, 0x10, // Report Size (16) +# endif + 0x81, 0x06, // Input (Data, Variable, Relative) + 0xC0, // End Collection + 0xC0, // End Collection #endif #ifdef EXTRAKEY_ENABLE From 035dcf213cce0f9d55a11284802144c3721a8f7f Mon Sep 17 00:00:00 2001 From: sizezero Date: Sun, 6 Oct 2024 10:01:30 -0700 Subject: [PATCH 042/124] Add keyboard Jris65 (#23936) * first compiled, flashed, and tested version of jris65 * adding readmes for mykeyclub and jris65 * removed commented out code and unneeded files * typo in build instructions * renamed info.json to keyboard.json as per new standard * formatted with qmk format-json * fixed layout offset problem * moved some settings from c/h files to json * moved matrix from .h file to .json * cleaned up non-json options * moved settings from rules.mk to keyboard.json * fix for via after removing .h file * converted keymap.c to keymap.json * keymap.c has been replaced by keymap.json * FN+Backspace loads bootload * added custom keymap for Sean * config.h setting is only needed by via * formatted json * convert via keymap from .c .h .mk to keymap.json * moved keyboard configuration to hotswap dir; note in readme that only hotswap has been tested * Update keyboards/mykeyclub/jris65/keymaps/default/keymap.json Co-authored-by: jack * typo Co-authored-by: jack * blank layers do not need to be specified Co-authored-by: jack * added other valid layouts Co-authored-by: Duncan Sutherland * added other valid layouts Co-authored-by: Duncan Sutherland * added other valid layouts Co-authored-by: Duncan Sutherland * added other valid layouts Co-authored-by: Duncan Sutherland * removed extra newline Co-authored-by: Duncan Sutherland * cleaned up wording in readme Co-authored-by: Duncan Sutherland * QMK no longer supports user keymaps * remove settings that are already the default (false settings) Co-authored-by: jack * add image Co-authored-by: Duncan Sutherland * add missing commas (formatting) Co-authored-by: Duncan Sutherland * add missing commas (formatting) Co-authored-by: Duncan Sutherland * add missing commas (formatting) Co-authored-by: Duncan Sutherland * re-added second layer with QK_BOOT for backspace * make the hotswap the default keyboard * added keyboard director prefix to DEFAULT_FOLDER * ran qmk format-json on keyboard.json * DEFAULT_FOLDER option is going away so don't use it * removed via keymap as they now reside in qmk_userspace_via --------- Co-authored-by: jack Co-authored-by: Duncan Sutherland --- .../mykeyclub/jris65/hotswap/keyboard.json | 389 ++++++++++++++++++ .../jris65/keymaps/default/keymap.json | 21 + keyboards/mykeyclub/jris65/readme.md | 35 ++ keyboards/mykeyclub/readme.md | 5 + 4 files changed, 450 insertions(+) create mode 100644 keyboards/mykeyclub/jris65/hotswap/keyboard.json create mode 100644 keyboards/mykeyclub/jris65/keymaps/default/keymap.json create mode 100644 keyboards/mykeyclub/jris65/readme.md create mode 100644 keyboards/mykeyclub/readme.md diff --git a/keyboards/mykeyclub/jris65/hotswap/keyboard.json b/keyboards/mykeyclub/jris65/hotswap/keyboard.json new file mode 100644 index 00000000000..3ed56136d14 --- /dev/null +++ b/keyboards/mykeyclub/jris65/hotswap/keyboard.json @@ -0,0 +1,389 @@ +{ + "manufacturer": "zlkb", + "keyboard_name": "IRIS65", + "maintainer": "5217zl", + "bootloader": "atmel-dfu", + "diode_direction": "COL2ROW", + "features": { + "bootmagic": true, + "extrakey": true, + "mousekey": true, + "nkro": true + }, + "matrix_pins": { + "cols": ["B6", "C6", "C7", "F1", "F0", "E6", "B0", "B1", "B3", "B7", "D2", "D1", "D0", "D7", "B4", "B5"], + "rows": ["F7", "F6", "F5", "B2", "F4"] + }, + "processor": "atmega32u4", + "url": "", + "usb": { + "device_version": "0.1.0", + "pid": "0x4953", + "vid": "0x5A4C" + }, + "community_layouts": ["65_ansi_blocker", "65_ansi_blocker_split_bs", "65_iso_blocker", "65_iso_blocker_split_bs"], + "layouts": { + "LAYOUT_65_ansi_blocker": { + "layout": [ + {"label": "0,0", "matrix": [0, 0], "x": 0, "y": 0}, + {"label": "0,1", "matrix": [0, 1], "x": 1, "y": 0}, + {"label": "0,2", "matrix": [0, 2], "x": 2, "y": 0}, + {"label": "0,3", "matrix": [0, 3], "x": 3, "y": 0}, + {"label": "0,4", "matrix": [0, 4], "x": 4, "y": 0}, + {"label": "0,5", "matrix": [0, 5], "x": 5, "y": 0}, + {"label": "0,6", "matrix": [0, 6], "x": 6, "y": 0}, + {"label": "0,7", "matrix": [0, 7], "x": 7, "y": 0}, + {"label": "0,8", "matrix": [0, 8], "x": 8, "y": 0}, + {"label": "0,9", "matrix": [0, 9], "x": 9, "y": 0}, + {"label": "0,10", "matrix": [0, 10], "x": 10, "y": 0}, + {"label": "0,11", "matrix": [0, 11], "x": 11, "y": 0}, + {"label": "0,12", "matrix": [0, 12], "x": 12, "y": 0}, + {"label": "0,14", "matrix": [0, 14], "x": 13, "y": 0, "w": 2}, + {"label": "0,15", "matrix": [0, 15], "x": 15, "y": 0}, + {"label": "1,0", "matrix": [1, 0], "x": 0, "y": 1, "w": 1.5}, + {"label": "1,1", "matrix": [1, 1], "x": 1.5, "y": 1}, + {"label": "1,2", "matrix": [1, 2], "x": 2.5, "y": 1}, + {"label": "1,3", "matrix": [1, 3], "x": 3.5, "y": 1}, + {"label": "1,4", "matrix": [1, 4], "x": 4.5, "y": 1}, + {"label": "1,5", "matrix": [1, 5], "x": 5.5, "y": 1}, + {"label": "1,6", "matrix": [1, 6], "x": 6.5, "y": 1}, + {"label": "1,7", "matrix": [1, 7], "x": 7.5, "y": 1}, + {"label": "1,,8", "matrix": [1, 8], "x": 8.5, "y": 1}, + {"label": "1,9", "matrix": [1, 9], "x": 9.5, "y": 1}, + {"label": "1,10", "matrix": [1, 10], "x": 10.5, "y": 1}, + {"label": "1,11", "matrix": [1, 11], "x": 11.5, "y": 1}, + {"label": "1,12", "matrix": [1, 12], "x": 12.5, "y": 1}, + {"label": "1,13", "matrix": [1, 13], "x": 13.5, "y": 1, "w": 1.5}, + {"label": "1,14", "matrix": [1, 14], "x": 15, "y": 1}, + {"label": "2,0", "matrix": [2, 0], "x": 0, "y": 2, "w": 1.75}, + {"label": "2,1", "matrix": [2, 1], "x": 1.75, "y": 2}, + {"label": "2,2", "matrix": [2, 2], "x": 2.75, "y": 2}, + {"label": "2,3", "matrix": [2, 3], "x": 3.75, "y": 2}, + {"label": "2,4", "matrix": [2, 4], "x": 4.75, "y": 2}, + {"label": "2,5", "matrix": [2, 5], "x": 5.75, "y": 2}, + {"label": "2,6", "matrix": [2, 6], "x": 6.75, "y": 2}, + {"label": "2,7", "matrix": [2, 7], "x": 7.75, "y": 2}, + {"label": "2,8", "matrix": [2, 8], "x": 8.75, "y": 2}, + {"label": "2,9", "matrix": [2, 9], "x": 9.75, "y": 2}, + {"label": "2,10", "matrix": [2, 10], "x": 10.75, "y": 2}, + {"label": "2,11", "matrix": [2, 11], "x": 11.75, "y": 2}, + {"label": "2,13", "matrix": [2, 13], "x": 12.75, "y": 2, "w": 2.25}, + {"label": "2,14", "matrix": [2, 14], "x": 15, "y": 2}, + {"label": "3,0", "matrix": [3, 0], "x": 0, "y": 3, "w": 2.25}, + {"label": "3,2", "matrix": [3, 2], "x": 2.25, "y": 3}, + {"label": "3,3", "matrix": [3, 3], "x": 3.25, "y": 3}, + {"label": "3,4", "matrix": [3, 4], "x": 4.25, "y": 3}, + {"label": "3,5", "matrix": [3, 5], "x": 5.25, "y": 3}, + {"label": "3,6", "matrix": [3, 6], "x": 6.25, "y": 3}, + {"label": "3,7", "matrix": [3, 7], "x": 7.25, "y": 3}, + {"label": "3,8", "matrix": [3, 8], "x": 8.25, "y": 3}, + {"label": "3,9", "matrix": [3, 9], "x": 9.25, "y": 3}, + {"label": "3,10", "matrix": [3, 10], "x": 10.25, "y": 3}, + {"label": "3,11", "matrix": [3, 11], "x": 11.25, "y": 3}, + {"label": "3,12", "matrix": [3, 12], "x": 12.25, "y": 3, "w": 1.75}, + {"label": "3,13", "matrix": [3, 13], "x": 14, "y": 3}, + {"label": "3,14", "matrix": [3, 14], "x": 15, "y": 3}, + {"label": "4,0", "matrix": [4, 0], "x": 0, "y": 4, "w": 1.25}, + {"label": "4,1", "matrix": [4, 1], "x": 1.25, "y": 4, "w": 1.25}, + {"label": "4,2", "matrix": [4, 2], "x": 2.5, "y": 4, "w": 1.25}, + {"label": "4,3", "matrix": [4, 3], "x": 3.75, "y": 4, "w": 6.25}, + {"label": "4,10", "matrix": [4, 10], "x": 10, "y": 4, "w": 1.25}, + {"label": "4,11", "matrix": [4, 11], "x": 11.25, "y": 4, "w": 1.25}, + {"label": "4,12", "matrix": [4, 12], "x": 13, "y": 4}, + {"label": "4,13", "matrix": [4, 13], "x": 14, "y": 4}, + {"label": "4,14", "matrix": [4, 14], "x": 15, "y": 4} + ] + }, + "LAYOUT_65_ansi_blocker_split_bs": { + "layout": [ + {"label": "0,0", "matrix": [0, 0], "x": 0, "y": 0}, + {"label": "0,1", "matrix": [0, 1], "x": 1, "y": 0}, + {"label": "0,2", "matrix": [0, 2], "x": 2, "y": 0}, + {"label": "0,3", "matrix": [0, 3], "x": 3, "y": 0}, + {"label": "0,4", "matrix": [0, 4], "x": 4, "y": 0}, + {"label": "0,5", "matrix": [0, 5], "x": 5, "y": 0}, + {"label": "0,6", "matrix": [0, 6], "x": 6, "y": 0}, + {"label": "0,7", "matrix": [0, 7], "x": 7, "y": 0}, + {"label": "0,8", "matrix": [0, 8], "x": 8, "y": 0}, + {"label": "0,9", "matrix": [0, 9], "x": 9, "y": 0}, + {"label": "0,10", "matrix": [0, 10], "x": 10, "y": 0}, + {"label": "0,11", "matrix": [0, 11], "x": 11, "y": 0}, + {"label": "0,12", "matrix": [0, 12], "x": 12, "y": 0}, + {"label": "0,13", "matrix": [0, 13], "x": 13, "y": 0}, + {"label": "0,14", "matrix": [0, 14], "x": 14, "y": 0}, + {"label": "0,15", "matrix": [0, 15], "x": 15, "y": 0}, + {"label": "1,0", "matrix": [1, 0], "x": 0, "y": 1, "w": 1.5}, + {"label": "1,1", "matrix": [1, 1], "x": 1.5, "y": 1}, + {"label": "1,2", "matrix": [1, 2], "x": 2.5, "y": 1}, + {"label": "1,3", "matrix": [1, 3], "x": 3.5, "y": 1}, + {"label": "1,4", "matrix": [1, 4], "x": 4.5, "y": 1}, + {"label": "1,5", "matrix": [1, 5], "x": 5.5, "y": 1}, + {"label": "1,6", "matrix": [1, 6], "x": 6.5, "y": 1}, + {"label": "1,7", "matrix": [1, 7], "x": 7.5, "y": 1}, + {"label": "1,,8", "matrix": [1, 8], "x": 8.5, "y": 1}, + {"label": "1,9", "matrix": [1, 9], "x": 9.5, "y": 1}, + {"label": "1,10", "matrix": [1, 10], "x": 10.5, "y": 1}, + {"label": "1,11", "matrix": [1, 11], "x": 11.5, "y": 1}, + {"label": "1,12", "matrix": [1, 12], "x": 12.5, "y": 1}, + {"label": "1,13", "matrix": [1, 13], "x": 13.5, "y": 1, "w": 1.5}, + {"label": "1,14", "matrix": [1, 14], "x": 15, "y": 1}, + {"label": "2,0", "matrix": [2, 0], "x": 0, "y": 2, "w": 1.75}, + {"label": "2,1", "matrix": [2, 1], "x": 1.75, "y": 2}, + {"label": "2,2", "matrix": [2, 2], "x": 2.75, "y": 2}, + {"label": "2,3", "matrix": [2, 3], "x": 3.75, "y": 2}, + {"label": "2,4", "matrix": [2, 4], "x": 4.75, "y": 2}, + {"label": "2,5", "matrix": [2, 5], "x": 5.75, "y": 2}, + {"label": "2,6", "matrix": [2, 6], "x": 6.75, "y": 2}, + {"label": "2,7", "matrix": [2, 7], "x": 7.75, "y": 2}, + {"label": "2,8", "matrix": [2, 8], "x": 8.75, "y": 2}, + {"label": "2,9", "matrix": [2, 9], "x": 9.75, "y": 2}, + {"label": "2,10", "matrix": [2, 10], "x": 10.75, "y": 2}, + {"label": "2,11", "matrix": [2, 11], "x": 11.75, "y": 2}, + {"label": "2,13", "matrix": [2, 13], "x": 12.75, "y": 2, "w": 2.25}, + {"label": "2,14", "matrix": [2, 14], "x": 15, "y": 2}, + {"label": "3,0", "matrix": [3, 0], "x": 0, "y": 3, "w": 2.25}, + {"label": "3,2", "matrix": [3, 2], "x": 2.25, "y": 3}, + {"label": "3,3", "matrix": [3, 3], "x": 3.25, "y": 3}, + {"label": "3,4", "matrix": [3, 4], "x": 4.25, "y": 3}, + {"label": "3,5", "matrix": [3, 5], "x": 5.25, "y": 3}, + {"label": "3,6", "matrix": [3, 6], "x": 6.25, "y": 3}, + {"label": "3,7", "matrix": [3, 7], "x": 7.25, "y": 3}, + {"label": "3,8", "matrix": [3, 8], "x": 8.25, "y": 3}, + {"label": "3,9", "matrix": [3, 9], "x": 9.25, "y": 3}, + {"label": "3,10", "matrix": [3, 10], "x": 10.25, "y": 3}, + {"label": "3,11", "matrix": [3, 11], "x": 11.25, "y": 3}, + {"label": "3,12", "matrix": [3, 12], "x": 12.25, "y": 3, "w": 1.75}, + {"label": "3,13", "matrix": [3, 13], "x": 14, "y": 3}, + {"label": "3,14", "matrix": [3, 14], "x": 15, "y": 3}, + {"label": "4,0", "matrix": [4, 0], "x": 0, "y": 4, "w": 1.25}, + {"label": "4,1", "matrix": [4, 1], "x": 1.25, "y": 4, "w": 1.25}, + {"label": "4,2", "matrix": [4, 2], "x": 2.5, "y": 4, "w": 1.25}, + {"label": "4,3", "matrix": [4, 3], "x": 3.75, "y": 4, "w": 6.25}, + {"label": "4,10", "matrix": [4, 10], "x": 10, "y": 4, "w": 1.25}, + {"label": "4,11", "matrix": [4, 11], "x": 11.25, "y": 4, "w": 1.25}, + {"label": "4,12", "matrix": [4, 12], "x": 13, "y": 4}, + {"label": "4,13", "matrix": [4, 13], "x": 14, "y": 4}, + {"label": "4,14", "matrix": [4, 14], "x": 15, "y": 4} + ] + }, + "LAYOUT_65_iso_blocker": { + "layout": [ + {"label": "0,0", "matrix": [0, 0], "x": 0, "y": 0}, + {"label": "0,1", "matrix": [0, 1], "x": 1, "y": 0}, + {"label": "0,2", "matrix": [0, 2], "x": 2, "y": 0}, + {"label": "0,3", "matrix": [0, 3], "x": 3, "y": 0}, + {"label": "0,4", "matrix": [0, 4], "x": 4, "y": 0}, + {"label": "0,5", "matrix": [0, 5], "x": 5, "y": 0}, + {"label": "0,6", "matrix": [0, 6], "x": 6, "y": 0}, + {"label": "0,7", "matrix": [0, 7], "x": 7, "y": 0}, + {"label": "0,8", "matrix": [0, 8], "x": 8, "y": 0}, + {"label": "0,9", "matrix": [0, 9], "x": 9, "y": 0}, + {"label": "0,10", "matrix": [0, 10], "x": 10, "y": 0}, + {"label": "0,11", "matrix": [0, 11], "x": 11, "y": 0}, + {"label": "0,12", "matrix": [0, 12], "x": 12, "y": 0}, + {"label": "0,14", "matrix": [0, 14], "x": 13, "y": 0, "w": 2}, + {"label": "0,15", "matrix": [0, 15], "x": 15, "y": 0}, + {"label": "1,0", "matrix": [1, 0], "x": 0, "y": 1, "w": 1.5}, + {"label": "1,1", "matrix": [1, 1], "x": 1.5, "y": 1}, + {"label": "1,2", "matrix": [1, 2], "x": 2.5, "y": 1}, + {"label": "1,3", "matrix": [1, 3], "x": 3.5, "y": 1}, + {"label": "1,4", "matrix": [1, 4], "x": 4.5, "y": 1}, + {"label": "1,5", "matrix": [1, 5], "x": 5.5, "y": 1}, + {"label": "1,6", "matrix": [1, 6], "x": 6.5, "y": 1}, + {"label": "1,7", "matrix": [1, 7], "x": 7.5, "y": 1}, + {"label": "1,,8", "matrix": [1, 8], "x": 8.5, "y": 1}, + {"label": "1,9", "matrix": [1, 9], "x": 9.5, "y": 1}, + {"label": "1,10", "matrix": [1, 10], "x": 10.5, "y": 1}, + {"label": "1,11", "matrix": [1, 11], "x": 11.5, "y": 1}, + {"label": "1,12", "matrix": [1, 12], "x": 12.5, "y": 1}, + {"label": "1,14", "matrix": [1, 14], "x": 15, "y": 1}, + {"label": "2,0", "matrix": [2, 0], "x": 0, "y": 2, "w": 1.75}, + {"label": "2,1", "matrix": [2, 1], "x": 1.75, "y": 2}, + {"label": "2,2", "matrix": [2, 2], "x": 2.75, "y": 2}, + {"label": "2,3", "matrix": [2, 3], "x": 3.75, "y": 2}, + {"label": "2,4", "matrix": [2, 4], "x": 4.75, "y": 2}, + {"label": "2,5", "matrix": [2, 5], "x": 5.75, "y": 2}, + {"label": "2,6", "matrix": [2, 6], "x": 6.75, "y": 2}, + {"label": "2,7", "matrix": [2, 7], "x": 7.75, "y": 2}, + {"label": "2,8", "matrix": [2, 8], "x": 8.75, "y": 2}, + {"label": "2,9", "matrix": [2, 9], "x": 9.75, "y": 2}, + {"label": "2,10", "matrix": [2, 10], "x": 10.75, "y": 2}, + {"label": "2,11", "matrix": [2, 11], "x": 11.75, "y": 2}, + {"label": "2,12", "matrix": [2, 12], "x": 12.75, "y": 2}, + {"label": "2,13", "matrix": [2, 13], "x": 13.75, "y": 1, "w": 1.25, "h": 2}, + {"label": "2,14", "matrix": [2, 14], "x": 15, "y": 2}, + {"label": "3,0", "matrix": [3, 0], "x": 0, "y": 3, "w": 1.25}, + {"label": "3,1", "matrix": [3, 1], "x": 1.25, "y": 3}, + {"label": "3,2", "matrix": [3, 2], "x": 2.25, "y": 3}, + {"label": "3,3", "matrix": [3, 3], "x": 3.25, "y": 3}, + {"label": "3,4", "matrix": [3, 4], "x": 4.25, "y": 3}, + {"label": "3,5", "matrix": [3, 5], "x": 5.25, "y": 3}, + {"label": "3,6", "matrix": [3, 6], "x": 6.25, "y": 3}, + {"label": "3,7", "matrix": [3, 7], "x": 7.25, "y": 3}, + {"label": "3,8", "matrix": [3, 8], "x": 8.25, "y": 3}, + {"label": "3,9", "matrix": [3, 9], "x": 9.25, "y": 3}, + {"label": "3,10", "matrix": [3, 10], "x": 10.25, "y": 3}, + {"label": "3,11", "matrix": [3, 11], "x": 11.25, "y": 3}, + {"label": "3,12", "matrix": [3, 12], "x": 12.25, "y": 3, "w": 1.75}, + {"label": "3,13", "matrix": [3, 13], "x": 14, "y": 3}, + {"label": "3,14", "matrix": [3, 14], "x": 15, "y": 3}, + {"label": "4,0", "matrix": [4, 0], "x": 0, "y": 4, "w": 1.25}, + {"label": "4,1", "matrix": [4, 1], "x": 1.25, "y": 4, "w": 1.25}, + {"label": "4,2", "matrix": [4, 2], "x": 2.5, "y": 4, "w": 1.25}, + {"label": "4,3", "matrix": [4, 3], "x": 3.75, "y": 4, "w": 6.25}, + {"label": "4,10", "matrix": [4, 10], "x": 10, "y": 4, "w": 1.25}, + {"label": "4,11", "matrix": [4, 11], "x": 11.25, "y": 4, "w": 1.25}, + {"label": "4,12", "matrix": [4, 12], "x": 13, "y": 4}, + {"label": "4,13", "matrix": [4, 13], "x": 14, "y": 4}, + {"label": "4,14", "matrix": [4, 14], "x": 15, "y": 4} + ] + }, + "LAYOUT_65_iso_blocker_split_bs": { + "layout": [ + {"label": "0,0", "matrix": [0, 0], "x": 0, "y": 0}, + {"label": "0,1", "matrix": [0, 1], "x": 1, "y": 0}, + {"label": "0,2", "matrix": [0, 2], "x": 2, "y": 0}, + {"label": "0,3", "matrix": [0, 3], "x": 3, "y": 0}, + {"label": "0,4", "matrix": [0, 4], "x": 4, "y": 0}, + {"label": "0,5", "matrix": [0, 5], "x": 5, "y": 0}, + {"label": "0,6", "matrix": [0, 6], "x": 6, "y": 0}, + {"label": "0,7", "matrix": [0, 7], "x": 7, "y": 0}, + {"label": "0,8", "matrix": [0, 8], "x": 8, "y": 0}, + {"label": "0,9", "matrix": [0, 9], "x": 9, "y": 0}, + {"label": "0,10", "matrix": [0, 10], "x": 10, "y": 0}, + {"label": "0,11", "matrix": [0, 11], "x": 11, "y": 0}, + {"label": "0,12", "matrix": [0, 12], "x": 12, "y": 0}, + {"label": "0,13", "matrix": [0, 13], "x": 13, "y": 0}, + {"label": "0,14", "matrix": [0, 14], "x": 14, "y": 0}, + {"label": "0,15", "matrix": [0, 15], "x": 15, "y": 0}, + {"label": "1,0", "matrix": [1, 0], "x": 0, "y": 1, "w": 1.5}, + {"label": "1,1", "matrix": [1, 1], "x": 1.5, "y": 1}, + {"label": "1,2", "matrix": [1, 2], "x": 2.5, "y": 1}, + {"label": "1,3", "matrix": [1, 3], "x": 3.5, "y": 1}, + {"label": "1,4", "matrix": [1, 4], "x": 4.5, "y": 1}, + {"label": "1,5", "matrix": [1, 5], "x": 5.5, "y": 1}, + {"label": "1,6", "matrix": [1, 6], "x": 6.5, "y": 1}, + {"label": "1,7", "matrix": [1, 7], "x": 7.5, "y": 1}, + {"label": "1,,8", "matrix": [1, 8], "x": 8.5, "y": 1}, + {"label": "1,9", "matrix": [1, 9], "x": 9.5, "y": 1}, + {"label": "1,10", "matrix": [1, 10], "x": 10.5, "y": 1}, + {"label": "1,11", "matrix": [1, 11], "x": 11.5, "y": 1}, + {"label": "1,12", "matrix": [1, 12], "x": 12.5, "y": 1}, + {"label": "1,14", "matrix": [1, 14], "x": 15, "y": 1}, + {"label": "2,0", "matrix": [2, 0], "x": 0, "y": 2, "w": 1.75}, + {"label": "2,1", "matrix": [2, 1], "x": 1.75, "y": 2}, + {"label": "2,2", "matrix": [2, 2], "x": 2.75, "y": 2}, + {"label": "2,3", "matrix": [2, 3], "x": 3.75, "y": 2}, + {"label": "2,4", "matrix": [2, 4], "x": 4.75, "y": 2}, + {"label": "2,5", "matrix": [2, 5], "x": 5.75, "y": 2}, + {"label": "2,6", "matrix": [2, 6], "x": 6.75, "y": 2}, + {"label": "2,7", "matrix": [2, 7], "x": 7.75, "y": 2}, + {"label": "2,8", "matrix": [2, 8], "x": 8.75, "y": 2}, + {"label": "2,9", "matrix": [2, 9], "x": 9.75, "y": 2}, + {"label": "2,10", "matrix": [2, 10], "x": 10.75, "y": 2}, + {"label": "2,11", "matrix": [2, 11], "x": 11.75, "y": 2}, + {"label": "2,12", "matrix": [2, 12], "x": 12.75, "y": 2}, + {"label": "2,13", "matrix": [2, 13], "x": 13.75, "y": 1, "w": 1.25, "h": 2}, + {"label": "2,14", "matrix": [2, 14], "x": 15, "y": 2}, + {"label": "3,0", "matrix": [3, 0], "x": 0, "y": 3, "w": 1.25}, + {"label": "3,1", "matrix": [3, 1], "x": 1.25, "y": 3}, + {"label": "3,2", "matrix": [3, 2], "x": 2.25, "y": 3}, + {"label": "3,3", "matrix": [3, 3], "x": 3.25, "y": 3}, + {"label": "3,4", "matrix": [3, 4], "x": 4.25, "y": 3}, + {"label": "3,5", "matrix": [3, 5], "x": 5.25, "y": 3}, + {"label": "3,6", "matrix": [3, 6], "x": 6.25, "y": 3}, + {"label": "3,7", "matrix": [3, 7], "x": 7.25, "y": 3}, + {"label": "3,8", "matrix": [3, 8], "x": 8.25, "y": 3}, + {"label": "3,9", "matrix": [3, 9], "x": 9.25, "y": 3}, + {"label": "3,10", "matrix": [3, 10], "x": 10.25, "y": 3}, + {"label": "3,11", "matrix": [3, 11], "x": 11.25, "y": 3}, + {"label": "3,12", "matrix": [3, 12], "x": 12.25, "y": 3, "w": 1.75}, + {"label": "3,13", "matrix": [3, 13], "x": 14, "y": 3}, + {"label": "3,14", "matrix": [3, 14], "x": 15, "y": 3}, + {"label": "4,0", "matrix": [4, 0], "x": 0, "y": 4, "w": 1.25}, + {"label": "4,1", "matrix": [4, 1], "x": 1.25, "y": 4, "w": 1.25}, + {"label": "4,2", "matrix": [4, 2], "x": 2.5, "y": 4, "w": 1.25}, + {"label": "4,3", "matrix": [4, 3], "x": 3.75, "y": 4, "w": 6.25}, + {"label": "4,10", "matrix": [4, 10], "x": 10, "y": 4, "w": 1.25}, + {"label": "4,11", "matrix": [4, 11], "x": 11.25, "y": 4, "w": 1.25}, + {"label": "4,12", "matrix": [4, 12], "x": 13, "y": 4}, + {"label": "4,13", "matrix": [4, 13], "x": 14, "y": 4}, + {"label": "4,14", "matrix": [4, 14], "x": 15, "y": 4} + ] + }, + "LAYOUT_all": { + "layout": [ + {"label": "0,0", "matrix": [0, 0], "x": 0, "y": 0}, + {"label": "0,1", "matrix": [0, 1], "x": 1, "y": 0}, + {"label": "0,2", "matrix": [0, 2], "x": 2, "y": 0}, + {"label": "0,3", "matrix": [0, 3], "x": 3, "y": 0}, + {"label": "0,4", "matrix": [0, 4], "x": 4, "y": 0}, + {"label": "0,5", "matrix": [0, 5], "x": 5, "y": 0}, + {"label": "0,6", "matrix": [0, 6], "x": 6, "y": 0}, + {"label": "0,7", "matrix": [0, 7], "x": 7, "y": 0}, + {"label": "0,8", "matrix": [0, 8], "x": 8, "y": 0}, + {"label": "0,9", "matrix": [0, 9], "x": 9, "y": 0}, + {"label": "0,10", "matrix": [0, 10], "x": 10, "y": 0}, + {"label": "0,11", "matrix": [0, 11], "x": 11, "y": 0}, + {"label": "0,12", "matrix": [0, 12], "x": 12, "y": 0}, + {"label": "0,13", "matrix": [0, 13], "x": 13, "y": 0}, + {"label": "0,14", "matrix": [0, 14], "x": 14, "y": 0}, + {"label": "0,15", "matrix": [0, 15], "x": 15, "y": 0}, + {"label": "1,0", "matrix": [1, 0], "x": 0, "y": 1, "w": 1.5}, + {"label": "1,1", "matrix": [1, 1], "x": 1.5, "y": 1}, + {"label": "1,2", "matrix": [1, 2], "x": 2.5, "y": 1}, + {"label": "1,3", "matrix": [1, 3], "x": 3.5, "y": 1}, + {"label": "1,4", "matrix": [1, 4], "x": 4.5, "y": 1}, + {"label": "1,5", "matrix": [1, 5], "x": 5.5, "y": 1}, + {"label": "1,6", "matrix": [1, 6], "x": 6.5, "y": 1}, + {"label": "1,7", "matrix": [1, 7], "x": 7.5, "y": 1}, + {"label": "1,,8", "matrix": [1, 8], "x": 8.5, "y": 1}, + {"label": "1,9", "matrix": [1, 9], "x": 9.5, "y": 1}, + {"label": "1,10", "matrix": [1, 10], "x": 10.5, "y": 1}, + {"label": "1,11", "matrix": [1, 11], "x": 11.5, "y": 1}, + {"label": "1,12", "matrix": [1, 12], "x": 12.5, "y": 1}, + {"label": "1,13", "matrix": [1, 13], "x": 13.5, "y": 1, "w": 1.5}, + {"label": "1,14", "matrix": [1, 14], "x": 15, "y": 1}, + {"label": "2,0", "matrix": [2, 0], "x": 0, "y": 2, "w": 1.75}, + {"label": "2,1", "matrix": [2, 1], "x": 1.75, "y": 2}, + {"label": "2,2", "matrix": [2, 2], "x": 2.75, "y": 2}, + {"label": "2,3", "matrix": [2, 3], "x": 3.75, "y": 2}, + {"label": "2,4", "matrix": [2, 4], "x": 4.75, "y": 2}, + {"label": "2,5", "matrix": [2, 5], "x": 5.75, "y": 2}, + {"label": "2,6", "matrix": [2, 6], "x": 6.75, "y": 2}, + {"label": "2,7", "matrix": [2, 7], "x": 7.75, "y": 2}, + {"label": "2,8", "matrix": [2, 8], "x": 8.75, "y": 2}, + {"label": "2,9", "matrix": [2, 9], "x": 9.75, "y": 2}, + {"label": "2,10", "matrix": [2, 10], "x": 10.75, "y": 2}, + {"label": "2,11", "matrix": [2, 11], "x": 11.75, "y": 2}, + {"label": "2,12", "matrix": [2, 12], "x": 12.75, "y": 2}, + {"label": "2,13", "matrix": [2, 13], "x": 13.75, "y": 2, "w": 1.25}, + {"label": "2,14", "matrix": [2, 14], "x": 15, "y": 2}, + {"label": "3,0", "matrix": [3, 0], "x": 0, "y": 3, "w": 1.25}, + {"label": "3,1", "matrix": [3, 1], "x": 1.25, "y": 3}, + {"label": "3,2", "matrix": [3, 2], "x": 2.25, "y": 3}, + {"label": "3,3", "matrix": [3, 3], "x": 3.25, "y": 3}, + {"label": "3,4", "matrix": [3, 4], "x": 4.25, "y": 3}, + {"label": "3,5", "matrix": [3, 5], "x": 5.25, "y": 3}, + {"label": "3,6", "matrix": [3, 6], "x": 6.25, "y": 3}, + {"label": "3,7", "matrix": [3, 7], "x": 7.25, "y": 3}, + {"label": "3,8", "matrix": [3, 8], "x": 8.25, "y": 3}, + {"label": "3,9", "matrix": [3, 9], "x": 9.25, "y": 3}, + {"label": "3,10", "matrix": [3, 10], "x": 10.25, "y": 3}, + {"label": "3,11", "matrix": [3, 11], "x": 11.25, "y": 3}, + {"label": "3,12", "matrix": [3, 12], "x": 12.25, "y": 3, "w": 1.75}, + {"label": "3,13", "matrix": [3, 13], "x": 14, "y": 3}, + {"label": "3,14", "matrix": [3, 14], "x": 15, "y": 3}, + {"label": "4,0", "matrix": [4, 0], "x": 0, "y": 4, "w": 1.25}, + {"label": "4,1", "matrix": [4, 1], "x": 1.25, "y": 4, "w": 1.25}, + {"label": "4,2", "matrix": [4, 2], "x": 2.5, "y": 4, "w": 1.25}, + {"label": "4,3", "matrix": [4, 3], "x": 3.75, "y": 4, "w": 6.25}, + {"label": "4,10", "matrix": [4, 10], "x": 10, "y": 4, "w": 1.25}, + {"label": "4,11", "matrix": [4, 11], "x": 11.25, "y": 4, "w": 1.25}, + {"label": "4,12", "matrix": [4, 12], "x": 13, "y": 4}, + {"label": "4,13", "matrix": [4, 13], "x": 14, "y": 4}, + {"label": "4,14", "matrix": [4, 14], "x": 15, "y": 4} + ] + } + } +} diff --git a/keyboards/mykeyclub/jris65/keymaps/default/keymap.json b/keyboards/mykeyclub/jris65/keymaps/default/keymap.json new file mode 100644 index 00000000000..114f058f1d8 --- /dev/null +++ b/keyboards/mykeyclub/jris65/keymaps/default/keymap.json @@ -0,0 +1,21 @@ +{ + "keyboard": "mykeyclub/jris65", + "keymap": "default", + "layout": "LAYOUT_all", + "layers": [ + [ + "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_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_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_BSLS", "KC_ENT", "KC_END", + "KC_LSFT", "KC_BSLS", "KC_Z", "KC_X", "KC_C", "KC_V", "KC_B", "KC_N", "KC_M", "KC_DOT", "KC_COMM", "KC_SLSH", "KC_RSFT", "KC_UP", "KC_DEL", + "KC_LCTL", "KC_LGUI", "KC_LALT", "KC_SPC", "KC_RALT", "MO(1)", "KC_LEFT", "KC_DOWN", "KC_RGHT" + ], + [ + "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "QK_BOOT", "KC_TRNS", + "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", + "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", + "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "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/mykeyclub/jris65/readme.md b/keyboards/mykeyclub/jris65/readme.md new file mode 100644 index 00000000000..c216a11d435 --- /dev/null +++ b/keyboards/mykeyclub/jris65/readme.md @@ -0,0 +1,35 @@ +# JRIS65 + +![hotswap](https://i.imgur.com/kJzebgd.jpeg) +**Hotswap PCB** + +A 65% keyboard sold by Mykeyclub. + +* Keyboard Maintainer: [The QMK Community](https://github.com/qmk) +* Hardware Supported: JRIS65 R1 hotswap. +* Hardware Availability: intermitently via group buys from [Mykeyclub](https://www.mykeyclub.com/) + +Make example for this keyboard (after setting up your build environment): + + make mykeyclub/jris65/hotswap:default + +Flashing example for this keyboard: + + make mykeyclub/jris65/hotswap: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: + +* **Keycode in layout**: Using the default firmware, assign a key to Reset (`QK_BOOT`) and press the assigned key. +* **Physical reset button**: Briefly press the button on the back of the PCB + +The QMK default keymap has FN+Backspace assigned to `QK_BOOT` so you can use that key sequence for subsequent flashing. + +## Disclaimer + +In May 2024 Mykeyclub was contacted to see if they had interest in contributing firmware to the QMK project they did not. This code is thus community supported. + +This firmware has only been tested with JRIS65 R1 hotswap and is likely to work with R2 hotswap. The soldered variant of this PCB requires testing, with actual hardware, before being added. diff --git a/keyboards/mykeyclub/readme.md b/keyboards/mykeyclub/readme.md new file mode 100644 index 00000000000..e5df7a26385 --- /dev/null +++ b/keyboards/mykeyclub/readme.md @@ -0,0 +1,5 @@ +# Mykeyclub + +Mykeyclub is a retailer of mechanical keyboards and related products. They also facilitate the design and manufacture of keyboard products. + +**Website:** https://www.mykeyclub.com/ From f25624dca4717150f719bc6d72418a6e195fb1f7 Mon Sep 17 00:00:00 2001 From: Joel Challis Date: Sun, 6 Oct 2024 18:26:48 +0100 Subject: [PATCH 043/124] Fix `thumbsup:default` keymap (#24459) --- keyboards/thumbsup/keymaps/default/keymap.c | 12 ++++-------- keyboards/thumbsup/keymaps/default/rules.mk | 1 - 2 files changed, 4 insertions(+), 9 deletions(-) delete mode 100644 keyboards/thumbsup/keymaps/default/rules.mk diff --git a/keyboards/thumbsup/keymaps/default/keymap.c b/keyboards/thumbsup/keymaps/default/keymap.c index a7bc4271801..04a16a50815 100644 --- a/keyboards/thumbsup/keymaps/default/keymap.c +++ b/keyboards/thumbsup/keymaps/default/keymap.c @@ -15,8 +15,6 @@ */ #include QMK_KEYBOARD_H - - // Defines names for use in layer keycodes and the keymap enum layer_names { _QWERTY, @@ -26,13 +24,8 @@ enum layer_names { _EXTRARIGHT }; -// Aliases for this command to make the thumb keys work as LOWER/RAISE on hold and as space on hit. -//#define CURSORRGHT LT(_CURSORRGHT,KC_SPC) -//#define CURSORLEFT LT(_CURSORLEFT,KC_SPC) - const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - /* Qwerty * ,-----------------------------------------+ +-----------------------------------------. * | Esc | Q | W | E | R | T | | Y | U | I | O | P |BSpc | @@ -55,7 +48,7 @@ Single hit: | | |Space | |Space | | | KC_ESC, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSPC, LT(_EXTRARIGHT,KC_TAB), KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_PENT, KC_LCTL, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RCTL, - KC_SPC, KC_LGUI, KC_LALT, KC_LSFT, LT(TL_LOWR,KC_SPC), LT(TL_UPPR ,KC_SPC), KC_RSFT, KC_RALT, KC_APP, KC_SPC + KC_SPC, KC_LGUI, KC_LALT, KC_LSFT, LT(_CURSORLEFT,KC_SPC), LT(_CURSORRGHT ,KC_SPC), KC_RSFT, KC_RALT, KC_APP, KC_SPC ), @@ -173,3 +166,6 @@ without separate thumbcluster. ) }; +layer_state_t layer_state_set_user(layer_state_t state) { + return update_tri_layer_state(state, _CURSORLEFT, _CURSORRGHT, _NUMBERS); +} diff --git a/keyboards/thumbsup/keymaps/default/rules.mk b/keyboards/thumbsup/keymaps/default/rules.mk deleted file mode 100644 index 2c72d2ddb6c..00000000000 --- a/keyboards/thumbsup/keymaps/default/rules.mk +++ /dev/null @@ -1 +0,0 @@ -TRI_LAYER_ENABLE = yes \ No newline at end of file From 1a284f2b92f1cc6334eb7c3e1c3618e659cafc63 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=C3=81lvaro=20A=2E=20Volpato?= Date: Mon, 7 Oct 2024 01:29:03 -0300 Subject: [PATCH 044/124] Fix Caps Lock indication on Valhalla v2 (#23012) * Fix Caps Lock indication * User LED state function override added Co-authored-by: Drashna Jaelre * Change backlight enabled check and remove backlight headers Co-authored-by: Drashna Jaelre --------- Co-authored-by: Drashna Jaelre --- keyboards/noxary/valhalla_v2/valhalla_v2.c | 25 ++++++++++++++++++++++ 1 file changed, 25 insertions(+) create mode 100644 keyboards/noxary/valhalla_v2/valhalla_v2.c diff --git a/keyboards/noxary/valhalla_v2/valhalla_v2.c b/keyboards/noxary/valhalla_v2/valhalla_v2.c new file mode 100644 index 00000000000..2cd32d51492 --- /dev/null +++ b/keyboards/noxary/valhalla_v2/valhalla_v2.c @@ -0,0 +1,25 @@ +/* Copyright 2023 Gondolindrim + * + * 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" + +bool led_update_kb(led_t led_state) { + if (!led_update_user(led_state)) { + return false; + } + (led_state.caps_lock && is_backlight_enabled()) ? backlight_set(get_backlight_level()) : backlight_set(0); + return true; +} From c3ffbe4504a07c69da0c642e4fad15ccbaabc692 Mon Sep 17 00:00:00 2001 From: Duncan Sutherland Date: Mon, 7 Oct 2024 05:29:43 +0100 Subject: [PATCH 045/124] add ergodox Community Layout for LAYOUT_ergodox keyboards (#22963) initial commit --- keyboards/ergodox_stm32/keyboard.json | 1 + keyboards/phoenix/keyboard.json | 1 + 2 files changed, 2 insertions(+) diff --git a/keyboards/ergodox_stm32/keyboard.json b/keyboards/ergodox_stm32/keyboard.json index 9315a3971f5..49c0a858d4f 100644 --- a/keyboards/ergodox_stm32/keyboard.json +++ b/keyboards/ergodox_stm32/keyboard.json @@ -17,6 +17,7 @@ }, "processor": "STM32F103", "bootloader": "custom", + "community_layouts": ["ergodox"], "layouts": { "LAYOUT_ergodox": { "layout": [ diff --git a/keyboards/phoenix/keyboard.json b/keyboards/phoenix/keyboard.json index f3eb6a8d554..d0d99c94049 100644 --- a/keyboards/phoenix/keyboard.json +++ b/keyboards/phoenix/keyboard.json @@ -41,6 +41,7 @@ "processor": "STM32F401", "bootloader": "stm32-dfu", "board": "BLACKPILL_STM32_F401", + "community_layouts": ["ergodox"], "layouts": { "LAYOUT_ergodox": { "layout": [ From c0d57a6826e9535ac4b0cc6053a3951073c4bbef Mon Sep 17 00:00:00 2001 From: yiancar Date: Tue, 8 Oct 2024 19:51:23 +0100 Subject: [PATCH 046/124] Fix indicator code for NK classics (#24462) Fix indicator code Co-authored-by: yiancar --- keyboards/novelkeys/nk_classic_tkl/keymaps/default/keymap.c | 4 ++++ .../novelkeys/nk_classic_tkl_iso/keymaps/default/keymap.c | 4 ++++ 2 files changed, 8 insertions(+) diff --git a/keyboards/novelkeys/nk_classic_tkl/keymaps/default/keymap.c b/keyboards/novelkeys/nk_classic_tkl/keymaps/default/keymap.c index a99350ef7fc..a0ea79c45f4 100644 --- a/keyboards/novelkeys/nk_classic_tkl/keymaps/default/keymap.c +++ b/keyboards/novelkeys/nk_classic_tkl/keymaps/default/keymap.c @@ -43,6 +43,10 @@ bool rgb_matrix_indicators_advanced_user(uint8_t led_min, uint8_t led_max) { for (uint8_t i = 50; i <= 55; i++) { rgb_matrix_set_color(i, 255, 86, 0); } + } else if ((rgb_matrix_get_mode() == RGB_MATRIX_TYPING_HEATMAP) || (rgb_matrix_get_mode() == RGB_MATRIX_DIGITAL_RAIN)) { + for (uint8_t i = 50; i <= 55; i++) { + rgb_matrix_set_color(i, 0, 0, 0); + } } return false; } diff --git a/keyboards/novelkeys/nk_classic_tkl_iso/keymaps/default/keymap.c b/keyboards/novelkeys/nk_classic_tkl_iso/keymaps/default/keymap.c index 5af062e0b03..8939cde8a4c 100644 --- a/keyboards/novelkeys/nk_classic_tkl_iso/keymaps/default/keymap.c +++ b/keyboards/novelkeys/nk_classic_tkl_iso/keymaps/default/keymap.c @@ -43,6 +43,10 @@ bool rgb_matrix_indicators_advanced_user(uint8_t led_min, uint8_t led_max) { for (uint8_t i = 50; i <= 55; i++) { rgb_matrix_set_color(i, 255, 86, 0); } + } else if ((rgb_matrix_get_mode() == RGB_MATRIX_TYPING_HEATMAP) || (rgb_matrix_get_mode() == RGB_MATRIX_DIGITAL_RAIN)) { + for (uint8_t i = 50; i <= 55; i++) { + rgb_matrix_set_color(i, 0, 0, 0); + } } return false; } From fb598e7e617692be0bf562afaf3c852c8db1c349 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E3=83=95=E3=82=A3=E3=83=AB=E3=82=BF=E3=83=BC=E3=83=9A?= =?UTF-8?q?=E3=83=BC=E3=83=91=E3=83=BC?= <76888457+filterpaper@users.noreply.github.com> Date: Wed, 9 Oct 2024 12:30:32 +0800 Subject: [PATCH 047/124] Fixup Lily58 keymap comment (#24466) --- keyboards/lily58/keymaps/default/keymap.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/keyboards/lily58/keymaps/default/keymap.c b/keyboards/lily58/keymaps/default/keymap.c index 44288d39d04..7e34752f2d0 100644 --- a/keyboards/lily58/keymaps/default/keymap.c +++ b/keyboards/lily58/keymaps/default/keymap.c @@ -37,7 +37,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { * |------+------+------+------+------+------| |------+------+------+------+------+------| * | F1 | F2 | F3 | F4 | F5 | F6 | | F7 | F8 | F9 | F10 | F11 | F12 | * |------+------+------+------+------+------| |------+------+------+------+------+------| - * | ` | ! | @ | # | $ | % |-------. ,-------| ^ | & | * | ( | ) | - | + * | ` | ! | @ | # | $ | % |-------. ,-------| ^ | & | * | ( | ) | ~ | * |------+------+------+------+------+------| [ | | ] |------+------+------+------+------+------| * | | | | | | |-------| |-------| | _ | + | { | } | | | * `-----------------------------------------/ / \ \-----------------------------------------' From 49a1a12a327e6f78db184e83e8ea805da4477775 Mon Sep 17 00:00:00 2001 From: Drashna Jaelre Date: Thu, 10 Oct 2024 12:54:53 -0700 Subject: [PATCH 048/124] Expand count checks in keymap introspection (#24464) * Add check Tap Dance count check to keymap introspection * Add checks for combos and key overrides to introspection --- quantum/keymap_introspection.c | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/quantum/keymap_introspection.c b/quantum/keymap_introspection.c index 327df6e277b..236b54ce980 100644 --- a/quantum/keymap_introspection.c +++ b/quantum/keymap_introspection.c @@ -102,6 +102,8 @@ __attribute__((weak)) uint16_t combo_count(void) { return combo_count_raw(); } +_Static_assert(ARRAY_SIZE(key_combos) <= (QK_KB), "Number of combos is abnormally high. Are you using SAFE_RANGE in an enum for combos?"); + combo_t* combo_get_raw(uint16_t combo_idx) { if (combo_idx >= combo_count_raw()) { return NULL; @@ -127,6 +129,8 @@ __attribute__((weak)) uint16_t tap_dance_count(void) { return tap_dance_count_raw(); } +_Static_assert(ARRAY_SIZE(tap_dance_actions) <= (QK_TAP_DANCE_MAX - QK_TAP_DANCE), "Number of tap dance actions exceeds maximum. Are you using SAFE_RANGE in tap dance enum?"); + tap_dance_action_t* tap_dance_get_raw(uint16_t tap_dance_idx) { if (tap_dance_idx >= tap_dance_count_raw()) { return NULL; @@ -153,6 +157,8 @@ __attribute__((weak)) uint16_t key_override_count(void) { return key_override_count_raw(); } +_Static_assert(ARRAY_SIZE(key_overrides) <= (QK_KB), "Number of key overrides is abnormally high. Are you using SAFE_RANGE in an enum for key overrides?"); + const key_override_t* key_override_get_raw(uint16_t key_override_idx) { if (key_override_idx >= key_override_count_raw()) { return NULL; From 4055798807fed370f81f8b5670a70b71504c6d34 Mon Sep 17 00:00:00 2001 From: azhizhinov Date: Fri, 11 Oct 2024 06:01:00 +0300 Subject: [PATCH 049/124] [Keyboard] Add Piantor UV 44 (#24247) Co-authored-by: Ryan --- keyboards/piantoruv44/config.h | 12 +++ keyboards/piantoruv44/keyboard.json | 98 +++++++++++++++++++ .../piantoruv44/keymaps/default/keymap.c | 30 ++++++ keyboards/piantoruv44/readme.md | 27 +++++ 4 files changed, 167 insertions(+) create mode 100644 keyboards/piantoruv44/config.h create mode 100644 keyboards/piantoruv44/keyboard.json create mode 100644 keyboards/piantoruv44/keymaps/default/keymap.c create mode 100644 keyboards/piantoruv44/readme.md diff --git a/keyboards/piantoruv44/config.h b/keyboards/piantoruv44/config.h new file mode 100644 index 00000000000..e6ba4c0be93 --- /dev/null +++ b/keyboards/piantoruv44/config.h @@ -0,0 +1,12 @@ +// Copyright 2022 beekeeb +// SPDX-License-Identifier: GPL-2.0-or-later + +#pragma once + + +#define RP2040_BOOTLOADER_DOUBLE_TAP_RESET +#define RP2040_BOOTLOADER_DOUBLE_TAP_RESET_TIMEOUT 1000U + +#define SERIAL_USART_FULL_DUPLEX +#define SERIAL_USART_TX_PIN GP0 +#define SERIAL_USART_RX_PIN GP1 diff --git a/keyboards/piantoruv44/keyboard.json b/keyboards/piantoruv44/keyboard.json new file mode 100644 index 00000000000..e2374dca6da --- /dev/null +++ b/keyboards/piantoruv44/keyboard.json @@ -0,0 +1,98 @@ +{ + "manufacturer": "azhizhinov", + "keyboard_name": "PIANTORUV44", + "maintainer": "azhizhinov", + "bootloader": "rp2040", + "bootmagic": { + "matrix": [0, 5] + }, + "features": { + "bootmagic": true, + "command": false, + "console": false, + "extrakey": true, + "mousekey": true, + "nkro": true + }, + "matrix_pins": { + "direct": [ + ["GP5", "GP4", "GP11", "GP15", "GP3", "GP2"], + ["GP22", "GP20", "GP10", "GP14", "GP9", "GP8"], + ["GP21", "GP19", "GP6", "GP7", "GP13", "GP12"], + ["GP17", "GP18", "GP16", "GP26", null, null] + ] + }, + "processor": "RP2040", + "split": { + "enabled": true, + "matrix_pins": { + "right": { + "direct": [ + ["GP2", "GP3", "GP15", "GP11", "GP4", "GP5"], + ["GP8", "GP9", "GP14", "GP10", "GP20", "GP22"], + ["GP12", "GP13", "GP7", "GP6", "GP19", "GP21"], + ["GP26", "GP16", "GP18", "GP17", null, null] + ] + } + }, + "serial": { + "driver": "vendor" + } + }, + "url": "https://github.com/azhizhinov/PIANTORUV44", + "usb": { + "device_version": "1.0.0", + "pid": "0x0004", + "vid": "0x415A" + }, + "layouts": { + "LAYOUT": { + "layout": [ + {"matrix": [0, 0], "x": 0, "y": 0.25}, + {"matrix": [0, 1], "x": 1, "y": 0.25}, + {"matrix": [0, 2], "x": 2, "y": 0.125}, + {"matrix": [0, 3], "x": 3, "y": 0}, + {"matrix": [0, 4], "x": 4, "y": 0.125}, + {"matrix": [0, 5], "x": 5, "y": 0.25}, + {"matrix": [4, 0], "x": 8, "y": 0.25}, + {"matrix": [4, 1], "x": 9, "y": 0.125}, + {"matrix": [4, 2], "x": 10, "y": 0}, + {"matrix": [4, 3], "x": 11, "y": 0.125}, + {"matrix": [4, 4], "x": 12, "y": 0.25}, + {"matrix": [4, 5], "x": 13, "y": 0.25}, + {"matrix": [1, 0], "x": 0, "y": 1.25}, + {"matrix": [1, 1], "x": 1, "y": 1.25}, + {"matrix": [1, 2], "x": 2, "y": 1.125}, + {"matrix": [1, 3], "x": 3, "y": 1}, + {"matrix": [1, 4], "x": 4, "y": 1.125}, + {"matrix": [1, 5], "x": 5, "y": 1.25}, + {"matrix": [5, 0], "x": 8, "y": 1.25}, + {"matrix": [5, 1], "x": 9, "y": 1.125}, + {"matrix": [5, 2], "x": 10, "y": 1}, + {"matrix": [5, 3], "x": 11, "y": 1.125}, + {"matrix": [5, 4], "x": 12, "y": 1.25}, + {"matrix": [5, 5], "x": 13, "y": 1.25}, + {"matrix": [2, 0], "x": 0, "y": 2.25}, + {"matrix": [2, 1], "x": 1, "y": 2.25}, + {"matrix": [2, 2], "x": 2, "y": 2.125}, + {"matrix": [2, 3], "x": 3, "y": 2}, + {"matrix": [2, 4], "x": 4, "y": 2.125}, + {"matrix": [2, 5], "x": 5, "y": 2.25}, + {"matrix": [6, 0], "x": 8, "y": 2.25}, + {"matrix": [6, 1], "x": 9, "y": 2.125}, + {"matrix": [6, 2], "x": 10, "y": 2}, + {"matrix": [6, 3], "x": 11, "y": 2.125}, + {"matrix": [6, 4], "x": 12, "y": 2.25}, + {"matrix": [6, 5], "x": 13, "y": 2.25}, + {"matrix": [3, 0], "x": 2.5, "y": 3}, + {"matrix": [3, 1], "x": 3.5, "y": 3.25}, + {"matrix": [3, 2], "x": 4.5, "y": 3.5}, + {"matrix": [3, 3], "x": 5.5, "y": 3.75}, + {"matrix": [7, 0], "x": 7.5, "y": 3.75}, + {"matrix": [7, 1], "x": 8.5, "y": 3.5}, + {"matrix": [7, 2], "x": 9.5, "y": 3.25}, + {"matrix": [7, 3], "x": 10.5, "y": 3} + ] + } + } +} diff --git a/keyboards/piantoruv44/keymaps/default/keymap.c b/keyboards/piantoruv44/keymaps/default/keymap.c new file mode 100644 index 00000000000..49d5e4d178e --- /dev/null +++ b/keyboards/piantoruv44/keymaps/default/keymap.c @@ -0,0 +1,30 @@ +// Copyright 2021 azhizhinov (@azhizhinov) +// SPDX-License-Identifier: GPL-2.0-or-late +#include QMK_KEYBOARD_H + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + [0] = LAYOUT( + KC_GRV, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, + 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_TAB, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RBRC, + KC_LALT, KC_LSFT, MO(1), KC_BSPC, KC_ENT, MO(2), KC_SPC, RCTL(KC_BSPC) + ), + [1] = LAYOUT( + KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_BSPC, + KC_LCTL, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_LEFT, KC_UP, KC_RGHT, KC_NO, KC_HOME, KC_NO, + KC_LSFT, KC_CAPS, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_DOWN, KC_NO, KC_NO, KC_END, KC_RALT, + KC_LALT, KC_LGUI, KC_TRNS, KC_ESC, KC_ENT, MO(3), KC_SPC, RCTL(KC_BSPC) + ), + [2] = LAYOUT( + KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, + KC_LCTL, KC_BSPC, KC_C, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, + KC_LSFT, KC_X, KC_V, KC_S, KC_L, KC_NO, KC_UNDS, KC_PLUS, KC_PMNS, KC_NO, KC_NO, KC_RALT, + KC_LALT, KC_LGUI, MO(3), KC_ESC, KC_ENT, KC_TRNS, KC_SPC, RCTL(KC_BSPC) + ), + [3] = LAYOUT( + KC_TAB, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, KC_BSPC, + KC_LCTL, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_MINS, KC_EQL, KC_LBRC, KC_RBRC, KC_BSLS, KC_GRV, + KC_LSFT, KC_CAPS, KC_NO, KC_NO, KC_NO, KC_NO, KC_UNDS, KC_PLUS, KC_LCBR, KC_RCBR, KC_PIPE, KC_RALT, + KC_LALT, KC_LGUI, KC_TRNS, KC_ESC, KC_ENT, KC_TRNS, KC_SPC, RCTL(KC_BSPC) + ) +}; diff --git a/keyboards/piantoruv44/readme.md b/keyboards/piantoruv44/readme.md new file mode 100644 index 00000000000..0fe5fe2d0c0 --- /dev/null +++ b/keyboards/piantoruv44/readme.md @@ -0,0 +1,27 @@ +# Piantor UV 44 + +![Piantor UV 44](https://i.ibb.co/QvJM1GR/20240806-PIANTORUV44-00.png) + +PiantorUV44 is a Piantor/Cantor fork with Raspberry Pi Pico, hybrid hotswap socket and soldered-in switches support and flippable PCB. + +* Keyboard Maintainer: [azhizhinov](https://github.com/azhizhinov) +* Hardware Supported: RP2040 +* Hardware Availability: https://github.com/azhizhinov/PIANTORUV44 + +Make example for this keyboard (after setting up your build environment): + + make piantoruv44:default + +Flashing example for this keyboard: + + make piantoruv44: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: + +* **Physical reset button**: Hold the `BOOT` button on the Pico and press the `RST` button on the Pico, release the the `RST` button before the `BOOT` button. +* **Keycode in layout**: Press the key mapped to `QK_BOOT` if it is available +Once you enter the bootloader, the keyboard will show up as a USB device on your computer, you could drag and drop a firmware file to flash it, but I recommend using the flash commands for the respective side. From 27d68ef8b9310de40532aade86978ed2a5608ce9 Mon Sep 17 00:00:00 2001 From: Victor <87155454+t4corun@users.noreply.github.com> Date: Thu, 10 Oct 2024 22:27:15 -0500 Subject: [PATCH 050/124] Add Ploopyco functions for host state control (#23953) --- keyboards/ploopyco/ploopyco.c | 16 ++++++++++++---- keyboards/ploopyco/ploopyco.h | 2 ++ keyboards/ploopyco/readme.md | 10 +++++----- 3 files changed, 19 insertions(+), 9 deletions(-) diff --git a/keyboards/ploopyco/ploopyco.c b/keyboards/ploopyco/ploopyco.c index a6f76203d64..57f2a26b8c3 100644 --- a/keyboards/ploopyco/ploopyco.c +++ b/keyboards/ploopyco/ploopyco.c @@ -128,6 +128,16 @@ void encoder_driver_task(void) { } #endif +void toggle_drag_scroll(void) { + is_drag_scroll ^= 1; +} + +void cycle_dpi(void) { + keyboard_config.dpi_config = (keyboard_config.dpi_config + 1) % DPI_OPTION_SIZE; + eeconfig_update_kb(keyboard_config.raw); + pointing_device_set_cpi(dpi_array[keyboard_config.dpi_config]); +} + report_mouse_t pointing_device_task_kb(report_mouse_t mouse_report) { if (is_drag_scroll) { scroll_accumulated_h += (float)mouse_report.x / PLOOPY_DRAGSCROLL_DIVISOR_H; @@ -174,9 +184,7 @@ bool process_record_kb(uint16_t keycode, keyrecord_t* record) { } if (keycode == DPI_CONFIG && record->event.pressed) { - keyboard_config.dpi_config = (keyboard_config.dpi_config + 1) % DPI_OPTION_SIZE; - eeconfig_update_kb(keyboard_config.raw); - pointing_device_set_cpi(dpi_array[keyboard_config.dpi_config]); + cycle_dpi(); } if (keycode == DRAG_SCROLL) { @@ -184,7 +192,7 @@ bool process_record_kb(uint16_t keycode, keyrecord_t* record) { is_drag_scroll = record->event.pressed; #else if (record->event.pressed) { - is_drag_scroll ^= 1; + toggle_drag_scroll(); } #endif } diff --git a/keyboards/ploopyco/ploopyco.h b/keyboards/ploopyco/ploopyco.h index 61a8d58a933..eadd04d3ae0 100644 --- a/keyboards/ploopyco/ploopyco.h +++ b/keyboards/ploopyco/ploopyco.h @@ -37,3 +37,5 @@ enum ploopy_keycodes { bool encoder_update_user(uint8_t index, bool clockwise); bool encoder_update_kb(uint8_t index, bool clockwise); +void toggle_drag_scroll(void); +void cycle_dpi(void); diff --git a/keyboards/ploopyco/readme.md b/keyboards/ploopyco/readme.md index b6eecf080e9..a9777ca7cea 100644 --- a/keyboards/ploopyco/readme.md +++ b/keyboards/ploopyco/readme.md @@ -10,11 +10,11 @@ # Customizing your PloopyCo Device There are a number of behavioral settings that you can use to help customize your experience -| | | | -|---------------------------------|-------------------|-----------------------------------------------------------| -| `PLOOPY_IGNORE_SCROLL_CLICK` | *__not_defined__* | Ignores scroll wheel if it is pressed down. | -| `PLOOPY_SCROLL_DEBOUNCE` | `5` | Number of milliseconds between scroll events. | -| `PLOOPY_SCROLL_BUTTON_DEBOUNCE` | `100` | Time to ignore scroll events after pressing scroll wheel. | +|Define |Default Value|Description | +|-------------------------------|-------------|---------------------------------------------------------| +|`PLOOPY_IGNORE_SCROLL_CLICK` |*Not defined*|Ignores scroll wheel if it is pressed down. | +|`PLOOPY_SCROLL_DEBOUNCE` |`5` |Number of milliseconds between scroll events. | +|`PLOOPY_SCROLL_BUTTON_DEBOUNCE`|`100` |Time to ignore scroll events after pressing scroll wheel.| ## DPI From f43c9127bf9e030ffb372fe46179abf99d7d8b72 Mon Sep 17 00:00:00 2001 From: Joe Scotto <8194147+joe-scotto@users.noreply.github.com> Date: Thu, 10 Oct 2024 23:27:56 -0400 Subject: [PATCH 051/124] Add Scotto37 handwired keyboard (#23938) Co-authored-by: Joel Challis --- .../scottokeebs/scotto37/keyboard.json | 69 +++++++++++++++++++ .../scotto37/keymaps/default/config.h | 22 ++++++ .../scotto37/keymaps/default/keymap.c | 45 ++++++++++++ .../handwired/scottokeebs/scotto37/readme.md | 29 ++++++++ 4 files changed, 165 insertions(+) create mode 100644 keyboards/handwired/scottokeebs/scotto37/keyboard.json create mode 100644 keyboards/handwired/scottokeebs/scotto37/keymaps/default/config.h create mode 100644 keyboards/handwired/scottokeebs/scotto37/keymaps/default/keymap.c create mode 100644 keyboards/handwired/scottokeebs/scotto37/readme.md diff --git a/keyboards/handwired/scottokeebs/scotto37/keyboard.json b/keyboards/handwired/scottokeebs/scotto37/keyboard.json new file mode 100644 index 00000000000..579840e8d14 --- /dev/null +++ b/keyboards/handwired/scottokeebs/scotto37/keyboard.json @@ -0,0 +1,69 @@ +{ + "manufacturer": "ScottoKeebs", + "keyboard_name": "Scotto37", + "maintainer": "joe-scotto", + "bootloader": "rp2040", + "diode_direction": "COL2ROW", + "features": { + "bootmagic": true, + "command": false, + "console": false, + "extrakey": true, + "mousekey": true, + "nkro": true + }, + "matrix_pins": { + "cols": ["GP2", "GP3", "GP4", "GP5", "GP6", "GP7", "GP8", "GP9", "GP29", "GP28"], + "rows": ["GP22", "GP20", "GP23", "GP21"] + }, + "processor": "RP2040", + "url": "https://scottokeebs.com", + "usb": { + "device_version": "1.0.0", + "pid": "0x0027", + "vid": "0x534B" + }, + "layouts": { + "LAYOUT_3x10_7": { + "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": [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": [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": [3, 0], "x": 0, "y": 3}, + {"matrix": [3, 1], "x": 1, "y": 3}, + {"matrix": [3, 2], "x": 2, "y": 3}, + {"matrix": [3, 4], "x": 4, "y": 3}, + {"matrix": [3, 7], "x": 7, "y": 3}, + {"matrix": [3, 8], "x": 8, "y": 3}, + {"matrix": [3, 9], "x": 9, "y": 3} + ] + } + } +} diff --git a/keyboards/handwired/scottokeebs/scotto37/keymaps/default/config.h b/keyboards/handwired/scottokeebs/scotto37/keymaps/default/config.h new file mode 100644 index 00000000000..8ac58ca23c0 --- /dev/null +++ b/keyboards/handwired/scottokeebs/scotto37/keymaps/default/config.h @@ -0,0 +1,22 @@ +/* +Copyright 2024 Joe Scotto + +This program is free software: you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation, either version 2 of the License, or +(at your option) any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License +along with this program. If not, see . +*/ + +#pragma once + +// Define options +#define TAPPING_TERM 135 +#define PERMISSIVE_HOLD diff --git a/keyboards/handwired/scottokeebs/scotto37/keymaps/default/keymap.c b/keyboards/handwired/scottokeebs/scotto37/keymaps/default/keymap.c new file mode 100644 index 00000000000..a5d489f0044 --- /dev/null +++ b/keyboards/handwired/scottokeebs/scotto37/keymaps/default/keymap.c @@ -0,0 +1,45 @@ +/* +Copyright 2024 Joe Scotto + +This program is free software: you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation, either version 2 of the License, or +(at your option) any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License +along with this program. If not, see . +*/ + +#include QMK_KEYBOARD_H + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + [0] = LAYOUT_3x10_7( + KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, + KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_BSPC, + LSFT_T(KC_Z), KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMMA, KC_DOT, RSFT_T(KC_SLSH), + KC_ESC, KC_LCTL, KC_LALT, LGUI_T(KC_SPC), LT(1, KC_TAB), LT(2, KC_ENT), KC_ESC + ), + [1] = LAYOUT_3x10_7( + KC_UNDS, KC_MINS, KC_PLUS, KC_EQL, KC_COLN, KC_GRV, KC_MRWD, KC_MPLY, KC_MFFD, KC_DEL, + KC_LCBR, KC_LPRN, KC_RPRN, KC_RCBR, KC_PIPE, KC_ESC, KC_LEFT, KC_UP, KC_DOWN, KC_RGHT, + LSFT_T(KC_LBRC), KC_QUOT, KC_DQUO, KC_RBRC, KC_SCLN, KC_TILDE, KC_VOLD, KC_MUTE, KC_VOLU, RSFT_T(KC_BSLS), + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS + ), + [2] = LAYOUT_3x10_7( + KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_CAPS, KC_BSPC, + KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, + KC_LSFT, KC_NO, KC_NO, KC_NO, MO(3), KC_NO, KC_NO, KC_COMM, KC_DOT, RSFT_T(KC_SLSH), + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS + ), + [3] = LAYOUT_3x10_7( + KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, + KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, + KC_F11, KC_NO, KC_NO, QK_BOOT, KC_TRNS, KC_NO, KC_NO, KC_NO, KC_NO, KC_F12, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS + ) +}; \ No newline at end of file diff --git a/keyboards/handwired/scottokeebs/scotto37/readme.md b/keyboards/handwired/scottokeebs/scotto37/readme.md new file mode 100644 index 00000000000..a2198e17e30 --- /dev/null +++ b/keyboards/handwired/scottokeebs/scotto37/readme.md @@ -0,0 +1,29 @@ +# Scotto37 + +![Scotto37](https://i.imgur.com/WOXAGc3h.jpg) + +A 37-key gasket-mounted 0.25u column-staggered keyboard with a 3u spacebar. + +* Keyboard Maintainer: [Joe Scotto](https://github.com/joe-scotto) +* Hardware Supported: RP2040 Pro Micro +* Hardware Availability: [ScottoKeebs](https://scottokeebs.com), [Amazon](https://amazon.com), [AliExpress](https://aliexpress.com) + +# Compiling + +Make example for this keyboard (after setting up your build environment): + + make handwired/scottokeebs/scotto37:default + +Flashing example for this keyboard: + + make handwired/scottokeebs/scotto37: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 f0b5feb85806269d5c51684e8d7787ee8a084567 Mon Sep 17 00:00:00 2001 From: Woodrow Douglass Date: Thu, 10 Oct 2024 23:31:08 -0400 Subject: [PATCH 052/124] fix hotdox76v2 oled font to more closely mirror utf8 (#23807) --- keyboards/hotdox76v2/hotdox76v2.c | 10 +- keyboards/hotdox76v2/oled_font_lib/ext_font.h | 214 +++++++++--------- 2 files changed, 112 insertions(+), 112 deletions(-) diff --git a/keyboards/hotdox76v2/hotdox76v2.c b/keyboards/hotdox76v2/hotdox76v2.c index 26dc8f4d741..e60777703ee 100644 --- a/keyboards/hotdox76v2/hotdox76v2.c +++ b/keyboards/hotdox76v2/hotdox76v2.c @@ -60,7 +60,7 @@ led_config_t g_led_config = { #ifdef OLED_ENABLE -# define UNC (94 + 0x21) +# define UNC (' ') typedef struct _master_to_slave_t { int cur_alp_index; char current_alp[7]; @@ -115,8 +115,8 @@ void render_layer_helper_fun(uint8_t start_line, const char *data, uint8_t gap_w for (j = 0; j < l; ++j) { // font index for (k = 0; k < 12; ++k) { // font byte index // base + logo_w(32) + gap_w(12) +l*font_w(12)+current_byte_index - oled_write_raw_byte(pgm_read_byte(&ext_big_font[pgm_read_byte(&data[j]) - 0x21][k]), start_line * 2 * 128 + 32 + gap_w + j * 12 + k); - oled_write_raw_byte(pgm_read_byte(&ext_big_font[pgm_read_byte(&data[j]) - 0x21][k + 12]), start_line * 2 * 128 + 128 + 32 + gap_w + j * 12 + k); + oled_write_raw_byte(pgm_read_byte(&ext_big_font[pgm_read_byte(&data[j]) - 0x20][k]), start_line * 2 * 128 + 32 + gap_w + j * 12 + k); + oled_write_raw_byte(pgm_read_byte(&ext_big_font[pgm_read_byte(&data[j]) - 0x20][k + 12]), start_line * 2 * 128 + 128 + 32 + gap_w + j * 12 + k); } } for (j = 0; j < gap_w; ++j) { @@ -151,8 +151,8 @@ void render_cur_input_helper_fun(uint8_t start_line, const char *data, uint8_t g for (j = 0; j < l; ++j) { // font index for (k = 0; k < 12; ++k) { // font byte index // base + logo_w(0) + gap_w(12) +l*font_w(12)+current_byte_index - oled_write_raw_byte(pgm_read_byte(&ext_big_font[data[j] - 0x21][k]), start_line * 2 * 128 + gap_w + j * 12 + k); - oled_write_raw_byte(pgm_read_byte(&ext_big_font[data[j] - 0x21][12 + k]), start_line * 2 * 128 + 128 + gap_w + j * 12 + k); + oled_write_raw_byte(pgm_read_byte(&ext_big_font[data[j] - 0x20][k]), start_line * 2 * 128 + gap_w + j * 12 + k); + oled_write_raw_byte(pgm_read_byte(&ext_big_font[data[j] - 0x20][12 + k]), start_line * 2 * 128 + 128 + gap_w + j * 12 + k); } } for (j = 0; j < gap_w; ++j) { diff --git a/keyboards/hotdox76v2/oled_font_lib/ext_font.h b/keyboards/hotdox76v2/oled_font_lib/ext_font.h index 3d0f524025c..dbcb59ed80e 100644 --- a/keyboards/hotdox76v2/oled_font_lib/ext_font.h +++ b/keyboards/hotdox76v2/oled_font_lib/ext_font.h @@ -7,116 +7,116 @@ #include "progmem.h" /* - !(0) "(1) #(2) $(3) %(4) &(5) '(6) ((7) - )(8) *(9) +(10) ,(11) -(12) .(13) /(14) 0(15) - 1(16) 2(17) 3(18) 4(19) 5(20) 6(21) 7(22) 8(23) - 9(24) :(25) ;(26) <(27) =(28) >(29) ?(30) @(31) - A(32) B(33) C(34) D(35) E(36) F(37) G(38) H(39) - I(40) J(41) K(42) L(43) M(44) N(45) O(46) P(47) - Q(48) R(49) S(50) T(51) U(52) V(53) W(54) X(55) - Y(56) Z(57) [(58) \(59) ](60) ^(61) _(62) `(63) - a(64) b(65) c(66) d(67) e(68) f(69) g(70) h(71) - i(72) j(73) k(74) l(75) m(76) n(77) o(78) p(79) - q(80) r(81) s(82) t(83) u(84) v(85) w(86) x(87) - y(88) z(89) {(90) |(91) }(92) ~(93) (94) + (0) !(1) "(2) #(3) $(4) %(5) &(6) '(7) ((8) + )(9) *(10) +(11) ,(12) -(13) .(14) /(15) 0(16) + 1(17) 2(18) 3(19) 4(20) 5(21) 6(22) 7(23) 8(24) + 9(25) :(26) ;(27) <(28) =(29) >(30) ?(31) @(32) + A(33) B(34) C(35) D(36) E(37) F(38) G(39) H(40) + I(41) J(42) K(43) L(44) M(45) N(46) O(47) P(48) + Q(49) R(50) S(51) T(52) U(53) V(54) W(55) X(56) + Y(57) Z(58) [(59) \(60) ](61) ^(62) _(63) `(64) + a(65) b(66) c(67) d(68) e(69) f(70) g(71) h(72) + i(73) j(74) k(75) l(76) m(77) n(78) o(79) p(80) + q(81) r(82) s(83) t(84) u(85) v(86) w(87) x(88) + y(89) z(90) {(91) |(92) }(93) ~(94) */ static const unsigned char ext_big_font[95][24] PROGMEM = { -{0x00,0x00,0x00,0x00,0xFC,0xFC,0xFC,0xFC,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x1B,0x1B,0x1B,0x1B,0x00,0x00,0x00,0x00},/*"!",0*/ -{0x00,0x00,0x00,0x18,0xF8,0x18,0x00,0x18,0xF8,0x18,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},/*""",1*/ -{0x00,0x00,0x60,0x60,0xFE,0xFE,0x60,0xFE,0xFE,0x60,0x00,0x00,0x00,0x00,0x06,0x7F,0x7F,0x06,0x7F,0x7F,0x06,0x06,0x00,0x00},/*"#",2*/ -{0x00,0x00,0x00,0xF0,0xF8,0x9E,0x9E,0xB8,0x38,0x00,0x00,0x00,0x00,0x00,0x00,0x1C,0x1C,0xF9,0xF9,0x1F,0x0F,0x00,0x00,0x00},/*"$",3*/ -{0x00,0x00,0x38,0x44,0xC4,0xC4,0xB8,0x40,0x40,0x00,0x00,0x00,0x00,0x00,0x01,0x01,0x0E,0x11,0x11,0x11,0x0E,0x00,0x00,0x00},/*"%",4*/ -{0x00,0x00,0x60,0xE0,0xB0,0x30,0x30,0x30,0x30,0x00,0x00,0x00,0x00,0x0E,0x0F,0x19,0x19,0x1B,0x1E,0x0E,0x0F,0x1B,0x00,0x00},/*"&",5*/ -{0x00,0x00,0x00,0x00,0x00,0x18,0xF8,0x18,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},/*"'",6*/ -{0x00,0x00,0x00,0x00,0x00,0xC0,0xF0,0x3C,0x0C,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x07,0x1F,0x78,0x60,0x00,0x00,0x00},/*"(",7*/ -{0x00,0x00,0x0C,0x3C,0xF0,0xC0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x60,0x78,0x1F,0x07,0x00,0x00,0x00,0x00,0x00,0x00},/*")",8*/ -{0x00,0x00,0x30,0xB0,0xF0,0xFC,0xFC,0xF0,0xB0,0x30,0x00,0x00,0x00,0x00,0x00,0x01,0x01,0x00,0x00,0x01,0x01,0x00,0x00,0x00},/*"*",9*/ -{0x00,0x80,0x80,0x80,0x80,0xF8,0xF8,0x80,0x80,0x80,0x80,0x00,0x00,0x01,0x01,0x01,0x01,0x1F,0x1F,0x01,0x01,0x01,0x01,0x00},/*"+",10*/ -{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xE0,0x38,0x08,0x00,0x00,0x00,0x00,0x00},/*",",11*/ -{0x00,0x00,0x00,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x00,0x00,0x00,0x00,0x00,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x00,0x00},/*"-",12*/ -{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x18,0x18,0x18,0x00,0x00,0x00,0x00},/*".",13*/ -{0x00,0x00,0x00,0x00,0x00,0x80,0xE0,0x78,0x1E,0x06,0x00,0x00,0x00,0x00,0x60,0x78,0x1E,0x07,0x01,0x00,0x00,0x00,0x00,0x00},/*"/",14*/ -{0x00,0x00,0xF0,0xF8,0x1C,0x0C,0x1C,0xF8,0xF0,0x00,0x00,0x00,0x00,0x00,0x07,0x0F,0x1C,0x18,0x1C,0x0F,0x07,0x00,0x00,0x00},/*"0",15*/ -{0x00,0x00,0x18,0x18,0x18,0xFC,0xFC,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x18,0x18,0x18,0x1F,0x1F,0x18,0x18,0x18,0x00,0x00},/*"1",16*/ -{0x00,0x00,0x30,0x38,0x0C,0x0C,0x8C,0xF8,0x70,0x00,0x00,0x00,0x00,0x00,0x18,0x1C,0x1E,0x1B,0x19,0x18,0x18,0x00,0x00,0x00},/*"2",17*/ -{0x00,0x00,0x18,0x1C,0xCC,0xCC,0xCC,0xFC,0x38,0x00,0x00,0x00,0x00,0x0C,0x1C,0x18,0x18,0x18,0x19,0x0F,0x07,0x00,0x00,0x00},/*"3",18*/ -{0x00,0x00,0xC0,0xE0,0x78,0x1C,0xFC,0xFC,0x00,0x00,0x00,0x00,0x00,0x03,0x03,0x03,0x1B,0x1B,0x1F,0x1F,0x1B,0x00,0x00,0x00},/*"4",19*/ -{0x00,0x00,0xFC,0xFC,0xCC,0xCC,0xCC,0x8C,0x00,0x00,0x00,0x00,0x00,0x0C,0x1C,0x18,0x18,0x18,0x18,0x0F,0x07,0x00,0x00,0x00},/*"5",20*/ -{0x00,0x00,0xE0,0xF0,0xB8,0xDC,0xCC,0xCC,0x8C,0x00,0x00,0x00,0x00,0x00,0x07,0x0F,0x19,0x18,0x18,0x1F,0x0F,0x00,0x00,0x00},/*"6",21*/ -{0x00,0x00,0x1C,0x1C,0x0C,0x0C,0xCC,0xFC,0x3C,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x1C,0x1F,0x03,0x00,0x00,0x00,0x00},/*"7",22*/ -{0x00,0x00,0x38,0xFC,0xCC,0xCC,0xCC,0xFC,0x38,0x00,0x00,0x00,0x00,0x00,0x0F,0x1F,0x18,0x18,0x18,0x1F,0x0F,0x00,0x00,0x00},/*"8",23*/ -{0x00,0x00,0xF8,0xFC,0x8C,0x8C,0xCC,0xF8,0xF0,0x00,0x00,0x00,0x00,0x00,0x18,0x19,0x19,0x1D,0x0E,0x07,0x03,0x00,0x00,0x00},/*"9",24*/ -{0x00,0x00,0x00,0x00,0x00,0x60,0x60,0x60,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x18,0x18,0x18,0x00,0x00,0x00,0x00},/*":",25*/ -{0x00,0x00,0x00,0x00,0x00,0x60,0x60,0x60,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x60,0x18,0x08,0x00,0x00,0x00,0x00,0x00},/*";",26*/ -{0x00,0x00,0x00,0x80,0x80,0xC0,0x60,0x60,0x30,0x30,0x00,0x00,0x00,0x01,0x01,0x03,0x03,0x06,0x0C,0x0C,0x18,0x18,0x00,0x00},/*"<",27*/ -{0x00,0xC0,0xC0,0xC0,0xC0,0xC0,0xC0,0xC0,0xC0,0xC0,0x00,0x00,0x00,0x06,0x06,0x06,0x06,0x06,0x06,0x06,0x06,0x06,0x00,0x00},/*"=",28*/ -{0x00,0x30,0x30,0x60,0x60,0xC0,0x80,0x80,0x00,0x00,0x00,0x00,0x00,0x18,0x18,0x0C,0x0C,0x06,0x03,0x03,0x01,0x01,0x00,0x00},/*">",29*/ -{0x00,0x00,0x70,0x78,0x18,0x18,0x98,0xF8,0xF0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x1B,0x1B,0x01,0x01,0x00,0x00,0x00,0x00},/*"?",30*/ -{0x00,0x00,0xF0,0x08,0xC4,0x24,0x24,0xF8,0x00,0x00,0x00,0x00,0x00,0x00,0x0F,0x10,0x21,0x22,0x22,0x13,0x00,0x00,0x00,0x00},/*"@",31*/ -{0x00,0x00,0x18,0x98,0xF8,0x38,0x38,0xF0,0x80,0x00,0x00,0x00,0x00,0x18,0x1C,0x1F,0x1B,0x03,0x03,0x1B,0x1F,0x1C,0x18,0x00},/*"A",32*/ -{0x00,0x18,0xF8,0xF8,0x98,0x98,0x98,0xF8,0x70,0x00,0x00,0x00,0x00,0x18,0x1F,0x1F,0x19,0x19,0x19,0x19,0x1F,0x0E,0x00,0x00},/*"B",33*/ -{0x00,0xE0,0xF0,0x38,0x18,0x18,0x18,0x10,0x78,0x78,0x00,0x00,0x00,0x07,0x0F,0x0C,0x18,0x18,0x18,0x18,0x0C,0x0C,0x00,0x00},/*"C",34*/ -{0x00,0x18,0xF8,0xF8,0x18,0x18,0x18,0x38,0xF0,0xE0,0x00,0x00,0x00,0x18,0x1F,0x1F,0x18,0x18,0x18,0x1C,0x0F,0x07,0x00,0x00},/*"D",35*/ -{0x00,0x18,0xF8,0xF8,0x98,0xD8,0xD8,0x18,0x78,0x78,0x00,0x00,0x00,0x18,0x1F,0x1F,0x19,0x1B,0x1B,0x18,0x1E,0x1E,0x00,0x00},/*"E",36*/ -{0x00,0x18,0xF8,0xF8,0x98,0xD8,0xD8,0x18,0x78,0x78,0x00,0x00,0x00,0x18,0x1F,0x1F,0x19,0x1B,0x1B,0x00,0x00,0x00,0x00,0x00},/*"F",37*/ -{0x00,0xE0,0xF0,0x38,0x18,0x18,0x10,0x38,0x38,0x00,0x00,0x00,0x00,0x07,0x0F,0x1C,0x18,0x1B,0x1B,0x1F,0x0F,0x03,0x00,0x00},/*"G",38*/ -{0x00,0x18,0xF8,0xF8,0x98,0x80,0x98,0xF8,0xF8,0x18,0x00,0x00,0x00,0x18,0x1F,0x1F,0x19,0x01,0x19,0x1F,0x1F,0x18,0x00,0x00},/*"H",39*/ -{0x00,0x00,0x18,0x18,0x18,0xF8,0xF8,0x18,0x18,0x18,0x00,0x00,0x00,0x00,0x18,0x18,0x18,0x1F,0x1F,0x18,0x18,0x18,0x00,0x00},/*"I",40*/ -{0x00,0x00,0x00,0x00,0x18,0x18,0x18,0xF8,0xF8,0x18,0x18,0x00,0x00,0x00,0x0F,0x0F,0x18,0x18,0x18,0x0F,0x0F,0x00,0x00,0x00},/*"J",41*/ -{0x00,0x18,0xF8,0xF8,0x98,0xC0,0x78,0x38,0x18,0x18,0x00,0x00,0x00,0x18,0x1F,0x1F,0x19,0x01,0x07,0x1E,0x18,0x18,0x00,0x00},/*"K",42*/ -{0x00,0x18,0x18,0xF8,0xF8,0x18,0x18,0x00,0x00,0x00,0x00,0x00,0x00,0x18,0x18,0x1F,0x1F,0x18,0x18,0x18,0x1F,0x1F,0x00,0x00},/*"L",43*/ -{0x18,0xF8,0xF8,0x38,0xE0,0x00,0xE0,0x38,0xF8,0xF8,0x18,0x00,0x18,0x1F,0x1F,0x18,0x19,0x03,0x19,0x18,0x1F,0x1F,0x18,0x00},/*"M",44*/ -{0x00,0x18,0xF8,0xF8,0xF8,0xE0,0x18,0xF8,0xF8,0x18,0x00,0x00,0x00,0x18,0x1F,0x1F,0x18,0x03,0x1F,0x1F,0x1F,0x00,0x00,0x00},/*"N",45*/ -{0x00,0xC0,0xF0,0x30,0x18,0x18,0x18,0x30,0xF0,0xC0,0x00,0x00,0x00,0x03,0x0F,0x0C,0x18,0x18,0x18,0x0C,0x0F,0x03,0x00,0x00},/*"O",46*/ -{0x00,0x18,0xF8,0xF8,0x98,0x98,0x98,0xF8,0xF0,0x00,0x00,0x00,0x00,0x18,0x1F,0x1F,0x19,0x19,0x19,0x01,0x00,0x00,0x00,0x00},/*"P",47*/ -{0x00,0xC0,0xF0,0x30,0x18,0x18,0x18,0x30,0xF0,0xC0,0x00,0x00,0x00,0x03,0x0F,0xCC,0xF8,0x78,0x78,0xCC,0xEF,0x63,0x00,0x00},/*"Q",48*/ -{0x00,0x18,0xF8,0xF8,0x98,0x98,0x98,0xF8,0x70,0x00,0x00,0x00,0x00,0x18,0x1F,0x1F,0x19,0x1B,0x07,0x0E,0x1C,0x18,0x00,0x00},/*"R",49*/ -{0x00,0x00,0x70,0xF8,0x98,0x98,0x90,0x38,0x38,0x00,0x00,0x00,0x00,0x00,0x1C,0x1C,0x09,0x19,0x19,0x1F,0x0E,0x00,0x00,0x00},/*"S",50*/ -{0x00,0xF8,0xF8,0x18,0x18,0xF8,0xF8,0x18,0x18,0xF8,0xF8,0x00,0x00,0x00,0x00,0x18,0x18,0x1F,0x1F,0x18,0x18,0x00,0x00,0x00},/*"T",51*/ -{0x00,0x18,0xF8,0xF8,0x18,0x00,0x18,0xF8,0xF8,0x18,0x00,0x00,0x00,0x00,0x07,0x0F,0x18,0x18,0x18,0x0F,0x07,0x00,0x00,0x00},/*"U",52*/ -{0x00,0x18,0x78,0xF8,0x98,0x00,0x98,0xF8,0x78,0x18,0x00,0x00,0x00,0x00,0x00,0x03,0x1F,0x18,0x1F,0x03,0x00,0x00,0x00,0x00},/*"V",53*/ -{0x18,0xF8,0xF8,0x18,0xD8,0xC0,0xD8,0x18,0xF8,0xF8,0x18,0x00,0x00,0x01,0x1F,0x1C,0x1F,0x01,0x1F,0x1C,0x1F,0x01,0x00,0x00},/*"W",54*/ -{0x00,0x18,0x38,0x78,0xD8,0x80,0xD8,0x78,0x38,0x18,0x00,0x00,0x00,0x18,0x1C,0x1E,0x1B,0x01,0x1B,0x1E,0x1C,0x18,0x00,0x00},/*"X",55*/ -{0x00,0x18,0x38,0x78,0xD8,0x80,0x80,0xD8,0x78,0x38,0x18,0x00,0x00,0x00,0x00,0x18,0x18,0x1F,0x1F,0x18,0x18,0x00,0x00,0x00},/*"Y",56*/ -{0x00,0x00,0x78,0x78,0x18,0x98,0xD8,0x78,0x38,0x00,0x00,0x00,0x00,0x00,0x1C,0x1E,0x1B,0x19,0x18,0x1E,0x1E,0x00,0x00,0x00},/*"Z",57*/ -{0x00,0x00,0x00,0x00,0x00,0xFC,0xFC,0x0C,0x0C,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x7F,0x7F,0x60,0x60,0x00,0x00,0x00},/*"[",58*/ -{0x00,0x00,0x06,0x1E,0x78,0xE0,0x80,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,0x07,0x1E,0x78,0x60,0x00,0x00},/*"\",59*/ -{0x00,0x00,0x00,0x0C,0x0C,0xFC,0xFC,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x60,0x60,0x7F,0x7F,0x00,0x00,0x00,0x00,0x00},/*"]",60*/ -{0x00,0x00,0x00,0x60,0x70,0x18,0x0C,0x18,0x70,0x60,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},/*"^",61*/ -{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},/*"_",62*/ -{0x00,0x00,0x00,0x00,0x02,0x04,0x08,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},/*"`",63*/ -{0x00,0x00,0x00,0x60,0x60,0x60,0x60,0xE0,0xC0,0x00,0x00,0x00,0x00,0x00,0x0E,0x1F,0x1B,0x1B,0x0B,0x1F,0x1F,0x18,0x00,0x00},/*"a",64*/ -{0x00,0x0C,0xFC,0xFC,0xC0,0x60,0x60,0xE0,0xC0,0x80,0x00,0x00,0x00,0x18,0x1F,0x1F,0x0C,0x18,0x18,0x1C,0x0F,0x07,0x00,0x00},/*"b",65*/ -{0x00,0x00,0x80,0xC0,0xE0,0x60,0x60,0x60,0xC0,0xE0,0x00,0x00,0x00,0x00,0x07,0x0F,0x1C,0x18,0x18,0x18,0x18,0x0C,0x00,0x00},/*"c",66*/ -{0x00,0x00,0x80,0xC0,0xE0,0x60,0x60,0xCC,0xFC,0xFC,0x00,0x00,0x00,0x00,0x07,0x0F,0x1C,0x18,0x18,0x0C,0x1F,0x1F,0x18,0x00},/*"d",67*/ -{0x00,0x00,0x80,0xC0,0x60,0x60,0x60,0x60,0xC0,0x80,0x00,0x00,0x00,0x00,0x07,0x0F,0x1B,0x1B,0x1B,0x1B,0x1B,0x0B,0x00,0x00},/*"e",68*/ -{0x00,0x00,0x60,0x60,0xF8,0xFC,0x6C,0x6C,0x6C,0x6C,0x00,0x00,0x00,0x00,0x18,0x18,0x1F,0x1F,0x18,0x18,0x18,0x00,0x00,0x00},/*"f",69*/ -{0x00,0x00,0x80,0xC0,0xE0,0x60,0x60,0xC0,0xE0,0xE0,0x60,0x00,0x00,0x00,0x07,0x0F,0xDC,0xD8,0xD8,0xCC,0xFF,0x7F,0x00,0x00},/*"g",70*/ -{0x00,0x0C,0xFC,0xFC,0xC0,0x60,0x60,0x60,0xE0,0xC0,0x00,0x00,0x00,0x18,0x1F,0x1F,0x18,0x00,0x00,0x18,0x1F,0x1F,0x18,0x00},/*"h",71*/ -{0x00,0x00,0x00,0x60,0x60,0xEC,0xEC,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x18,0x18,0x18,0x1F,0x1F,0x18,0x18,0x18,0x00,0x00},/*"i",72*/ -{0x00,0x00,0x60,0x60,0x60,0x6C,0x6C,0xE0,0xE0,0x00,0x00,0x00,0x00,0x00,0xC0,0xC0,0xC0,0xC0,0xC0,0xFF,0x7F,0x00,0x00,0x00},/*"j",73*/ -{0x00,0x00,0x0C,0xFC,0xFC,0x80,0xE0,0x60,0x60,0x60,0x00,0x00,0x00,0x00,0x18,0x1F,0x1F,0x03,0x06,0x1C,0x18,0x18,0x00,0x00},/*"k",74*/ -{0x00,0x00,0x00,0x0C,0x0C,0xFC,0xFC,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x18,0x18,0x18,0x1F,0x1F,0x18,0x18,0x18,0x00,0x00},/*"l",75*/ -{0x00,0x60,0xE0,0xE0,0x60,0xE0,0xC0,0x60,0xE0,0xC0,0x00,0x00,0x00,0x18,0x1F,0x1F,0x00,0x1F,0x1F,0x00,0x1F,0x1F,0x18,0x00},/*"m",76*/ -{0x00,0x60,0xE0,0xE0,0xC0,0x60,0x60,0x60,0xE0,0xC0,0x00,0x00,0x00,0x18,0x1F,0x1F,0x18,0x00,0x00,0x18,0x1F,0x1F,0x18,0x00},/*"n",77*/ -{0x00,0x00,0x80,0xC0,0xE0,0x60,0x60,0xE0,0xC0,0x80,0x00,0x00,0x00,0x00,0x07,0x0F,0x1C,0x18,0x18,0x1C,0x0F,0x07,0x00,0x00},/*"o",78*/ -{0x00,0x60,0xE0,0xE0,0xC0,0x60,0x60,0xE0,0xC0,0x80,0x00,0x00,0x00,0xC0,0xFF,0xFF,0xCC,0xD8,0x18,0x1C,0x0F,0x07,0x00,0x00},/*"p",79*/ -{0x00,0x00,0x80,0xC0,0xE0,0x60,0x60,0xC0,0xE0,0xE0,0x60,0x00,0x00,0x00,0x07,0x0F,0x1C,0x18,0xD8,0xCC,0xFF,0xFF,0xC0,0x00},/*"q",80*/ -{0x00,0x00,0x60,0x60,0xE0,0xE0,0xC0,0x60,0x60,0x60,0x00,0x00,0x00,0x00,0x18,0x18,0x1F,0x1F,0x18,0x18,0x18,0x00,0x00,0x00},/*"r",81*/ -{0x00,0x00,0xC0,0xE0,0x60,0x60,0x60,0xE0,0xE0,0x00,0x00,0x00,0x00,0x00,0x1D,0x1D,0x1B,0x1B,0x1B,0x1E,0x0E,0x00,0x00,0x00},/*"s",82*/ -{0x00,0x00,0x60,0x60,0xFC,0xFC,0x60,0x60,0x60,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x0F,0x1F,0x18,0x18,0x18,0x0C,0x00,0x00},/*"t",83*/ -{0x00,0x60,0xE0,0xE0,0x00,0x00,0x00,0x60,0xE0,0xE0,0x00,0x00,0x00,0x00,0x0F,0x1F,0x18,0x18,0x18,0x0C,0x1F,0x1F,0x18,0x00},/*"u",84*/ -{0x00,0x60,0xE0,0xE0,0x60,0x00,0x60,0xE0,0xE0,0x60,0x00,0x00,0x00,0x00,0x00,0x07,0x1F,0x18,0x1F,0x07,0x00,0x00,0x00,0x00},/*"v",85*/ -{0x60,0xE0,0xE0,0x60,0x00,0x80,0x00,0x60,0xE0,0xE0,0x60,0x00,0x00,0x01,0x1F,0x1E,0x07,0x03,0x07,0x1E,0x1F,0x01,0x00,0x00},/*"w",86*/ -{0x00,0x00,0x60,0xE0,0xE0,0x00,0x00,0xE0,0xE0,0x60,0x00,0x00,0x00,0x00,0x18,0x1C,0x1F,0x03,0x03,0x1F,0x1C,0x18,0x00,0x00},/*"x",87*/ -{0x00,0x60,0xE0,0xE0,0x60,0x00,0x00,0x60,0xE0,0xE0,0x60,0x00,0x00,0xC0,0xC0,0xC1,0xE7,0xFE,0xDC,0xC7,0x03,0x00,0x00,0x00},/*"y",88*/ -{0x00,0x00,0xE0,0xE0,0x60,0x60,0x60,0xE0,0xE0,0x60,0x00,0x00,0x00,0x00,0x18,0x1C,0x1E,0x1B,0x1B,0x19,0x1C,0x1C,0x00,0x00},/*"z",89*/ -{0x00,0x00,0x00,0x00,0x00,0xF8,0xFC,0x0C,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,0x3F,0x7E,0x60,0x00,0x00,0x00,0x00},/*"{",90*/ -{0x00,0x00,0x00,0x00,0x00,0xFC,0xFC,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x7F,0x7F,0x00,0x00,0x00,0x00,0x00},/*"|",91*/ -{0x00,0x00,0x00,0x00,0x0C,0xFC,0xF8,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x60,0x7E,0x3F,0x01,0x00,0x00,0x00,0x00},/*"}",92*/ -{0x00,0x00,0x80,0xC0,0xC0,0xC0,0x80,0x00,0x80,0x80,0x00,0x00,0x00,0x00,0x01,0x01,0x00,0x01,0x03,0x03,0x03,0x01,0x00,0x00},/*"~",93*/ -{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},/*" ",94*/ +{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},/*" ",0*/ +{0x00,0x00,0x00,0x00,0xFC,0xFC,0xFC,0xFC,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x1B,0x1B,0x1B,0x1B,0x00,0x00,0x00,0x00},/*"!",1*/ +{0x00,0x00,0x00,0x18,0xF8,0x18,0x00,0x18,0xF8,0x18,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},/*""",2*/ +{0x00,0x00,0x60,0x60,0xFE,0xFE,0x60,0xFE,0xFE,0x60,0x00,0x00,0x00,0x00,0x06,0x7F,0x7F,0x06,0x7F,0x7F,0x06,0x06,0x00,0x00},/*"#",3*/ +{0x00,0x00,0x00,0xF0,0xF8,0x9E,0x9E,0xB8,0x38,0x00,0x00,0x00,0x00,0x00,0x00,0x1C,0x1C,0xF9,0xF9,0x1F,0x0F,0x00,0x00,0x00},/*"$",4*/ +{0x00,0x00,0x38,0x44,0xC4,0xC4,0xB8,0x40,0x40,0x00,0x00,0x00,0x00,0x00,0x01,0x01,0x0E,0x11,0x11,0x11,0x0E,0x00,0x00,0x00},/*"%",5*/ +{0x00,0x00,0x60,0xE0,0xB0,0x30,0x30,0x30,0x30,0x00,0x00,0x00,0x00,0x0E,0x0F,0x19,0x19,0x1B,0x1E,0x0E,0x0F,0x1B,0x00,0x00},/*"&",6*/ +{0x00,0x00,0x00,0x00,0x00,0x18,0xF8,0x18,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},/*"'",7*/ +{0x00,0x00,0x00,0x00,0x00,0xC0,0xF0,0x3C,0x0C,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x07,0x1F,0x78,0x60,0x00,0x00,0x00},/*"(",8*/ +{0x00,0x00,0x0C,0x3C,0xF0,0xC0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x60,0x78,0x1F,0x07,0x00,0x00,0x00,0x00,0x00,0x00},/*")",9*/ +{0x00,0x00,0x30,0xB0,0xF0,0xFC,0xFC,0xF0,0xB0,0x30,0x00,0x00,0x00,0x00,0x00,0x01,0x01,0x00,0x00,0x01,0x01,0x00,0x00,0x00},/*"*",10*/ +{0x00,0x80,0x80,0x80,0x80,0xF8,0xF8,0x80,0x80,0x80,0x80,0x00,0x00,0x01,0x01,0x01,0x01,0x1F,0x1F,0x01,0x01,0x01,0x01,0x00},/*"+",11*/ +{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xE0,0x38,0x08,0x00,0x00,0x00,0x00,0x00},/*",",12*/ +{0x00,0x00,0x00,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x00,0x00,0x00,0x00,0x00,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x00,0x00},/*"-",13*/ +{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x18,0x18,0x18,0x00,0x00,0x00,0x00},/*".",14*/ +{0x00,0x00,0x00,0x00,0x00,0x80,0xE0,0x78,0x1E,0x06,0x00,0x00,0x00,0x00,0x60,0x78,0x1E,0x07,0x01,0x00,0x00,0x00,0x00,0x00},/*"/",15*/ +{0x00,0x00,0xF0,0xF8,0x1C,0x0C,0x1C,0xF8,0xF0,0x00,0x00,0x00,0x00,0x00,0x07,0x0F,0x1C,0x18,0x1C,0x0F,0x07,0x00,0x00,0x00},/*"0",16*/ +{0x00,0x00,0x18,0x18,0x18,0xFC,0xFC,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x18,0x18,0x18,0x1F,0x1F,0x18,0x18,0x18,0x00,0x00},/*"1",17*/ +{0x00,0x00,0x30,0x38,0x0C,0x0C,0x8C,0xF8,0x70,0x00,0x00,0x00,0x00,0x00,0x18,0x1C,0x1E,0x1B,0x19,0x18,0x18,0x00,0x00,0x00},/*"2",18*/ +{0x00,0x00,0x18,0x1C,0xCC,0xCC,0xCC,0xFC,0x38,0x00,0x00,0x00,0x00,0x0C,0x1C,0x18,0x18,0x18,0x19,0x0F,0x07,0x00,0x00,0x00},/*"3",19*/ +{0x00,0x00,0xC0,0xE0,0x78,0x1C,0xFC,0xFC,0x00,0x00,0x00,0x00,0x00,0x03,0x03,0x03,0x1B,0x1B,0x1F,0x1F,0x1B,0x00,0x00,0x00},/*"4",20*/ +{0x00,0x00,0xFC,0xFC,0xCC,0xCC,0xCC,0x8C,0x00,0x00,0x00,0x00,0x00,0x0C,0x1C,0x18,0x18,0x18,0x18,0x0F,0x07,0x00,0x00,0x00},/*"5",21*/ +{0x00,0x00,0xE0,0xF0,0xB8,0xDC,0xCC,0xCC,0x8C,0x00,0x00,0x00,0x00,0x00,0x07,0x0F,0x19,0x18,0x18,0x1F,0x0F,0x00,0x00,0x00},/*"6",22*/ +{0x00,0x00,0x1C,0x1C,0x0C,0x0C,0xCC,0xFC,0x3C,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x1C,0x1F,0x03,0x00,0x00,0x00,0x00},/*"7",23*/ +{0x00,0x00,0x38,0xFC,0xCC,0xCC,0xCC,0xFC,0x38,0x00,0x00,0x00,0x00,0x00,0x0F,0x1F,0x18,0x18,0x18,0x1F,0x0F,0x00,0x00,0x00},/*"8",24*/ +{0x00,0x00,0xF8,0xFC,0x8C,0x8C,0xCC,0xF8,0xF0,0x00,0x00,0x00,0x00,0x00,0x18,0x19,0x19,0x1D,0x0E,0x07,0x03,0x00,0x00,0x00},/*"9",25*/ +{0x00,0x00,0x00,0x00,0x00,0x60,0x60,0x60,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x18,0x18,0x18,0x00,0x00,0x00,0x00},/*":",26*/ +{0x00,0x00,0x00,0x00,0x00,0x60,0x60,0x60,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x60,0x18,0x08,0x00,0x00,0x00,0x00,0x00},/*";",27*/ +{0x00,0x00,0x00,0x80,0x80,0xC0,0x60,0x60,0x30,0x30,0x00,0x00,0x00,0x01,0x01,0x03,0x03,0x06,0x0C,0x0C,0x18,0x18,0x00,0x00},/*"<",28*/ +{0x00,0xC0,0xC0,0xC0,0xC0,0xC0,0xC0,0xC0,0xC0,0xC0,0x00,0x00,0x00,0x06,0x06,0x06,0x06,0x06,0x06,0x06,0x06,0x06,0x00,0x00},/*"=",29*/ +{0x00,0x30,0x30,0x60,0x60,0xC0,0x80,0x80,0x00,0x00,0x00,0x00,0x00,0x18,0x18,0x0C,0x0C,0x06,0x03,0x03,0x01,0x01,0x00,0x00},/*">",30*/ +{0x00,0x00,0x70,0x78,0x18,0x18,0x98,0xF8,0xF0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x1B,0x1B,0x01,0x01,0x00,0x00,0x00,0x00},/*"?",31*/ +{0x00,0x00,0xF0,0x08,0xC4,0x24,0x24,0xF8,0x00,0x00,0x00,0x00,0x00,0x00,0x0F,0x10,0x21,0x22,0x22,0x13,0x00,0x00,0x00,0x00},/*"@",32*/ +{0x00,0x00,0x18,0x98,0xF8,0x38,0x38,0xF0,0x80,0x00,0x00,0x00,0x00,0x18,0x1C,0x1F,0x1B,0x03,0x03,0x1B,0x1F,0x1C,0x18,0x00},/*"A",33*/ +{0x00,0x18,0xF8,0xF8,0x98,0x98,0x98,0xF8,0x70,0x00,0x00,0x00,0x00,0x18,0x1F,0x1F,0x19,0x19,0x19,0x19,0x1F,0x0E,0x00,0x00},/*"B",34*/ +{0x00,0xE0,0xF0,0x38,0x18,0x18,0x18,0x10,0x78,0x78,0x00,0x00,0x00,0x07,0x0F,0x0C,0x18,0x18,0x18,0x18,0x0C,0x0C,0x00,0x00},/*"C",35*/ +{0x00,0x18,0xF8,0xF8,0x18,0x18,0x18,0x38,0xF0,0xE0,0x00,0x00,0x00,0x18,0x1F,0x1F,0x18,0x18,0x18,0x1C,0x0F,0x07,0x00,0x00},/*"D",36*/ +{0x00,0x18,0xF8,0xF8,0x98,0xD8,0xD8,0x18,0x78,0x78,0x00,0x00,0x00,0x18,0x1F,0x1F,0x19,0x1B,0x1B,0x18,0x1E,0x1E,0x00,0x00},/*"E",37*/ +{0x00,0x18,0xF8,0xF8,0x98,0xD8,0xD8,0x18,0x78,0x78,0x00,0x00,0x00,0x18,0x1F,0x1F,0x19,0x1B,0x1B,0x00,0x00,0x00,0x00,0x00},/*"F",38*/ +{0x00,0xE0,0xF0,0x38,0x18,0x18,0x10,0x38,0x38,0x00,0x00,0x00,0x00,0x07,0x0F,0x1C,0x18,0x1B,0x1B,0x1F,0x0F,0x03,0x00,0x00},/*"G",39*/ +{0x00,0x18,0xF8,0xF8,0x98,0x80,0x98,0xF8,0xF8,0x18,0x00,0x00,0x00,0x18,0x1F,0x1F,0x19,0x01,0x19,0x1F,0x1F,0x18,0x00,0x00},/*"H",40*/ +{0x00,0x00,0x18,0x18,0x18,0xF8,0xF8,0x18,0x18,0x18,0x00,0x00,0x00,0x00,0x18,0x18,0x18,0x1F,0x1F,0x18,0x18,0x18,0x00,0x00},/*"I",41*/ +{0x00,0x00,0x00,0x00,0x18,0x18,0x18,0xF8,0xF8,0x18,0x18,0x00,0x00,0x00,0x0F,0x0F,0x18,0x18,0x18,0x0F,0x0F,0x00,0x00,0x00},/*"J",42*/ +{0x00,0x18,0xF8,0xF8,0x98,0xC0,0x78,0x38,0x18,0x18,0x00,0x00,0x00,0x18,0x1F,0x1F,0x19,0x01,0x07,0x1E,0x18,0x18,0x00,0x00},/*"K",43*/ +{0x00,0x18,0x18,0xF8,0xF8,0x18,0x18,0x00,0x00,0x00,0x00,0x00,0x00,0x18,0x18,0x1F,0x1F,0x18,0x18,0x18,0x1F,0x1F,0x00,0x00},/*"L",44*/ +{0x18,0xF8,0xF8,0x38,0xE0,0x00,0xE0,0x38,0xF8,0xF8,0x18,0x00,0x18,0x1F,0x1F,0x18,0x19,0x03,0x19,0x18,0x1F,0x1F,0x18,0x00},/*"M",45*/ +{0x00,0x18,0xF8,0xF8,0xF8,0xE0,0x18,0xF8,0xF8,0x18,0x00,0x00,0x00,0x18,0x1F,0x1F,0x18,0x03,0x1F,0x1F,0x1F,0x00,0x00,0x00},/*"N",46*/ +{0x00,0xC0,0xF0,0x30,0x18,0x18,0x18,0x30,0xF0,0xC0,0x00,0x00,0x00,0x03,0x0F,0x0C,0x18,0x18,0x18,0x0C,0x0F,0x03,0x00,0x00},/*"O",47*/ +{0x00,0x18,0xF8,0xF8,0x98,0x98,0x98,0xF8,0xF0,0x00,0x00,0x00,0x00,0x18,0x1F,0x1F,0x19,0x19,0x19,0x01,0x00,0x00,0x00,0x00},/*"P",48*/ +{0x00,0xC0,0xF0,0x30,0x18,0x18,0x18,0x30,0xF0,0xC0,0x00,0x00,0x00,0x03,0x0F,0xCC,0xF8,0x78,0x78,0xCC,0xEF,0x63,0x00,0x00},/*"Q",49*/ +{0x00,0x18,0xF8,0xF8,0x98,0x98,0x98,0xF8,0x70,0x00,0x00,0x00,0x00,0x18,0x1F,0x1F,0x19,0x1B,0x07,0x0E,0x1C,0x18,0x00,0x00},/*"R",50*/ +{0x00,0x00,0x70,0xF8,0x98,0x98,0x90,0x38,0x38,0x00,0x00,0x00,0x00,0x00,0x1C,0x1C,0x09,0x19,0x19,0x1F,0x0E,0x00,0x00,0x00},/*"S",51*/ +{0x00,0xF8,0xF8,0x18,0x18,0xF8,0xF8,0x18,0x18,0xF8,0xF8,0x00,0x00,0x00,0x00,0x18,0x18,0x1F,0x1F,0x18,0x18,0x00,0x00,0x00},/*"T",52*/ +{0x00,0x18,0xF8,0xF8,0x18,0x00,0x18,0xF8,0xF8,0x18,0x00,0x00,0x00,0x00,0x07,0x0F,0x18,0x18,0x18,0x0F,0x07,0x00,0x00,0x00},/*"U",53*/ +{0x00,0x18,0x78,0xF8,0x98,0x00,0x98,0xF8,0x78,0x18,0x00,0x00,0x00,0x00,0x00,0x03,0x1F,0x18,0x1F,0x03,0x00,0x00,0x00,0x00},/*"V",54*/ +{0x18,0xF8,0xF8,0x18,0xD8,0xC0,0xD8,0x18,0xF8,0xF8,0x18,0x00,0x00,0x01,0x1F,0x1C,0x1F,0x01,0x1F,0x1C,0x1F,0x01,0x00,0x00},/*"W",55*/ +{0x00,0x18,0x38,0x78,0xD8,0x80,0xD8,0x78,0x38,0x18,0x00,0x00,0x00,0x18,0x1C,0x1E,0x1B,0x01,0x1B,0x1E,0x1C,0x18,0x00,0x00},/*"X",56*/ +{0x00,0x18,0x38,0x78,0xD8,0x80,0x80,0xD8,0x78,0x38,0x18,0x00,0x00,0x00,0x00,0x18,0x18,0x1F,0x1F,0x18,0x18,0x00,0x00,0x00},/*"Y",57*/ +{0x00,0x00,0x78,0x78,0x18,0x98,0xD8,0x78,0x38,0x00,0x00,0x00,0x00,0x00,0x1C,0x1E,0x1B,0x19,0x18,0x1E,0x1E,0x00,0x00,0x00},/*"Z",58*/ +{0x00,0x00,0x00,0x00,0x00,0xFC,0xFC,0x0C,0x0C,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x7F,0x7F,0x60,0x60,0x00,0x00,0x00},/*"[",59*/ +{0x00,0x00,0x06,0x1E,0x78,0xE0,0x80,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,0x07,0x1E,0x78,0x60,0x00,0x00},/*"\",60*/ +{0x00,0x00,0x00,0x0C,0x0C,0xFC,0xFC,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x60,0x60,0x7F,0x7F,0x00,0x00,0x00,0x00,0x00},/*"]",61*/ +{0x00,0x00,0x00,0x60,0x70,0x18,0x0C,0x18,0x70,0x60,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},/*"^",62*/ +{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},/*"_",63*/ +{0x00,0x00,0x00,0x00,0x02,0x04,0x08,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},/*"`",64*/ +{0x00,0x00,0x00,0x60,0x60,0x60,0x60,0xE0,0xC0,0x00,0x00,0x00,0x00,0x00,0x0E,0x1F,0x1B,0x1B,0x0B,0x1F,0x1F,0x18,0x00,0x00},/*"a",65*/ +{0x00,0x0C,0xFC,0xFC,0xC0,0x60,0x60,0xE0,0xC0,0x80,0x00,0x00,0x00,0x18,0x1F,0x1F,0x0C,0x18,0x18,0x1C,0x0F,0x07,0x00,0x00},/*"b",66*/ +{0x00,0x00,0x80,0xC0,0xE0,0x60,0x60,0x60,0xC0,0xE0,0x00,0x00,0x00,0x00,0x07,0x0F,0x1C,0x18,0x18,0x18,0x18,0x0C,0x00,0x00},/*"c",67*/ +{0x00,0x00,0x80,0xC0,0xE0,0x60,0x60,0xCC,0xFC,0xFC,0x00,0x00,0x00,0x00,0x07,0x0F,0x1C,0x18,0x18,0x0C,0x1F,0x1F,0x18,0x00},/*"d",68*/ +{0x00,0x00,0x80,0xC0,0x60,0x60,0x60,0x60,0xC0,0x80,0x00,0x00,0x00,0x00,0x07,0x0F,0x1B,0x1B,0x1B,0x1B,0x1B,0x0B,0x00,0x00},/*"e",69*/ +{0x00,0x00,0x60,0x60,0xF8,0xFC,0x6C,0x6C,0x6C,0x6C,0x00,0x00,0x00,0x00,0x18,0x18,0x1F,0x1F,0x18,0x18,0x18,0x00,0x00,0x00},/*"f",70*/ +{0x00,0x00,0x80,0xC0,0xE0,0x60,0x60,0xC0,0xE0,0xE0,0x60,0x00,0x00,0x00,0x07,0x0F,0xDC,0xD8,0xD8,0xCC,0xFF,0x7F,0x00,0x00},/*"g",71*/ +{0x00,0x0C,0xFC,0xFC,0xC0,0x60,0x60,0x60,0xE0,0xC0,0x00,0x00,0x00,0x18,0x1F,0x1F,0x18,0x00,0x00,0x18,0x1F,0x1F,0x18,0x00},/*"h",72*/ +{0x00,0x00,0x00,0x60,0x60,0xEC,0xEC,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x18,0x18,0x18,0x1F,0x1F,0x18,0x18,0x18,0x00,0x00},/*"i",73*/ +{0x00,0x00,0x60,0x60,0x60,0x6C,0x6C,0xE0,0xE0,0x00,0x00,0x00,0x00,0x00,0xC0,0xC0,0xC0,0xC0,0xC0,0xFF,0x7F,0x00,0x00,0x00},/*"j",74*/ +{0x00,0x00,0x0C,0xFC,0xFC,0x80,0xE0,0x60,0x60,0x60,0x00,0x00,0x00,0x00,0x18,0x1F,0x1F,0x03,0x06,0x1C,0x18,0x18,0x00,0x00},/*"k",75*/ +{0x00,0x00,0x00,0x0C,0x0C,0xFC,0xFC,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x18,0x18,0x18,0x1F,0x1F,0x18,0x18,0x18,0x00,0x00},/*"l",76*/ +{0x00,0x60,0xE0,0xE0,0x60,0xE0,0xC0,0x60,0xE0,0xC0,0x00,0x00,0x00,0x18,0x1F,0x1F,0x00,0x1F,0x1F,0x00,0x1F,0x1F,0x18,0x00},/*"m",77*/ +{0x00,0x60,0xE0,0xE0,0xC0,0x60,0x60,0x60,0xE0,0xC0,0x00,0x00,0x00,0x18,0x1F,0x1F,0x18,0x00,0x00,0x18,0x1F,0x1F,0x18,0x00},/*"n",78*/ +{0x00,0x00,0x80,0xC0,0xE0,0x60,0x60,0xE0,0xC0,0x80,0x00,0x00,0x00,0x00,0x07,0x0F,0x1C,0x18,0x18,0x1C,0x0F,0x07,0x00,0x00},/*"o",79*/ +{0x00,0x60,0xE0,0xE0,0xC0,0x60,0x60,0xE0,0xC0,0x80,0x00,0x00,0x00,0xC0,0xFF,0xFF,0xCC,0xD8,0x18,0x1C,0x0F,0x07,0x00,0x00},/*"p",80*/ +{0x00,0x00,0x80,0xC0,0xE0,0x60,0x60,0xC0,0xE0,0xE0,0x60,0x00,0x00,0x00,0x07,0x0F,0x1C,0x18,0xD8,0xCC,0xFF,0xFF,0xC0,0x00},/*"q",81*/ +{0x00,0x00,0x60,0x60,0xE0,0xE0,0xC0,0x60,0x60,0x60,0x00,0x00,0x00,0x00,0x18,0x18,0x1F,0x1F,0x18,0x18,0x18,0x00,0x00,0x00},/*"r",82*/ +{0x00,0x00,0xC0,0xE0,0x60,0x60,0x60,0xE0,0xE0,0x00,0x00,0x00,0x00,0x00,0x1D,0x1D,0x1B,0x1B,0x1B,0x1E,0x0E,0x00,0x00,0x00},/*"s",83*/ +{0x00,0x00,0x60,0x60,0xFC,0xFC,0x60,0x60,0x60,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x0F,0x1F,0x18,0x18,0x18,0x0C,0x00,0x00},/*"t",84*/ +{0x00,0x60,0xE0,0xE0,0x00,0x00,0x00,0x60,0xE0,0xE0,0x00,0x00,0x00,0x00,0x0F,0x1F,0x18,0x18,0x18,0x0C,0x1F,0x1F,0x18,0x00},/*"u",85*/ +{0x00,0x60,0xE0,0xE0,0x60,0x00,0x60,0xE0,0xE0,0x60,0x00,0x00,0x00,0x00,0x00,0x07,0x1F,0x18,0x1F,0x07,0x00,0x00,0x00,0x00},/*"v",86*/ +{0x60,0xE0,0xE0,0x60,0x00,0x80,0x00,0x60,0xE0,0xE0,0x60,0x00,0x00,0x01,0x1F,0x1E,0x07,0x03,0x07,0x1E,0x1F,0x01,0x00,0x00},/*"w",87*/ +{0x00,0x00,0x60,0xE0,0xE0,0x00,0x00,0xE0,0xE0,0x60,0x00,0x00,0x00,0x00,0x18,0x1C,0x1F,0x03,0x03,0x1F,0x1C,0x18,0x00,0x00},/*"x",88*/ +{0x00,0x60,0xE0,0xE0,0x60,0x00,0x00,0x60,0xE0,0xE0,0x60,0x00,0x00,0xC0,0xC0,0xC1,0xE7,0xFE,0xDC,0xC7,0x03,0x00,0x00,0x00},/*"y",89*/ +{0x00,0x00,0xE0,0xE0,0x60,0x60,0x60,0xE0,0xE0,0x60,0x00,0x00,0x00,0x00,0x18,0x1C,0x1E,0x1B,0x1B,0x19,0x1C,0x1C,0x00,0x00},/*"z",90*/ +{0x00,0x00,0x00,0x00,0x00,0xF8,0xFC,0x0C,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,0x3F,0x7E,0x60,0x00,0x00,0x00,0x00},/*"{",91*/ +{0x00,0x00,0x00,0x00,0x00,0xFC,0xFC,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x7F,0x7F,0x00,0x00,0x00,0x00,0x00},/*"|",92*/ +{0x00,0x00,0x00,0x00,0x0C,0xFC,0xF8,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x60,0x7E,0x3F,0x01,0x00,0x00,0x00,0x00},/*"}",93*/ +{0x00,0x00,0x80,0xC0,0xC0,0xC0,0x80,0x00,0x80,0x80,0x00,0x00,0x00,0x00,0x01,0x01,0x00,0x01,0x03,0x03,0x03,0x01,0x00,0x00},/*"~",94*/ }; static const unsigned char blank_block PROGMEM = 0x00; From c95f0fb6710e5def9523d19496c93a10d278d78a Mon Sep 17 00:00:00 2001 From: Ryan Date: Sat, 12 Oct 2024 02:48:59 +1100 Subject: [PATCH 053/124] `mykeyclub/jris65/hotswap`: fix keymap (#24472) --- keyboards/mykeyclub/jris65/keymaps/default/keymap.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/keyboards/mykeyclub/jris65/keymaps/default/keymap.json b/keyboards/mykeyclub/jris65/keymaps/default/keymap.json index 114f058f1d8..fefbecd6fcb 100644 --- a/keyboards/mykeyclub/jris65/keymaps/default/keymap.json +++ b/keyboards/mykeyclub/jris65/keymaps/default/keymap.json @@ -1,5 +1,5 @@ { - "keyboard": "mykeyclub/jris65", + "keyboard": "mykeyclub/jris65/hotswap", "keymap": "default", "layout": "LAYOUT_all", "layers": [ From 40d49ee487b95e8a7ed1ad0761f88063b70e6873 Mon Sep 17 00:00:00 2001 From: Joel Challis Date: Sat, 12 Oct 2024 00:05:57 +0100 Subject: [PATCH 054/124] Fix duplication of core `GU_TOGG` keycode (#24474) --- keyboards/blackplum/keymaps/default/keymap.c | 27 +++----------------- 1 file changed, 4 insertions(+), 23 deletions(-) diff --git a/keyboards/blackplum/keymaps/default/keymap.c b/keyboards/blackplum/keymaps/default/keymap.c index 6cab19864d6..3101d1159e5 100644 --- a/keyboards/blackplum/keymaps/default/keymap.c +++ b/keyboards/blackplum/keymaps/default/keymap.c @@ -1,16 +1,8 @@ #include QMK_KEYBOARD_H -// Each layer gets a name for readability, which is then used in the keymap matrix below. -// The underscores don't mean anything - you can have a layer called STUFF or any other name. -// Layer names don't all need to be of the same length, obviously, and you can also skip them -// entirely and just use numbers. -#define _BASE 0 -#define _FN 1 - - - -enum custom_keycodes { - TG_GUI = SAFE_RANGE +enum layer_names { + _BASE, + _FN }; const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { @@ -27,17 +19,6 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { _______, UG_NEXT, UG_HUEU, UG_SATU, UG_VALU, _______, _______, _______, _______, _______, KC_PSCR, KC_SCRL, KC_PAUSE, _______, KC_MUTE, KC_END, _______, UG_TOGG, UG_HUED, UG_SATD, UG_VALD, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_VOLU, - _______, TG_GUI,_______, QK_BOOT, _______, _______, _______, KC_MPRV, KC_VOLD, KC_MNXT + _______, GU_TOGG, _______, QK_BOOT, _______, _______, _______, KC_MPRV, KC_VOLD, KC_MNXT ) }; - -bool process_record_user(uint16_t keycode, keyrecord_t *record) { - if(record->event.pressed) { - switch(keycode) { - case TG_GUI: - keymap_config.no_gui ^= 1; - return false; - } - } - return true; -} From a10e7cc8582114267ab474a0049619b510199322 Mon Sep 17 00:00:00 2001 From: Joel Challis Date: Sat, 12 Oct 2024 00:06:10 +0100 Subject: [PATCH 055/124] Fix rendering of `keymap_config.no_gui` within `led_update_kb` (#24473) --- keyboards/akko/5108/5108.c | 9 +++------ keyboards/monsgeek/m5/m5.c | 10 +++------- 2 files changed, 6 insertions(+), 13 deletions(-) diff --git a/keyboards/akko/5108/5108.c b/keyboards/akko/5108/5108.c index 7330707f453..61cb60713fe 100644 --- a/keyboards/akko/5108/5108.c +++ b/keyboards/akko/5108/5108.c @@ -150,13 +150,10 @@ const snled27351_led_t PROGMEM g_snled27351_leds[SNLED27351_LED_COUNT] = { void keyboard_pre_init_kb(void) { gpio_set_pin_output(LED_WIN_LOCK_PIN); // LED3 Win Lock gpio_write_pin_low(LED_WIN_LOCK_PIN); + keyboard_pre_init_user(); } -bool led_update_kb(led_t led_state) { - bool res = led_update_user(led_state); - if (res) { - gpio_write_pin(LED_WIN_LOCK_PIN, keymap_config.no_gui); - } - return res; +void housekeeping_task_kb(void){ + gpio_write_pin(LED_WIN_LOCK_PIN, keymap_config.no_gui); } diff --git a/keyboards/monsgeek/m5/m5.c b/keyboards/monsgeek/m5/m5.c index 5113e322a5a..7a4d7f2503f 100644 --- a/keyboards/monsgeek/m5/m5.c +++ b/keyboards/monsgeek/m5/m5.c @@ -151,14 +151,10 @@ const snled27351_led_t PROGMEM g_snled27351_leds[SNLED27351_LED_COUNT] = { void keyboard_pre_init_kb(void) { gpio_set_pin_output(LED_WIN_LOCK_PIN); // LED3 Win Lock gpio_write_pin_low(LED_WIN_LOCK_PIN); + keyboard_pre_init_user(); } -bool led_update_kb(led_t led_state) { - bool res = led_update_user(led_state); - if (res) { - led_update_ports(led_state); - gpio_write_pin(LED_WIN_LOCK_PIN, keymap_config.no_gui); - } - return res; +void housekeeping_task_kb(void){ + gpio_write_pin(LED_WIN_LOCK_PIN, keymap_config.no_gui); } From 6129af93f497077a994e8e41473e2bd3d6ea5e67 Mon Sep 17 00:00:00 2001 From: Ryan Date: Sat, 12 Oct 2024 10:10:02 +1100 Subject: [PATCH 056/124] Rename RGB and HSV structs (#24471) --- drivers/led/apa102.c | 4 +-- drivers/painter/generic/qp_surface_rgb565.c | 2 +- drivers/painter/tft_panel/qp_tft_panel.c | 4 +-- quantum/color.c | 8 +++--- quantum/color.h | 19 +++++++++----- .../rgb_matrix/animations/alpha_mods_anim.h | 6 ++--- .../rgb_matrix/animations/breathing_anim.h | 4 +-- .../animations/colorband_pinwheel_sat_anim.h | 2 +- .../animations/colorband_pinwheel_val_anim.h | 2 +- .../animations/colorband_sat_anim.h | 2 +- .../animations/colorband_spiral_sat_anim.h | 2 +- .../animations/colorband_spiral_val_anim.h | 2 +- .../animations/colorband_val_anim.h | 2 +- .../rgb_matrix/animations/cycle_all_anim.h | 2 +- .../animations/cycle_left_right_anim.h | 2 +- .../rgb_matrix/animations/cycle_out_in_anim.h | 2 +- .../animations/cycle_out_in_dual_anim.h | 2 +- .../animations/cycle_pinwheel_anim.h | 2 +- .../rgb_matrix/animations/cycle_spiral_anim.h | 2 +- .../animations/cycle_up_down_anim.h | 2 +- .../rgb_matrix/animations/dual_beacon_anim.h | 2 +- .../animations/flower_blooming_anim.h | 8 +++--- .../animations/gradient_left_right_anim.h | 6 ++--- .../animations/gradient_up_down_anim.h | 6 ++--- .../animations/hue_breathing_anim.h | 4 +-- .../rgb_matrix/animations/hue_pendulum_anim.h | 2 +- quantum/rgb_matrix/animations/hue_wave_anim.h | 2 +- .../animations/jellybean_raindrops_anim.h | 4 +-- .../rgb_matrix/animations/pixel_flow_anim.h | 6 ++--- .../animations/pixel_fractal_anim.h | 6 ++--- .../rgb_matrix/animations/pixel_rain_anim.h | 4 +-- .../animations/rainbow_beacon_anim.h | 2 +- .../animations/rainbow_moving_chevron_anim.h | 2 +- .../animations/rainbow_pinwheels_anim.h | 2 +- .../rgb_matrix/animations/raindrops_anim.h | 6 ++--- .../rgb_matrix/animations/riverflow_anim.h | 4 +-- .../animations/runners/effect_runner_dx_dy.h | 4 +-- .../runners/effect_runner_dx_dy_dist.h | 4 +-- .../animations/runners/effect_runner_i.h | 4 +-- .../runners/effect_runner_reactive.h | 4 +-- .../runners/effect_runner_reactive_splash.h | 10 +++---- .../runners/effect_runner_sin_cos_i.h | 4 +-- .../rgb_matrix/animations/solid_color_anim.h | 2 +- .../animations/solid_reactive_anim.h | 2 +- .../animations/solid_reactive_cross.h | 2 +- .../animations/solid_reactive_nexus.h | 2 +- .../animations/solid_reactive_simple_anim.h | 2 +- .../animations/solid_reactive_wide.h | 2 +- .../rgb_matrix/animations/solid_splash_anim.h | 2 +- quantum/rgb_matrix/animations/splash_anim.h | 2 +- .../rgb_matrix/animations/starlight_anim.h | 4 +-- .../animations/starlight_dual_hue_anim.h | 4 +-- .../animations/starlight_dual_sat_anim.h | 4 +-- .../animations/typing_heatmap_anim.h | 4 +-- quantum/rgb_matrix/rgb_matrix.c | 6 ++--- quantum/rgb_matrix/rgb_matrix.h | 2 +- quantum/rgb_matrix/rgb_matrix_types.h | 2 +- quantum/rgblight/rgblight.c | 26 +++++++++---------- quantum/rgblight/rgblight.h | 2 +- 59 files changed, 122 insertions(+), 117 deletions(-) diff --git a/drivers/led/apa102.c b/drivers/led/apa102.c index 0cf0ecb4018..050609263d5 100644 --- a/drivers/led/apa102.c +++ b/drivers/led/apa102.c @@ -53,8 +53,8 @@ io_wait; \ } while (0) -rgb_led_t apa102_leds[APA102_LED_COUNT]; -uint8_t apa102_led_brightness = APA102_DEFAULT_BRIGHTNESS; +rgb_t apa102_leds[APA102_LED_COUNT]; +uint8_t apa102_led_brightness = APA102_DEFAULT_BRIGHTNESS; static void apa102_send_byte(uint8_t byte) { APA102_SEND_BIT(byte, 7); diff --git a/drivers/painter/generic/qp_surface_rgb565.c b/drivers/painter/generic/qp_surface_rgb565.c index 8883ed541d8..c5b351311a0 100644 --- a/drivers/painter/generic/qp_surface_rgb565.c +++ b/drivers/painter/generic/qp_surface_rgb565.c @@ -52,7 +52,7 @@ static bool qp_surface_pixdata_rgb565(painter_device_t device, const void *pixel // Pixel colour conversion static bool qp_surface_palette_convert_rgb565_swapped(painter_device_t device, int16_t palette_size, qp_pixel_t *palette) { for (int16_t i = 0; i < palette_size; ++i) { - RGB rgb = hsv_to_rgb_nocie((HSV){palette[i].hsv888.h, palette[i].hsv888.s, palette[i].hsv888.v}); + rgb_t rgb = hsv_to_rgb_nocie((hsv_t){palette[i].hsv888.h, palette[i].hsv888.s, palette[i].hsv888.v}); uint16_t rgb565 = (((uint16_t)rgb.r) >> 3) << 11 | (((uint16_t)rgb.g) >> 2) << 5 | (((uint16_t)rgb.b) >> 3); palette[i].rgb565 = __builtin_bswap16(rgb565); } diff --git a/drivers/painter/tft_panel/qp_tft_panel.c b/drivers/painter/tft_panel/qp_tft_panel.c index 16dba9d6a63..c8e33343d44 100644 --- a/drivers/painter/tft_panel/qp_tft_panel.c +++ b/drivers/painter/tft_panel/qp_tft_panel.c @@ -90,7 +90,7 @@ bool qp_tft_panel_pixdata(painter_device_t device, const void *pixel_data, uint3 bool qp_tft_panel_palette_convert_rgb565_swapped(painter_device_t device, int16_t palette_size, qp_pixel_t *palette) { for (int16_t i = 0; i < palette_size; ++i) { - RGB rgb = hsv_to_rgb_nocie((HSV){palette[i].hsv888.h, palette[i].hsv888.s, palette[i].hsv888.v}); + rgb_t rgb = hsv_to_rgb_nocie((hsv_t){palette[i].hsv888.h, palette[i].hsv888.s, palette[i].hsv888.v}); uint16_t rgb565 = (((uint16_t)rgb.r) >> 3) << 11 | (((uint16_t)rgb.g) >> 2) << 5 | (((uint16_t)rgb.b) >> 3); palette[i].rgb565 = __builtin_bswap16(rgb565); } @@ -99,7 +99,7 @@ bool qp_tft_panel_palette_convert_rgb565_swapped(painter_device_t device, int16_ bool qp_tft_panel_palette_convert_rgb888(painter_device_t device, int16_t palette_size, qp_pixel_t *palette) { for (int16_t i = 0; i < palette_size; ++i) { - RGB rgb = hsv_to_rgb_nocie((HSV){palette[i].hsv888.h, palette[i].hsv888.s, palette[i].hsv888.v}); + rgb_t rgb = hsv_to_rgb_nocie((hsv_t){palette[i].hsv888.h, palette[i].hsv888.s, palette[i].hsv888.v}); palette[i].rgb888.r = rgb.r; palette[i].rgb888.g = rgb.g; palette[i].rgb888.b = rgb.b; diff --git a/quantum/color.c b/quantum/color.c index 5f264cb76fe..93564784f0d 100644 --- a/quantum/color.c +++ b/quantum/color.c @@ -19,8 +19,8 @@ #include "progmem.h" #include "util.h" -RGB hsv_to_rgb_impl(HSV hsv, bool use_cie) { - RGB rgb; +rgb_t hsv_to_rgb_impl(hsv_t hsv, bool use_cie) { + rgb_t rgb; uint8_t region, remainder, p, q, t; uint16_t h, s, v; @@ -97,7 +97,7 @@ RGB hsv_to_rgb_impl(HSV hsv, bool use_cie) { return rgb; } -RGB hsv_to_rgb(HSV hsv) { +rgb_t hsv_to_rgb(hsv_t hsv) { #ifdef USE_CIE1931_CURVE return hsv_to_rgb_impl(hsv, true); #else @@ -105,6 +105,6 @@ RGB hsv_to_rgb(HSV hsv) { #endif } -RGB hsv_to_rgb_nocie(HSV hsv) { +rgb_t hsv_to_rgb_nocie(hsv_t hsv) { return hsv_to_rgb_impl(hsv, false); } diff --git a/quantum/color.h b/quantum/color.h index 81a2c1e7bac..5c23b253350 100644 --- a/quantum/color.h +++ b/quantum/color.h @@ -74,19 +74,24 @@ // clang-format on -typedef struct PACKED rgb_led_t { +typedef struct PACKED rgb_t { uint8_t r; uint8_t g; uint8_t b; -} rgb_led_t; +} rgb_t; -typedef rgb_led_t RGB; +// DEPRECATED +typedef rgb_t RGB; +typedef rgb_t rgb_led_t; -typedef struct PACKED HSV { +typedef struct PACKED hsv_t { uint8_t h; uint8_t s; uint8_t v; -} HSV; +} hsv_t; -RGB hsv_to_rgb(HSV hsv); -RGB hsv_to_rgb_nocie(HSV hsv); +// DEPRECATED +typedef hsv_t HSV; + +rgb_t hsv_to_rgb(hsv_t hsv); +rgb_t hsv_to_rgb_nocie(hsv_t hsv); diff --git a/quantum/rgb_matrix/animations/alpha_mods_anim.h b/quantum/rgb_matrix/animations/alpha_mods_anim.h index 59b8381d698..2f76feb0fc4 100644 --- a/quantum/rgb_matrix/animations/alpha_mods_anim.h +++ b/quantum/rgb_matrix/animations/alpha_mods_anim.h @@ -6,10 +6,10 @@ RGB_MATRIX_EFFECT(ALPHAS_MODS) bool ALPHAS_MODS(effect_params_t* params) { RGB_MATRIX_USE_LIMITS(led_min, led_max); - HSV hsv = rgb_matrix_config.hsv; - RGB rgb1 = rgb_matrix_hsv_to_rgb(hsv); + hsv_t hsv = rgb_matrix_config.hsv; + rgb_t rgb1 = rgb_matrix_hsv_to_rgb(hsv); hsv.h += rgb_matrix_config.speed; - RGB rgb2 = rgb_matrix_hsv_to_rgb(hsv); + rgb_t rgb2 = rgb_matrix_hsv_to_rgb(hsv); for (uint8_t i = led_min; i < led_max; i++) { RGB_MATRIX_TEST_LED_FLAGS(); diff --git a/quantum/rgb_matrix/animations/breathing_anim.h b/quantum/rgb_matrix/animations/breathing_anim.h index e9a3c96e1bb..ed0c808f878 100644 --- a/quantum/rgb_matrix/animations/breathing_anim.h +++ b/quantum/rgb_matrix/animations/breathing_anim.h @@ -5,10 +5,10 @@ RGB_MATRIX_EFFECT(BREATHING) bool BREATHING(effect_params_t* params) { RGB_MATRIX_USE_LIMITS(led_min, led_max); - HSV hsv = rgb_matrix_config.hsv; + hsv_t hsv = rgb_matrix_config.hsv; uint16_t time = scale16by8(g_rgb_timer, rgb_matrix_config.speed / 8); hsv.v = scale8(abs8(sin8(time) - 128) * 2, hsv.v); - RGB rgb = rgb_matrix_hsv_to_rgb(hsv); + rgb_t rgb = rgb_matrix_hsv_to_rgb(hsv); for (uint8_t i = led_min; i < led_max; i++) { RGB_MATRIX_TEST_LED_FLAGS(); rgb_matrix_set_color(i, rgb.r, rgb.g, rgb.b); diff --git a/quantum/rgb_matrix/animations/colorband_pinwheel_sat_anim.h b/quantum/rgb_matrix/animations/colorband_pinwheel_sat_anim.h index 06aa8b5ed5f..5ae5b193b08 100644 --- a/quantum/rgb_matrix/animations/colorband_pinwheel_sat_anim.h +++ b/quantum/rgb_matrix/animations/colorband_pinwheel_sat_anim.h @@ -2,7 +2,7 @@ RGB_MATRIX_EFFECT(BAND_PINWHEEL_SAT) # ifdef RGB_MATRIX_CUSTOM_EFFECT_IMPLS -static HSV BAND_PINWHEEL_SAT_math(HSV hsv, int16_t dx, int16_t dy, uint8_t time) { +static hsv_t BAND_PINWHEEL_SAT_math(hsv_t hsv, int16_t dx, int16_t dy, uint8_t time) { hsv.s = scale8(hsv.s - time - atan2_8(dy, dx) * 3, hsv.s); return hsv; } diff --git a/quantum/rgb_matrix/animations/colorband_pinwheel_val_anim.h b/quantum/rgb_matrix/animations/colorband_pinwheel_val_anim.h index bcbc3194981..157a8c1c198 100644 --- a/quantum/rgb_matrix/animations/colorband_pinwheel_val_anim.h +++ b/quantum/rgb_matrix/animations/colorband_pinwheel_val_anim.h @@ -2,7 +2,7 @@ RGB_MATRIX_EFFECT(BAND_PINWHEEL_VAL) # ifdef RGB_MATRIX_CUSTOM_EFFECT_IMPLS -static HSV BAND_PINWHEEL_VAL_math(HSV hsv, int16_t dx, int16_t dy, uint8_t time) { +static hsv_t BAND_PINWHEEL_VAL_math(hsv_t hsv, int16_t dx, int16_t dy, uint8_t time) { hsv.v = scale8(hsv.v - time - atan2_8(dy, dx) * 3, hsv.v); return hsv; } diff --git a/quantum/rgb_matrix/animations/colorband_sat_anim.h b/quantum/rgb_matrix/animations/colorband_sat_anim.h index cb0897ad3e9..a0d0e6e8116 100644 --- a/quantum/rgb_matrix/animations/colorband_sat_anim.h +++ b/quantum/rgb_matrix/animations/colorband_sat_anim.h @@ -2,7 +2,7 @@ RGB_MATRIX_EFFECT(BAND_SAT) # ifdef RGB_MATRIX_CUSTOM_EFFECT_IMPLS -static HSV BAND_SAT_math(HSV hsv, uint8_t i, uint8_t time) { +static hsv_t BAND_SAT_math(hsv_t hsv, uint8_t i, uint8_t time) { int16_t s = hsv.s - abs(scale8(g_led_config.point[i].x, 228) + 28 - time) * 8; hsv.s = scale8(s < 0 ? 0 : s, hsv.s); return hsv; diff --git a/quantum/rgb_matrix/animations/colorband_spiral_sat_anim.h b/quantum/rgb_matrix/animations/colorband_spiral_sat_anim.h index d26eb378558..7d2e5b32691 100644 --- a/quantum/rgb_matrix/animations/colorband_spiral_sat_anim.h +++ b/quantum/rgb_matrix/animations/colorband_spiral_sat_anim.h @@ -2,7 +2,7 @@ RGB_MATRIX_EFFECT(BAND_SPIRAL_SAT) # ifdef RGB_MATRIX_CUSTOM_EFFECT_IMPLS -static HSV BAND_SPIRAL_SAT_math(HSV hsv, int16_t dx, int16_t dy, uint8_t dist, uint8_t time) { +static hsv_t BAND_SPIRAL_SAT_math(hsv_t hsv, int16_t dx, int16_t dy, uint8_t dist, uint8_t time) { hsv.s = scale8(hsv.s + dist - time - atan2_8(dy, dx), hsv.s); return hsv; } diff --git a/quantum/rgb_matrix/animations/colorband_spiral_val_anim.h b/quantum/rgb_matrix/animations/colorband_spiral_val_anim.h index 3ae34bb6f09..9cd9c084d11 100644 --- a/quantum/rgb_matrix/animations/colorband_spiral_val_anim.h +++ b/quantum/rgb_matrix/animations/colorband_spiral_val_anim.h @@ -2,7 +2,7 @@ RGB_MATRIX_EFFECT(BAND_SPIRAL_VAL) # ifdef RGB_MATRIX_CUSTOM_EFFECT_IMPLS -static HSV BAND_SPIRAL_VAL_math(HSV hsv, int16_t dx, int16_t dy, uint8_t dist, uint8_t time) { +static hsv_t BAND_SPIRAL_VAL_math(hsv_t hsv, int16_t dx, int16_t dy, uint8_t dist, uint8_t time) { hsv.v = scale8(hsv.v + dist - time - atan2_8(dy, dx), hsv.v); return hsv; } diff --git a/quantum/rgb_matrix/animations/colorband_val_anim.h b/quantum/rgb_matrix/animations/colorband_val_anim.h index 69c29f53a35..ccffae259f9 100644 --- a/quantum/rgb_matrix/animations/colorband_val_anim.h +++ b/quantum/rgb_matrix/animations/colorband_val_anim.h @@ -2,7 +2,7 @@ RGB_MATRIX_EFFECT(BAND_VAL) # ifdef RGB_MATRIX_CUSTOM_EFFECT_IMPLS -static HSV BAND_VAL_math(HSV hsv, uint8_t i, uint8_t time) { +static hsv_t BAND_VAL_math(hsv_t hsv, uint8_t i, uint8_t time) { int16_t v = hsv.v - abs(scale8(g_led_config.point[i].x, 228) + 28 - time) * 8; hsv.v = scale8(v < 0 ? 0 : v, hsv.v); return hsv; diff --git a/quantum/rgb_matrix/animations/cycle_all_anim.h b/quantum/rgb_matrix/animations/cycle_all_anim.h index d8c7220d95e..8fafcf8d11e 100644 --- a/quantum/rgb_matrix/animations/cycle_all_anim.h +++ b/quantum/rgb_matrix/animations/cycle_all_anim.h @@ -2,7 +2,7 @@ RGB_MATRIX_EFFECT(CYCLE_ALL) # ifdef RGB_MATRIX_CUSTOM_EFFECT_IMPLS -static HSV CYCLE_ALL_math(HSV hsv, uint8_t i, uint8_t time) { +static hsv_t CYCLE_ALL_math(hsv_t hsv, uint8_t i, uint8_t time) { hsv.h = time; return hsv; } diff --git a/quantum/rgb_matrix/animations/cycle_left_right_anim.h b/quantum/rgb_matrix/animations/cycle_left_right_anim.h index 84c2127aff9..2d8871a300e 100644 --- a/quantum/rgb_matrix/animations/cycle_left_right_anim.h +++ b/quantum/rgb_matrix/animations/cycle_left_right_anim.h @@ -2,7 +2,7 @@ RGB_MATRIX_EFFECT(CYCLE_LEFT_RIGHT) # ifdef RGB_MATRIX_CUSTOM_EFFECT_IMPLS -static HSV CYCLE_LEFT_RIGHT_math(HSV hsv, uint8_t i, uint8_t time) { +static hsv_t CYCLE_LEFT_RIGHT_math(hsv_t hsv, uint8_t i, uint8_t time) { hsv.h = g_led_config.point[i].x - time; return hsv; } diff --git a/quantum/rgb_matrix/animations/cycle_out_in_anim.h b/quantum/rgb_matrix/animations/cycle_out_in_anim.h index 9513fe95934..faf920a6083 100644 --- a/quantum/rgb_matrix/animations/cycle_out_in_anim.h +++ b/quantum/rgb_matrix/animations/cycle_out_in_anim.h @@ -2,7 +2,7 @@ RGB_MATRIX_EFFECT(CYCLE_OUT_IN) # ifdef RGB_MATRIX_CUSTOM_EFFECT_IMPLS -static HSV CYCLE_OUT_IN_math(HSV hsv, int16_t dx, int16_t dy, uint8_t dist, uint8_t time) { +static hsv_t CYCLE_OUT_IN_math(hsv_t hsv, int16_t dx, int16_t dy, uint8_t dist, uint8_t time) { hsv.h = 3 * dist / 2 + time; return hsv; } diff --git a/quantum/rgb_matrix/animations/cycle_out_in_dual_anim.h b/quantum/rgb_matrix/animations/cycle_out_in_dual_anim.h index 3cca45f27a5..4203a8ffd2b 100644 --- a/quantum/rgb_matrix/animations/cycle_out_in_dual_anim.h +++ b/quantum/rgb_matrix/animations/cycle_out_in_dual_anim.h @@ -2,7 +2,7 @@ RGB_MATRIX_EFFECT(CYCLE_OUT_IN_DUAL) # ifdef RGB_MATRIX_CUSTOM_EFFECT_IMPLS -static HSV CYCLE_OUT_IN_DUAL_math(HSV hsv, int16_t dx, int16_t dy, uint8_t time) { +static hsv_t CYCLE_OUT_IN_DUAL_math(hsv_t hsv, int16_t dx, int16_t dy, uint8_t time) { dx = (k_rgb_matrix_center.x / 2) - abs8(dx); uint8_t dist = sqrt16(dx * dx + dy * dy); hsv.h = 3 * dist + time; diff --git a/quantum/rgb_matrix/animations/cycle_pinwheel_anim.h b/quantum/rgb_matrix/animations/cycle_pinwheel_anim.h index de5993992cb..d557ffeb780 100644 --- a/quantum/rgb_matrix/animations/cycle_pinwheel_anim.h +++ b/quantum/rgb_matrix/animations/cycle_pinwheel_anim.h @@ -2,7 +2,7 @@ RGB_MATRIX_EFFECT(CYCLE_PINWHEEL) # ifdef RGB_MATRIX_CUSTOM_EFFECT_IMPLS -static HSV CYCLE_PINWHEEL_math(HSV hsv, int16_t dx, int16_t dy, uint8_t time) { +static hsv_t CYCLE_PINWHEEL_math(hsv_t hsv, int16_t dx, int16_t dy, uint8_t time) { hsv.h = atan2_8(dy, dx) + time; return hsv; } diff --git a/quantum/rgb_matrix/animations/cycle_spiral_anim.h b/quantum/rgb_matrix/animations/cycle_spiral_anim.h index 904450179eb..6d7a2dc5b48 100644 --- a/quantum/rgb_matrix/animations/cycle_spiral_anim.h +++ b/quantum/rgb_matrix/animations/cycle_spiral_anim.h @@ -2,7 +2,7 @@ RGB_MATRIX_EFFECT(CYCLE_SPIRAL) # ifdef RGB_MATRIX_CUSTOM_EFFECT_IMPLS -static HSV CYCLE_SPIRAL_math(HSV hsv, int16_t dx, int16_t dy, uint8_t dist, uint8_t time) { +static hsv_t CYCLE_SPIRAL_math(hsv_t hsv, int16_t dx, int16_t dy, uint8_t dist, uint8_t time) { hsv.h = dist - time - atan2_8(dy, dx); return hsv; } diff --git a/quantum/rgb_matrix/animations/cycle_up_down_anim.h b/quantum/rgb_matrix/animations/cycle_up_down_anim.h index dce05fecff0..09c8ace46bb 100644 --- a/quantum/rgb_matrix/animations/cycle_up_down_anim.h +++ b/quantum/rgb_matrix/animations/cycle_up_down_anim.h @@ -2,7 +2,7 @@ RGB_MATRIX_EFFECT(CYCLE_UP_DOWN) # ifdef RGB_MATRIX_CUSTOM_EFFECT_IMPLS -static HSV CYCLE_UP_DOWN_math(HSV hsv, uint8_t i, uint8_t time) { +static hsv_t CYCLE_UP_DOWN_math(hsv_t hsv, uint8_t i, uint8_t time) { hsv.h = g_led_config.point[i].y - time; return hsv; } diff --git a/quantum/rgb_matrix/animations/dual_beacon_anim.h b/quantum/rgb_matrix/animations/dual_beacon_anim.h index 5585015b869..7279f1ce530 100644 --- a/quantum/rgb_matrix/animations/dual_beacon_anim.h +++ b/quantum/rgb_matrix/animations/dual_beacon_anim.h @@ -2,7 +2,7 @@ RGB_MATRIX_EFFECT(DUAL_BEACON) # ifdef RGB_MATRIX_CUSTOM_EFFECT_IMPLS -static HSV DUAL_BEACON_math(HSV hsv, int8_t sin, int8_t cos, uint8_t i, uint8_t time) { +static hsv_t DUAL_BEACON_math(hsv_t hsv, int8_t sin, int8_t cos, uint8_t i, uint8_t time) { hsv.h += ((g_led_config.point[i].y - k_rgb_matrix_center.y) * cos + (g_led_config.point[i].x - k_rgb_matrix_center.x) * sin) / 128; return hsv; } diff --git a/quantum/rgb_matrix/animations/flower_blooming_anim.h b/quantum/rgb_matrix/animations/flower_blooming_anim.h index 7629fde858c..91f70c8d520 100644 --- a/quantum/rgb_matrix/animations/flower_blooming_anim.h +++ b/quantum/rgb_matrix/animations/flower_blooming_anim.h @@ -18,7 +18,7 @@ RGB_MATRIX_EFFECT(FLOWER_BLOOMING) # ifdef RGB_MATRIX_CUSTOM_EFFECT_IMPLS -typedef HSV (*flower_blooming_f)(HSV hsv, uint8_t i, uint8_t time); +typedef hsv_t (*flower_blooming_f)(hsv_t hsv, uint8_t i, uint8_t time); bool effect_runner_bloom(effect_params_t* params, flower_blooming_f effect_func) { RGB_MATRIX_USE_LIMITS(led_min, led_max); @@ -27,17 +27,17 @@ bool effect_runner_bloom(effect_params_t* params, flower_blooming_f effect_func) for (uint8_t i = led_min; i < led_max; i++) { RGB_MATRIX_TEST_LED_FLAGS(); if (g_led_config.point[i].y > k_rgb_matrix_center.y) { - RGB bgr = rgb_matrix_hsv_to_rgb(effect_func(rgb_matrix_config.hsv, i, time)); + rgb_t bgr = rgb_matrix_hsv_to_rgb(effect_func(rgb_matrix_config.hsv, i, time)); rgb_matrix_set_color(i, bgr.b, bgr.g, bgr.r); } else { - RGB rgb = rgb_matrix_hsv_to_rgb(effect_func(rgb_matrix_config.hsv, i, time)); + rgb_t rgb = rgb_matrix_hsv_to_rgb(effect_func(rgb_matrix_config.hsv, i, time)); rgb_matrix_set_color(i, rgb.r, rgb.g, rgb.b); } } return rgb_matrix_check_finished_leds(led_max); } -static HSV FLOWER_BLOOMING_math(HSV hsv, uint8_t i, uint8_t time) { +static hsv_t FLOWER_BLOOMING_math(hsv_t hsv, uint8_t i, uint8_t time) { if (g_led_config.point[i].y > k_rgb_matrix_center.y) hsv.h = g_led_config.point[i].x * 3 - g_led_config.point[i].y * 3 + time; else diff --git a/quantum/rgb_matrix/animations/gradient_left_right_anim.h b/quantum/rgb_matrix/animations/gradient_left_right_anim.h index ebb06f59f27..4175ab330dc 100644 --- a/quantum/rgb_matrix/animations/gradient_left_right_anim.h +++ b/quantum/rgb_matrix/animations/gradient_left_right_anim.h @@ -5,14 +5,14 @@ RGB_MATRIX_EFFECT(GRADIENT_LEFT_RIGHT) bool GRADIENT_LEFT_RIGHT(effect_params_t* params) { RGB_MATRIX_USE_LIMITS(led_min, led_max); - HSV hsv = rgb_matrix_config.hsv; + hsv_t hsv = rgb_matrix_config.hsv; uint8_t scale = scale8(64, rgb_matrix_config.speed); for (uint8_t i = led_min; i < led_max; i++) { RGB_MATRIX_TEST_LED_FLAGS(); // The x range will be 0..224, map this to 0..7 // Relies on hue being 8-bit and wrapping - hsv.h = rgb_matrix_config.hsv.h + (scale * g_led_config.point[i].x >> 5); - RGB rgb = rgb_matrix_hsv_to_rgb(hsv); + hsv.h = rgb_matrix_config.hsv.h + (scale * g_led_config.point[i].x >> 5); + rgb_t rgb = rgb_matrix_hsv_to_rgb(hsv); rgb_matrix_set_color(i, rgb.r, rgb.g, rgb.b); } return rgb_matrix_check_finished_leds(led_max); diff --git a/quantum/rgb_matrix/animations/gradient_up_down_anim.h b/quantum/rgb_matrix/animations/gradient_up_down_anim.h index febc3919a88..e3953fb035e 100644 --- a/quantum/rgb_matrix/animations/gradient_up_down_anim.h +++ b/quantum/rgb_matrix/animations/gradient_up_down_anim.h @@ -5,14 +5,14 @@ RGB_MATRIX_EFFECT(GRADIENT_UP_DOWN) bool GRADIENT_UP_DOWN(effect_params_t* params) { RGB_MATRIX_USE_LIMITS(led_min, led_max); - HSV hsv = rgb_matrix_config.hsv; + hsv_t hsv = rgb_matrix_config.hsv; uint8_t scale = scale8(64, rgb_matrix_config.speed); for (uint8_t i = led_min; i < led_max; i++) { RGB_MATRIX_TEST_LED_FLAGS(); // The y range will be 0..64, map this to 0..4 // Relies on hue being 8-bit and wrapping - hsv.h = rgb_matrix_config.hsv.h + scale * (g_led_config.point[i].y >> 4); - RGB rgb = rgb_matrix_hsv_to_rgb(hsv); + hsv.h = rgb_matrix_config.hsv.h + scale * (g_led_config.point[i].y >> 4); + rgb_t rgb = rgb_matrix_hsv_to_rgb(hsv); rgb_matrix_set_color(i, rgb.r, rgb.g, rgb.b); } return rgb_matrix_check_finished_leds(led_max); diff --git a/quantum/rgb_matrix/animations/hue_breathing_anim.h b/quantum/rgb_matrix/animations/hue_breathing_anim.h index 85377628329..5316e92dbdc 100644 --- a/quantum/rgb_matrix/animations/hue_breathing_anim.h +++ b/quantum/rgb_matrix/animations/hue_breathing_anim.h @@ -7,10 +7,10 @@ RGB_MATRIX_EFFECT(HUE_BREATHING) bool HUE_BREATHING(effect_params_t* params) { RGB_MATRIX_USE_LIMITS(led_min, led_max); uint8_t huedelta = 12; - HSV hsv = rgb_matrix_config.hsv; + hsv_t hsv = rgb_matrix_config.hsv; uint16_t time = scale16by8(g_rgb_timer, rgb_matrix_config.speed / 8); hsv.h = hsv.h + scale8(abs8(sin8(time) - 128) * 2, huedelta); - RGB rgb = hsv_to_rgb(hsv); + rgb_t rgb = hsv_to_rgb(hsv); for (uint8_t i = led_min; i < led_max; i++) { RGB_MATRIX_TEST_LED_FLAGS(); rgb_matrix_set_color(i, rgb.r, rgb.g, rgb.b); diff --git a/quantum/rgb_matrix/animations/hue_pendulum_anim.h b/quantum/rgb_matrix/animations/hue_pendulum_anim.h index 7d8cbcdfb24..ba0a5b45a4d 100644 --- a/quantum/rgb_matrix/animations/hue_pendulum_anim.h +++ b/quantum/rgb_matrix/animations/hue_pendulum_anim.h @@ -5,7 +5,7 @@ RGB_MATRIX_EFFECT(HUE_PENDULUM) // Change huedelta to adjust range of hue change. 0-255. // Looks better with a low value and slow speed for subtle change. // Hue Pendulum - color changes in a wave to the right before reversing direction -static HSV HUE_PENDULUM_math(HSV hsv, uint8_t i, uint8_t time) { +static hsv_t HUE_PENDULUM_math(hsv_t hsv, uint8_t i, uint8_t time) { uint8_t huedelta = 12; hsv.h = hsv.h + scale8(abs8(sin8(time) + (g_led_config.point[i].x) - 128) * 2, huedelta); return hsv; diff --git a/quantum/rgb_matrix/animations/hue_wave_anim.h b/quantum/rgb_matrix/animations/hue_wave_anim.h index 81aa7e139e9..7b729a1816f 100644 --- a/quantum/rgb_matrix/animations/hue_wave_anim.h +++ b/quantum/rgb_matrix/animations/hue_wave_anim.h @@ -5,7 +5,7 @@ RGB_MATRIX_EFFECT(HUE_WAVE) // Change huedelta to adjust range of hue change. 0-255. // Looks better with a low value and slow speed for subtle change. // Hue Wave - color changes in a wave to the right -static HSV HUE_WAVE_math(HSV hsv, uint8_t i, uint8_t time) { +static hsv_t HUE_WAVE_math(hsv_t hsv, uint8_t i, uint8_t time) { uint8_t huedelta = 24; hsv.h = hsv.h + scale8(abs8(g_led_config.point[i].x - time), huedelta); return hsv; diff --git a/quantum/rgb_matrix/animations/jellybean_raindrops_anim.h b/quantum/rgb_matrix/animations/jellybean_raindrops_anim.h index 5d3df1059e5..2b20b0706b5 100644 --- a/quantum/rgb_matrix/animations/jellybean_raindrops_anim.h +++ b/quantum/rgb_matrix/animations/jellybean_raindrops_anim.h @@ -4,8 +4,8 @@ RGB_MATRIX_EFFECT(JELLYBEAN_RAINDROPS) static void jellybean_raindrops_set_color(int i, effect_params_t* params) { if (!HAS_ANY_FLAGS(g_led_config.flags[i], params->flags)) return; - HSV hsv = {random8(), random8_min_max(127, 255), rgb_matrix_config.hsv.v}; - RGB rgb = rgb_matrix_hsv_to_rgb(hsv); + hsv_t hsv = {random8(), random8_min_max(127, 255), rgb_matrix_config.hsv.v}; + rgb_t rgb = rgb_matrix_hsv_to_rgb(hsv); rgb_matrix_set_color(i, rgb.r, rgb.g, rgb.b); } diff --git a/quantum/rgb_matrix/animations/pixel_flow_anim.h b/quantum/rgb_matrix/animations/pixel_flow_anim.h index 27567b4f3a5..35170f9588e 100644 --- a/quantum/rgb_matrix/animations/pixel_flow_anim.h +++ b/quantum/rgb_matrix/animations/pixel_flow_anim.h @@ -7,7 +7,7 @@ RGB_MATRIX_EFFECT(PIXEL_FLOW) static bool PIXEL_FLOW(effect_params_t* params) { // LED state array - static RGB led[RGB_MATRIX_LED_COUNT]; + static rgb_t led[RGB_MATRIX_LED_COUNT]; static uint32_t wait_timer = 0; if (wait_timer > g_rgb_timer) { @@ -22,7 +22,7 @@ static bool PIXEL_FLOW(effect_params_t* params) { // Clear LEDs and fill the state array rgb_matrix_set_color_all(0, 0, 0); for (uint8_t j = 0; j < RGB_MATRIX_LED_COUNT; ++j) { - led[j] = (random8() & 2) ? (RGB){0, 0, 0} : hsv_to_rgb((HSV){random8(), random8_min_max(127, 255), rgb_matrix_config.hsv.v}); + led[j] = (random8() & 2) ? (rgb_t){0, 0, 0} : hsv_to_rgb((hsv_t){random8(), random8_min_max(127, 255), rgb_matrix_config.hsv.v}); } } @@ -39,7 +39,7 @@ static bool PIXEL_FLOW(effect_params_t* params) { led[j] = led[j + 1]; } // Fill last LED - led[led_max - 1] = (random8() & 2) ? (RGB){0, 0, 0} : hsv_to_rgb((HSV){random8(), random8_min_max(127, 255), rgb_matrix_config.hsv.v}); + led[led_max - 1] = (random8() & 2) ? (rgb_t){0, 0, 0} : hsv_to_rgb((hsv_t){random8(), random8_min_max(127, 255), rgb_matrix_config.hsv.v}); // Set pulse timer wait_timer = g_rgb_timer + interval(); } diff --git a/quantum/rgb_matrix/animations/pixel_fractal_anim.h b/quantum/rgb_matrix/animations/pixel_fractal_anim.h index 90a75ed321b..bf5c22a64e4 100644 --- a/quantum/rgb_matrix/animations/pixel_fractal_anim.h +++ b/quantum/rgb_matrix/animations/pixel_fractal_anim.h @@ -26,11 +26,11 @@ static bool PIXEL_FRACTAL(effect_params_t* params) { RGB_MATRIX_USE_LIMITS(led_min, led_max); if (g_rgb_timer > wait_timer) { - RGB rgb = rgb_matrix_hsv_to_rgb(rgb_matrix_config.hsv); + rgb_t rgb = rgb_matrix_hsv_to_rgb(rgb_matrix_config.hsv); for (uint8_t h = 0; h < MATRIX_ROWS; ++h) { // Light and copy columns outward for (uint8_t l = 0; l < MID_COL - 1; ++l) { - RGB index_rgb = led[h][l] ? (RGB){rgb.r, rgb.g, rgb.b} : (RGB){0, 0, 0}; + rgb_t index_rgb = led[h][l] ? (rgb_t){rgb.r, rgb.g, rgb.b} : (rgb_t){0, 0, 0}; if (HAS_ANY_FLAGS(g_led_config.flags[g_led_config.matrix_co[h][l]], params->flags)) { rgb_matrix_set_color(g_led_config.matrix_co[h][l], index_rgb.r, index_rgb.g, index_rgb.b); } @@ -41,7 +41,7 @@ static bool PIXEL_FRACTAL(effect_params_t* params) { } // Light both middle columns - RGB index_rgb = led[h][MID_COL - 1] ? (RGB){rgb.r, rgb.g, rgb.b} : (RGB){0, 0, 0}; + rgb_t index_rgb = led[h][MID_COL - 1] ? (rgb_t){rgb.r, rgb.g, rgb.b} : (rgb_t){0, 0, 0}; if (HAS_ANY_FLAGS(g_led_config.flags[g_led_config.matrix_co[h][MID_COL - 1]], params->flags)) { rgb_matrix_set_color(g_led_config.matrix_co[h][MID_COL - 1], index_rgb.r, index_rgb.g, index_rgb.b); } diff --git a/quantum/rgb_matrix/animations/pixel_rain_anim.h b/quantum/rgb_matrix/animations/pixel_rain_anim.h index 26cd73b5780..d7f0e3bebd0 100644 --- a/quantum/rgb_matrix/animations/pixel_rain_anim.h +++ b/quantum/rgb_matrix/animations/pixel_rain_anim.h @@ -16,8 +16,8 @@ static bool PIXEL_RAIN(effect_params_t* params) { if (!HAS_ANY_FLAGS(g_led_config.flags[led_index], params->flags)) { return; } - HSV hsv = (random8() & 2) ? (HSV){0, 0, 0} : (HSV){random8(), random8_min_max(127, 255), rgb_matrix_config.hsv.v}; - RGB rgb = rgb_matrix_hsv_to_rgb(hsv); + hsv_t hsv = (random8() & 2) ? (hsv_t){0, 0, 0} : (hsv_t){random8(), random8_min_max(127, 255), rgb_matrix_config.hsv.v}; + rgb_t rgb = rgb_matrix_hsv_to_rgb(hsv); rgb_matrix_set_color(led_index, rgb.r, rgb.g, rgb.b); wait_timer = g_rgb_timer + interval(); } diff --git a/quantum/rgb_matrix/animations/rainbow_beacon_anim.h b/quantum/rgb_matrix/animations/rainbow_beacon_anim.h index bdcca5530fd..3c7d8e59d23 100644 --- a/quantum/rgb_matrix/animations/rainbow_beacon_anim.h +++ b/quantum/rgb_matrix/animations/rainbow_beacon_anim.h @@ -2,7 +2,7 @@ RGB_MATRIX_EFFECT(RAINBOW_BEACON) # ifdef RGB_MATRIX_CUSTOM_EFFECT_IMPLS -static HSV RAINBOW_BEACON_math(HSV hsv, int8_t sin, int8_t cos, uint8_t i, uint8_t time) { +static hsv_t RAINBOW_BEACON_math(hsv_t hsv, int8_t sin, int8_t cos, uint8_t i, uint8_t time) { hsv.h += ((g_led_config.point[i].y - k_rgb_matrix_center.y) * 2 * cos + (g_led_config.point[i].x - k_rgb_matrix_center.x) * 2 * sin) / 128; return hsv; } diff --git a/quantum/rgb_matrix/animations/rainbow_moving_chevron_anim.h b/quantum/rgb_matrix/animations/rainbow_moving_chevron_anim.h index f7b8f6c2f32..309ea829758 100644 --- a/quantum/rgb_matrix/animations/rainbow_moving_chevron_anim.h +++ b/quantum/rgb_matrix/animations/rainbow_moving_chevron_anim.h @@ -2,7 +2,7 @@ RGB_MATRIX_EFFECT(RAINBOW_MOVING_CHEVRON) # ifdef RGB_MATRIX_CUSTOM_EFFECT_IMPLS -static HSV RAINBOW_MOVING_CHEVRON_math(HSV hsv, uint8_t i, uint8_t time) { +static hsv_t RAINBOW_MOVING_CHEVRON_math(hsv_t hsv, uint8_t i, uint8_t time) { hsv.h += abs8(g_led_config.point[i].y - k_rgb_matrix_center.y) + (g_led_config.point[i].x - time); return hsv; } diff --git a/quantum/rgb_matrix/animations/rainbow_pinwheels_anim.h b/quantum/rgb_matrix/animations/rainbow_pinwheels_anim.h index 91e31ea8cc0..5d2558d492e 100644 --- a/quantum/rgb_matrix/animations/rainbow_pinwheels_anim.h +++ b/quantum/rgb_matrix/animations/rainbow_pinwheels_anim.h @@ -2,7 +2,7 @@ RGB_MATRIX_EFFECT(RAINBOW_PINWHEELS) # ifdef RGB_MATRIX_CUSTOM_EFFECT_IMPLS -static HSV RAINBOW_PINWHEELS_math(HSV hsv, int8_t sin, int8_t cos, uint8_t i, uint8_t time) { +static hsv_t RAINBOW_PINWHEELS_math(hsv_t hsv, int8_t sin, int8_t cos, uint8_t i, uint8_t time) { hsv.h += ((g_led_config.point[i].y - k_rgb_matrix_center.y) * 3 * cos + (56 - abs8(g_led_config.point[i].x - k_rgb_matrix_center.x)) * 3 * sin) / 128; return hsv; } diff --git a/quantum/rgb_matrix/animations/raindrops_anim.h b/quantum/rgb_matrix/animations/raindrops_anim.h index e8e1f6de043..a682156da24 100644 --- a/quantum/rgb_matrix/animations/raindrops_anim.h +++ b/quantum/rgb_matrix/animations/raindrops_anim.h @@ -4,7 +4,7 @@ RGB_MATRIX_EFFECT(RAINDROPS) static void raindrops_set_color(int i, effect_params_t* params) { if (!HAS_ANY_FLAGS(g_led_config.flags[i], params->flags)) return; - HSV hsv = {0, rgb_matrix_config.hsv.s, rgb_matrix_config.hsv.v}; + hsv_t hsv = {0, rgb_matrix_config.hsv.s, rgb_matrix_config.hsv.v}; // Take the shortest path between hues int16_t deltaH = ((rgb_matrix_config.hsv.h + 180) % 360 - rgb_matrix_config.hsv.h) / 4; @@ -14,8 +14,8 @@ static void raindrops_set_color(int i, effect_params_t* params) { deltaH += 256; } - hsv.h = rgb_matrix_config.hsv.h + (deltaH * (random8() & 0x03)); - RGB rgb = rgb_matrix_hsv_to_rgb(hsv); + hsv.h = rgb_matrix_config.hsv.h + (deltaH * (random8() & 0x03)); + rgb_t rgb = rgb_matrix_hsv_to_rgb(hsv); rgb_matrix_set_color(i, rgb.r, rgb.g, rgb.b); } diff --git a/quantum/rgb_matrix/animations/riverflow_anim.h b/quantum/rgb_matrix/animations/riverflow_anim.h index 195d15986db..737735fe83c 100644 --- a/quantum/rgb_matrix/animations/riverflow_anim.h +++ b/quantum/rgb_matrix/animations/riverflow_anim.h @@ -8,10 +8,10 @@ bool RIVERFLOW(effect_params_t* params) { RGB_MATRIX_USE_LIMITS(led_min, led_max); for (uint8_t i = led_min; i < led_max; i++) { RGB_MATRIX_TEST_LED_FLAGS(); - HSV hsv = rgb_matrix_config.hsv; + hsv_t hsv = rgb_matrix_config.hsv; uint16_t time = scale16by8(g_rgb_timer + (i * 315), rgb_matrix_config.speed / 8); hsv.v = scale8(abs8(sin8(time) - 128) * 2, hsv.v); - RGB rgb = rgb_matrix_hsv_to_rgb(hsv); + rgb_t rgb = rgb_matrix_hsv_to_rgb(hsv); rgb_matrix_set_color(i, rgb.r, rgb.g, rgb.b); } diff --git a/quantum/rgb_matrix/animations/runners/effect_runner_dx_dy.h b/quantum/rgb_matrix/animations/runners/effect_runner_dx_dy.h index 2ad0f22c287..d43f1c0d709 100644 --- a/quantum/rgb_matrix/animations/runners/effect_runner_dx_dy.h +++ b/quantum/rgb_matrix/animations/runners/effect_runner_dx_dy.h @@ -1,6 +1,6 @@ #pragma once -typedef HSV (*dx_dy_f)(HSV hsv, int16_t dx, int16_t dy, uint8_t time); +typedef hsv_t (*dx_dy_f)(hsv_t hsv, int16_t dx, int16_t dy, uint8_t time); bool effect_runner_dx_dy(effect_params_t* params, dx_dy_f effect_func) { RGB_MATRIX_USE_LIMITS(led_min, led_max); @@ -10,7 +10,7 @@ bool effect_runner_dx_dy(effect_params_t* params, dx_dy_f effect_func) { RGB_MATRIX_TEST_LED_FLAGS(); int16_t dx = g_led_config.point[i].x - k_rgb_matrix_center.x; int16_t dy = g_led_config.point[i].y - k_rgb_matrix_center.y; - RGB rgb = rgb_matrix_hsv_to_rgb(effect_func(rgb_matrix_config.hsv, dx, dy, time)); + rgb_t rgb = rgb_matrix_hsv_to_rgb(effect_func(rgb_matrix_config.hsv, dx, dy, time)); rgb_matrix_set_color(i, rgb.r, rgb.g, rgb.b); } return rgb_matrix_check_finished_leds(led_max); diff --git a/quantum/rgb_matrix/animations/runners/effect_runner_dx_dy_dist.h b/quantum/rgb_matrix/animations/runners/effect_runner_dx_dy_dist.h index bcae7c79b6b..29fa42a0ed6 100644 --- a/quantum/rgb_matrix/animations/runners/effect_runner_dx_dy_dist.h +++ b/quantum/rgb_matrix/animations/runners/effect_runner_dx_dy_dist.h @@ -1,6 +1,6 @@ #pragma once -typedef HSV (*dx_dy_dist_f)(HSV hsv, int16_t dx, int16_t dy, uint8_t dist, uint8_t time); +typedef hsv_t (*dx_dy_dist_f)(hsv_t hsv, int16_t dx, int16_t dy, uint8_t dist, uint8_t time); bool effect_runner_dx_dy_dist(effect_params_t* params, dx_dy_dist_f effect_func) { RGB_MATRIX_USE_LIMITS(led_min, led_max); @@ -11,7 +11,7 @@ bool effect_runner_dx_dy_dist(effect_params_t* params, dx_dy_dist_f effect_func) int16_t dx = g_led_config.point[i].x - k_rgb_matrix_center.x; int16_t dy = g_led_config.point[i].y - k_rgb_matrix_center.y; uint8_t dist = sqrt16(dx * dx + dy * dy); - RGB rgb = rgb_matrix_hsv_to_rgb(effect_func(rgb_matrix_config.hsv, dx, dy, dist, time)); + rgb_t rgb = rgb_matrix_hsv_to_rgb(effect_func(rgb_matrix_config.hsv, dx, dy, dist, time)); rgb_matrix_set_color(i, rgb.r, rgb.g, rgb.b); } return rgb_matrix_check_finished_leds(led_max); diff --git a/quantum/rgb_matrix/animations/runners/effect_runner_i.h b/quantum/rgb_matrix/animations/runners/effect_runner_i.h index b4de2992b64..670fd83ebec 100644 --- a/quantum/rgb_matrix/animations/runners/effect_runner_i.h +++ b/quantum/rgb_matrix/animations/runners/effect_runner_i.h @@ -1,6 +1,6 @@ #pragma once -typedef HSV (*i_f)(HSV hsv, uint8_t i, uint8_t time); +typedef hsv_t (*i_f)(hsv_t hsv, uint8_t i, uint8_t time); bool effect_runner_i(effect_params_t* params, i_f effect_func) { RGB_MATRIX_USE_LIMITS(led_min, led_max); @@ -8,7 +8,7 @@ bool effect_runner_i(effect_params_t* params, i_f effect_func) { uint8_t time = scale16by8(g_rgb_timer, qadd8(rgb_matrix_config.speed / 4, 1)); for (uint8_t i = led_min; i < led_max; i++) { RGB_MATRIX_TEST_LED_FLAGS(); - RGB rgb = rgb_matrix_hsv_to_rgb(effect_func(rgb_matrix_config.hsv, i, time)); + rgb_t rgb = rgb_matrix_hsv_to_rgb(effect_func(rgb_matrix_config.hsv, i, time)); rgb_matrix_set_color(i, rgb.r, rgb.g, rgb.b); } return rgb_matrix_check_finished_leds(led_max); diff --git a/quantum/rgb_matrix/animations/runners/effect_runner_reactive.h b/quantum/rgb_matrix/animations/runners/effect_runner_reactive.h index f9584d70719..958db170aed 100644 --- a/quantum/rgb_matrix/animations/runners/effect_runner_reactive.h +++ b/quantum/rgb_matrix/animations/runners/effect_runner_reactive.h @@ -2,7 +2,7 @@ #ifdef RGB_MATRIX_KEYREACTIVE_ENABLED -typedef HSV (*reactive_f)(HSV hsv, uint16_t offset); +typedef hsv_t (*reactive_f)(hsv_t hsv, uint16_t offset); bool effect_runner_reactive(effect_params_t* params, reactive_f effect_func) { RGB_MATRIX_USE_LIMITS(led_min, led_max); @@ -20,7 +20,7 @@ bool effect_runner_reactive(effect_params_t* params, reactive_f effect_func) { } uint16_t offset = scale16by8(tick, qadd8(rgb_matrix_config.speed, 1)); - RGB rgb = rgb_matrix_hsv_to_rgb(effect_func(rgb_matrix_config.hsv, offset)); + rgb_t rgb = rgb_matrix_hsv_to_rgb(effect_func(rgb_matrix_config.hsv, offset)); rgb_matrix_set_color(i, rgb.r, rgb.g, rgb.b); } return rgb_matrix_check_finished_leds(led_max); diff --git a/quantum/rgb_matrix/animations/runners/effect_runner_reactive_splash.h b/quantum/rgb_matrix/animations/runners/effect_runner_reactive_splash.h index 41020eb47f8..2e18491450a 100644 --- a/quantum/rgb_matrix/animations/runners/effect_runner_reactive_splash.h +++ b/quantum/rgb_matrix/animations/runners/effect_runner_reactive_splash.h @@ -2,7 +2,7 @@ #ifdef RGB_MATRIX_KEYREACTIVE_ENABLED -typedef HSV (*reactive_splash_f)(HSV hsv, int16_t dx, int16_t dy, uint8_t dist, uint16_t tick); +typedef hsv_t (*reactive_splash_f)(hsv_t hsv, int16_t dx, int16_t dy, uint8_t dist, uint16_t tick); bool effect_runner_reactive_splash(uint8_t start, effect_params_t* params, reactive_splash_f effect_func) { RGB_MATRIX_USE_LIMITS(led_min, led_max); @@ -10,8 +10,8 @@ bool effect_runner_reactive_splash(uint8_t start, effect_params_t* params, react uint8_t count = g_last_hit_tracker.count; for (uint8_t i = led_min; i < led_max; i++) { RGB_MATRIX_TEST_LED_FLAGS(); - HSV hsv = rgb_matrix_config.hsv; - hsv.v = 0; + hsv_t hsv = rgb_matrix_config.hsv; + hsv.v = 0; for (uint8_t j = start; j < count; j++) { int16_t dx = g_led_config.point[i].x - g_last_hit_tracker.x[j]; int16_t dy = g_led_config.point[i].y - g_last_hit_tracker.y[j]; @@ -19,8 +19,8 @@ bool effect_runner_reactive_splash(uint8_t start, effect_params_t* params, react uint16_t tick = scale16by8(g_last_hit_tracker.tick[j], qadd8(rgb_matrix_config.speed, 1)); hsv = effect_func(hsv, dx, dy, dist, tick); } - hsv.v = scale8(hsv.v, rgb_matrix_config.hsv.v); - RGB rgb = rgb_matrix_hsv_to_rgb(hsv); + hsv.v = scale8(hsv.v, rgb_matrix_config.hsv.v); + rgb_t rgb = rgb_matrix_hsv_to_rgb(hsv); rgb_matrix_set_color(i, rgb.r, rgb.g, rgb.b); } return rgb_matrix_check_finished_leds(led_max); diff --git a/quantum/rgb_matrix/animations/runners/effect_runner_sin_cos_i.h b/quantum/rgb_matrix/animations/runners/effect_runner_sin_cos_i.h index 7776491d512..b96530aa5f0 100644 --- a/quantum/rgb_matrix/animations/runners/effect_runner_sin_cos_i.h +++ b/quantum/rgb_matrix/animations/runners/effect_runner_sin_cos_i.h @@ -1,6 +1,6 @@ #pragma once -typedef HSV (*sin_cos_i_f)(HSV hsv, int8_t sin, int8_t cos, uint8_t i, uint8_t time); +typedef hsv_t (*sin_cos_i_f)(hsv_t hsv, int8_t sin, int8_t cos, uint8_t i, uint8_t time); bool effect_runner_sin_cos_i(effect_params_t* params, sin_cos_i_f effect_func) { RGB_MATRIX_USE_LIMITS(led_min, led_max); @@ -10,7 +10,7 @@ bool effect_runner_sin_cos_i(effect_params_t* params, sin_cos_i_f effect_func) { int8_t sin_value = sin8(time) - 128; for (uint8_t i = led_min; i < led_max; i++) { RGB_MATRIX_TEST_LED_FLAGS(); - RGB rgb = rgb_matrix_hsv_to_rgb(effect_func(rgb_matrix_config.hsv, cos_value, sin_value, i, time)); + rgb_t rgb = rgb_matrix_hsv_to_rgb(effect_func(rgb_matrix_config.hsv, cos_value, sin_value, i, time)); rgb_matrix_set_color(i, rgb.r, rgb.g, rgb.b); } return rgb_matrix_check_finished_leds(led_max); diff --git a/quantum/rgb_matrix/animations/solid_color_anim.h b/quantum/rgb_matrix/animations/solid_color_anim.h index c8762dcbc2e..82b0007df95 100644 --- a/quantum/rgb_matrix/animations/solid_color_anim.h +++ b/quantum/rgb_matrix/animations/solid_color_anim.h @@ -4,7 +4,7 @@ RGB_MATRIX_EFFECT(SOLID_COLOR) bool SOLID_COLOR(effect_params_t* params) { RGB_MATRIX_USE_LIMITS(led_min, led_max); - RGB rgb = rgb_matrix_hsv_to_rgb(rgb_matrix_config.hsv); + rgb_t rgb = rgb_matrix_hsv_to_rgb(rgb_matrix_config.hsv); for (uint8_t i = led_min; i < led_max; i++) { RGB_MATRIX_TEST_LED_FLAGS(); rgb_matrix_set_color(i, rgb.r, rgb.g, rgb.b); diff --git a/quantum/rgb_matrix/animations/solid_reactive_anim.h b/quantum/rgb_matrix/animations/solid_reactive_anim.h index e18ffb5f2b0..67f568ca385 100644 --- a/quantum/rgb_matrix/animations/solid_reactive_anim.h +++ b/quantum/rgb_matrix/animations/solid_reactive_anim.h @@ -3,7 +3,7 @@ RGB_MATRIX_EFFECT(SOLID_REACTIVE) # ifdef RGB_MATRIX_CUSTOM_EFFECT_IMPLS -static HSV SOLID_REACTIVE_math(HSV hsv, uint16_t offset) { +static hsv_t SOLID_REACTIVE_math(hsv_t hsv, uint16_t offset) { # ifdef RGB_MATRIX_SOLID_REACTIVE_GRADIENT_MODE hsv.h = scale16by8(g_rgb_timer, qadd8(rgb_matrix_config.speed, 8) >> 4); # endif diff --git a/quantum/rgb_matrix/animations/solid_reactive_cross.h b/quantum/rgb_matrix/animations/solid_reactive_cross.h index a18d6b03dd6..e52a7d8481f 100644 --- a/quantum/rgb_matrix/animations/solid_reactive_cross.h +++ b/quantum/rgb_matrix/animations/solid_reactive_cross.h @@ -11,7 +11,7 @@ RGB_MATRIX_EFFECT(SOLID_REACTIVE_MULTICROSS) # ifdef RGB_MATRIX_CUSTOM_EFFECT_IMPLS -static HSV SOLID_REACTIVE_CROSS_math(HSV hsv, int16_t dx, int16_t dy, uint8_t dist, uint16_t tick) { +static hsv_t SOLID_REACTIVE_CROSS_math(hsv_t hsv, int16_t dx, int16_t dy, uint8_t dist, uint16_t tick) { uint16_t effect = tick + dist; dx = dx < 0 ? dx * -1 : dx; dy = dy < 0 ? dy * -1 : dy; diff --git a/quantum/rgb_matrix/animations/solid_reactive_nexus.h b/quantum/rgb_matrix/animations/solid_reactive_nexus.h index 53cc008616d..471a2682caa 100644 --- a/quantum/rgb_matrix/animations/solid_reactive_nexus.h +++ b/quantum/rgb_matrix/animations/solid_reactive_nexus.h @@ -11,7 +11,7 @@ RGB_MATRIX_EFFECT(SOLID_REACTIVE_MULTINEXUS) # ifdef RGB_MATRIX_CUSTOM_EFFECT_IMPLS -static HSV SOLID_REACTIVE_NEXUS_math(HSV hsv, int16_t dx, int16_t dy, uint8_t dist, uint16_t tick) { +static hsv_t SOLID_REACTIVE_NEXUS_math(hsv_t hsv, int16_t dx, int16_t dy, uint8_t dist, uint16_t tick) { uint16_t effect = tick - dist; if (effect > 255) effect = 255; if (dist > 72) effect = 255; diff --git a/quantum/rgb_matrix/animations/solid_reactive_simple_anim.h b/quantum/rgb_matrix/animations/solid_reactive_simple_anim.h index 7f4e48747a6..f20f1b1fb6a 100644 --- a/quantum/rgb_matrix/animations/solid_reactive_simple_anim.h +++ b/quantum/rgb_matrix/animations/solid_reactive_simple_anim.h @@ -3,7 +3,7 @@ RGB_MATRIX_EFFECT(SOLID_REACTIVE_SIMPLE) # ifdef RGB_MATRIX_CUSTOM_EFFECT_IMPLS -static HSV SOLID_REACTIVE_SIMPLE_math(HSV hsv, uint16_t offset) { +static hsv_t SOLID_REACTIVE_SIMPLE_math(hsv_t hsv, uint16_t offset) { # ifdef RGB_MATRIX_SOLID_REACTIVE_GRADIENT_MODE hsv.h = scale16by8(g_rgb_timer, qadd8(rgb_matrix_config.speed, 8) >> 4); # endif diff --git a/quantum/rgb_matrix/animations/solid_reactive_wide.h b/quantum/rgb_matrix/animations/solid_reactive_wide.h index feca1266483..b780c13d27a 100644 --- a/quantum/rgb_matrix/animations/solid_reactive_wide.h +++ b/quantum/rgb_matrix/animations/solid_reactive_wide.h @@ -11,7 +11,7 @@ RGB_MATRIX_EFFECT(SOLID_REACTIVE_MULTIWIDE) # ifdef RGB_MATRIX_CUSTOM_EFFECT_IMPLS -static HSV SOLID_REACTIVE_WIDE_math(HSV hsv, int16_t dx, int16_t dy, uint8_t dist, uint16_t tick) { +static hsv_t SOLID_REACTIVE_WIDE_math(hsv_t hsv, int16_t dx, int16_t dy, uint8_t dist, uint16_t tick) { uint16_t effect = tick + dist * 5; if (effect > 255) effect = 255; # ifdef RGB_MATRIX_SOLID_REACTIVE_GRADIENT_MODE diff --git a/quantum/rgb_matrix/animations/solid_splash_anim.h b/quantum/rgb_matrix/animations/solid_splash_anim.h index 77d6f8c5eb0..839ab05b387 100644 --- a/quantum/rgb_matrix/animations/solid_splash_anim.h +++ b/quantum/rgb_matrix/animations/solid_splash_anim.h @@ -11,7 +11,7 @@ RGB_MATRIX_EFFECT(SOLID_MULTISPLASH) # ifdef RGB_MATRIX_CUSTOM_EFFECT_IMPLS -HSV SOLID_SPLASH_math(HSV hsv, int16_t dx, int16_t dy, uint8_t dist, uint16_t tick) { +hsv_t SOLID_SPLASH_math(hsv_t hsv, int16_t dx, int16_t dy, uint8_t dist, uint16_t tick) { uint16_t effect = tick - dist; if (effect > 255) effect = 255; hsv.v = qadd8(hsv.v, 255 - effect); diff --git a/quantum/rgb_matrix/animations/splash_anim.h b/quantum/rgb_matrix/animations/splash_anim.h index 06459e1b0a2..a28cadb9f43 100644 --- a/quantum/rgb_matrix/animations/splash_anim.h +++ b/quantum/rgb_matrix/animations/splash_anim.h @@ -11,7 +11,7 @@ RGB_MATRIX_EFFECT(MULTISPLASH) # ifdef RGB_MATRIX_CUSTOM_EFFECT_IMPLS -HSV SPLASH_math(HSV hsv, int16_t dx, int16_t dy, uint8_t dist, uint16_t tick) { +hsv_t SPLASH_math(hsv_t hsv, int16_t dx, int16_t dy, uint8_t dist, uint16_t tick) { uint16_t effect = tick - dist; if (effect > 255) effect = 255; hsv.h += effect; diff --git a/quantum/rgb_matrix/animations/starlight_anim.h b/quantum/rgb_matrix/animations/starlight_anim.h index 91626a4663e..742e843b575 100644 --- a/quantum/rgb_matrix/animations/starlight_anim.h +++ b/quantum/rgb_matrix/animations/starlight_anim.h @@ -4,9 +4,9 @@ RGB_MATRIX_EFFECT(STARLIGHT) void set_starlight_color(uint8_t i, effect_params_t* params) { uint16_t time = scale16by8(g_rgb_timer, rgb_matrix_config.speed / 8); - HSV hsv = rgb_matrix_config.hsv; + hsv_t hsv = rgb_matrix_config.hsv; hsv.v = scale8(abs8(sin8(time) - 128) * 2, hsv.v); - RGB rgb = rgb_matrix_hsv_to_rgb(hsv); + rgb_t rgb = rgb_matrix_hsv_to_rgb(hsv); rgb_matrix_set_color(i, rgb.r, rgb.g, rgb.b); } diff --git a/quantum/rgb_matrix/animations/starlight_dual_hue_anim.h b/quantum/rgb_matrix/animations/starlight_dual_hue_anim.h index 5ef831476f3..50ce5d6ab47 100644 --- a/quantum/rgb_matrix/animations/starlight_dual_hue_anim.h +++ b/quantum/rgb_matrix/animations/starlight_dual_hue_anim.h @@ -4,10 +4,10 @@ RGB_MATRIX_EFFECT(STARLIGHT_DUAL_HUE) void set_starlight_dual_hue_color(uint8_t i, effect_params_t* params) { uint16_t time = scale16by8(g_rgb_timer, rgb_matrix_config.speed / 8); - HSV hsv = rgb_matrix_config.hsv; + hsv_t hsv = rgb_matrix_config.hsv; hsv.v = scale8(abs8(sin8(time) - 128) * 2, hsv.v); hsv.h = hsv.h + random8_max((30 + 1 - -30) + -30); - RGB rgb = rgb_matrix_hsv_to_rgb(hsv); + rgb_t rgb = rgb_matrix_hsv_to_rgb(hsv); rgb_matrix_set_color(i, rgb.r, rgb.g, rgb.b); } diff --git a/quantum/rgb_matrix/animations/starlight_dual_sat_anim.h b/quantum/rgb_matrix/animations/starlight_dual_sat_anim.h index 1994aba8a8a..6def4eea098 100644 --- a/quantum/rgb_matrix/animations/starlight_dual_sat_anim.h +++ b/quantum/rgb_matrix/animations/starlight_dual_sat_anim.h @@ -4,10 +4,10 @@ RGB_MATRIX_EFFECT(STARLIGHT_DUAL_SAT) void set_starlight_dual_sat_color(uint8_t i, effect_params_t* params) { uint16_t time = scale16by8(g_rgb_timer, rgb_matrix_config.speed / 8); - HSV hsv = rgb_matrix_config.hsv; + hsv_t hsv = rgb_matrix_config.hsv; hsv.v = scale8(abs8(sin8(time) - 128) * 2, hsv.v); hsv.s = hsv.s + random8_max((30 + 1 - -30) + -30); - RGB rgb = rgb_matrix_hsv_to_rgb(hsv); + rgb_t rgb = rgb_matrix_hsv_to_rgb(hsv); rgb_matrix_set_color(i, rgb.r, rgb.g, rgb.b); } diff --git a/quantum/rgb_matrix/animations/typing_heatmap_anim.h b/quantum/rgb_matrix/animations/typing_heatmap_anim.h index d09bdc46317..06067388918 100644 --- a/quantum/rgb_matrix/animations/typing_heatmap_anim.h +++ b/quantum/rgb_matrix/animations/typing_heatmap_anim.h @@ -82,8 +82,8 @@ bool TYPING_HEATMAP(effect_params_t* params) { uint8_t val = g_rgb_frame_buffer[row][col]; if (!HAS_ANY_FLAGS(g_led_config.flags[g_led_config.matrix_co[row][col]], params->flags)) continue; - HSV hsv = {170 - qsub8(val, 85), rgb_matrix_config.hsv.s, scale8((qadd8(170, val) - 170) * 3, rgb_matrix_config.hsv.v)}; - RGB rgb = rgb_matrix_hsv_to_rgb(hsv); + hsv_t hsv = {170 - qsub8(val, 85), rgb_matrix_config.hsv.s, scale8((qadd8(170, val) - 170) * 3, rgb_matrix_config.hsv.v)}; + rgb_t rgb = rgb_matrix_hsv_to_rgb(hsv); rgb_matrix_set_color(g_led_config.matrix_co[row][col], rgb.r, rgb.g, rgb.b); if (decrease_heatmap_values) { diff --git a/quantum/rgb_matrix/rgb_matrix.c b/quantum/rgb_matrix/rgb_matrix.c index 47bba278e4c..484d177546a 100644 --- a/quantum/rgb_matrix/rgb_matrix.c +++ b/quantum/rgb_matrix/rgb_matrix.c @@ -35,7 +35,7 @@ const led_point_t k_rgb_matrix_center = {112, 32}; const led_point_t k_rgb_matrix_center = RGB_MATRIX_CENTER; #endif -__attribute__((weak)) RGB rgb_matrix_hsv_to_rgb(HSV hsv) { +__attribute__((weak)) rgb_t rgb_matrix_hsv_to_rgb(hsv_t hsv) { return hsv_to_rgb(hsv); } @@ -98,7 +98,7 @@ void eeconfig_update_rgb_matrix_default(void) { dprintf("eeconfig_update_rgb_matrix_default\n"); rgb_matrix_config.enable = RGB_MATRIX_DEFAULT_ON; rgb_matrix_config.mode = RGB_MATRIX_DEFAULT_MODE; - rgb_matrix_config.hsv = (HSV){RGB_MATRIX_DEFAULT_HUE, RGB_MATRIX_DEFAULT_SAT, RGB_MATRIX_DEFAULT_VAL}; + rgb_matrix_config.hsv = (hsv_t){RGB_MATRIX_DEFAULT_HUE, RGB_MATRIX_DEFAULT_SAT, RGB_MATRIX_DEFAULT_VAL}; rgb_matrix_config.speed = RGB_MATRIX_DEFAULT_SPD; rgb_matrix_config.flags = RGB_MATRIX_DEFAULT_FLAGS; eeconfig_flush_rgb_matrix(true); @@ -591,7 +591,7 @@ void rgb_matrix_sethsv(uint16_t hue, uint8_t sat, uint8_t val) { rgb_matrix_sethsv_eeprom_helper(hue, sat, val, true); } -HSV rgb_matrix_get_hsv(void) { +hsv_t rgb_matrix_get_hsv(void) { return rgb_matrix_config.hsv; } uint8_t rgb_matrix_get_hue(void) { diff --git a/quantum/rgb_matrix/rgb_matrix.h b/quantum/rgb_matrix/rgb_matrix.h index a1115a721ea..842a60c8b7e 100644 --- a/quantum/rgb_matrix/rgb_matrix.h +++ b/quantum/rgb_matrix/rgb_matrix.h @@ -186,7 +186,7 @@ void rgb_matrix_step_reverse(void); void rgb_matrix_step_reverse_noeeprom(void); void rgb_matrix_sethsv(uint16_t hue, uint8_t sat, uint8_t val); void rgb_matrix_sethsv_noeeprom(uint16_t hue, uint8_t sat, uint8_t val); -HSV rgb_matrix_get_hsv(void); +hsv_t rgb_matrix_get_hsv(void); uint8_t rgb_matrix_get_hue(void); uint8_t rgb_matrix_get_sat(void); uint8_t rgb_matrix_get_val(void); diff --git a/quantum/rgb_matrix/rgb_matrix_types.h b/quantum/rgb_matrix/rgb_matrix_types.h index 0a3fd7cc0d1..0834a7067c4 100644 --- a/quantum/rgb_matrix/rgb_matrix_types.h +++ b/quantum/rgb_matrix/rgb_matrix_types.h @@ -78,7 +78,7 @@ typedef union { struct PACKED { uint8_t enable : 2; uint8_t mode : 6; - HSV hsv; + hsv_t hsv; uint8_t speed; led_flags_t flags; }; diff --git a/quantum/rgblight/rgblight.c b/quantum/rgblight/rgblight.c index e16fb99c3b1..6426ccf2c86 100644 --- a/quantum/rgblight/rgblight.c +++ b/quantum/rgblight/rgblight.c @@ -136,7 +136,7 @@ void rgblight_set_effect_range(uint8_t start_pos, uint8_t num_leds) { rgblight_ranges.effect_num_leds = num_leds; } -__attribute__((weak)) RGB rgblight_hsv_to_rgb(HSV hsv) { +__attribute__((weak)) rgb_t rgblight_hsv_to_rgb(hsv_t hsv) { return hsv_to_rgb(hsv); } @@ -153,8 +153,8 @@ void setrgb(uint8_t r, uint8_t g, uint8_t b, int index) { } void sethsv_raw(uint8_t hue, uint8_t sat, uint8_t val, int index) { - HSV hsv = {hue, sat, val}; - RGB rgb = rgblight_hsv_to_rgb(hsv); + hsv_t hsv = {hue, sat, val}; + rgb_t rgb = rgblight_hsv_to_rgb(hsv); setrgb(rgb.r, rgb.g, rgb.b, index); } @@ -513,7 +513,7 @@ void rgblight_decrease_speed_noeeprom(void) { void rgblight_sethsv_noeeprom_old(uint8_t hue, uint8_t sat, uint8_t val) { if (rgblight_config.enable) { - RGB rgb = hsv_to_rgb((HSV){hue, sat, val > RGBLIGHT_LIMIT_VAL ? RGBLIGHT_LIMIT_VAL : val}); + rgb_t rgb = hsv_to_rgb((hsv_t){hue, sat, val > RGBLIGHT_LIMIT_VAL ? RGBLIGHT_LIMIT_VAL : val}); rgblight_setrgb(rgb.r, rgb.g, rgb.b); } } @@ -532,7 +532,7 @@ void rgblight_sethsv_eeprom_helper(uint8_t hue, uint8_t sat, uint8_t val, bool w // needed for rgblight_layers_write() to get the new val, since it reads rgblight_config.val rgblight_config.val = val; #endif - RGB rgb = hsv_to_rgb((HSV){hue, sat, val > RGBLIGHT_LIMIT_VAL ? RGBLIGHT_LIMIT_VAL : val}); + rgb_t rgb = hsv_to_rgb((hsv_t){hue, sat, val > RGBLIGHT_LIMIT_VAL ? RGBLIGHT_LIMIT_VAL : val}); rgblight_setrgb(rgb.r, rgb.g, rgb.b); } else { // all LEDs in same color @@ -635,8 +635,8 @@ uint8_t rgblight_get_val(void) { return rgblight_config.val; } -HSV rgblight_get_hsv(void) { - return (HSV){rgblight_config.hue, rgblight_config.sat, rgblight_config.val}; +hsv_t rgblight_get_hsv(void) { + return (hsv_t){rgblight_config.hue, rgblight_config.sat, rgblight_config.val}; } void rgblight_setrgb(uint8_t r, uint8_t g, uint8_t b) { @@ -664,7 +664,7 @@ void rgblight_sethsv_at(uint8_t hue, uint8_t sat, uint8_t val, uint8_t index) { return; } - RGB rgb = hsv_to_rgb((HSV){hue, sat, val > RGBLIGHT_LIMIT_VAL ? RGBLIGHT_LIMIT_VAL : val}); + rgb_t rgb = hsv_to_rgb((hsv_t){hue, sat, val > RGBLIGHT_LIMIT_VAL ? RGBLIGHT_LIMIT_VAL : val}); rgblight_setrgb_at(rgb.r, rgb.g, rgb.b, index); } @@ -696,7 +696,7 @@ void rgblight_sethsv_range(uint8_t hue, uint8_t sat, uint8_t val, uint8_t start, return; } - RGB rgb = hsv_to_rgb((HSV){hue, sat, val > RGBLIGHT_LIMIT_VAL ? RGBLIGHT_LIMIT_VAL : val}); + rgb_t rgb = hsv_to_rgb((hsv_t){hue, sat, val > RGBLIGHT_LIMIT_VAL ? RGBLIGHT_LIMIT_VAL : val}); rgblight_setrgb_range(rgb.r, rgb.g, rgb.b, start, end); } @@ -1348,8 +1348,8 @@ void rgblight_effect_rgbtest(animation_status_t *anim) { uint8_t b; if (maxval == 0) { - RGB rgb = hsv_to_rgb((HSV){0, 255, RGBLIGHT_LIMIT_VAL}); - maxval = rgb.r; + rgb_t rgb = hsv_to_rgb((hsv_t){0, 255, RGBLIGHT_LIMIT_VAL}); + maxval = rgb.r; } g = r = b = 0; switch (anim->pos) { @@ -1388,7 +1388,7 @@ void rgblight_effect_alternating(animation_status_t *anim) { __attribute__((weak)) const uint8_t RGBLED_TWINKLE_INTERVALS[] PROGMEM = {30, 15, 5}; typedef struct PACKED { - HSV hsv; + hsv_t hsv; uint8_t life; uint8_t max_life; } TwinkleState; @@ -1414,7 +1414,7 @@ void rgblight_effect_twinkle(animation_status_t *anim) { for (uint8_t i = 0; i < rgblight_ranges.effect_num_leds; i++) { TwinkleState *t = &(led_twinkle_state[i]); - HSV * c = &(t->hsv); + hsv_t * c = &(t->hsv); if (!random_color) { c->h = rgblight_config.hue; diff --git a/quantum/rgblight/rgblight.h b/quantum/rgblight/rgblight.h index 7c238051291..f4b6e621e40 100644 --- a/quantum/rgblight/rgblight.h +++ b/quantum/rgblight/rgblight.h @@ -362,7 +362,7 @@ uint8_t rgblight_get_hue(void); uint8_t rgblight_get_sat(void); uint8_t rgblight_get_val(void); bool rgblight_is_enabled(void); -HSV rgblight_get_hsv(void); +hsv_t rgblight_get_hsv(void); /* === qmk_firmware (core)internal Functions === */ void rgblight_init(void); From 8844fba607fd73696f172ddf8d6c5868bb843359 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E3=83=95=E3=82=A3=E3=83=AB=E3=82=BF=E3=83=BC=E3=83=9A?= =?UTF-8?q?=E3=83=BC=E3=83=91=E3=83=BC?= <76888457+filterpaper@users.noreply.github.com> Date: Sat, 12 Oct 2024 07:13:31 +0800 Subject: [PATCH 057/124] Update combo user function variable (#24467) --- docs/features/combo.md | 26 ++++++++++++++++--------- quantum/process_keycode/process_combo.c | 6 +++--- 2 files changed, 20 insertions(+), 12 deletions(-) diff --git a/docs/features/combo.md b/docs/features/combo.md index 10e33b72a63..afe202ad54a 100644 --- a/docs/features/combo.md +++ b/docs/features/combo.md @@ -152,14 +152,15 @@ In order to use these features, the following configuration options and function | Config Flag | Function | Description | |-----------------------------|-----------------------------------------------------------|--------------------------------------------------------------------------------------------------------| -| `COMBO_TERM_PER_COMBO` | uint16_t get_combo_term(uint16_t index, combo_t \*combo) | Optional per-combo timeout window. (default: `COMBO_TERM`) | -| `COMBO_MUST_HOLD_PER_COMBO` | bool get_combo_must_hold(uint16_t index, combo_t \*combo) | Controls if a given combo should fire immediately on tap or if it needs to be held. (default: `false`) | -| `COMBO_MUST_TAP_PER_COMBO` | bool get_combo_must_tap(uint16_t index, combo_t \*combo) | Controls if a given combo should fire only if tapped within `COMBO_HOLD_TERM`. (default: `false`) | -| `COMBO_MUST_PRESS_IN_ORDER_PER_COMBO` | bool get_combo_must_press_in_order(uint16_t index, combo_t \*combo) | Controls if a given combo should fire only if its keys are pressed in order. (default: `true`) | +| `COMBO_TERM_PER_COMBO` | `uint16_t get_combo_term(uint16_t combo_index, combo_t *combo)` | Optional per-combo timeout window. (default: `COMBO_TERM`) | +| `COMBO_MUST_HOLD_PER_COMBO` | `bool get_combo_must_hold(uint16_t combo_index, combo_t *combo)` | Controls if a given combo should fire immediately on tap or if it needs to be held. (default: `false`) | +| `COMBO_MUST_TAP_PER_COMBO` | `bool get_combo_must_tap(uint16_t combo_index, combo_t *combo)` | Controls if a given combo should fire only if tapped within `COMBO_HOLD_TERM`. (default: `false`) | +| `COMBO_MUST_PRESS_IN_ORDER_PER_COMBO` | `bool get_combo_must_press_in_order(uint16_t combo_index, combo_t *combo)` | Controls if a given combo should fire only if its keys are pressed in order. (default: `true`) | Examples: ```c -uint16_t get_combo_term(uint16_t index, combo_t *combo) { +#ifdef COMBO_TERM_PER_COMBO +uint16_t get_combo_term(uint16_t combo_index, combo_t *combo) { // decide by combo->keycode switch (combo->keycode) { case KC_X: @@ -167,7 +168,7 @@ uint16_t get_combo_term(uint16_t index, combo_t *combo) { } // or with combo index, i.e. its name from enum. - switch (index) { + switch (combo_index) { case COMBO_NAME_HERE: return 9001; } @@ -182,8 +183,10 @@ uint16_t get_combo_term(uint16_t index, combo_t *combo) { return COMBO_TERM; } +#endif -bool get_combo_must_hold(uint16_t index, combo_t *combo) { +#ifdef COMBO_MUST_HOLD_PER_COMBO +bool get_combo_must_hold(uint16_t combo_index, combo_t *combo) { // Same as above, decide by keycode, the combo index, or by the keys in the chord. if (KEYCODE_IS_MOD(combo->keycode) || @@ -192,15 +195,17 @@ bool get_combo_must_hold(uint16_t index, combo_t *combo) { return true; } - switch (index) { + switch (combo_index) { case COMBO_NAME_HERE: return true; } return false; } +#endif -bool get_combo_must_tap(uint16_t index, combo_t *combo) { +#ifdef COMBO_MUST_TAP_PER_COMBO +bool get_combo_must_tap(uint16_t combo_index, combo_t *combo) { // If you want all combos to be tap-only, just uncomment the next line // return true @@ -219,7 +224,9 @@ bool get_combo_must_tap(uint16_t index, combo_t *combo) { return false; } +#endif +#ifdef COMBO_MUST_PRESS_IN_ORDER_PER_COMBO bool get_combo_must_press_in_order(uint16_t combo_index, combo_t *combo) { switch (combo_index) { /* List combos here that you want to only activate if their keys @@ -231,6 +238,7 @@ bool get_combo_must_press_in_order(uint16_t combo_index, combo_t *combo) { return false; } } +#endif ``` ### Generic hook to (dis)allow a combo activation diff --git a/quantum/process_keycode/process_combo.c b/quantum/process_keycode/process_combo.c index 38171c2f54b..c99a66a74b0 100644 --- a/quantum/process_keycode/process_combo.c +++ b/quantum/process_keycode/process_combo.c @@ -36,19 +36,19 @@ __attribute__((weak)) uint8_t combo_ref_from_layer(uint8_t layer) { #endif #ifdef COMBO_MUST_HOLD_PER_COMBO -__attribute__((weak)) bool get_combo_must_hold(uint16_t index, combo_t *combo) { +__attribute__((weak)) bool get_combo_must_hold(uint16_t combo_index, combo_t *combo) { return false; } #endif #ifdef COMBO_MUST_TAP_PER_COMBO -__attribute__((weak)) bool get_combo_must_tap(uint16_t index, combo_t *combo) { +__attribute__((weak)) bool get_combo_must_tap(uint16_t combo_index, combo_t *combo) { return false; } #endif #ifdef COMBO_TERM_PER_COMBO -__attribute__((weak)) uint16_t get_combo_term(uint16_t index, combo_t *combo) { +__attribute__((weak)) uint16_t get_combo_term(uint16_t combo_index, combo_t *combo) { return COMBO_TERM; } #endif From 9d17779832563dba59ad26c58b6aeabd1d4488d9 Mon Sep 17 00:00:00 2001 From: Sadek Baroudi Date: Fri, 11 Oct 2024 16:16:25 -0700 Subject: [PATCH 058/124] Add svlinky converter (#24449) --- data/mappings/defaults.hjson | 5 +++ data/schemas/keyboard.jsonschema | 2 +- docs/feature_converters.md | 6 ++++ .../promicro_to_svlinky/_pin_defs.h | 36 +++++++++++++++++++ .../promicro_to_svlinky/converter.mk | 10 ++++++ 5 files changed, 58 insertions(+), 1 deletion(-) create mode 100644 platforms/chibios/converters/promicro_to_svlinky/_pin_defs.h create mode 100644 platforms/chibios/converters/promicro_to_svlinky/converter.mk diff --git a/data/mappings/defaults.hjson b/data/mappings/defaults.hjson index 71902c92d68..32322a03095 100644 --- a/data/mappings/defaults.hjson +++ b/data/mappings/defaults.hjson @@ -84,6 +84,11 @@ "board": "STEMCELL", "bootloader": "tinyuf2", "processor": "STM32F411" + }, + "svlinky": { + "board": "QMK_PM2040", + "bootloader": "rp2040", + "processor": "RP2040" } } } diff --git a/data/schemas/keyboard.jsonschema b/data/schemas/keyboard.jsonschema index 7649a8e31b2..72a33f55ad1 100644 --- a/data/schemas/keyboard.jsonschema +++ b/data/schemas/keyboard.jsonschema @@ -45,7 +45,7 @@ }, "development_board": { "type": "string", - "enum": ["promicro", "elite_c", "elite_pi", "proton_c", "kb2040", "promicro_rp2040", "blok", "michi", "bit_c_pro", "stemcell", "bluepill", "blackpill_f401", "blackpill_f411", "bonsai_c4", "helios", "liatris", "imera"] + "enum": ["promicro", "elite_c", "elite_pi", "proton_c", "kb2040", "promicro_rp2040", "blok", "michi", "bit_c_pro", "stemcell", "bluepill", "blackpill_f401", "blackpill_f411", "bonsai_c4", "helios", "liatris", "imera", "svlinky"] }, "pin_compatible": { "type": "string", diff --git a/docs/feature_converters.md b/docs/feature_converters.md index 0021c34e519..06cc7b3a11f 100644 --- a/docs/feature_converters.md +++ b/docs/feature_converters.md @@ -21,6 +21,7 @@ The following converters are available at this time: | `promicro` | `liatris` | | `promicro` | `imera` | | `promicro` | `michi` | +| `promicro` | `svlinky` | | `elite_c` | `stemcell` | | `elite_c` | `rp2040_ce` | | `elite_c` | `elite_pi` | @@ -87,6 +88,7 @@ If a board currently supported in QMK uses a [Pro Micro](https://www.sparkfun.co | [Liatris](https://splitkb.com/products/liatris) | `liatris` | | [Imera](https://splitkb.com/products/imera) | `imera` | | [Michi](https://github.com/ci-bus/michi-promicro-rp2040) | `michi` | +| [Svlinky](https://github.com/sadekbaroudi/svlinky) | `svlinky` | Converter summary: @@ -105,6 +107,7 @@ Converter summary: | `liatris` | `-e CONVERT_TO=liatris` | `CONVERT_TO=liatris` | `#ifdef CONVERT_TO_LIATRIS` | | `imera` | `-e CONVERT_TO=imera` | `CONVERT_TO=imera` | `#ifdef CONVERT_TO_IMERA` | | `michi` | `-e CONVERT_TO=michi` | `CONVERT_TO=michi` | `#ifdef CONVERT_TO_MICHI` | +| `svlinky` | `-e CONVERT_TO=svlinky` | `CONVERT_TO=svlinky` | `#ifdef CONVERT_TO_SVLINKY` | ### Proton C {#proton_c} @@ -170,6 +173,9 @@ The Bonsai C4 only has one on-board LED (B2), and by default, both the Pro Micro Feature set is identical to [Adafruit KB2040](#kb2040). VBUS detection is enabled by default for superior split keyboard support. For more information, refer to the [Community Edition pinout](platformdev_rp2040#rp2040_ce) docs. +### Svlinky {#svlinky} + +Feature set is a pro micro equivalent of the [RP2040 Community Edition](#rp2040_ce), except that two of the analog GPIO have been replaced with digital only GPIO. These two were moved to the FPC connector to support the [VIK specification](https://github.com/sadekbaroudi/vik). This means that if you are expecting analog support on all 4 pins as provided on a RP2040 Community Edition pinout, you will not have that. Please see the [Svlinky github page](https://github.com/sadekbaroudi/svlinky) for more details. ## Elite-C diff --git a/platforms/chibios/converters/promicro_to_svlinky/_pin_defs.h b/platforms/chibios/converters/promicro_to_svlinky/_pin_defs.h new file mode 100644 index 00000000000..b90e5f40203 --- /dev/null +++ b/platforms/chibios/converters/promicro_to_svlinky/_pin_defs.h @@ -0,0 +1,36 @@ +// Copyright 2023 QMK +// SPDX-License-Identifier: GPL-2.0-or-later + +#pragma once + +// Left side (front) +#define D3 0U +#define D2 1U +// GND +// GND +#define D1 2U +#define D0 3U +#define D4 4U +#define C6 5U +#define D7 6U +#define E6 7U +#define B4 8U +#define B5 9U + +// Right side (front) +// RAW +// GND +// RESET +// VCC +#define F4 29U +#define F5 28U +#define F6 18U +#define F7 24U +#define B1 22U +#define B3 20U +#define B2 23U +#define B6 21U + +// LEDs +#define D5 17U +#define B0 25U diff --git a/platforms/chibios/converters/promicro_to_svlinky/converter.mk b/platforms/chibios/converters/promicro_to_svlinky/converter.mk new file mode 100644 index 00000000000..bfca20cd993 --- /dev/null +++ b/platforms/chibios/converters/promicro_to_svlinky/converter.mk @@ -0,0 +1,10 @@ +# rp2040_ce MCU settings for converting AVR projects +MCU := RP2040 +BOARD := QMK_PM2040 +BOOTLOADER := rp2040 + +# These are defaults based on what has been implemented for RP2040 boards +SERIAL_DRIVER ?= vendor +WS2812_DRIVER ?= vendor +BACKLIGHT_DRIVER ?= software +OPT_DEFS += -DUSB_VBUS_PIN=19U From 11daef82e0c710d7bdacc7c78fe21fae864be191 Mon Sep 17 00:00:00 2001 From: Joel Challis Date: Sat, 12 Oct 2024 00:29:32 +0100 Subject: [PATCH 059/124] zsa/moonlander: Fix execution of user callback (#24475) --- keyboards/zsa/moonlander/moonlander.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/keyboards/zsa/moonlander/moonlander.c b/keyboards/zsa/moonlander/moonlander.c index 14405fc4126..faa1dc75e82 100644 --- a/keyboards/zsa/moonlander/moonlander.c +++ b/keyboards/zsa/moonlander/moonlander.c @@ -404,7 +404,7 @@ void keyboard_post_init_kb(void) { is_launching = true; defer_exec(500, startup_exec, NULL); #endif - matrix_init_user(); + keyboard_post_init_user(); } void eeconfig_init_kb(void) { // EEPROM is getting reset! From 6fa11bf21913b5ccb531acc3c2baec963f4d384a Mon Sep 17 00:00:00 2001 From: Ryan Date: Sun, 13 Oct 2024 03:43:50 +1100 Subject: [PATCH 060/124] Separate RGBLight/RGB Matrix keycode handling (#23679) * Separate RGBLight/RGB Matrix keycode handling * Remove `_DISABLE_KEYCODES` handling * Update RGB Matrix keycode docs * Update underglow keycodes for previously migrated boards * Update keycodes for boards with custom handling * Fix typos * Fix bad merge --- builddefs/common_features.mk | 8 +- docs/features/rgb_matrix.md | 50 ++-- docs/features/rgblight.md | 6 - docs/keycodes.md | 32 +-- keyboards/1k/keymaps/default/keymap.c | 4 +- .../25keys/zinc/keymaps/default/keymap.c | 8 +- keyboards/akko/5087/5087.c | 2 +- keyboards/akko/5087/keymaps/default/keymap.c | 20 +- keyboards/annepro2/annepro2.c | 2 +- keyboards/arabica37/keymaps/default/keymap.c | 8 +- .../basekeys/slice/keymaps/default/keymap.c | 10 +- .../keymaps/default_split_left_space/keymap.c | 10 +- .../rev1_rgb/keymaps/2moons_rgb/keymap.c | 18 +- keyboards/bastardkb/charybdis/config.h | 8 - .../ergo42/keymaps/default-underglow/keymap.c | 6 +- keyboards/chosfox/cf81/cf81.c | 2 +- .../chosfox/cf81/keymaps/default/keymap.c | 20 +- .../ergoinu/keymaps/default/keymap.c | 6 +- .../ergoinu/keymaps/default_jis/keymap.c | 6 +- keyboards/drop/alt/keymaps/default/keymap.c | 4 +- .../drop/cstm65/keymaps/default/keymap.c | 4 +- .../drop/cstm80/keymaps/default/keymap.c | 4 +- keyboards/drop/ctrl/keymaps/default/keymap.c | 4 +- keyboards/drop/lib/common.c | 2 +- .../drop/sense75/keymaps/default/keymap.c | 4 +- .../drop/sense75/keymaps/default_md/keymap.c | 4 +- keyboards/drop/shift/keymaps/default/keymap.c | 4 +- .../v2/keymaps/rgb-control-macos/keymap.c | 8 +- .../thekey/v2/keymaps/rgb-control/keymap.c | 8 +- keyboards/ergodox_ez/ergodox_ez.c | 2 +- .../ergodox_ez/glow/keymaps/default/keymap.c | 4 +- keyboards/ergodox_ez/keymaps/default/keymap.c | 4 +- .../ergodox_ez/keymaps/rgb_layer/keymap.c | 10 +- keyboards/ergodox_ez/keymaps/testing/keymap.c | 2 +- keyboards/feker/ik75/keymaps/default/keymap.c | 14 +- keyboards/gopolar/gg86/gg86.c | 2 +- .../gopolar/gg86/keymaps/default/keymap.c | 30 +-- .../hadron/ver2/keymaps/default/keymap.c | 4 +- .../hadron/ver2/keymaps/side_numpad/keymap.c | 4 +- keyboards/helix/pico/keymaps/default/keymap.c | 6 +- keyboards/helix/rev2/keymaps/default/keymap.c | 6 +- .../helix/rev2/keymaps/five_rows_jis/keymap.c | 6 +- .../devil68_pro/keymaps/default/keymap.c | 10 +- .../handwired_k552/keymaps/default/keymap.c | 8 +- .../keymaps/default/keymap_stuff.h | 2 +- .../nyx/rev1/keymaps/default/keymap.c | 8 +- keyboards/horrortroll/nyx/rev1/rev1.c | 6 +- keyboards/inett_studio/sqx/hotswap/config.h | 15 -- keyboards/inett_studio/sqx/hotswap/hotswap.c | 42 +--- keyboards/inett_studio/sqx/hotswap/hotswap.h | 48 ---- .../sqx/hotswap/keymaps/default/keymap.c | 2 +- keyboards/inett_studio/sqx/universal/config.h | 15 -- .../sqx/universal/keymaps/default/keymap.c | 2 +- .../inett_studio/sqx/universal/universal.c | 42 +--- .../inett_studio/sqx/universal/universal.h | 48 ---- keyboards/inland/kb83/kb83.c | 18 +- .../inland/kb83/keymaps/default/keymap.c | 28 +-- .../keybee/keybee65/keymaps/default/keymap.c | 6 +- .../c1_pro/ansi/rgb/keymaps/default/keymap.c | 16 +- keyboards/keychron/c1_pro/ansi/rgb/rgb.c | 2 +- .../c2_pro/ansi/rgb/keymaps/default/keymap.c | 16 +- keyboards/keychron/c2_pro/c2_pro.c | 4 +- .../keychron/q0/base/keymaps/default/keymap.c | 10 +- .../keychron/q0/plus/keymaps/default/keymap.c | 14 +- keyboards/keychron/q0/q0.c | 2 +- .../q10/ansi_encoder/keymaps/default/keymap.c | 18 +- .../q10/iso_encoder/keymaps/default/keymap.c | 18 +- keyboards/keychron/q10/q10.c | 2 +- .../q11/ansi_encoder/keymaps/default/keymap.c | 18 +- .../q11/iso_encoder/keymaps/default/keymap.c | 18 +- keyboards/keychron/q11/q11.c | 2 +- .../q12/ansi_encoder/keymaps/default/keymap.c | 20 +- .../q12/iso_encoder/keymaps/default/keymap.c | 20 +- keyboards/keychron/q12/q12.c | 2 +- .../q1v1/ansi/keymaps/default/keymap.c | 12 +- .../ansi_encoder/keymaps/default/keymap.c | 18 +- .../q1v1/iso/keymaps/default/keymap.c | 12 +- .../q1v1/iso_encoder/keymaps/default/keymap.c | 16 +- keyboards/keychron/q1v1/q1v1.c | 2 +- .../q1v2/ansi/keymaps/default/keymap.c | 12 +- .../ansi_encoder/keymaps/default/keymap.c | 18 +- .../q1v2/iso/keymaps/default/keymap.c | 12 +- .../q1v2/iso_encoder/keymaps/default/keymap.c | 18 +- .../q1v2/jis/keymaps/default/keymap.c | 12 +- .../q1v2/jis_encoder/keymaps/default/keymap.c | 18 +- keyboards/keychron/q1v2/q1v2.c | 2 +- .../keychron/q2/ansi/keymaps/default/keymap.c | 16 +- .../q2/ansi_encoder/keymaps/default/keymap.c | 20 +- .../keychron/q2/iso/keymaps/default/keymap.c | 16 +- .../q2/iso_encoder/keymaps/default/keymap.c | 16 +- .../keychron/q2/jis/keymaps/default/keymap.c | 16 +- .../q2/jis_encoder/keymaps/default/keymap.c | 20 +- keyboards/keychron/q2/q2.c | 2 +- .../keychron/q3/ansi/keymaps/default/keymap.c | 16 +- .../q3/ansi_encoder/keymaps/default/keymap.c | 20 +- .../keychron/q3/iso/keymaps/default/keymap.c | 16 +- .../q3/iso_encoder/keymaps/default/keymap.c | 20 +- .../keychron/q3/jis/keymaps/default/keymap.c | 16 +- .../q3/jis_encoder/keymaps/default/keymap.c | 20 +- keyboards/keychron/q3/q3.c | 2 +- .../keychron/q4/ansi/keymaps/default/keymap.c | 16 +- .../keychron/q4/iso/keymaps/default/keymap.c | 16 +- keyboards/keychron/q4/q4.c | 2 +- .../keychron/q5/ansi/keymaps/default/keymap.c | 16 +- .../q5/ansi_encoder/keymaps/default/keymap.c | 18 +- .../keychron/q5/iso/keymaps/default/keymap.c | 16 +- .../q5/iso_encoder/keymaps/default/keymap.c | 18 +- keyboards/keychron/q5/q5.c | 2 +- .../keychron/q6/ansi/keymaps/default/keymap.c | 16 +- .../q6/ansi_encoder/keymaps/default/keymap.c | 20 +- .../keychron/q6/iso/keymaps/default/keymap.c | 16 +- .../q6/iso_encoder/keymaps/default/keymap.c | 20 +- keyboards/keychron/q6/q6.c | 2 +- .../q65/ansi_encoder/keymaps/default/keymap.c | 20 +- keyboards/keychron/q65/q65.c | 2 +- .../keychron/q7/ansi/keymaps/default/keymap.c | 20 +- .../keychron/q7/iso/keymaps/default/keymap.c | 20 +- keyboards/keychron/q7/q7.c | 2 +- .../keychron/q8/ansi/keymaps/default/keymap.c | 16 +- .../q8/ansi_encoder/keymaps/default/keymap.c | 20 +- .../keychron/q8/iso/keymaps/default/keymap.c | 16 +- .../q8/iso_encoder/keymaps/default/keymap.c | 20 +- keyboards/keychron/q8/q8.c | 2 +- .../keychron/q9/ansi/keymaps/default/keymap.c | 12 +- .../q9/ansi_encoder/keymaps/default/keymap.c | 16 +- .../keychron/q9/iso/keymaps/default/keymap.c | 12 +- .../q9/iso_encoder/keymaps/default/keymap.c | 16 +- keyboards/keychron/q9/q9.c | 2 +- .../ansi_encoder/keymaps/default/keymap.c | 16 +- keyboards/keychron/q9_plus/q9_plus.c | 2 +- .../s1/ansi/rgb/keymaps/default/keymap.c | 16 +- keyboards/keychron/s1/s1.c | 2 +- .../keychron/v1/ansi/keymaps/default/keymap.c | 12 +- .../v1/ansi_encoder/keymaps/default/keymap.c | 16 +- .../keychron/v1/iso/keymaps/default/keymap.c | 12 +- .../v1/iso_encoder/keymaps/default/keymap.c | 16 +- .../keychron/v1/jis/keymaps/default/keymap.c | 12 +- .../v1/jis_encoder/keymaps/default/keymap.c | 18 +- keyboards/keychron/v1/v1.c | 2 +- .../v10/ansi_encoder/keymaps/default/keymap.c | 18 +- .../v10/iso_encoder/keymaps/default/keymap.c | 18 +- keyboards/keychron/v10/v10.c | 2 +- .../keychron/v2/ansi/keymaps/default/keymap.c | 16 +- .../v2/ansi_encoder/keymaps/default/keymap.c | 20 +- .../keychron/v2/iso/keymaps/default/keymap.c | 16 +- .../v2/iso_encoder/keymaps/default/keymap.c | 20 +- .../keychron/v2/jis/keymaps/default/keymap.c | 16 +- .../v2/jis_encoder/keymaps/default/keymap.c | 20 +- keyboards/keychron/v2/v2.c | 2 +- .../keychron/v3/ansi/keymaps/default/keymap.c | 16 +- .../v3/ansi_encoder/keymaps/default/keymap.c | 20 +- .../keychron/v3/iso/keymaps/default/keymap.c | 16 +- .../v3/iso_encoder/keymaps/default/keymap.c | 20 +- .../keychron/v3/jis/keymaps/default/keymap.c | 16 +- .../v3/jis_encoder/keymaps/default/keymap.c | 20 +- keyboards/keychron/v3/v3.c | 2 +- .../keychron/v4/ansi/keymaps/default/keymap.c | 16 +- .../keychron/v4/iso/keymaps/default/keymap.c | 16 +- keyboards/keychron/v4/v4.c | 2 +- .../keychron/v5/ansi/keymaps/default/keymap.c | 16 +- .../v5/ansi_encoder/keymaps/default/keymap.c | 16 +- .../keychron/v5/iso/keymaps/default/keymap.c | 16 +- .../v5/iso_encoder/keymaps/default/keymap.c | 16 +- keyboards/keychron/v5/v5.c | 2 +- .../keychron/v6/ansi/keymaps/default/keymap.c | 16 +- .../v6/ansi_encoder/keymaps/default/keymap.c | 20 +- .../keychron/v6/iso/keymaps/default/keymap.c | 16 +- .../v6/iso_encoder/keymaps/default/keymap.c | 20 +- keyboards/keychron/v6/v6.c | 2 +- .../keychron/v7/ansi/keymaps/default/keymap.c | 20 +- .../keychron/v7/iso/keymaps/default/keymap.c | 20 +- keyboards/keychron/v7/v7.c | 2 +- .../keychron/v8/ansi/keymaps/default/keymap.c | 16 +- .../v8/ansi_encoder/keymaps/default/keymap.c | 20 +- .../keychron/v8/iso/keymaps/default/keymap.c | 16 +- .../v8/iso_encoder/keymaps/default/keymap.c | 20 +- keyboards/keychron/v8/v8.c | 2 +- keyboards/kprepublic/bm60hsrgb/rev2/config.h | 4 - .../kprepublic/bm60hsrgb_ec/rev2/config.h | 4 - .../rev2/keymaps/default/keymap.c | 61 +---- keyboards/kprepublic/bm68hsrgb/rev2/config.h | 4 - .../bm68hsrgb/rev2/keymaps/default/keymap.c | 60 +---- .../treadstone32/keymaps/default/keymap.c | 6 +- .../matrix/m20add/keymaps/default/keymap.c | 2 +- keyboards/matrix/m20add/keymaps/iso/keymap.c | 2 +- keyboards/matrix/m20add/rgb_ring.c | 4 +- .../adelais/keymaps/default/keymap.c | 44 +--- .../mechlovin/adelais/rgb_led/rev2/config.h | 2 - .../mechlovin/adelais/rgb_led/rev2/rev2.c | 48 ---- .../mechlovin/adelais/rgb_led/rev3/config.h | 2 - keyboards/mechlovin/hannah60rgb/rev2/config.h | 4 - keyboards/mechlovin/hannah60rgb/rev2/rev2.c | 46 ---- keyboards/ml/gas75/keymaps/default/keymap.c | 14 +- .../monsgeek/m1/keymaps/default/keymap.c | 28 +-- keyboards/monsgeek/m1/m1.c | 2 +- .../monsgeek/m3/keymaps/default/keymap.c | 20 +- keyboards/monsgeek/m3/m3.c | 2 +- .../monsgeek/m6/keymaps/default/keymap.c | 16 +- keyboards/monsgeek/m6/m6.c | 2 +- .../m63_rgb/keymaps/default/keymap.c | 10 +- .../m64_rgb/keymaps/default/keymap.c | 10 +- keyboards/numatreus/keymaps/like_jis/keymap.c | 6 +- .../obosob/arch_36/keymaps/default/keymap.c | 22 +- .../obosob/arch_36/keymaps/obosob/keymap.c | 26 +- .../owlab/spring/keymaps/default/keymap.c | 2 +- keyboards/owlab/spring/spring.c | 18 +- keyboards/owlab/voice65/hotswap/config.h | 4 - keyboards/owlab/voice65/soldered/config.h | 4 - .../pangorin/tan67/keymaps/default/keymap.c | 6 +- keyboards/pangorin/tan67/tan67.c | 2 +- .../pila87/keymaps/default/keymap.c | 2 +- keyboards/phage_studio/pila87/pila87.c | 2 +- keyboards/pica40/rev1/config.h | 1 - keyboards/pica40/rev2/config.h | 1 - keyboards/qwertykeys/qk100/ansi/ansi.c | 54 ----- keyboards/qwertykeys/qk100/ansi/config.h | 2 - .../qk100/ansi/keymaps/default/keymap.c | 4 +- .../nomu30/keymaps/center_sprit/keymap.c | 6 +- keyboards/rgbkb/sol/keymaps/default/keymap.c | 16 +- keyboards/rgbkb/sol3/keymaps/default/keymap.c | 11 +- keyboards/rgbkb/sol3/rev1/rev1.c | 2 +- .../7skb/keymaps/default/keymap.c | 6 +- .../naked48/keymaps/default/keymap.c | 6 +- .../keymaps/default_with_nafuda/keymap.c | 8 +- .../keymaps/default_with_setta21/keymap.c | 10 +- .../keymaps/default_with_nafuda/keymap.c | 8 +- .../keymaps/default_with_setta21/keymap.c | 8 +- .../naked64/keymaps/default/keymap.c | 6 +- .../keymaps/default_with_setta21/keymap.c | 10 +- .../gk61/pro/keymaps/default/keymap.c | 4 +- keyboards/skyloong/gk61/pro/pro.c | 2 +- .../gk61/pro_48/keymaps/default/keymap.c | 4 +- keyboards/skyloong/gk61/pro_48/pro_48.c | 2 +- .../skyloong/qk21/v1/keymaps/default/keymap.c | 8 +- keyboards/skyloong/qk21/v1/v1.c | 2 +- keyboards/system76/launch_1/config.h | 2 - .../launch_1/keymaps/default/keymap.c | 2 +- keyboards/system76/launch_1/launch_1.c | 6 +- keyboards/tanuki/keymaps/default/keymap.c | 16 +- keyboards/tetris/keymaps/default/keymap.c | 2 +- .../woodkeys/meira/keymaps/default/keymap.c | 4 +- .../scarletbandana/keymaps/default/keymap.c | 6 +- keyboards/work_louder/loop/config.h | 18 -- .../work_louder/loop/keymaps/default/keymap.c | 6 +- keyboards/work_louder/loop/loop.c | 2 +- keyboards/work_louder/loop/loop.h | 20 -- keyboards/work_louder/micro/config.h | 13 - keyboards/work_louder/nano/config.h | 18 -- keyboards/work_louder/nano/nano.c | 2 +- keyboards/work_louder/nano/nano.h | 20 -- keyboards/work_louder/numpad/config.h | 18 -- keyboards/work_louder/rgb_functions.c | 45 ---- keyboards/work_louder/rgb_functions.h | 57 ----- keyboards/work_louder/work_board/config.h | 2 - .../work_board/keymaps/default/keymap.c | 4 +- keyboards/work_louder/work_board/work_board.c | 2 +- keyboards/work_louder/work_board/work_board.h | 20 -- .../xiudi/xd002/keymaps/rgb_lite/keymap.c | 4 +- keyboards/yosino58/keymaps/default/keymap.c | 6 +- .../zsa/moonlander/keymaps/default/keymap.c | 4 +- keyboards/zsa/moonlander/moonlander.c | 2 +- keyboards/zsa/planck_ez/planck_ez.c | 2 +- .../zsa/voyager/keymaps/default/keymap.c | 2 +- keyboards/zsa/voyager/voyager.c | 2 +- quantum/process_keycode/process_rgb.c | 226 ------------------ quantum/process_keycode/process_rgb.h | 22 -- quantum/quantum.c | 15 +- 267 files changed, 1228 insertions(+), 2276 deletions(-) delete mode 100644 keyboards/inett_studio/sqx/hotswap/hotswap.h delete mode 100644 keyboards/inett_studio/sqx/universal/universal.h delete mode 100644 keyboards/work_louder/loop/loop.h delete mode 100644 keyboards/work_louder/nano/nano.h delete mode 100644 keyboards/work_louder/rgb_functions.h delete mode 100644 keyboards/work_louder/work_board/work_board.h delete mode 100644 quantum/process_keycode/process_rgb.c delete mode 100644 quantum/process_keycode/process_rgb.h diff --git a/builddefs/common_features.mk b/builddefs/common_features.mk index a2c88d7e99f..cc13fbd3f73 100644 --- a/builddefs/common_features.mk +++ b/builddefs/common_features.mk @@ -306,11 +306,11 @@ ifeq ($(strip $(RGBLIGHT_ENABLE)), yes) POST_CONFIG_H += $(QUANTUM_DIR)/rgblight/rgblight_post_config.h OPT_DEFS += -DRGBLIGHT_ENABLE OPT_DEFS += -DRGBLIGHT_$(strip $(shell echo $(RGBLIGHT_DRIVER) | tr '[:lower:]' '[:upper:]')) + SRC += $(QUANTUM_DIR)/process_keycode/process_underglow.c SRC += $(QUANTUM_DIR)/color.c SRC += $(QUANTUM_DIR)/rgblight/rgblight.c SRC += $(QUANTUM_DIR)/rgblight/rgblight_drivers.c CIE1931_CURVE := yes - RGB_KEYCODES_ENABLE := yes endif ifeq ($(strip $(RGBLIGHT_DRIVER)), ws2812) @@ -456,12 +456,12 @@ ifeq ($(strip $(RGB_MATRIX_ENABLE)), yes) COMMON_VPATH += $(QUANTUM_DIR)/rgb_matrix/animations COMMON_VPATH += $(QUANTUM_DIR)/rgb_matrix/animations/runners POST_CONFIG_H += $(QUANTUM_DIR)/rgb_matrix/post_config.h + SRC += $(QUANTUM_DIR)/process_keycode/process_rgb_matrix.c SRC += $(QUANTUM_DIR)/color.c SRC += $(QUANTUM_DIR)/rgb_matrix/rgb_matrix.c SRC += $(QUANTUM_DIR)/rgb_matrix/rgb_matrix_drivers.c LIB8TION_ENABLE := yes CIE1931_CURVE := yes - RGB_KEYCODES_ENABLE := yes ifeq ($(strip $(RGB_MATRIX_DRIVER)), aw20216s) SPI_DRIVER_REQUIRED = yes @@ -564,10 +564,6 @@ ifeq ($(strip $(RGB_MATRIX_ENABLE)), yes) endif endif -ifeq ($(strip $(RGB_KEYCODES_ENABLE)), yes) - SRC += $(QUANTUM_DIR)/process_keycode/process_rgb.c -endif - VARIABLE_TRACE ?= no ifneq ($(strip $(VARIABLE_TRACE)),no) SRC += $(QUANTUM_DIR)/variable_trace.c diff --git a/docs/features/rgb_matrix.md b/docs/features/rgb_matrix.md index bc14bb62775..d87e5f6fdbe 100644 --- a/docs/features/rgb_matrix.md +++ b/docs/features/rgb_matrix.md @@ -81,38 +81,21 @@ As mentioned earlier, the center of the keyboard by default is expected to be `{ ## Keycodes {#keycodes} -All RGB keycodes are currently shared with the RGBLIGHT system: - -|Key |Aliases |Description | -|-------------------|----------|--------------------------------------------------------------------------------------| -|`RGB_TOG` | |Toggle RGB lighting on or off | -|`RGB_MODE_FORWARD` |`RGB_MOD` |Cycle through modes, reverse direction when Shift is held | -|`RGB_MODE_REVERSE` |`RGB_RMOD`|Cycle through modes in reverse, forward direction when Shift is held | -|`RGB_HUI` | |Increase hue, decrease hue when Shift is held | -|`RGB_HUD` | |Decrease hue, increase hue when Shift is held | -|`RGB_SAI` | |Increase saturation, decrease saturation when Shift is held | -|`RGB_SAD` | |Decrease saturation, increase saturation when Shift is held | -|`RGB_VAI` | |Increase value (brightness), decrease value when Shift is held | -|`RGB_VAD` | |Decrease value (brightness), increase value when Shift is held | -|`RGB_SPI` | |Increase effect speed (does not support eeprom yet), decrease speed when Shift is held| -|`RGB_SPD` | |Decrease effect speed (does not support eeprom yet), increase speed when Shift is held| -|`RGB_MODE_PLAIN` |`RGB_M_P` |Static (no animation) mode | -|`RGB_MODE_BREATHE` |`RGB_M_B` |Breathing animation mode | -|`RGB_MODE_RAINBOW` |`RGB_M_R` |Full gradient scrolling left to right (uses the `RGB_MATRIX_CYCLE_LEFT_RIGHT` mode) | -|`RGB_MODE_SWIRL` |`RGB_M_SW`|Full gradient spinning pinwheel around center of keyboard (uses `RGB_MATRIX_CYCLE_PINWHEEL` mode) | - -* `RGB_MODE_*` keycodes will generally work, but not all of the modes are currently mapped to the correct effects for the RGB Matrix system. - -`RGB_MODE_PLAIN`, `RGB_MODE_BREATHE`, `RGB_MODE_RAINBOW`, and `RGB_MODE_SWIRL` are the only ones that are mapped properly. The rest don't have a direct equivalent, and are not mapped. - -::: tip -`RGB_*` keycodes cannot be used with functions like `tap_code16(RGB_HUD)` as they're not USB HID keycodes. If you wish to replicate similar behaviour in custom code within your firmware (e.g. inside `encoder_update_user()` or `process_record_user()`), the equivalent [RGB functions](#functions) should be used instead. -::: - - -::: warning -By default, if you have both the [RGB Light](rgblight) and the RGB Matrix feature enabled, these keycodes will work for both features, at the same time. You can disable the keycode functionality by defining the `*_DISABLE_KEYCODES` option for the specific feature. -::: +|Key |Aliases |Description | +|-------------------------------|---------|-----------------------------------| +|`QK_RGB_MATRIX_ON` |`RM_ON` |Turn on RGB Matrix | +|`QK_RGB_MATRIX_OFF` |`RM_OFF` |Turn off RGB Matrix | +|`QK_RGB_MATRIX_TOGGLE` |`RM_TOGG`|Toggle RGB Matrix on or off | +|`QK_RGB_MATRIX_MODE_NEXT` |`RM_NEXT`|Cycle through animations | +|`QK_RGB_MATRIX_MODE_PREVIOUS` |`RM_PREV`|Cycle through animations in reverse| +|`QK_RGB_MATRIX_HUE_UP` |`RM_HUEU`|Cycle through hue | +|`QK_RGB_MATRIX_HUE_DOWN` |`RM_HUED`|Cycle through hue in reverse | +|`QK_RGB_MATRIX_SATURATION_UP` |`RM_SATU`|Increase the saturation | +|`QK_RGB_MATRIX_SATURATION_DOWN`|`RM_SATD`|Decrease the saturation | +|`QK_RGB_MATRIX_VALUE_UP` |`RM_VALU`|Increase the brightness level | +|`QK_RGB_MATRIX_VALUE_DOWN` |`RM_VALD`|Decrease the brightness level | +|`QK_RGB_MATRIX_SPEED_UP` |`RM_SPDU`|Increase the animation speed | +|`QK_RGB_MATRIX_SPEED_DOWN` |`RM_SPDD`|Decrease the animation speed | ## RGB Matrix Effects {#rgb-matrix-effects} @@ -289,7 +272,7 @@ Solid reactive effects will pulse RGB light on key presses with user configurabl #define RGB_MATRIX_SOLID_REACTIVE_GRADIENT_MODE ``` -Gradient mode will loop through the color wheel hues over time and its duration can be controlled with the effect speed keycodes (`RGB_SPI`/`RGB_SPD`). +Gradient mode will loop through the color wheel hues over time and its duration can be controlled with the effect speed keycodes (`RM_SPDU`/`RM_SPDD`). ## Custom RGB Matrix Effects {#custom-rgb-matrix-effects} @@ -396,7 +379,6 @@ These are defined in [`color.h`](https://github.com/qmk/qmk_firmware/blob/master #define RGB_MATRIX_DEFAULT_VAL RGB_MATRIX_MAXIMUM_BRIGHTNESS // Sets the default brightness value, if none has been set #define RGB_MATRIX_DEFAULT_SPD 127 // Sets the default animation speed, if none has been set #define RGB_MATRIX_DEFAULT_FLAGS LED_FLAG_ALL // Sets the default LED flags, if none has been set -#define RGB_MATRIX_DISABLE_KEYCODES // disables control of rgb matrix by keycodes (must use code functions to control the feature) #define RGB_MATRIX_SPLIT { X, Y } // (Optional) For split keyboards, the number of LEDs connected on each half. X = left, Y = Right. // If reactive effects are enabled, you also will want to enable SPLIT_TRANSPORT_MIRROR #define RGB_TRIGGER_ON_KEYDOWN // Triggers RGB keypress events on key down. This makes RGB control feel more responsive. This may cause RGB to not function properly on some boards diff --git a/docs/features/rgblight.md b/docs/features/rgblight.md index 794398a0f95..2afc2eb7d09 100644 --- a/docs/features/rgblight.md +++ b/docs/features/rgblight.md @@ -87,11 +87,6 @@ Changing the **Value** sets the overall brightness.
These keycodes cannot be used with functions like `tap_code16()` as they are not USB HID keycodes. If you wish to replicate similar behaviour in custom code within your firmware (e.g. inside `encoder_update_user()` or `process_record_user()`), the equivalent [RGB functions](#functions) should be used instead. ::: - -::: warning -By default, if you have both the RGB Light and the [RGB Matrix](rgb_matrix) feature enabled, these keycodes will work for both features, at the same time. You can disable the keycode functionality by defining the `*_DISABLE_KEYCODES` option for the specific feature. -::: - ## Configuration Your RGB lighting can be configured by placing these `#define`s in your `config.h`: @@ -104,7 +99,6 @@ Your RGB lighting can be configured by placing these `#define`s in your `config. |`RGBLIGHT_LIMIT_VAL` |`255` |The maximum brightness level | |`RGBLIGHT_SLEEP` |*Not defined* |If defined, the RGB lighting will be switched off when the host goes to sleep | |`RGBLIGHT_SPLIT` |*Not defined* |If defined, synchronization functionality for split keyboards is added | -|`RGBLIGHT_DISABLE_KEYCODES`|*Not defined* |If defined, disables the ability to control RGB Light from the keycodes. You must use code functions to control the feature| |`RGBLIGHT_DEFAULT_MODE` |`RGBLIGHT_MODE_STATIC_LIGHT`|The default mode to use upon clearing the EEPROM | |`RGBLIGHT_DEFAULT_HUE` |`0` (red) |The default hue to use upon clearing the EEPROM | |`RGBLIGHT_DEFAULT_SAT` |`UINT8_MAX` (255) |The default saturation to use upon clearing the EEPROM | diff --git a/docs/keycodes.md b/docs/keycodes.md index 9107ca5eb88..1210390f54b 100644 --- a/docs/keycodes.md +++ b/docs/keycodes.md @@ -728,23 +728,25 @@ See also: [RGB Lighting](features/rgblight) |`RGB_MODE_RGBTEST` |`RGB_M_T` |Red, Green, Blue test animation mode (deprecated) | |`RGB_MODE_TWINKLE` |`RGB_M_TW`|Twinkle animation mode (deprecated) | -## RGB Matrix Lighting {#rgb-matrix-lighting} +## RGB Matrix {#rgb-matrix} -See also: [RGB Matrix Lighting](features/rgb_matrix) +See also: [RGB Matrix](features/rgb_matrix) -|Key |Aliases |Description | -|-------------------|----------|--------------------------------------------------------------------------------------| -|`RGB_TOG` | |Toggle RGB lighting on or off | -|`RGB_MODE_FORWARD` |`RGB_MOD` |Cycle through modes, reverse direction when Shift is held | -|`RGB_MODE_REVERSE` |`RGB_RMOD`|Cycle through modes in reverse, forward direction when Shift is held | -|`RGB_HUI` | |Increase hue, decrease hue when Shift is held | -|`RGB_HUD` | |Decrease hue, increase hue when Shift is held | -|`RGB_SAI` | |Increase saturation, decrease saturation when Shift is held | -|`RGB_SAD` | |Decrease saturation, increase saturation when Shift is held | -|`RGB_VAI` | |Increase value (brightness), decrease value when Shift is held | -|`RGB_VAD` | |Decrease value (brightness), increase value when Shift is held | -|`RGB_SPI` | |Increase effect speed (does not support eeprom yet), decrease speed when Shift is held| -|`RGB_SPD` | |Decrease effect speed (does not support eeprom yet), increase speed when Shift is held| +|Key |Aliases |Description | +|-------------------------------|---------|-----------------------------------| +|`QK_RGB_MATRIX_ON` |`RM_ON` |Turn on RGB Matrix | +|`QK_RGB_MATRIX_OFF` |`RM_OFF` |Turn off RGB Matrix | +|`QK_RGB_MATRIX_TOGGLE` |`RM_TOGG`|Toggle RGB Matrix on or off | +|`QK_RGB_MATRIX_MODE_NEXT` |`RM_NEXT`|Cycle through animations | +|`QK_RGB_MATRIX_MODE_PREVIOUS` |`RM_PREV`|Cycle through animations in reverse| +|`QK_RGB_MATRIX_HUE_UP` |`RM_HUEU`|Cycle through hue | +|`QK_RGB_MATRIX_HUE_DOWN` |`RM_HUED`|Cycle through hue in reverse | +|`QK_RGB_MATRIX_SATURATION_UP` |`RM_SATU`|Increase the saturation | +|`QK_RGB_MATRIX_SATURATION_DOWN`|`RM_SATD`|Decrease the saturation | +|`QK_RGB_MATRIX_VALUE_UP` |`RM_VALU`|Increase the brightness level | +|`QK_RGB_MATRIX_VALUE_DOWN` |`RM_VALD`|Decrease the brightness level | +|`QK_RGB_MATRIX_SPEED_UP` |`RM_SPDU`|Increase the animation speed | +|`QK_RGB_MATRIX_SPEED_DOWN` |`RM_SPDD`|Decrease the animation speed | ## US ANSI Shifted Symbols {#us-ansi-shifted-symbols} diff --git a/keyboards/1k/keymaps/default/keymap.c b/keyboards/1k/keymaps/default/keymap.c index 3261a9f922c..11c5db9dd60 100644 --- a/keyboards/1k/keymaps/default/keymap.c +++ b/keyboards/1k/keymaps/default/keymap.c @@ -6,13 +6,13 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { [0] = LAYOUT_ortho_1x1( - RGB_HUI + UG_HUEU ) }; bool process_record_user(uint16_t keycode, keyrecord_t *record) { if (record->event.pressed) { switch (keycode) { - case RGB_HUI: + case QK_UNDERGLOW_HUE_UP: rgblite_increase_hue(); break; } diff --git a/keyboards/25keys/zinc/keymaps/default/keymap.c b/keyboards/25keys/zinc/keymaps/default/keymap.c index 2b523b4cde1..0d68eb45412 100644 --- a/keyboards/25keys/zinc/keymaps/default/keymap.c +++ b/keyboards/25keys/zinc/keymaps/default/keymap.c @@ -146,8 +146,8 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { */ [_ADJUST] = LAYOUT_ortho_4x12( _______, QK_BOOT, RGBRST, _______, _______, _______, _______, QWERTY, COLEMAK, DVORAK, _______, KC_INS, - _______, RGB_TOG, RGB_HUI, RGB_SAI, RGB_VAI, AG_NORM, AG_SWAP, KC_MINS, KC_EQL, KC_PSCR, KC_SCRL, KC_PAUS, - RGB_RMOD,RGB_MOD, RGB_HUD, RGB_SAD, RGB_VAD, _______, _______, _______, _______, _______, KC_PGUP, _______, + _______, UG_TOGG, UG_HUEU, UG_SATU, UG_VALU, AG_NORM, AG_SWAP, KC_MINS, KC_EQL, KC_PSCR, KC_SCRL, KC_PAUS, + UG_PREV, UG_NEXT, UG_HUED, UG_SATD, UG_VALD, _______, _______, _______, _______, _______, KC_PGUP, _______, _______, _______, _______, EISU, EISU, EISU, KANA, KANA, KANA, KC_HOME, KC_PGDN, KC_END ) }; @@ -246,7 +246,7 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) { break; //led operations - RGB mode change now updates the RGB_current_mode to allow the right RGB mode to be set after reactive keys are released - case RGB_RMOD: + case QK_UNDERGLOW_MODE_PREVIOUS: #if defined(RGBLIGHT_ENABLE) if (record->event.pressed) { rgblight_mode_noeeprom(RGB_current_config.mode); @@ -257,7 +257,7 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) { #endif break; - case RGB_MOD: + case QK_UNDERGLOW_MODE_NEXT: #if defined(RGBLIGHT_ENABLE) if (record->event.pressed) { rgblight_mode_noeeprom(RGB_current_config.mode); diff --git a/keyboards/akko/5087/5087.c b/keyboards/akko/5087/5087.c index 746a9a78161..996f8c25850 100644 --- a/keyboards/akko/5087/5087.c +++ b/keyboards/akko/5087/5087.c @@ -167,7 +167,7 @@ bool process_record_kb(uint16_t keycode, keyrecord_t* record) { eeconfig_update_keymap(keymap_config.raw); } return false; - case RGB_TOG: + case QK_RGB_MATRIX_TOGGLE: if (record->event.pressed) { switch (rgb_matrix_get_flags()) { case LED_FLAG_ALL: { diff --git a/keyboards/akko/5087/keymaps/default/keymap.c b/keyboards/akko/5087/keymaps/default/keymap.c index 07763ccc891..039823465cd 100644 --- a/keyboards/akko/5087/keymaps/default/keymap.c +++ b/keyboards/akko/5087/keymaps/default/keymap.c @@ -47,11 +47,11 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { [WIN_FN] = LAYOUT_tkl_ansi( /* FN */ _______, KC_MYCM, KC_MAIL, KC_WSCH, KC_WHOM, KC_MSEL, KC_MPLY, KC_MPRV, KC_MNXT, _______,_______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RGB_SPD, RGB_SPI, _______, _______, _______, _______, - _______, _______,TG(WIN_W),_______, _______, _______, _______, _______, _______, DF(MAC_B),_______,_______, _______, RGB_MOD, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, RGB_TOG, _______, _______, RGB_HUI, - _______, _______, _______, KC_CALC, _______, _______, _______, KC_MUTE, KC_VOLD, KC_VOLU, _______, _______, RGB_VAI, - _______, GU_TOGG, _______, _______, _______, _______, _______, _______, RGB_SAD, RGB_VAD, RGB_SAI), + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RM_SPDD, RM_SPDU, _______, _______, _______, _______, + _______, _______,TG(WIN_W),_______, _______, _______, _______, _______, _______, DF(MAC_B),_______,_______, _______, RM_NEXT, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, RM_TOGG, _______, _______, RM_HUEU, + _______, _______, _______, KC_CALC, _______, _______, _______, KC_MUTE, KC_VOLD, KC_VOLU, _______, _______, RM_VALU, + _______, GU_TOGG, _______, _______, _______, _______, _______, _______, RM_SATD, RM_VALD, RM_SATU), [MAC_B] = LAYOUT_tkl_ansi( /* Base */ KC_ESC, KC_BRID, KC_BRIU, KC_MCTL, KC_LPAD, KC_F5, KC_F6, KC_MPRV, KC_MPLY, KC_MNXT, KC_MUTE, KC_VOLD, KC_VOLU, KC_PSCR, KC_SCRL, KC_PAUS, @@ -70,10 +70,10 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { _______, _______, _______, _______, _______, _______, MO(MAC_FN), _______, KC_A, KC_S, KC_D), [MAC_FN] = LAYOUT_tkl_ansi( /* FN */ KC_ESC, KC_F1, KC_F2, KC_F3, KC_F4, _______, _______, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RGB_SPD, RGB_SPI, _______, _______, _______, _______, - _______, _______,TG(MAC_W),_______, _______, _______, _______, _______, _______, DF(WIN_B),_______,_______, _______, RGB_MOD, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, RGB_TOG, _______, _______, RGB_HUI, - _______, _______, _______, KC_CALC, _______, _______, _______, KC_MUTE, KC_VOLD, KC_VOLU, _______, _______, RGB_VAI, - _______, _______, _______, _______, _______, _______, _______, _______, RGB_SAD, RGB_VAD, RGB_SAI) + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RM_SPDD, RM_SPDU, _______, _______, _______, _______, + _______, _______,TG(MAC_W),_______, _______, _______, _______, _______, _______, DF(WIN_B),_______,_______, _______, RM_NEXT, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, RM_TOGG, _______, _______, RM_HUEU, + _______, _______, _______, KC_CALC, _______, _______, _______, KC_MUTE, KC_VOLD, KC_VOLU, _______, _______, RM_VALU, + _______, _______, _______, _______, _______, _______, _______, _______, RM_SATD, RM_VALD, RM_SATU) }; // clang-format on diff --git a/keyboards/annepro2/annepro2.c b/keyboards/annepro2/annepro2.c index 170eb8c175a..f536690de3d 100644 --- a/keyboards/annepro2/annepro2.c +++ b/keyboards/annepro2/annepro2.c @@ -211,7 +211,7 @@ bool process_record_kb(uint16_t keycode, keyrecord_t *record) { ap2_led_reset_foreground_color(); return false; #ifdef RGB_MATRIX_ENABLE - case RGB_TOG: + case QK_RGB_MATRIX_TOGGLE: if(rgb_matrix_is_enabled()) ap2_led_disable(); else ap2_led_enable(); return true; diff --git a/keyboards/arabica37/keymaps/default/keymap.c b/keyboards/arabica37/keymaps/default/keymap.c index e15e872d025..44ec007178d 100644 --- a/keyboards/arabica37/keymaps/default/keymap.c +++ b/keyboards/arabica37/keymaps/default/keymap.c @@ -61,11 +61,11 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { ), [_ADJUST] = LAYOUT( //,-----------------------------------------------. ,-----------------------------------------------. - KC_TRNS, RGBRST,RGB_TOG, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, + KC_TRNS, RGBRST,UG_TOGG, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, //|-------+-------+-------+-------+-------+-------| |-------+-------+-------+-------+-------+-------| - KC_TRNS,RGB_HUI,RGB_SAI,RGB_VAI,AG_SWAP, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, + KC_TRNS,UG_HUEU,UG_SATU,UG_VALU,AG_SWAP, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, //|-------+-------+-------+-------+-------+-------| |-------+-------+-------+-------+-------+-------| - KC_TRNS,RGB_HUD,RGB_SAD,RGB_VAD,AG_NORM, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, + KC_TRNS,UG_HUED,UG_SATD,UG_VALD,AG_NORM, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, //|-------+-------+-------+-------+-------+-------| |-------+-------+-------+-------+-------+-------| KC_TRNS, KC_TRNS,KC_TRNS, KC_TRNS,KC_TRNS, KC_TRNS, //|-------+-------+-------+-------+-------+-------| |-------+-------+-------+-------+-------+-------| @@ -116,7 +116,7 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) { } return false; break; - case RGB_MOD: + case QK_UNDERGLOW_TOGGLE: #ifdef RGBLIGHT_ENABLE if (record->event.pressed) { rgblight_mode(RGB_current_mode); diff --git a/keyboards/basekeys/slice/keymaps/default/keymap.c b/keyboards/basekeys/slice/keymaps/default/keymap.c index 2dca256d51b..a407d35ab79 100644 --- a/keyboards/basekeys/slice/keymaps/default/keymap.c +++ b/keyboards/basekeys/slice/keymaps/default/keymap.c @@ -34,13 +34,13 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { //,------------------------------------------------------------------------| |---------------------------------------------------------------------------. KC_ESC, KC_GRAVE, 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, //|------------------+--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+----------+----------| - RGB_MOD, 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, + UG_NEXT, 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, //|------------------+--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+----------+----------| RGB_M_G, 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, //|------------------+--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+----------+----------| RGB_M_X, KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_RSFT, //|------------------+--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+----------+----------| - RGB_TOG, KC_LCTL, KC_LALT, KC_LALT, KC_SPC, KC_SPC, KC_SPC, KC_RALT, KC_RCTL, MO(_FN) + UG_TOGG, KC_LCTL, KC_LALT, KC_LALT, KC_SPC, KC_SPC, KC_SPC, KC_RALT, KC_RCTL, MO(_FN) //`------------------------------------------------------------------------| |---------------------------------------------------------------------------' ), @@ -64,9 +64,9 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { //|-------------------+--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+----------+----------| XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, RGB_RST, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, //|-------------------+--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+----------+----------| - XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, RGB_TOG, RGB_MOD, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, + XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, UG_TOGG, UG_NEXT, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, //|-------------------+--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+----------+----------| - XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, RGB_VAD, RGB_VAI, RGB_HUD, RGB_HUI, RGB_SAD, RGB_SAI, XXXXXXX, XXXXXXX, + XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, UG_VALD, UG_VALU, UG_HUED, UG_HUEU, UG_SATD, UG_SATU, XXXXXXX, XXXXXXX, //|-------------------+--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+----------+----------| XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX //`-----------------------------------------------------------------| |---------------------------------------------------------------------------' @@ -80,7 +80,7 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) { bool result = false; switch (keycode) { #ifdef RGBLIGHT_ENABLE - case RGB_MOD: + case QK_UNDERGLOW_TOGGLE: if (record->event.pressed) { rgblight_mode(RGB_current_mode); rgblight_step(); diff --git a/keyboards/basekeys/slice/keymaps/default_split_left_space/keymap.c b/keyboards/basekeys/slice/keymaps/default_split_left_space/keymap.c index ac4d42fca52..7d4133a99b3 100644 --- a/keyboards/basekeys/slice/keymaps/default_split_left_space/keymap.c +++ b/keyboards/basekeys/slice/keymaps/default_split_left_space/keymap.c @@ -34,13 +34,13 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { //,------------------------------------------------------------------------| |---------------------------------------------------------------------------. KC_ESC, KC_GRAVE, 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, //|------------------+--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+----------+----------| - RGB_MOD, 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, + UG_NEXT, 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, //|------------------+--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+----------+----------| RGB_M_G, 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, //|------------------+--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+----------+----------| RGB_M_X, KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_RSFT, //|------------------+--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+----------+----------| - RGB_TOG, KC_LCTL,KC_LALT, KC_LALT, KC_SPC, KC_SPC, KC_SPC, KC_SPC, KC_RALT, KC_RCTL, MO(_FN) + UG_TOGG, KC_LCTL,KC_LALT, KC_LALT, KC_SPC, KC_SPC, KC_SPC, KC_SPC, KC_RALT, KC_RCTL, MO(_FN) //`------------------------------------------------------------------------| |---------------------------------------------------------------------------' ), @@ -64,9 +64,9 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { //|-------------------+--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+----------+----------| XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, RGB_RST, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, //|-------------------+--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+----------+----------| - XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, RGB_TOG, RGB_MOD, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, + XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, UG_TOGG, UG_NEXT, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, //|-------------------+--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+----------+----------| - XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, RGB_VAD, RGB_VAI, RGB_HUD, RGB_HUI, RGB_SAD, RGB_SAI, XXXXXXX, XXXXXXX, + XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, UG_VALD, UG_VALU, UG_HUED, UG_HUEU, UG_SATD, UG_SATU, XXXXXXX, XXXXXXX, //|-------------------+--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+----------+----------| XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX //`-------------------------------------------------------------------------| |---------------------------------------------------------------------------' @@ -80,7 +80,7 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) { bool result = false; switch (keycode) { #ifdef RGBLIGHT_ENABLE - case RGB_MOD: + case QK_UNDERGLOW_MODE_NEXT: if (record->event.pressed) { rgblight_mode(RGB_current_mode); rgblight_step(); diff --git a/keyboards/basekeys/slice/rev1_rgb/keymaps/2moons_rgb/keymap.c b/keyboards/basekeys/slice/rev1_rgb/keymaps/2moons_rgb/keymap.c index 6ed863d01b3..bd7923b36bd 100644 --- a/keyboards/basekeys/slice/rev1_rgb/keymaps/2moons_rgb/keymap.c +++ b/keyboards/basekeys/slice/rev1_rgb/keymaps/2moons_rgb/keymap.c @@ -48,13 +48,13 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { //,------------------------------------------------------------------------| |---------------------------------------------------------------------------. KC_ESC, KC_GRAVE, 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, //|------------------+--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+----------+----------| - RGB_MOD, 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, + UG_NEXT, 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, //|------------------+--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+----------+----------| RGB_M_G, 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, //|------------------+--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+----------+----------| RGB_M_X, KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_RSFT, //|------------------+--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+----------+----------| - RGB_TOG, KC_LCTL, KC_LALT, KC_LALT, KC_SPC, KC_SPC, KC_SPC, KC_RALT, KC_RCTL, MO(_FN) + UG_TOGG, KC_LCTL, KC_LALT, KC_LALT, KC_SPC, KC_SPC, KC_SPC, KC_RALT, KC_RCTL, MO(_FN) //`------------------------------------------------------------------------| |---------------------------------------------------------------------------' ), @@ -90,13 +90,13 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { //,-------------------------------------------------------------------------| |---------------------------------------------------------------------------. KC_ESC, KC_GRAVE, 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, //|-------------------+--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+----------+----------| - RGB_MOD, 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, + UG_NEXT, 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, //|-------------------+--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+----------+----------| RGB_M_G, 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, //|-------------------+--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+----------+----------| RGB_M_X, KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_RSFT, //|-------------------+--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+----------+----------| - RGB_TOG, KC_LCTL, KC_LALT, KC_LALT, KC_SPC, KC_SPC, KC_SPC, KC_RALT, KC_RCTL, MO(_FN) + UG_TOGG, KC_LCTL, KC_LALT, KC_LALT, KC_SPC, KC_SPC, KC_SPC, KC_RALT, KC_RCTL, MO(_FN) //`-------------------------------------------------------------------------| |---------------------------------------------------------------------------' ), @@ -104,13 +104,13 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { //,-------------------------------------------------------------------------| |---------------------------------------------------------------------------. KC_ESC, KC_GRAVE, 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, //|-------------------+--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+----------+----------| - RGB_MOD, 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, + UG_NEXT, 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, //|-------------------+--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+----------+----------| RGB_M_G, 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, //|-------------------+--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+----------+----------| RGB_M_X, KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_RSFT, //|-------------------+--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+----------+----------| - RGB_TOG, KC_LCTL, KC_LALT, KC_LALT, KC_SPC, KC_SPC, KC_SPC, KC_RALT, KC_RCTL, MO(_FN) + UG_TOGG, KC_LCTL, KC_LALT, KC_LALT, KC_SPC, KC_SPC, KC_SPC, KC_RALT, KC_RCTL, MO(_FN) //`-----------------------------------------------------------------| |---------------------------------------------------------------------------' ), @@ -120,9 +120,9 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { //|-------------------+--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+----------+----------| XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, RGB_RST, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, //|-------------------+--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+----------+----------| - XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, RGB_TOG, RGB_MOD, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, + XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, UG_TOGG, UG_NEXT, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, //|-------------------+--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+----------+----------| - XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, RGB_VAD, RGB_VAI, RGB_HUD, RGB_HUI, RGB_SAD, RGB_SAI, XXXXXXX, XXXXXXX, + XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, UG_VALD, UG_VALU, UG_HUED, UG_HUEU, UG_SATD, UG_SATU, XXXXXXX, XXXXXXX, //|-------------------+--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+----------+----------| XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX //`-----------------------------------------------------------------| |---------------------------------------------------------------------------' @@ -164,7 +164,7 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) { bool result = false; switch (keycode) { #ifdef RGBLIGHT_ENABLE - case RGB_MOD: + case QK_UNDERGLOW_MODE_NEXT: if (record->event.pressed) { rgblight_mode(RGB_current_mode); rgblight_step(); diff --git a/keyboards/bastardkb/charybdis/config.h b/keyboards/bastardkb/charybdis/config.h index 32ab7b0ebbf..ebbddecf578 100644 --- a/keyboards/bastardkb/charybdis/config.h +++ b/keyboards/bastardkb/charybdis/config.h @@ -34,13 +34,6 @@ /* RGB matrix support. */ #ifdef RGB_MATRIX_ENABLE -# ifndef __arm__ -// Disable control of RGB matrix by keycodes (must use firmware implementation -// to control the feature). -# define RGB_MATRIX_DISABLE_KEYCODES -# else // __arm__ -// Enable all animations on ARM boards since they have plenty of memory -// available for it. # define ENABLE_RGB_MATRIX_ALPHAS_MODS # define ENABLE_RGB_MATRIX_GRADIENT_UP_DOWN # define ENABLE_RGB_MATRIX_GRADIENT_LEFT_RIGHT @@ -81,5 +74,4 @@ # define ENABLE_RGB_MATRIX_MULTISPLASH # define ENABLE_RGB_MATRIX_SOLID_SPLASH # define ENABLE_RGB_MATRIX_SOLID_MULTISPLASH -# endif // !__arm__ #endif diff --git a/keyboards/biacco42/ergo42/keymaps/default-underglow/keymap.c b/keyboards/biacco42/ergo42/keymaps/default-underglow/keymap.c index 0710cd1ebea..1ebbfc219ea 100644 --- a/keyboards/biacco42/ergo42/keymaps/default-underglow/keymap.c +++ b/keyboards/biacco42/ergo42/keymaps/default-underglow/keymap.c @@ -87,8 +87,8 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { */ [RGB] = LAYOUT( XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, - XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, RGB_TOG, RGB_HUI, RGB_SAI, RGB_VAI, TAP_ANIM,XXXXXXX, - _______, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, RGB_MOD, RGB_HUI, RGB_SAD, RGB_VAD, RGB_RST, XXXXXXX, + XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, UG_TOGG, UG_HUEU, UG_SATU, UG_VALU, TAP_ANIM,XXXXXXX, + _______, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, UG_NEXT, UG_HUED, UG_SATD, UG_VALD, RGB_RST, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX ) @@ -98,7 +98,7 @@ bool isTapAnim = false; bool process_record_user(uint16_t keycode, keyrecord_t *record) { switch (keycode) { - case RGB_MOD: + case QK_UNDERGLOW_MODE_NEXT: if (record->event.pressed) { isTapAnim = false; } diff --git a/keyboards/chosfox/cf81/cf81.c b/keyboards/chosfox/cf81/cf81.c index 2e014dbe724..12b4ab6110f 100644 --- a/keyboards/chosfox/cf81/cf81.c +++ b/keyboards/chosfox/cf81/cf81.c @@ -164,7 +164,7 @@ bool process_record_kb(uint16_t keycode, keyrecord_t *record) { } switch (keycode) { #ifdef RGB_MATRIX_ENABLE - case RGB_TOG: + case QK_RGB_MATRIX_TOGGLE: if (record->event.pressed) { switch (rgb_matrix_get_flags()) { case LED_FLAG_ALL: { diff --git a/keyboards/chosfox/cf81/keymaps/default/keymap.c b/keyboards/chosfox/cf81/keymaps/default/keymap.c index 030ef2e2c14..26a9952410d 100644 --- a/keyboards/chosfox/cf81/keymaps/default/keymap.c +++ b/keyboards/chosfox/cf81/keymaps/default/keymap.c @@ -37,11 +37,11 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { [WIN_FN] = LAYOUT( /* FN */ _______, KC_MSEL, KC_VOLD, KC_VOLU, KC_MUTE, KC_MSTP, KC_MPRV, KC_MPLY, KC_MNXT, KC_MAIL, KC_WHOM, KC_CALC, KC_WSCH, KC_INS, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RGB_SPD, RGB_SPI, RGB_TOG, KC_END, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RGB_SAD, RGB_SAI, RGB_MOD, _______, - _______, _______,DF(MAC_B),_______, _______, _______, _______, _______, _______, _______, _______, _______, RGB_MOD, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RGB_VAI, - _______, GU_TOGG, _______, EE_CLR, _______, _______, _______, RGB_HUD, RGB_VAD, RGB_HUD), + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RM_SPDD, RM_SPDU, RM_TOGG, KC_END, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RM_SATD, RM_SATU, RM_NEXT, _______, + _______, _______,DF(MAC_B),_______, _______, _______, _______, _______, _______, _______, _______, _______, RM_NEXT, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RM_VALU, + _______, GU_TOGG, _______, EE_CLR, _______, _______, _______, RM_HUED, RM_VALD, RM_HUEU), [MAC_B] = LAYOUT( /* Base */ KC_ESC, KC_BRID, KC_BRIU, KC_MCTL, KC_LPAD, KC_F5, KC_F6, KC_MPRV, KC_MPLY, KC_MNXT, KC_MUTE, KC_VOLD,KC_VOLU, KC_DEL, KC_MUTE, @@ -53,11 +53,11 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { [MAC_FN] = LAYOUT( /* FN */ _______, 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_INS, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RGB_SPD, RGB_SPI, RGB_TOG, KC_END, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RGB_SAD, RGB_SAI, RGB_MOD, _______, - _______,DF(WIN_B),_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RGB_MOD, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RGB_VAI, - _______, _______, _______, EE_CLR, _______, _______, _______, RGB_HUD, RGB_VAD, RGB_HUD) + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RM_SPDD, RM_SPDU, RM_TOGG, KC_END, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RM_SATD, RM_SATU, RM_NEXT, _______, + _______,DF(WIN_B),_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RM_NEXT, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RM_VALU, + _______, _______, _______, EE_CLR, _______, _______, _______, RM_HUED, RM_VALD, RM_HUEU) }; #if defined(ENCODER_MAP_ENABLE) diff --git a/keyboards/dm9records/ergoinu/keymaps/default/keymap.c b/keyboards/dm9records/ergoinu/keymaps/default/keymap.c index 96a83e0fd3f..9656aeb1682 100644 --- a/keyboards/dm9records/ergoinu/keymaps/default/keymap.c +++ b/keyboards/dm9records/ergoinu/keymaps/default/keymap.c @@ -35,8 +35,8 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { ), [CONF] = LAYOUT( - _______, RGB_TYPE,RGB_MOD, RGB_VAI, RGB_HUI, RGB_HUI, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, - RGB_RST, RGB_TOG, RGB_RMOD, RGB_VAD, RGB_HUD, RGB_HUD, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, + _______, RGB_TYPE,UG_NEXT, UG_VALU, UG_SATU, UG_HUEU, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, + RGB_RST, UG_TOGG, UG_PREV, UG_VALD, UG_SATD, UG_HUED, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX @@ -55,7 +55,7 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) { } #endif break; - case RGB_MOD: + case QK_UNDERGLOW_MODE_NEXT: #ifdef RGBLIGHT_ENABLE if (record->event.pressed) { enableLEDTypeAnime = false; diff --git a/keyboards/dm9records/ergoinu/keymaps/default_jis/keymap.c b/keyboards/dm9records/ergoinu/keymaps/default_jis/keymap.c index e3f46772a84..ac4c2ed848c 100644 --- a/keyboards/dm9records/ergoinu/keymaps/default_jis/keymap.c +++ b/keyboards/dm9records/ergoinu/keymaps/default_jis/keymap.c @@ -43,8 +43,8 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { ), [CONF] = LAYOUT( - _______, RGB_TYPE,RGB_MOD, RGB_VAI, RGB_HUI, RGB_HUI, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, - RGB_RST, RGB_TOG, RGB_RMOD, RGB_VAD, RGB_HUD, RGB_HUD, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, + _______, RGB_TYPE,UG_NEXT, UG_VALU, UG_SATU, UG_HUEU, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, + RGB_RST, UG_TOGG, UG_PREV, UG_VALD, UG_SATD, UG_HUED, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX @@ -63,7 +63,7 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) { } #endif break; - case RGB_MOD: + case QK_UNDERGLOW_MODE_NEXT: #ifdef RGBLIGHT_ENABLE if (record->event.pressed) { enableLEDTypeAnime = false; diff --git a/keyboards/drop/alt/keymaps/default/keymap.c b/keyboards/drop/alt/keymaps/default/keymap.c index 28d7232bcfc..1e75813a710 100644 --- a/keyboards/drop/alt/keymaps/default/keymap.c +++ b/keyboards/drop/alt/keymaps/default/keymap.c @@ -12,8 +12,8 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { ), [1] = LAYOUT_65_ansi_blocker( KC_GRV, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, _______, KC_MUTE, - _______, RGB_TOG, RGB_VAI, RGB_SPI, RGB_HUI, RGB_SAI, _______, _______, _______, _______, KC_PSCR, KC_SCRL, KC_PAUS, _______, KC_END, - _______, RGB_MOD, RGB_VAD, RGB_SPD, RGB_HUD, RGB_SAD, _______, _______, _______, _______, _______, _______, _______, KC_VOLU, + _______, RM_TOGG, RM_VALU, RM_SPDU, RM_HUEU, RM_SATU, _______, _______, _______, _______, KC_PSCR, KC_SCRL, KC_PAUS, _______, KC_END, + _______, RM_NEXT, RM_VALD, RM_SPDD, RM_HUED, RM_SATD, _______, _______, _______, _______, _______, _______, _______, KC_VOLU, _______, RGB_M_P, RGB_M_B, RGB_M_R, RGB_M_SW,QK_BOOT, NK_TOGG, _______, _______, _______, _______, _______, KC_PGUP, KC_VOLD, _______, _______, _______, EE_CLR, KC_APP, _______, KC_HOME, KC_PGDN, KC_END ) diff --git a/keyboards/drop/cstm65/keymaps/default/keymap.c b/keyboards/drop/cstm65/keymaps/default/keymap.c index 28d7232bcfc..1e75813a710 100644 --- a/keyboards/drop/cstm65/keymaps/default/keymap.c +++ b/keyboards/drop/cstm65/keymaps/default/keymap.c @@ -12,8 +12,8 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { ), [1] = LAYOUT_65_ansi_blocker( KC_GRV, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, _______, KC_MUTE, - _______, RGB_TOG, RGB_VAI, RGB_SPI, RGB_HUI, RGB_SAI, _______, _______, _______, _______, KC_PSCR, KC_SCRL, KC_PAUS, _______, KC_END, - _______, RGB_MOD, RGB_VAD, RGB_SPD, RGB_HUD, RGB_SAD, _______, _______, _______, _______, _______, _______, _______, KC_VOLU, + _______, RM_TOGG, RM_VALU, RM_SPDU, RM_HUEU, RM_SATU, _______, _______, _______, _______, KC_PSCR, KC_SCRL, KC_PAUS, _______, KC_END, + _______, RM_NEXT, RM_VALD, RM_SPDD, RM_HUED, RM_SATD, _______, _______, _______, _______, _______, _______, _______, KC_VOLU, _______, RGB_M_P, RGB_M_B, RGB_M_R, RGB_M_SW,QK_BOOT, NK_TOGG, _______, _______, _______, _______, _______, KC_PGUP, KC_VOLD, _______, _______, _______, EE_CLR, KC_APP, _______, KC_HOME, KC_PGDN, KC_END ) diff --git a/keyboards/drop/cstm80/keymaps/default/keymap.c b/keyboards/drop/cstm80/keymaps/default/keymap.c index e820a0a7435..0b7f3e523be 100644 --- a/keyboards/drop/cstm80/keymaps/default/keymap.c +++ b/keyboards/drop/cstm80/keymaps/default/keymap.c @@ -30,8 +30,8 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { [1] = LAYOUT_tkl_f13_ansi( _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, QK_BOOT, _______, _______, _______, - _______, RGB_TOG, RGB_VAI, RGB_SPI, RGB_HUI, RGB_SAI, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, RGB_MOD, RGB_VAD, RGB_SPD, RGB_HUD, RGB_SAD, _______, _______, _______, _______, _______, _______, _______, + _______, RM_TOGG, RM_VALU, RM_SPDU, RM_HUEU, RM_SATU, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, RM_NEXT, RM_VALD, RM_SPDD, RM_HUED, RM_SATD, _______, _______, _______, _______, _______, _______, _______, _______, RGB_M_P, RGB_M_B, RGB_M_R, RGB_M_SW,_______, NK_TOGG, _______, _______, _______, _______, _______, _______, _______, _______, _______, EE_CLR, _______, _______, _______, _______, _______, _______, _______ ) diff --git a/keyboards/drop/ctrl/keymaps/default/keymap.c b/keyboards/drop/ctrl/keymaps/default/keymap.c index 82b10889217..d8712515112 100644 --- a/keyboards/drop/ctrl/keymaps/default/keymap.c +++ b/keyboards/drop/ctrl/keymaps/default/keymap.c @@ -14,8 +14,8 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { [1] = LAYOUT_tkl_ansi( _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_MUTE, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_MPLY, KC_MSTP, KC_VOLU, - _______, RGB_TOG, RGB_VAI, RGB_SPI, RGB_HUI, RGB_SAI, _______, _______, _______, _______, _______, _______, _______, _______, KC_MPRV, KC_MNXT, KC_VOLD, - _______, RGB_MOD, RGB_VAD, RGB_SPD, RGB_HUD, RGB_SAD, _______, _______, _______, _______, _______, _______, _______, + _______, RM_TOGG, RM_VALU, RM_SPDU, RM_HUEU, RM_SATU, _______, _______, _______, _______, _______, _______, _______, _______, KC_MPRV, KC_MNXT, KC_VOLD, + _______, RM_NEXT, RM_VALD, RM_SPDD, RM_HUED, RM_SATD, _______, _______, _______, _______, _______, _______, _______, _______, RGB_M_P, RGB_M_B, RGB_M_R, RGB_M_SW,QK_BOOT, NK_TOGG, _______, _______, _______, _______, _______, _______, _______, _______, _______, EE_CLR, _______, _______, _______, _______, _______, _______, _______ ) diff --git a/keyboards/drop/lib/common.c b/keyboards/drop/lib/common.c index 04845ed17a0..53fa70882e9 100644 --- a/keyboards/drop/lib/common.c +++ b/keyboards/drop/lib/common.c @@ -28,7 +28,7 @@ bool process_record_kb(uint16_t keycode, keyrecord_t *record) { if (!record->event.pressed) { switch (keycode) { - case RGB_TOG: + case QK_RGB_MATRIX_TOGGLE: switch (rgb_matrix_get_flags()) { case LED_FLAG_ALL: rgb_matrix_set_flags(LED_FLAG_KEYLIGHT | LED_FLAG_MODIFIER | LED_FLAG_INDICATOR); diff --git a/keyboards/drop/sense75/keymaps/default/keymap.c b/keyboards/drop/sense75/keymaps/default/keymap.c index 36b17d967ea..9fe2515767a 100644 --- a/keyboards/drop/sense75/keymaps/default/keymap.c +++ b/keyboards/drop/sense75/keymaps/default/keymap.c @@ -31,8 +31,8 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { [1] = LAYOUT( _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_MPLY, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, QK_BOOT, _______, - _______, RGB_TOG, RGB_VAI, RGB_SPI, RGB_HUI, RGB_SAI, _______, _______, _______, _______, _______, _______, _______, _______, KC_HOME, - _______, RGB_MOD, RGB_VAD, RGB_SPD, RGB_HUD, RGB_SAD, _______, _______, _______, _______, _______, _______, _______, KC_END, + _______, RM_TOGG, RM_VALU, RM_SPDU, RM_HUEU, RM_SATU, _______, _______, _______, _______, _______, _______, _______, _______, KC_HOME, + _______, RM_NEXT, RM_VALD, RM_SPDD, RM_HUED, RM_SATD, _______, _______, _______, _______, _______, _______, _______, KC_END, _______, RGB_M_P, RGB_M_B, RGB_M_R, RGB_M_SW,_______, NK_TOGG, _______, _______, _______, _______, _______, _______, _______, _______, _______, EE_CLR, KC_APP, _______, _______, _______, _______, _______ ) diff --git a/keyboards/drop/sense75/keymaps/default_md/keymap.c b/keyboards/drop/sense75/keymaps/default_md/keymap.c index fb81be27213..54b443b9a31 100644 --- a/keyboards/drop/sense75/keymaps/default_md/keymap.c +++ b/keyboards/drop/sense75/keymaps/default_md/keymap.c @@ -38,8 +38,8 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { [1] = LAYOUT( _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_MPLY, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, QK_BOOT, _______, - _______, RGB_TOG, RGB_VAI, RGB_SPI, RGB_HUI, RGB_SAI, _______, _______, _______, _______, _______, _______, _______, _______, KC_HOME, - _______, RGB_MOD, RGB_VAD, RGB_SPD, RGB_HUD, RGB_SAD, _______, _______, _______, _______, _______, _______, _______, KC_END, + _______, RM_TOGG, RM_VALU, RM_SPDU, RM_HUEU, RM_SATU, _______, _______, _______, _______, _______, _______, _______, _______, KC_HOME, + _______, RM_NEXT, RM_VALD, RM_SPDD, RM_HUED, RM_SATD, _______, _______, _______, _______, _______, _______, _______, KC_END, _______, RGB_M_P, RGB_M_B, RGB_M_R, RGB_M_SW,_______, NK_TOGG, _______, _______, _______, _______, _______, _______, MO(2), _______, _______, EE_CLR, KC_APP, _______, _______, _______, _______, _______ ), diff --git a/keyboards/drop/shift/keymaps/default/keymap.c b/keyboards/drop/shift/keymaps/default/keymap.c index 371908bb482..389d704db11 100644 --- a/keyboards/drop/shift/keymaps/default/keymap.c +++ b/keyboards/drop/shift/keymaps/default/keymap.c @@ -14,8 +14,8 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { [1] = LAYOUT_1800_ansi( _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_INS, KC_MPLY, KC_MSTP, KC_VOLU, KC_MUTE, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_MPRV, KC_MNXT, KC_VOLD, KC_SCRL, - _______, RGB_TOG, RGB_VAI, RGB_SPI, RGB_HUI, RGB_SAI, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, RGB_MOD, RGB_VAD, RGB_SPD, RGB_HUD, RGB_SAD, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, RM_TOGG, RM_VALU, RM_SPDU, RM_HUEU, RM_SATU, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, RM_NEXT, RM_VALD, RM_SPDD, RM_HUED, RM_SATD, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RGB_M_P, RGB_M_B, RGB_M_R, RGB_M_SW,QK_BOOT, NK_TOGG, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, EE_CLR, KC_APP, _______, _______, _______, _______, _______, _______ ) diff --git a/keyboards/drop/thekey/v2/keymaps/rgb-control-macos/keymap.c b/keyboards/drop/thekey/v2/keymaps/rgb-control-macos/keymap.c index f3699e752fe..2fc74c35f61 100644 --- a/keyboards/drop/thekey/v2/keymaps/rgb-control-macos/keymap.c +++ b/keyboards/drop/thekey/v2/keymaps/rgb-control-macos/keymap.c @@ -26,16 +26,16 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { [0] = LAYOUT(LAYER_SWITCH, G(KC_C), G(KC_V)), /* RGB Toggle + Mode Change */ - [1] = LAYOUT(LAYER_SWITCH, RGB_TOG, RGB_MOD), + [1] = LAYOUT(LAYER_SWITCH, UG_TOGG, UG_NEXT), /* RGB Brightness */ - [2] = LAYOUT(LAYER_SWITCH, RGB_VAD, RGB_VAI), + [2] = LAYOUT(LAYER_SWITCH, UG_VALD, UG_VALU), /* RGB Hue */ - [3] = LAYOUT(LAYER_SWITCH, RGB_HUD, RGB_HUI), + [3] = LAYOUT(LAYER_SWITCH, UG_HUED, UG_HUEU), /* RGB Saturation */ - [4] = LAYOUT(LAYER_SWITCH, RGB_SAD, RGB_SAI), + [4] = LAYOUT(LAYER_SWITCH, UG_SATD, UG_SATU), }; diff --git a/keyboards/drop/thekey/v2/keymaps/rgb-control/keymap.c b/keyboards/drop/thekey/v2/keymaps/rgb-control/keymap.c index 42469736543..9cea1018d47 100644 --- a/keyboards/drop/thekey/v2/keymaps/rgb-control/keymap.c +++ b/keyboards/drop/thekey/v2/keymaps/rgb-control/keymap.c @@ -26,16 +26,16 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { [0] = LAYOUT(LAYER_SWITCH, C(KC_C), C(KC_V)), /* RGB Toggle + Mode Change */ - [1] = LAYOUT(LAYER_SWITCH, RGB_TOG, RGB_MOD), + [1] = LAYOUT(LAYER_SWITCH, UG_TOGG, UG_NEXT), /* RGB Brightness */ - [2] = LAYOUT(LAYER_SWITCH, RGB_VAD, RGB_VAI), + [2] = LAYOUT(LAYER_SWITCH, UG_VALD, UG_VALU), /* RGB Hue */ - [3] = LAYOUT(LAYER_SWITCH, RGB_HUD, RGB_HUI), + [3] = LAYOUT(LAYER_SWITCH, UG_HUED, UG_HUEU), /* RGB Saturation */ - [4] = LAYOUT(LAYER_SWITCH, RGB_SAD, RGB_SAI), + [4] = LAYOUT(LAYER_SWITCH, UG_SATD, UG_SATU), }; diff --git a/keyboards/ergodox_ez/ergodox_ez.c b/keyboards/ergodox_ez/ergodox_ez.c index e23231ecb8c..9fdc814834b 100644 --- a/keyboards/ergodox_ez/ergodox_ez.c +++ b/keyboards/ergodox_ez/ergodox_ez.c @@ -343,7 +343,7 @@ bool process_record_kb(uint16_t keycode, keyrecord_t *record) { eeconfig_update_kb(keyboard_config.raw); } break; - case RGB_TOG: + case QK_RGB_MATRIX_TOGGLE: if (record->event.pressed) { switch (rgb_matrix_get_flags()) { case LED_FLAG_ALL: { diff --git a/keyboards/ergodox_ez/glow/keymaps/default/keymap.c b/keyboards/ergodox_ez/glow/keymaps/default/keymap.c index 94d68cb8702..13b2cee50a7 100644 --- a/keyboards/ergodox_ez/glow/keymaps/default/keymap.c +++ b/keyboards/ergodox_ez/glow/keymaps/default/keymap.c @@ -73,9 +73,9 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_TRNS, KC_HASH, KC_DLR, KC_LPRN, KC_RPRN, KC_GRV, KC_DOWN, KC_4, KC_5, KC_6, KC_PLUS, KC_TRNS, KC_TRNS, KC_PERC, KC_CIRC, KC_LBRC, KC_RBRC, KC_TILD, KC_TRNS, KC_TRNS, KC_AMPR, KC_1, KC_2, KC_3, KC_BSLS, KC_TRNS, EE_CLR, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_DOT, KC_0, KC_EQL, KC_TRNS, - RGB_MOD, KC_TRNS, RGB_TOG, RGB_M_P, + RM_NEXT, KC_TRNS, RM_TOGG, RGB_M_P, KC_TRNS, KC_TRNS, - RGB_VAD, RGB_VAI, KC_TRNS, KC_TRNS, RGB_HUD, RGB_HUI + RM_VALD, RM_VALU, KC_TRNS, KC_TRNS, RM_HUED, RM_HUEU ), /* Keymap 2: Media and mouse keys * diff --git a/keyboards/ergodox_ez/keymaps/default/keymap.c b/keyboards/ergodox_ez/keymaps/default/keymap.c index 94d68cb8702..555e203370a 100644 --- a/keyboards/ergodox_ez/keymaps/default/keymap.c +++ b/keyboards/ergodox_ez/keymaps/default/keymap.c @@ -73,9 +73,9 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_TRNS, KC_HASH, KC_DLR, KC_LPRN, KC_RPRN, KC_GRV, KC_DOWN, KC_4, KC_5, KC_6, KC_PLUS, KC_TRNS, KC_TRNS, KC_PERC, KC_CIRC, KC_LBRC, KC_RBRC, KC_TILD, KC_TRNS, KC_TRNS, KC_AMPR, KC_1, KC_2, KC_3, KC_BSLS, KC_TRNS, EE_CLR, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_DOT, KC_0, KC_EQL, KC_TRNS, - RGB_MOD, KC_TRNS, RGB_TOG, RGB_M_P, + UG_NEXT, KC_TRNS, UG_TOGG, RGB_M_P, KC_TRNS, KC_TRNS, - RGB_VAD, RGB_VAI, KC_TRNS, KC_TRNS, RGB_HUD, RGB_HUI + UG_VALD, UG_VALU, KC_TRNS, KC_TRNS, UG_HUED, UG_HUEU ), /* Keymap 2: Media and mouse keys * diff --git a/keyboards/ergodox_ez/keymaps/rgb_layer/keymap.c b/keyboards/ergodox_ez/keymaps/rgb_layer/keymap.c index dc26fa1075f..47c2612e35f 100644 --- a/keyboards/ergodox_ez/keymaps/rgb_layer/keymap.c +++ b/keyboards/ergodox_ez/keymaps/rgb_layer/keymap.c @@ -95,18 +95,18 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_TRNS,KC_HASH,KC_DLR, KC_LPRN,KC_RPRN,KC_GRV, EPRM,KC_PERC,KC_CIRC,KC_LBRC,KC_RBRC,KC_TILD,KC_TRNS, KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS, - RGB_MOD,RGB_LYR, + UG_NEXT,RGB_LYR, KC_TRNS, - RGB_VAD,RGB_VAI,KC_TRNS, + UG_VALD,UG_VALU,KC_TRNS, // right hand KC_TRNS, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_TRNS, KC_UP, KC_7, KC_8, KC_9, KC_ASTR, KC_F12, KC_DOWN, KC_4, KC_5, KC_6, KC_PLUS, KC_TRNS, KC_TRNS, KC_AMPR, KC_1, KC_2, KC_3, KC_BSLS, KC_TRNS, KC_TRNS,KC_DOT, KC_0, KC_EQL, KC_TRNS, - RGB_TOG, RGB_SLD, + UG_TOGG, RGB_SLD, KC_TRNS, - KC_TRNS, RGB_HUD, RGB_HUI + KC_TRNS, UG_HUED, UG_HUEU ), /* Keymap 2: Media and mouse keys * @@ -189,7 +189,7 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) { } } return false; - case RGB_MOD ... RGB_M_G: // For any of the RGB codes (see quantum_keycodes.h, L400 for reference) + case UNDERGLOW_KEYCODE_RANGE: // For any of the RGB codes (see quantum_keycodes.h, L400 for reference) if (record->event.pressed) { //This disables layer indication, as it's assumed that if you're changing this ... you want that disabled if (user_config.rgb_layer_change) { // only if this is enabled user_config.rgb_layer_change = false; // disable it, and diff --git a/keyboards/ergodox_ez/keymaps/testing/keymap.c b/keyboards/ergodox_ez/keymaps/testing/keymap.c index ee07f264b9d..300c2457c4c 100644 --- a/keyboards/ergodox_ez/keymaps/testing/keymap.c +++ b/keyboards/ergodox_ez/keymaps/testing/keymap.c @@ -22,7 +22,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { [0] = LAYOUT_ergodox(KC_EQUAL,KC_1,KC_2,KC_3,KC_4,KC_5,LCTL(KC_MINUS),KC_DELETE,KC_Q,KC_W,KC_E,KC_R,KC_T,KC_LBRC,KC_BSPC,KC_A,KC_S,KC_D,KC_F,KC_G,SC_LSPO,CTL_T(KC_Z),KC_X,KC_C,KC_V,KC_B,ALL_T(KC_NO),LT(1,KC_GRAVE),KC_QUOTE,LALT(KC_LSFT),KC_LEFT,KC_RIGHT,ALT_T(KC_APPLICATION),KC_LGUI,KC_HOME,KC_SPACE,KC_UNDS,KC_END,LCTL(KC_EQUAL),KC_6,KC_7,KC_8,KC_9,KC_0,KC_MINUS,KC_RBRC,KC_Y,KC_U,KC_I,KC_O,KC_P,KC_BSLS,KC_H,ALT_T(KC_J),KC_K,KC_L,LT(2,KC_SCLN),GUI_T(KC_QUOTE),MEH_T(KC_NO),KC_N,KC_M,KC_COMMA,KC_DOT,CTL_T(KC_SLASH),SC_RSPC,KC_UP,KC_DOWN,KC_LBRC,KC_RBRC,TT(1),KC_LALT,CTL_T(KC_ESCAPE),KC_PGUP,KC_PGDN,LT(1,KC_TAB),KC_ENTER), - [1] = LAYOUT_ergodox(KC_TRANSPARENT,KC_F1,KC_F2,KC_F3,KC_F4,KC_F5,KC_TRANSPARENT,KC_TRANSPARENT,KC_TRANSPARENT,KC_TRANSPARENT,KC_TRANSPARENT,KC_TRANSPARENT,KC_TRANSPARENT,KC_TRANSPARENT,KC_TRANSPARENT,KC_TRANSPARENT,LCTL(KC_W),KC_LBRC,KC_RBRC,KC_TRANSPARENT,KC_TRANSPARENT,KC_TRANSPARENT,KC_TRANSPARENT,KC_TRANSPARENT,KC_TRANSPARENT,KC_TRANSPARENT,KC_TRANSPARENT,KC_TRANSPARENT,KC_TRANSPARENT,KC_TRANSPARENT,LCTL(KC_PGUP),LCTL(KC_PGDN),RGB_MOD,KC_TRANSPARENT,KC_TRANSPARENT,RGB_VAD,KC_TRANSPARENT,KC_TRANSPARENT,KC_TRANSPARENT,KC_F6,KC_F7,KC_F8,KC_F9,KC_F10,KC_F11,KC_TRANSPARENT,KC_TRANSPARENT,KC_TRANSPARENT,KC_TRANSPARENT,KC_TRANSPARENT,KC_TRANSPARENT,KC_F12,KC_AMPR,KC_UNDS,KC_MINUS,KC_SCLN,KC_PLUS,KC_TRANSPARENT,KC_TRANSPARENT,KC_PIPE,KC_AT,KC_EQUAL,KC_PERC,KC_BSLS,KC_TRANSPARENT,KC_TRANSPARENT,KC_TRANSPARENT,KC_TRANSPARENT,KC_TRANSPARENT,KC_TRANSPARENT,RGB_TOG,RGB_SLD,KC_TRANSPARENT,KC_TRANSPARENT,KC_TRANSPARENT,RGB_HUI), + [1] = LAYOUT_ergodox(KC_TRANSPARENT,KC_F1,KC_F2,KC_F3,KC_F4,KC_F5,KC_TRANSPARENT,KC_TRANSPARENT,KC_TRANSPARENT,KC_TRANSPARENT,KC_TRANSPARENT,KC_TRANSPARENT,KC_TRANSPARENT,KC_TRANSPARENT,KC_TRANSPARENT,KC_TRANSPARENT,LCTL(KC_W),KC_LBRC,KC_RBRC,KC_TRANSPARENT,KC_TRANSPARENT,KC_TRANSPARENT,KC_TRANSPARENT,KC_TRANSPARENT,KC_TRANSPARENT,KC_TRANSPARENT,KC_TRANSPARENT,KC_TRANSPARENT,KC_TRANSPARENT,KC_TRANSPARENT,LCTL(KC_PGUP),LCTL(KC_PGDN),UG_NEXT,KC_TRANSPARENT,KC_TRANSPARENT,UG_VALD,KC_TRANSPARENT,KC_TRANSPARENT,KC_TRANSPARENT,KC_F6,KC_F7,KC_F8,KC_F9,KC_F10,KC_F11,KC_TRANSPARENT,KC_TRANSPARENT,KC_TRANSPARENT,KC_TRANSPARENT,KC_TRANSPARENT,KC_TRANSPARENT,KC_F12,KC_AMPR,KC_UNDS,KC_MINUS,KC_SCLN,KC_PLUS,KC_TRANSPARENT,KC_TRANSPARENT,KC_PIPE,KC_AT,KC_EQUAL,KC_PERC,KC_BSLS,KC_TRANSPARENT,KC_TRANSPARENT,KC_TRANSPARENT,KC_TRANSPARENT,KC_TRANSPARENT,KC_TRANSPARENT,UG_TOGG,RGB_SLD,KC_TRANSPARENT,KC_TRANSPARENT,KC_TRANSPARENT,UG_HUEU), [2] = LAYOUT_ergodox(KC_TRANSPARENT,KC_TRANSPARENT,KC_TRANSPARENT,KC_TRANSPARENT,KC_TRANSPARENT,KC_TRANSPARENT,KC_TRANSPARENT,KC_TRANSPARENT,KC_TRANSPARENT,KC_TRANSPARENT,KC_MS_UP,KC_TRANSPARENT,KC_TRANSPARENT,KC_TRANSPARENT,KC_TRANSPARENT,KC_TRANSPARENT,KC_MS_LEFT,KC_MS_DOWN,KC_MS_RIGHT,KC_TRANSPARENT,KC_TRANSPARENT,KC_TRANSPARENT,KC_TRANSPARENT,KC_TRANSPARENT,KC_TRANSPARENT,KC_TRANSPARENT,KC_TRANSPARENT,KC_TRANSPARENT,KC_TRANSPARENT,KC_TRANSPARENT,KC_MS_BTN1,KC_MS_BTN2,KC_TRANSPARENT,KC_TRANSPARENT,KC_TRANSPARENT,KC_TRANSPARENT,KC_TRANSPARENT,KC_TRANSPARENT,KC_TRANSPARENT,KC_TRANSPARENT,KC_TRANSPARENT,KC_TRANSPARENT,KC_TRANSPARENT,KC_TRANSPARENT,KC_TRANSPARENT,KC_TRANSPARENT,KC_TRANSPARENT,KC_TRANSPARENT,KC_TRANSPARENT,KC_TRANSPARENT,KC_TRANSPARENT,KC_TRANSPARENT,KC_TRANSPARENT,KC_TRANSPARENT,KC_TRANSPARENT,KC_TRANSPARENT,KC_TRANSPARENT,KC_MEDIA_PLAY_PAUSE,KC_TRANSPARENT,KC_TRANSPARENT,KC_TRANSPARENT,KC_MEDIA_PREV_TRACK,KC_MEDIA_NEXT_TRACK,KC_TRANSPARENT,KC_TRANSPARENT,KC_AUDIO_VOL_UP,KC_AUDIO_VOL_DOWN,KC_AUDIO_MUTE,KC_TRANSPARENT,KC_TRANSPARENT,KC_TRANSPARENT,KC_TRANSPARENT,KC_TRANSPARENT,KC_TRANSPARENT,KC_TRANSPARENT,KC_WWW_BACK), diff --git a/keyboards/feker/ik75/keymaps/default/keymap.c b/keyboards/feker/ik75/keymaps/default/keymap.c index 0ba5c774db0..7dd762a6ec3 100644 --- a/keyboards/feker/ik75/keymaps/default/keymap.c +++ b/keyboards/feker/ik75/keymaps/default/keymap.c @@ -92,18 +92,18 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { */ /* Row: 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 */ [_FN] = LAYOUT( - QK_BOOT, KC_MYCM, KC_WHOM, KC_CALC, KC_SLCT, KC_MPRV, KC_MNXT, KC_MPLY, KC_MSTP, KC_MUTE, KC_VOLD, KC_VOLU, KC_MAIL, _______, RGB_TOG, - NK_TOGG, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RGB_SPD, RGB_SPI, _______, RGB_MOD, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_PSCR, _______, _______, _______, RGB_HUI, - _______, _______, KC_SCRL, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RGB_SAI, - _______, _______, _______, _______, _______, _______, KC_NUM, _______, _______, _______, _______, _______, RGB_VAI, RGB_SAD, - _______, GU_TOGG, _______, _______, _______, _______, _______, _______, RGB_VAD, _______ + QK_BOOT, KC_MYCM, KC_WHOM, KC_CALC, KC_SLCT, KC_MPRV, KC_MNXT, KC_MPLY, KC_MSTP, KC_MUTE, KC_VOLD, KC_VOLU, KC_MAIL, _______, RM_TOGG, + NK_TOGG, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RM_SPDD, RM_SPDU, _______, RM_NEXT, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_PSCR, _______, _______, _______, RM_HUEU, + _______, _______, KC_SCRL, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RM_SATU, + _______, _______, _______, _______, _______, _______, KC_NUM, _______, _______, _______, _______, _______, RM_VALU, RM_SATD, + _______, GU_TOGG, _______, _______, _______, _______, _______, _______, RM_VALD, _______ ), }; bool process_record_user(uint16_t keycode, keyrecord_t *record) { switch (keycode) { - case RGB_TOG: + case QK_RGB_MATRIX_TOGGLE: if (record->event.pressed) { switch (rgb_matrix_get_flags()) { case LED_FLAG_ALL: { diff --git a/keyboards/gopolar/gg86/gg86.c b/keyboards/gopolar/gg86/gg86.c index 0ed811c89f1..8664b234c75 100644 --- a/keyboards/gopolar/gg86/gg86.c +++ b/keyboards/gopolar/gg86/gg86.c @@ -58,7 +58,7 @@ led_config_t g_led_config = { { bool process_record_kb(uint16_t keycode, keyrecord_t *record) { switch (keycode) { - case RGB_TOG: + case QK_RGB_MATRIX_TOGGLE: if (record->event.pressed) { switch (rgb_matrix_get_flags()) { case LED_FLAG_ALL: { diff --git a/keyboards/gopolar/gg86/keymaps/default/keymap.c b/keyboards/gopolar/gg86/keymaps/default/keymap.c index e192d46a802..c6f73584720 100644 --- a/keyboards/gopolar/gg86/keymaps/default/keymap.c +++ b/keyboards/gopolar/gg86/keymaps/default/keymap.c @@ -89,11 +89,11 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { /* Row: 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 */ [1] = LAYOUT_all( KC_SLEP, RGB_M_T, KC_F13, KC_F14, KC_F15, KC_F16, KC_WREF, KC_WSTP, _______, _______, _______, _______, EE_CLR, _______, KC_VOLD, KC_VOLU, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RGB_HUI, RGB_SAI, RGB_SPI, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RGB_HUD, RGB_SAD, RGB_SPD, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RGB_TOG, - _______, _______, _______, _______, KC_CALC, _______, _______, _______, _______, _______, _______, _______, _______, _______, RGB_VAI, - _______, _______, _______, _______, _______, _______, _______, RGB_RMOD, RGB_VAD, RGB_MOD + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RM_HUEU, RM_SATU, RM_SPDU, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RM_HUED, RM_SATD, RM_SPDD, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RM_TOGG, + _______, _______, _______, _______, KC_CALC, _______, _______, _______, _______, _______, _______, _______, _______, _______, RM_VALU, + _______, _______, _______, _______, _______, _______, _______, RM_PREV, RM_VALD, RM_NEXT ), /* @@ -115,11 +115,11 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { /* Row: 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 */ [2] = LAYOUT_all( KC_SLEP, KC_F13, KC_F14, KC_F15, KC_F16, KC_WREF, KC_WSTP, _______, _______, _______, _______, _______, _______, _______, KC_VOLD, KC_VOLU, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RGB_HUI, RGB_SAI, RGB_SPI, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RGB_HUD, RGB_SAD, RGB_SPD, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RGB_TOG, - _______, _______, _______, _______, KC_CALC, _______, _______, _______, _______, _______, _______, _______, _______, _______, RGB_VAI, - _______, _______, _______, _______, _______, _______, _______, RGB_RMOD, RGB_VAD, RGB_MOD + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RM_HUEU, RM_SATU, RM_SPDU, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RM_HUED, RM_SATD, RM_SPDD, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RM_TOGG, + _______, _______, _______, _______, KC_CALC, _______, _______, _______, _______, _______, _______, _______, _______, _______, RM_VALU, + _______, _______, _______, _______, _______, _______, _______, RM_PREV, RM_VALD, RM_NEXT ), /* @@ -141,11 +141,11 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { /* Row: 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 */ [3] = LAYOUT_all( KC_SLEP, KC_F13, KC_F14, KC_F15, KC_F16, KC_WREF, KC_WSTP, _______, _______, _______, _______, _______, _______, _______, KC_VOLD, KC_VOLU, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RGB_HUI, RGB_SAI, RGB_SPI, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RGB_HUD, RGB_SAD, RGB_SPD, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RGB_TOG, - _______, _______, _______, _______, KC_CALC, _______, _______, _______, _______, _______, _______, _______, _______, _______, RGB_VAI, - _______, _______, _______, _______, _______, _______, _______, RGB_RMOD, RGB_VAD, RGB_MOD + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RM_HUEU, RM_SATU, RM_SPDU, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RM_HUED, RM_SATD, RM_SPDD, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RM_TOGG, + _______, _______, _______, _______, KC_CALC, _______, _______, _______, _______, _______, _______, _______, _______, _______, RM_VALU, + _______, _______, _______, _______, _______, _______, _______, RM_PREV, RM_VALD, RM_NEXT ), }; diff --git a/keyboards/hadron/ver2/keymaps/default/keymap.c b/keyboards/hadron/ver2/keymaps/default/keymap.c index 27ed7adfa0b..65d6ef91f91 100644 --- a/keyboards/hadron/ver2/keymaps/default/keymap.c +++ b/keyboards/hadron/ver2/keymaps/default/keymap.c @@ -187,7 +187,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { */ [_ADJUST] = LAYOUT( KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, - QK_BOOT, RGB_TOG, RGB_MOD, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, _______, _______, _______, _______, _______, KC_DEL, + QK_BOOT, UG_TOGG, UG_NEXT, UG_HUEU, UG_HUED, UG_SATU, UG_SATD, UG_VALU, UG_VALD, _______, _______, _______, _______, _______, KC_DEL, _______, _______, _______, AU_ON, AU_OFF, AG_NORM, _______, _______, _______, AG_SWAP, QWERTY, COLEMAK, _______, _______, _______, _______, AU_PREV, AU_NEXT, MU_ON, MU_OFF, MI_ON, MI_OFF, _______, _______, _______, _______, BL_DOWN, BL_UP, BL_STEP, BL_TOGG, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ @@ -282,7 +282,7 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) { } return false; break; - case RGB_MOD: + case QK_UNDERGLOW_MODE_NEXT: //led operations - RGB mode change now updates the RGB_current_mode to allow the right RGB mode to be set after reactive keys are released if (record->event.pressed) { rgblight_mode(RGB_current_mode); diff --git a/keyboards/hadron/ver2/keymaps/side_numpad/keymap.c b/keyboards/hadron/ver2/keymaps/side_numpad/keymap.c index 9cc621df2f2..a4a96b20b6f 100644 --- a/keyboards/hadron/ver2/keymaps/side_numpad/keymap.c +++ b/keyboards/hadron/ver2/keymaps/side_numpad/keymap.c @@ -190,7 +190,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { */ [_ADJUST] = LAYOUT( QK_BOOT, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_VOLD, KC_VOLU, KC_MUTE, - _______, RGB_TOG, RGB_MOD, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, _______, _______, KC_DEL, _______, _______, _______, + _______, UG_TOGG, UG_NEXT, UG_HUEU, UG_HUED, UG_SATU, UG_SATD, UG_VALU, UG_VALD, _______, _______, KC_DEL, _______, _______, _______, _______, _______, _______, AU_ON, AU_OFF, AG_NORM, AG_SWAP, QWERTY, _______, _______, _______, _______, _______, _______, _______, _______, AU_PREV, AU_NEXT, MU_ON, MU_OFF, MI_ON, MI_OFF, _______, BL_DOWN, BL_UP, BL_STEP, BL_TOGG, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ @@ -298,7 +298,7 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) { } return false; break; - case RGB_MOD: + case QK_UNDERGLOW_MODE_NEXT: //led operations - RGB mode change now updates the RGB_current_mode to allow the right RGB mode to be set after reactive keys are released if (record->event.pressed) { rgblight_mode(RGB_current_mode); diff --git a/keyboards/helix/pico/keymaps/default/keymap.c b/keyboards/helix/pico/keymaps/default/keymap.c index c947c3d931c..28f6a20f9be 100644 --- a/keyboards/helix/pico/keymaps/default/keymap.c +++ b/keyboards/helix/pico/keymaps/default/keymap.c @@ -159,8 +159,8 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { [_ADJUST] = LAYOUT( _______, QK_BOOT, RGBRST, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, AU_ON, AU_OFF, MU_TOGG, MU_NEXT, AG_NORM, AG_SWAP, QWERTY, COLEMAK, DVORAK, _______, _______, - _______, CK_TOGG, CK_RST, CK_UP, CK_DOWN, _______, _______, _______, RGB_TOG, RGB_HUI, RGB_SAI, RGB_VAI, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RGB_MOD, RGB_HUD, RGB_SAD, RGB_VAD + _______, CK_TOGG, CK_RST, CK_UP, CK_DOWN, _______, _______, _______, UG_TOGG, UG_HUEU, UG_SATU, UG_VALU, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, UG_NEXT, UG_HUED, UG_SATD, UG_VALD ) }; @@ -275,7 +275,7 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) { return false; break; //led operations - RGB mode change now updates the RGB_current_mode to allow the right RGB mode to be set after reactive keys are released - case RGB_MOD: + case QK_UNDERGLOW_MODE_NEXT: #ifdef RGBLIGHT_ENABLE if (record->event.pressed) { rgblight_mode(RGB_current_mode); diff --git a/keyboards/helix/rev2/keymaps/default/keymap.c b/keyboards/helix/rev2/keymaps/default/keymap.c index 0074153ccf1..a48a855e022 100644 --- a/keyboards/helix/rev2/keymaps/default/keymap.c +++ b/keyboards/helix/rev2/keymaps/default/keymap.c @@ -173,8 +173,8 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { 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, RGBRST, _______, _______, _______, _______, _______, _______, _______, _______, KC_DEL, _______, _______, _______, AU_ON, AU_OFF, AG_NORM, AG_SWAP, QWERTY, COLEMAK, DVORAK, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RGB_TOG, RGB_HUI, RGB_SAI, RGB_VAI, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RGB_MOD, RGB_HUD, RGB_SAD, RGB_VAD + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, UG_TOGG, UG_HUEU, UG_SATU, UG_VALU, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, UG_NEXT, UG_HUED, UG_SATD, UG_VALD ) }; @@ -287,7 +287,7 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) { return false; break; //led operations - RGB mode change now updates the RGB_current_mode to allow the right RGB mode to be set after reactive keys are released - case RGB_MOD: + case QK_UNDERGLOW_MODE_NEXT: #ifdef RGBLIGHT_ENABLE if (record->event.pressed) { rgblight_mode(RGB_current_mode); diff --git a/keyboards/helix/rev2/keymaps/five_rows_jis/keymap.c b/keyboards/helix/rev2/keymaps/five_rows_jis/keymap.c index 75e50968bcf..70430894ef8 100644 --- a/keyboards/helix/rev2/keymaps/five_rows_jis/keymap.c +++ b/keyboards/helix/rev2/keymaps/five_rows_jis/keymap.c @@ -183,8 +183,8 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { [_ADJUST] = LAYOUT( XXXXXXX, QK_BOOT, RGBRST, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, QK_BOOT, RGBRST, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, DL_BAS, DL_BASE, AG_NORM, AG_SWAP, XXXXXXX, XXXXXXX, DL_BAS, DL_BASE, AG_NORM, AG_SWAP, XXXXXXX, - XXXXXXX, RGB_TOG, RGB_HUI, RGB_SAI, RGB_VAI, XXXXXXX, XXXXXXX, RGB_TOG, RGB_HUI, RGB_SAI, RGB_VAI, XXXXXXX, - XXXXXXX, RGB_MOD, RGB_HUD, RGB_SAD, RGB_VAD, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, RGB_MOD, RGB_HUD, RGB_SAD, RGB_VAD, XXXXXXX, + XXXXXXX, UG_TOGG, UG_HUEU, UG_SATU, UG_VALU, XXXXXXX, XXXXXXX, UG_TOGG, UG_HUEU, UG_SATU, UG_VALU, XXXXXXX, + XXXXXXX, UG_NEXT, UG_HUED, UG_SATD, UG_VALD, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, UG_NEXT, UG_HUED, UG_SATD, UG_VALD, XXXXXXX, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ ), }; @@ -255,7 +255,7 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) { switch (keycode) { #ifdef RGBLIGHT_ENABLE //led operations - RGB mode change now updates the RGB_current_mode to allow the right RGB mode to be set after reactive keys are released - case RGB_MOD: + case QK_UNDERGLOW_MODE_NEXT: if (record->event.pressed) { rgblight_mode(RGB_current_mode); rgblight_step(); diff --git a/keyboards/horrortroll/chinese_pcb/devil68_pro/keymaps/default/keymap.c b/keyboards/horrortroll/chinese_pcb/devil68_pro/keymaps/default/keymap.c index 66a0dfb5954..0413ffe8083 100644 --- a/keyboards/horrortroll/chinese_pcb/devil68_pro/keymaps/default/keymap.c +++ b/keyboards/horrortroll/chinese_pcb/devil68_pro/keymaps/default/keymap.c @@ -84,16 +84,16 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { /* Row: 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 */ [_FN] = LAYOUT_65_ansi( _______, 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, - _______, _______, KC_UP, _______, _______, _______, _______, _______, KC_INS, _______, KC_PSCR, _______, _______, RGB_HUI, RGB_MOD, - _______, KC_LEFT, KC_DOWN, KC_RGHT, _______, _______, _______, _______, _______, RGB_TOG, _______, _______, _______, KC_HOME, - _______, _______, _______, KC_CALC, _______, _______, _______, KC_MUTE, KC_VOLD, KC_VOLU, _______, _______, RGB_VAI, KC_END, - _______, _______, _______, _______, _______, _______, KC_APP, RGB_SPD, RGB_VAD, RGB_SPI + _______, _______, KC_UP, _______, _______, _______, _______, _______, KC_INS, _______, KC_PSCR, _______, _______, RM_HUEU, RM_NEXT, + _______, KC_LEFT, KC_DOWN, KC_RGHT, _______, _______, _______, _______, _______, RM_TOGG, _______, _______, _______, KC_HOME, + _______, _______, _______, KC_CALC, _______, _______, _______, KC_MUTE, KC_VOLD, KC_VOLU, _______, _______, RM_VALU, KC_END, + _______, _______, _______, _______, _______, _______, KC_APP, RM_SPDD, RM_VALD, RM_SPDU ), }; bool process_record_user(uint16_t keycode, keyrecord_t *record) { switch (keycode) { - case RGB_TOG: + case QK_RGB_MATRIX_TOGGLE: if (record->event.pressed) { switch (rgb_matrix_get_flags()) { case LED_FLAG_ALL: { diff --git a/keyboards/horrortroll/handwired_k552/keymaps/default/keymap.c b/keyboards/horrortroll/handwired_k552/keymaps/default/keymap.c index 3208b56544b..140f5910390 100644 --- a/keyboards/horrortroll/handwired_k552/keymaps/default/keymap.c +++ b/keyboards/horrortroll/handwired_k552/keymaps/default/keymap.c @@ -88,11 +88,11 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { */ /* Row: 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 */ [_FN] = LAYOUT_tkl_ansi( - QK_BOOT, KC_MSEL, KC_VOLD, KC_VOLU, KC_MUTE, KC_MSTP, KC_MPRV, KC_MPLY, KC_MNXT, KC_MAIL, KC_WHOM, KC_CALC, KC_WSCH, RGB_RMOD, RGB_MOD, RGB_TOG, - NK_TOGG, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RGB_SPD, RGB_SPI, _______, RGB_C_E, _______, _______, + QK_BOOT, KC_MSEL, KC_VOLD, KC_VOLU, KC_MUTE, KC_MSTP, KC_MPRV, KC_MPLY, KC_MNXT, KC_MAIL, KC_WHOM, KC_CALC, KC_WSCH, RM_PREV, RM_NEXT, RM_TOGG, + NK_TOGG, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RM_SPDD, RM_SPDU, _______, RGB_C_E, _______, _______, _______, G1_HUD, G1_HUI, G1_SAD, G1_SAI, G1_VAD, G1_VAI, _______, _______, _______, _______, _______, _______, _______, _______, _______, TG(_WAVE), _______, G2_HUD, G2_HUI, G2_SAD, G2_SAI, G2_VAD, G2_VAI, _______, _______, _______, _______, _______, _______, - _______, G_PRE, REF_G, G_FLIP, _______, _______, _______, _______, _______, _______, _______, _______, RGB_VAI, - _______, _______, _______, _______, _______, _______, _______, _______, RGB_HUD, RGB_VAD, RGB_HUI + _______, G_PRE, REF_G, G_FLIP, _______, _______, _______, _______, _______, _______, _______, _______, RM_VALU, + _______, _______, _______, _______, _______, _______, _______, _______, RM_HUED, RM_VALD, RM_HUEU ), }; diff --git a/keyboards/horrortroll/handwired_k552/keymaps/default/keymap_stuff.h b/keyboards/horrortroll/handwired_k552/keymaps/default/keymap_stuff.h index cc93f182071..fa6f070ed2c 100644 --- a/keyboards/horrortroll/handwired_k552/keymaps/default/keymap_stuff.h +++ b/keyboards/horrortroll/handwired_k552/keymaps/default/keymap_stuff.h @@ -229,7 +229,7 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) { } } return false; - case RGB_TOG: + case QK_RGB_MATRIX_TOGGLE: if (record->event.pressed) { switch (rgb_matrix_get_flags()) { case LED_FLAG_ALL: { diff --git a/keyboards/horrortroll/nyx/rev1/keymaps/default/keymap.c b/keyboards/horrortroll/nyx/rev1/keymaps/default/keymap.c index d678f19b46e..a723f77452e 100644 --- a/keyboards/horrortroll/nyx/rev1/keymaps/default/keymap.c +++ b/keyboards/horrortroll/nyx/rev1/keymaps/default/keymap.c @@ -76,10 +76,10 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { */ /* Row: 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 */ [_FN] = LAYOUT_65_ansi_blocker( - KC_GRV, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, _______, RGB_TOG, - QK_BOOT, _______, KC_MS_U, _______, _______, _______, _______, _______, _______, RGB_SAD, RGB_SAI, RGB_SPD, RGB_SPI, _______, RGB_MOD, + 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, _______, RM_TOGG, + QK_BOOT, _______, KC_MS_U, _______, _______, _______, _______, _______, _______, RM_SATD, RM_SATU, RM_SPDD, RM_SPDU, _______, RM_NEXT, _______, KC_MS_L, KC_MS_D, KC_MS_R, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, KC_CALC, _______, _______, NK_TOGG, _______, KC_VOLD, KC_VOLU, KC_MUTE, _______, RGB_VAI, _______, - _______, _______, _______, _______, _______, _______, RGB_HUD, RGB_VAD, RGB_HUI + _______, _______, _______, KC_CALC, _______, _______, NK_TOGG, _______, KC_VOLD, KC_VOLU, KC_MUTE, _______, RM_VALU, _______, + _______, _______, _______, _______, _______, _______, RM_HUED, RM_VALD, RM_HUEU ) }; diff --git a/keyboards/horrortroll/nyx/rev1/rev1.c b/keyboards/horrortroll/nyx/rev1/rev1.c index fb4ce3183b0..48cbeb66804 100644 --- a/keyboards/horrortroll/nyx/rev1/rev1.c +++ b/keyboards/horrortroll/nyx/rev1/rev1.c @@ -19,7 +19,7 @@ #ifdef RGB_MATRIX_ENABLE bool process_record_kb(uint16_t keycode, keyrecord_t *record) { switch (keycode) { - case RGB_TOG: + case QK_RGB_MATRIX_TOGGLE: if (record->event.pressed) { switch (rgb_matrix_get_flags()) { case LED_FLAG_ALL: { @@ -35,7 +35,7 @@ bool process_record_kb(uint16_t keycode, keyrecord_t *record) { } } return false; - case RGB_MOD: + case QK_RGB_MATRIX_MODE_NEXT: if (record->event.pressed) { switch (rgb_matrix_get_mode()) { case RGB_MATRIX_SOLID_MULTISPLASH: @@ -47,7 +47,7 @@ bool process_record_kb(uint16_t keycode, keyrecord_t *record) { } } return false; - case RGB_RMOD: + case QK_RGB_MATRIX_MODE_PREVIOUS: if (record->event.pressed) { switch (rgb_matrix_get_mode()) { case RGB_MATRIX_SOLID_COLOR: diff --git a/keyboards/inett_studio/sqx/hotswap/config.h b/keyboards/inett_studio/sqx/hotswap/config.h index 0759616004e..4172a72379f 100644 --- a/keyboards/inett_studio/sqx/hotswap/config.h +++ b/keyboards/inett_studio/sqx/hotswap/config.h @@ -18,20 +18,5 @@ */ #pragma once -/* - * Feature disable options - * These options are also useful to firmware size reduction. - */ - -/* disable debug print */ -//#define NO_DEBUG - -/* disable print */ -//#define NO_PRINT - #define IS31FL3731_I2C_ADDRESS_1 IS31FL3731_I2C_ADDRESS_GND #define IS31FL3731_I2C_ADDRESS_2 IS31FL3731_I2C_ADDRESS_VCC - -#if defined(RGB_MATRIX_ENABLE) && defined(RGBLIGHT_ENABLE) - #define RGB_MATRIX_DISABLE_KEYCODES -#endif diff --git a/keyboards/inett_studio/sqx/hotswap/hotswap.c b/keyboards/inett_studio/sqx/hotswap/hotswap.c index c04d7ef02cc..dc12ec4f300 100644 --- a/keyboards/inett_studio/sqx/hotswap/hotswap.c +++ b/keyboards/inett_studio/sqx/hotswap/hotswap.c @@ -17,7 +17,7 @@ along with this program. If not, see . */ -#include "hotswap.h" +#include "quantum.h" #ifdef RGB_MATRIX_ENABLE const is31fl3731_led_t PROGMEM g_is31fl3731_leds[IS31FL3731_LED_COUNT] = { @@ -163,43 +163,3 @@ bool rgb_matrix_indicators_kb(void) { } #endif //RGB_MATRIX_ENABLE - -bool process_record_kb(uint16_t keycode, keyrecord_t *record) { - if (!process_record_user(keycode, record)) { - return false; - } - - if (record->event.pressed) { - switch(keycode) { -#if defined(RGB_MATRIX_DISABLE_KEYCODES) - case RGB_MATRIX_TOGGLE: // toggle rgb matrix - rgb_matrix_toggle(); - return false; - case RGB_MATRIX_STEP: - rgb_matrix_step(); - return false; - case RGB_MATRIX_INC_HUE: - rgb_matrix_increase_hue(); - return false; - case RGB_MATRIX_DEC_HUE: - rgb_matrix_decrease_hue(); - return false; - case RGB_MATRIX_INC_SAT: - rgb_matrix_increase_sat(); - return false; - case RGB_MATRIX_DEC_SAT: - rgb_matrix_decrease_sat(); - return false; - case RGB_MATRIX_INC_VAL: - rgb_matrix_increase_val(); - return false; - case RGB_MATRIX_DEC_VAL: - rgb_matrix_decrease_val(); - return false; -#endif - default: - break; - } - } - return true; -} diff --git a/keyboards/inett_studio/sqx/hotswap/hotswap.h b/keyboards/inett_studio/sqx/hotswap/hotswap.h deleted file mode 100644 index ab0d6ec5c8a..00000000000 --- a/keyboards/inett_studio/sqx/hotswap/hotswap.h +++ /dev/null @@ -1,48 +0,0 @@ -/** - * @file hotswap.h - * - Copyright 2020 astro - - 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 - -#include "quantum.h" - -#if defined(RGB_MATRIX_DISABLE_KEYCODES) -# ifndef RGB_MATRIX_TOGGLE -# define RGB_MATRIX_TOGGLE KC_F16 -# endif -# ifndef RGB_MATRIX_STEP -# define RGB_MATRIX_STEP KC_F17 -# endif -# ifndef RGB_MATRIX_INC_HUE -# define RGB_MATRIX_INC_HUE KC_F18 -# endif -# ifndef RGB_MATRIX_DEC_HUE -# define RGB_MATRIX_DEC_HUE KC_F19 -# endif -# ifndef RGB_MATRIX_INC_SAT -# define RGB_MATRIX_INC_SAT KC_F20 -# endif -# ifndef RGB_MATRIX_DEC_SAT -# define RGB_MATRIX_DEC_SAT KC_F21 -# endif -# ifndef RGB_MATRIX_INC_VAL -# define RGB_MATRIX_INC_VAL KC_F22 -# endif -# ifndef RGB_MATRIX_DEC_VAL -# define RGB_MATRIX_DEC_VAL KC_F23 -# endif -#endif diff --git a/keyboards/inett_studio/sqx/hotswap/keymaps/default/keymap.c b/keyboards/inett_studio/sqx/hotswap/keymaps/default/keymap.c index 0b552abec9a..1e7be294a52 100644 --- a/keyboards/inett_studio/sqx/hotswap/keymaps/default/keymap.c +++ b/keyboards/inett_studio/sqx/hotswap/keymaps/default/keymap.c @@ -27,7 +27,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { [1] = LAYOUT_60_ansi_tsangan_split_bs_rshift( _______, 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, - QK_BOOT,RGB_TOG,RGB_MOD,_______, KC_F16, KC_F17,_______,_______,_______,_______,_______,KC_PGUP,KC_PGDN,_______, + QK_BOOT,UG_TOGG,UG_NEXT,_______, RM_TOGG, RM_NEXT,_______,_______,_______,_______,_______,KC_PGUP,KC_PGDN,_______, _______, _______,_______,_______,_______,_______,KC_LEFT,KC_DOWN, KC_UP,KC_RIGHT,KC_HOME, KC_END,_______, _______, _______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______, _______,_______,_______, _______, _______,_______,_______), diff --git a/keyboards/inett_studio/sqx/universal/config.h b/keyboards/inett_studio/sqx/universal/config.h index 737addf725b..4172a72379f 100644 --- a/keyboards/inett_studio/sqx/universal/config.h +++ b/keyboards/inett_studio/sqx/universal/config.h @@ -18,20 +18,5 @@ */ #pragma once -/* - * Feature disable options - * These options are also useful to firmware size reduction. - */ - -/* disable debug print */ -//#define NO_DEBUG - -/* disable print */ -//#define NO_PRINT - #define IS31FL3731_I2C_ADDRESS_1 IS31FL3731_I2C_ADDRESS_GND #define IS31FL3731_I2C_ADDRESS_2 IS31FL3731_I2C_ADDRESS_VCC - -#if defined(RGB_MATRIX_ENABLE) && defined(RGBLIGHT_ENABLE) -# define RGB_MATRIX_DISABLE_KEYCODES -#endif diff --git a/keyboards/inett_studio/sqx/universal/keymaps/default/keymap.c b/keyboards/inett_studio/sqx/universal/keymaps/default/keymap.c index a17f3c9b22c..abab8cabbe0 100644 --- a/keyboards/inett_studio/sqx/universal/keymaps/default/keymap.c +++ b/keyboards/inett_studio/sqx/universal/keymaps/default/keymap.c @@ -27,7 +27,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { [1] = LAYOUT_60_ansi_split_bs_rshift( _______, 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, - QK_BOOT,RGB_TOG,RGB_MOD,_______, KC_F16, KC_F17,_______,_______,_______,_______,_______,KC_PGUP,KC_PGDN,_______, + QK_BOOT,UG_TOGG,UG_NEXT,_______, RM_TOGG, RM_NEXT,_______,_______,_______,_______,_______,KC_PGUP,KC_PGDN,_______, _______, _______,_______,_______,_______,_______,KC_LEFT,KC_DOWN, KC_UP,KC_RIGHT,KC_HOME, KC_END,_______, _______, _______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______, _______,_______,_______, _______, _______,_______,TG(0),_______), diff --git a/keyboards/inett_studio/sqx/universal/universal.c b/keyboards/inett_studio/sqx/universal/universal.c index 6c2af3a3b99..105e89ecc57 100644 --- a/keyboards/inett_studio/sqx/universal/universal.c +++ b/keyboards/inett_studio/sqx/universal/universal.c @@ -17,7 +17,7 @@ along with this program. If not, see . */ -#include "universal.h" +#include "quantum.h" #ifdef RGB_MATRIX_ENABLE const is31fl3731_led_t PROGMEM g_is31fl3731_leds[IS31FL3731_LED_COUNT] = { @@ -167,43 +167,3 @@ bool rgb_matrix_indicators_kb(void) { } #endif //RGB_MATRIX_ENABLE - -bool process_record_kb(uint16_t keycode, keyrecord_t *record) { - if (!process_record_user(keycode, record)) { - return false; - } - - if (record->event.pressed) { - switch(keycode) { -#if defined(RGB_MATRIX_DISABLE_KEYCODES) - case RGB_MATRIX_TOGGLE: // toggle rgb matrix - rgb_matrix_toggle(); - return false; - case RGB_MATRIX_STEP: - rgb_matrix_step(); - return false; - case RGB_MATRIX_INC_HUE: - rgb_matrix_increase_hue(); - return false; - case RGB_MATRIX_DEC_HUE: - rgb_matrix_decrease_hue(); - return false; - case RGB_MATRIX_INC_SAT: - rgb_matrix_increase_sat(); - return false; - case RGB_MATRIX_DEC_SAT: - rgb_matrix_decrease_sat(); - return false; - case RGB_MATRIX_INC_VAL: - rgb_matrix_increase_val(); - return false; - case RGB_MATRIX_DEC_VAL: - rgb_matrix_decrease_val(); - return false; -#endif - default: - break; - } - } - return true; -} diff --git a/keyboards/inett_studio/sqx/universal/universal.h b/keyboards/inett_studio/sqx/universal/universal.h deleted file mode 100644 index 5aa086ffab0..00000000000 --- a/keyboards/inett_studio/sqx/universal/universal.h +++ /dev/null @@ -1,48 +0,0 @@ -/** - * @file universal.h - * - Copyright 2020 astro - - 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 - -#include "quantum.h" - -#if defined(RGB_MATRIX_DISABLE_KEYCODES) -# ifndef RGB_MATRIX_TOGGLE -# define RGB_MATRIX_TOGGLE KC_F16 -# endif -# ifndef RGB_MATRIX_STEP -# define RGB_MATRIX_STEP KC_F17 -# endif -# ifndef RGB_MATRIX_INC_HUE -# define RGB_MATRIX_INC_HUE KC_F18 -# endif -# ifndef RGB_MATRIX_DEC_HUE -# define RGB_MATRIX_DEC_HUE KC_F19 -# endif -# ifndef RGB_MATRIX_INC_SAT -# define RGB_MATRIX_INC_SAT KC_F20 -# endif -# ifndef RGB_MATRIX_DEC_SAT -# define RGB_MATRIX_DEC_SAT KC_F21 -# endif -# ifndef RGB_MATRIX_INC_VAL -# define RGB_MATRIX_INC_VAL KC_F22 -# endif -# ifndef RGB_MATRIX_DEC_VAL -# define RGB_MATRIX_DEC_VAL KC_F23 -# endif -#endif diff --git a/keyboards/inland/kb83/kb83.c b/keyboards/inland/kb83/kb83.c index 65093a3c383..ace575259de 100644 --- a/keyboards/inland/kb83/kb83.c +++ b/keyboards/inland/kb83/kb83.c @@ -414,7 +414,7 @@ bool process_record_kb(uint16_t keycode, keyrecord_t *record) { } return true; - case RGB_VAI: + case QK_RGB_MATRIX_VALUE_UP: if ((fn_make_flag && record->event.pressed) && (alarm_flag == 0)) { if ((RGB_HSV_level = (uint8_t)rgb_matrix_get_val() / (RGB_MATRIX_MAXIMUM_BRIGHTNESS / 4)) < 4) { RGB_HSV_level++; @@ -423,7 +423,7 @@ bool process_record_kb(uint16_t keycode, keyrecord_t *record) { rgb_hsv_updata_user(); } return false; - case RGB_VAD: + case QK_RGB_MATRIX_VALUE_DOWN: if ((fn_make_flag && record->event.pressed) && (alarm_flag == 0)) { if ((RGB_HSV_level = (uint8_t)rgb_matrix_get_val() / (RGB_MATRIX_MAXIMUM_BRIGHTNESS / 4)) > 0) { RGB_HSV_level--; @@ -432,7 +432,7 @@ bool process_record_kb(uint16_t keycode, keyrecord_t *record) { rgb_hsv_updata_user(); } return false; - case RGB_SAI: + case QK_RGB_MATRIX_SATURATION_UP: if ((fn_make_flag && record->event.pressed) && (alarm_flag == 0)) { if ((RGB_HSV_level = (uint8_t)rgb_matrix_get_sat() / (UINT8_MAX / 4)) < 4) { RGB_HSV_level++; @@ -441,7 +441,7 @@ bool process_record_kb(uint16_t keycode, keyrecord_t *record) { rgb_hsv_updata_user(); } return false; - case RGB_SAD: + case QK_RGB_MATRIX_SATURATION_DOWN: if ((fn_make_flag && record->event.pressed) && (alarm_flag == 0)) { if ((RGB_HSV_level = (uint8_t)rgb_matrix_get_sat() / (UINT8_MAX / 4)) > 0) { RGB_HSV_level--; @@ -450,7 +450,7 @@ bool process_record_kb(uint16_t keycode, keyrecord_t *record) { rgb_hsv_updata_user(); } return false; - case RGB_HUI: + case QK_RGB_MATRIX_HUE_UP: if ((fn_make_flag && record->event.pressed) && (alarm_flag == 0)) { if ((RGB_HSV_level = (uint8_t)rgb_matrix_get_hue() / (UINT8_MAX / 6)) < 6) { RGB_HSV_level++; @@ -459,7 +459,7 @@ bool process_record_kb(uint16_t keycode, keyrecord_t *record) { rgb_hsv_updata_user(); } return false; - case RGB_HUD: + case QK_RGB_MATRIX_HUE_DOWN: if ((fn_make_flag && record->event.pressed) && (alarm_flag == 0)) { if ((RGB_HSV_level = (uint8_t)rgb_matrix_get_hue() / (UINT8_MAX / 6)) > 0) { RGB_HSV_level--; @@ -468,7 +468,7 @@ bool process_record_kb(uint16_t keycode, keyrecord_t *record) { rgb_hsv_updata_user(); } return false; - case RGB_SPI: + case QK_RGB_MATRIX_SPEED_UP: if ((fn_make_flag && record->event.pressed) && (alarm_flag == 0)) { if ((RGB_HSV_level = (uint8_t)rgb_matrix_get_speed() / (UINT8_MAX / 4)) < 4) { RGB_HSV_level++; @@ -476,7 +476,7 @@ bool process_record_kb(uint16_t keycode, keyrecord_t *record) { } } return false; - case RGB_SPD: + case QK_RGB_MATRIX_SPEED_DOWN: if ((fn_make_flag && record->event.pressed) && (alarm_flag == 0)) { if ((RGB_HSV_level = (uint8_t)rgb_matrix_get_speed() / (UINT8_MAX / 4)) > 0) { RGB_HSV_level--; @@ -484,7 +484,7 @@ bool process_record_kb(uint16_t keycode, keyrecord_t *record) { } } return false; - case RGB_TOG: + case QK_RGB_MATRIX_TOGGLE: if (record->event.pressed) { switch (rgb_matrix_get_flags()) { case LED_FLAG_ALL: { diff --git a/keyboards/inland/kb83/keymaps/default/keymap.c b/keyboards/inland/kb83/keymaps/default/keymap.c index 712383d48d7..a564e4e4e14 100644 --- a/keyboards/inland/kb83/keymaps/default/keymap.c +++ b/keyboards/inland/kb83/keymaps/default/keymap.c @@ -38,12 +38,12 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, MO(WIN_FN),KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT), [WIN_FN] = LAYOUT( /* FN */ - _______, KC_BRID, KC_BRIU, KC_MAIL, KC_WSCH, KC_CALC, KC_MSEL, KC_MPRV, KC_MPLY, KC_MNXT, KC_MUTE, KC_VOLD, KC_VOLU, _______, RGB_TOG, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RGB_MOD, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RGB_HUI, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RGB_HUD, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RGB_VAI, _______, - _______, GU_TOGG, _______, _______, _______, _______, _______, RGB_SPD, RGB_VAD, RGB_SPI), + _______, KC_BRID, KC_BRIU, KC_MAIL, KC_WSCH, KC_CALC, KC_MSEL, KC_MPRV, KC_MPLY, KC_MNXT, KC_MUTE, KC_VOLD, KC_VOLU, _______, RM_TOGG, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RM_NEXT, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RM_HUEU, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RM_HUED, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RM_VALU, _______, + _______, GU_TOGG, _______, _______, _______, _______, _______, RM_SPDD, RM_VALD, RM_SPDU), [MAC_B] = LAYOUT( /* Base */ KC_ESC, KC_BRID, KC_BRIU, KC_MCTL, KC_LPAD, KC_SIRI, KC_F6, KC_MPRV, KC_MPLY, KC_MNXT, KC_MUTE, KC_VOLD, KC_VOLU, KC_DEL, KC_MUTE, @@ -54,20 +54,20 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_LCTL, KC_LALT, KC_LGUI, KC_SPC, KC_RGUI, MO(MAC_FN),KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT), [MAC_FN] = LAYOUT( /* FN */ - _______, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, _______, RGB_TOG, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RGB_MOD, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RGB_HUI, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RGB_HUD, - _______, _______, _______, KC_CALC, _______, _______, _______, KC_MUTE, KC_VOLD, KC_VOLU, _______, _______, RGB_VAI, _______, - _______, _______, _______, _______, _______, _______, _______, RGB_SPD, RGB_VAD, RGB_SPI) + _______, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, _______, RM_TOGG, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RM_NEXT, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RM_HUEU, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RM_HUED, + _______, _______, _______, KC_CALC, _______, _______, _______, KC_MUTE, KC_VOLD, KC_VOLU, _______, _______, RM_VALU, _______, + _______, _______, _______, _______, _______, _______, _______, RM_SPDD, RM_VALD, RM_SPDU) }; #if defined(ENCODER_MAP_ENABLE) const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][NUM_DIRECTIONS] = { [WIN_B] = { ENCODER_CCW_CW(KC_VOLU, KC_VOLD) }, - [WIN_FN] = { ENCODER_CCW_CW(RGB_SAI, RGB_SAD) }, + [WIN_FN] = { ENCODER_CCW_CW(RM_SATU, RM_SATD) }, [MAC_B] = { ENCODER_CCW_CW(KC_VOLU, KC_VOLD) }, - [MAC_FN] = { ENCODER_CCW_CW(RGB_SAI, RGB_SAD) }, + [MAC_FN] = { ENCODER_CCW_CW(RM_SATU, RM_SATD) }, }; #endif diff --git a/keyboards/keybee/keybee65/keymaps/default/keymap.c b/keyboards/keybee/keybee65/keymaps/default/keymap.c index ef566066926..4662a9bd45b 100644 --- a/keyboards/keybee/keybee65/keymaps/default/keymap.c +++ b/keyboards/keybee/keybee65/keymaps/default/keymap.c @@ -31,8 +31,8 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { [_LAYER1] = LAYOUT_65_ansi( KC_TRNS, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_TRNS, KC_TRNS, - KC_TRNS, RGB_TOG, RGB_MOD, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, KC_TRNS, KC_PSCR, KC_SCRL, KC_PAUSE, QK_BOOT, KC_TRNS, - KC_TRNS, RGB_SPI, RGB_SPD, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, EE_CLR, KC_TRNS, + KC_TRNS, RM_TOGG, RM_NEXT, RM_HUEU, RM_HUED, RM_SATU, RM_SATD, RM_VALU, RM_VALD, KC_TRNS, KC_PSCR, KC_SCRL, KC_PAUSE, QK_BOOT, KC_TRNS, + KC_TRNS, RM_SPDU, RM_SPDD, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, EE_CLR, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, NK_TOGG, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_AUDIO_VOL_UP, KC_AUDIO_MUTE, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_MEDIA_PREV_TRACK, KC_AUDIO_VOL_DOWN, KC_MEDIA_NEXT_TRACK ) @@ -40,7 +40,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { bool process_record_user(uint16_t keycode, keyrecord_t *record) { switch (keycode) { - case RGB_TOG: + case QK_RGB_MATRIX_TOGGLE: if (record->event.pressed) { switch (rgb_matrix_get_flags()) { case LED_FLAG_ALL: { diff --git a/keyboards/keychron/c1_pro/ansi/rgb/keymaps/default/keymap.c b/keyboards/keychron/c1_pro/ansi/rgb/keymaps/default/keymap.c index 636e83b5275..27ff94561fe 100644 --- a/keyboards/keychron/c1_pro/ansi/rgb/keymaps/default/keymap.c +++ b/keyboards/keychron/c1_pro/ansi/rgb/keymaps/default/keymap.c @@ -30,7 +30,7 @@ enum layers{ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { [MAC_BASE] = LAYOUT_tkl_ansi( - KC_ESC, KC_BRID, KC_BRIU, KC_MCTL, KC_LPAD, RGB_VAD, RGB_VAI, KC_MPRV, KC_MPLY, KC_MNXT, KC_MUTE, KC_VOLD, KC_VOLU, KC_NO, KC_NO, RGB_MOD, + KC_ESC, KC_BRID, KC_BRIU, KC_MCTL, KC_LPAD, RM_VALD, RM_VALU, KC_MPRV, KC_MPLY, KC_MNXT, KC_MUTE, KC_VOLD, KC_VOLU, KC_NO, KC_NO, RM_NEXT, 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, @@ -38,15 +38,15 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_LCTL, KC_LOPT, KC_LCMD, KC_SPC, KC_RCMD, KC_ROPT, MO(MAC_FN), KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT), [MAC_FN] = LAYOUT_tkl_ansi( - _______, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, _______, _______, RGB_TOG, + _______, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, _______, _______, RM_TOGG, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - RGB_TOG, RGB_MOD, RGB_VAI, RGB_HUI, RGB_SAI, RGB_SPI, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, RGB_RMOD, RGB_VAD, RGB_HUD, RGB_SAD, RGB_SPD, _______, _______, _______, _______, _______, _______, _______, + RM_TOGG, RM_NEXT, RM_VALU, RM_HUEU, RM_SATU, RM_SPDU, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, RM_PREV, RM_VALD, RM_HUED, RM_SATD, RM_SPDD, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, NK_TOGG, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______), [WIN_BASE] = LAYOUT_tkl_ansi( - 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_NO, RGB_MOD, + 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_NO, RM_NEXT, 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, @@ -54,10 +54,10 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_LCTL, KC_LWIN, KC_LALT, KC_SPC, KC_RALT, KC_RWIN, MO(WIN_FN), KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT), [WIN_FN] = LAYOUT_tkl_ansi( - _______, KC_BRID, KC_BRIU, KC_TASK, KC_FLXP, RGB_VAD, RGB_VAI, KC_MPRV, KC_MPLY, KC_MNXT, KC_MUTE, KC_VOLD, KC_VOLU, _______, _______, RGB_TOG, + _______, KC_BRID, KC_BRIU, KC_TASK, KC_FLXP, RM_VALD, RM_VALU, KC_MPRV, KC_MPLY, KC_MNXT, KC_MUTE, KC_VOLD, KC_VOLU, _______, _______, RM_TOGG, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - RGB_TOG, RGB_MOD, RGB_VAI, RGB_HUI, RGB_SAI, RGB_SPI, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, RGB_RMOD, RGB_VAD, RGB_HUD, RGB_SAD, RGB_SPD, _______, _______, _______, _______, _______, _______, _______, + RM_TOGG, RM_NEXT, RM_VALU, RM_HUEU, RM_SATU, RM_SPDU, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, RM_PREV, RM_VALD, RM_HUED, RM_SATD, RM_SPDD, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, NK_TOGG, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______), }; diff --git a/keyboards/keychron/c1_pro/ansi/rgb/rgb.c b/keyboards/keychron/c1_pro/ansi/rgb/rgb.c index e4c640d6bfa..f4f0c0af475 100644 --- a/keyboards/keychron/c1_pro/ansi/rgb/rgb.c +++ b/keyboards/keychron/c1_pro/ansi/rgb/rgb.c @@ -128,7 +128,7 @@ bool process_record_kb(uint16_t keycode, keyrecord_t *record) { return false; } switch (keycode) { - case RGB_TOG: + case QK_RGB_MATRIX_TOGGLE: if (record->event.pressed) { switch (rgb_matrix_get_flags()) { case LED_FLAG_ALL: { diff --git a/keyboards/keychron/c2_pro/ansi/rgb/keymaps/default/keymap.c b/keyboards/keychron/c2_pro/ansi/rgb/keymaps/default/keymap.c index 07f523e30a0..2a26df51717 100644 --- a/keyboards/keychron/c2_pro/ansi/rgb/keymaps/default/keymap.c +++ b/keyboards/keychron/c2_pro/ansi/rgb/keymaps/default/keymap.c @@ -30,7 +30,7 @@ enum layers{ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { [MAC_BASE] = LAYOUT( - KC_ESC, KC_BRID, KC_BRIU, KC_MCTL, KC_LPAD, RGB_VAD, RGB_VAI, KC_MPRV, KC_MPLY, KC_MNXT, KC_MUTE, KC_VOLD, KC_VOLU, KC_NO, KC_NO, RGB_MOD, + KC_ESC, KC_BRID, KC_BRIU, KC_MCTL, KC_LPAD, RM_VALD, RM_VALU, KC_MPRV, KC_MPLY, KC_MNXT, KC_MUTE, KC_VOLD, KC_VOLU, KC_NO, KC_NO, RM_NEXT, 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_NUM, KC_PSLS, KC_PAST, KC_PMNS, KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, KC_DEL, KC_END, KC_PGDN, KC_P7, KC_P8, KC_P9, KC_PPLS, KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT, KC_P4, KC_P5, KC_P6, @@ -38,15 +38,15 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_LCTL, KC_LOPT, KC_LCMD, KC_SPC, KC_RCMD, KC_ROPT, MO(MAC_FN), KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT, KC_P0, KC_PDOT ), [MAC_FN] = LAYOUT( - _______, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, _______, _______, RGB_TOG, + _______, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, _______, _______, RM_TOGG, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - RGB_TOG, RGB_MOD, RGB_VAI, RGB_HUI, RGB_SAI, RGB_SPI, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, RGB_RMOD, RGB_VAD, RGB_HUD, RGB_SAD, RGB_SPD, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + RM_TOGG, RM_NEXT, RM_VALU, RM_HUEU, RM_SATU, RM_SPDU, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, RM_PREV, RM_VALD, RM_HUED, RM_SATD, RM_SPDD, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, NK_TOGG, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ ), [WIN_BASE] = LAYOUT( - KC_ESC, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_PSCR, KC_NO, RGB_MOD, + 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_NO, RM_NEXT, 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_NUM, KC_PSLS, KC_PAST, KC_PMNS, KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, KC_DEL, KC_END, KC_PGDN, KC_P7, KC_P8, KC_P9, KC_PPLS, KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT, KC_P4, KC_P5, KC_P6, @@ -54,10 +54,10 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_LCTL, KC_LWIN, KC_LALT, KC_SPC, KC_RALT, KC_RWIN, MO(WIN_FN), KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT, KC_P0, KC_PDOT ), [WIN_FN] = LAYOUT( - _______, KC_BRID, KC_BRIU, KC_TASK, KC_FLXP, RGB_VAD, RGB_VAI, KC_MPRV, KC_MPLY, KC_MNXT, KC_MUTE, KC_VOLD, KC_VOLU, _______, _______, RGB_TOG, + _______, KC_BRID, KC_BRIU, KC_TASK, KC_FLXP, RM_VALD, RM_VALU, KC_MPRV, KC_MPLY, KC_MNXT, KC_MUTE, KC_VOLD, KC_VOLU, _______, _______, RM_TOGG, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - RGB_TOG, RGB_MOD, RGB_VAI, RGB_HUI, RGB_SAI, RGB_SPI, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, RGB_RMOD, RGB_VAD, RGB_HUD, RGB_SAD, RGB_SPD, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + RM_TOGG, RM_NEXT, RM_VALU, RM_HUEU, RM_SATU, RM_SPDU, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, RM_PREV, RM_VALD, RM_HUED, RM_SATD, RM_SPDD, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, NK_TOGG, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ ), }; diff --git a/keyboards/keychron/c2_pro/c2_pro.c b/keyboards/keychron/c2_pro/c2_pro.c index 593e4049970..bb7aba4f816 100644 --- a/keyboards/keychron/c2_pro/c2_pro.c +++ b/keyboards/keychron/c2_pro/c2_pro.c @@ -31,6 +31,7 @@ bool dip_switch_update_kb(uint8_t index, bool active) { #endif // DIP_SWITCH_ENABLE # ifdef RGB_MATRIX_ENABLE +# define LED_TOGGLE_KEYCODE QK_RGB_MATRIX_TOGGLE # define LED_SET_FLAGS rgb_matrix_set_flags # define LED_GET_FLAGS rgb_matrix_get_flags # define LED_SET_ALL_OFF rgb_matrix_set_color_all(COLOR_BLACK) @@ -47,6 +48,7 @@ bool dip_switch_update_kb(uint8_t index, bool active) { # endif # ifdef LED_MATRIX_ENABLE +# define LED_TOGGLE_KEYCODE QK_LED_MATRIX_TOGGLE # define LED_SET_FLAGS led_matrix_set_flags # define LED_GET_FLAGS led_matrix_get_flags # define LED_SET_ALL_OFF led_matrix_set_value_all(COLOR_BLACK) @@ -66,7 +68,7 @@ bool process_record_kb(uint16_t keycode, keyrecord_t *record) { return false; } switch (keycode) { - case RGB_TOG: + case LED_TOGGLE_KEYCODE: if (record->event.pressed) { switch (LED_GET_FLAGS()) { case LED_FLAG_ALL: { diff --git a/keyboards/keychron/q0/base/keymaps/default/keymap.c b/keyboards/keychron/q0/base/keymaps/default/keymap.c index 387ff2d6869..6afe80bb883 100644 --- a/keyboards/keychron/q0/base/keymaps/default/keymap.c +++ b/keyboards/keychron/q0/base/keymaps/default/keymap.c @@ -29,9 +29,9 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { [_FN1] = LAYOUT_numpad_6x4( _______, KC_MUTE, KC_VOLD, KC_VOLU, - RGB_MOD, RGB_VAI, RGB_HUI, KC_DEL, - RGB_RMOD, RGB_VAD, RGB_HUD, - RGB_SAI, RGB_SPI, KC_MPRV, _______, - RGB_SAD, RGB_SPD, KC_MPLY, - RGB_TOG, KC_MNXT, _______) + RM_NEXT, RM_VALU, RM_HUEU, KC_DEL, + RM_PREV, RM_VALD, RM_HUED, + RM_SATU, RM_SPDU, KC_MPRV, _______, + RM_SATD, RM_SPDD, KC_MPLY, + RM_TOGG, KC_MNXT, _______) }; diff --git a/keyboards/keychron/q0/plus/keymaps/default/keymap.c b/keyboards/keychron/q0/plus/keymaps/default/keymap.c index 4e281d4d7db..4082ebad6f3 100644 --- a/keyboards/keychron/q0/plus/keymaps/default/keymap.c +++ b/keyboards/keychron/q0/plus/keymaps/default/keymap.c @@ -33,17 +33,17 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { _______, KC_P0, KC_PDOT), [FUNC] = LAYOUT_numpad_6x5( - RGB_TOG, _______, KC_MUTE, KC_VOLD, KC_VOLU, - _______, RGB_MOD, RGB_VAI, RGB_HUI, KC_DEL, - _______, RGB_RMOD, RGB_VAD, RGB_HUD, _______, - _______, RGB_SAI, RGB_SPI, KC_MPRV, - _______, RGB_SAD, RGB_SPD, KC_MPLY, _______, - _______, RGB_TOG, KC_MNXT), + RM_TOGG, _______, KC_MUTE, KC_VOLD, KC_VOLU, + _______, RM_NEXT, RM_VALU, RM_HUEU, KC_DEL, + _______, RM_PREV, RM_VALD, RM_HUED, _______, + _______, RM_SATU, RM_SPDU, KC_MPRV, + _______, RM_SATD, RM_SPDD, KC_MPLY, _______, + _______, RM_TOGG, KC_MNXT), }; #if defined(ENCODER_MAP_ENABLE) const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][NUM_DIRECTIONS] = { [BASE] = { ENCODER_CCW_CW(KC_VOLD, KC_VOLU) }, - [FUNC] = { ENCODER_CCW_CW(RGB_VAD, RGB_VAI) }, + [FUNC] = { ENCODER_CCW_CW(RM_VALD, RM_VALU) }, }; #endif // ENCODER_MAP_ENABLE diff --git a/keyboards/keychron/q0/q0.c b/keyboards/keychron/q0/q0.c index cfe26a583a1..7b5f7a59076 100644 --- a/keyboards/keychron/q0/q0.c +++ b/keyboards/keychron/q0/q0.c @@ -24,7 +24,7 @@ bool process_record_kb(uint16_t keycode, keyrecord_t *record) { } switch (keycode) { # ifdef RGB_MATRIX_ENABLE - case RGB_TOG: + case QK_RGB_MATRIX_TOGGLE: if (record->event.pressed) { switch (rgb_matrix_get_flags()) { case LED_FLAG_ALL: { diff --git a/keyboards/keychron/q10/ansi_encoder/keymaps/default/keymap.c b/keyboards/keychron/q10/ansi_encoder/keymaps/default/keymap.c index 915ad3aa2a7..2cabbaf8df4 100644 --- a/keyboards/keychron/q10/ansi_encoder/keymaps/default/keymap.c +++ b/keyboards/keychron/q10/ansi_encoder/keymaps/default/keymap.c @@ -30,7 +30,7 @@ enum layers{ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { [MAC_BASE] = LAYOUT_ansi_89( - KC_MUTE, KC_ESC, KC_BRID, KC_BRIU, KC_NO, KC_NO, RGB_VAD, RGB_VAI, KC_MPRV, KC_MPLY, KC_MNXT, KC_MUTE, KC_VOLD, KC_VOLU, KC_INS, KC_DEL, + KC_MUTE, KC_ESC, KC_BRID, KC_BRIU, KC_NO, KC_NO, RM_VALD, RM_VALU, KC_MPRV, KC_MPLY, KC_MNXT, KC_MUTE, KC_VOLD, KC_VOLU, KC_INS, KC_DEL, _______, 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_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_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_HOME, @@ -38,10 +38,10 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { _______, KC_LCTL, KC_LOPT, KC_LCMD, KC_SPC, MO(MAC_FN), KC_SPC, KC_RCMD, KC_LEFT, KC_DOWN, KC_RGHT), [MAC_FN] = LAYOUT_ansi_89( - RGB_TOG, _______, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, _______, _______, + RM_TOGG, _______, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, RGB_TOG, RGB_MOD, RGB_VAI, RGB_HUI, RGB_SAI, RGB_SPI, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, RGB_RMOD, RGB_VAD, RGB_HUD, RGB_SAD, RGB_SPD, _______, _______, _______, _______, _______, _______, _______, _______, + _______, RM_TOGG, RM_NEXT, RM_VALU, RM_HUEU, RM_SATU, RM_SPDU, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, RM_PREV, RM_VALD, RM_HUED, RM_SATD, RM_SPDD, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, NK_TOGG, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______), @@ -54,10 +54,10 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { _______, KC_LCTL, KC_LWIN, KC_LALT, KC_SPC, MO(WIN_FN), KC_SPC, KC_RALT, KC_LEFT, KC_DOWN, KC_RGHT), [WIN_FN] = LAYOUT_ansi_89( - RGB_TOG, _______, KC_BRID, KC_BRIU, KC_TASK, KC_FLXP, RGB_VAD, RGB_VAI, KC_MPRV, KC_MPLY, KC_MNXT, KC_MUTE, KC_VOLD, KC_VOLU, _______, _______, + RM_TOGG, _______, KC_BRID, KC_BRIU, KC_TASK, KC_FLXP, RM_VALD, RM_VALU, KC_MPRV, KC_MPLY, KC_MNXT, KC_MUTE, KC_VOLD, KC_VOLU, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, RGB_TOG, RGB_MOD, RGB_VAI, RGB_HUI, RGB_SAI, RGB_SPI, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, RGB_RMOD, RGB_VAD, RGB_HUD, RGB_SAD, RGB_SPD, _______, _______, _______, _______, _______, _______, _______, _______, + _______, RM_TOGG, RM_NEXT, RM_VALU, RM_HUEU, RM_SATU, RM_SPDU, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, RM_PREV, RM_VALD, RM_HUED, RM_SATD, RM_SPDD, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, NK_TOGG, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______), }; @@ -65,8 +65,8 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { #if defined(ENCODER_ENABLE) && defined(ENCODER_MAP_ENABLE) const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][NUM_DIRECTIONS] = { [MAC_BASE] = { ENCODER_CCW_CW(KC_VOLD, KC_VOLU) }, - [MAC_FN] = { ENCODER_CCW_CW(RGB_VAD, RGB_VAI) }, + [MAC_FN] = { ENCODER_CCW_CW(RM_VALD, RM_VALU) }, [WIN_BASE] = { ENCODER_CCW_CW(KC_VOLD, KC_VOLU) }, - [WIN_FN] = { ENCODER_CCW_CW(RGB_VAD, RGB_VAI) } + [WIN_FN] = { ENCODER_CCW_CW(RM_VALD, RM_VALU) } }; #endif // ENCODER_MAP_ENABLE diff --git a/keyboards/keychron/q10/iso_encoder/keymaps/default/keymap.c b/keyboards/keychron/q10/iso_encoder/keymaps/default/keymap.c index 77a26f1e991..907f16e9765 100644 --- a/keyboards/keychron/q10/iso_encoder/keymaps/default/keymap.c +++ b/keyboards/keychron/q10/iso_encoder/keymaps/default/keymap.c @@ -30,7 +30,7 @@ enum layers{ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { [MAC_BASE] = LAYOUT_iso_90( - KC_MUTE, KC_ESC, KC_BRID, KC_BRIU, KC_NO, KC_NO, RGB_VAD, RGB_VAI, KC_MPRV, KC_MPLY, KC_MNXT, KC_MUTE, KC_VOLD, KC_VOLU, KC_INS, KC_DEL, + KC_MUTE, KC_ESC, KC_BRID, KC_BRIU, KC_NO, KC_NO, RM_VALD, RM_VALU, KC_MPRV, KC_MPLY, KC_MNXT, KC_MUTE, KC_VOLD, KC_VOLU, KC_INS, KC_DEL, _______, 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_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_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_NUHS, KC_ENT, KC_HOME, @@ -38,10 +38,10 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { _______, KC_LCTL, KC_LOPT, KC_LCMD, KC_SPC, MO(MAC_FN), KC_SPC, KC_RCMD, KC_LEFT, KC_DOWN, KC_RGHT), [MAC_FN] = LAYOUT_iso_90( - RGB_TOG, _______, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, _______, _______, + RM_TOGG, _______, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, RGB_TOG, RGB_MOD, RGB_VAI, RGB_HUI, RGB_SAI, RGB_SPI, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, RGB_RMOD, RGB_VAD, RGB_HUD, RGB_SAD, RGB_SPD, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, RM_TOGG, RM_NEXT, RM_VALU, RM_HUEU, RM_SATU, RM_SPDU, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, RM_PREV, RM_VALD, RM_HUED, RM_SATD, RM_SPDD, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, NK_TOGG, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______), @@ -54,10 +54,10 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { _______, KC_LCTL, KC_LWIN, KC_LALT, KC_SPC, MO(WIN_FN), KC_SPC, KC_RALT, KC_LEFT, KC_DOWN, KC_RGHT), [WIN_FN] = LAYOUT_iso_90( - RGB_TOG, _______, KC_BRID, KC_BRIU, KC_TASK, KC_FLXP, RGB_VAD, RGB_VAI, KC_MPRV, KC_MPLY, KC_MNXT, KC_MUTE, KC_VOLD, KC_VOLU, _______, _______, + RM_TOGG, _______, KC_BRID, KC_BRIU, KC_TASK, KC_FLXP, RM_VALD, RM_VALU, KC_MPRV, KC_MPLY, KC_MNXT, KC_MUTE, KC_VOLD, KC_VOLU, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, RGB_TOG, RGB_MOD, RGB_VAI, RGB_HUI, RGB_SAI, RGB_SPI, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, RGB_RMOD, RGB_VAD, RGB_HUD, RGB_SAD, RGB_SPD, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, RM_TOGG, RM_NEXT, RM_VALU, RM_HUEU, RM_SATU, RM_SPDU, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, RM_PREV, RM_VALD, RM_HUED, RM_SATD, RM_SPDD, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, NK_TOGG, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______), }; @@ -65,8 +65,8 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { #if defined(ENCODER_ENABLE) && defined(ENCODER_MAP_ENABLE) const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][NUM_DIRECTIONS] = { [MAC_BASE] = { ENCODER_CCW_CW(KC_VOLD, KC_VOLU) }, - [MAC_FN] = { ENCODER_CCW_CW(RGB_VAD, RGB_VAI) }, + [MAC_FN] = { ENCODER_CCW_CW(RM_VALD, RM_VALU) }, [WIN_BASE] = { ENCODER_CCW_CW(KC_VOLD, KC_VOLU) }, - [WIN_FN] = { ENCODER_CCW_CW(RGB_VAD, RGB_VAI) } + [WIN_FN] = { ENCODER_CCW_CW(RM_VALD, RM_VALU) } }; #endif // ENCODER_MAP_ENABLE diff --git a/keyboards/keychron/q10/q10.c b/keyboards/keychron/q10/q10.c index 754b1481750..79abdacd4fa 100644 --- a/keyboards/keychron/q10/q10.c +++ b/keyboards/keychron/q10/q10.c @@ -38,7 +38,7 @@ bool process_record_kb(uint16_t keycode, keyrecord_t *record) { } switch (keycode) { # ifdef RGB_MATRIX_ENABLE - case RGB_TOG: + case QK_RGB_MATRIX_TOGGLE: if (record->event.pressed) { switch (rgb_matrix_get_flags()) { case LED_FLAG_ALL: { diff --git a/keyboards/keychron/q11/ansi_encoder/keymaps/default/keymap.c b/keyboards/keychron/q11/ansi_encoder/keymaps/default/keymap.c index 7334ad85203..7bc0cabc311 100755 --- a/keyboards/keychron/q11/ansi_encoder/keymaps/default/keymap.c +++ b/keyboards/keychron/q11/ansi_encoder/keymaps/default/keymap.c @@ -27,7 +27,7 @@ enum layers{ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { [MAC_BASE] = LAYOUT_91_ansi( - KC_MUTE, KC_ESC, KC_BRID, KC_BRIU, KC_MCTL, KC_LPAD, RGB_VAD, RGB_VAI, KC_MPRV, KC_MPLY, KC_MNXT, KC_MUTE, KC_VOLD, KC_VOLU, KC_INS, KC_DEL, KC_MUTE, + KC_MUTE, KC_ESC, KC_BRID, KC_BRIU, KC_MCTL, KC_LPAD, RM_VALD, RM_VALU, KC_MPRV, KC_MPLY, KC_MNXT, KC_MUTE, KC_VOLD, KC_VOLU, KC_INS, KC_DEL, KC_MUTE, _______, 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_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_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_HOME, @@ -35,10 +35,10 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { _______, KC_LCTL, KC_LOPT, KC_LCMD, MO(MAC_FN), KC_SPC, KC_SPC, KC_RCMD, MO(MAC_FN), KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT), [MAC_FN] = LAYOUT_91_ansi( - RGB_TOG, _______, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, _______, _______, RGB_TOG, + RM_TOGG, _______, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, _______, _______, RM_TOGG, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, RGB_TOG, RGB_MOD, RGB_VAI, RGB_HUI, RGB_SAI, RGB_SPI, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, RGB_RMOD, RGB_VAD, RGB_HUD, RGB_SAD, RGB_SPD, _______, _______, _______, _______, _______, _______, _______, _______, + _______, RM_TOGG, RM_NEXT, RM_VALU, RM_HUEU, RM_SATU, RM_SPDU, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, RM_PREV, RM_VALD, RM_HUED, RM_SATD, RM_SPDD, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, NK_TOGG, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______), @@ -51,10 +51,10 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { _______, KC_LCTL, KC_LWIN, KC_LALT, MO(WIN_FN), KC_SPC, KC_SPC, KC_RALT, MO(WIN_FN), KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT), [WIN_FN] = LAYOUT_91_ansi( - RGB_TOG, _______, KC_BRID, KC_BRIU, KC_TASK, KC_FLXP, RGB_VAD, RGB_VAI, KC_MPRV, KC_MPLY, KC_MNXT, KC_MUTE, KC_VOLD, KC_VOLU, _______, _______, RGB_TOG, + RM_TOGG, _______, KC_BRID, KC_BRIU, KC_TASK, KC_FLXP, RM_VALD, RM_VALU, KC_MPRV, KC_MPLY, KC_MNXT, KC_MUTE, KC_VOLD, KC_VOLU, _______, _______, RM_TOGG, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, RGB_TOG, RGB_MOD, RGB_VAI, RGB_HUI, RGB_SAI, RGB_SPI, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, RGB_RMOD, RGB_VAD, RGB_HUD, RGB_SAD, RGB_SPD, _______, _______, _______, _______, _______, _______, _______, _______, + _______, RM_TOGG, RM_NEXT, RM_VALU, RM_HUEU, RM_SATU, RM_SPDU, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, RM_PREV, RM_VALD, RM_HUED, RM_SATD, RM_SPDD, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, NK_TOGG, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______), }; @@ -62,8 +62,8 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { #if defined(ENCODER_MAP_ENABLE) const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][NUM_DIRECTIONS] = { [MAC_BASE] = { ENCODER_CCW_CW(KC_VOLD, KC_VOLU), ENCODER_CCW_CW(KC_VOLD, KC_VOLU) }, - [MAC_FN] = { ENCODER_CCW_CW(RGB_VAD, RGB_VAI), ENCODER_CCW_CW(RGB_VAD, RGB_VAI) }, + [MAC_FN] = { ENCODER_CCW_CW(RM_VALD, RM_VALU), ENCODER_CCW_CW(RM_VALD, RM_VALU) }, [WIN_BASE] = { ENCODER_CCW_CW(KC_VOLD, KC_VOLU), ENCODER_CCW_CW(KC_VOLD, KC_VOLU) }, - [WIN_FN] = { ENCODER_CCW_CW(RGB_VAD, RGB_VAI), ENCODER_CCW_CW(RGB_VAD, RGB_VAI) } + [WIN_FN] = { ENCODER_CCW_CW(RM_VALD, RM_VALU), ENCODER_CCW_CW(RM_VALD, RM_VALU) } }; #endif // ENCODER_MAP_ENABLE diff --git a/keyboards/keychron/q11/iso_encoder/keymaps/default/keymap.c b/keyboards/keychron/q11/iso_encoder/keymaps/default/keymap.c index 2c494c08d52..5234e0d3e38 100755 --- a/keyboards/keychron/q11/iso_encoder/keymaps/default/keymap.c +++ b/keyboards/keychron/q11/iso_encoder/keymaps/default/keymap.c @@ -27,7 +27,7 @@ enum layers{ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { [MAC_BASE] = LAYOUT_92_iso( - KC_MUTE, KC_ESC, KC_BRID, KC_BRIU, KC_MCTL, KC_LPAD, RGB_VAD, RGB_VAI, KC_MPRV, KC_MPLY, KC_MNXT, KC_MUTE, KC_VOLD, KC_VOLU, KC_INS, KC_DEL, KC_MUTE, + KC_MUTE, KC_ESC, KC_BRID, KC_BRIU, KC_MCTL, KC_LPAD, RM_VALD, RM_VALU, KC_MPRV, KC_MPLY, KC_MNXT, KC_MUTE, KC_VOLD, KC_VOLU, KC_INS, KC_DEL, KC_MUTE, _______, 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_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_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_NUHS, KC_ENT, KC_HOME, @@ -35,10 +35,10 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { _______, KC_LCTL, KC_LOPT, KC_LCMD, MO(MAC_FN), KC_SPC, KC_SPC, KC_RCMD, MO(MAC_FN), KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT), [MAC_FN] = LAYOUT_92_iso( - RGB_TOG, _______, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, _______, _______, RGB_TOG, + RM_TOGG, _______, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, _______, _______, RM_TOGG, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, RGB_TOG, RGB_MOD, RGB_VAI, RGB_HUI, RGB_SAI, RGB_SPI, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, RGB_RMOD, RGB_VAD, RGB_HUD, RGB_SAD, RGB_SPD, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, RM_TOGG, RM_NEXT, RM_VALU, RM_HUEU, RM_SATU, RM_SPDU, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, RM_PREV, RM_VALD, RM_HUED, RM_SATD, RM_SPDD, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, NK_TOGG, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______), @@ -51,10 +51,10 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { _______, KC_LCTL, KC_LWIN, KC_LALT, MO(WIN_FN), KC_SPC, KC_SPC, KC_RALT, MO(WIN_FN), KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT), [WIN_FN] = LAYOUT_92_iso( - RGB_TOG, _______, KC_BRID, KC_BRIU, KC_TASK, KC_FLXP, RGB_VAD, RGB_VAI, KC_MPRV, KC_MPLY, KC_MNXT, KC_MUTE, KC_VOLD, KC_VOLU, _______, _______, RGB_TOG, + RM_TOGG, _______, KC_BRID, KC_BRIU, KC_TASK, KC_FLXP, RM_VALD, RM_VALU, KC_MPRV, KC_MPLY, KC_MNXT, KC_MUTE, KC_VOLD, KC_VOLU, _______, _______, RM_TOGG, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, RGB_TOG, RGB_MOD, RGB_VAI, RGB_HUI, RGB_SAI, RGB_SPI, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, RGB_RMOD, RGB_VAD, RGB_HUD, RGB_SAD, RGB_SPD, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, RM_TOGG, RM_NEXT, RM_VALU, RM_HUEU, RM_SATU, RM_SPDU, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, RM_PREV, RM_VALD, RM_HUED, RM_SATD, RM_SPDD, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, NK_TOGG, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______), }; @@ -62,8 +62,8 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { #if defined(ENCODER_MAP_ENABLE) const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][NUM_DIRECTIONS] = { [MAC_BASE] = { ENCODER_CCW_CW(KC_VOLD, KC_VOLU), ENCODER_CCW_CW(KC_VOLD, KC_VOLU) }, - [MAC_FN] = { ENCODER_CCW_CW(RGB_VAD, RGB_VAI), ENCODER_CCW_CW(RGB_VAD, RGB_VAI) }, + [MAC_FN] = { ENCODER_CCW_CW(RM_VALD, RM_VALU), ENCODER_CCW_CW(RM_VALD, RM_VALU) }, [WIN_BASE] = { ENCODER_CCW_CW(KC_VOLD, KC_VOLU), ENCODER_CCW_CW(KC_VOLD, KC_VOLU) }, - [WIN_FN] = { ENCODER_CCW_CW(RGB_VAD, RGB_VAI), ENCODER_CCW_CW(RGB_VAD, RGB_VAI) } + [WIN_FN] = { ENCODER_CCW_CW(RM_VALD, RM_VALU), ENCODER_CCW_CW(RM_VALD, RM_VALU) } }; #endif // ENCODER_MAP_ENABLE diff --git a/keyboards/keychron/q11/q11.c b/keyboards/keychron/q11/q11.c index 8d018e2a631..8dd9120ca1e 100755 --- a/keyboards/keychron/q11/q11.c +++ b/keyboards/keychron/q11/q11.c @@ -34,7 +34,7 @@ bool process_record_kb(uint16_t keycode, keyrecord_t *record) { return false; } switch (keycode) { - case RGB_TOG: + case QK_RGB_MATRIX_TOGGLE: if (record->event.pressed) { switch (rgb_matrix_get_flags()) { case LED_FLAG_ALL: { diff --git a/keyboards/keychron/q12/ansi_encoder/keymaps/default/keymap.c b/keyboards/keychron/q12/ansi_encoder/keymaps/default/keymap.c index a2234c1d4fe..c09b341420f 100644 --- a/keyboards/keychron/q12/ansi_encoder/keymaps/default/keymap.c +++ b/keyboards/keychron/q12/ansi_encoder/keymaps/default/keymap.c @@ -30,31 +30,31 @@ enum layers{ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { [MAC_BASE] = LAYOUT_ansi_103( - KC_MUTE, KC_F13, KC_F14, KC_F15, KC_ESC, KC_BRID, KC_BRIU, KC_NO, KC_NO, RGB_VAD, RGB_VAI, KC_MPRV, KC_MPLY, KC_MNXT, KC_MUTE, KC_VOLD, KC_VOLU, KC_DEL, RGB_MOD, + KC_MUTE, KC_F13, KC_F14, KC_F15, KC_ESC, KC_BRID, KC_BRIU, KC_NO, KC_NO, RM_VALD, RM_VALU, KC_MPRV, KC_MPLY, KC_MNXT, KC_MUTE, KC_VOLD, KC_VOLU, KC_DEL, RM_NEXT, KC_NUM, KC_PSLS, KC_PAST, KC_PMNS, 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_PGUP, KC_P7, KC_P8, KC_P9, KC_PPLS, 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_PGDN, KC_P4, KC_P5, KC_P6, 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_HOME, KC_P1, KC_P2, KC_P3, KC_PENT, 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_P0, KC_PDOT, KC_LCTL, KC_LOPT, KC_LCMD, KC_SPC, KC_RCMD, MO(MAC_FN), KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT), [MAC_FN] = LAYOUT_ansi_103( - RGB_TOG, _______, _______, _______, _______, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, _______, RGB_TOG, + RM_TOGG, _______, _______, _______, _______, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, _______, RM_TOGG, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, RGB_TOG, RGB_MOD, RGB_VAI, RGB_HUI, RGB_SAI, RGB_SPI, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, RGB_RMOD, RGB_VAD, RGB_HUD, RGB_SAD, RGB_SPD, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, RM_TOGG, RM_NEXT, RM_VALU, RM_HUEU, RM_SATU, RM_SPDU, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, RM_PREV, RM_VALD, RM_HUED, RM_SATD, RM_SPDD, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, NK_TOGG, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______), [WIN_BASE] = LAYOUT_ansi_103( - KC_MUTE, _______, _______, _______, 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_DEL, RGB_MOD, + KC_MUTE, _______, _______, _______, 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_DEL, RM_NEXT, KC_NUM, KC_PSLS, KC_PAST, KC_PMNS, 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_PGUP, KC_P7, KC_P8, KC_P9, KC_PPLS, 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_PGDN, KC_P4, KC_P5, KC_P6, 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_HOME, KC_P1, KC_P2, KC_P3, KC_PENT, 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_P0, KC_PDOT, KC_LCTL, KC_LWIN, KC_LALT, KC_SPC, KC_RALT, MO(WIN_FN), KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT), [WIN_FN] = LAYOUT_ansi_103( - RGB_TOG, _______, _______, _______, _______, KC_BRID, KC_BRIU, KC_TASK, KC_FLXP, RGB_VAD, RGB_VAI, KC_MPRV, KC_MPLY, KC_MNXT, KC_MUTE, KC_VOLD, KC_VOLU, _______, RGB_TOG, + RM_TOGG, _______, _______, _______, _______, KC_BRID, KC_BRIU, KC_TASK, KC_FLXP, RM_VALD, RM_VALU, KC_MPRV, KC_MPLY, KC_MNXT, KC_MUTE, KC_VOLD, KC_VOLU, _______, RM_TOGG, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, RGB_TOG, RGB_MOD, RGB_VAI, RGB_HUI, RGB_SAI, RGB_SPI, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, RGB_RMOD, RGB_VAD, RGB_HUD, RGB_SAD, RGB_SPD, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, RM_TOGG, RM_NEXT, RM_VALU, RM_HUEU, RM_SATU, RM_SPDU, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, RM_PREV, RM_VALD, RM_HUED, RM_SATD, RM_SPDD, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, NK_TOGG, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______), }; @@ -62,8 +62,8 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { #if defined(ENCODER_MAP_ENABLE) const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][NUM_DIRECTIONS] = { [MAC_BASE] = {ENCODER_CCW_CW(KC_VOLD, KC_VOLU) }, - [MAC_FN] = {ENCODER_CCW_CW(RGB_VAD, RGB_VAI) }, + [MAC_FN] = {ENCODER_CCW_CW(RM_VALD, RM_VALU) }, [WIN_BASE] = {ENCODER_CCW_CW(KC_VOLD, KC_VOLU) }, - [WIN_FN] = {ENCODER_CCW_CW(RGB_VAD, RGB_VAI) } + [WIN_FN] = {ENCODER_CCW_CW(RM_VALD, RM_VALU) } }; #endif diff --git a/keyboards/keychron/q12/iso_encoder/keymaps/default/keymap.c b/keyboards/keychron/q12/iso_encoder/keymaps/default/keymap.c index 7cad0672f2f..632de24c2e3 100644 --- a/keyboards/keychron/q12/iso_encoder/keymaps/default/keymap.c +++ b/keyboards/keychron/q12/iso_encoder/keymaps/default/keymap.c @@ -30,31 +30,31 @@ enum layers{ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { [MAC_BASE] = LAYOUT_iso_104( - KC_MUTE, KC_F13, KC_F14, KC_F15, KC_ESC, KC_BRID, KC_BRIU, KC_NO, KC_NO, RGB_VAD, RGB_VAI, KC_MPRV, KC_MPLY, KC_MNXT, KC_MUTE, KC_VOLD, KC_VOLU, KC_DEL, RGB_MOD, + KC_MUTE, KC_F13, KC_F14, KC_F15, KC_ESC, KC_BRID, KC_BRIU, KC_NO, KC_NO, RM_VALD, RM_VALU, KC_MPRV, KC_MPLY, KC_MNXT, KC_MUTE, KC_VOLD, KC_VOLU, KC_DEL, RM_NEXT, KC_NUM, KC_PSLS, KC_PAST, KC_PMNS, 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_PGUP, KC_P7, KC_P8, KC_P9, KC_PPLS, 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_PGDN, KC_P4, KC_P5, KC_P6, 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_NUHS, KC_ENT, KC_HOME, KC_P1, KC_P2, KC_P3, KC_PENT, 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_UP, KC_P0, KC_PDOT, KC_LCTL, KC_LOPT, KC_LCMD, KC_SPC, KC_RCMD, MO(MAC_FN), KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT), [MAC_FN] = LAYOUT_iso_104( - RGB_TOG, _______, _______, _______, _______, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, _______, RGB_TOG, + RM_TOGG, _______, _______, _______, _______, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, _______, RM_TOGG, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, RGB_TOG, RGB_MOD, RGB_VAI, RGB_HUI, RGB_SAI, RGB_SPI, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, RGB_RMOD, RGB_VAD, RGB_HUD, RGB_SAD, RGB_SPD, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, RM_TOGG, RM_NEXT, RM_VALU, RM_HUEU, RM_SATU, RM_SPDU, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, RM_PREV, RM_VALD, RM_HUED, RM_SATD, RM_SPDD, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, NK_TOGG, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______), [WIN_BASE] = LAYOUT_iso_104( - KC_MUTE, _______, _______, _______, 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_DEL, RGB_MOD, + KC_MUTE, _______, _______, _______, 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_DEL, RM_NEXT, KC_NUM, KC_PSLS, KC_PAST, KC_PMNS, 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_PGUP, KC_P7, KC_P8, KC_P9, KC_PPLS, 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_PGDN, KC_P4, KC_P5, KC_P6, 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_NUHS, KC_ENT, KC_HOME, KC_P1, KC_P2, KC_P3, KC_PENT, 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_UP, KC_P0, KC_PDOT, KC_LCTL, KC_LWIN, KC_LALT, KC_SPC, KC_RALT, MO(WIN_FN), KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT), [WIN_FN] = LAYOUT_iso_104( - RGB_TOG, _______, _______, _______, _______, KC_BRID, KC_BRIU, KC_TASK, KC_FLXP, RGB_VAD, RGB_VAI, KC_MPRV, KC_MPLY, KC_MNXT, KC_MUTE, KC_VOLD, KC_VOLU, _______, RGB_TOG, + RM_TOGG, _______, _______, _______, _______, KC_BRID, KC_BRIU, KC_TASK, KC_FLXP, RM_VALD, RM_VALU, KC_MPRV, KC_MPLY, KC_MNXT, KC_MUTE, KC_VOLD, KC_VOLU, _______, RM_TOGG, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, RGB_TOG, RGB_MOD, RGB_VAI, RGB_HUI, RGB_SAI, RGB_SPI, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, RGB_RMOD, RGB_VAD, RGB_HUD, RGB_SAD, RGB_SPD, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, RM_TOGG, RM_NEXT, RM_VALU, RM_HUEU, RM_SATU, RM_SPDU, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, RM_PREV, RM_VALD, RM_HUED, RM_SATD, RM_SPDD, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, NK_TOGG, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______), }; @@ -62,8 +62,8 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { #if defined(ENCODER_MAP_ENABLE) const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][NUM_DIRECTIONS] = { [MAC_BASE] = {ENCODER_CCW_CW(KC_VOLD, KC_VOLU) }, - [MAC_FN] = {ENCODER_CCW_CW(RGB_VAD, RGB_VAI) }, + [MAC_FN] = {ENCODER_CCW_CW(RM_VALD, RM_VALU) }, [WIN_BASE] = {ENCODER_CCW_CW(KC_VOLD, KC_VOLU) }, - [WIN_FN] = {ENCODER_CCW_CW(RGB_VAD, RGB_VAI) } + [WIN_FN] = {ENCODER_CCW_CW(RM_VALD, RM_VALU) } }; #endif diff --git a/keyboards/keychron/q12/q12.c b/keyboards/keychron/q12/q12.c index 9a019af6ace..bc0645ab474 100644 --- a/keyboards/keychron/q12/q12.c +++ b/keyboards/keychron/q12/q12.c @@ -34,7 +34,7 @@ bool process_record_kb(uint16_t keycode, keyrecord_t *record) { return false; } switch (keycode) { - case RGB_TOG: + case QK_RGB_MATRIX_TOGGLE: if (record->event.pressed) { switch (rgb_matrix_get_flags()) { case LED_FLAG_ALL: { diff --git a/keyboards/keychron/q1v1/ansi/keymaps/default/keymap.c b/keyboards/keychron/q1v1/ansi/keymaps/default/keymap.c index 092d446773d..b2eafb4bc3b 100644 --- a/keyboards/keychron/q1v1/ansi/keymaps/default/keymap.c +++ b/keyboards/keychron/q1v1/ansi/keymaps/default/keymap.c @@ -28,7 +28,7 @@ enum layers{ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { [MAC_BASE] = LAYOUT_ansi_82( - KC_ESC, KC_BRID, KC_BRIU, KC_NO, KC_NO, RGB_VAD, RGB_VAI, KC_MPRV, KC_MPLY, KC_MNXT, KC_MUTE, KC_VOLD, KC_VOLU, KC_DEL, KC_INS, + KC_ESC, KC_BRID, KC_BRIU, KC_NO, KC_NO, RM_VALD, RM_VALU, KC_MPRV, KC_MPLY, KC_MNXT, KC_MUTE, KC_VOLD, KC_VOLU, KC_DEL, KC_INS, 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_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_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_HOME, @@ -38,8 +38,8 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { [MAC_FN] = LAYOUT_ansi_82( _______, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - RGB_TOG, RGB_MOD, RGB_VAI, RGB_HUI, RGB_SAI, RGB_SPI, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, RGB_RMOD, RGB_VAD, RGB_HUD, RGB_SAD, RGB_SPD, _______, _______, _______, _______, _______, _______, _______, _______, + RM_TOGG, RM_NEXT, RM_VALU, RM_HUEU, RM_SATU, RM_SPDU, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, RM_PREV, RM_VALD, RM_HUED, RM_SATD, RM_SPDD, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______), @@ -52,10 +52,10 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_LCTL, KC_LWIN, KC_LALT, KC_SPC, KC_RALT, MO(WIN_FN),KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT), [WIN_FN] = LAYOUT_ansi_82( - _______, KC_BRID, KC_BRIU, KC_TASK, KC_FLXP, RGB_VAD, RGB_VAI, KC_MPRV, KC_MPLY, KC_MNXT, KC_MUTE, KC_VOLD, KC_VOLU, _______, _______, + _______, KC_BRID, KC_BRIU, KC_TASK, KC_FLXP, RM_VALD, RM_VALU, KC_MPRV, KC_MPLY, KC_MNXT, KC_MUTE, KC_VOLD, KC_VOLU, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - RGB_TOG, RGB_MOD, RGB_VAI, RGB_HUI, RGB_SAI, RGB_SPI, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, RGB_RMOD, RGB_VAD, RGB_HUD, RGB_SAD, RGB_SPD, _______, _______, _______, _______, _______, _______, _______, _______, + RM_TOGG, RM_NEXT, RM_VALU, RM_HUEU, RM_SATU, RM_SPDU, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, RM_PREV, RM_VALD, RM_HUED, RM_SATD, RM_SPDD, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______) }; diff --git a/keyboards/keychron/q1v1/ansi_encoder/keymaps/default/keymap.c b/keyboards/keychron/q1v1/ansi_encoder/keymaps/default/keymap.c index a4febc93c75..1a6631959e9 100644 --- a/keyboards/keychron/q1v1/ansi_encoder/keymaps/default/keymap.c +++ b/keyboards/keychron/q1v1/ansi_encoder/keymaps/default/keymap.c @@ -25,7 +25,7 @@ enum layers{ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { [MAC_BASE] = LAYOUT_ansi_82( - KC_ESC, KC_BRID, KC_BRIU, KC_NO, KC_NO, RGB_VAD, RGB_VAI, KC_MPRV, KC_MPLY, KC_MNXT, KC_MUTE, KC_VOLD, KC_VOLU, KC_DEL, KC_MUTE, + KC_ESC, KC_BRID, KC_BRIU, KC_NO, KC_NO, RM_VALD, RM_VALU, KC_MPRV, KC_MPLY, KC_MNXT, KC_MUTE, KC_VOLD, KC_VOLU, KC_DEL, KC_MUTE, 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_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_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_HOME, @@ -33,10 +33,10 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_LCTL, KC_LOPT, KC_LCMD, KC_SPC, KC_ROPT, MO(MAC_FN),KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT), [MAC_FN] = LAYOUT_ansi_82( - _______, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, _______, RGB_TOG, + _______, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, _______, RM_TOGG, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - RGB_TOG, RGB_MOD, RGB_VAI, RGB_HUI, RGB_SAI, RGB_SPI, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, RGB_RMOD, RGB_VAD, RGB_HUD, RGB_SAD, RGB_SPD, _______, _______, _______, _______, _______, _______, _______, _______, + RM_TOGG, RM_NEXT, RM_VALU, RM_HUEU, RM_SATU, RM_SPDU, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, RM_PREV, RM_VALD, RM_HUED, RM_SATD, RM_SPDD, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, NK_TOGG, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______), @@ -49,10 +49,10 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_LCTL, KC_LWIN, KC_LALT, KC_SPC, KC_RALT, MO(WIN_FN),KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT), [WIN_FN] = LAYOUT_ansi_82( - _______, KC_BRID, KC_BRIU, _______, _______, RGB_VAD, RGB_VAI, KC_MPRV, KC_MPLY, KC_MNXT, KC_MUTE, KC_VOLD, KC_VOLU, _______, RGB_TOG, + _______, KC_BRID, KC_BRIU, _______, _______, RM_VALD, RM_VALU, KC_MPRV, KC_MPLY, KC_MNXT, KC_MUTE, KC_VOLD, KC_VOLU, _______, RM_TOGG, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - RGB_TOG, RGB_MOD, RGB_VAI, RGB_HUI, RGB_SAI, RGB_SPI, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, RGB_RMOD, RGB_VAD, RGB_HUD, RGB_SAD, RGB_SPD, _______, _______, _______, _______, _______, _______, _______, _______, + RM_TOGG, RM_NEXT, RM_VALU, RM_HUEU, RM_SATU, RM_SPDU, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, RM_PREV, RM_VALD, RM_HUED, RM_SATD, RM_SPDD, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, NK_TOGG, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______) }; @@ -60,8 +60,8 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { #if defined(ENCODER_MAP_ENABLE) const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][NUM_DIRECTIONS] = { [MAC_BASE] = { ENCODER_CCW_CW(KC_VOLD, KC_VOLU) }, - [MAC_FN] = { ENCODER_CCW_CW(RGB_VAD, RGB_VAI) }, + [MAC_FN] = { ENCODER_CCW_CW(RM_VALD, RM_VALU) }, [WIN_BASE] = { ENCODER_CCW_CW(KC_VOLD, KC_VOLU) }, - [WIN_FN] = { ENCODER_CCW_CW(RGB_VAD, RGB_VAI) }, + [WIN_FN] = { ENCODER_CCW_CW(RM_VALD, RM_VALU) }, }; #endif diff --git a/keyboards/keychron/q1v1/iso/keymaps/default/keymap.c b/keyboards/keychron/q1v1/iso/keymaps/default/keymap.c index 080e2839c83..f1ad2c303ce 100644 --- a/keyboards/keychron/q1v1/iso/keymaps/default/keymap.c +++ b/keyboards/keychron/q1v1/iso/keymaps/default/keymap.c @@ -28,7 +28,7 @@ enum layers{ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { [MAC_BASE] = LAYOUT_iso_83( - KC_ESC, KC_BRID, KC_BRIU, KC_NO, KC_NO, RGB_VAD, RGB_VAI, KC_MPRV, KC_MPLY, KC_MNXT, KC_MUTE, KC_VOLD, KC_VOLU, KC_DEL, KC_INS, + KC_ESC, KC_BRID, KC_BRIU, KC_NO, KC_NO, RM_VALD, RM_VALU, KC_MPRV, KC_MPLY, KC_MNXT, KC_MUTE, KC_VOLD, KC_VOLU, KC_DEL, KC_INS, 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_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_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_NUHS, KC_ENT, KC_HOME, @@ -38,8 +38,8 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { [MAC_FN] = LAYOUT_iso_83( _______, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - RGB_TOG, RGB_MOD, RGB_VAI, RGB_HUI, RGB_SAI, RGB_SPI, _______, _______, _______, _______, _______, _______, _______, _______, - _______, RGB_RMOD, RGB_VAD, RGB_HUD, RGB_SAD, RGB_SPD, _______, _______, _______, _______, _______, _______, _______, _______, _______, + RM_TOGG, RM_NEXT, RM_VALU, RM_HUEU, RM_SATU, RM_SPDU, _______, _______, _______, _______, _______, _______, _______, _______, + _______, RM_PREV, RM_VALD, RM_HUED, RM_SATD, RM_SPDD, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, NK_TOGG, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______), @@ -52,10 +52,10 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_LCTL, KC_LWIN, KC_LALT, KC_SPC, KC_RALT, MO(WIN_FN),KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT), [WIN_FN] = LAYOUT_iso_83( - _______, KC_BRID, KC_BRIU, KC_TASK, KC_FLXP, RGB_VAD, RGB_VAI, KC_MPRV, KC_MPLY, KC_MNXT, KC_MUTE, KC_VOLD, KC_VOLU, _______, _______, + _______, KC_BRID, KC_BRIU, KC_TASK, KC_FLXP, RM_VALD, RM_VALU, KC_MPRV, KC_MPLY, KC_MNXT, KC_MUTE, KC_VOLD, KC_VOLU, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - RGB_TOG, RGB_MOD, RGB_VAI, RGB_HUI, RGB_SAI, RGB_SPI, _______, _______, _______, _______, _______, _______, _______, _______, - _______, RGB_RMOD, RGB_VAD, RGB_HUD, RGB_SAD, RGB_SPD, _______, _______, _______, _______, _______, _______, _______, _______, _______, + RM_TOGG, RM_NEXT, RM_VALU, RM_HUEU, RM_SATU, RM_SPDU, _______, _______, _______, _______, _______, _______, _______, _______, + _______, RM_PREV, RM_VALD, RM_HUED, RM_SATD, RM_SPDD, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, NK_TOGG, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______) }; diff --git a/keyboards/keychron/q1v1/iso_encoder/keymaps/default/keymap.c b/keyboards/keychron/q1v1/iso_encoder/keymaps/default/keymap.c index 237d9a3f1e5..43eab9318c2 100644 --- a/keyboards/keychron/q1v1/iso_encoder/keymaps/default/keymap.c +++ b/keyboards/keychron/q1v1/iso_encoder/keymaps/default/keymap.c @@ -26,7 +26,7 @@ enum layers{ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { [MAC_BASE] = LAYOUT_iso_83( - KC_ESC, KC_BRID, KC_BRIU, KC_NO, KC_NO, RGB_VAD, RGB_VAI, KC_MPRV, KC_MPLY, KC_MNXT, KC_MUTE, KC_VOLD, KC_VOLU, KC_DEL, KC_MUTE, + KC_ESC, KC_BRID, KC_BRIU, KC_NO, KC_NO, RM_VALD, RM_VALU, KC_MPRV, KC_MPLY, KC_MNXT, KC_MUTE, KC_VOLD, KC_VOLU, KC_DEL, KC_MUTE, 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_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_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_NUHS, KC_ENT, KC_HOME, @@ -36,8 +36,8 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { [MAC_FN] = LAYOUT_iso_83( _______, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - RGB_TOG, RGB_MOD, RGB_VAI, RGB_HUI, RGB_SAI, RGB_SPI, _______, _______, _______, _______, _______, _______, _______, _______, - _______, RGB_RMOD, RGB_VAD, RGB_HUD, RGB_SAD, RGB_SPD, _______, _______, _______, _______, _______, _______, _______, _______, _______, + RM_TOGG, RM_NEXT, RM_VALU, RM_HUEU, RM_SATU, RM_SPDU, _______, _______, _______, _______, _______, _______, _______, _______, + _______, RM_PREV, RM_VALD, RM_HUED, RM_SATD, RM_SPDD, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, NK_TOGG, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______), @@ -50,10 +50,10 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, MO(WIN_FN), KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT), [WIN_FN] = LAYOUT_iso_83( - _______, KC_BRID, KC_BRIU, KC_NO, KC_NO, RGB_VAD, RGB_VAI, KC_MPRV, KC_MPLY, KC_MNXT, KC_MUTE, KC_VOLD, KC_VOLU, _______, _______, + _______, KC_BRID, KC_BRIU, KC_NO, KC_NO, RM_VALD, RM_VALU, KC_MPRV, KC_MPLY, KC_MNXT, KC_MUTE, KC_VOLD, KC_VOLU, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - RGB_TOG, RGB_MOD, RGB_VAI, RGB_HUI, RGB_SAI, RGB_SPI, _______, _______, _______, _______, _______, _______, _______, _______, - _______, RGB_RMOD, RGB_VAD, RGB_HUD, RGB_SAD, RGB_SPD, _______, _______, _______, _______, _______, _______, _______, _______, _______, + RM_TOGG, RM_NEXT, RM_VALU, RM_HUEU, RM_SATU, RM_SPDU, _______, _______, _______, _______, _______, _______, _______, _______, + _______, RM_PREV, RM_VALD, RM_HUED, RM_SATD, RM_SPDD, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, NK_TOGG, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______) }; @@ -61,8 +61,8 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { #if defined(ENCODER_MAP_ENABLE) const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][NUM_DIRECTIONS] = { [MAC_BASE] = { ENCODER_CCW_CW(KC_VOLD, KC_VOLU) }, - [MAC_FN] = { ENCODER_CCW_CW(RGB_VAD, RGB_VAI) }, + [MAC_FN] = { ENCODER_CCW_CW(RM_VALD, RM_VALU) }, [WIN_BASE] = { ENCODER_CCW_CW(KC_VOLD, KC_VOLU) }, - [WIN_FN] = { ENCODER_CCW_CW(RGB_VAD, RGB_VAI) }, + [WIN_FN] = { ENCODER_CCW_CW(RM_VALD, RM_VALU) }, }; #endif \ No newline at end of file diff --git a/keyboards/keychron/q1v1/q1v1.c b/keyboards/keychron/q1v1/q1v1.c index 2ed907adb93..8571b337518 100644 --- a/keyboards/keychron/q1v1/q1v1.c +++ b/keyboards/keychron/q1v1/q1v1.c @@ -34,7 +34,7 @@ bool process_record_kb(uint16_t keycode, keyrecord_t *record) { if (!process_record_user(keycode, record)) { return false; } switch (keycode) { #ifdef RGB_MATRIX_ENABLE - case RGB_TOG: + case QK_RGB_MATRIX_TOGGLE: if (record->event.pressed) { switch (rgb_matrix_get_flags()) { case LED_FLAG_ALL: { diff --git a/keyboards/keychron/q1v2/ansi/keymaps/default/keymap.c b/keyboards/keychron/q1v2/ansi/keymaps/default/keymap.c index 383a43cdb2a..c3ecfad52e7 100644 --- a/keyboards/keychron/q1v2/ansi/keymaps/default/keymap.c +++ b/keyboards/keychron/q1v2/ansi/keymaps/default/keymap.c @@ -30,7 +30,7 @@ enum layers{ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { [MAC_BASE] = LAYOUT_ansi_82( - KC_ESC, KC_BRID, KC_BRIU, KC_MCTL, KC_LPAD, RGB_VAD, RGB_VAI, KC_MPRV, KC_MPLY, KC_MNXT, KC_MUTE, KC_VOLD, KC_VOLU, KC_DEL, KC_INS, + KC_ESC, KC_BRID, KC_BRIU, KC_MCTL, KC_LPAD, RM_VALD, RM_VALU, KC_MPRV, KC_MPLY, KC_MNXT, KC_MUTE, KC_VOLD, KC_VOLU, KC_DEL, KC_INS, 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_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_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_HOME, @@ -40,8 +40,8 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { [MAC_FN] = LAYOUT_ansi_82( _______, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - RGB_TOG, RGB_MOD, RGB_VAI, RGB_HUI, RGB_SAI, RGB_SPI, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, RGB_RMOD, RGB_VAD, RGB_HUD, RGB_SAD, RGB_SPD, _______, _______, _______, _______, _______, _______, _______, _______, + RM_TOGG, RM_NEXT, RM_VALU, RM_HUEU, RM_SATU, RM_SPDU, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, RM_PREV, RM_VALD, RM_HUED, RM_SATD, RM_SPDD, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, NK_TOGG, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______), @@ -54,10 +54,10 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_LCTL, KC_LWIN, KC_LALT, KC_SPC, KC_RALT, MO(WIN_FN), KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT), [WIN_FN] = LAYOUT_ansi_82( - _______, KC_BRID, KC_BRIU, KC_TASK, KC_FLXP, RGB_VAD, RGB_VAI, KC_MPRV, KC_MPLY, KC_MNXT, KC_MUTE, KC_VOLD, KC_VOLU, _______, _______, + _______, KC_BRID, KC_BRIU, KC_TASK, KC_FLXP, RM_VALD, RM_VALU, KC_MPRV, KC_MPLY, KC_MNXT, KC_MUTE, KC_VOLD, KC_VOLU, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - RGB_TOG, RGB_MOD, RGB_VAI, RGB_HUI, RGB_SAI, RGB_SPI, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, RGB_RMOD, RGB_VAD, RGB_HUD, RGB_SAD, RGB_SPD, _______, _______, _______, _______, _______, _______, _______, _______, + RM_TOGG, RM_NEXT, RM_VALU, RM_HUEU, RM_SATU, RM_SPDU, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, RM_PREV, RM_VALD, RM_HUED, RM_SATD, RM_SPDD, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, NK_TOGG, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______), }; diff --git a/keyboards/keychron/q1v2/ansi_encoder/keymaps/default/keymap.c b/keyboards/keychron/q1v2/ansi_encoder/keymaps/default/keymap.c index d4424125249..8ee3bcc4606 100644 --- a/keyboards/keychron/q1v2/ansi_encoder/keymaps/default/keymap.c +++ b/keyboards/keychron/q1v2/ansi_encoder/keymaps/default/keymap.c @@ -30,7 +30,7 @@ enum layers{ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { [MAC_BASE] = LAYOUT_ansi_82( - KC_ESC, KC_BRID, KC_BRIU, KC_MCTL, KC_LPAD, RGB_VAD, RGB_VAI, KC_MPRV, KC_MPLY, KC_MNXT, KC_MUTE, KC_VOLD, KC_VOLU, KC_DEL, KC_MUTE, + KC_ESC, KC_BRID, KC_BRIU, KC_MCTL, KC_LPAD, RM_VALD, RM_VALU, KC_MPRV, KC_MPLY, KC_MNXT, KC_MUTE, KC_VOLD, KC_VOLU, KC_DEL, KC_MUTE, 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_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_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_HOME, @@ -38,10 +38,10 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_LCTL, KC_LOPT, KC_LCMD, KC_SPC, KC_RCMD, MO(MAC_FN), KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT), [MAC_FN] = LAYOUT_ansi_82( - _______, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, _______, RGB_TOG, + _______, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, _______, RM_TOGG, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - RGB_TOG, RGB_MOD, RGB_VAI, RGB_HUI, RGB_SAI, RGB_SPI, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, RGB_RMOD, RGB_VAD, RGB_HUD, RGB_SAD, RGB_SPD, _______, _______, _______, _______, _______, _______, _______, _______, + RM_TOGG, RM_NEXT, RM_VALU, RM_HUEU, RM_SATU, RM_SPDU, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, RM_PREV, RM_VALD, RM_HUED, RM_SATD, RM_SPDD, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, NK_TOGG, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______), @@ -54,10 +54,10 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_LCTL, KC_LCMD, KC_LALT, KC_SPC, KC_RALT, MO(WIN_FN), KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT), [WIN_FN] = LAYOUT_ansi_82( - _______, KC_BRID, KC_BRIU, KC_TASK, KC_FLXP, RGB_VAD, RGB_VAI, KC_MPRV, KC_MPLY, KC_MNXT, KC_MUTE, KC_VOLD, KC_VOLU, _______, RGB_TOG, + _______, KC_BRID, KC_BRIU, KC_TASK, KC_FLXP, RM_VALD, RM_VALU, KC_MPRV, KC_MPLY, KC_MNXT, KC_MUTE, KC_VOLD, KC_VOLU, _______, RM_TOGG, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - RGB_TOG, RGB_MOD, RGB_VAI, RGB_HUI, RGB_SAI, RGB_SPI, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, RGB_RMOD, RGB_VAD, RGB_HUD, RGB_SAD, RGB_SPD, _______, _______, _______, _______, _______, _______, _______, _______, + RM_TOGG, RM_NEXT, RM_VALU, RM_HUEU, RM_SATU, RM_SPDU, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, RM_PREV, RM_VALD, RM_HUED, RM_SATD, RM_SPDD, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, NK_TOGG, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______), }; @@ -65,8 +65,8 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { #if defined(ENCODER_MAP_ENABLE) const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][NUM_DIRECTIONS] = { [MAC_BASE] = { ENCODER_CCW_CW(KC_VOLD, KC_VOLU)}, - [MAC_FN] = { ENCODER_CCW_CW(RGB_VAD, RGB_VAI)}, + [MAC_FN] = { ENCODER_CCW_CW(RM_VALD, RM_VALU)}, [WIN_BASE] = { ENCODER_CCW_CW(KC_VOLD, KC_VOLU)}, - [WIN_FN] = { ENCODER_CCW_CW(RGB_VAD, RGB_VAI)} + [WIN_FN] = { ENCODER_CCW_CW(RM_VALD, RM_VALU)} }; #endif // ENCODER_MAP_ENABLE diff --git a/keyboards/keychron/q1v2/iso/keymaps/default/keymap.c b/keyboards/keychron/q1v2/iso/keymaps/default/keymap.c index f97a595ea62..d5a87e75394 100644 --- a/keyboards/keychron/q1v2/iso/keymaps/default/keymap.c +++ b/keyboards/keychron/q1v2/iso/keymaps/default/keymap.c @@ -30,7 +30,7 @@ enum layers { const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { [MAC_BASE] = LAYOUT_iso_83( - KC_ESC, KC_BRID, KC_BRIU, KC_MCTL, KC_LPAD, RGB_VAD, RGB_VAI, KC_MPRV, KC_MPLY, KC_MNXT, KC_MUTE, KC_VOLD, KC_VOLU, KC_DEL, KC_INS, + KC_ESC, KC_BRID, KC_BRIU, KC_MCTL, KC_LPAD, RM_VALD, RM_VALU, KC_MPRV, KC_MPLY, KC_MNXT, KC_MUTE, KC_VOLD, KC_VOLU, KC_DEL, KC_INS, 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_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_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_NUHS, KC_ENT, KC_HOME, @@ -40,8 +40,8 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { [MAC_FN] = LAYOUT_iso_83( _______, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - RGB_TOG, RGB_MOD, RGB_VAI, RGB_HUI, RGB_SAI, RGB_SPI, _______, _______, _______, _______, _______, _______, _______, _______, - _______, RGB_RMOD, RGB_VAD, RGB_HUD, RGB_SAD, RGB_SPD, _______, _______, _______, _______, _______, _______, _______, _______, _______, + RM_TOGG, RM_NEXT, RM_VALU, RM_HUEU, RM_SATU, RM_SPDU, _______, _______, _______, _______, _______, _______, _______, _______, + _______, RM_PREV, RM_VALD, RM_HUED, RM_SATD, RM_SPDD, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, NK_TOGG, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______), @@ -54,10 +54,10 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_LCTL, KC_LWIN, KC_LALT, KC_SPC, KC_RALT, MO(WIN_FN), KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT), [WIN_FN] = LAYOUT_iso_83( - _______, KC_BRID, KC_BRIU, KC_TASK, KC_FLXP, RGB_VAD, RGB_VAI, KC_MPRV, KC_MPLY, KC_MNXT, KC_MUTE, KC_VOLD, KC_VOLU, _______, _______, + _______, KC_BRID, KC_BRIU, KC_TASK, KC_FLXP, RM_VALD, RM_VALU, KC_MPRV, KC_MPLY, KC_MNXT, KC_MUTE, KC_VOLD, KC_VOLU, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - RGB_TOG, RGB_MOD, RGB_VAI, RGB_HUI, RGB_SAI, RGB_SPI, _______, _______, _______, _______, _______, _______, _______, _______, - _______, RGB_RMOD, RGB_VAD, RGB_HUD, RGB_SAD, RGB_SPD, _______, _______, _______, _______, _______, _______, _______, _______, _______, + RM_TOGG, RM_NEXT, RM_VALU, RM_HUEU, RM_SATU, RM_SPDU, _______, _______, _______, _______, _______, _______, _______, _______, + _______, RM_PREV, RM_VALD, RM_HUED, RM_SATD, RM_SPDD, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, NK_TOGG, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______) }; diff --git a/keyboards/keychron/q1v2/iso_encoder/keymaps/default/keymap.c b/keyboards/keychron/q1v2/iso_encoder/keymaps/default/keymap.c index 74aa487f95e..8bd8a12a44a 100644 --- a/keyboards/keychron/q1v2/iso_encoder/keymaps/default/keymap.c +++ b/keyboards/keychron/q1v2/iso_encoder/keymaps/default/keymap.c @@ -30,7 +30,7 @@ enum layers{ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { [MAC_BASE] = LAYOUT_iso_83( - KC_ESC, KC_BRID, KC_BRIU, KC_MCTL, KC_LPAD, RGB_VAD, RGB_VAI, KC_MPRV, KC_MPLY, KC_MNXT, KC_MUTE, KC_VOLD, KC_VOLU, KC_DEL, KC_MUTE, + KC_ESC, KC_BRID, KC_BRIU, KC_MCTL, KC_LPAD, RM_VALD, RM_VALU, KC_MPRV, KC_MPLY, KC_MNXT, KC_MUTE, KC_VOLD, KC_VOLU, KC_DEL, KC_MUTE, 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_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_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_NUHS, KC_ENT, KC_HOME, @@ -38,10 +38,10 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_LCTL, KC_LOPT, KC_LCMD, KC_SPC, KC_RCMD, MO(MAC_FN), KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT), [MAC_FN] = LAYOUT_iso_83( - _______, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, _______, RGB_TOG, + _______, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, _______, RM_TOGG, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - RGB_TOG, RGB_MOD, RGB_VAI, RGB_HUI, RGB_SAI, RGB_SPI, _______, _______, _______, _______, _______, _______, _______, _______, - _______, RGB_RMOD, RGB_VAD, RGB_HUD, RGB_SAD, RGB_SPD, _______, _______, _______, _______, _______, _______, _______, _______, _______, + RM_TOGG, RM_NEXT, RM_VALU, RM_HUEU, RM_SATU, RM_SPDU, _______, _______, _______, _______, _______, _______, _______, _______, + _______, RM_PREV, RM_VALD, RM_HUED, RM_SATD, RM_SPDD, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, NK_TOGG, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______), @@ -54,10 +54,10 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_LCTL, KC_LWIN, KC_LALT, KC_SPC, KC_RALT, MO(WIN_FN), KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT), [WIN_FN] = LAYOUT_iso_83( - _______, KC_BRID, KC_BRIU, KC_TASK, KC_FLXP, RGB_VAD, RGB_VAI, KC_MPRV, KC_MPLY, KC_MNXT, KC_MUTE, KC_VOLD, KC_VOLU, _______, RGB_TOG, + _______, KC_BRID, KC_BRIU, KC_TASK, KC_FLXP, RM_VALD, RM_VALU, KC_MPRV, KC_MPLY, KC_MNXT, KC_MUTE, KC_VOLD, KC_VOLU, _______, RM_TOGG, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - RGB_TOG, RGB_MOD, RGB_VAI, RGB_HUI, RGB_SAI, RGB_SPI, _______, _______, _______, _______, _______, _______, _______, _______, - _______, RGB_RMOD, RGB_VAD, RGB_HUD, RGB_SAD, RGB_SPD, _______, _______, _______, _______, _______, _______, _______, _______, _______, + RM_TOGG, RM_NEXT, RM_VALU, RM_HUEU, RM_SATU, RM_SPDU, _______, _______, _______, _______, _______, _______, _______, _______, + _______, RM_PREV, RM_VALD, RM_HUED, RM_SATD, RM_SPDD, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, NK_TOGG, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______) }; @@ -65,8 +65,8 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { #if defined(ENCODER_MAP_ENABLE) const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][NUM_DIRECTIONS] = { [MAC_BASE] = { ENCODER_CCW_CW(KC_VOLD, KC_VOLU)}, - [MAC_FN] = { ENCODER_CCW_CW(RGB_VAD, RGB_VAI)}, + [MAC_FN] = { ENCODER_CCW_CW(RM_VALD, RM_VALU)}, [WIN_BASE] = { ENCODER_CCW_CW(KC_VOLD, KC_VOLU)}, - [WIN_FN] = { ENCODER_CCW_CW(RGB_VAD, RGB_VAI)} + [WIN_FN] = { ENCODER_CCW_CW(RM_VALD, RM_VALU)} }; #endif // ENCODER_MAP_ENABLE diff --git a/keyboards/keychron/q1v2/jis/keymaps/default/keymap.c b/keyboards/keychron/q1v2/jis/keymaps/default/keymap.c index 14af11a77cb..46acc05c5fc 100644 --- a/keyboards/keychron/q1v2/jis/keymaps/default/keymap.c +++ b/keyboards/keychron/q1v2/jis/keymaps/default/keymap.c @@ -30,7 +30,7 @@ enum layers{ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { [MAC_BASE] = LAYOUT( - KC_ESC, KC_BRID, KC_BRIU, KC_MCTL, KC_LPAD, RGB_VAD, RGB_VAI, KC_MPRV, KC_MPLY, KC_MNXT, KC_MUTE, KC_VOLD, KC_VOLU, KC_DEL, KC_INS, + KC_ESC, KC_BRID, KC_BRIU, KC_MCTL, KC_LPAD, RM_VALD, RM_VALU, KC_MPRV, KC_MPLY, KC_MNXT, KC_MUTE, KC_VOLD, KC_VOLU, KC_DEL, KC_INS, 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_INT3, KC_BSPC, 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_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_NUHS, KC_ENT, KC_HOME, @@ -40,8 +40,8 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { [MAC_FN] = LAYOUT( _______, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - RGB_TOG, RGB_MOD, RGB_VAI, RGB_HUI, RGB_SAI, RGB_SPI, _______, _______, _______, _______, _______, _______, _______, _______, - _______, RGB_RMOD, RGB_VAD, RGB_HUD, RGB_SAD, RGB_SPD, _______, _______, _______, _______, _______, _______, _______, _______, _______, + RM_TOGG, RM_NEXT, RM_VALU, RM_HUEU, RM_SATU, RM_SPDU, _______, _______, _______, _______, _______, _______, _______, _______, + _______, RM_PREV, RM_VALD, RM_HUED, RM_SATD, RM_SPDD, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, NK_TOGG, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______), @@ -54,10 +54,10 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_LCTL, KC_LWIN, KC_LALT, KC_INT5, KC_SPC, KC_INT4, KC_RALT, MO(WIN_FN), KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT), [WIN_FN] = LAYOUT( - _______, KC_BRID, KC_BRIU, KC_TASK, KC_FLXP, RGB_VAD, RGB_VAI, KC_MPRV, KC_MPLY, KC_MNXT, KC_MUTE, KC_VOLD, KC_VOLU, _______, _______, + _______, KC_BRID, KC_BRIU, KC_TASK, KC_FLXP, RM_VALD, RM_VALU, KC_MPRV, KC_MPLY, KC_MNXT, KC_MUTE, KC_VOLD, KC_VOLU, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - RGB_TOG, RGB_MOD, RGB_VAI, RGB_HUI, RGB_SAI, RGB_SPI, _______, _______, _______, _______, _______, _______, _______, _______, - _______, RGB_RMOD, RGB_VAD, RGB_HUD, RGB_SAD, RGB_SPD, _______, _______, _______, _______, _______, _______, _______, _______, _______, + RM_TOGG, RM_NEXT, RM_VALU, RM_HUEU, RM_SATU, RM_SPDU, _______, _______, _______, _______, _______, _______, _______, _______, + _______, RM_PREV, RM_VALD, RM_HUED, RM_SATD, RM_SPDD, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, NK_TOGG, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______), }; diff --git a/keyboards/keychron/q1v2/jis_encoder/keymaps/default/keymap.c b/keyboards/keychron/q1v2/jis_encoder/keymaps/default/keymap.c index def0cba27f4..c33c4707de5 100644 --- a/keyboards/keychron/q1v2/jis_encoder/keymaps/default/keymap.c +++ b/keyboards/keychron/q1v2/jis_encoder/keymaps/default/keymap.c @@ -30,7 +30,7 @@ enum layers{ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { [MAC_BASE] = LAYOUT( - KC_ESC, KC_BRID, KC_BRIU, KC_MCTL, KC_LPAD, RGB_VAD, RGB_VAI, KC_MPRV, KC_MPLY, KC_MNXT, KC_MUTE, KC_VOLD, KC_VOLU, KC_DEL, KC_MUTE, + KC_ESC, KC_BRID, KC_BRIU, KC_MCTL, KC_LPAD, RM_VALD, RM_VALU, KC_MPRV, KC_MPLY, KC_MNXT, KC_MUTE, KC_VOLD, KC_VOLU, KC_DEL, KC_MUTE, 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_INT3, KC_BSPC, 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_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_NUHS, KC_ENT, KC_HOME, @@ -38,10 +38,10 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_LCTL, KC_LOPT, KC_LCMD, KC_LNG2, KC_SPC, KC_LNG1, KC_RCMD, MO(MAC_FN), KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT), [MAC_FN] = LAYOUT( - _______, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, _______, RGB_TOG, + _______, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, _______, RM_TOGG, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - RGB_TOG, RGB_MOD, RGB_VAI, RGB_HUI, RGB_SAI, RGB_SPI, _______, _______, _______, _______, _______, _______, _______, _______, - _______, RGB_RMOD, RGB_VAD, RGB_HUD, RGB_SAD, RGB_SPD, _______, _______, _______, _______, _______, _______, _______, _______, _______, + RM_TOGG, RM_NEXT, RM_VALU, RM_HUEU, RM_SATU, RM_SPDU, _______, _______, _______, _______, _______, _______, _______, _______, + _______, RM_PREV, RM_VALD, RM_HUED, RM_SATD, RM_SPDD, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, NK_TOGG, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______), @@ -54,10 +54,10 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_LCTL, KC_LWIN, KC_LALT, KC_INT5, KC_SPC, KC_INT4, KC_RALT, MO(WIN_FN), KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT), [WIN_FN] = LAYOUT( - _______, KC_BRID, KC_BRIU, KC_TASK, KC_FLXP, RGB_VAD, RGB_VAI, KC_MPRV, KC_MPLY, KC_MNXT, KC_MUTE, KC_VOLD, KC_VOLU, _______, RGB_TOG, + _______, KC_BRID, KC_BRIU, KC_TASK, KC_FLXP, RM_VALD, RM_VALU, KC_MPRV, KC_MPLY, KC_MNXT, KC_MUTE, KC_VOLD, KC_VOLU, _______, RM_TOGG, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - RGB_TOG, RGB_MOD, RGB_VAI, RGB_HUI, RGB_SAI, RGB_SPI, _______, _______, _______, _______, _______, _______, _______, _______, - _______, RGB_RMOD, RGB_VAD, RGB_HUD, RGB_SAD, RGB_SPD, _______, _______, _______, _______, _______, _______, _______, _______, _______, + RM_TOGG, RM_NEXT, RM_VALU, RM_HUEU, RM_SATU, RM_SPDU, _______, _______, _______, _______, _______, _______, _______, _______, + _______, RM_PREV, RM_VALD, RM_HUED, RM_SATD, RM_SPDD, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, NK_TOGG, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______), }; @@ -65,8 +65,8 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { #if defined(ENCODER_MAP_ENABLE) const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][NUM_DIRECTIONS] = { [MAC_BASE] = { ENCODER_CCW_CW(KC_VOLD, KC_VOLU)}, - [MAC_FN] = { ENCODER_CCW_CW(RGB_VAD, RGB_VAI)}, + [MAC_FN] = { ENCODER_CCW_CW(RM_VALD, RM_VALU)}, [WIN_BASE] = { ENCODER_CCW_CW(KC_VOLD, KC_VOLU)}, - [WIN_FN] = { ENCODER_CCW_CW(RGB_VAD, RGB_VAI)} + [WIN_FN] = { ENCODER_CCW_CW(RM_VALD, RM_VALU)} }; #endif // ENCODER_MAP_ENABLE diff --git a/keyboards/keychron/q1v2/q1v2.c b/keyboards/keychron/q1v2/q1v2.c index 1de8f205c7e..82118838697 100644 --- a/keyboards/keychron/q1v2/q1v2.c +++ b/keyboards/keychron/q1v2/q1v2.c @@ -36,7 +36,7 @@ bool process_record_kb(uint16_t keycode, keyrecord_t *record) { } switch (keycode) { # ifdef RGB_MATRIX_ENABLE - case RGB_TOG: + case QK_RGB_MATRIX_TOGGLE: if (record->event.pressed) { switch (rgb_matrix_get_flags()) { case LED_FLAG_ALL: { diff --git a/keyboards/keychron/q2/ansi/keymaps/default/keymap.c b/keyboards/keychron/q2/ansi/keymaps/default/keymap.c index ea386157bcb..1aa3ae0ec25 100644 --- a/keyboards/keychron/q2/ansi/keymaps/default/keymap.c +++ b/keyboards/keychron/q2/ansi/keymaps/default/keymap.c @@ -43,23 +43,23 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_LCTL, KC_LWIN, KC_LALT, KC_SPC, KC_RALT, MO(_FN2), MO(_FN3), KC_LEFT, KC_DOWN, KC_RGHT), [_FN1] = LAYOUT_ansi_67( - KC_GRV, KC_BRID, KC_BRIU, _______, _______, RGB_VAD, RGB_VAI, KC_MPRV, KC_MPLY, KC_MNXT, KC_MUTE, KC_VOLD, KC_VOLU, _______, _______, - RGB_TOG, RGB_MOD, RGB_VAI, RGB_HUI, RGB_SAI, RGB_SPI, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, RGB_RMOD,RGB_VAD, RGB_HUD, RGB_SAD, RGB_SPD, _______, _______, _______, _______, _______, _______, _______, _______, + KC_GRV, KC_BRID, KC_BRIU, _______, _______, RM_VALD, RM_VALU, KC_MPRV, KC_MPLY, KC_MNXT, KC_MUTE, KC_VOLD, KC_VOLU, _______, _______, + RM_TOGG, RM_NEXT, RM_VALU, RM_HUEU, RM_SATU, RM_SPDU, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, RM_PREV, RM_VALD, RM_HUED, RM_SATD, RM_SPDD, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, NK_TOGG, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______), [_FN2] = LAYOUT_ansi_67( - KC_GRV, KC_BRID, KC_BRIU, KC_TASK, KC_FLXP, RGB_VAD, RGB_VAI, KC_MPRV, KC_MPLY, KC_MNXT, KC_MUTE, KC_VOLD, KC_VOLU, _______, _______, - RGB_TOG, RGB_MOD, RGB_VAI, RGB_HUI, RGB_SAI, RGB_SPI, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, RGB_RMOD,RGB_VAD, RGB_HUD, RGB_SAD, RGB_SPD, _______, _______, _______, _______, _______, _______, _______, _______, + KC_GRV, KC_BRID, KC_BRIU, KC_TASK, KC_FLXP, RM_VALD, RM_VALU, KC_MPRV, KC_MPLY, KC_MNXT, KC_MUTE, KC_VOLD, KC_VOLU, _______, _______, + RM_TOGG, RM_NEXT, RM_VALU, RM_HUEU, RM_SATU, RM_SPDU, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, RM_PREV, RM_VALD, RM_HUED, RM_SATD, RM_SPDD, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, NK_TOGG, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______), [_FN3] = LAYOUT_ansi_67( 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, _______, _______, - RGB_TOG, RGB_MOD, RGB_VAI, RGB_HUI, RGB_SAI, RGB_SPI, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, RGB_RMOD,RGB_VAD, RGB_HUD, RGB_SAD, RGB_SPD, _______, _______, _______, _______, _______, _______, _______, _______, + RM_TOGG, RM_NEXT, RM_VALU, RM_HUEU, RM_SATU, RM_SPDU, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, RM_PREV, RM_VALD, RM_HUED, RM_SATD, RM_SPDD, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______) }; diff --git a/keyboards/keychron/q2/ansi_encoder/keymaps/default/keymap.c b/keyboards/keychron/q2/ansi_encoder/keymaps/default/keymap.c index 5c20bda0310..9afbdf287b0 100644 --- a/keyboards/keychron/q2/ansi_encoder/keymaps/default/keymap.c +++ b/keyboards/keychron/q2/ansi_encoder/keymaps/default/keymap.c @@ -43,23 +43,23 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_LCTL, KC_LWIN, KC_LALT, KC_SPC, KC_RALT, MO(_FN2), MO(_FN3), KC_LEFT, KC_DOWN, KC_RGHT), [_FN1] = LAYOUT_ansi_67( - KC_GRV, KC_BRID, KC_BRIU, _______, _______, RGB_VAD, RGB_VAI, KC_MPRV, KC_MPLY, KC_MNXT, KC_MUTE, KC_VOLD, KC_VOLU, _______, RGB_TOG, - RGB_TOG, RGB_MOD, RGB_VAI, RGB_HUI, RGB_SAI, RGB_SPI, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, RGB_RMOD,RGB_VAD, RGB_HUD, RGB_SAD, RGB_SPD, _______, _______, _______, _______, _______, _______, _______, _______, + KC_GRV, KC_BRID, KC_BRIU, _______, _______, RM_VALD, RM_VALU, KC_MPRV, KC_MPLY, KC_MNXT, KC_MUTE, KC_VOLD, KC_VOLU, _______, RM_TOGG, + RM_TOGG, RM_NEXT, RM_VALU, RM_HUEU, RM_SATU, RM_SPDU, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, RM_PREV, RM_VALD, RM_HUED, RM_SATD, RM_SPDD, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, NK_TOGG, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______), [_FN2] = LAYOUT_ansi_67( - KC_GRV, KC_BRID, KC_BRIU, KC_TASK, KC_FLXP, RGB_VAD, RGB_VAI, KC_MPRV, KC_MPLY, KC_MNXT, KC_MUTE, KC_VOLD, KC_VOLU, _______, RGB_TOG, - RGB_TOG, RGB_MOD, RGB_VAI, RGB_HUI, RGB_SAI, RGB_SPI, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, RGB_RMOD,RGB_VAD, RGB_HUD, RGB_SAD, RGB_SPD, _______, _______, _______, _______, _______, _______, _______, _______, + KC_GRV, KC_BRID, KC_BRIU, KC_TASK, KC_FLXP, RM_VALD, RM_VALU, KC_MPRV, KC_MPLY, KC_MNXT, KC_MUTE, KC_VOLD, KC_VOLU, _______, RM_TOGG, + RM_TOGG, RM_NEXT, RM_VALU, RM_HUEU, RM_SATU, RM_SPDU, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, RM_PREV, RM_VALD, RM_HUED, RM_SATD, RM_SPDD, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, NK_TOGG, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______), [_FN3] = LAYOUT_ansi_67( 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, _______, _______, - RGB_TOG, RGB_MOD, RGB_VAI, RGB_HUI, RGB_SAI, RGB_SPI, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, RGB_RMOD,RGB_VAD, RGB_HUD, RGB_SAD, RGB_SPD, _______, _______, _______, _______, _______, _______, _______, _______, + RM_TOGG, RM_NEXT, RM_VALU, RM_HUEU, RM_SATU, RM_SPDU, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, RM_PREV, RM_VALD, RM_HUED, RM_SATD, RM_SPDD, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______) }; @@ -68,8 +68,8 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][NUM_DIRECTIONS] = { [MAC_BASE] = { ENCODER_CCW_CW(KC_VOLD, KC_VOLU) }, [WIN_BASE] = { ENCODER_CCW_CW(KC_VOLD, KC_VOLU) }, - [_FN1] = { ENCODER_CCW_CW(RGB_VAD, RGB_VAI) }, - [_FN2] = { ENCODER_CCW_CW(RGB_VAD, RGB_VAI) }, + [_FN1] = { ENCODER_CCW_CW(RM_VALD, RM_VALU) }, + [_FN2] = { ENCODER_CCW_CW(RM_VALD, RM_VALU) }, [_FN3] = { ENCODER_CCW_CW(_______, _______) }, }; #endif diff --git a/keyboards/keychron/q2/iso/keymaps/default/keymap.c b/keyboards/keychron/q2/iso/keymaps/default/keymap.c index 3f2952f0b22..590bd21cde6 100644 --- a/keyboards/keychron/q2/iso/keymaps/default/keymap.c +++ b/keyboards/keychron/q2/iso/keymaps/default/keymap.c @@ -43,23 +43,23 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_LCTL, KC_LWIN, KC_LALT, KC_SPC, KC_RALT, MO(_FN2), MO(_FN3), KC_LEFT, KC_DOWN, KC_RGHT), [_FN1] = LAYOUT_iso_68( - KC_GRV, KC_BRID, KC_BRIU, _______, _______, RGB_VAD, RGB_VAI, KC_MPRV, KC_MPLY, KC_MNXT, KC_MUTE, KC_VOLD, KC_VOLU, _______, _______, - RGB_TOG, RGB_MOD, RGB_VAI, RGB_HUI, RGB_SAI, RGB_SPI, _______, _______, _______, _______, _______, _______, _______, _______, - _______, RGB_RMOD,RGB_VAD, RGB_HUD, RGB_SAD, RGB_SPD, _______, _______, _______, _______, _______, _______, _______, _______, _______, + KC_GRV, KC_BRID, KC_BRIU, _______, _______, RM_VALD, RM_VALU, KC_MPRV, KC_MPLY, KC_MNXT, KC_MUTE, KC_VOLD, KC_VOLU, _______, _______, + RM_TOGG, RM_NEXT, RM_VALU, RM_HUEU, RM_SATU, RM_SPDU, _______, _______, _______, _______, _______, _______, _______, _______, + _______, RM_PREV, RM_VALD, RM_HUED, RM_SATD, RM_SPDD, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, NK_TOGG, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______), [_FN2] = LAYOUT_iso_68( - KC_GRV, KC_BRID, KC_BRIU, KC_TASK, KC_FLXP, RGB_VAD, RGB_VAI, KC_MPRV, KC_MPLY, KC_MNXT, KC_MUTE, KC_VOLD, KC_VOLU, _______, _______, - RGB_TOG, RGB_MOD, RGB_VAI, RGB_HUI, RGB_SAI, RGB_SPI, _______, _______, _______, _______, _______, _______, _______, _______, - _______, RGB_RMOD,RGB_VAD, RGB_HUD, RGB_SAD, RGB_SPD, _______, _______, _______, _______, _______, _______, _______, _______, _______, + KC_GRV, KC_BRID, KC_BRIU, KC_TASK, KC_FLXP, RM_VALD, RM_VALU, KC_MPRV, KC_MPLY, KC_MNXT, KC_MUTE, KC_VOLD, KC_VOLU, _______, _______, + RM_TOGG, RM_NEXT, RM_VALU, RM_HUEU, RM_SATU, RM_SPDU, _______, _______, _______, _______, _______, _______, _______, _______, + _______, RM_PREV, RM_VALD, RM_HUED, RM_SATD, RM_SPDD, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, NK_TOGG, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______), [_FN3] = LAYOUT_iso_68( 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, _______, _______, - RGB_TOG, RGB_MOD, RGB_VAI, RGB_HUI, RGB_SAI, RGB_SPI, _______, _______, _______, _______, _______, _______, _______, _______, - _______, RGB_RMOD,RGB_VAD, RGB_HUD, RGB_SAD, RGB_SPD, _______, _______, _______, _______, _______, _______, _______, _______, _______, + RM_TOGG, RM_NEXT, RM_VALU, RM_HUEU, RM_SATU, RM_SPDU, _______, _______, _______, _______, _______, _______, _______, _______, + _______, RM_PREV, RM_VALD, RM_HUED, RM_SATD, RM_SPDD, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______) }; diff --git a/keyboards/keychron/q2/iso_encoder/keymaps/default/keymap.c b/keyboards/keychron/q2/iso_encoder/keymaps/default/keymap.c index 5cbe605de40..2512d198ca2 100644 --- a/keyboards/keychron/q2/iso_encoder/keymaps/default/keymap.c +++ b/keyboards/keychron/q2/iso_encoder/keymaps/default/keymap.c @@ -43,23 +43,23 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_LCTL, KC_LWIN, KC_LALT, KC_SPC, KC_RALT, MO(_FN2), MO(_FN3), KC_LEFT, KC_DOWN, KC_RGHT), [_FN1] = LAYOUT_iso_68( - KC_GRV, KC_BRID, KC_BRIU, _______, _______, RGB_VAD, RGB_VAI, KC_MPRV, KC_MPLY, KC_MNXT, KC_MUTE, KC_VOLD, KC_VOLU, _______, _______, - RGB_TOG, RGB_MOD, RGB_VAI, RGB_HUI, RGB_SAI, RGB_SPI, _______, _______, _______, _______, _______, _______, _______, _______, - _______, RGB_RMOD,RGB_VAD, RGB_HUD, RGB_SAD, RGB_SPD, _______, _______, _______, _______, _______, _______, _______, _______, _______, + KC_GRV, KC_BRID, KC_BRIU, _______, _______, RM_VALD, RM_VALU, KC_MPRV, KC_MPLY, KC_MNXT, KC_MUTE, KC_VOLD, KC_VOLU, _______, _______, + RM_TOGG, RM_NEXT, RM_VALU, RM_HUEU, RM_SATU, RM_SPDU, _______, _______, _______, _______, _______, _______, _______, _______, + _______, RM_PREV, RM_VALD, RM_HUED, RM_SATD, RM_SPDD, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, NK_TOGG, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______), [_FN2] = LAYOUT_iso_68( - KC_GRV, KC_BRID, KC_BRIU, KC_TASK, KC_FLXP, RGB_VAD, RGB_VAI, KC_MPRV, KC_MPLY, KC_MNXT, KC_MUTE, KC_VOLD, KC_VOLU, _______, _______, - RGB_TOG, RGB_MOD, RGB_VAI, RGB_HUI, RGB_SAI, RGB_SPI, _______, _______, _______, _______, _______, _______, _______, _______, - _______, RGB_RMOD,RGB_VAD, RGB_HUD, RGB_SAD, RGB_SPD, _______, _______, _______, _______, _______, _______, _______, _______, _______, + KC_GRV, KC_BRID, KC_BRIU, KC_TASK, KC_FLXP, RM_VALD, RM_VALU, KC_MPRV, KC_MPLY, KC_MNXT, KC_MUTE, KC_VOLD, KC_VOLU, _______, _______, + RM_TOGG, RM_NEXT, RM_VALU, RM_HUEU, RM_SATU, RM_SPDU, _______, _______, _______, _______, _______, _______, _______, _______, + _______, RM_PREV, RM_VALD, RM_HUED, RM_SATD, RM_SPDD, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, NK_TOGG, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______), [_FN3] = LAYOUT_iso_68( 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, _______, _______, - RGB_TOG, RGB_MOD, RGB_VAI, RGB_HUI, RGB_SAI, RGB_SPI, _______, _______, _______, _______, _______, _______, _______, _______, - _______, RGB_RMOD,RGB_VAD, RGB_HUD, RGB_SAD, RGB_SPD, _______, _______, _______, _______, _______, _______, _______, _______, _______, + RM_TOGG, RM_NEXT, RM_VALU, RM_HUEU, RM_SATU, RM_SPDU, _______, _______, _______, _______, _______, _______, _______, _______, + _______, RM_PREV, RM_VALD, RM_HUED, RM_SATD, RM_SPDD, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______) }; diff --git a/keyboards/keychron/q2/jis/keymaps/default/keymap.c b/keyboards/keychron/q2/jis/keymaps/default/keymap.c index e11a31cda51..bdb013db654 100644 --- a/keyboards/keychron/q2/jis/keymaps/default/keymap.c +++ b/keyboards/keychron/q2/jis/keymaps/default/keymap.c @@ -45,23 +45,23 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_LCTL, KC_LWIN, KC_LALT, KC_INT5, KC_SPC, KC_INT4, KC_RALT, MO(_FN2), MO(_FN3), KC_LEFT, KC_DOWN, KC_RGHT), [_FN1] = LAYOUT_jis_71( - KC_GRV, KC_BRID, KC_BRIU, KC_NO, KC_NO, RGB_VAD, RGB_VAI, KC_MPRV, KC_MPLY, KC_MNXT, KC_MUTE, KC_VOLD, KC_VOLU, _______, _______, _______, - RGB_TOG, RGB_MOD, RGB_VAI, RGB_HUI, RGB_SAI, RGB_SPI, _______, _______, _______, _______, _______, _______, _______, _______, - _______, RGB_RMOD, RGB_VAD, RGB_HUD, RGB_SAD, RGB_SPD, _______, _______, _______, _______, _______, _______, _______, _______, _______, + KC_GRV, KC_BRID, KC_BRIU, KC_NO, KC_NO, RM_VALD, RM_VALU, KC_MPRV, KC_MPLY, KC_MNXT, KC_MUTE, KC_VOLD, KC_VOLU, _______, _______, _______, + RM_TOGG, RM_NEXT, RM_VALU, RM_HUEU, RM_SATU, RM_SPDU, _______, _______, _______, _______, _______, _______, _______, _______, + _______, RM_PREV, RM_VALD, RM_HUED, RM_SATD, RM_SPDD, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, NK_TOGG, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______), [_FN2] = LAYOUT_jis_71( - KC_GRV, KC_BRID, KC_BRIU, KC_TASK, KC_FLXP, RGB_VAD, RGB_VAI, KC_MPRV, KC_MPLY, KC_MNXT, KC_MUTE, KC_VOLD, KC_VOLU, _______, _______, _______, - RGB_TOG, RGB_MOD, RGB_VAI, RGB_HUI, RGB_SAI, RGB_SPI, _______, _______, _______, _______, _______, _______, _______, _______, - _______, RGB_RMOD, RGB_VAD, RGB_HUD, RGB_SAD, RGB_SPD, _______, _______, _______, _______, _______, _______, _______, _______, _______, + KC_GRV, KC_BRID, KC_BRIU, KC_TASK, KC_FLXP, RM_VALD, RM_VALU, KC_MPRV, KC_MPLY, KC_MNXT, KC_MUTE, KC_VOLD, KC_VOLU, _______, _______, _______, + RM_TOGG, RM_NEXT, RM_VALU, RM_HUEU, RM_SATU, RM_SPDU, _______, _______, _______, _______, _______, _______, _______, _______, + _______, RM_PREV, RM_VALD, RM_HUED, RM_SATD, RM_SPDD, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, NK_TOGG, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______), [_FN3] = LAYOUT_jis_71( 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, _______, _______, _______, - RGB_TOG, RGB_MOD, RGB_VAI, RGB_HUI, RGB_SAI, RGB_SPI, _______, _______, _______, _______, _______, _______, _______, _______, - _______, RGB_RMOD, RGB_VAD, RGB_HUD, RGB_SAD, RGB_SPD, _______, _______, _______, _______, _______, _______, _______, _______, _______, + RM_TOGG, RM_NEXT, RM_VALU, RM_HUEU, RM_SATU, RM_SPDU, _______, _______, _______, _______, _______, _______, _______, _______, + _______, RM_PREV, RM_VALD, RM_HUED, RM_SATD, RM_SPDD, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______) }; diff --git a/keyboards/keychron/q2/jis_encoder/keymaps/default/keymap.c b/keyboards/keychron/q2/jis_encoder/keymaps/default/keymap.c index 33b36986162..045a8da92ff 100644 --- a/keyboards/keychron/q2/jis_encoder/keymaps/default/keymap.c +++ b/keyboards/keychron/q2/jis_encoder/keymaps/default/keymap.c @@ -45,23 +45,23 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_LCTL, KC_LWIN, KC_LALT, KC_INT5, KC_SPC, KC_INT4, KC_RALT, MO(_FN2), MO(_FN3), KC_LEFT, KC_DOWN, KC_RGHT), [_FN1] = LAYOUT_jis_71( - KC_GRV, KC_BRID, KC_BRIU, KC_NO, KC_NO, RGB_VAD, RGB_VAI, KC_MPRV, KC_MPLY, KC_MNXT, KC_MUTE, KC_VOLD, KC_VOLU, _______, _______, RGB_TOG, - RGB_TOG, RGB_MOD, RGB_VAI, RGB_HUI, RGB_SAI, RGB_SPI, _______, _______, _______, _______, _______, _______, _______, _______, - _______, RGB_RMOD, RGB_VAD, RGB_HUD, RGB_SAD, RGB_SPD, _______, _______, _______, _______, _______, _______, _______, _______, _______, + KC_GRV, KC_BRID, KC_BRIU, KC_NO, KC_NO, RM_VALD, RM_VALU, KC_MPRV, KC_MPLY, KC_MNXT, KC_MUTE, KC_VOLD, KC_VOLU, _______, _______, RM_TOGG, + RM_TOGG, RM_NEXT, RM_VALU, RM_HUEU, RM_SATU, RM_SPDU, _______, _______, _______, _______, _______, _______, _______, _______, + _______, RM_PREV, RM_VALD, RM_HUED, RM_SATD, RM_SPDD, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, NK_TOGG, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______), [_FN2] = LAYOUT_jis_71( - KC_GRV, KC_BRID, KC_BRIU, KC_TASK, KC_FLXP, RGB_VAD, RGB_VAI, KC_MPRV, KC_MPLY, KC_MNXT, KC_MUTE, KC_VOLD, KC_VOLU, _______, _______, RGB_TOG, - RGB_TOG, RGB_MOD, RGB_VAI, RGB_HUI, RGB_SAI, RGB_SPI, _______, _______, _______, _______, _______, _______, _______, _______, - _______, RGB_RMOD, RGB_VAD, RGB_HUD, RGB_SAD, RGB_SPD, _______, _______, _______, _______, _______, _______, _______, _______, _______, + KC_GRV, KC_BRID, KC_BRIU, KC_TASK, KC_FLXP, RM_VALD, RM_VALU, KC_MPRV, KC_MPLY, KC_MNXT, KC_MUTE, KC_VOLD, KC_VOLU, _______, _______, RM_TOGG, + RM_TOGG, RM_NEXT, RM_VALU, RM_HUEU, RM_SATU, RM_SPDU, _______, _______, _______, _______, _______, _______, _______, _______, + _______, RM_PREV, RM_VALD, RM_HUED, RM_SATD, RM_SPDD, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, NK_TOGG, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______), [_FN3] = LAYOUT_jis_71( 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, _______, _______, _______, - RGB_TOG, RGB_MOD, RGB_VAI, RGB_HUI, RGB_SAI, RGB_SPI, _______, _______, _______, _______, _______, _______, _______, _______, - _______, RGB_RMOD, RGB_VAD, RGB_HUD, RGB_SAD, RGB_SPD, _______, _______, _______, _______, _______, _______, _______, _______, _______, + RM_TOGG, RM_NEXT, RM_VALU, RM_HUEU, RM_SATU, RM_SPDU, _______, _______, _______, _______, _______, _______, _______, _______, + _______, RM_PREV, RM_VALD, RM_HUED, RM_SATD, RM_SPDD, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______) }; @@ -70,8 +70,8 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][NUM_DIRECTIONS] = { [MAC_BASE] = { ENCODER_CCW_CW(KC_VOLD, KC_VOLU)}, [WIN_BASE] = { ENCODER_CCW_CW(KC_VOLD, KC_VOLU)}, - [_FN1] = { ENCODER_CCW_CW(RGB_VAD, RGB_VAI)}, - [_FN2] = { ENCODER_CCW_CW(RGB_VAD, RGB_VAI)}, + [_FN1] = { ENCODER_CCW_CW(RM_VALD, RM_VALU)}, + [_FN2] = { ENCODER_CCW_CW(RM_VALD, RM_VALU)}, [_FN3] = { ENCODER_CCW_CW(_______, _______)} }; #endif // ENCODER_MAP_ENABLE diff --git a/keyboards/keychron/q2/q2.c b/keyboards/keychron/q2/q2.c index 1dd839eccc2..01a23b8f3eb 100644 --- a/keyboards/keychron/q2/q2.c +++ b/keyboards/keychron/q2/q2.c @@ -33,7 +33,7 @@ bool dip_switch_update_kb(uint8_t index, bool active) { bool process_record_kb(uint16_t keycode, keyrecord_t *record) { if (!process_record_user(keycode, record)) { return false; } switch (keycode) { - case RGB_TOG: + case QK_RGB_MATRIX_TOGGLE: if (record->event.pressed) { switch (rgb_matrix_get_flags()) { case LED_FLAG_ALL: { diff --git a/keyboards/keychron/q3/ansi/keymaps/default/keymap.c b/keyboards/keychron/q3/ansi/keymaps/default/keymap.c index 3837a59fad7..3959db8bbba 100644 --- a/keyboards/keychron/q3/ansi/keymaps/default/keymap.c +++ b/keyboards/keychron/q3/ansi/keymaps/default/keymap.c @@ -25,7 +25,7 @@ enum layers{ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { [MAC_BASE] = LAYOUT_tkl_ansi( - KC_ESC, KC_BRID, KC_BRIU, KC_NO, KC_NO, RGB_VAD, RGB_VAI, KC_MPRV, KC_MPLY, KC_MNXT, KC_MUTE, KC_VOLD, KC_VOLU, KC_NO, KC_NO, RGB_MOD, + KC_ESC, KC_BRID, KC_BRIU, KC_NO, KC_NO, RM_VALD, RM_VALU, KC_MPRV, KC_MPLY, KC_MNXT, KC_MUTE, KC_VOLD, KC_VOLU, KC_NO, KC_NO, RM_NEXT, 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, @@ -33,15 +33,15 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_LCTL, KC_LOPT, KC_LCMD, KC_SPC, KC_RCMD, KC_ROPT, MO(MAC_FN), KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT), [MAC_FN] = LAYOUT_tkl_ansi( - _______, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, _______, _______, RGB_TOG, + _______, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, _______, _______, RM_TOGG, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - RGB_TOG, RGB_MOD, RGB_VAI, RGB_HUI, RGB_SAI, RGB_SPI, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, RGB_RMOD, RGB_VAD, RGB_HUD, RGB_SAD, RGB_SPD, _______, _______, _______, _______, _______, _______, _______, + RM_TOGG, RM_NEXT, RM_VALU, RM_HUEU, RM_SATU, RM_SPDU, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, RM_PREV, RM_VALD, RM_HUED, RM_SATD, RM_SPDD, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, NK_TOGG, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______), [WIN_BASE] = LAYOUT_tkl_ansi( - 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, _______, RGB_MOD, + 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, _______, RM_NEXT, 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, @@ -49,10 +49,10 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_LCTL, KC_LWIN, KC_LALT, KC_SPC, KC_RALT, KC_RWIN, MO(WIN_FN), KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT), [WIN_FN] = LAYOUT_tkl_ansi( - _______, KC_BRID, KC_BRIU, _______, _______, RGB_VAD, RGB_VAI, KC_MPRV, KC_MPLY, KC_MNXT, KC_MUTE, KC_VOLD, KC_VOLU, _______, _______, RGB_TOG, + _______, KC_BRID, KC_BRIU, _______, _______, RM_VALD, RM_VALU, KC_MPRV, KC_MPLY, KC_MNXT, KC_MUTE, KC_VOLD, KC_VOLU, _______, _______, RM_TOGG, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - RGB_TOG, RGB_MOD, RGB_VAI, RGB_HUI, RGB_SAI, RGB_SPI, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, RGB_RMOD, RGB_VAD, RGB_HUD, RGB_SAD, RGB_SPD, _______, _______, _______, _______, _______, _______, _______, + RM_TOGG, RM_NEXT, RM_VALU, RM_HUEU, RM_SATU, RM_SPDU, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, RM_PREV, RM_VALD, RM_HUED, RM_SATD, RM_SPDD, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, NK_TOGG, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______), }; diff --git a/keyboards/keychron/q3/ansi_encoder/keymaps/default/keymap.c b/keyboards/keychron/q3/ansi_encoder/keymaps/default/keymap.c index 832234c9974..a8a51e0aa6a 100644 --- a/keyboards/keychron/q3/ansi_encoder/keymaps/default/keymap.c +++ b/keyboards/keychron/q3/ansi_encoder/keymaps/default/keymap.c @@ -25,7 +25,7 @@ enum layers{ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { [MAC_BASE] = LAYOUT_tkl_f13_ansi( - KC_ESC, KC_BRID, KC_BRIU, KC_NO, KC_NO, RGB_VAD, RGB_VAI, KC_MPRV, KC_MPLY, KC_MNXT, KC_MUTE, KC_VOLD, KC_VOLU, KC_MUTE, KC_NO, KC_NO, RGB_MOD, + KC_ESC, KC_BRID, KC_BRIU, KC_NO, KC_NO, RM_VALD, RM_VALU, KC_MPRV, KC_MPLY, KC_MNXT, KC_MUTE, KC_VOLD, KC_VOLU, KC_MUTE, KC_NO, KC_NO, RM_NEXT, 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, @@ -33,15 +33,15 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_LCTL, KC_LOPT, KC_LCMD, KC_SPC, KC_RCMD, KC_ROPT, MO(MAC_FN), KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT), [MAC_FN] = LAYOUT_tkl_f13_ansi( - _______, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, RGB_TOG, _______, _______, RGB_TOG, + _______, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, RM_TOGG, _______, _______, RM_TOGG, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - RGB_TOG, RGB_MOD, RGB_VAI, RGB_HUI, RGB_SAI, RGB_SPI, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, RGB_RMOD, RGB_VAD, RGB_HUD, RGB_SAD, RGB_SPD, _______, _______, _______, _______, _______, _______, _______, + RM_TOGG, RM_NEXT, RM_VALU, RM_HUEU, RM_SATU, RM_SPDU, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, RM_PREV, RM_VALD, RM_HUED, RM_SATD, RM_SPDD, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, NK_TOGG, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______), [WIN_BASE] = LAYOUT_tkl_f13_ansi( - 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_MUTE, KC_PSCR, KC_NO, RGB_MOD, + 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_MUTE, KC_PSCR, KC_NO, RM_NEXT, 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, @@ -49,10 +49,10 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_LCTL, KC_LWIN, KC_LALT, KC_SPC, KC_RALT, KC_RWIN, MO(WIN_FN), KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT), [WIN_FN] = LAYOUT_tkl_f13_ansi( - _______, KC_BRID, KC_BRIU, _______, _______, RGB_VAD, RGB_VAI, KC_MPRV, KC_MPLY, KC_MNXT, KC_MUTE, KC_VOLD, KC_VOLU, RGB_TOG, _______, _______, RGB_TOG, + _______, KC_BRID, KC_BRIU, _______, _______, RM_VALD, RM_VALU, KC_MPRV, KC_MPLY, KC_MNXT, KC_MUTE, KC_VOLD, KC_VOLU, RM_TOGG, _______, _______, RM_TOGG, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - RGB_TOG, RGB_MOD, RGB_VAI, RGB_HUI, RGB_SAI, RGB_SPI, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, RGB_RMOD, RGB_VAD, RGB_HUD, RGB_SAD, RGB_SPD, _______, _______, _______, _______, _______, _______, _______, + RM_TOGG, RM_NEXT, RM_VALU, RM_HUEU, RM_SATU, RM_SPDU, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, RM_PREV, RM_VALD, RM_HUED, RM_SATD, RM_SPDD, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, NK_TOGG, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______), }; @@ -60,8 +60,8 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { #if defined(ENCODER_MAP_ENABLE) const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][NUM_DIRECTIONS] = { [MAC_BASE] = {ENCODER_CCW_CW(KC_VOLD, KC_VOLU) }, - [MAC_FN] = {ENCODER_CCW_CW(RGB_VAD, RGB_VAI) }, + [MAC_FN] = {ENCODER_CCW_CW(RM_VALD, RM_VALU) }, [WIN_BASE] = {ENCODER_CCW_CW(KC_VOLD, KC_VOLU) }, - [WIN_FN] = {ENCODER_CCW_CW(RGB_VAD, RGB_VAI) } + [WIN_FN] = {ENCODER_CCW_CW(RM_VALD, RM_VALU) } }; #endif // ENCODER_MAP_ENABLE diff --git a/keyboards/keychron/q3/iso/keymaps/default/keymap.c b/keyboards/keychron/q3/iso/keymaps/default/keymap.c index e8a98f32db5..1a69fb1b415 100644 --- a/keyboards/keychron/q3/iso/keymaps/default/keymap.c +++ b/keyboards/keychron/q3/iso/keymaps/default/keymap.c @@ -25,7 +25,7 @@ enum layers{ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { [MAC_BASE] = LAYOUT_tkl_iso( - KC_ESC, KC_BRID, KC_BRIU, KC_NO, KC_NO, RGB_VAD, RGB_VAI, KC_MPRV, KC_MPLY, KC_MNXT, KC_MUTE, KC_VOLD, KC_VOLU, KC_NO, KC_NO, RGB_MOD, + KC_ESC, KC_BRID, KC_BRIU, KC_NO, KC_NO, RM_VALD, RM_VALU, KC_MPRV, KC_MPLY, KC_MNXT, KC_MUTE, KC_VOLD, KC_VOLU, KC_NO, KC_NO, RM_NEXT, 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_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_NUHS, KC_ENT, @@ -33,15 +33,15 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_LCTL, KC_LOPT, KC_LCMD, KC_SPC, KC_RCMD, KC_ROPT, MO(MAC_FN), KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT), [MAC_FN] = LAYOUT_tkl_iso( - _______, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, _______, _______, RGB_TOG, + _______, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, _______, _______, RM_TOGG, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - RGB_TOG, RGB_MOD, RGB_VAI, RGB_HUI, RGB_SAI, RGB_SPI, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, RGB_RMOD, RGB_VAD, RGB_HUD, RGB_SAD, RGB_SPD, _______, _______, _______, _______, _______, _______, _______, _______, + RM_TOGG, RM_NEXT, RM_VALU, RM_HUEU, RM_SATU, RM_SPDU, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, RM_PREV, RM_VALD, RM_HUED, RM_SATD, RM_SPDD, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, NK_TOGG, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______), [WIN_BASE] = LAYOUT_tkl_iso( - 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_NO, RGB_MOD, + 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_NO, RM_NEXT, 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_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_NUHS, KC_ENT, @@ -49,10 +49,10 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_LCTL, KC_LWIN, KC_LALT, KC_SPC, KC_RALT, KC_RWIN, MO(WIN_FN), KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT), [WIN_FN] = LAYOUT_tkl_iso( - _______, KC_BRID, KC_BRIU, _______, _______, RGB_VAD, RGB_VAI, KC_MPRV, KC_MPLY, KC_MNXT, KC_MUTE, KC_VOLD, KC_VOLU, _______, _______, RGB_TOG, + _______, KC_BRID, KC_BRIU, _______, _______, RM_VALD, RM_VALU, KC_MPRV, KC_MPLY, KC_MNXT, KC_MUTE, KC_VOLD, KC_VOLU, _______, _______, RM_TOGG, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - RGB_TOG, RGB_MOD, RGB_VAI, RGB_HUI, RGB_SAI, RGB_SPI, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, RGB_RMOD, RGB_VAD, RGB_HUD, RGB_SAD, RGB_SPD, _______, _______, _______, _______, _______, _______, _______, _______, + RM_TOGG, RM_NEXT, RM_VALU, RM_HUEU, RM_SATU, RM_SPDU, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, RM_PREV, RM_VALD, RM_HUED, RM_SATD, RM_SPDD, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, NK_TOGG, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______), }; diff --git a/keyboards/keychron/q3/iso_encoder/keymaps/default/keymap.c b/keyboards/keychron/q3/iso_encoder/keymaps/default/keymap.c index caf29839191..c4131385f68 100644 --- a/keyboards/keychron/q3/iso_encoder/keymaps/default/keymap.c +++ b/keyboards/keychron/q3/iso_encoder/keymaps/default/keymap.c @@ -25,7 +25,7 @@ enum layers{ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { [MAC_BASE] = LAYOUT_tkl_f13_iso( - KC_ESC, KC_BRID, KC_BRIU, KC_NO, KC_NO, RGB_VAD, RGB_VAI, KC_MPRV, KC_MPLY, KC_MNXT, KC_MUTE, KC_VOLD, KC_VOLU, KC_MUTE, KC_NO, KC_NO, RGB_MOD, + KC_ESC, KC_BRID, KC_BRIU, KC_NO, KC_NO, RM_VALD, RM_VALU, KC_MPRV, KC_MPLY, KC_MNXT, KC_MUTE, KC_VOLD, KC_VOLU, KC_MUTE, KC_NO, KC_NO, RM_NEXT, 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_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_NUHS, KC_ENT, @@ -33,15 +33,15 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_LCTL, KC_LOPT, KC_LCMD, KC_SPC, KC_RCMD, KC_ROPT, MO(MAC_FN), KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT), [MAC_FN] = LAYOUT_tkl_f13_iso( - _______, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, RGB_TOG, _______, _______, RGB_TOG, + _______, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, RM_TOGG, _______, _______, RM_TOGG, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - RGB_TOG, RGB_MOD, RGB_VAI, RGB_HUI, RGB_SAI, RGB_SPI, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, RGB_RMOD, RGB_VAD, RGB_HUD, RGB_SAD, RGB_SPD, _______, _______, _______, _______, _______, _______, _______, _______, + RM_TOGG, RM_NEXT, RM_VALU, RM_HUEU, RM_SATU, RM_SPDU, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, RM_PREV, RM_VALD, RM_HUED, RM_SATD, RM_SPDD, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, NK_TOGG, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______), [WIN_BASE] = LAYOUT_tkl_f13_iso( - 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_MUTE, KC_PSCR, KC_NO, RGB_MOD, + 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_MUTE, KC_PSCR, KC_NO, RM_NEXT, 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_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_NUHS, KC_ENT, @@ -49,10 +49,10 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_LCTL, KC_LWIN, KC_LALT, KC_SPC, KC_RALT, KC_RWIN, MO(WIN_FN), KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT), [WIN_FN] = LAYOUT_tkl_f13_iso( - _______, KC_BRID, KC_BRIU, _______, _______, RGB_VAD, RGB_VAI, KC_MPRV, KC_MPLY, KC_MNXT, KC_MUTE, KC_VOLD, KC_VOLU, RGB_TOG, _______, _______, RGB_TOG, + _______, KC_BRID, KC_BRIU, _______, _______, RM_VALD, RM_VALU, KC_MPRV, KC_MPLY, KC_MNXT, KC_MUTE, KC_VOLD, KC_VOLU, RM_TOGG, _______, _______, RM_TOGG, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - RGB_TOG, RGB_MOD, RGB_VAI, RGB_HUI, RGB_SAI, RGB_SPI, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, RGB_RMOD, RGB_VAD, RGB_HUD, RGB_SAD, RGB_SPD, _______, _______, _______, _______, _______, _______, _______, _______, + RM_TOGG, RM_NEXT, RM_VALU, RM_HUEU, RM_SATU, RM_SPDU, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, RM_PREV, RM_VALD, RM_HUED, RM_SATD, RM_SPDD, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, NK_TOGG, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______), }; @@ -60,8 +60,8 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { #if defined(ENCODER_MAP_ENABLE) const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][NUM_DIRECTIONS] = { [MAC_BASE] = {ENCODER_CCW_CW(KC_VOLD, KC_VOLU) }, - [MAC_FN] = {ENCODER_CCW_CW(RGB_VAD, RGB_VAI) }, + [MAC_FN] = {ENCODER_CCW_CW(RM_VALD, RM_VALU) }, [WIN_BASE] = {ENCODER_CCW_CW(KC_VOLD, KC_VOLU) }, - [WIN_FN] = {ENCODER_CCW_CW(RGB_VAD, RGB_VAI) } + [WIN_FN] = {ENCODER_CCW_CW(RM_VALD, RM_VALU) } }; #endif diff --git a/keyboards/keychron/q3/jis/keymaps/default/keymap.c b/keyboards/keychron/q3/jis/keymaps/default/keymap.c index bd764ecdf35..9c32a8f1927 100644 --- a/keyboards/keychron/q3/jis/keymaps/default/keymap.c +++ b/keyboards/keychron/q3/jis/keymaps/default/keymap.c @@ -25,7 +25,7 @@ enum layers{ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { [MAC_BASE] = LAYOUT_jis_91( - KC_ESC, KC_BRID, KC_BRIU, KC_NO, KC_NO, RGB_VAD, RGB_VAI, KC_MPRV, KC_MPLY, KC_MNXT, KC_MUTE, KC_VOLD, KC_VOLU, KC_NO, KC_NO, RGB_MOD, + KC_ESC, KC_BRID, KC_BRIU, KC_NO, KC_NO, RM_VALD, RM_VALU, KC_MPRV, KC_MPLY, KC_MNXT, KC_MUTE, KC_VOLD, KC_VOLU, KC_NO, KC_NO, RM_NEXT, 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_INT3, 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_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_NUHS, KC_ENT, @@ -33,15 +33,15 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_LCTL, KC_LOPT, KC_LCMD, KC_LNG2, KC_SPC, KC_LNG1, KC_RCMD, KC_ROPT, MO(MAC_FN), KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT), [MAC_FN] = LAYOUT_jis_91( - _______, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, _______, _______, RGB_TOG, + _______, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, _______, _______, RM_TOGG, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - RGB_TOG, RGB_MOD, RGB_VAI, RGB_HUI, RGB_SAI, RGB_SPI, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, RGB_RMOD, RGB_VAD, RGB_HUD, RGB_SAD, RGB_SPD, _______, _______, _______, _______, _______, _______, _______, _______, + RM_TOGG, RM_NEXT, RM_VALU, RM_HUEU, RM_SATU, RM_SPDU, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, RM_PREV, RM_VALD, RM_HUED, RM_SATD, RM_SPDD, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, NK_TOGG, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______), [WIN_BASE] = LAYOUT_jis_91( - 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_NO, RGB_MOD, + 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_NO, RM_NEXT, 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_INT3, 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_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_NUHS, KC_ENT, @@ -49,10 +49,10 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_LCTL, KC_LWIN, KC_LALT, KC_INT5, KC_SPC, KC_INT4, KC_RALT, KC_RWIN, MO(WIN_FN), KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT), [WIN_FN] = LAYOUT_jis_91( - _______, KC_BRID, KC_BRIU, _______, _______, RGB_VAD, RGB_VAI, KC_MPRV, KC_MPLY, KC_MNXT, KC_MUTE, KC_VOLD, KC_VOLU, _______, _______, RGB_TOG, + _______, KC_BRID, KC_BRIU, _______, _______, RM_VALD, RM_VALU, KC_MPRV, KC_MPLY, KC_MNXT, KC_MUTE, KC_VOLD, KC_VOLU, _______, _______, RM_TOGG, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - RGB_TOG, RGB_MOD, RGB_VAI, RGB_HUI, RGB_SAI, RGB_SPI, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, RGB_RMOD, RGB_VAD, RGB_HUD, RGB_SAD, RGB_SPD, _______, _______, _______, _______, _______, _______, _______, _______, + RM_TOGG, RM_NEXT, RM_VALU, RM_HUEU, RM_SATU, RM_SPDU, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, RM_PREV, RM_VALD, RM_HUED, RM_SATD, RM_SPDD, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, NK_TOGG, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______), }; diff --git a/keyboards/keychron/q3/jis_encoder/keymaps/default/keymap.c b/keyboards/keychron/q3/jis_encoder/keymaps/default/keymap.c index 30e85d79df7..a7d6abdf856 100644 --- a/keyboards/keychron/q3/jis_encoder/keymaps/default/keymap.c +++ b/keyboards/keychron/q3/jis_encoder/keymaps/default/keymap.c @@ -25,7 +25,7 @@ enum layers{ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { [MAC_BASE] = LAYOUT_jis_92( - KC_ESC, KC_BRID, KC_BRIU, KC_NO, KC_NO, RGB_VAD, RGB_VAI, KC_MPRV, KC_MPLY, KC_MNXT, KC_MUTE, KC_VOLD, KC_VOLU, KC_MUTE, KC_NO, KC_NO, RGB_MOD, + KC_ESC, KC_BRID, KC_BRIU, KC_NO, KC_NO, RM_VALD, RM_VALU, KC_MPRV, KC_MPLY, KC_MNXT, KC_MUTE, KC_VOLD, KC_VOLU, KC_MUTE, KC_NO, KC_NO, RM_NEXT, 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_INT3, 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_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_NUHS, KC_ENT, @@ -33,15 +33,15 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_LCTL, KC_LOPT, KC_LCMD, KC_LNG2, KC_SPC, KC_LNG1, KC_RCMD, KC_ROPT, MO(MAC_FN), KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT), [MAC_FN] = LAYOUT_jis_92( - _______, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, RGB_TOG, _______, _______, RGB_TOG, + _______, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, RM_TOGG, _______, _______, RM_TOGG, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - RGB_TOG, RGB_MOD, RGB_VAI, RGB_HUI, RGB_SAI, RGB_SPI, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, RGB_RMOD, RGB_VAD, RGB_HUD, RGB_SAD, RGB_SPD, _______, _______, _______, _______, _______, _______, _______, _______, + RM_TOGG, RM_NEXT, RM_VALU, RM_HUEU, RM_SATU, RM_SPDU, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, RM_PREV, RM_VALD, RM_HUED, RM_SATD, RM_SPDD, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, NK_TOGG, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______), [WIN_BASE] = LAYOUT_jis_92( - 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_MUTE, KC_PSCR, KC_NO, RGB_MOD, + 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_MUTE, KC_PSCR, KC_NO, RM_NEXT, 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_INT3, 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_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_NUHS, KC_ENT, @@ -49,10 +49,10 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_LCTL, KC_LWIN, KC_LALT, KC_INT5, KC_SPC, KC_INT4, KC_RALT, KC_RWIN, MO(WIN_FN), KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT), [WIN_FN] = LAYOUT_jis_92( - _______, KC_BRID, KC_BRIU, _______, _______, RGB_VAD, RGB_VAI, KC_MPRV, KC_MPLY, KC_MNXT, KC_MUTE, KC_VOLD, KC_VOLU, RGB_TOG, _______, _______, RGB_TOG, + _______, KC_BRID, KC_BRIU, _______, _______, RM_VALD, RM_VALU, KC_MPRV, KC_MPLY, KC_MNXT, KC_MUTE, KC_VOLD, KC_VOLU, RM_TOGG, _______, _______, RM_TOGG, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - RGB_TOG, RGB_MOD, RGB_VAI, RGB_HUI, RGB_SAI, RGB_SPI, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, RGB_RMOD, RGB_VAD, RGB_HUD, RGB_SAD, RGB_SPD, _______, _______, _______, _______, _______, _______, _______, _______, + RM_TOGG, RM_NEXT, RM_VALU, RM_HUEU, RM_SATU, RM_SPDU, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, RM_PREV, RM_VALD, RM_HUED, RM_SATD, RM_SPDD, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, NK_TOGG, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______), }; @@ -62,8 +62,8 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { #if defined(ENCODER_MAP_ENABLE) const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][NUM_DIRECTIONS] = { [MAC_BASE] = {ENCODER_CCW_CW(KC_VOLD, KC_VOLU) }, - [MAC_FN] = {ENCODER_CCW_CW(RGB_VAD, RGB_VAI) }, + [MAC_FN] = {ENCODER_CCW_CW(RM_VALD, RM_VALU) }, [WIN_BASE] = {ENCODER_CCW_CW(KC_VOLD, KC_VOLU) }, - [WIN_FN] = {ENCODER_CCW_CW(RGB_VAD, RGB_VAI) } + [WIN_FN] = {ENCODER_CCW_CW(RM_VALD, RM_VALU) } }; #endif // ENCODER_MAP_ENABLE diff --git a/keyboards/keychron/q3/q3.c b/keyboards/keychron/q3/q3.c index 846b58d4a7b..0cd0509df58 100644 --- a/keyboards/keychron/q3/q3.c +++ b/keyboards/keychron/q3/q3.c @@ -37,7 +37,7 @@ bool process_record_kb(uint16_t keycode, keyrecord_t *record) { if (!process_record_user(keycode, record)) { return false; } switch (keycode) { #ifdef RGB_MATRIX_ENABLE - case RGB_TOG: + case QK_RGB_MATRIX_TOGGLE: if (record->event.pressed) { switch (rgb_matrix_get_flags()) { case LED_FLAG_ALL: { diff --git a/keyboards/keychron/q4/ansi/keymaps/default/keymap.c b/keyboards/keychron/q4/ansi/keymaps/default/keymap.c index dd8669c3fba..826243be091 100644 --- a/keyboards/keychron/q4/ansi/keymaps/default/keymap.c +++ b/keyboards/keychron/q4/ansi/keymaps/default/keymap.c @@ -42,23 +42,23 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, MO(_FN2), MO(_FN3), KC_RCTL), [_FN1] = LAYOUT_ansi_61( - KC_GRV, KC_BRID, KC_BRIU, KC_NO, KC_NO, RGB_VAD, RGB_VAI, KC_MPRV, KC_MPLY, KC_MNXT, KC_MUTE, KC_VOLD, KC_VOLU, RGB_MOD, - RGB_TOG, RGB_MOD, RGB_VAI, RGB_HUI, RGB_SAI, RGB_SPI, _______, _______, _______, _______, KC_INS, KC_PGUP, KC_HOME, _______, - _______, RGB_RMOD, RGB_VAD, RGB_HUD, RGB_SAD, RGB_SPD, _______, _______, KC_UP, KC_NO, KC_PGDN, KC_END, _______, + KC_GRV, KC_BRID, KC_BRIU, KC_NO, KC_NO, RM_VALD, RM_VALU, KC_MPRV, KC_MPLY, KC_MNXT, KC_MUTE, KC_VOLD, KC_VOLU, RM_NEXT, + RM_TOGG, RM_NEXT, RM_VALU, RM_HUEU, RM_SATU, RM_SPDU, _______, _______, _______, _______, KC_INS, KC_PGUP, KC_HOME, _______, + _______, RM_PREV, RM_VALD, RM_HUED, RM_SATD, RM_SPDD, _______, _______, KC_UP, KC_NO, KC_PGDN, KC_END, _______, _______, _______, _______, _______, _______, _______, NK_TOGG, KC_LEFT, KC_DOWN, KC_RIGHT, KC_DEL, _______, _______, _______, _______, _______, _______, _______, _______, _______), [_FN2] = LAYOUT_ansi_61( - KC_GRV, KC_BRID, KC_BRIU, KC_NO, KC_NO, RGB_VAD, RGB_VAI, KC_MPRV, KC_MPLY, KC_MNXT, KC_MUTE, KC_VOLD, KC_VOLU, RGB_MOD, - RGB_TOG, RGB_MOD, RGB_VAI, RGB_HUI, RGB_SAI, RGB_SPI, _______, _______, KC_APP, KC_SCRL, KC_INS, KC_PGUP, KC_HOME, _______, - _______, RGB_RMOD, RGB_VAD, RGB_HUD, RGB_SAD, RGB_SPD, _______, _______, KC_UP, KC_PSCR, KC_PGDN, KC_END, _______, + KC_GRV, KC_BRID, KC_BRIU, KC_NO, KC_NO, RM_VALD, RM_VALU, KC_MPRV, KC_MPLY, KC_MNXT, KC_MUTE, KC_VOLD, KC_VOLU, RM_NEXT, + RM_TOGG, RM_NEXT, RM_VALU, RM_HUEU, RM_SATU, RM_SPDU, _______, _______, KC_APP, KC_SCRL, KC_INS, KC_PGUP, KC_HOME, _______, + _______, RM_PREV, RM_VALD, RM_HUED, RM_SATD, RM_SPDD, _______, _______, KC_UP, KC_PSCR, KC_PGDN, KC_END, _______, _______, _______, _______, _______, _______, _______, NK_TOGG, KC_LEFT, KC_DOWN, KC_RIGHT, KC_DEL, _______, _______, _______, _______, _______, _______, _______, _______, _______), [_FN3] = LAYOUT_ansi_61( 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, _______, - RGB_TOG, RGB_MOD, RGB_VAI, RGB_HUI, RGB_SAI, RGB_SPI, _______, _______, _______, _______, _______, _______, _______, _______, - _______, RGB_RMOD, RGB_VAD, RGB_HUD, RGB_SAD, RGB_SPD, _______, _______, _______, _______, _______, _______, _______, + RM_TOGG, RM_NEXT, RM_VALU, RM_HUEU, RM_SATU, RM_SPDU, _______, _______, _______, _______, _______, _______, _______, _______, + _______, RM_PREV, RM_VALD, RM_HUED, RM_SATD, RM_SPDD, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______) }; diff --git a/keyboards/keychron/q4/iso/keymaps/default/keymap.c b/keyboards/keychron/q4/iso/keymaps/default/keymap.c index e7c9edb412c..12d503d3244 100644 --- a/keyboards/keychron/q4/iso/keymaps/default/keymap.c +++ b/keyboards/keychron/q4/iso/keymaps/default/keymap.c @@ -42,23 +42,23 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, MO(_FN2), MO(_FN3), KC_RCTL), [_FN1] = LAYOUT_iso_62( - KC_GRV, KC_BRID, KC_BRIU, KC_NO, KC_NO, RGB_VAD, RGB_VAI, KC_MPRV, KC_MPLY, KC_MNXT, KC_MUTE, KC_VOLD, KC_VOLU, RGB_MOD, - RGB_TOG, RGB_MOD, RGB_VAI, RGB_HUI, RGB_SAI, RGB_SPI, _______, _______, _______, _______, KC_INS, KC_PGUP, KC_HOME, - _______, RGB_RMOD, RGB_VAD, RGB_HUD, RGB_SAD, RGB_SPD, _______, _______, KC_UP, KC_NO, KC_PGDN, KC_END, _______, _______, + KC_GRV, KC_BRID, KC_BRIU, KC_NO, KC_NO, RM_VALD, RM_VALU, KC_MPRV, KC_MPLY, KC_MNXT, KC_MUTE, KC_VOLD, KC_VOLU, RM_NEXT, + RM_TOGG, RM_NEXT, RM_VALU, RM_HUEU, RM_SATU, RM_SPDU, _______, _______, _______, _______, KC_INS, KC_PGUP, KC_HOME, + _______, RM_PREV, RM_VALD, RM_HUED, RM_SATD, RM_SPDD, _______, _______, KC_UP, KC_NO, KC_PGDN, KC_END, _______, _______, _______, _______, _______, _______, _______, _______, _______, NK_TOGG, KC_LEFT, KC_DOWN, KC_RIGHT, KC_DEL, _______, _______, _______, _______, _______, _______, _______, _______, _______), [_FN2] = LAYOUT_iso_62( - KC_GRV, KC_BRID, KC_BRIU, KC_NO, KC_NO, RGB_VAD, RGB_VAI, KC_MPRV, KC_MPLY, KC_MNXT, KC_MUTE, KC_VOLD, KC_VOLU, RGB_MOD, - RGB_TOG, RGB_MOD, RGB_VAI, RGB_HUI, RGB_SAI, RGB_SPI, _______, _______, KC_APP, KC_SCRL, KC_INS, KC_PGUP, KC_HOME, - _______, RGB_RMOD, RGB_VAD, RGB_HUD, RGB_SAD, RGB_SPD, _______, _______, KC_UP, KC_PSCR, KC_PGDN, KC_END, _______, _______, + KC_GRV, KC_BRID, KC_BRIU, KC_NO, KC_NO, RM_VALD, RM_VALU, KC_MPRV, KC_MPLY, KC_MNXT, KC_MUTE, KC_VOLD, KC_VOLU, RM_NEXT, + RM_TOGG, RM_NEXT, RM_VALU, RM_HUEU, RM_SATU, RM_SPDU, _______, _______, KC_APP, KC_SCRL, KC_INS, KC_PGUP, KC_HOME, + _______, RM_PREV, RM_VALD, RM_HUED, RM_SATD, RM_SPDD, _______, _______, KC_UP, KC_PSCR, KC_PGDN, KC_END, _______, _______, _______, _______, _______, _______, _______, _______, _______, NK_TOGG, KC_LEFT, KC_DOWN, KC_RIGHT, KC_DEL, _______, _______, _______, _______, _______, _______, _______, _______, _______), [_FN3] = LAYOUT_iso_62( 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, _______, - RGB_TOG, RGB_MOD, RGB_VAI, RGB_HUI, RGB_SAI, RGB_SPI, _______, _______, _______, _______, _______, _______, _______, - _______, RGB_RMOD, RGB_VAD, RGB_HUD, RGB_SAD, RGB_SPD, _______, _______, _______, _______, _______, _______, _______, _______, + RM_TOGG, RM_NEXT, RM_VALU, RM_HUEU, RM_SATU, RM_SPDU, _______, _______, _______, _______, _______, _______, _______, + _______, RM_PREV, RM_VALD, RM_HUED, RM_SATD, RM_SPDD, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______) }; diff --git a/keyboards/keychron/q4/q4.c b/keyboards/keychron/q4/q4.c index 54ad01250fc..44c139f71c7 100644 --- a/keyboards/keychron/q4/q4.c +++ b/keyboards/keychron/q4/q4.c @@ -33,7 +33,7 @@ bool process_record_kb(uint16_t keycode, keyrecord_t *record) { if (!process_record_user(keycode, record)) { return false; } switch (keycode) { #ifdef RGB_MATRIX_ENABLE - case RGB_TOG: + case QK_RGB_MATRIX_TOGGLE: if (record->event.pressed) { switch (rgb_matrix_get_flags()) { case LED_FLAG_ALL: { diff --git a/keyboards/keychron/q5/ansi/keymaps/default/keymap.c b/keyboards/keychron/q5/ansi/keymaps/default/keymap.c index c747bf4ae15..373dc235768 100644 --- a/keyboards/keychron/q5/ansi/keymaps/default/keymap.c +++ b/keyboards/keychron/q5/ansi/keymaps/default/keymap.c @@ -27,31 +27,31 @@ enum layers{ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { [MAC_BASE] = LAYOUT_ansi_100( - KC_ESC, KC_BRID, KC_BRIU, KC_NO, KC_NO, RGB_VAD, RGB_VAI, KC_MPRV, KC_MPLY, KC_MNXT, KC_MUTE, KC_VOLD, KC_VOLU, KC_DEL, KC_HOME, KC_END, KC_PGUP, KC_PGDN, RGB_MOD, + KC_ESC, KC_BRID, KC_BRIU, KC_NO, KC_NO, RM_VALD, RM_VALU, KC_MPRV, KC_MPLY, KC_MNXT, KC_MUTE, KC_VOLD, KC_VOLU, KC_DEL, KC_HOME, KC_END, KC_PGUP, KC_PGDN, RM_NEXT, 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_NUM, KC_PSLS, KC_PAST, KC_PMNS, KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, KC_P7, KC_P8, KC_P9, KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT, KC_P4, KC_P5, KC_P6, KC_PPLS, KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP, KC_P1, KC_P2, KC_P3, KC_LCTL, KC_LOPT, KC_LCMD, KC_SPC, KC_RCMD, MO(MAC_FN), KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT, KC_P0, KC_PDOT, KC_PENT), [MAC_FN] = LAYOUT_ansi_100( - _______, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, _______, _______, _______, _______, _______, RGB_TOG, + _______, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, _______, _______, _______, _______, _______, RM_TOGG, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - RGB_TOG, RGB_MOD, RGB_VAI, RGB_HUI, RGB_SAI, RGB_SPI, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, RGB_RMOD, RGB_VAD, RGB_HUD, RGB_SAD, RGB_SPD, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + RM_TOGG, RM_NEXT, RM_VALU, RM_HUEU, RM_SATU, RM_SPDU, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, RM_PREV, RM_VALD, RM_HUED, RM_SATD, RM_SPDD, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, NK_TOGG, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______), [WIN_BASE] = LAYOUT_ansi_100( - 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_DEL, KC_HOME, KC_END, KC_PGUP, KC_PGDN, RGB_MOD, + 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_DEL, KC_HOME, KC_END, KC_PGUP, KC_PGDN, RM_NEXT, 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_NUM, KC_PSLS, KC_PAST, KC_PMNS, KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, KC_P7, KC_P8, KC_P9, KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT, KC_P4, KC_P5, KC_P6, KC_PPLS, KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP, KC_P1, KC_P2, KC_P3, KC_LCTL, KC_LWIN, KC_LALT, KC_SPC, KC_RALT, MO(WIN_FN), KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT, KC_P0, KC_PDOT, KC_PENT), [WIN_FN] = LAYOUT_ansi_100( - _______, KC_BRID, KC_BRIU, _______, _______, RGB_VAD, RGB_VAI, KC_MPRV, KC_MPLY, KC_MNXT, KC_MUTE, KC_VOLD, KC_VOLU, _______, _______, _______, _______, _______, RGB_TOG, + _______, KC_BRID, KC_BRIU, _______, _______, RM_VALD, RM_VALU, KC_MPRV, KC_MPLY, KC_MNXT, KC_MUTE, KC_VOLD, KC_VOLU, _______, _______, _______, _______, _______, RM_TOGG, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - RGB_TOG, RGB_MOD, RGB_VAI, RGB_HUI, RGB_SAI, RGB_SPI, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, RGB_RMOD, RGB_VAD, RGB_HUD, RGB_SAD, RGB_SPD, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + RM_TOGG, RM_NEXT, RM_VALU, RM_HUEU, RM_SATU, RM_SPDU, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, RM_PREV, RM_VALD, RM_HUED, RM_SATD, RM_SPDD, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, NK_TOGG, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______), }; diff --git a/keyboards/keychron/q5/ansi_encoder/keymaps/default/keymap.c b/keyboards/keychron/q5/ansi_encoder/keymaps/default/keymap.c index c9079b53fff..05eba0b8758 100644 --- a/keyboards/keychron/q5/ansi_encoder/keymaps/default/keymap.c +++ b/keyboards/keychron/q5/ansi_encoder/keymaps/default/keymap.c @@ -27,17 +27,17 @@ enum layers{ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { [MAC_BASE] = LAYOUT_ansi_98( - KC_ESC, KC_BRID, KC_BRIU, KC_NO, KC_NO, RGB_VAD, RGB_VAI, KC_MPRV, KC_MPLY, KC_MNXT, KC_MUTE, KC_VOLD, KC_VOLU, KC_DEL, KC_HOME, KC_END, KC_MUTE, + KC_ESC, KC_BRID, KC_BRIU, KC_NO, KC_NO, RM_VALD, RM_VALU, KC_MPRV, KC_MPLY, KC_MNXT, KC_MUTE, KC_VOLD, KC_VOLU, KC_DEL, KC_HOME, KC_END, KC_MUTE, 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_NUM, KC_PSLS, KC_PAST, KC_PMNS, KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, KC_P7, KC_P8, KC_P9, KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT, KC_P4, KC_P5, KC_P6, KC_PPLS, KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP, KC_P1, KC_P2, KC_P3, KC_LCTL, KC_LOPT, KC_LCMD, KC_SPC, KC_RCMD, MO(MAC_FN), KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT, KC_P0, KC_PDOT, KC_PENT), [MAC_FN] = LAYOUT_ansi_98( - _______, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, _______, _______, _______, RGB_TOG, + _______, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, _______, _______, _______, RM_TOGG, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - RGB_TOG, RGB_MOD, RGB_VAI, RGB_HUI, RGB_SAI, RGB_SPI, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, RGB_RMOD, RGB_VAD, RGB_HUD, RGB_SAD, RGB_SPD, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + RM_TOGG, RM_NEXT, RM_VALU, RM_HUEU, RM_SATU, RM_SPDU, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, RM_PREV, RM_VALD, RM_HUED, RM_SATD, RM_SPDD, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, NK_TOGG, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______), [WIN_BASE] = LAYOUT_ansi_98( @@ -48,10 +48,10 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { 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_P1, KC_P2, KC_P3, KC_LCTL, KC_LWIN, KC_LALT, KC_SPC, KC_RALT, MO(WIN_FN), KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT, KC_P0, KC_PDOT, KC_PENT), [WIN_FN] = LAYOUT_ansi_98( - _______, KC_BRID, KC_BRIU, _______, _______, RGB_VAD, RGB_VAI, KC_MPRV, KC_MPLY, KC_MNXT, KC_MUTE, KC_VOLD, KC_VOLU, _______, _______, _______, RGB_TOG, + _______, KC_BRID, KC_BRIU, _______, _______, RM_VALD, RM_VALU, KC_MPRV, KC_MPLY, KC_MNXT, KC_MUTE, KC_VOLD, KC_VOLU, _______, _______, _______, RM_TOGG, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - RGB_TOG, RGB_MOD, RGB_VAI, RGB_HUI, RGB_SAI, RGB_SPI, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, RGB_RMOD, RGB_VAD, RGB_HUD, RGB_SAD, RGB_SPD, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + RM_TOGG, RM_NEXT, RM_VALU, RM_HUEU, RM_SATU, RM_SPDU, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, RM_PREV, RM_VALD, RM_HUED, RM_SATD, RM_SPDD, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, NK_TOGG, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______), }; @@ -59,8 +59,8 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { #if defined(ENCODER_MAP_ENABLE) const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][NUM_DIRECTIONS] = { [MAC_BASE] = {ENCODER_CCW_CW(KC_VOLD, KC_VOLU) }, - [MAC_FN] = {ENCODER_CCW_CW(RGB_VAD, RGB_VAI) }, + [MAC_FN] = {ENCODER_CCW_CW(RM_VALD, RM_VALU) }, [WIN_BASE] = {ENCODER_CCW_CW(KC_VOLD, KC_VOLU) }, - [WIN_FN] = {ENCODER_CCW_CW(RGB_VAD, RGB_VAI) } + [WIN_FN] = {ENCODER_CCW_CW(RM_VALD, RM_VALU) } }; #endif diff --git a/keyboards/keychron/q5/iso/keymaps/default/keymap.c b/keyboards/keychron/q5/iso/keymaps/default/keymap.c index 6b0214d4d69..b0188186539 100644 --- a/keyboards/keychron/q5/iso/keymaps/default/keymap.c +++ b/keyboards/keychron/q5/iso/keymaps/default/keymap.c @@ -27,31 +27,31 @@ enum layers{ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { [MAC_BASE] = LAYOUT_iso_101( - KC_ESC, KC_BRID, KC_BRIU, KC_NO, KC_NO, RGB_VAD, RGB_VAI, KC_MPRV, KC_MPLY, KC_MNXT, KC_MUTE, KC_VOLD, KC_VOLU, KC_DEL, KC_HOME, KC_END, KC_PGUP, KC_PGDN, RGB_MOD, + KC_ESC, KC_BRID, KC_BRIU, KC_NO, KC_NO, RM_VALD, RM_VALU, KC_MPRV, KC_MPLY, KC_MNXT, KC_MUTE, KC_VOLD, KC_VOLU, KC_DEL, KC_HOME, KC_END, KC_PGUP, KC_PGDN, RM_NEXT, 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_NUM, KC_PSLS, KC_PAST, KC_PMNS, KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_P7, KC_P8, KC_P9, KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_NUHS, KC_ENT, KC_P4, KC_P5, KC_P6, KC_PPLS, 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_UP, KC_P1, KC_P2, KC_P3, KC_LCTL, KC_LOPT, KC_LCMD, KC_SPC, KC_RCMD, MO(MAC_FN), KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT, KC_P0, KC_PDOT, KC_PENT), [MAC_FN] = LAYOUT_iso_101( - _______, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, _______, _______, _______, _______, _______, RGB_TOG, + _______, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, _______, _______, _______, _______, _______, RM_TOGG, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - RGB_TOG, RGB_MOD, RGB_VAI, RGB_HUI, RGB_SAI, RGB_SPI, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, RGB_RMOD, RGB_VAD, RGB_HUD, RGB_SAD, RGB_SPD, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + RM_TOGG, RM_NEXT, RM_VALU, RM_HUEU, RM_SATU, RM_SPDU, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, RM_PREV, RM_VALD, RM_HUED, RM_SATD, RM_SPDD, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, NK_TOGG, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______), [WIN_BASE] = LAYOUT_iso_101( - 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_DEL, KC_HOME, KC_END, KC_PGUP, KC_PGDN, RGB_MOD, + 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_DEL, KC_HOME, KC_END, KC_PGUP, KC_PGDN, RM_NEXT, 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_NUM, KC_PSLS, KC_PAST, KC_PMNS, KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_P7, KC_P8, KC_P9, KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_NUHS, KC_ENT, KC_P4, KC_P5, KC_P6, KC_PPLS, 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_UP, KC_P1, KC_P2, KC_P3, KC_LCTL, KC_LWIN, KC_LALT, KC_SPC, KC_RALT, MO(WIN_FN), KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT, KC_P0, KC_PDOT, KC_PENT), [WIN_FN] = LAYOUT_iso_101( - _______, KC_BRID, KC_BRIU, _______, _______, RGB_VAD, RGB_VAI, KC_MPRV, KC_MPLY, KC_MNXT, KC_MUTE, KC_VOLD, KC_VOLU, _______, _______, _______, _______, _______, RGB_TOG, + _______, KC_BRID, KC_BRIU, _______, _______, RM_VALD, RM_VALU, KC_MPRV, KC_MPLY, KC_MNXT, KC_MUTE, KC_VOLD, KC_VOLU, _______, _______, _______, _______, _______, RM_TOGG, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - RGB_TOG, RGB_MOD, RGB_VAI, RGB_HUI, RGB_SAI, RGB_SPI, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, RGB_RMOD, RGB_VAD, RGB_HUD, RGB_SAD, RGB_SPD, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + RM_TOGG, RM_NEXT, RM_VALU, RM_HUEU, RM_SATU, RM_SPDU, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, RM_PREV, RM_VALD, RM_HUED, RM_SATD, RM_SPDD, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, NK_TOGG, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______), }; diff --git a/keyboards/keychron/q5/iso_encoder/keymaps/default/keymap.c b/keyboards/keychron/q5/iso_encoder/keymaps/default/keymap.c index e1f3d93212e..69fcfcc8723 100644 --- a/keyboards/keychron/q5/iso_encoder/keymaps/default/keymap.c +++ b/keyboards/keychron/q5/iso_encoder/keymaps/default/keymap.c @@ -27,17 +27,17 @@ enum layers{ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { [MAC_BASE] = LAYOUT_iso_99( - KC_ESC, KC_BRID, KC_BRIU, KC_NO, KC_NO, RGB_VAD, RGB_VAI, KC_MPRV, KC_MPLY, KC_MNXT, KC_MUTE, KC_VOLD, KC_VOLU, KC_DEL, KC_HOME, KC_END, KC_MUTE, + KC_ESC, KC_BRID, KC_BRIU, KC_NO, KC_NO, RM_VALD, RM_VALU, KC_MPRV, KC_MPLY, KC_MNXT, KC_MUTE, KC_VOLD, KC_VOLU, KC_DEL, KC_HOME, KC_END, KC_MUTE, 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_NUM, KC_PSLS, KC_PAST, KC_PMNS, KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_P7, KC_P8, KC_P9, KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_NUHS, KC_ENT, KC_P4, KC_P5, KC_P6, KC_PPLS, 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_UP, KC_P1, KC_P2, KC_P3, KC_LCTL, KC_LOPT, KC_LCMD, KC_SPC, KC_RCMD, MO(MAC_FN), KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT, KC_P0, KC_PDOT, KC_PENT), [MAC_FN] = LAYOUT_iso_99( - _______, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, _______, _______, _______, RGB_TOG, + _______, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, _______, _______, _______, RM_TOGG, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - RGB_TOG, RGB_MOD, RGB_VAI, RGB_HUI, RGB_SAI, RGB_SPI, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, RGB_RMOD, RGB_VAD, RGB_HUD, RGB_SAD, RGB_SPD, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + RM_TOGG, RM_NEXT, RM_VALU, RM_HUEU, RM_SATU, RM_SPDU, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, RM_PREV, RM_VALD, RM_HUED, RM_SATD, RM_SPDD, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, NK_TOGG, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______), [WIN_BASE] = LAYOUT_iso_99( @@ -48,10 +48,10 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { 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_UP, KC_P1, KC_P2, KC_P3, KC_LCTL, KC_LWIN, KC_LALT, KC_SPC, KC_RALT, MO(WIN_FN), KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT, KC_P0, KC_PDOT, KC_PENT), [WIN_FN] = LAYOUT_iso_99( - _______, KC_BRID, KC_BRIU, _______, _______, RGB_VAD, RGB_VAI, KC_MPRV, KC_MPLY, KC_MNXT, KC_MUTE, KC_VOLD, KC_VOLU, _______, _______, _______, RGB_TOG, + _______, KC_BRID, KC_BRIU, _______, _______, RM_VALD, RM_VALU, KC_MPRV, KC_MPLY, KC_MNXT, KC_MUTE, KC_VOLD, KC_VOLU, _______, _______, _______, RM_TOGG, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - RGB_TOG, RGB_MOD, RGB_VAI, RGB_HUI, RGB_SAI, RGB_SPI, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, RGB_RMOD, RGB_VAD, RGB_HUD, RGB_SAD, RGB_SPD, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + RM_TOGG, RM_NEXT, RM_VALU, RM_HUEU, RM_SATU, RM_SPDU, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, RM_PREV, RM_VALD, RM_HUED, RM_SATD, RM_SPDD, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, NK_TOGG, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______), }; @@ -59,8 +59,8 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { #if defined(ENCODER_MAP_ENABLE) const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][NUM_DIRECTIONS] = { [MAC_BASE] = {ENCODER_CCW_CW(KC_VOLD, KC_VOLU) }, - [MAC_FN] = {ENCODER_CCW_CW(RGB_VAD, RGB_VAI) }, + [MAC_FN] = {ENCODER_CCW_CW(RM_VALD, RM_VALU) }, [WIN_BASE] = {ENCODER_CCW_CW(KC_VOLD, KC_VOLU) }, - [WIN_FN] = {ENCODER_CCW_CW(RGB_VAD, RGB_VAI) } + [WIN_FN] = {ENCODER_CCW_CW(RM_VALD, RM_VALU) } }; #endif diff --git a/keyboards/keychron/q5/q5.c b/keyboards/keychron/q5/q5.c index 4026e9dea83..c45eaa3cb26 100644 --- a/keyboards/keychron/q5/q5.c +++ b/keyboards/keychron/q5/q5.c @@ -38,7 +38,7 @@ bool process_record_kb(uint16_t keycode, keyrecord_t *record) { } switch (keycode) { # ifdef RGB_MATRIX_ENABLE - case RGB_TOG: + case QK_RGB_MATRIX_TOGGLE: if (record->event.pressed) { switch (rgb_matrix_get_flags()) { case LED_FLAG_ALL: { diff --git a/keyboards/keychron/q6/ansi/keymaps/default/keymap.c b/keyboards/keychron/q6/ansi/keymaps/default/keymap.c index 19bab1ee378..2a514106474 100644 --- a/keyboards/keychron/q6/ansi/keymaps/default/keymap.c +++ b/keyboards/keychron/q6/ansi/keymaps/default/keymap.c @@ -27,31 +27,31 @@ enum layers{ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { [MAC_BASE] = LAYOUT_ansi_108( - KC_ESC, KC_BRID, KC_BRIU, KC_NO, KC_NO, RGB_VAD, RGB_VAI, KC_MPRV, KC_MPLY, KC_MNXT, KC_MUTE, KC_VOLD, KC_VOLU, KC_NO, KC_NO, RGB_MOD, KC_F13, KC_F14, KC_F15, KC_F16, + KC_ESC, KC_BRID, KC_BRIU, KC_NO, KC_NO, RM_VALD, RM_VALU, KC_MPRV, KC_MPLY, KC_MNXT, KC_MUTE, KC_VOLD, KC_VOLU, KC_NO, KC_NO, RM_NEXT, KC_F13, KC_F14, KC_F15, KC_F16, 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_NUM, KC_PSLS, KC_PAST, KC_PMNS, KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, KC_DEL, KC_END, KC_PGDN, KC_P7, KC_P8, KC_P9, KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT, KC_P4, KC_P5, KC_P6, KC_PPLS, KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP, KC_P1, KC_P2, KC_P3, KC_LCTL, KC_LOPT, KC_LCMD, KC_SPC, KC_RCMD, KC_ROPT, MO(MAC_FN), KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT, KC_P0, KC_PDOT, KC_PENT), [MAC_FN] = LAYOUT_ansi_108( - _______, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, _______, _______, RGB_TOG, _______, _______, _______, _______, + _______, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, _______, _______, RM_TOGG, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - RGB_TOG, RGB_MOD, RGB_VAI, RGB_HUI, RGB_SAI, RGB_SPI, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, RGB_RMOD, RGB_VAD, RGB_HUD, RGB_SAD, RGB_SPD, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + RM_TOGG, RM_NEXT, RM_VALU, RM_HUEU, RM_SATU, RM_SPDU, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, RM_PREV, RM_VALD, RM_HUED, RM_SATD, RM_SPDD, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, NK_TOGG, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______), [WIN_BASE] = LAYOUT_ansi_108( - 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_NO, RGB_MOD, _______, _______, _______, _______, + 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_NO, RM_NEXT, _______, _______, _______, _______, 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_NUM, KC_PSLS, KC_PAST, KC_PMNS, KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, KC_DEL, KC_END, KC_PGDN, KC_P7, KC_P8, KC_P9, KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT, KC_P4, KC_P5, KC_P6, KC_PPLS, KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP, KC_P1, KC_P2, KC_P3, KC_LCTL, KC_LWIN, KC_LALT, KC_SPC, KC_RALT, KC_RWIN, MO(WIN_FN), KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT, KC_P0, KC_PDOT, KC_PENT), [WIN_FN] = LAYOUT_ansi_108( - _______, KC_BRID, KC_BRIU, _______, _______, RGB_VAD, RGB_VAI, KC_MPRV, KC_MPLY, KC_MNXT, KC_MUTE, KC_VOLD, KC_VOLU, _______, _______, RGB_TOG, _______, _______, _______, _______, + _______, KC_BRID, KC_BRIU, _______, _______, RM_VALD, RM_VALU, KC_MPRV, KC_MPLY, KC_MNXT, KC_MUTE, KC_VOLD, KC_VOLU, _______, _______, RM_TOGG, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - RGB_TOG, RGB_MOD, RGB_VAI, RGB_HUI, RGB_SAI, RGB_SPI, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, RGB_RMOD, RGB_VAD, RGB_HUD, RGB_SAD, RGB_SPD, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + RM_TOGG, RM_NEXT, RM_VALU, RM_HUEU, RM_SATU, RM_SPDU, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, RM_PREV, RM_VALD, RM_HUED, RM_SATD, RM_SPDD, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, NK_TOGG, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______), }; diff --git a/keyboards/keychron/q6/ansi_encoder/keymaps/default/keymap.c b/keyboards/keychron/q6/ansi_encoder/keymaps/default/keymap.c index 25f4852ef7e..72463775404 100644 --- a/keyboards/keychron/q6/ansi_encoder/keymaps/default/keymap.c +++ b/keyboards/keychron/q6/ansi_encoder/keymaps/default/keymap.c @@ -27,31 +27,31 @@ enum layers{ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { [MAC_BASE] = LAYOUT_ansi_109( - KC_ESC, KC_BRID, KC_BRIU, KC_NO, KC_NO, RGB_VAD, RGB_VAI, KC_MPRV, KC_MPLY, KC_MNXT, KC_MUTE, KC_VOLD, KC_VOLU, KC_MUTE, KC_NO, KC_NO, RGB_MOD, KC_F13, KC_F14, KC_F15, KC_F16, + KC_ESC, KC_BRID, KC_BRIU, KC_NO, KC_NO, RM_VALD, RM_VALU, KC_MPRV, KC_MPLY, KC_MNXT, KC_MUTE, KC_VOLD, KC_VOLU, KC_MUTE, KC_NO, KC_NO, RM_NEXT, KC_F13, KC_F14, KC_F15, KC_F16, 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_NUM, KC_PSLS, KC_PAST, KC_PMNS, KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, KC_DEL, KC_END, KC_PGDN, KC_P7, KC_P8, KC_P9, KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT, KC_P4, KC_P5, KC_P6, KC_PPLS, KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP, KC_P1, KC_P2, KC_P3, KC_LCTL, KC_LOPT, KC_LCMD, KC_SPC, KC_RCMD, KC_ROPT, MO(MAC_FN), KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT, KC_P0, KC_PDOT, KC_PENT), [MAC_FN] = LAYOUT_ansi_109( - _______, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, RGB_TOG, _______, _______, RGB_TOG, _______, _______, _______, _______, + _______, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, RM_TOGG, _______, _______, RM_TOGG, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - RGB_TOG, RGB_MOD, RGB_VAI, RGB_HUI, RGB_SAI, RGB_SPI, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, RGB_RMOD, RGB_VAD, RGB_HUD, RGB_SAD, RGB_SPD, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + RM_TOGG, RM_NEXT, RM_VALU, RM_HUEU, RM_SATU, RM_SPDU, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, RM_PREV, RM_VALD, RM_HUED, RM_SATD, RM_SPDD, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, NK_TOGG, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______), [WIN_BASE] = LAYOUT_ansi_109( - 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_MUTE, KC_PSCR, KC_NO, RGB_MOD, _______, _______, _______, _______, + 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_MUTE, KC_PSCR, KC_NO, RM_NEXT, _______, _______, _______, _______, 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_NUM, KC_PSLS, KC_PAST, KC_PMNS, KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, KC_DEL, KC_END, KC_PGDN, KC_P7, KC_P8, KC_P9, KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT, KC_P4, KC_P5, KC_P6, KC_PPLS, KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP, KC_P1, KC_P2, KC_P3, KC_LCTL, KC_LWIN, KC_LALT, KC_SPC, KC_RALT, KC_RWIN, MO(WIN_FN), KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT, KC_P0, KC_PDOT, KC_PENT), [WIN_FN] = LAYOUT_ansi_109( - _______, KC_BRID, KC_BRIU, _______, _______, RGB_VAD, RGB_VAI, KC_MPRV, KC_MPLY, KC_MNXT, KC_MUTE, KC_VOLD, KC_VOLU, RGB_TOG, _______, _______, RGB_TOG, _______, _______, _______, _______, + _______, KC_BRID, KC_BRIU, _______, _______, RM_VALD, RM_VALU, KC_MPRV, KC_MPLY, KC_MNXT, KC_MUTE, KC_VOLD, KC_VOLU, RM_TOGG, _______, _______, RM_TOGG, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - RGB_TOG, RGB_MOD, RGB_VAI, RGB_HUI, RGB_SAI, RGB_SPI, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, RGB_RMOD, RGB_VAD, RGB_HUD, RGB_SAD, RGB_SPD, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + RM_TOGG, RM_NEXT, RM_VALU, RM_HUEU, RM_SATU, RM_SPDU, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, RM_PREV, RM_VALD, RM_HUED, RM_SATD, RM_SPDD, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, NK_TOGG, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______), }; @@ -59,8 +59,8 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { #if defined(ENCODER_MAP_ENABLE) const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][NUM_DIRECTIONS] = { [MAC_BASE] = {ENCODER_CCW_CW(KC_VOLD, KC_VOLU) }, - [MAC_FN] = {ENCODER_CCW_CW(RGB_VAD, RGB_VAI) }, + [MAC_FN] = {ENCODER_CCW_CW(RM_VALD, RM_VALU) }, [WIN_BASE] = {ENCODER_CCW_CW(KC_VOLD, KC_VOLU) }, - [WIN_FN] = {ENCODER_CCW_CW(RGB_VAD, RGB_VAI) } + [WIN_FN] = {ENCODER_CCW_CW(RM_VALD, RM_VALU) } }; #endif diff --git a/keyboards/keychron/q6/iso/keymaps/default/keymap.c b/keyboards/keychron/q6/iso/keymaps/default/keymap.c index cf376b89048..dd5d88e4205 100644 --- a/keyboards/keychron/q6/iso/keymaps/default/keymap.c +++ b/keyboards/keychron/q6/iso/keymaps/default/keymap.c @@ -27,31 +27,31 @@ enum layers{ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { [MAC_BASE] = LAYOUT_iso_109( - KC_ESC, KC_BRID, KC_BRIU, KC_NO, KC_NO, RGB_VAD, RGB_VAI, KC_MPRV, KC_MPLY, KC_MNXT, KC_MUTE, KC_VOLD, KC_VOLU, KC_NO, KC_NO, RGB_MOD, KC_F13, KC_F14, KC_F15, KC_F16, + KC_ESC, KC_BRID, KC_BRIU, KC_NO, KC_NO, RM_VALD, RM_VALU, KC_MPRV, KC_MPLY, KC_MNXT, KC_MUTE, KC_VOLD, KC_VOLU, KC_NO, KC_NO, RM_NEXT, KC_F13, KC_F14, KC_F15, KC_F16, 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_NUM, KC_PSLS, KC_PAST, KC_PMNS, KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_DEL, KC_END, KC_PGDN, KC_P7, KC_P8, KC_P9, KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_NUHS, KC_ENT, KC_P4, KC_P5, KC_P6, KC_PPLS, 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_UP, KC_P1, KC_P2, KC_P3, KC_LCTL, KC_LOPT, KC_LCMD, KC_SPC, KC_RCMD, KC_ROPT, MO(MAC_FN), KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT, KC_P0, KC_PDOT, KC_PENT), [MAC_FN] = LAYOUT_iso_109( - _______, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, _______, _______, RGB_TOG, _______, _______, _______, _______, + _______, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, _______, _______, RM_TOGG, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - RGB_TOG, RGB_MOD, RGB_VAI, RGB_HUI, RGB_SAI, RGB_SPI, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, RGB_RMOD, RGB_VAD, RGB_HUD, RGB_SAD, RGB_SPD, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + RM_TOGG, RM_NEXT, RM_VALU, RM_HUEU, RM_SATU, RM_SPDU, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, RM_PREV, RM_VALD, RM_HUED, RM_SATD, RM_SPDD, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, NK_TOGG, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______), [WIN_BASE] = LAYOUT_iso_109( - 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_NO, RGB_MOD, _______, _______, _______, _______, + 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_NO, RM_NEXT, _______, _______, _______, _______, 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_NUM, KC_PSLS, KC_PAST, KC_PMNS, KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_DEL, KC_END, KC_PGDN, KC_P7, KC_P8, KC_P9, KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_NUHS, KC_ENT, KC_P4, KC_P5, KC_P6, KC_PPLS, 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_UP, KC_P1, KC_P2, KC_P3, KC_LCTL, KC_LWIN, KC_LALT, KC_SPC, KC_RALT, KC_RWIN, MO(WIN_FN), KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT, KC_P0, KC_PDOT, KC_PENT), [WIN_FN] = LAYOUT_iso_109( - _______, KC_BRID, KC_BRIU, _______, _______, RGB_VAD, RGB_VAI, KC_MPRV, KC_MPLY, KC_MNXT, KC_MUTE, KC_VOLD, KC_VOLU, _______, _______, RGB_TOG, _______, _______, _______, _______, + _______, KC_BRID, KC_BRIU, _______, _______, RM_VALD, RM_VALU, KC_MPRV, KC_MPLY, KC_MNXT, KC_MUTE, KC_VOLD, KC_VOLU, _______, _______, RM_TOGG, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - RGB_TOG, RGB_MOD, RGB_VAI, RGB_HUI, RGB_SAI, RGB_SPI, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, RGB_RMOD, RGB_VAD, RGB_HUD, RGB_SAD, RGB_SPD, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + RM_TOGG, RM_NEXT, RM_VALU, RM_HUEU, RM_SATU, RM_SPDU, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, RM_PREV, RM_VALD, RM_HUED, RM_SATD, RM_SPDD, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, NK_TOGG, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______), }; diff --git a/keyboards/keychron/q6/iso_encoder/keymaps/default/keymap.c b/keyboards/keychron/q6/iso_encoder/keymaps/default/keymap.c index 8eed8a5b76e..907d015dc00 100644 --- a/keyboards/keychron/q6/iso_encoder/keymaps/default/keymap.c +++ b/keyboards/keychron/q6/iso_encoder/keymaps/default/keymap.c @@ -27,31 +27,31 @@ enum layers{ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { [MAC_BASE] = LAYOUT_iso_110( - KC_ESC, KC_BRID, KC_BRIU, KC_NO, KC_NO, RGB_VAD, RGB_VAI, KC_MPRV, KC_MPLY, KC_MNXT, KC_MUTE, KC_VOLD, KC_VOLU, KC_MUTE, KC_NO, KC_NO, RGB_MOD, KC_F13, KC_F14, KC_F15, KC_F16, + KC_ESC, KC_BRID, KC_BRIU, KC_NO, KC_NO, RM_VALD, RM_VALU, KC_MPRV, KC_MPLY, KC_MNXT, KC_MUTE, KC_VOLD, KC_VOLU, KC_MUTE, KC_NO, KC_NO, RM_NEXT, KC_F13, KC_F14, KC_F15, KC_F16, 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_NUM, KC_PSLS, KC_PAST, KC_PMNS, KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_DEL, KC_END, KC_PGDN, KC_P7, KC_P8, KC_P9, KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_NUHS, KC_ENT, KC_P4, KC_P5, KC_P6, KC_PPLS, 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_UP, KC_P1, KC_P2, KC_P3, KC_LCTL, KC_LOPT, KC_LCMD , KC_SPC, KC_RCMD, KC_ROPT, MO(MAC_FN), KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT, KC_P0, KC_PDOT, KC_PENT), [MAC_FN] = LAYOUT_iso_110( - _______, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, RGB_TOG, _______, _______, RGB_TOG, _______, _______, _______, _______, + _______, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, RM_TOGG, _______, _______, RM_TOGG, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - RGB_TOG, RGB_MOD, RGB_VAI, RGB_HUI, RGB_SAI, RGB_SPI, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, RGB_RMOD, RGB_VAD, RGB_HUD, RGB_SAD, RGB_SPD, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + RM_TOGG, RM_NEXT, RM_VALU, RM_HUEU, RM_SATU, RM_SPDU, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, RM_PREV, RM_VALD, RM_HUED, RM_SATD, RM_SPDD, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, NK_TOGG, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______), [WIN_BASE] = LAYOUT_iso_110( - 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_MUTE, KC_PSCR, KC_NO, RGB_MOD, _______, _______, _______, _______, + 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_MUTE, KC_PSCR, KC_NO, RM_NEXT, _______, _______, _______, _______, 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_NUM, KC_PSLS, KC_PAST, KC_PMNS, KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_DEL, KC_END, KC_PGDN, KC_P7, KC_P8, KC_P9, KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_NUHS, KC_ENT, KC_P4, KC_P5, KC_P6, KC_PPLS, 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_UP, KC_P1, KC_P2, KC_P3, KC_LCTL, KC_LWIN, KC_LALT, KC_SPC, KC_RALT, KC_RWIN, MO(WIN_FN), KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT, KC_P0, KC_PDOT, KC_PENT), [WIN_FN] = LAYOUT_iso_110( - _______, KC_BRID, KC_BRIU, _______, _______, RGB_VAD, RGB_VAI, KC_MPRV, KC_MPLY, KC_MNXT, KC_MUTE, KC_VOLD, KC_VOLU, RGB_TOG, _______, _______, RGB_TOG, _______, _______, _______, _______, + _______, KC_BRID, KC_BRIU, _______, _______, RM_VALD, RM_VALU, KC_MPRV, KC_MPLY, KC_MNXT, KC_MUTE, KC_VOLD, KC_VOLU, RM_TOGG, _______, _______, RM_TOGG, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - RGB_TOG, RGB_MOD, RGB_VAI, RGB_HUI, RGB_SAI, RGB_SPI, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, RGB_RMOD, RGB_VAD, RGB_HUD, RGB_SAD, RGB_SPD, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + RM_TOGG, RM_NEXT, RM_VALU, RM_HUEU, RM_SATU, RM_SPDU, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, RM_PREV, RM_VALD, RM_HUED, RM_SATD, RM_SPDD, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, NK_TOGG, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______), }; @@ -59,8 +59,8 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { #if defined(ENCODER_MAP_ENABLE) const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][NUM_DIRECTIONS] = { [MAC_BASE] = {ENCODER_CCW_CW(KC_VOLD, KC_VOLU) }, - [MAC_FN] = {ENCODER_CCW_CW(RGB_VAD, RGB_VAI) }, + [MAC_FN] = {ENCODER_CCW_CW(RM_VALD, RM_VALU) }, [WIN_BASE] = {ENCODER_CCW_CW(KC_VOLD, KC_VOLU) }, - [WIN_FN] = {ENCODER_CCW_CW(RGB_VAD, RGB_VAI) } + [WIN_FN] = {ENCODER_CCW_CW(RM_VALD, RM_VALU) } }; #endif diff --git a/keyboards/keychron/q6/q6.c b/keyboards/keychron/q6/q6.c index c1dc38a3fcf..d5cdd37c51b 100644 --- a/keyboards/keychron/q6/q6.c +++ b/keyboards/keychron/q6/q6.c @@ -37,7 +37,7 @@ bool process_record_kb(uint16_t keycode, keyrecord_t *record) { return false; } switch (keycode) { - case RGB_TOG: + case QK_RGB_MATRIX_TOGGLE: if (record->event.pressed) { switch (rgb_matrix_get_flags()) { case LED_FLAG_ALL: { diff --git a/keyboards/keychron/q65/ansi_encoder/keymaps/default/keymap.c b/keyboards/keychron/q65/ansi_encoder/keymaps/default/keymap.c index dbe8c04973c..e83bc4b6e5c 100644 --- a/keyboards/keychron/q65/ansi_encoder/keymaps/default/keymap.c +++ b/keyboards/keychron/q65/ansi_encoder/keymaps/default/keymap.c @@ -45,23 +45,23 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { _______, KC_LCTL, KC_LWIN, KC_LALT, KC_SPC, KC_RALT, MO(_FN2), MO(_FN3), KC_LEFT, KC_DOWN, KC_RGHT), [_FN1] = LAYOUT_ansi_73( - RGB_TOG, KC_GRV, KC_BRID, KC_BRIU, KC_NO, KC_NO, RGB_VAD, RGB_VAI, KC_MPRV, KC_MPLY, KC_MNXT, KC_MUTE, KC_VOLD, KC_VOLU, _______, _______, - _______, RGB_TOG, RGB_MOD, RGB_VAI, RGB_HUI, RGB_SAI, RGB_SPI, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, RGB_RMOD, RGB_VAD, RGB_HUD, RGB_SAD, RGB_SPD, _______, _______, _______, _______, _______, _______, _______, _______, + RM_TOGG, KC_GRV, KC_BRID, KC_BRIU, KC_NO, KC_NO, RM_VALD, RM_VALU, KC_MPRV, KC_MPLY, KC_MNXT, KC_MUTE, KC_VOLD, KC_VOLU, _______, _______, + _______, RM_TOGG, RM_NEXT, RM_VALU, RM_HUEU, RM_SATU, RM_SPDU, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, RM_PREV, RM_VALD, RM_HUED, RM_SATD, RM_SPDD, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, NK_TOGG, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______), [_FN2] = LAYOUT_ansi_73( - RGB_TOG, KC_GRV, KC_BRID, KC_BRIU, KC_TASK, KC_FLXP, RGB_VAD, RGB_VAI, KC_MPRV, KC_MPLY, KC_MNXT, KC_MUTE, KC_VOLD, KC_VOLU, _______, _______, - _______, RGB_TOG, RGB_MOD, RGB_VAI, RGB_HUI, RGB_SAI, RGB_SPI, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, RGB_RMOD, RGB_VAD, RGB_HUD, RGB_SAD, RGB_SPD, _______, _______, _______, _______, _______, _______, _______, _______, + RM_TOGG, KC_GRV, KC_BRID, KC_BRIU, KC_TASK, KC_FLXP, RM_VALD, RM_VALU, KC_MPRV, KC_MPLY, KC_MNXT, KC_MUTE, KC_VOLD, KC_VOLU, _______, _______, + _______, RM_TOGG, RM_NEXT, RM_VALU, RM_HUEU, RM_SATU, RM_SPDU, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, RM_PREV, RM_VALD, RM_HUED, RM_SATD, RM_SPDD, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, NK_TOGG, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______), [_FN3] = LAYOUT_ansi_73( _______, 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, _______, _______, - _______, RGB_TOG, RGB_MOD, RGB_VAI, RGB_HUI, RGB_SAI, RGB_SPI, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, RGB_RMOD, RGB_VAD, RGB_HUD, RGB_SAD, RGB_SPD, _______, _______, _______, _______, _______, _______, _______, _______, + _______, RM_TOGG, RM_NEXT, RM_VALU, RM_HUEU, RM_SATU, RM_SPDU, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, RM_PREV, RM_VALD, RM_HUED, RM_SATD, RM_SPDD, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______) }; @@ -70,8 +70,8 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][NUM_DIRECTIONS] = { [MAC_BASE] = { ENCODER_CCW_CW(KC_VOLD, KC_VOLU)}, [WIN_BASE] = { ENCODER_CCW_CW(KC_VOLD, KC_VOLU)}, - [_FN1] = { ENCODER_CCW_CW(RGB_VAD, RGB_VAI)}, - [_FN2] = { ENCODER_CCW_CW(RGB_VAD, RGB_VAI)}, + [_FN1] = { ENCODER_CCW_CW(RM_VALD, RM_VALU)}, + [_FN2] = { ENCODER_CCW_CW(RM_VALD, RM_VALU)}, [_FN3] = { ENCODER_CCW_CW(_______, _______)} }; #endif // ENCODER_MAP_ENABLE diff --git a/keyboards/keychron/q65/q65.c b/keyboards/keychron/q65/q65.c index e293733bfe6..e02e53e8289 100644 --- a/keyboards/keychron/q65/q65.c +++ b/keyboards/keychron/q65/q65.c @@ -35,7 +35,7 @@ bool process_record_kb(uint16_t keycode, keyrecord_t *record) { if (!process_record_user(keycode, record)) { return false; } switch (keycode) { #ifdef RGB_MATRIX_ENABLE - case RGB_TOG: + case QK_RGB_MATRIX_TOGGLE: if (record->event.pressed) { switch (rgb_matrix_get_flags()) { case LED_FLAG_ALL: { diff --git a/keyboards/keychron/q7/ansi/keymaps/default/keymap.c b/keyboards/keychron/q7/ansi/keymaps/default/keymap.c index 4fb2e861ca0..a4e428f39aa 100644 --- a/keyboards/keychron/q7/ansi/keymaps/default/keymap.c +++ b/keyboards/keychron/q7/ansi/keymaps/default/keymap.c @@ -31,37 +31,37 @@ enum layers{ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { [MAC_BASE] = LAYOUT_ansi_72( - 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_INS, RGB_MOD, + 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_INS, RM_NEXT, 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_DEL, KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT, KC_HOME, 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_LOPT, KC_LCMD, KC_SPC, KC_RCMD, KC_RCTL, MO(_FN1), MO(_FN3), KC_LEFT, KC_DOWN, KC_RGHT), [WIN_BASE] = LAYOUT_ansi_72( - 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_INS, RGB_MOD, + 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_INS, RM_NEXT, 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_DEL, KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT, KC_HOME, 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, KC_RALT, KC_RCTL, MO(_FN2), MO(_FN3), KC_LEFT, KC_DOWN, KC_RGHT), [_FN1] = LAYOUT_ansi_72( - KC_GRV, KC_BRID, KC_BRIU, KC_NO, KC_NO, RGB_VAD, RGB_VAI, KC_MPRV, KC_MPLY, KC_MNXT, KC_MUTE, KC_VOLD, KC_VOLU, _______, _______, RGB_TOG, - RGB_TOG, RGB_MOD, RGB_VAI, RGB_HUI, RGB_SAI, RGB_SPI, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, RGB_RMOD, RGB_VAD, RGB_HUD, RGB_SAD, RGB_SPD, _______, _______, _______, _______, _______, _______, _______, _______, _______, + KC_GRV, KC_BRID, KC_BRIU, KC_NO, KC_NO, RM_VALD, RM_VALU, KC_MPRV, KC_MPLY, KC_MNXT, KC_MUTE, KC_VOLD, KC_VOLU, _______, _______, RM_TOGG, + RM_TOGG, RM_NEXT, RM_VALU, RM_HUEU, RM_SATU, RM_SPDU, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, RM_PREV, RM_VALD, RM_HUED, RM_SATD, RM_SPDD, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, NK_TOGG, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______), [_FN2] = LAYOUT_ansi_72( - KC_GRV, KC_BRID, KC_BRIU, KC_TASK, KC_FLXP, RGB_VAD, RGB_VAI, KC_MPRV, KC_MPLY, KC_MNXT, KC_MUTE, KC_VOLD, KC_VOLU, _______, _______, RGB_TOG, - RGB_TOG, RGB_MOD, RGB_VAI, RGB_HUI, RGB_SAI, RGB_SPI, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, RGB_RMOD, RGB_VAD, RGB_HUD, RGB_SAD, RGB_SPD, _______, _______, _______, _______, _______, _______, _______, _______, _______, + KC_GRV, KC_BRID, KC_BRIU, KC_TASK, KC_FLXP, RM_VALD, RM_VALU, KC_MPRV, KC_MPLY, KC_MNXT, KC_MUTE, KC_VOLD, KC_VOLU, _______, _______, RM_TOGG, + RM_TOGG, RM_NEXT, RM_VALU, RM_HUEU, RM_SATU, RM_SPDU, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, RM_PREV, RM_VALD, RM_HUED, RM_SATD, RM_SPDD, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, NK_TOGG, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______), [_FN3] = LAYOUT_ansi_72( 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, _______, _______, _______, - RGB_TOG, RGB_MOD, RGB_VAI, RGB_HUI, RGB_SAI, RGB_SPI, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, RGB_RMOD, RGB_VAD, RGB_HUD, RGB_SAD, RGB_SPD, _______, _______, _______, _______, _______, _______, _______, _______, _______, + RM_TOGG, RM_NEXT, RM_VALU, RM_HUEU, RM_SATU, RM_SPDU, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, RM_PREV, RM_VALD, RM_HUED, RM_SATD, RM_SPDD, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______) }; diff --git a/keyboards/keychron/q7/iso/keymaps/default/keymap.c b/keyboards/keychron/q7/iso/keymaps/default/keymap.c index afb0aae445c..f40f5e9f465 100644 --- a/keyboards/keychron/q7/iso/keymaps/default/keymap.c +++ b/keyboards/keychron/q7/iso/keymaps/default/keymap.c @@ -31,37 +31,37 @@ enum layers{ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { [MAC_BASE] = LAYOUT_iso_73( - 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_INS, RGB_MOD, + 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_INS, RM_NEXT, 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_END, 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_NUHS, KC_ENT, KC_HOME, KC_PGUP, 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_UP, KC_PGDN, KC_LCTL, KC_LOPT, KC_LCMD, KC_SPC, KC_RCMD, KC_RCTL, MO(_FN1), MO(_FN3), KC_LEFT, KC_DOWN, KC_RGHT), [WIN_BASE] = LAYOUT_iso_73( - 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_INS, RGB_MOD, + 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_INS, RM_NEXT, 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_END, 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_NUHS, KC_ENT, KC_HOME, KC_PGUP, 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_UP, KC_PGDN, KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, KC_RCTL, MO(_FN2), MO(_FN3), KC_LEFT, KC_DOWN, KC_RGHT), [_FN1] = LAYOUT_iso_73( - KC_GRV, KC_BRID, KC_BRIU, KC_NO, KC_NO, RGB_VAD, RGB_VAI, KC_MPRV, KC_MPLY, KC_MNXT, KC_MUTE, KC_VOLD, KC_VOLU, _______, _______, RGB_TOG, - RGB_TOG, RGB_MOD, RGB_VAI, RGB_HUI, RGB_SAI, RGB_SPI, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, RGB_RMOD, RGB_VAD, RGB_HUD, RGB_SAD, RGB_SPD, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + KC_GRV, KC_BRID, KC_BRIU, KC_NO, KC_NO, RM_VALD, RM_VALU, KC_MPRV, KC_MPLY, KC_MNXT, KC_MUTE, KC_VOLD, KC_VOLU, _______, _______, RM_TOGG, + RM_TOGG, RM_NEXT, RM_VALU, RM_HUEU, RM_SATU, RM_SPDU, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, RM_PREV, RM_VALD, RM_HUED, RM_SATD, RM_SPDD, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, NK_TOGG, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______), [_FN2] = LAYOUT_iso_73( - KC_GRV, KC_BRID, KC_BRIU, KC_TASK, KC_FLXP, RGB_VAD, RGB_VAI, KC_MPRV, KC_MPLY, KC_MNXT, KC_MUTE, KC_VOLD, KC_VOLU, _______, _______, RGB_TOG, - RGB_TOG, RGB_MOD, RGB_VAI, RGB_HUI, RGB_SAI, RGB_SPI, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, RGB_RMOD, RGB_VAD, RGB_HUD, RGB_SAD, RGB_SPD, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + KC_GRV, KC_BRID, KC_BRIU, KC_TASK, KC_FLXP, RM_VALD, RM_VALU, KC_MPRV, KC_MPLY, KC_MNXT, KC_MUTE, KC_VOLD, KC_VOLU, _______, _______, RM_TOGG, + RM_TOGG, RM_NEXT, RM_VALU, RM_HUEU, RM_SATU, RM_SPDU, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, RM_PREV, RM_VALD, RM_HUED, RM_SATD, RM_SPDD, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, NK_TOGG, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______), [_FN3] = LAYOUT_iso_73( 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, _______, _______, _______, - RGB_TOG, RGB_MOD, RGB_VAI, RGB_HUI, RGB_SAI, RGB_SPI, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, RGB_RMOD, RGB_VAD, RGB_HUD, RGB_SAD, RGB_SPD, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + RM_TOGG, RM_NEXT, RM_VALU, RM_HUEU, RM_SATU, RM_SPDU, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, RM_PREV, RM_VALD, RM_HUED, RM_SATD, RM_SPDD, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______) }; diff --git a/keyboards/keychron/q7/q7.c b/keyboards/keychron/q7/q7.c index d020f6ab430..a9ccdb81bae 100644 --- a/keyboards/keychron/q7/q7.c +++ b/keyboards/keychron/q7/q7.c @@ -34,7 +34,7 @@ bool process_record_kb(uint16_t keycode, keyrecord_t *record) { if (!process_record_user(keycode, record)) { return false; } switch (keycode) { #ifdef RGB_MATRIX_ENABLE - case RGB_TOG: + case QK_RGB_MATRIX_TOGGLE: if (record->event.pressed) { switch (rgb_matrix_get_flags()) { case LED_FLAG_ALL: { diff --git a/keyboards/keychron/q8/ansi/keymaps/default/keymap.c b/keyboards/keychron/q8/ansi/keymaps/default/keymap.c index fa67e871440..d7f84c3b882 100644 --- a/keyboards/keychron/q8/ansi/keymaps/default/keymap.c +++ b/keyboards/keychron/q8/ansi/keymaps/default/keymap.c @@ -45,23 +45,23 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_LCTL, KC_LWIN, KC_LALT, KC_SPC, MO(_FN2), MO(_FN3), KC_SPC, KC_RALT, KC_LEFT, KC_DOWN, KC_RGHT), [_FN1] = LAYOUT_ansi_69( - KC_GRV, KC_BRID, KC_BRIU, KC_NO, KC_NO, RGB_VAD, RGB_VAI, KC_MPRV, KC_MPLY, KC_MNXT, KC_MUTE, KC_VOLD, KC_VOLU, _______, _______, - RGB_TOG, RGB_MOD, RGB_VAI, RGB_HUI, RGB_SAI, RGB_SPI, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, RGB_RMOD, RGB_VAD, RGB_HUD, RGB_SAD, RGB_SPD, _______, _______, _______, _______, _______, _______, _______, _______, + KC_GRV, KC_BRID, KC_BRIU, KC_NO, KC_NO, RM_VALD, RM_VALU, KC_MPRV, KC_MPLY, KC_MNXT, KC_MUTE, KC_VOLD, KC_VOLU, _______, _______, + RM_TOGG, RM_NEXT, RM_VALU, RM_HUEU, RM_SATU, RM_SPDU, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, RM_PREV, RM_VALD, RM_HUED, RM_SATD, RM_SPDD, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, NK_TOGG, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______), [_FN2] = LAYOUT_ansi_69( - KC_GRV, KC_BRID, KC_BRIU, KC_TASK, KC_FLXP, RGB_VAD, RGB_VAI, KC_MPRV, KC_MPLY, KC_MNXT, KC_MUTE, KC_VOLD, KC_VOLU, _______, _______, - RGB_TOG, RGB_MOD, RGB_VAI, RGB_HUI, RGB_SAI, RGB_SPI, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, RGB_RMOD, RGB_VAD, RGB_HUD, RGB_SAD, RGB_SPD, _______, _______, _______, _______, _______, _______, _______, _______, + KC_GRV, KC_BRID, KC_BRIU, KC_TASK, KC_FLXP, RM_VALD, RM_VALU, KC_MPRV, KC_MPLY, KC_MNXT, KC_MUTE, KC_VOLD, KC_VOLU, _______, _______, + RM_TOGG, RM_NEXT, RM_VALU, RM_HUEU, RM_SATU, RM_SPDU, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, RM_PREV, RM_VALD, RM_HUED, RM_SATD, RM_SPDD, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, NK_TOGG, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______), [_FN3] = LAYOUT_ansi_69( 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, _______, _______, - RGB_TOG, RGB_MOD, RGB_VAI, RGB_HUI, RGB_SAI, RGB_SPI, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, RGB_RMOD, RGB_VAD, RGB_HUD, RGB_SAD, RGB_SPD, _______, _______, _______, _______, _______, _______, _______, _______, + RM_TOGG, RM_NEXT, RM_VALU, RM_HUEU, RM_SATU, RM_SPDU, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, RM_PREV, RM_VALD, RM_HUED, RM_SATD, RM_SPDD, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______) }; diff --git a/keyboards/keychron/q8/ansi_encoder/keymaps/default/keymap.c b/keyboards/keychron/q8/ansi_encoder/keymaps/default/keymap.c index a86ae6d8cf2..cd7ee8d0c37 100644 --- a/keyboards/keychron/q8/ansi_encoder/keymaps/default/keymap.c +++ b/keyboards/keychron/q8/ansi_encoder/keymaps/default/keymap.c @@ -45,23 +45,23 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_LCTL, KC_LWIN, KC_LALT, KC_SPC, MO(_FN2), MO(_FN3), KC_SPC, KC_RALT, KC_LEFT, KC_DOWN, KC_RGHT), [_FN1] = LAYOUT_ansi_69( - KC_GRV, KC_BRID, KC_BRIU, KC_NO, KC_NO, RGB_VAD, RGB_VAI, KC_MPRV, KC_MPLY, KC_MNXT, KC_MUTE, KC_VOLD, KC_VOLU, _______, RGB_TOG, - RGB_TOG, RGB_MOD, RGB_VAI, RGB_HUI, RGB_SAI, RGB_SPI, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, RGB_RMOD, RGB_VAD, RGB_HUD, RGB_SAD, RGB_SPD, _______, _______, _______, _______, _______, _______, _______, _______, + KC_GRV, KC_BRID, KC_BRIU, KC_NO, KC_NO, RM_VALD, RM_VALU, KC_MPRV, KC_MPLY, KC_MNXT, KC_MUTE, KC_VOLD, KC_VOLU, _______, RM_TOGG, + RM_TOGG, RM_NEXT, RM_VALU, RM_HUEU, RM_SATU, RM_SPDU, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, RM_PREV, RM_VALD, RM_HUED, RM_SATD, RM_SPDD, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, NK_TOGG, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______), [_FN2] = LAYOUT_ansi_69( - KC_GRV, KC_BRID, KC_BRIU, KC_TASK, KC_FLXP, RGB_VAD, RGB_VAI, KC_MPRV, KC_MPLY, KC_MNXT, KC_MUTE, KC_VOLD, KC_VOLU, _______, RGB_TOG, - RGB_TOG, RGB_MOD, RGB_VAI, RGB_HUI, RGB_SAI, RGB_SPI, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, RGB_RMOD, RGB_VAD, RGB_HUD, RGB_SAD, RGB_SPD, _______, _______, _______, _______, _______, _______, _______, _______, + KC_GRV, KC_BRID, KC_BRIU, KC_TASK, KC_FLXP, RM_VALD, RM_VALU, KC_MPRV, KC_MPLY, KC_MNXT, KC_MUTE, KC_VOLD, KC_VOLU, _______, RM_TOGG, + RM_TOGG, RM_NEXT, RM_VALU, RM_HUEU, RM_SATU, RM_SPDU, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, RM_PREV, RM_VALD, RM_HUED, RM_SATD, RM_SPDD, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, NK_TOGG, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______), [_FN3] = LAYOUT_ansi_69( 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, _______, _______, - RGB_TOG, RGB_MOD, RGB_VAI, RGB_HUI, RGB_SAI, RGB_SPI, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, RGB_RMOD, RGB_VAD, RGB_HUD, RGB_SAD, RGB_SPD, _______, _______, _______, _______, _______, _______, _______, _______, + RM_TOGG, RM_NEXT, RM_VALU, RM_HUEU, RM_SATU, RM_SPDU, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, RM_PREV, RM_VALD, RM_HUED, RM_SATD, RM_SPDD, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______) }; @@ -70,8 +70,8 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][NUM_DIRECTIONS] = { [MAC_BASE] = {ENCODER_CCW_CW(KC_VOLD, KC_VOLU)}, [WIN_BASE] = {ENCODER_CCW_CW(KC_VOLD, KC_VOLU)}, - [_FN1] = {ENCODER_CCW_CW(RGB_VAD, RGB_VAI)}, - [_FN2] = {ENCODER_CCW_CW(RGB_VAD, RGB_VAI)}, + [_FN1] = {ENCODER_CCW_CW(RM_VALD, RM_VALU)}, + [_FN2] = {ENCODER_CCW_CW(RM_VALD, RM_VALU)}, [_FN3] = {ENCODER_CCW_CW(_______, _______)} }; #endif // ENCODER_MAP_ENABLE diff --git a/keyboards/keychron/q8/iso/keymaps/default/keymap.c b/keyboards/keychron/q8/iso/keymaps/default/keymap.c index e999d040626..e21ee904a1f 100644 --- a/keyboards/keychron/q8/iso/keymaps/default/keymap.c +++ b/keyboards/keychron/q8/iso/keymaps/default/keymap.c @@ -45,23 +45,23 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_LCTL, KC_LWIN, KC_LALT, KC_SPC, MO(_FN2), MO(_FN3), KC_SPC, KC_RALT, KC_LEFT, KC_DOWN, KC_RGHT), [_FN1] = LAYOUT_iso_70( - KC_GRV, KC_BRID, KC_BRIU, KC_NO, KC_NO, RGB_VAD, RGB_VAI, KC_MPRV, KC_MPLY, KC_MNXT, KC_MUTE, KC_VOLD, KC_VOLU, _______, _______, - RGB_TOG, RGB_MOD, RGB_VAI, RGB_HUI, RGB_SAI, RGB_SPI, _______, _______, _______, _______, _______, _______, _______, _______, - _______, RGB_RMOD, RGB_VAD, RGB_HUD, RGB_SAD, RGB_SPD, _______, _______, _______, _______, _______, _______, _______, _______, _______, + KC_GRV, KC_BRID, KC_BRIU, KC_NO, KC_NO, RM_VALD, RM_VALU, KC_MPRV, KC_MPLY, KC_MNXT, KC_MUTE, KC_VOLD, KC_VOLU, _______, _______, + RM_TOGG, RM_NEXT, RM_VALU, RM_HUEU, RM_SATU, RM_SPDU, _______, _______, _______, _______, _______, _______, _______, _______, + _______, RM_PREV, RM_VALD, RM_HUED, RM_SATD, RM_SPDD, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, NK_TOGG, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______), [_FN2] = LAYOUT_iso_70( - KC_GRV, KC_BRID, KC_BRIU, KC_TASK, KC_FLXP, RGB_VAD, RGB_VAI, KC_MPRV, KC_MPLY, KC_MNXT, KC_MUTE, KC_VOLD, KC_VOLU, _______, _______, - RGB_TOG, RGB_MOD, RGB_VAI, RGB_HUI, RGB_SAI, RGB_SPI, _______, _______, _______, _______, _______, _______, _______, _______, - _______, RGB_RMOD, RGB_VAD, RGB_HUD, RGB_SAD, RGB_SPD, _______, _______, _______, _______, _______, _______, _______, _______, _______, + KC_GRV, KC_BRID, KC_BRIU, KC_TASK, KC_FLXP, RM_VALD, RM_VALU, KC_MPRV, KC_MPLY, KC_MNXT, KC_MUTE, KC_VOLD, KC_VOLU, _______, _______, + RM_TOGG, RM_NEXT, RM_VALU, RM_HUEU, RM_SATU, RM_SPDU, _______, _______, _______, _______, _______, _______, _______, _______, + _______, RM_PREV, RM_VALD, RM_HUED, RM_SATD, RM_SPDD, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, NK_TOGG, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______), [_FN3] = LAYOUT_iso_70( 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, _______, _______, - RGB_TOG, RGB_MOD, RGB_VAI, RGB_HUI, RGB_SAI, RGB_SPI, _______, _______, _______, _______, _______, _______, _______, _______, - _______, RGB_RMOD, RGB_VAD, RGB_HUD, RGB_SAD, RGB_SPD, _______, _______, _______, _______, _______, _______, _______, _______, _______, + RM_TOGG, RM_NEXT, RM_VALU, RM_HUEU, RM_SATU, RM_SPDU, _______, _______, _______, _______, _______, _______, _______, _______, + _______, RM_PREV, RM_VALD, RM_HUED, RM_SATD, RM_SPDD, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______) }; diff --git a/keyboards/keychron/q8/iso_encoder/keymaps/default/keymap.c b/keyboards/keychron/q8/iso_encoder/keymaps/default/keymap.c index 7db63d4118b..e6c10a64cf8 100644 --- a/keyboards/keychron/q8/iso_encoder/keymaps/default/keymap.c +++ b/keyboards/keychron/q8/iso_encoder/keymaps/default/keymap.c @@ -45,23 +45,23 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_LCTL, KC_LWIN, KC_LALT, KC_SPC, MO(_FN2), MO(_FN3), KC_SPC, KC_RALT, KC_LEFT, KC_DOWN, KC_RGHT), [_FN1] = LAYOUT_iso_70( - KC_GRV, KC_BRID, KC_BRIU, KC_NO, KC_NO, RGB_VAD, RGB_VAI, KC_MPRV, KC_MPLY, KC_MNXT, KC_MUTE, KC_VOLD, KC_VOLU, _______, RGB_TOG, - RGB_TOG, RGB_MOD, RGB_VAI, RGB_HUI, RGB_SAI, RGB_SPI, _______, _______, _______, _______, _______, _______, _______, _______, - _______, RGB_RMOD, RGB_VAD, RGB_HUD, RGB_SAD, RGB_SPD, _______, _______, _______, _______, _______, _______, _______, _______, _______, + KC_GRV, KC_BRID, KC_BRIU, KC_NO, KC_NO, RM_VALD, RM_VALU, KC_MPRV, KC_MPLY, KC_MNXT, KC_MUTE, KC_VOLD, KC_VOLU, _______, RM_TOGG, + RM_TOGG, RM_NEXT, RM_VALU, RM_HUEU, RM_SATU, RM_SPDU, _______, _______, _______, _______, _______, _______, _______, _______, + _______, RM_PREV, RM_VALD, RM_HUED, RM_SATD, RM_SPDD, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, NK_TOGG, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______), [_FN2] = LAYOUT_iso_70( - KC_GRV, KC_BRID, KC_BRIU, KC_TASK, KC_FLXP, RGB_VAD, RGB_VAI, KC_MPRV, KC_MPLY, KC_MNXT, KC_MUTE, KC_VOLD, KC_VOLU, _______, RGB_TOG, - RGB_TOG, RGB_MOD, RGB_VAI, RGB_HUI, RGB_SAI, RGB_SPI, _______, _______, _______, _______, _______, _______, _______, _______, - _______, RGB_RMOD, RGB_VAD, RGB_HUD, RGB_SAD, RGB_SPD, _______, _______, _______, _______, _______, _______, _______, _______, _______, + KC_GRV, KC_BRID, KC_BRIU, KC_TASK, KC_FLXP, RM_VALD, RM_VALU, KC_MPRV, KC_MPLY, KC_MNXT, KC_MUTE, KC_VOLD, KC_VOLU, _______, RM_TOGG, + RM_TOGG, RM_NEXT, RM_VALU, RM_HUEU, RM_SATU, RM_SPDU, _______, _______, _______, _______, _______, _______, _______, _______, + _______, RM_PREV, RM_VALD, RM_HUED, RM_SATD, RM_SPDD, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, NK_TOGG, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______), [_FN3] = LAYOUT_iso_70( 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, _______, _______, - RGB_TOG, RGB_MOD, RGB_VAI, RGB_HUI, RGB_SAI, RGB_SPI, _______, _______, _______, _______, _______, _______, _______, _______, - _______, RGB_RMOD, RGB_VAD, RGB_HUD, RGB_SAD, RGB_SPD, _______, _______, _______, _______, _______, _______, _______, _______, _______, + RM_TOGG, RM_NEXT, RM_VALU, RM_HUEU, RM_SATU, RM_SPDU, _______, _______, _______, _______, _______, _______, _______, _______, + _______, RM_PREV, RM_VALD, RM_HUED, RM_SATD, RM_SPDD, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______) }; @@ -70,8 +70,8 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][NUM_DIRECTIONS] = { [MAC_BASE] = {ENCODER_CCW_CW(KC_VOLD, KC_VOLU)}, [WIN_BASE] = {ENCODER_CCW_CW(KC_VOLD, KC_VOLU)}, - [_FN1] = {ENCODER_CCW_CW(RGB_VAD, RGB_VAI)}, - [_FN2] = {ENCODER_CCW_CW(RGB_VAD, RGB_VAI)}, + [_FN1] = {ENCODER_CCW_CW(RM_VALD, RM_VALU)}, + [_FN2] = {ENCODER_CCW_CW(RM_VALD, RM_VALU)}, [_FN3] = {ENCODER_CCW_CW(_______, _______)} }; #endif // ENCODER_MAP_ENABLE diff --git a/keyboards/keychron/q8/q8.c b/keyboards/keychron/q8/q8.c index c28f992f8e7..b16f89115d3 100644 --- a/keyboards/keychron/q8/q8.c +++ b/keyboards/keychron/q8/q8.c @@ -35,7 +35,7 @@ bool process_record_kb(uint16_t keycode, keyrecord_t *record) { return false; } switch (keycode) { - case RGB_TOG: + case QK_RGB_MATRIX_TOGGLE: if (record->event.pressed) { switch (rgb_matrix_get_flags()) { case LED_FLAG_ALL: { diff --git a/keyboards/keychron/q9/ansi/keymaps/default/keymap.c b/keyboards/keychron/q9/ansi/keymaps/default/keymap.c index 1c2d017284d..ffe26f44ffc 100644 --- a/keyboards/keychron/q9/ansi/keymaps/default/keymap.c +++ b/keyboards/keychron/q9/ansi/keymaps/default/keymap.c @@ -43,15 +43,15 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_LCTL, KC_LWIN, KC_LALT, KC_SPC, KC_RALT, MO(_FN2), MO(_FN3), KC_LEFT, KC_DOWN, KC_RGHT), [_FN1] = LAYOUT_ansi_52( - KC_GRV, KC_BRID, KC_BRIU, KC_NO, KC_NO, RGB_VAD, RGB_VAI, KC_MPRV, KC_MPLY, KC_MNXT, KC_MUTE, KC_VOLD, KC_VOLU, _______, _______, - RGB_TOG, RGB_MOD, RGB_VAI, RGB_HUI, RGB_SAI, RGB_SPI, _______, _______, _______, _______, _______, _______, _______, _______, - _______, RGB_RMOD, RGB_VAD, RGB_HUD, RGB_SAD, RGB_SPD, NK_TOGG, _______, _______, _______, _______, _______, _______, + KC_GRV, KC_BRID, KC_BRIU, KC_NO, KC_NO, RM_VALD, RM_VALU, KC_MPRV, KC_MPLY, KC_MNXT, KC_MUTE, KC_VOLD, KC_VOLU, _______, _______, + RM_TOGG, RM_NEXT, RM_VALU, RM_HUEU, RM_SATU, RM_SPDU, _______, _______, _______, _______, _______, _______, _______, _______, + _______, RM_PREV, RM_VALD, RM_HUED, RM_SATD, RM_SPDD, NK_TOGG, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______), [_FN2] = LAYOUT_ansi_52( - KC_GRV, KC_BRID, KC_BRIU, KC_TASK, KC_FLXP, RGB_VAD, RGB_VAI, KC_MPRV, KC_MPLY, KC_MNXT, KC_MUTE, KC_VOLD, KC_VOLU, _______, _______, - RGB_TOG, RGB_MOD, RGB_VAI, RGB_HUI, RGB_SAI, RGB_SPI, _______, _______, _______, _______, _______, _______, _______, _______, - _______, RGB_RMOD, RGB_VAD, RGB_HUD, RGB_SAD, RGB_SPD, NK_TOGG, _______, _______, _______, _______, _______, _______, + KC_GRV, KC_BRID, KC_BRIU, KC_TASK, KC_FLXP, RM_VALD, RM_VALU, KC_MPRV, KC_MPLY, KC_MNXT, KC_MUTE, KC_VOLD, KC_VOLU, _______, _______, + RM_TOGG, RM_NEXT, RM_VALU, RM_HUEU, RM_SATU, RM_SPDU, _______, _______, _______, _______, _______, _______, _______, _______, + _______, RM_PREV, RM_VALD, RM_HUED, RM_SATD, RM_SPDD, NK_TOGG, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______), [_FN3] = LAYOUT_ansi_52( diff --git a/keyboards/keychron/q9/ansi_encoder/keymaps/default/keymap.c b/keyboards/keychron/q9/ansi_encoder/keymaps/default/keymap.c index eb5a5fa3b3e..8ebaf6e0568 100644 --- a/keyboards/keychron/q9/ansi_encoder/keymaps/default/keymap.c +++ b/keyboards/keychron/q9/ansi_encoder/keymaps/default/keymap.c @@ -43,15 +43,15 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_LCTL, KC_LWIN, KC_LALT, KC_SPC, KC_RALT, MO(_FN2), MO(_FN3), KC_LEFT, KC_DOWN, KC_RGHT), [_FN1] = LAYOUT_ansi_52( - KC_GRV, KC_BRID, KC_BRIU, KC_NO, KC_NO, RGB_VAD, RGB_VAI, KC_MPRV, KC_MPLY, KC_MNXT, KC_MUTE, KC_VOLD, KC_VOLU, _______, _______, - RGB_TOG, RGB_MOD, RGB_VAI, RGB_HUI, RGB_SAI, RGB_SPI, _______, _______, _______, _______, _______, _______, _______, _______, - _______, RGB_RMOD, RGB_VAD, RGB_HUD, RGB_SAD, RGB_SPD, NK_TOGG, _______, _______, _______, _______, _______, _______, + KC_GRV, KC_BRID, KC_BRIU, KC_NO, KC_NO, RM_VALD, RM_VALU, KC_MPRV, KC_MPLY, KC_MNXT, KC_MUTE, KC_VOLD, KC_VOLU, _______, _______, + RM_TOGG, RM_NEXT, RM_VALU, RM_HUEU, RM_SATU, RM_SPDU, _______, _______, _______, _______, _______, _______, _______, _______, + _______, RM_PREV, RM_VALD, RM_HUED, RM_SATD, RM_SPDD, NK_TOGG, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______), [_FN2] = LAYOUT_ansi_52( - KC_GRV, KC_BRID, KC_BRIU, KC_TASK, KC_FLXP, RGB_VAD, RGB_VAI, KC_MPRV, KC_MPLY, KC_MNXT, KC_MUTE, KC_VOLD, KC_VOLU, _______, _______, - RGB_TOG, RGB_MOD, RGB_VAI, RGB_HUI, RGB_SAI, RGB_SPI, _______, _______, _______, _______, _______, _______, _______, _______, - _______, RGB_RMOD, RGB_VAD, RGB_HUD, RGB_SAD, RGB_SPD, NK_TOGG, _______, _______, _______, _______, _______, _______, + KC_GRV, KC_BRID, KC_BRIU, KC_TASK, KC_FLXP, RM_VALD, RM_VALU, KC_MPRV, KC_MPLY, KC_MNXT, KC_MUTE, KC_VOLD, KC_VOLU, _______, _______, + RM_TOGG, RM_NEXT, RM_VALU, RM_HUEU, RM_SATU, RM_SPDU, _______, _______, _______, _______, _______, _______, _______, _______, + _______, RM_PREV, RM_VALD, RM_HUED, RM_SATD, RM_SPDD, NK_TOGG, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______), [_FN3] = LAYOUT_ansi_52( @@ -65,8 +65,8 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][NUM_DIRECTIONS] = { [MAC_BASE] = {ENCODER_CCW_CW(KC_VOLD, KC_VOLU)}, [WIN_BASE] = {ENCODER_CCW_CW(KC_VOLD, KC_VOLU)}, - [_FN1] = {ENCODER_CCW_CW(RGB_VAD, RGB_VAI)}, - [_FN2] = {ENCODER_CCW_CW(RGB_VAD, RGB_VAI)}, + [_FN1] = {ENCODER_CCW_CW(RM_VALD, RM_VALU)}, + [_FN2] = {ENCODER_CCW_CW(RM_VALD, RM_VALU)}, [_FN3] = {ENCODER_CCW_CW(_______, _______)} }; #endif // ENCODER_MAP_ENABLE diff --git a/keyboards/keychron/q9/iso/keymaps/default/keymap.c b/keyboards/keychron/q9/iso/keymaps/default/keymap.c index 0724304e78f..5cbe09c154e 100644 --- a/keyboards/keychron/q9/iso/keymaps/default/keymap.c +++ b/keyboards/keychron/q9/iso/keymaps/default/keymap.c @@ -43,15 +43,15 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_LCTL, KC_LWIN, KC_LALT, KC_SPC, KC_RALT, MO(_FN2), MO(_FN3), KC_LEFT, KC_DOWN, KC_RGHT), [_FN1] = LAYOUT_iso_53( - KC_GRV, KC_BRID, KC_BRIU, KC_NO, KC_NO, RGB_VAD, RGB_VAI, KC_MPRV, KC_MPLY, KC_MNXT, KC_MUTE, KC_VOLD, KC_VOLU, _______, - RGB_TOG, RGB_MOD, RGB_VAI, RGB_HUI, RGB_SAI, RGB_SPI, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, RGB_RMOD, RGB_VAD, RGB_HUD, RGB_SAD, RGB_SPD, NK_TOGG, _______, _______, _______, _______, _______, _______, + KC_GRV, KC_BRID, KC_BRIU, KC_NO, KC_NO, RM_VALD, RM_VALU, KC_MPRV, KC_MPLY, KC_MNXT, KC_MUTE, KC_VOLD, KC_VOLU, _______, + RM_TOGG, RM_NEXT, RM_VALU, RM_HUEU, RM_SATU, RM_SPDU, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, RM_PREV, RM_VALD, RM_HUED, RM_SATD, RM_SPDD, NK_TOGG, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______), [_FN2] = LAYOUT_iso_53( - KC_GRV, KC_BRID, KC_BRIU, KC_TASK, KC_FLXP, RGB_VAD, RGB_VAI, KC_MPRV, KC_MPLY, KC_MNXT, KC_MUTE, KC_VOLD, KC_VOLU, _______, - RGB_TOG, RGB_MOD, RGB_VAI, RGB_HUI, RGB_SAI, RGB_SPI, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, RGB_RMOD, RGB_VAD, RGB_HUD, RGB_SAD, RGB_SPD, NK_TOGG, _______, _______, _______, _______, _______, _______, + KC_GRV, KC_BRID, KC_BRIU, KC_TASK, KC_FLXP, RM_VALD, RM_VALU, KC_MPRV, KC_MPLY, KC_MNXT, KC_MUTE, KC_VOLD, KC_VOLU, _______, + RM_TOGG, RM_NEXT, RM_VALU, RM_HUEU, RM_SATU, RM_SPDU, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, RM_PREV, RM_VALD, RM_HUED, RM_SATD, RM_SPDD, NK_TOGG, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______), [_FN3] = LAYOUT_iso_53( diff --git a/keyboards/keychron/q9/iso_encoder/keymaps/default/keymap.c b/keyboards/keychron/q9/iso_encoder/keymaps/default/keymap.c index 3541851973b..9fb8b40a9fe 100644 --- a/keyboards/keychron/q9/iso_encoder/keymaps/default/keymap.c +++ b/keyboards/keychron/q9/iso_encoder/keymaps/default/keymap.c @@ -43,15 +43,15 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_LCTL, KC_LWIN, KC_LALT, KC_SPC, KC_RALT, MO(_FN2), MO(_FN3), KC_LEFT, KC_DOWN, KC_RGHT), [_FN1] = LAYOUT_iso_53( - KC_GRV, KC_BRID, KC_BRIU, KC_NO, KC_NO, RGB_VAD, RGB_VAI, KC_MPRV, KC_MPLY, KC_MNXT, KC_MUTE, KC_VOLD, KC_VOLU, _______, - RGB_TOG, RGB_MOD, RGB_VAI, RGB_HUI, RGB_SAI, RGB_SPI, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, RGB_RMOD, RGB_VAD, RGB_HUD, RGB_SAD, RGB_SPD, NK_TOGG, _______, _______, _______, _______, _______, _______, + KC_GRV, KC_BRID, KC_BRIU, KC_NO, KC_NO, RM_VALD, RM_VALU, KC_MPRV, KC_MPLY, KC_MNXT, KC_MUTE, KC_VOLD, KC_VOLU, _______, + RM_TOGG, RM_NEXT, RM_VALU, RM_HUEU, RM_SATU, RM_SPDU, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, RM_PREV, RM_VALD, RM_HUED, RM_SATD, RM_SPDD, NK_TOGG, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______), [_FN2] = LAYOUT_iso_53( - KC_GRV, KC_BRID, KC_BRIU, KC_TASK, KC_FLXP, RGB_VAD, RGB_VAI, KC_MPRV, KC_MPLY, KC_MNXT, KC_MUTE, KC_VOLD, KC_VOLU, _______, - RGB_TOG, RGB_MOD, RGB_VAI, RGB_HUI, RGB_SAI, RGB_SPI, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, RGB_RMOD, RGB_VAD, RGB_HUD, RGB_SAD, RGB_SPD, NK_TOGG, _______, _______, _______, _______, _______, _______, + KC_GRV, KC_BRID, KC_BRIU, KC_TASK, KC_FLXP, RM_VALD, RM_VALU, KC_MPRV, KC_MPLY, KC_MNXT, KC_MUTE, KC_VOLD, KC_VOLU, _______, + RM_TOGG, RM_NEXT, RM_VALU, RM_HUEU, RM_SATU, RM_SPDU, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, RM_PREV, RM_VALD, RM_HUED, RM_SATD, RM_SPDD, NK_TOGG, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______), [_FN3] = LAYOUT_iso_53( @@ -65,8 +65,8 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][NUM_DIRECTIONS] = { [MAC_BASE] = {ENCODER_CCW_CW(KC_VOLD, KC_VOLU)}, [WIN_BASE] = {ENCODER_CCW_CW(KC_VOLD, KC_VOLU)}, - [_FN1] = {ENCODER_CCW_CW(RGB_VAD, RGB_VAI)}, - [_FN2] = {ENCODER_CCW_CW(RGB_VAD, RGB_VAI)}, + [_FN1] = {ENCODER_CCW_CW(RM_VALD, RM_VALU)}, + [_FN2] = {ENCODER_CCW_CW(RM_VALD, RM_VALU)}, [_FN3] = {ENCODER_CCW_CW(_______, _______)} }; #endif // ENCODER_MAP_ENABLE diff --git a/keyboards/keychron/q9/q9.c b/keyboards/keychron/q9/q9.c index d020f6ab430..a9ccdb81bae 100644 --- a/keyboards/keychron/q9/q9.c +++ b/keyboards/keychron/q9/q9.c @@ -34,7 +34,7 @@ bool process_record_kb(uint16_t keycode, keyrecord_t *record) { if (!process_record_user(keycode, record)) { return false; } switch (keycode) { #ifdef RGB_MATRIX_ENABLE - case RGB_TOG: + case QK_RGB_MATRIX_TOGGLE: if (record->event.pressed) { switch (rgb_matrix_get_flags()) { case LED_FLAG_ALL: { diff --git a/keyboards/keychron/q9_plus/ansi_encoder/keymaps/default/keymap.c b/keyboards/keychron/q9_plus/ansi_encoder/keymaps/default/keymap.c index 06c43f6929d..a2d9b03b630 100755 --- a/keyboards/keychron/q9_plus/ansi_encoder/keymaps/default/keymap.c +++ b/keyboards/keychron/q9_plus/ansi_encoder/keymaps/default/keymap.c @@ -42,15 +42,15 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_LCTL, KC_LWIN, KC_LALT, MO(WIN_FN1), KC_SPC, KC_SPC, KC_RALT, MO(WIN_FN1), MO(FN2), KC_LEFT, KC_DOWN, KC_RGHT), [MAC_FN1] = LAYOUT_54_ansi( - KC_GRV, KC_BRID, KC_BRIU, KC_MCTL, KC_LPAD, RGB_VAD, RGB_VAI, KC_MPRV, KC_MPLY, KC_MNXT, KC_MUTE, KC_VOLD, KC_VOLU, _______, RGB_TOG, - RGB_TOG, RGB_MOD, RGB_VAI, RGB_HUI, RGB_SAI, RGB_SPI, _______, _______, _______, _______, _______, _______, _______, _______, - _______, RGB_RMOD, RGB_VAD, RGB_HUD, RGB_SAD, RGB_SPD, NK_TOGG, _______, _______, _______, _______, _______, _______, + KC_GRV, KC_BRID, KC_BRIU, KC_MCTL, KC_LPAD, RM_VALD, RM_VALU, KC_MPRV, KC_MPLY, KC_MNXT, KC_MUTE, KC_VOLD, KC_VOLU, _______, RM_TOGG, + RM_TOGG, RM_NEXT, RM_VALU, RM_HUEU, RM_SATU, RM_SPDU, _______, _______, _______, _______, _______, _______, _______, _______, + _______, RM_PREV, RM_VALD, RM_HUED, RM_SATD, RM_SPDD, NK_TOGG, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______), [WIN_FN1] = LAYOUT_54_ansi( - KC_GRV, KC_BRID, KC_BRIU, KC_TASK, KC_FLXP, RGB_VAD, RGB_VAI, KC_MPRV, KC_MPLY, KC_MNXT, KC_MUTE, KC_VOLD, KC_VOLU, _______, RGB_TOG, - RGB_TOG, RGB_MOD, RGB_VAI, RGB_HUI, RGB_SAI, RGB_SPI, _______, _______, _______, _______, _______, _______, _______, _______, - _______, RGB_RMOD, RGB_VAD, RGB_HUD, RGB_SAD, RGB_SPD, NK_TOGG, _______, _______, _______, _______, _______, _______, + KC_GRV, KC_BRID, KC_BRIU, KC_TASK, KC_FLXP, RM_VALD, RM_VALU, KC_MPRV, KC_MPLY, KC_MNXT, KC_MUTE, KC_VOLD, KC_VOLU, _______, RM_TOGG, + RM_TOGG, RM_NEXT, RM_VALU, RM_HUEU, RM_SATU, RM_SPDU, _______, _______, _______, _______, _______, _______, _______, _______, + _______, RM_PREV, RM_VALD, RM_HUED, RM_SATD, RM_SPDD, NK_TOGG, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______), [FN2] = LAYOUT_54_ansi( @@ -64,8 +64,8 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][NUM_DIRECTIONS] = { [MAC_BASE] = {ENCODER_CCW_CW(KC_VOLD, KC_VOLU)}, [WIN_BASE] = {ENCODER_CCW_CW(KC_VOLD, KC_VOLU)}, - [MAC_FN1] = {ENCODER_CCW_CW(RGB_VAD, RGB_VAI)}, - [WIN_FN1] = {ENCODER_CCW_CW(RGB_VAD, RGB_VAI)}, + [MAC_FN1] = {ENCODER_CCW_CW(RM_VALD, RM_VALU)}, + [WIN_FN1] = {ENCODER_CCW_CW(RM_VALD, RM_VALU)}, [FN2] = {ENCODER_CCW_CW(_______, _______)} }; #endif diff --git a/keyboards/keychron/q9_plus/q9_plus.c b/keyboards/keychron/q9_plus/q9_plus.c index 77fd5f3cb00..d155936f98f 100755 --- a/keyboards/keychron/q9_plus/q9_plus.c +++ b/keyboards/keychron/q9_plus/q9_plus.c @@ -35,7 +35,7 @@ bool process_record_kb(uint16_t keycode, keyrecord_t *record) { return false; } switch (keycode) { - case RGB_TOG: + case QK_RGB_MATRIX_TOGGLE: if (record->event.pressed) { switch (rgb_matrix_get_flags()) { case LED_FLAG_ALL: { diff --git a/keyboards/keychron/s1/ansi/rgb/keymaps/default/keymap.c b/keyboards/keychron/s1/ansi/rgb/keymaps/default/keymap.c index 68a5434bed7..c70298f3f63 100644 --- a/keyboards/keychron/s1/ansi/rgb/keymaps/default/keymap.c +++ b/keyboards/keychron/s1/ansi/rgb/keymaps/default/keymap.c @@ -30,7 +30,7 @@ enum layers{ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { [MAC_BASE] = LAYOUT_75_ansi( - KC_ESC, KC_BRID, KC_BRIU, KC_NO, KC_NO, RGB_VAD, RGB_VAI, KC_MPRV, KC_MPLY, KC_MNXT, KC_MUTE, KC_VOLD, KC_VOLU, KC_NO, KC_DEL, RGB_MOD, + KC_ESC, KC_BRID, KC_BRIU, KC_NO, KC_NO, RM_VALD, RM_VALU, KC_MPRV, KC_MPLY, KC_MNXT, KC_MUTE, KC_VOLD, KC_VOLU, KC_NO, KC_DEL, RM_NEXT, 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_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_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_HOME, @@ -38,15 +38,15 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_LCTL, KC_LOPT, KC_LCMD, KC_SPC, KC_RCMD, MO(MAC_FN), KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT), [MAC_FN] = LAYOUT_75_ansi( - _______, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, _______, _______, RGB_TOG, + _______, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, _______, _______, RM_TOGG, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - RGB_TOG, RGB_MOD, RGB_VAI, RGB_HUI, RGB_SAI, RGB_SPI, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, RGB_RMOD, RGB_VAD, RGB_HUD, RGB_SAD, RGB_SPD, _______, _______, _______, _______, _______, _______, _______, _______, + RM_TOGG, RM_NEXT, RM_VALU, RM_HUEU, RM_SATU, RM_SPDU, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, RM_PREV, RM_VALD, RM_HUED, RM_SATD, RM_SPDD, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, NK_TOGG, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______), [WIN_BASE] = LAYOUT_75_ansi( - 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_DEL, RGB_MOD, + 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_DEL, RM_NEXT, 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_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_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_HOME, @@ -54,10 +54,10 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_LCTL, KC_LWIN, KC_LALT, KC_SPC, KC_RALT, MO(WIN_FN), KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT), [WIN_FN] = LAYOUT_75_ansi( - _______, KC_BRID, KC_BRIU, KC_TASK, KC_FLXP, RGB_VAD, RGB_VAI, KC_MPRV, KC_MPLY, KC_MNXT, KC_MUTE, KC_VOLD, KC_VOLU, _______, _______, RGB_TOG, + _______, KC_BRID, KC_BRIU, KC_TASK, KC_FLXP, RM_VALD, RM_VALU, KC_MPRV, KC_MPLY, KC_MNXT, KC_MUTE, KC_VOLD, KC_VOLU, _______, _______, RM_TOGG, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - RGB_TOG, RGB_MOD, RGB_VAI, RGB_HUI, RGB_SAI, RGB_SPI, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, RGB_RMOD, RGB_VAD, RGB_HUD, RGB_SAD, RGB_SPD, _______, _______, _______, _______, _______, _______, _______, _______, + RM_TOGG, RM_NEXT, RM_VALU, RM_HUEU, RM_SATU, RM_SPDU, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, RM_PREV, RM_VALD, RM_HUED, RM_SATD, RM_SPDD, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, NK_TOGG, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______), }; diff --git a/keyboards/keychron/s1/s1.c b/keyboards/keychron/s1/s1.c index 51bc0596c4a..4179cb4a6fe 100644 --- a/keyboards/keychron/s1/s1.c +++ b/keyboards/keychron/s1/s1.c @@ -34,7 +34,7 @@ bool process_record_kb(uint16_t keycode, keyrecord_t *record) { if (!process_record_user(keycode, record)) { return false; } switch (keycode) { #ifdef RGB_MATRIX_ENABLE - case RGB_TOG: + case QK_RGB_MATRIX_TOGGLE: if (record->event.pressed) { switch (rgb_matrix_get_flags()) { case LED_FLAG_ALL: { diff --git a/keyboards/keychron/v1/ansi/keymaps/default/keymap.c b/keyboards/keychron/v1/ansi/keymaps/default/keymap.c index da0ffcdafb4..f9b84c8f500 100644 --- a/keyboards/keychron/v1/ansi/keymaps/default/keymap.c +++ b/keyboards/keychron/v1/ansi/keymaps/default/keymap.c @@ -30,7 +30,7 @@ enum layers{ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { [MAC_BASE] = LAYOUT_ansi_82( - KC_ESC, KC_BRID, KC_BRIU, KC_NO, KC_NO, RGB_VAD, RGB_VAI, KC_MPRV, KC_MPLY, KC_MNXT, KC_MUTE, KC_VOLD, KC_VOLU, KC_DEL, KC_INS, + KC_ESC, KC_BRID, KC_BRIU, KC_NO, KC_NO, RM_VALD, RM_VALU, KC_MPRV, KC_MPLY, KC_MNXT, KC_MUTE, KC_VOLD, KC_VOLU, KC_DEL, KC_INS, 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_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_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_HOME, @@ -40,8 +40,8 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { [MAC_FN] = LAYOUT_ansi_82( _______, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - RGB_TOG, RGB_MOD, RGB_VAI, RGB_HUI, RGB_SAI, RGB_SPI, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, RGB_RMOD, RGB_VAD, RGB_HUD, RGB_SAD, RGB_SPD, _______, _______, _______, _______, _______, _______, _______, _______, + RM_TOGG, RM_NEXT, RM_VALU, RM_HUEU, RM_SATU, RM_SPDU, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, RM_PREV, RM_VALD, RM_HUED, RM_SATD, RM_SPDD, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, NK_TOGG, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______), @@ -54,10 +54,10 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_LCTL, KC_LWIN, KC_LALT, KC_SPC, KC_RALT, MO(WIN_FN), KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT), [WIN_FN] = LAYOUT_ansi_82( - _______, KC_BRID, KC_BRIU, KC_TASK, KC_FLXP, RGB_VAD, RGB_VAI, KC_MPRV, KC_MPLY, KC_MNXT, KC_MUTE, KC_VOLD, KC_VOLU, _______, _______, + _______, KC_BRID, KC_BRIU, KC_TASK, KC_FLXP, RM_VALD, RM_VALU, KC_MPRV, KC_MPLY, KC_MNXT, KC_MUTE, KC_VOLD, KC_VOLU, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - RGB_TOG, RGB_MOD, RGB_VAI, RGB_HUI, RGB_SAI, RGB_SPI, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, RGB_RMOD, RGB_VAD, RGB_HUD, RGB_SAD, RGB_SPD, _______, _______, _______, _______, _______, _______, _______, _______, + RM_TOGG, RM_NEXT, RM_VALU, RM_HUEU, RM_SATU, RM_SPDU, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, RM_PREV, RM_VALD, RM_HUED, RM_SATD, RM_SPDD, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, NK_TOGG, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______), }; diff --git a/keyboards/keychron/v1/ansi_encoder/keymaps/default/keymap.c b/keyboards/keychron/v1/ansi_encoder/keymaps/default/keymap.c index a5eed7de198..87970295446 100644 --- a/keyboards/keychron/v1/ansi_encoder/keymaps/default/keymap.c +++ b/keyboards/keychron/v1/ansi_encoder/keymaps/default/keymap.c @@ -30,7 +30,7 @@ enum layers{ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { [MAC_BASE] = LAYOUT_ansi_82( - KC_ESC, KC_BRID, KC_BRIU, KC_NO, KC_NO, RGB_VAD, RGB_VAI, KC_MPRV, KC_MPLY, KC_MNXT, KC_MUTE, KC_VOLD, KC_VOLU, KC_DEL, KC_MUTE, + KC_ESC, KC_BRID, KC_BRIU, KC_NO, KC_NO, RM_VALD, RM_VALU, KC_MPRV, KC_MPLY, KC_MNXT, KC_MUTE, KC_VOLD, KC_VOLU, KC_DEL, KC_MUTE, 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_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_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_HOME, @@ -40,8 +40,8 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { [MAC_FN] = LAYOUT_ansi_82( _______, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - RGB_TOG, RGB_MOD, RGB_VAI, RGB_HUI, RGB_SAI, RGB_SPI, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, RGB_RMOD, RGB_VAD, RGB_HUD, RGB_SAD, RGB_SPD, _______, _______, _______, _______, _______, _______, _______, _______, + RM_TOGG, RM_NEXT, RM_VALU, RM_HUEU, RM_SATU, RM_SPDU, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, RM_PREV, RM_VALD, RM_HUED, RM_SATD, RM_SPDD, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, NK_TOGG, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______), @@ -54,10 +54,10 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_LCTL, KC_LCMD, KC_LALT, KC_SPC, KC_RALT, MO(WIN_FN), KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT), [WIN_FN] = LAYOUT_ansi_82( - _______, KC_BRID, KC_BRIU, KC_TASK, KC_FLXP, RGB_VAD, RGB_VAI, KC_MPRV, KC_MPLY, KC_MNXT, KC_MUTE, KC_VOLD, KC_VOLU, _______, _______, + _______, KC_BRID, KC_BRIU, KC_TASK, KC_FLXP, RM_VALD, RM_VALU, KC_MPRV, KC_MPLY, KC_MNXT, KC_MUTE, KC_VOLD, KC_VOLU, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - RGB_TOG, RGB_MOD, RGB_VAI, RGB_HUI, RGB_SAI, RGB_SPI, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, RGB_RMOD, RGB_VAD, RGB_HUD, RGB_SAD, RGB_SPD, _______, _______, _______, _______, _______, _______, _______, _______, + RM_TOGG, RM_NEXT, RM_VALU, RM_HUEU, RM_SATU, RM_SPDU, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, RM_PREV, RM_VALD, RM_HUED, RM_SATD, RM_SPDD, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, NK_TOGG, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______), }; @@ -65,8 +65,8 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { #if defined(ENCODER_MAP_ENABLE) const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][NUM_DIRECTIONS] = { [MAC_BASE] = { ENCODER_CCW_CW(KC_VOLD, KC_VOLU)}, - [MAC_FN] = { ENCODER_CCW_CW(RGB_VAD, RGB_VAI)}, + [MAC_FN] = { ENCODER_CCW_CW(RM_VALD, RM_VALU)}, [WIN_BASE] = { ENCODER_CCW_CW(KC_VOLD, KC_VOLU)}, - [WIN_FN] = { ENCODER_CCW_CW(RGB_VAD, RGB_VAI)} + [WIN_FN] = { ENCODER_CCW_CW(RM_VALD, RM_VALU)} }; #endif // ENCODER_MAP_ENABLE diff --git a/keyboards/keychron/v1/iso/keymaps/default/keymap.c b/keyboards/keychron/v1/iso/keymaps/default/keymap.c index e222112d2a1..2f4fd712ace 100644 --- a/keyboards/keychron/v1/iso/keymaps/default/keymap.c +++ b/keyboards/keychron/v1/iso/keymaps/default/keymap.c @@ -30,7 +30,7 @@ enum layers { const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { [MAC_BASE] = LAYOUT_iso_83( - KC_ESC, KC_BRID, KC_BRIU, KC_NO, KC_NO, RGB_VAD, RGB_VAI, KC_MPRV, KC_MPLY, KC_MNXT, KC_MUTE, KC_VOLD, KC_VOLU, KC_DEL, KC_INS, + KC_ESC, KC_BRID, KC_BRIU, KC_NO, KC_NO, RM_VALD, RM_VALU, KC_MPRV, KC_MPLY, KC_MNXT, KC_MUTE, KC_VOLD, KC_VOLU, KC_DEL, KC_INS, 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_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_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_NUHS, KC_ENT, KC_HOME, @@ -40,8 +40,8 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { [MAC_FN] = LAYOUT_iso_83( _______, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - RGB_TOG, RGB_MOD, RGB_VAI, RGB_HUI, RGB_SAI, RGB_SPI, _______, _______, _______, _______, _______, _______, _______, _______, - _______, RGB_RMOD, RGB_VAD, RGB_HUD, RGB_SAD, RGB_SPD, _______, _______, _______, _______, _______, _______, _______, _______, _______, + RM_TOGG, RM_NEXT, RM_VALU, RM_HUEU, RM_SATU, RM_SPDU, _______, _______, _______, _______, _______, _______, _______, _______, + _______, RM_PREV, RM_VALD, RM_HUED, RM_SATD, RM_SPDD, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, NK_TOGG, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______), @@ -54,10 +54,10 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_LCTL, KC_LWIN, KC_LALT, KC_SPC, KC_RALT, MO(WIN_FN), KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT), [WIN_FN] = LAYOUT_iso_83( - _______, KC_BRID, KC_BRIU, KC_TASK, KC_FLXP, RGB_VAD, RGB_VAI, KC_MPRV, KC_MPLY, KC_MNXT, KC_MUTE, KC_VOLD, KC_VOLU, _______, _______, + _______, KC_BRID, KC_BRIU, KC_TASK, KC_FLXP, RM_VALD, RM_VALU, KC_MPRV, KC_MPLY, KC_MNXT, KC_MUTE, KC_VOLD, KC_VOLU, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - RGB_TOG, RGB_MOD, RGB_VAI, RGB_HUI, RGB_SAI, RGB_SPI, _______, _______, _______, _______, _______, _______, _______, _______, - _______, RGB_RMOD, RGB_VAD, RGB_HUD, RGB_SAD, RGB_SPD, _______, _______, _______, _______, _______, _______, _______, _______, _______, + RM_TOGG, RM_NEXT, RM_VALU, RM_HUEU, RM_SATU, RM_SPDU, _______, _______, _______, _______, _______, _______, _______, _______, + _______, RM_PREV, RM_VALD, RM_HUED, RM_SATD, RM_SPDD, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, NK_TOGG, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______) }; diff --git a/keyboards/keychron/v1/iso_encoder/keymaps/default/keymap.c b/keyboards/keychron/v1/iso_encoder/keymaps/default/keymap.c index 2667e16d5ee..60f82c2ab66 100644 --- a/keyboards/keychron/v1/iso_encoder/keymaps/default/keymap.c +++ b/keyboards/keychron/v1/iso_encoder/keymaps/default/keymap.c @@ -30,7 +30,7 @@ enum layers{ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { [MAC_BASE] = LAYOUT_iso_83( - KC_ESC, KC_BRID, KC_BRIU, KC_NO, KC_NO, RGB_VAD, RGB_VAI, KC_MPRV, KC_MPLY, KC_MNXT, KC_MUTE, KC_VOLD, KC_VOLU, KC_DEL, KC_MUTE, + KC_ESC, KC_BRID, KC_BRIU, KC_NO, KC_NO, RM_VALD, RM_VALU, KC_MPRV, KC_MPLY, KC_MNXT, KC_MUTE, KC_VOLD, KC_VOLU, KC_DEL, KC_MUTE, 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_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_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_NUHS, KC_ENT, KC_HOME, @@ -40,8 +40,8 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { [MAC_FN] = LAYOUT_iso_83( _______, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - RGB_TOG, RGB_MOD, RGB_VAI, RGB_HUI, RGB_SAI, RGB_SPI, _______, _______, _______, _______, _______, _______, _______, _______, - _______, RGB_RMOD, RGB_VAD, RGB_HUD, RGB_SAD, RGB_SPD, _______, _______, _______, _______, _______, _______, _______, _______, _______, + RM_TOGG, RM_NEXT, RM_VALU, RM_HUEU, RM_SATU, RM_SPDU, _______, _______, _______, _______, _______, _______, _______, _______, + _______, RM_PREV, RM_VALD, RM_HUED, RM_SATD, RM_SPDD, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, NK_TOGG, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______), @@ -54,10 +54,10 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_LCTL, KC_LWIN, KC_LALT, KC_SPC, KC_RALT, MO(WIN_FN), KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT), [WIN_FN] = LAYOUT_iso_83( - _______, KC_BRID, KC_BRIU, KC_TASK, KC_FLXP, RGB_VAD, RGB_VAI, KC_MPRV, KC_MPLY, KC_MNXT, KC_MUTE, KC_VOLD, KC_VOLU, _______, _______, + _______, KC_BRID, KC_BRIU, KC_TASK, KC_FLXP, RM_VALD, RM_VALU, KC_MPRV, KC_MPLY, KC_MNXT, KC_MUTE, KC_VOLD, KC_VOLU, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - RGB_TOG, RGB_MOD, RGB_VAI, RGB_HUI, RGB_SAI, RGB_SPI, _______, _______, _______, _______, _______, _______, _______, _______, - _______, RGB_RMOD, RGB_VAD, RGB_HUD, RGB_SAD, RGB_SPD, _______, _______, _______, _______, _______, _______, _______, _______, _______, + RM_TOGG, RM_NEXT, RM_VALU, RM_HUEU, RM_SATU, RM_SPDU, _______, _______, _______, _______, _______, _______, _______, _______, + _______, RM_PREV, RM_VALD, RM_HUED, RM_SATD, RM_SPDD, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, NK_TOGG, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______) }; @@ -65,8 +65,8 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { #if defined(ENCODER_MAP_ENABLE) const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][NUM_DIRECTIONS] = { [MAC_BASE] = { ENCODER_CCW_CW(KC_VOLD, KC_VOLU)}, - [MAC_FN] = { ENCODER_CCW_CW(RGB_VAD, RGB_VAI)}, + [MAC_FN] = { ENCODER_CCW_CW(RM_VALD, RM_VALU)}, [WIN_BASE] = { ENCODER_CCW_CW(KC_VOLD, KC_VOLU)}, - [WIN_FN] = { ENCODER_CCW_CW(RGB_VAD, RGB_VAI)} + [WIN_FN] = { ENCODER_CCW_CW(RM_VALD, RM_VALU)} }; #endif // ENCODER_MAP_ENABLE diff --git a/keyboards/keychron/v1/jis/keymaps/default/keymap.c b/keyboards/keychron/v1/jis/keymaps/default/keymap.c index 95784d077a2..9b5c0308e9e 100644 --- a/keyboards/keychron/v1/jis/keymaps/default/keymap.c +++ b/keyboards/keychron/v1/jis/keymaps/default/keymap.c @@ -30,7 +30,7 @@ enum layers{ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { [MAC_BASE] = LAYOUT_jis_86( - KC_ESC, KC_BRID, KC_BRIU, KC_NO, KC_NO, RGB_VAD, RGB_VAI, KC_MPRV, KC_MPLY, KC_MNXT, KC_MUTE, KC_VOLD, KC_VOLU, KC_DEL, KC_INS, + KC_ESC, KC_BRID, KC_BRIU, KC_NO, KC_NO, RM_VALD, RM_VALU, KC_MPRV, KC_MPLY, KC_MNXT, KC_MUTE, KC_VOLD, KC_VOLU, KC_DEL, KC_INS, 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_INT3, KC_BSPC, 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_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_NUHS, KC_ENT, KC_HOME, @@ -40,8 +40,8 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { [MAC_FN] = LAYOUT_jis_86( _______, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - RGB_TOG, RGB_MOD, RGB_VAI, RGB_HUI, RGB_SAI, RGB_SPI, _______, _______, _______, _______, _______, _______, _______, _______, - _______, RGB_RMOD, RGB_VAD, RGB_HUD, RGB_SAD, RGB_SPD, _______, _______, _______, _______, _______, _______, _______, _______, _______, + RM_TOGG, RM_NEXT, RM_VALU, RM_HUEU, RM_SATU, RM_SPDU, _______, _______, _______, _______, _______, _______, _______, _______, + _______, RM_PREV, RM_VALD, RM_HUED, RM_SATD, RM_SPDD, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, NK_TOGG, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______), @@ -54,10 +54,10 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_LCTL, KC_LWIN, KC_LALT, KC_INT5, KC_SPC, KC_INT4, KC_RALT, MO(WIN_FN), KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT), [WIN_FN] = LAYOUT_jis_86( - _______, KC_BRID, KC_BRIU, KC_TASK, KC_FLXP, RGB_VAD, RGB_VAI, KC_MPRV, KC_MPLY, KC_MNXT, KC_MUTE, KC_VOLD, KC_VOLU, _______, _______, + _______, KC_BRID, KC_BRIU, KC_TASK, KC_FLXP, RM_VALD, RM_VALU, KC_MPRV, KC_MPLY, KC_MNXT, KC_MUTE, KC_VOLD, KC_VOLU, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - RGB_TOG, RGB_MOD, RGB_VAI, RGB_HUI, RGB_SAI, RGB_SPI, _______, _______, _______, _______, _______, _______, _______, _______, - _______, RGB_RMOD, RGB_VAD, RGB_HUD, RGB_SAD, RGB_SPD, _______, _______, _______, _______, _______, _______, _______, _______, _______, + RM_TOGG, RM_NEXT, RM_VALU, RM_HUEU, RM_SATU, RM_SPDU, _______, _______, _______, _______, _______, _______, _______, _______, + _______, RM_PREV, RM_VALD, RM_HUED, RM_SATD, RM_SPDD, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, NK_TOGG, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______), }; diff --git a/keyboards/keychron/v1/jis_encoder/keymaps/default/keymap.c b/keyboards/keychron/v1/jis_encoder/keymaps/default/keymap.c index 05f0d38846e..140f61cd726 100644 --- a/keyboards/keychron/v1/jis_encoder/keymaps/default/keymap.c +++ b/keyboards/keychron/v1/jis_encoder/keymaps/default/keymap.c @@ -30,7 +30,7 @@ enum layers{ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { [MAC_BASE] = LAYOUT_jis_86( - KC_ESC, KC_BRID, KC_BRIU, KC_NO, KC_NO, RGB_VAD, RGB_VAI, KC_MPRV, KC_MPLY, KC_MNXT, KC_MUTE, KC_VOLD, KC_VOLU, KC_DEL, KC_MUTE, + KC_ESC, KC_BRID, KC_BRIU, KC_NO, KC_NO, RM_VALD, RM_VALU, KC_MPRV, KC_MPLY, KC_MNXT, KC_MUTE, KC_VOLD, KC_VOLU, KC_DEL, KC_MUTE, 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_INT3, KC_BSPC, 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_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_NUHS, KC_ENT, KC_HOME, @@ -38,10 +38,10 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_LCTL, KC_LOPT, KC_LCMD, KC_LNG2, KC_SPC, KC_LNG1, KC_RCMD, MO(MAC_FN), KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT), [MAC_FN] = LAYOUT_jis_86( - _______, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, _______, RGB_TOG, + _______, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, _______, RM_TOGG, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - RGB_TOG, RGB_MOD, RGB_VAI, RGB_HUI, RGB_SAI, RGB_SPI, _______, _______, _______, _______, _______, _______, _______, _______, - _______, RGB_RMOD, RGB_VAD, RGB_HUD, RGB_SAD, RGB_SPD, _______, _______, _______, _______, _______, _______, _______, _______, _______, + RM_TOGG, RM_NEXT, RM_VALU, RM_HUEU, RM_SATU, RM_SPDU, _______, _______, _______, _______, _______, _______, _______, _______, + _______, RM_PREV, RM_VALD, RM_HUED, RM_SATD, RM_SPDD, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, NK_TOGG, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______), @@ -54,10 +54,10 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_LCTL, KC_LWIN, KC_LALT, KC_INT5, KC_SPC, KC_INT4, KC_RALT, MO(WIN_FN), KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT), [WIN_FN] = LAYOUT_jis_86( - _______, KC_BRID, KC_BRIU, KC_TASK, KC_FLXP, RGB_VAD, RGB_VAI, KC_MPRV, KC_MPLY, KC_MNXT, KC_MUTE, KC_VOLD, KC_VOLU, _______, RGB_TOG, + _______, KC_BRID, KC_BRIU, KC_TASK, KC_FLXP, RM_VALD, RM_VALU, KC_MPRV, KC_MPLY, KC_MNXT, KC_MUTE, KC_VOLD, KC_VOLU, _______, RM_TOGG, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - RGB_TOG, RGB_MOD, RGB_VAI, RGB_HUI, RGB_SAI, RGB_SPI, _______, _______, _______, _______, _______, _______, _______, _______, - _______, RGB_RMOD, RGB_VAD, RGB_HUD, RGB_SAD, RGB_SPD, _______, _______, _______, _______, _______, _______, _______, _______, _______, + RM_TOGG, RM_NEXT, RM_VALU, RM_HUEU, RM_SATU, RM_SPDU, _______, _______, _______, _______, _______, _______, _______, _______, + _______, RM_PREV, RM_VALD, RM_HUED, RM_SATD, RM_SPDD, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, NK_TOGG, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______), }; @@ -65,8 +65,8 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { #if defined(ENCODER_MAP_ENABLE) const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][NUM_DIRECTIONS] = { [MAC_BASE] = { ENCODER_CCW_CW(KC_VOLD, KC_VOLU)}, - [MAC_FN] = { ENCODER_CCW_CW(RGB_VAD, RGB_VAI)}, + [MAC_FN] = { ENCODER_CCW_CW(RM_VALD, RM_VALU)}, [WIN_BASE] = { ENCODER_CCW_CW(KC_VOLD, KC_VOLU)}, - [WIN_FN] = { ENCODER_CCW_CW(RGB_VAD, RGB_VAI)} + [WIN_FN] = { ENCODER_CCW_CW(RM_VALD, RM_VALU)} }; #endif // ENCODER_MAP_ENABLE diff --git a/keyboards/keychron/v1/v1.c b/keyboards/keychron/v1/v1.c index 7f93b37bcc3..4d5381105a3 100644 --- a/keyboards/keychron/v1/v1.c +++ b/keyboards/keychron/v1/v1.c @@ -36,7 +36,7 @@ bool process_record_kb(uint16_t keycode, keyrecord_t *record) { if (!process_record_user(keycode, record)) { return false; } switch (keycode) { #ifdef RGB_MATRIX_ENABLE - case RGB_TOG: + case QK_RGB_MATRIX_TOGGLE: if (record->event.pressed) { switch (rgb_matrix_get_flags()) { case LED_FLAG_ALL: { diff --git a/keyboards/keychron/v10/ansi_encoder/keymaps/default/keymap.c b/keyboards/keychron/v10/ansi_encoder/keymaps/default/keymap.c index 85daf6fb52f..c4a00e31b82 100644 --- a/keyboards/keychron/v10/ansi_encoder/keymaps/default/keymap.c +++ b/keyboards/keychron/v10/ansi_encoder/keymaps/default/keymap.c @@ -30,7 +30,7 @@ enum layers{ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { [MAC_BASE] = LAYOUT_ansi_89( - KC_MUTE, KC_ESC, KC_BRID, KC_BRIU, KC_NO, KC_NO, RGB_VAD, RGB_VAI, KC_MPRV, KC_MPLY, KC_MNXT, KC_MUTE, KC_VOLD, KC_VOLU, KC_INS, KC_DEL, + KC_MUTE, KC_ESC, KC_BRID, KC_BRIU, KC_NO, KC_NO, RM_VALD, RM_VALU, KC_MPRV, KC_MPLY, KC_MNXT, KC_MUTE, KC_VOLD, KC_VOLU, KC_INS, KC_DEL, _______, 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_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_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_HOME, @@ -38,10 +38,10 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { _______, KC_LCTL, KC_LOPT, KC_LCMD, KC_SPC, MO(MAC_FN), KC_SPC, KC_RCMD, KC_LEFT, KC_DOWN, KC_RGHT), [MAC_FN] = LAYOUT_ansi_89( - RGB_TOG, _______, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, _______, _______, + RM_TOGG, _______, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, RGB_TOG, RGB_MOD, RGB_VAI, RGB_HUI, RGB_SAI, RGB_SPI, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, RGB_RMOD, RGB_VAD, RGB_HUD, RGB_SAD, RGB_SPD, _______, _______, _______, _______, _______, _______, _______, _______, + _______, RM_TOGG, RM_NEXT, RM_VALU, RM_HUEU, RM_SATU, RM_SPDU, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, RM_PREV, RM_VALD, RM_HUED, RM_SATD, RM_SPDD, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, NK_TOGG, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______), @@ -54,10 +54,10 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { _______, KC_LCTL, KC_LWIN, KC_LALT, KC_SPC, MO(WIN_FN), KC_SPC, KC_RALT, KC_LEFT, KC_DOWN, KC_RGHT), [WIN_FN] = LAYOUT_ansi_89( - RGB_TOG, _______, KC_BRID, KC_BRIU, KC_TASK, KC_FLXP, RGB_VAD, RGB_VAI, KC_MPRV, KC_MPLY, KC_MNXT, KC_MUTE, KC_VOLD, KC_VOLU, _______, _______, + RM_TOGG, _______, KC_BRID, KC_BRIU, KC_TASK, KC_FLXP, RM_VALD, RM_VALU, KC_MPRV, KC_MPLY, KC_MNXT, KC_MUTE, KC_VOLD, KC_VOLU, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, RGB_TOG, RGB_MOD, RGB_VAI, RGB_HUI, RGB_SAI, RGB_SPI, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, RGB_RMOD, RGB_VAD, RGB_HUD, RGB_SAD, RGB_SPD, _______, _______, _______, _______, _______, _______, _______, _______, + _______, RM_TOGG, RM_NEXT, RM_VALU, RM_HUEU, RM_SATU, RM_SPDU, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, RM_PREV, RM_VALD, RM_HUED, RM_SATD, RM_SPDD, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, NK_TOGG, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______), }; @@ -65,8 +65,8 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { #if defined(ENCODER_ENABLE) && defined(ENCODER_MAP_ENABLE) const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][NUM_DIRECTIONS] = { [MAC_BASE] = { ENCODER_CCW_CW(KC_VOLD, KC_VOLU) }, - [MAC_FN] = { ENCODER_CCW_CW(RGB_VAD, RGB_VAI) }, + [MAC_FN] = { ENCODER_CCW_CW(RM_VALD, RM_VALU) }, [WIN_BASE] = { ENCODER_CCW_CW(KC_VOLD, KC_VOLU) }, - [WIN_FN] = { ENCODER_CCW_CW(RGB_VAD, RGB_VAI) } + [WIN_FN] = { ENCODER_CCW_CW(RM_VALD, RM_VALU) } }; #endif // ENCODER_MAP_ENABLE diff --git a/keyboards/keychron/v10/iso_encoder/keymaps/default/keymap.c b/keyboards/keychron/v10/iso_encoder/keymaps/default/keymap.c index 40046cc69d8..22ddc6944bc 100644 --- a/keyboards/keychron/v10/iso_encoder/keymaps/default/keymap.c +++ b/keyboards/keychron/v10/iso_encoder/keymaps/default/keymap.c @@ -30,7 +30,7 @@ enum layers{ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { [MAC_BASE] = LAYOUT_iso_90( - KC_MUTE, KC_ESC, KC_BRID, KC_BRIU, KC_NO, KC_NO, RGB_VAD, RGB_VAI, KC_MPRV, KC_MPLY, KC_MNXT, KC_MUTE, KC_VOLD, KC_VOLU, KC_INS, KC_DEL, + KC_MUTE, KC_ESC, KC_BRID, KC_BRIU, KC_NO, KC_NO, RM_VALD, RM_VALU, KC_MPRV, KC_MPLY, KC_MNXT, KC_MUTE, KC_VOLD, KC_VOLU, KC_INS, KC_DEL, _______, 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_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_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_NUHS, KC_ENT, KC_HOME, @@ -38,10 +38,10 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { _______, KC_LCTL, KC_LOPT, KC_LCMD, KC_SPC, MO(MAC_FN), KC_SPC, KC_RCMD, KC_LEFT, KC_DOWN, KC_RGHT), [MAC_FN] = LAYOUT_iso_90( - RGB_TOG, _______, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, _______, _______, + RM_TOGG, _______, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, RGB_TOG, RGB_MOD, RGB_VAI, RGB_HUI, RGB_SAI, RGB_SPI, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, RGB_RMOD, RGB_VAD, RGB_HUD, RGB_SAD, RGB_SPD, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, RM_TOGG, RM_NEXT, RM_VALU, RM_HUEU, RM_SATU, RM_SPDU, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, RM_PREV, RM_VALD, RM_HUED, RM_SATD, RM_SPDD, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, NK_TOGG, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______), @@ -54,10 +54,10 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { _______, KC_LCTL, KC_LWIN, KC_LALT, KC_SPC, MO(WIN_FN), KC_SPC, KC_RALT, KC_LEFT, KC_DOWN, KC_RGHT), [WIN_FN] = LAYOUT_iso_90( - RGB_TOG, _______, KC_BRID, KC_BRIU, KC_TASK, KC_FLXP, RGB_VAD, RGB_VAI, KC_MPRV, KC_MPLY, KC_MNXT, KC_MUTE, KC_VOLD, KC_VOLU, _______, _______, + RM_TOGG, _______, KC_BRID, KC_BRIU, KC_TASK, KC_FLXP, RM_VALD, RM_VALU, KC_MPRV, KC_MPLY, KC_MNXT, KC_MUTE, KC_VOLD, KC_VOLU, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, RGB_TOG, RGB_MOD, RGB_VAI, RGB_HUI, RGB_SAI, RGB_SPI, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, RGB_RMOD, RGB_VAD, RGB_HUD, RGB_SAD, RGB_SPD, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, RM_TOGG, RM_NEXT, RM_VALU, RM_HUEU, RM_SATU, RM_SPDU, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, RM_PREV, RM_VALD, RM_HUED, RM_SATD, RM_SPDD, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, NK_TOGG, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______), }; @@ -65,8 +65,8 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { #if defined(ENCODER_ENABLE) && defined(ENCODER_MAP_ENABLE) const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][NUM_DIRECTIONS] = { [MAC_BASE] = { ENCODER_CCW_CW(KC_VOLD, KC_VOLU) }, - [MAC_FN] = { ENCODER_CCW_CW(RGB_VAD, RGB_VAI) }, + [MAC_FN] = { ENCODER_CCW_CW(RM_VALD, RM_VALU) }, [WIN_BASE] = { ENCODER_CCW_CW(KC_VOLD, KC_VOLU) }, - [WIN_FN] = { ENCODER_CCW_CW(RGB_VAD, RGB_VAI) } + [WIN_FN] = { ENCODER_CCW_CW(RM_VALD, RM_VALU) } }; #endif // ENCODER_MAP_ENABLE diff --git a/keyboards/keychron/v10/v10.c b/keyboards/keychron/v10/v10.c index 1bde388544c..f81b78284b8 100644 --- a/keyboards/keychron/v10/v10.c +++ b/keyboards/keychron/v10/v10.c @@ -37,7 +37,7 @@ bool process_record_kb(uint16_t keycode, keyrecord_t *record) { return false; } switch (keycode) { - case RGB_TOG: + case QK_RGB_MATRIX_TOGGLE: if (record->event.pressed) { switch (rgb_matrix_get_flags()) { case LED_FLAG_ALL: { diff --git a/keyboards/keychron/v2/ansi/keymaps/default/keymap.c b/keyboards/keychron/v2/ansi/keymaps/default/keymap.c index 39c169dddb6..80777acd603 100644 --- a/keyboards/keychron/v2/ansi/keymaps/default/keymap.c +++ b/keyboards/keychron/v2/ansi/keymaps/default/keymap.c @@ -45,23 +45,23 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_LCTL, KC_LWIN, KC_LALT, KC_SPC, KC_RALT, MO(_FN2), MO(_FN3), KC_LEFT, KC_DOWN, KC_RGHT), [_FN1] = LAYOUT_ansi_67( - KC_GRV, KC_BRID, KC_BRIU, KC_NO, KC_NO, RGB_VAD, RGB_VAI, KC_MPRV, KC_MPLY, KC_MNXT, KC_MUTE, KC_VOLD, KC_VOLU, _______, _______, - RGB_TOG, RGB_MOD, RGB_VAI, RGB_HUI, RGB_SAI, RGB_SPI, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, RGB_RMOD, RGB_VAD, RGB_HUD, RGB_SAD, RGB_SPD, _______, _______, _______, _______, _______, _______, _______, _______, + KC_GRV, KC_BRID, KC_BRIU, KC_NO, KC_NO, RM_VALD, RM_VALU, KC_MPRV, KC_MPLY, KC_MNXT, KC_MUTE, KC_VOLD, KC_VOLU, _______, _______, + RM_TOGG, RM_NEXT, RM_VALU, RM_HUEU, RM_SATU, RM_SPDU, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, RM_PREV, RM_VALD, RM_HUED, RM_SATD, RM_SPDD, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, NK_TOGG, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______), [_FN2] = LAYOUT_ansi_67( - KC_GRV, KC_BRID, KC_BRIU, KC_TASK, KC_FLXP, RGB_VAD, RGB_VAI, KC_MPRV, KC_MPLY, KC_MNXT, KC_MUTE, KC_VOLD, KC_VOLU, _______, _______, - RGB_TOG, RGB_MOD, RGB_VAI, RGB_HUI, RGB_SAI, RGB_SPI, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, RGB_RMOD, RGB_VAD, RGB_HUD, RGB_SAD, RGB_SPD, _______, _______, _______, _______, _______, _______, _______, _______, + KC_GRV, KC_BRID, KC_BRIU, KC_TASK, KC_FLXP, RM_VALD, RM_VALU, KC_MPRV, KC_MPLY, KC_MNXT, KC_MUTE, KC_VOLD, KC_VOLU, _______, _______, + RM_TOGG, RM_NEXT, RM_VALU, RM_HUEU, RM_SATU, RM_SPDU, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, RM_PREV, RM_VALD, RM_HUED, RM_SATD, RM_SPDD, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, NK_TOGG, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______), [_FN3] = LAYOUT_ansi_67( 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, _______, _______, - RGB_TOG, RGB_MOD, RGB_VAI, RGB_HUI, RGB_SAI, RGB_SPI, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, RGB_RMOD, RGB_VAD, RGB_HUD, RGB_SAD, RGB_SPD, _______, _______, _______, _______, _______, _______, _______, _______, + RM_TOGG, RM_NEXT, RM_VALU, RM_HUEU, RM_SATU, RM_SPDU, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, RM_PREV, RM_VALD, RM_HUED, RM_SATD, RM_SPDD, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______) }; diff --git a/keyboards/keychron/v2/ansi_encoder/keymaps/default/keymap.c b/keyboards/keychron/v2/ansi_encoder/keymaps/default/keymap.c index 71da961dacc..c0913a25afc 100644 --- a/keyboards/keychron/v2/ansi_encoder/keymaps/default/keymap.c +++ b/keyboards/keychron/v2/ansi_encoder/keymaps/default/keymap.c @@ -45,23 +45,23 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_LCTL, KC_LWIN, KC_LALT, KC_SPC, KC_RALT, MO(_FN2), MO(_FN3), KC_LEFT, KC_DOWN, KC_RGHT), [_FN1] = LAYOUT_ansi_67( - KC_GRV, KC_BRID, KC_BRIU, KC_NO, KC_NO, RGB_VAD, RGB_VAI, KC_MPRV, KC_MPLY, KC_MNXT, KC_MUTE, KC_VOLD, KC_VOLU, _______, _______, - RGB_TOG, RGB_MOD, RGB_VAI, RGB_HUI, RGB_SAI, RGB_SPI, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, RGB_RMOD, RGB_VAD, RGB_HUD, RGB_SAD, RGB_SPD, _______, _______, _______, _______, _______, _______, _______, _______, + KC_GRV, KC_BRID, KC_BRIU, KC_NO, KC_NO, RM_VALD, RM_VALU, KC_MPRV, KC_MPLY, KC_MNXT, KC_MUTE, KC_VOLD, KC_VOLU, _______, _______, + RM_TOGG, RM_NEXT, RM_VALU, RM_HUEU, RM_SATU, RM_SPDU, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, RM_PREV, RM_VALD, RM_HUED, RM_SATD, RM_SPDD, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, NK_TOGG, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______), [_FN2] = LAYOUT_ansi_67( - KC_GRV, KC_BRID, KC_BRIU, KC_TASK, KC_FLXP, RGB_VAD, RGB_VAI, KC_MPRV, KC_MPLY, KC_MNXT, KC_MUTE, KC_VOLD, KC_VOLU, _______, _______, - RGB_TOG, RGB_MOD, RGB_VAI, RGB_HUI, RGB_SAI, RGB_SPI, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, RGB_RMOD, RGB_VAD, RGB_HUD, RGB_SAD, RGB_SPD, _______, _______, _______, _______, _______, _______, _______, _______, + KC_GRV, KC_BRID, KC_BRIU, KC_TASK, KC_FLXP, RM_VALD, RM_VALU, KC_MPRV, KC_MPLY, KC_MNXT, KC_MUTE, KC_VOLD, KC_VOLU, _______, _______, + RM_TOGG, RM_NEXT, RM_VALU, RM_HUEU, RM_SATU, RM_SPDU, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, RM_PREV, RM_VALD, RM_HUED, RM_SATD, RM_SPDD, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, NK_TOGG, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______), [_FN3] = LAYOUT_ansi_67( 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, _______, _______, - RGB_TOG, RGB_MOD, RGB_VAI, RGB_HUI, RGB_SAI, RGB_SPI, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, RGB_RMOD, RGB_VAD, RGB_HUD, RGB_SAD, RGB_SPD, _______, _______, _______, _______, _______, _______, _______, _______, + RM_TOGG, RM_NEXT, RM_VALU, RM_HUEU, RM_SATU, RM_SPDU, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, RM_PREV, RM_VALD, RM_HUED, RM_SATD, RM_SPDD, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______) }; @@ -70,8 +70,8 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][NUM_DIRECTIONS] = { [MAC_BASE] = { ENCODER_CCW_CW(KC_VOLD, KC_VOLU)}, [WIN_BASE] = { ENCODER_CCW_CW(KC_VOLD, KC_VOLU)}, - [_FN1] = { ENCODER_CCW_CW(RGB_VAD, RGB_VAI)}, - [_FN2] = { ENCODER_CCW_CW(RGB_VAD, RGB_VAI)}, + [_FN1] = { ENCODER_CCW_CW(RM_VALD, RM_VALU)}, + [_FN2] = { ENCODER_CCW_CW(RM_VALD, RM_VALU)}, [_FN3] = { ENCODER_CCW_CW(_______, _______)} }; #endif // ENCODER_MAP_ENABLE diff --git a/keyboards/keychron/v2/iso/keymaps/default/keymap.c b/keyboards/keychron/v2/iso/keymaps/default/keymap.c index bdee4ad8fd5..f1f51596e57 100644 --- a/keyboards/keychron/v2/iso/keymaps/default/keymap.c +++ b/keyboards/keychron/v2/iso/keymaps/default/keymap.c @@ -45,23 +45,23 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_LCTL, KC_LWIN, KC_LALT, KC_SPC, KC_RALT, MO(_FN2), MO(_FN3), KC_LEFT, KC_DOWN, KC_RGHT), [_FN1] = LAYOUT_iso_68( - KC_GRV, KC_BRID, KC_BRIU, KC_NO, KC_NO, RGB_VAD, RGB_VAI, KC_MPRV, KC_MPLY, KC_MNXT, KC_MUTE, KC_VOLD, KC_VOLU, _______, _______, - RGB_TOG, RGB_MOD, RGB_VAI, RGB_HUI, RGB_SAI, RGB_SPI, _______, _______, _______, _______, _______, _______, _______, _______, - _______, RGB_RMOD, RGB_VAD, RGB_HUD, RGB_SAD, RGB_SPD, _______, _______, _______, _______, _______, _______, _______, _______, _______, + KC_GRV, KC_BRID, KC_BRIU, KC_NO, KC_NO, RM_VALD, RM_VALU, KC_MPRV, KC_MPLY, KC_MNXT, KC_MUTE, KC_VOLD, KC_VOLU, _______, _______, + RM_TOGG, RM_NEXT, RM_VALU, RM_HUEU, RM_SATU, RM_SPDU, _______, _______, _______, _______, _______, _______, _______, _______, + _______, RM_PREV, RM_VALD, RM_HUED, RM_SATD, RM_SPDD, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, NK_TOGG, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______), [_FN2] = LAYOUT_iso_68( - KC_GRV, KC_BRID, KC_BRIU, KC_TASK, KC_FLXP, RGB_VAD, RGB_VAI, KC_MPRV, KC_MPLY, KC_MNXT, KC_MUTE, KC_VOLD, KC_VOLU, _______, _______, - RGB_TOG, RGB_MOD, RGB_VAI, RGB_HUI, RGB_SAI, RGB_SPI, _______, _______, _______, _______, _______, _______, _______, _______, - _______, RGB_RMOD, RGB_VAD, RGB_HUD, RGB_SAD, RGB_SPD, _______, _______, _______, _______, _______, _______, _______, _______, _______, + KC_GRV, KC_BRID, KC_BRIU, KC_TASK, KC_FLXP, RM_VALD, RM_VALU, KC_MPRV, KC_MPLY, KC_MNXT, KC_MUTE, KC_VOLD, KC_VOLU, _______, _______, + RM_TOGG, RM_NEXT, RM_VALU, RM_HUEU, RM_SATU, RM_SPDU, _______, _______, _______, _______, _______, _______, _______, _______, + _______, RM_PREV, RM_VALD, RM_HUED, RM_SATD, RM_SPDD, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, NK_TOGG, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______), [_FN3] = LAYOUT_iso_68( 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, _______, _______, - RGB_TOG, RGB_MOD, RGB_VAI, RGB_HUI, RGB_SAI, RGB_SPI, _______, _______, _______, _______, _______, _______, _______, _______, - _______, RGB_RMOD, RGB_VAD, RGB_HUD, RGB_SAD, RGB_SPD, _______, _______, _______, _______, _______, _______, _______, _______, _______, + RM_TOGG, RM_NEXT, RM_VALU, RM_HUEU, RM_SATU, RM_SPDU, _______, _______, _______, _______, _______, _______, _______, _______, + _______, RM_PREV, RM_VALD, RM_HUED, RM_SATD, RM_SPDD, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______) }; diff --git a/keyboards/keychron/v2/iso_encoder/keymaps/default/keymap.c b/keyboards/keychron/v2/iso_encoder/keymaps/default/keymap.c index 585b6bb6cb0..a3ecbff90f0 100644 --- a/keyboards/keychron/v2/iso_encoder/keymaps/default/keymap.c +++ b/keyboards/keychron/v2/iso_encoder/keymaps/default/keymap.c @@ -45,23 +45,23 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_LCTL, KC_LWIN, KC_LALT, KC_SPC, KC_RALT, MO(_FN2), MO(_FN3), KC_LEFT, KC_DOWN, KC_RGHT), [_FN1] = LAYOUT_iso_68( - KC_GRV, KC_BRID, KC_BRIU, KC_NO, KC_NO, RGB_VAD, RGB_VAI, KC_MPRV, KC_MPLY, KC_MNXT, KC_MUTE, KC_VOLD, KC_VOLU, _______, _______, - RGB_TOG, RGB_MOD, RGB_VAI, RGB_HUI, RGB_SAI, RGB_SPI, _______, _______, _______, _______, _______, _______, _______, _______, - _______, RGB_RMOD, RGB_VAD, RGB_HUD, RGB_SAD, RGB_SPD, _______, _______, _______, _______, _______, _______, _______, _______, _______, + KC_GRV, KC_BRID, KC_BRIU, KC_NO, KC_NO, RM_VALD, RM_VALU, KC_MPRV, KC_MPLY, KC_MNXT, KC_MUTE, KC_VOLD, KC_VOLU, _______, _______, + RM_TOGG, RM_NEXT, RM_VALU, RM_HUEU, RM_SATU, RM_SPDU, _______, _______, _______, _______, _______, _______, _______, _______, + _______, RM_PREV, RM_VALD, RM_HUED, RM_SATD, RM_SPDD, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, NK_TOGG, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______), [_FN2] = LAYOUT_iso_68( - KC_GRV, KC_BRID, KC_BRIU, KC_TASK, KC_FLXP, RGB_VAD, RGB_VAI, KC_MPRV, KC_MPLY, KC_MNXT, KC_MUTE, KC_VOLD, KC_VOLU, _______, _______, - RGB_TOG, RGB_MOD, RGB_VAI, RGB_HUI, RGB_SAI, RGB_SPI, _______, _______, _______, _______, _______, _______, _______, _______, - _______, RGB_RMOD, RGB_VAD, RGB_HUD, RGB_SAD, RGB_SPD, _______, _______, _______, _______, _______, _______, _______, _______, _______, + KC_GRV, KC_BRID, KC_BRIU, KC_TASK, KC_FLXP, RM_VALD, RM_VALU, KC_MPRV, KC_MPLY, KC_MNXT, KC_MUTE, KC_VOLD, KC_VOLU, _______, _______, + RM_TOGG, RM_NEXT, RM_VALU, RM_HUEU, RM_SATU, RM_SPDU, _______, _______, _______, _______, _______, _______, _______, _______, + _______, RM_PREV, RM_VALD, RM_HUED, RM_SATD, RM_SPDD, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, NK_TOGG, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______), [_FN3] = LAYOUT_iso_68( 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, _______, _______, - RGB_TOG, RGB_MOD, RGB_VAI, RGB_HUI, RGB_SAI, RGB_SPI, _______, _______, _______, _______, _______, _______, _______, _______, - _______, RGB_RMOD, RGB_VAD, RGB_HUD, RGB_SAD, RGB_SPD, _______, _______, _______, _______, _______, _______, _______, _______, _______, + RM_TOGG, RM_NEXT, RM_VALU, RM_HUEU, RM_SATU, RM_SPDU, _______, _______, _______, _______, _______, _______, _______, _______, + _______, RM_PREV, RM_VALD, RM_HUED, RM_SATD, RM_SPDD, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______) }; @@ -70,8 +70,8 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][NUM_DIRECTIONS] = { [MAC_BASE] = { ENCODER_CCW_CW(KC_VOLD, KC_VOLU)}, [WIN_BASE] = { ENCODER_CCW_CW(KC_VOLD, KC_VOLU)}, - [_FN1] = { ENCODER_CCW_CW(RGB_VAD, RGB_VAI)}, - [_FN2] = { ENCODER_CCW_CW(RGB_VAD, RGB_VAI)}, + [_FN1] = { ENCODER_CCW_CW(RM_VALD, RM_VALU)}, + [_FN2] = { ENCODER_CCW_CW(RM_VALD, RM_VALU)}, [_FN3] = { ENCODER_CCW_CW(_______, _______)} }; #endif // ENCODER_MAP_ENABLE diff --git a/keyboards/keychron/v2/jis/keymaps/default/keymap.c b/keyboards/keychron/v2/jis/keymaps/default/keymap.c index 30e83b21a62..c325d1d07bc 100644 --- a/keyboards/keychron/v2/jis/keymaps/default/keymap.c +++ b/keyboards/keychron/v2/jis/keymaps/default/keymap.c @@ -45,23 +45,23 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_LCTL, KC_LWIN, KC_LALT, KC_INT5, KC_SPC, KC_INT4, KC_RALT, MO(_FN2), MO(_FN3), KC_LEFT, KC_DOWN, KC_RGHT), [_FN1] = LAYOUT_jis_71( - KC_GRV, KC_BRID, KC_BRIU, KC_NO, KC_NO, RGB_VAD, RGB_VAI, KC_MPRV, KC_MPLY, KC_MNXT, KC_MUTE, KC_VOLD, KC_VOLU, _______, _______, _______, - RGB_TOG, RGB_MOD, RGB_VAI, RGB_HUI, RGB_SAI, RGB_SPI, _______, _______, _______, _______, _______, _______, _______, _______, - _______, RGB_RMOD, RGB_VAD, RGB_HUD, RGB_SAD, RGB_SPD, _______, _______, _______, _______, _______, _______, _______, _______, _______, + KC_GRV, KC_BRID, KC_BRIU, KC_NO, KC_NO, RM_VALD, RM_VALU, KC_MPRV, KC_MPLY, KC_MNXT, KC_MUTE, KC_VOLD, KC_VOLU, _______, _______, _______, + RM_TOGG, RM_NEXT, RM_VALU, RM_HUEU, RM_SATU, RM_SPDU, _______, _______, _______, _______, _______, _______, _______, _______, + _______, RM_PREV, RM_VALD, RM_HUED, RM_SATD, RM_SPDD, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, NK_TOGG, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______), [_FN2] = LAYOUT_jis_71( - KC_GRV, KC_BRID, KC_BRIU, KC_TASK, KC_FLXP, RGB_VAD, RGB_VAI, KC_MPRV, KC_MPLY, KC_MNXT, KC_MUTE, KC_VOLD, KC_VOLU, _______, _______, _______, - RGB_TOG, RGB_MOD, RGB_VAI, RGB_HUI, RGB_SAI, RGB_SPI, _______, _______, _______, _______, _______, _______, _______, _______, - _______, RGB_RMOD, RGB_VAD, RGB_HUD, RGB_SAD, RGB_SPD, _______, _______, _______, _______, _______, _______, _______, _______, _______, + KC_GRV, KC_BRID, KC_BRIU, KC_TASK, KC_FLXP, RM_VALD, RM_VALU, KC_MPRV, KC_MPLY, KC_MNXT, KC_MUTE, KC_VOLD, KC_VOLU, _______, _______, _______, + RM_TOGG, RM_NEXT, RM_VALU, RM_HUEU, RM_SATU, RM_SPDU, _______, _______, _______, _______, _______, _______, _______, _______, + _______, RM_PREV, RM_VALD, RM_HUED, RM_SATD, RM_SPDD, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, NK_TOGG, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______), [_FN3] = LAYOUT_jis_71( 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, _______, _______, _______, - RGB_TOG, RGB_MOD, RGB_VAI, RGB_HUI, RGB_SAI, RGB_SPI, _______, _______, _______, _______, _______, _______, _______, _______, - _______, RGB_RMOD, RGB_VAD, RGB_HUD, RGB_SAD, RGB_SPD, _______, _______, _______, _______, _______, _______, _______, _______, _______, + RM_TOGG, RM_NEXT, RM_VALU, RM_HUEU, RM_SATU, RM_SPDU, _______, _______, _______, _______, _______, _______, _______, _______, + _______, RM_PREV, RM_VALD, RM_HUED, RM_SATD, RM_SPDD, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______) }; diff --git a/keyboards/keychron/v2/jis_encoder/keymaps/default/keymap.c b/keyboards/keychron/v2/jis_encoder/keymaps/default/keymap.c index 68ca97e791b..47c8112e4c0 100644 --- a/keyboards/keychron/v2/jis_encoder/keymaps/default/keymap.c +++ b/keyboards/keychron/v2/jis_encoder/keymaps/default/keymap.c @@ -45,23 +45,23 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_LCTL, KC_LWIN, KC_LALT, KC_INT5, KC_SPC, KC_INT4, KC_RALT, MO(_FN2), MO(_FN3), KC_LEFT, KC_DOWN, KC_RGHT), [_FN1] = LAYOUT_jis_71( - KC_GRV, KC_BRID, KC_BRIU, KC_NO, KC_NO, RGB_VAD, RGB_VAI, KC_MPRV, KC_MPLY, KC_MNXT, KC_MUTE, KC_VOLD, KC_VOLU, _______, _______, RGB_TOG, - RGB_TOG, RGB_MOD, RGB_VAI, RGB_HUI, RGB_SAI, RGB_SPI, _______, _______, _______, _______, _______, _______, _______, _______, - _______, RGB_RMOD, RGB_VAD, RGB_HUD, RGB_SAD, RGB_SPD, _______, _______, _______, _______, _______, _______, _______, _______, _______, + KC_GRV, KC_BRID, KC_BRIU, KC_NO, KC_NO, RM_VALD, RM_VALU, KC_MPRV, KC_MPLY, KC_MNXT, KC_MUTE, KC_VOLD, KC_VOLU, _______, _______, RM_TOGG, + RM_TOGG, RM_NEXT, RM_VALU, RM_HUEU, RM_SATU, RM_SPDU, _______, _______, _______, _______, _______, _______, _______, _______, + _______, RM_PREV, RM_VALD, RM_HUED, RM_SATD, RM_SPDD, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, NK_TOGG, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______), [_FN2] = LAYOUT_jis_71( - KC_GRV, KC_BRID, KC_BRIU, KC_TASK, KC_FLXP, RGB_VAD, RGB_VAI, KC_MPRV, KC_MPLY, KC_MNXT, KC_MUTE, KC_VOLD, KC_VOLU, _______, _______, RGB_TOG, - RGB_TOG, RGB_MOD, RGB_VAI, RGB_HUI, RGB_SAI, RGB_SPI, _______, _______, _______, _______, _______, _______, _______, _______, - _______, RGB_RMOD, RGB_VAD, RGB_HUD, RGB_SAD, RGB_SPD, _______, _______, _______, _______, _______, _______, _______, _______, _______, + KC_GRV, KC_BRID, KC_BRIU, KC_TASK, KC_FLXP, RM_VALD, RM_VALU, KC_MPRV, KC_MPLY, KC_MNXT, KC_MUTE, KC_VOLD, KC_VOLU, _______, _______, RM_TOGG, + RM_TOGG, RM_NEXT, RM_VALU, RM_HUEU, RM_SATU, RM_SPDU, _______, _______, _______, _______, _______, _______, _______, _______, + _______, RM_PREV, RM_VALD, RM_HUED, RM_SATD, RM_SPDD, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, NK_TOGG, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______), [_FN3] = LAYOUT_jis_71( 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, _______, _______, _______, - RGB_TOG, RGB_MOD, RGB_VAI, RGB_HUI, RGB_SAI, RGB_SPI, _______, _______, _______, _______, _______, _______, _______, _______, - _______, RGB_RMOD, RGB_VAD, RGB_HUD, RGB_SAD, RGB_SPD, _______, _______, _______, _______, _______, _______, _______, _______, _______, + RM_TOGG, RM_NEXT, RM_VALU, RM_HUEU, RM_SATU, RM_SPDU, _______, _______, _______, _______, _______, _______, _______, _______, + _______, RM_PREV, RM_VALD, RM_HUED, RM_SATD, RM_SPDD, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______) }; @@ -70,8 +70,8 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][NUM_DIRECTIONS] = { [MAC_BASE] = { ENCODER_CCW_CW(KC_VOLD, KC_VOLU)}, [WIN_BASE] = { ENCODER_CCW_CW(KC_VOLD, KC_VOLU)}, - [_FN1] = { ENCODER_CCW_CW(RGB_VAD, RGB_VAI)}, - [_FN2] = { ENCODER_CCW_CW(RGB_VAD, RGB_VAI)}, + [_FN1] = { ENCODER_CCW_CW(RM_VALD, RM_VALU)}, + [_FN2] = { ENCODER_CCW_CW(RM_VALD, RM_VALU)}, [_FN3] = { ENCODER_CCW_CW(_______, _______)} }; #endif // ENCODER_MAP_ENABLE diff --git a/keyboards/keychron/v2/v2.c b/keyboards/keychron/v2/v2.c index f2aed82fa91..127af0ed6d9 100644 --- a/keyboards/keychron/v2/v2.c +++ b/keyboards/keychron/v2/v2.c @@ -33,7 +33,7 @@ bool process_record_kb(uint16_t keycode, keyrecord_t *record) { if (!process_record_user(keycode, record)) { return false; } switch (keycode) { #ifdef RGB_MATRIX_ENABLE - case RGB_TOG: + case QK_RGB_MATRIX_TOGGLE: if (record->event.pressed) { switch (rgb_matrix_get_flags()) { case LED_FLAG_ALL: { diff --git a/keyboards/keychron/v3/ansi/keymaps/default/keymap.c b/keyboards/keychron/v3/ansi/keymaps/default/keymap.c index 4a986de4df0..3a5c453c9ad 100644 --- a/keyboards/keychron/v3/ansi/keymaps/default/keymap.c +++ b/keyboards/keychron/v3/ansi/keymaps/default/keymap.c @@ -30,7 +30,7 @@ enum layers{ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { [MAC_BASE] = LAYOUT_tkl_ansi( - KC_ESC, KC_BRID, KC_BRIU, KC_NO, KC_NO, RGB_VAD, RGB_VAI, KC_MPRV, KC_MPLY, KC_MNXT, KC_MUTE, KC_VOLD, KC_VOLU, KC_NO, KC_NO, RGB_MOD, + KC_ESC, KC_BRID, KC_BRIU, KC_NO, KC_NO, RM_VALD, RM_VALU, KC_MPRV, KC_MPLY, KC_MNXT, KC_MUTE, KC_VOLD, KC_VOLU, KC_NO, KC_NO, RM_NEXT, 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, @@ -38,15 +38,15 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_LCTL, KC_LOPT, KC_LCMD, KC_SPC, KC_RCMD, KC_ROPT, MO(MAC_FN), KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT), [MAC_FN] = LAYOUT_tkl_ansi( - _______, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, _______, _______, RGB_TOG, + _______, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, _______, _______, RM_TOGG, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - RGB_TOG, RGB_MOD, RGB_VAI, RGB_HUI, RGB_SAI, RGB_SPI, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, RGB_RMOD, RGB_VAD, RGB_HUD, RGB_SAD, RGB_SPD, _______, _______, _______, _______, _______, _______, _______, + RM_TOGG, RM_NEXT, RM_VALU, RM_HUEU, RM_SATU, RM_SPDU, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, RM_PREV, RM_VALD, RM_HUED, RM_SATD, RM_SPDD, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, NK_TOGG, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______), [WIN_BASE] = LAYOUT_tkl_ansi( - 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_NO, RGB_MOD, + 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_NO, RM_NEXT, 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, @@ -54,10 +54,10 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_LCTL, KC_LWIN, KC_LALT, KC_SPC, KC_RALT, KC_RWIN, MO(WIN_FN), KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT), [WIN_FN] = LAYOUT_tkl_ansi( - _______, KC_BRID, KC_BRIU, KC_TASK, KC_FLXP, RGB_VAD, RGB_VAI, KC_MPRV, KC_MPLY, KC_MNXT, KC_MUTE, KC_VOLD, KC_VOLU, _______, _______, RGB_TOG, + _______, KC_BRID, KC_BRIU, KC_TASK, KC_FLXP, RM_VALD, RM_VALU, KC_MPRV, KC_MPLY, KC_MNXT, KC_MUTE, KC_VOLD, KC_VOLU, _______, _______, RM_TOGG, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - RGB_TOG, RGB_MOD, RGB_VAI, RGB_HUI, RGB_SAI, RGB_SPI, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, RGB_RMOD, RGB_VAD, RGB_HUD, RGB_SAD, RGB_SPD, _______, _______, _______, _______, _______, _______, _______, + RM_TOGG, RM_NEXT, RM_VALU, RM_HUEU, RM_SATU, RM_SPDU, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, RM_PREV, RM_VALD, RM_HUED, RM_SATD, RM_SPDD, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, NK_TOGG, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______), }; diff --git a/keyboards/keychron/v3/ansi_encoder/keymaps/default/keymap.c b/keyboards/keychron/v3/ansi_encoder/keymaps/default/keymap.c index 1d3b2a2d465..18ea4328b9b 100644 --- a/keyboards/keychron/v3/ansi_encoder/keymaps/default/keymap.c +++ b/keyboards/keychron/v3/ansi_encoder/keymaps/default/keymap.c @@ -30,7 +30,7 @@ enum layers{ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { [MAC_BASE] = LAYOUT_tkl_f13_ansi( - KC_ESC, KC_BRID, KC_BRIU, KC_NO, KC_NO, RGB_VAD, RGB_VAI, KC_MPRV, KC_MPLY, KC_MNXT, KC_MUTE, KC_VOLD, KC_VOLU, KC_MUTE, KC_NO, KC_NO, RGB_MOD, + KC_ESC, KC_BRID, KC_BRIU, KC_NO, KC_NO, RM_VALD, RM_VALU, KC_MPRV, KC_MPLY, KC_MNXT, KC_MUTE, KC_VOLD, KC_VOLU, KC_MUTE, KC_NO, KC_NO, RM_NEXT, 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, @@ -38,15 +38,15 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_LCTL, KC_LOPT, KC_LCMD, KC_SPC, KC_RCMD, KC_ROPT, MO(MAC_FN), KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT), [MAC_FN] = LAYOUT_tkl_f13_ansi( - _______, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, RGB_TOG, _______, _______, RGB_TOG, + _______, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, RM_TOGG, _______, _______, RM_TOGG, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - RGB_TOG, RGB_MOD, RGB_VAI, RGB_HUI, RGB_SAI, RGB_SPI, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, RGB_RMOD, RGB_VAD, RGB_HUD, RGB_SAD, RGB_SPD, _______, _______, _______, _______, _______, _______, _______, + RM_TOGG, RM_NEXT, RM_VALU, RM_HUEU, RM_SATU, RM_SPDU, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, RM_PREV, RM_VALD, RM_HUED, RM_SATD, RM_SPDD, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, NK_TOGG, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______), [WIN_BASE] = LAYOUT_tkl_f13_ansi( - 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_MUTE, KC_PSCR, KC_NO, RGB_MOD, + 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_MUTE, KC_PSCR, KC_NO, RM_NEXT, 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, @@ -54,10 +54,10 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_LCTL, KC_LWIN, KC_LALT, KC_SPC, KC_RALT, KC_RWIN, MO(WIN_FN), KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT), [WIN_FN] = LAYOUT_tkl_f13_ansi( - _______, KC_BRID, KC_BRIU, KC_TASK, KC_FLXP, RGB_VAD, RGB_VAI, KC_MPRV, KC_MPLY, KC_MNXT, KC_MUTE, KC_VOLD, KC_VOLU, RGB_TOG, _______, _______, RGB_TOG, + _______, KC_BRID, KC_BRIU, KC_TASK, KC_FLXP, RM_VALD, RM_VALU, KC_MPRV, KC_MPLY, KC_MNXT, KC_MUTE, KC_VOLD, KC_VOLU, RM_TOGG, _______, _______, RM_TOGG, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - RGB_TOG, RGB_MOD, RGB_VAI, RGB_HUI, RGB_SAI, RGB_SPI, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, RGB_RMOD, RGB_VAD, RGB_HUD, RGB_SAD, RGB_SPD, _______, _______, _______, _______, _______, _______, _______, + RM_TOGG, RM_NEXT, RM_VALU, RM_HUEU, RM_SATU, RM_SPDU, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, RM_PREV, RM_VALD, RM_HUED, RM_SATD, RM_SPDD, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, NK_TOGG, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______), }; @@ -65,8 +65,8 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { #if defined(ENCODER_MAP_ENABLE) const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][NUM_DIRECTIONS] = { [MAC_BASE] = { ENCODER_CCW_CW(KC_VOLD, KC_VOLU)}, - [MAC_FN] = { ENCODER_CCW_CW(RGB_VAD, RGB_VAI)}, + [MAC_FN] = { ENCODER_CCW_CW(RM_VALD, RM_VALU)}, [WIN_BASE] = { ENCODER_CCW_CW(KC_VOLD, KC_VOLU)}, - [WIN_FN] = { ENCODER_CCW_CW(RGB_VAD, RGB_VAI)}, + [WIN_FN] = { ENCODER_CCW_CW(RM_VALD, RM_VALU)}, }; #endif // ENCODER_MAP_ENABLE diff --git a/keyboards/keychron/v3/iso/keymaps/default/keymap.c b/keyboards/keychron/v3/iso/keymaps/default/keymap.c index e50315c1fd6..3726f311670 100644 --- a/keyboards/keychron/v3/iso/keymaps/default/keymap.c +++ b/keyboards/keychron/v3/iso/keymaps/default/keymap.c @@ -28,7 +28,7 @@ enum layers{ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { [MAC_BASE] = LAYOUT_tkl_iso( - KC_ESC, KC_BRID, KC_BRIU, KC_NO, KC_NO, RGB_VAD, RGB_VAI, KC_MPRV, KC_MPLY, KC_MNXT, KC_MUTE, KC_VOLD, KC_VOLU, KC_NO, KC_NO, RGB_MOD, + KC_ESC, KC_BRID, KC_BRIU, KC_NO, KC_NO, RM_VALD, RM_VALU, KC_MPRV, KC_MPLY, KC_MNXT, KC_MUTE, KC_VOLD, KC_VOLU, KC_NO, KC_NO, RM_NEXT, 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_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_NUHS, KC_ENT, @@ -36,15 +36,15 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_LCTL, KC_LOPT, KC_LCMD, KC_SPC, KC_RCMD, KC_ROPT, MO(MAC_FN), KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT), [MAC_FN] = LAYOUT_tkl_iso( - _______, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, _______, _______, RGB_TOG, + _______, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, _______, _______, RM_TOGG, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - RGB_TOG, RGB_MOD, RGB_VAI, RGB_HUI, RGB_SAI, RGB_SPI, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, RGB_RMOD, RGB_VAD, RGB_HUD, RGB_SAD, RGB_SPD, _______, _______, _______, _______, _______, _______, _______, _______, + RM_TOGG, RM_NEXT, RM_VALU, RM_HUEU, RM_SATU, RM_SPDU, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, RM_PREV, RM_VALD, RM_HUED, RM_SATD, RM_SPDD, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, NK_TOGG, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______), [WIN_BASE] = LAYOUT_tkl_iso( - 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_NO, RGB_MOD, + 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_NO, RM_NEXT, 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_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_NUHS, KC_ENT, @@ -52,10 +52,10 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_LCTL, KC_LWIN, KC_LALT, KC_SPC, KC_RALT, KC_RWIN, MO(WIN_FN), KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT), [WIN_FN] = LAYOUT_tkl_iso( - _______, KC_BRID, KC_BRIU, KC_TASK, KC_FLXP, RGB_VAD, RGB_VAI, KC_MPRV, KC_MPLY, KC_MNXT, KC_MUTE, KC_VOLD, KC_VOLU, _______, _______, RGB_TOG, + _______, KC_BRID, KC_BRIU, KC_TASK, KC_FLXP, RM_VALD, RM_VALU, KC_MPRV, KC_MPLY, KC_MNXT, KC_MUTE, KC_VOLD, KC_VOLU, _______, _______, RM_TOGG, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - RGB_TOG, RGB_MOD, RGB_VAI, RGB_HUI, RGB_SAI, RGB_SPI, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, RGB_RMOD, RGB_VAD, RGB_HUD, RGB_SAD, RGB_SPD, _______, _______, _______, _______, _______, _______, _______, _______, + RM_TOGG, RM_NEXT, RM_VALU, RM_HUEU, RM_SATU, RM_SPDU, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, RM_PREV, RM_VALD, RM_HUED, RM_SATD, RM_SPDD, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, NK_TOGG, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______), }; diff --git a/keyboards/keychron/v3/iso_encoder/keymaps/default/keymap.c b/keyboards/keychron/v3/iso_encoder/keymaps/default/keymap.c index 9d928655282..8fe9189e113 100644 --- a/keyboards/keychron/v3/iso_encoder/keymaps/default/keymap.c +++ b/keyboards/keychron/v3/iso_encoder/keymaps/default/keymap.c @@ -30,7 +30,7 @@ enum layers{ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { [MAC_BASE] = LAYOUT_tkl_f13_iso( - KC_ESC, KC_BRID, KC_BRIU, KC_NO, KC_NO, RGB_VAD, RGB_VAI, KC_MPRV, KC_MPLY, KC_MNXT, KC_MUTE, KC_VOLD, KC_VOLU, KC_MUTE, KC_NO, KC_NO, RGB_MOD, + KC_ESC, KC_BRID, KC_BRIU, KC_NO, KC_NO, RM_VALD, RM_VALU, KC_MPRV, KC_MPLY, KC_MNXT, KC_MUTE, KC_VOLD, KC_VOLU, KC_MUTE, KC_NO, KC_NO, RM_NEXT, 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_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_NUHS, KC_ENT, @@ -38,15 +38,15 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_LCTL, KC_LOPT, KC_LCMD, KC_SPC, KC_RCMD, KC_ROPT, MO(MAC_FN), KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT), [MAC_FN] = LAYOUT_tkl_f13_iso( - _______, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, RGB_TOG, _______, _______, RGB_TOG, + _______, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, RM_TOGG, _______, _______, RM_TOGG, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - RGB_TOG, RGB_MOD, RGB_VAI, RGB_HUI, RGB_SAI, RGB_SPI, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, RGB_RMOD, RGB_VAD, RGB_HUD, RGB_SAD, RGB_SPD, _______, _______, _______, _______, _______, _______, _______, _______, + RM_TOGG, RM_NEXT, RM_VALU, RM_HUEU, RM_SATU, RM_SPDU, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, RM_PREV, RM_VALD, RM_HUED, RM_SATD, RM_SPDD, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, NK_TOGG, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______), [WIN_BASE] = LAYOUT_tkl_f13_iso( - 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_MUTE, KC_PSCR, KC_NO, RGB_MOD, + 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_MUTE, KC_PSCR, KC_NO, RM_NEXT, 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_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_NUHS, KC_ENT, @@ -54,10 +54,10 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_LCTL, KC_LCMD, KC_LALT, KC_SPC, KC_RALT, KC_RWIN, MO(WIN_FN), KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT), [WIN_FN] = LAYOUT_tkl_f13_iso( - _______, KC_BRID, KC_BRIU, KC_TASK, KC_FLXP, RGB_VAD, RGB_VAI, KC_MPRV, KC_MPLY, KC_MNXT, KC_MUTE, KC_VOLD, KC_VOLU, RGB_TOG, _______, _______, RGB_TOG, + _______, KC_BRID, KC_BRIU, KC_TASK, KC_FLXP, RM_VALD, RM_VALU, KC_MPRV, KC_MPLY, KC_MNXT, KC_MUTE, KC_VOLD, KC_VOLU, RM_TOGG, _______, _______, RM_TOGG, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - RGB_TOG, RGB_MOD, RGB_VAI, RGB_HUI, RGB_SAI, RGB_SPI, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, RGB_RMOD, RGB_VAD, RGB_HUD, RGB_SAD, RGB_SPD, _______, _______, _______, _______, _______, _______, _______, _______, + RM_TOGG, RM_NEXT, RM_VALU, RM_HUEU, RM_SATU, RM_SPDU, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, RM_PREV, RM_VALD, RM_HUED, RM_SATD, RM_SPDD, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, NK_TOGG, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______), }; @@ -65,8 +65,8 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { #if defined(ENCODER_MAP_ENABLE) const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][NUM_DIRECTIONS] = { [MAC_BASE] = { ENCODER_CCW_CW(KC_VOLD, KC_VOLU)}, - [MAC_FN] = { ENCODER_CCW_CW(RGB_VAD, RGB_VAI)}, + [MAC_FN] = { ENCODER_CCW_CW(RM_VALD, RM_VALU)}, [WIN_BASE] = { ENCODER_CCW_CW(KC_VOLD, KC_VOLU)}, - [WIN_FN] = { ENCODER_CCW_CW(RGB_VAD, RGB_VAI)}, + [WIN_FN] = { ENCODER_CCW_CW(RM_VALD, RM_VALU)}, }; #endif // ENCODER_MAP_ENABLE diff --git a/keyboards/keychron/v3/jis/keymaps/default/keymap.c b/keyboards/keychron/v3/jis/keymaps/default/keymap.c index 7fa980bb086..6ab1a463fb7 100644 --- a/keyboards/keychron/v3/jis/keymaps/default/keymap.c +++ b/keyboards/keychron/v3/jis/keymaps/default/keymap.c @@ -30,7 +30,7 @@ enum layers{ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { [MAC_BASE] = LAYOUT_jis_91( - KC_ESC, KC_BRID, KC_BRIU, KC_NO, KC_NO, RGB_VAD, RGB_VAI, KC_MPRV, KC_MPLY, KC_MNXT, KC_MUTE, KC_VOLD, KC_VOLU, KC_NO, KC_NO, RGB_MOD, + KC_ESC, KC_BRID, KC_BRIU, KC_NO, KC_NO, RM_VALD, RM_VALU, KC_MPRV, KC_MPLY, KC_MNXT, KC_MUTE, KC_VOLD, KC_VOLU, KC_NO, KC_NO, RM_NEXT, 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_INT3, 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_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_NUHS, KC_ENT, @@ -38,15 +38,15 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_LCTL, KC_LOPT, KC_LCMD, KC_LNG2, KC_SPC, KC_LNG1, KC_RCMD, KC_ROPT, MO(MAC_FN), KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT), [MAC_FN] = LAYOUT_jis_91( - _______, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, _______, _______, RGB_TOG, + _______, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, _______, _______, RM_TOGG, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - RGB_TOG, RGB_MOD, RGB_VAI, RGB_HUI, RGB_SAI, RGB_SPI, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, RGB_RMOD, RGB_VAD, RGB_HUD, RGB_SAD, RGB_SPD, _______, _______, _______, _______, _______, _______, _______, _______, + RM_TOGG, RM_NEXT, RM_VALU, RM_HUEU, RM_SATU, RM_SPDU, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, RM_PREV, RM_VALD, RM_HUED, RM_SATD, RM_SPDD, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, NK_TOGG, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______), [WIN_BASE] = LAYOUT_jis_91( - 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_NO, RGB_MOD, + 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_NO, RM_NEXT, 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_INT3, 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_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_NUHS, KC_ENT, @@ -54,10 +54,10 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_LCTL, KC_LWIN, KC_LALT, KC_INT5, KC_SPC, KC_INT4, KC_RALT, KC_RWIN, MO(WIN_FN), KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT), [WIN_FN] = LAYOUT_jis_91( - _______, KC_BRID, KC_BRIU, KC_TASK, KC_FLXP, RGB_VAD, RGB_VAI, KC_MPRV, KC_MPLY, KC_MNXT, KC_MUTE, KC_VOLD, KC_VOLU, _______, _______, RGB_TOG, + _______, KC_BRID, KC_BRIU, KC_TASK, KC_FLXP, RM_VALD, RM_VALU, KC_MPRV, KC_MPLY, KC_MNXT, KC_MUTE, KC_VOLD, KC_VOLU, _______, _______, RM_TOGG, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - RGB_TOG, RGB_MOD, RGB_VAI, RGB_HUI, RGB_SAI, RGB_SPI, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, RGB_RMOD, RGB_VAD, RGB_HUD, RGB_SAD, RGB_SPD, _______, _______, _______, _______, _______, _______, _______, _______, + RM_TOGG, RM_NEXT, RM_VALU, RM_HUEU, RM_SATU, RM_SPDU, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, RM_PREV, RM_VALD, RM_HUED, RM_SATD, RM_SPDD, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, NK_TOGG, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______), }; diff --git a/keyboards/keychron/v3/jis_encoder/keymaps/default/keymap.c b/keyboards/keychron/v3/jis_encoder/keymaps/default/keymap.c index 18c17da4fd4..4e34a34aae3 100644 --- a/keyboards/keychron/v3/jis_encoder/keymaps/default/keymap.c +++ b/keyboards/keychron/v3/jis_encoder/keymaps/default/keymap.c @@ -30,7 +30,7 @@ enum layers{ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { [MAC_BASE] = LAYOUT_jis_92( - KC_ESC, KC_BRID, KC_BRIU, KC_NO, KC_NO, RGB_VAD, RGB_VAI, KC_MPRV, KC_MPLY, KC_MNXT, KC_MUTE, KC_VOLD, KC_VOLU, KC_MUTE, KC_NO, KC_NO, RGB_MOD, + KC_ESC, KC_BRID, KC_BRIU, KC_NO, KC_NO, RM_VALD, RM_VALU, KC_MPRV, KC_MPLY, KC_MNXT, KC_MUTE, KC_VOLD, KC_VOLU, KC_MUTE, KC_NO, KC_NO, RM_NEXT, 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_INT3, 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_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_NUHS, KC_ENT, @@ -38,15 +38,15 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_LCTL, KC_LOPT, KC_LCMD, KC_LNG2, KC_SPC, KC_LNG1, KC_RCMD, KC_ROPT, MO(MAC_FN), KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT), [MAC_FN] = LAYOUT_jis_92( - _______, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, _______, _______, _______, RGB_TOG, + _______, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, _______, _______, _______, RM_TOGG, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - RGB_TOG, RGB_MOD, RGB_VAI, RGB_HUI, RGB_SAI, RGB_SPI, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, RGB_RMOD, RGB_VAD, RGB_HUD, RGB_SAD, RGB_SPD, _______, _______, _______, _______, _______, _______, _______, _______, + RM_TOGG, RM_NEXT, RM_VALU, RM_HUEU, RM_SATU, RM_SPDU, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, RM_PREV, RM_VALD, RM_HUED, RM_SATD, RM_SPDD, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, NK_TOGG, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______), [WIN_BASE] = LAYOUT_jis_92( - 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_MUTE, KC_PSCR, KC_NO, RGB_MOD, + 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_MUTE, KC_PSCR, KC_NO, RM_NEXT, 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_INT3, 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_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_NUHS, KC_ENT, @@ -54,10 +54,10 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_LCTL, KC_LWIN, KC_LALT, KC_INT5, KC_SPC, KC_INT4, KC_RALT, KC_RWIN, MO(WIN_FN), KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT), [WIN_FN] = LAYOUT_jis_92( - _______, KC_BRID, KC_BRIU, KC_TASK, KC_FLXP, RGB_VAD, RGB_VAI, KC_MPRV, KC_MPLY, KC_MNXT, KC_MUTE, KC_VOLD, KC_VOLU, _______, _______, _______, RGB_TOG, + _______, KC_BRID, KC_BRIU, KC_TASK, KC_FLXP, RM_VALD, RM_VALU, KC_MPRV, KC_MPLY, KC_MNXT, KC_MUTE, KC_VOLD, KC_VOLU, _______, _______, _______, RM_TOGG, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - RGB_TOG, RGB_MOD, RGB_VAI, RGB_HUI, RGB_SAI, RGB_SPI, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, RGB_RMOD, RGB_VAD, RGB_HUD, RGB_SAD, RGB_SPD, _______, _______, _______, _______, _______, _______, _______, _______, + RM_TOGG, RM_NEXT, RM_VALU, RM_HUEU, RM_SATU, RM_SPDU, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, RM_PREV, RM_VALD, RM_HUED, RM_SATD, RM_SPDD, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, NK_TOGG, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______), }; @@ -65,8 +65,8 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { #if defined(ENCODER_MAP_ENABLE) const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][NUM_DIRECTIONS] = { [MAC_BASE] = {ENCODER_CCW_CW(KC_VOLD, KC_VOLU)}, - [MAC_FN] = {ENCODER_CCW_CW(RGB_VAD, RGB_VAI)}, + [MAC_FN] = {ENCODER_CCW_CW(RM_VALD, RM_VALU)}, [WIN_BASE] = {ENCODER_CCW_CW(KC_VOLD, KC_VOLU)}, - [WIN_FN] = {ENCODER_CCW_CW(RGB_VAD, RGB_VAI)}, + [WIN_FN] = {ENCODER_CCW_CW(RM_VALD, RM_VALU)}, }; #endif // ENCODER_MAP_ENABLE diff --git a/keyboards/keychron/v3/v3.c b/keyboards/keychron/v3/v3.c index 4452556ca68..f844ffe9d99 100644 --- a/keyboards/keychron/v3/v3.c +++ b/keyboards/keychron/v3/v3.c @@ -36,7 +36,7 @@ bool process_record_kb(uint16_t keycode, keyrecord_t *record) { if (!process_record_user(keycode, record)) { return false; } switch (keycode) { #ifdef RGB_MATRIX_ENABLE - case RGB_TOG: + case QK_RGB_MATRIX_TOGGLE: if (record->event.pressed) { switch (rgb_matrix_get_flags()) { case LED_FLAG_ALL: { diff --git a/keyboards/keychron/v4/ansi/keymaps/default/keymap.c b/keyboards/keychron/v4/ansi/keymaps/default/keymap.c index b23029bee48..f3d4b8d4d49 100644 --- a/keyboards/keychron/v4/ansi/keymaps/default/keymap.c +++ b/keyboards/keychron/v4/ansi/keymaps/default/keymap.c @@ -45,23 +45,23 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_LCTL, KC_LWIN, KC_LALT, KC_SPC, KC_RALT, MO(_FN2), MO(_FN3), KC_RCTL), [_FN1] = LAYOUT_60_ansi( - KC_GRV, KC_BRID, KC_BRIU, KC_NO, KC_NO, RGB_VAD, RGB_VAI, KC_MPRV, KC_MPLY, KC_MNXT, KC_MUTE, KC_VOLD, KC_VOLU, RGB_MOD, - RGB_TOG, RGB_MOD, RGB_VAI, RGB_HUI, RGB_SAI, RGB_SPI, _______, _______, _______, _______, KC_INS, KC_PGUP, KC_HOME, _______, - _______, RGB_RMOD, RGB_VAD, RGB_HUD, RGB_SAD, RGB_SPD, _______, _______, KC_UP, _______, KC_PGDN, KC_END, _______, + KC_GRV, KC_BRID, KC_BRIU, KC_NO, KC_NO, RM_VALD, RM_VALU, KC_MPRV, KC_MPLY, KC_MNXT, KC_MUTE, KC_VOLD, KC_VOLU, RM_NEXT, + RM_TOGG, RM_NEXT, RM_VALU, RM_HUEU, RM_SATU, RM_SPDU, _______, _______, _______, _______, KC_INS, KC_PGUP, KC_HOME, _______, + _______, RM_PREV, RM_VALD, RM_HUED, RM_SATD, RM_SPDD, _______, _______, KC_UP, _______, KC_PGDN, KC_END, _______, _______, _______, _______, _______, _______, _______, NK_TOGG, KC_LEFT, KC_DOWN, KC_RIGHT, KC_DEL, _______, _______, _______, _______, _______, _______, _______, _______, _______), [_FN2] = LAYOUT_60_ansi( - KC_GRV, KC_BRID, KC_BRIU, KC_TASK, KC_FLXP, RGB_VAD, RGB_VAI, KC_MPRV, KC_MPLY, KC_MNXT, KC_MUTE, KC_VOLD, KC_VOLU, RGB_MOD, - RGB_TOG, RGB_MOD, RGB_VAI, RGB_HUI, RGB_SAI, RGB_SPI, _______, _______, KC_APP, KC_SCRL, KC_INS, KC_PGUP, KC_HOME, _______, - _______, RGB_RMOD, RGB_VAD, RGB_HUD, RGB_SAD, RGB_SPD, _______, _______, KC_UP, KC_PSCR, KC_PGDN, KC_END, _______, + KC_GRV, KC_BRID, KC_BRIU, KC_TASK, KC_FLXP, RM_VALD, RM_VALU, KC_MPRV, KC_MPLY, KC_MNXT, KC_MUTE, KC_VOLD, KC_VOLU, RM_NEXT, + RM_TOGG, RM_NEXT, RM_VALU, RM_HUEU, RM_SATU, RM_SPDU, _______, _______, KC_APP, KC_SCRL, KC_INS, KC_PGUP, KC_HOME, _______, + _______, RM_PREV, RM_VALD, RM_HUED, RM_SATD, RM_SPDD, _______, _______, KC_UP, KC_PSCR, KC_PGDN, KC_END, _______, _______, _______, _______, _______, _______, _______, NK_TOGG, KC_LEFT, KC_DOWN, KC_RIGHT, KC_DEL, _______, _______, _______, _______, _______, _______, _______, _______, _______), [_FN3] = LAYOUT_60_ansi( 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, _______, - RGB_TOG, RGB_MOD, RGB_VAI, RGB_HUI, RGB_SAI, RGB_SPI, _______, _______, _______, _______, _______, _______, _______, _______, - _______, RGB_RMOD, RGB_VAD, RGB_HUD, RGB_SAD, RGB_SPD, _______, _______, _______, _______, _______, _______, _______, + RM_TOGG, RM_NEXT, RM_VALU, RM_HUEU, RM_SATU, RM_SPDU, _______, _______, _______, _______, _______, _______, _______, _______, + _______, RM_PREV, RM_VALD, RM_HUED, RM_SATD, RM_SPDD, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______) }; diff --git a/keyboards/keychron/v4/iso/keymaps/default/keymap.c b/keyboards/keychron/v4/iso/keymaps/default/keymap.c index 1569e513cf8..697bd89a9a6 100644 --- a/keyboards/keychron/v4/iso/keymaps/default/keymap.c +++ b/keyboards/keychron/v4/iso/keymaps/default/keymap.c @@ -45,23 +45,23 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_LCTL, KC_LWIN, KC_LALT, KC_SPC, KC_RALT, MO(_FN2), MO(_FN3), KC_RCTL), [_FN1] = LAYOUT_60_iso( - KC_GRV, KC_BRID, KC_BRIU, KC_NO, KC_NO, RGB_VAD, RGB_VAI, KC_MPRV, KC_MPLY, KC_MNXT, KC_MUTE, KC_VOLD, KC_VOLU, RGB_MOD, - RGB_TOG, RGB_MOD, RGB_VAI, RGB_HUI, RGB_SAI, RGB_SPI, _______, _______, _______, _______, KC_INS, KC_PGUP, KC_HOME, - _______, RGB_RMOD, RGB_VAD, RGB_HUD, RGB_SAD, RGB_SPD, _______, _______, KC_UP, _______, KC_PGDN, KC_END, _______, _______, + KC_GRV, KC_BRID, KC_BRIU, KC_NO, KC_NO, RM_VALD, RM_VALU, KC_MPRV, KC_MPLY, KC_MNXT, KC_MUTE, KC_VOLD, KC_VOLU, RM_NEXT, + RM_TOGG, RM_NEXT, RM_VALU, RM_HUEU, RM_SATU, RM_SPDU, _______, _______, _______, _______, KC_INS, KC_PGUP, KC_HOME, + _______, RM_PREV, RM_VALD, RM_HUED, RM_SATD, RM_SPDD, _______, _______, KC_UP, _______, KC_PGDN, KC_END, _______, _______, _______, _______, _______, _______, _______, _______, _______, NK_TOGG, KC_LEFT, KC_DOWN, KC_RIGHT, KC_DEL, _______, _______, _______, _______, _______, _______, _______, _______, _______), [_FN2] = LAYOUT_60_iso( - KC_GRV, KC_BRID, KC_BRIU, KC_TASK, KC_FLXP, RGB_VAD, RGB_VAI, KC_MPRV, KC_MPLY, KC_MNXT, KC_MUTE, KC_VOLD, KC_VOLU, RGB_MOD, - RGB_TOG, RGB_MOD, RGB_VAI, RGB_HUI, RGB_SAI, RGB_SPI, _______, _______, KC_APP, KC_SCRL, KC_INS, KC_PGUP, KC_HOME, - _______, RGB_RMOD, RGB_VAD, RGB_HUD, RGB_SAD, RGB_SPD, _______, _______, KC_UP, KC_PSCR, KC_PGDN, KC_END, _______, _______, + KC_GRV, KC_BRID, KC_BRIU, KC_TASK, KC_FLXP, RM_VALD, RM_VALU, KC_MPRV, KC_MPLY, KC_MNXT, KC_MUTE, KC_VOLD, KC_VOLU, RM_NEXT, + RM_TOGG, RM_NEXT, RM_VALU, RM_HUEU, RM_SATU, RM_SPDU, _______, _______, KC_APP, KC_SCRL, KC_INS, KC_PGUP, KC_HOME, + _______, RM_PREV, RM_VALD, RM_HUED, RM_SATD, RM_SPDD, _______, _______, KC_UP, KC_PSCR, KC_PGDN, KC_END, _______, _______, _______, _______, _______, _______, _______, _______, _______, NK_TOGG, KC_LEFT, KC_DOWN, KC_RIGHT, KC_DEL, _______, _______, _______, _______, _______, _______, _______, _______, _______), [_FN3] = LAYOUT_60_iso( 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, _______, - RGB_TOG, RGB_MOD, RGB_VAI, RGB_HUI, RGB_SAI, RGB_SPI, _______, _______, _______, _______, _______, _______, _______, - _______, RGB_RMOD, RGB_VAD, RGB_HUD, RGB_SAD, RGB_SPD, _______, _______, _______, _______, _______, _______, _______, _______, + RM_TOGG, RM_NEXT, RM_VALU, RM_HUEU, RM_SATU, RM_SPDU, _______, _______, _______, _______, _______, _______, _______, + _______, RM_PREV, RM_VALD, RM_HUED, RM_SATD, RM_SPDD, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______) }; diff --git a/keyboards/keychron/v4/v4.c b/keyboards/keychron/v4/v4.c index d020f6ab430..a9ccdb81bae 100644 --- a/keyboards/keychron/v4/v4.c +++ b/keyboards/keychron/v4/v4.c @@ -34,7 +34,7 @@ bool process_record_kb(uint16_t keycode, keyrecord_t *record) { if (!process_record_user(keycode, record)) { return false; } switch (keycode) { #ifdef RGB_MATRIX_ENABLE - case RGB_TOG: + case QK_RGB_MATRIX_TOGGLE: if (record->event.pressed) { switch (rgb_matrix_get_flags()) { case LED_FLAG_ALL: { diff --git a/keyboards/keychron/v5/ansi/keymaps/default/keymap.c b/keyboards/keychron/v5/ansi/keymaps/default/keymap.c index 655756c2d7d..5373b6c3761 100644 --- a/keyboards/keychron/v5/ansi/keymaps/default/keymap.c +++ b/keyboards/keychron/v5/ansi/keymaps/default/keymap.c @@ -30,31 +30,31 @@ enum layers{ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { [MAC_BASE] = LAYOUT_ansi_100( - KC_ESC, KC_BRID, KC_BRIU, KC_NO, KC_NO, RGB_VAD, RGB_VAI, KC_MPRV, KC_MPLY, KC_MNXT, KC_MUTE, KC_VOLD, KC_VOLU, KC_DEL, KC_HOME, KC_END, KC_PGUP, KC_PGDN, RGB_MOD, + KC_ESC, KC_BRID, KC_BRIU, KC_NO, KC_NO, RM_VALD, RM_VALU, KC_MPRV, KC_MPLY, KC_MNXT, KC_MUTE, KC_VOLD, KC_VOLU, KC_DEL, KC_HOME, KC_END, KC_PGUP, KC_PGDN, RM_NEXT, 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_NUM, KC_PSLS, KC_PAST, KC_PMNS, KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, KC_P7, KC_P8, KC_P9, KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT, KC_P4, KC_P5, KC_P6, KC_PPLS, KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP, KC_P1, KC_P2, KC_P3, KC_LCTL, KC_LOPT, KC_LCMD, KC_SPC, KC_RCMD, MO(MAC_FN), KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT, KC_P0, KC_PDOT, KC_PENT), [MAC_FN] = LAYOUT_ansi_100( - _______, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, _______, _______, _______, _______, _______, RGB_TOG, + _______, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, _______, _______, _______, _______, _______, RM_TOGG, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - RGB_TOG, RGB_MOD, RGB_VAI, RGB_HUI, RGB_SAI, RGB_SPI, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, RGB_RMOD, RGB_VAD, RGB_HUD, RGB_SAD, RGB_SPD, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + RM_TOGG, RM_NEXT, RM_VALU, RM_HUEU, RM_SATU, RM_SPDU, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, RM_PREV, RM_VALD, RM_HUED, RM_SATD, RM_SPDD, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, NK_TOGG, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______), [WIN_BASE] = LAYOUT_ansi_100( - 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_DEL, KC_HOME, KC_END, KC_PGUP, KC_PGDN, RGB_MOD, + 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_DEL, KC_HOME, KC_END, KC_PGUP, KC_PGDN, RM_NEXT, 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_NUM, KC_PSLS, KC_PAST, KC_PMNS, KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, KC_P7, KC_P8, KC_P9, KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT, KC_P4, KC_P5, KC_P6, KC_PPLS, KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP, KC_P1, KC_P2, KC_P3, KC_LCTL, KC_LWIN, KC_LALT, KC_SPC, KC_RALT, MO(WIN_FN), KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT, KC_P0, KC_PDOT, KC_PENT), [WIN_FN] = LAYOUT_ansi_100( - _______, KC_BRID, KC_BRIU, KC_TASK, KC_FLXP, RGB_VAD, RGB_VAI, KC_MPRV, KC_MPLY, KC_MNXT, KC_MUTE, KC_VOLD, KC_VOLU, _______, _______, _______, _______, _______, RGB_TOG, + _______, KC_BRID, KC_BRIU, KC_TASK, KC_FLXP, RM_VALD, RM_VALU, KC_MPRV, KC_MPLY, KC_MNXT, KC_MUTE, KC_VOLD, KC_VOLU, _______, _______, _______, _______, _______, RM_TOGG, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - RGB_TOG, RGB_MOD, RGB_VAI, RGB_HUI, RGB_SAI, RGB_SPI, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, RGB_RMOD, RGB_VAD, RGB_HUD, RGB_SAD, RGB_SPD, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + RM_TOGG, RM_NEXT, RM_VALU, RM_HUEU, RM_SATU, RM_SPDU, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, RM_PREV, RM_VALD, RM_HUED, RM_SATD, RM_SPDD, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, NK_TOGG, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______), }; diff --git a/keyboards/keychron/v5/ansi_encoder/keymaps/default/keymap.c b/keyboards/keychron/v5/ansi_encoder/keymaps/default/keymap.c index c48e7036bea..289f7681bc2 100644 --- a/keyboards/keychron/v5/ansi_encoder/keymaps/default/keymap.c +++ b/keyboards/keychron/v5/ansi_encoder/keymaps/default/keymap.c @@ -30,7 +30,7 @@ enum layers{ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { [MAC_BASE] = LAYOUT_ansi_98( - KC_ESC, KC_BRID, KC_BRIU, KC_NO, KC_NO, RGB_VAD, RGB_VAI, KC_MPRV, KC_MPLY, KC_MNXT, KC_MUTE, KC_VOLD, KC_VOLU, KC_DEL, KC_HOME, KC_END, KC_MUTE, + KC_ESC, KC_BRID, KC_BRIU, KC_NO, KC_NO, RM_VALD, RM_VALU, KC_MPRV, KC_MPLY, KC_MNXT, KC_MUTE, KC_VOLD, KC_VOLU, KC_DEL, KC_HOME, KC_END, KC_MUTE, 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_NUM, KC_PSLS, KC_PAST, KC_PMNS, KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, KC_P7, KC_P8, KC_P9, KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT, KC_P4, KC_P5, KC_P6, KC_PPLS, @@ -39,8 +39,8 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { [MAC_FN] = LAYOUT_ansi_98( _______, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - RGB_TOG, RGB_MOD, RGB_VAI, RGB_HUI, RGB_SAI, RGB_SPI, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, RGB_RMOD, RGB_VAD, RGB_HUD, RGB_SAD, RGB_SPD, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + RM_TOGG, RM_NEXT, RM_VALU, RM_HUEU, RM_SATU, RM_SPDU, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, RM_PREV, RM_VALD, RM_HUED, RM_SATD, RM_SPDD, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, NK_TOGG, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______), [WIN_BASE] = LAYOUT_ansi_98( @@ -51,10 +51,10 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { 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_P1, KC_P2, KC_P3, KC_LCTL, KC_LWIN, KC_LALT, KC_SPC, KC_RALT, MO(WIN_FN), KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT, KC_P0, KC_PDOT, KC_PENT), [WIN_FN] = LAYOUT_ansi_98( - _______, KC_BRID, KC_BRIU, KC_TASK, KC_FLXP, RGB_VAD, RGB_VAI, KC_MPRV, KC_MPLY, KC_MNXT, KC_MUTE, KC_VOLD, KC_VOLU, _______, _______, _______, _______, + _______, KC_BRID, KC_BRIU, KC_TASK, KC_FLXP, RM_VALD, RM_VALU, KC_MPRV, KC_MPLY, KC_MNXT, KC_MUTE, KC_VOLD, KC_VOLU, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - RGB_TOG, RGB_MOD, RGB_VAI, RGB_HUI, RGB_SAI, RGB_SPI, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, RGB_RMOD, RGB_VAD, RGB_HUD, RGB_SAD, RGB_SPD, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + RM_TOGG, RM_NEXT, RM_VALU, RM_HUEU, RM_SATU, RM_SPDU, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, RM_PREV, RM_VALD, RM_HUED, RM_SATD, RM_SPDD, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, NK_TOGG, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______), }; @@ -62,8 +62,8 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { #if defined(ENCODER_MAP_ENABLE) const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][NUM_DIRECTIONS] = { [MAC_BASE] = { ENCODER_CCW_CW(KC_VOLD, KC_VOLU)}, - [MAC_FN] = { ENCODER_CCW_CW(RGB_VAD, RGB_VAI)}, + [MAC_FN] = { ENCODER_CCW_CW(RM_VALD, RM_VALU)}, [WIN_BASE] = { ENCODER_CCW_CW(KC_VOLD, KC_VOLU)}, - [WIN_FN] = { ENCODER_CCW_CW(RGB_VAD, RGB_VAI)}, + [WIN_FN] = { ENCODER_CCW_CW(RM_VALD, RM_VALU)}, }; #endif // ENCODER_MAP_ENABLE diff --git a/keyboards/keychron/v5/iso/keymaps/default/keymap.c b/keyboards/keychron/v5/iso/keymaps/default/keymap.c index 0635b7d866f..33d14b1a4bf 100644 --- a/keyboards/keychron/v5/iso/keymaps/default/keymap.c +++ b/keyboards/keychron/v5/iso/keymaps/default/keymap.c @@ -30,31 +30,31 @@ enum layers{ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { [MAC_BASE] = LAYOUT_iso_101( - KC_ESC, KC_BRID, KC_BRIU, KC_NO, KC_NO, RGB_VAD, RGB_VAI, KC_MPRV, KC_MPLY, KC_MNXT, KC_MUTE, KC_VOLD, KC_VOLU, KC_DEL, KC_HOME, KC_END, KC_PGUP, KC_PGDN, RGB_MOD, + KC_ESC, KC_BRID, KC_BRIU, KC_NO, KC_NO, RM_VALD, RM_VALU, KC_MPRV, KC_MPLY, KC_MNXT, KC_MUTE, KC_VOLD, KC_VOLU, KC_DEL, KC_HOME, KC_END, KC_PGUP, KC_PGDN, RM_NEXT, 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_NUM, KC_PSLS, KC_PAST, KC_PMNS, KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_P7, KC_P8, KC_P9, KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_NUHS, KC_ENT, KC_P4, KC_P5, KC_P6, KC_PPLS, 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_UP, KC_P1, KC_P2, KC_P3, KC_LCTL, KC_LOPT, KC_LCMD, KC_SPC, KC_RCMD, MO(MAC_FN), KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT, KC_P0, KC_PDOT, KC_PENT), [MAC_FN] = LAYOUT_iso_101( - _______, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, _______, _______, _______, _______, _______, RGB_TOG, + _______, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, _______, _______, _______, _______, _______, RM_TOGG, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - RGB_TOG, RGB_MOD, RGB_VAI, RGB_HUI, RGB_SAI, RGB_SPI, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, RGB_RMOD, RGB_VAD, RGB_HUD, RGB_SAD, RGB_SPD, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + RM_TOGG, RM_NEXT, RM_VALU, RM_HUEU, RM_SATU, RM_SPDU, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, RM_PREV, RM_VALD, RM_HUED, RM_SATD, RM_SPDD, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, NK_TOGG, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______), [WIN_BASE] = LAYOUT_iso_101( - 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_DEL, KC_HOME, KC_END, KC_PGUP, KC_PGDN, RGB_MOD, + 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_DEL, KC_HOME, KC_END, KC_PGUP, KC_PGDN, RM_NEXT, 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_NUM, KC_PSLS, KC_PAST, KC_PMNS, KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_P7, KC_P8, KC_P9, KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_NUHS, KC_ENT, KC_P4, KC_P5, KC_P6, KC_PPLS, 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_UP, KC_P1, KC_P2, KC_P3, KC_LCTL, KC_LWIN, KC_LALT, KC_SPC, KC_RALT, MO(WIN_FN), KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT, KC_P0, KC_PDOT, KC_PENT), [WIN_FN] = LAYOUT_iso_101( - _______, KC_BRID, KC_BRIU, KC_TASK, KC_FLXP, RGB_VAD, RGB_VAI, KC_MPRV, KC_MPLY, KC_MNXT, KC_MUTE, KC_VOLD, KC_VOLU, _______, _______, _______, _______, _______, RGB_TOG, + _______, KC_BRID, KC_BRIU, KC_TASK, KC_FLXP, RM_VALD, RM_VALU, KC_MPRV, KC_MPLY, KC_MNXT, KC_MUTE, KC_VOLD, KC_VOLU, _______, _______, _______, _______, _______, RM_TOGG, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - RGB_TOG, RGB_MOD, RGB_VAI, RGB_HUI, RGB_SAI, RGB_SPI, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, RGB_RMOD, RGB_VAD, RGB_HUD, RGB_SAD, RGB_SPD, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + RM_TOGG, RM_NEXT, RM_VALU, RM_HUEU, RM_SATU, RM_SPDU, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, RM_PREV, RM_VALD, RM_HUED, RM_SATD, RM_SPDD, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, NK_TOGG, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______), }; diff --git a/keyboards/keychron/v5/iso_encoder/keymaps/default/keymap.c b/keyboards/keychron/v5/iso_encoder/keymaps/default/keymap.c index 7defc8c79a7..ca3a7746c93 100644 --- a/keyboards/keychron/v5/iso_encoder/keymaps/default/keymap.c +++ b/keyboards/keychron/v5/iso_encoder/keymaps/default/keymap.c @@ -30,7 +30,7 @@ enum layers{ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { [MAC_BASE] = LAYOUT_iso_99( - KC_ESC, KC_BRID, KC_BRIU, KC_NO, KC_NO, RGB_VAD, RGB_VAI, KC_MPRV, KC_MPLY, KC_MNXT, KC_MUTE, KC_VOLD, KC_VOLU, KC_DEL, KC_HOME, KC_END, KC_MUTE, + KC_ESC, KC_BRID, KC_BRIU, KC_NO, KC_NO, RM_VALD, RM_VALU, KC_MPRV, KC_MPLY, KC_MNXT, KC_MUTE, KC_VOLD, KC_VOLU, KC_DEL, KC_HOME, KC_END, KC_MUTE, 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_NUM, KC_PSLS, KC_PAST, KC_PMNS, KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_P7, KC_P8, KC_P9, KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_NUHS, KC_ENT, KC_P4, KC_P5, KC_P6, KC_PPLS, @@ -39,8 +39,8 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { [MAC_FN] = LAYOUT_iso_99( _______, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - RGB_TOG, RGB_MOD, RGB_VAI, RGB_HUI, RGB_SAI, RGB_SPI, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, RGB_RMOD, RGB_VAD, RGB_HUD, RGB_SAD, RGB_SPD, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + RM_TOGG, RM_NEXT, RM_VALU, RM_HUEU, RM_SATU, RM_SPDU, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, RM_PREV, RM_VALD, RM_HUED, RM_SATD, RM_SPDD, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, NK_TOGG, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______), [WIN_BASE] = LAYOUT_iso_99( @@ -51,10 +51,10 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { 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_UP, KC_P1, KC_P2, KC_P3, KC_LCTL, KC_LWIN, KC_LALT, KC_SPC, KC_RALT, MO(WIN_FN), KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT, KC_P0, KC_PDOT, KC_PENT), [WIN_FN] = LAYOUT_iso_99( - _______, KC_BRID, KC_BRIU, KC_TASK, KC_FLXP, RGB_VAD, RGB_VAI, KC_MPRV, KC_MPLY, KC_MNXT, KC_MUTE, KC_VOLD, KC_VOLU, _______, _______, _______, _______, + _______, KC_BRID, KC_BRIU, KC_TASK, KC_FLXP, RM_VALD, RM_VALU, KC_MPRV, KC_MPLY, KC_MNXT, KC_MUTE, KC_VOLD, KC_VOLU, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - RGB_TOG, RGB_MOD, RGB_VAI, RGB_HUI, RGB_SAI, RGB_SPI, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, RGB_RMOD, RGB_VAD, RGB_HUD, RGB_SAD, RGB_SPD, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + RM_TOGG, RM_NEXT, RM_VALU, RM_HUEU, RM_SATU, RM_SPDU, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, RM_PREV, RM_VALD, RM_HUED, RM_SATD, RM_SPDD, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, NK_TOGG, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______), }; @@ -62,8 +62,8 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { #if defined(ENCODER_MAP_ENABLE) const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][NUM_DIRECTIONS] = { [MAC_BASE] = { ENCODER_CCW_CW(KC_VOLD, KC_VOLU)}, - [MAC_FN] = { ENCODER_CCW_CW(RGB_VAD, RGB_VAI)}, + [MAC_FN] = { ENCODER_CCW_CW(RM_VALD, RM_VALU)}, [WIN_BASE] = { ENCODER_CCW_CW(KC_VOLD, KC_VOLU)}, - [WIN_FN] = { ENCODER_CCW_CW(RGB_VAD, RGB_VAI)}, + [WIN_FN] = { ENCODER_CCW_CW(RM_VALD, RM_VALU)}, }; #endif // ENCODER_MAP_ENABLE diff --git a/keyboards/keychron/v5/v5.c b/keyboards/keychron/v5/v5.c index 050ea18c0cf..03d1f9a743b 100644 --- a/keyboards/keychron/v5/v5.c +++ b/keyboards/keychron/v5/v5.c @@ -36,7 +36,7 @@ bool process_record_kb(uint16_t keycode, keyrecord_t *record) { if (!process_record_user(keycode, record)) { return false; } switch (keycode) { #ifdef RGB_MATRIX_ENABLE - case RGB_TOG: + case QK_RGB_MATRIX_TOGGLE: if (record->event.pressed) { switch (rgb_matrix_get_flags()) { case LED_FLAG_ALL: { diff --git a/keyboards/keychron/v6/ansi/keymaps/default/keymap.c b/keyboards/keychron/v6/ansi/keymaps/default/keymap.c index 8eac2214bbf..05ac05356cd 100644 --- a/keyboards/keychron/v6/ansi/keymaps/default/keymap.c +++ b/keyboards/keychron/v6/ansi/keymaps/default/keymap.c @@ -31,31 +31,31 @@ enum layers{ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { [MAC_BASE] = LAYOUT_ansi_108( - KC_ESC, KC_BRID, KC_BRIU, KC_NO, KC_NO, RGB_VAD, RGB_VAI, KC_MPRV, KC_MPLY, KC_MNXT, KC_MUTE, KC_VOLD, KC_VOLU, KC_NO, KC_NO, RGB_MOD, KC_F13, KC_F14, KC_F15, KC_F16, + KC_ESC, KC_BRID, KC_BRIU, KC_NO, KC_NO, RM_VALD, RM_VALU, KC_MPRV, KC_MPLY, KC_MNXT, KC_MUTE, KC_VOLD, KC_VOLU, KC_NO, KC_NO, RM_NEXT, KC_F13, KC_F14, KC_F15, KC_F16, 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_NUM, KC_PSLS, KC_PAST, KC_PMNS, KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, KC_DEL, KC_END, KC_PGDN, KC_P7, KC_P8, KC_P9, KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT, KC_P4, KC_P5, KC_P6, KC_PPLS, KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP, KC_P1, KC_P2, KC_P3, KC_LCTL, KC_LOPT, KC_LCMD, KC_SPC, KC_RCMD, KC_ROPT, MO(MAC_FN), KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT, KC_P0, KC_PDOT, KC_PENT), [MAC_FN] = LAYOUT_ansi_108( - _______, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, _______, _______, RGB_TOG, _______, _______, _______, _______, + _______, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, _______, _______, RM_TOGG, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - RGB_TOG, RGB_MOD, RGB_VAI, RGB_HUI, RGB_SAI, RGB_SPI, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, RGB_RMOD, RGB_VAD, RGB_HUD, RGB_SAD, RGB_SPD, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + RM_TOGG, RM_NEXT, RM_VALU, RM_HUEU, RM_SATU, RM_SPDU, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, RM_PREV, RM_VALD, RM_HUED, RM_SATD, RM_SPDD, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, NK_TOGG, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______), [WIN_BASE] = LAYOUT_ansi_108( - 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_NO, RGB_MOD, _______, _______, _______, _______, + 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_NO, RM_NEXT, _______, _______, _______, _______, 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_NUM, KC_PSLS, KC_PAST, KC_PMNS, KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, KC_DEL, KC_END, KC_PGDN, KC_P7, KC_P8, KC_P9, KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT, KC_P4, KC_P5, KC_P6, KC_PPLS, KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP, KC_P1, KC_P2, KC_P3, KC_LCTL, KC_LWIN, KC_LALT, KC_SPC, KC_RALT, KC_RWIN, MO(WIN_FN), KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT, KC_P0, KC_PDOT, KC_PENT), [WIN_FN] = LAYOUT_ansi_108( - _______, KC_BRID, KC_BRIU, KC_TASK, KC_FLXP, RGB_VAD, RGB_VAI, KC_MPRV, KC_MPLY, KC_MNXT, KC_MUTE, KC_VOLD, KC_VOLU, _______, _______, RGB_TOG, _______, _______, _______, _______, + _______, KC_BRID, KC_BRIU, KC_TASK, KC_FLXP, RM_VALD, RM_VALU, KC_MPRV, KC_MPLY, KC_MNXT, KC_MUTE, KC_VOLD, KC_VOLU, _______, _______, RM_TOGG, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - RGB_TOG, RGB_MOD, RGB_VAI, RGB_HUI, RGB_SAI, RGB_SPI, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, RGB_RMOD, RGB_VAD, RGB_HUD, RGB_SAD, RGB_SPD, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + RM_TOGG, RM_NEXT, RM_VALU, RM_HUEU, RM_SATU, RM_SPDU, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, RM_PREV, RM_VALD, RM_HUED, RM_SATD, RM_SPDD, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, NK_TOGG, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______), }; diff --git a/keyboards/keychron/v6/ansi_encoder/keymaps/default/keymap.c b/keyboards/keychron/v6/ansi_encoder/keymaps/default/keymap.c index b51ea1a09c7..bf5024f21ac 100644 --- a/keyboards/keychron/v6/ansi_encoder/keymaps/default/keymap.c +++ b/keyboards/keychron/v6/ansi_encoder/keymaps/default/keymap.c @@ -28,31 +28,31 @@ enum layers{ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { [MAC_BASE] = LAYOUT_ansi_109( - KC_ESC, KC_BRID, KC_BRIU, KC_NO, KC_NO, RGB_VAD, RGB_VAI, KC_MPRV, KC_MPLY, KC_MNXT, KC_MUTE, KC_VOLD, KC_VOLU, KC_MUTE, KC_NO, KC_NO, RGB_MOD, KC_F13, KC_F14, KC_F15, KC_F16, + KC_ESC, KC_BRID, KC_BRIU, KC_NO, KC_NO, RM_VALD, RM_VALU, KC_MPRV, KC_MPLY, KC_MNXT, KC_MUTE, KC_VOLD, KC_VOLU, KC_MUTE, KC_NO, KC_NO, RM_NEXT, KC_F13, KC_F14, KC_F15, KC_F16, 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_NUM, KC_PSLS, KC_PAST, KC_PMNS, KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, KC_DEL, KC_END, KC_PGDN, KC_P7, KC_P8, KC_P9, KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT, KC_P4, KC_P5, KC_P6, KC_PPLS, KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP, KC_P1, KC_P2, KC_P3, KC_LCTL, KC_LOPT, KC_LCMD, KC_SPC, KC_RCMD, KC_ROPT, MO(MAC_FN), KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT, KC_P0, KC_PDOT, KC_PENT), [MAC_FN] = LAYOUT_ansi_109( - _______, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, RGB_TOG, _______, _______, RGB_TOG, _______, _______, _______, _______, + _______, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, RM_TOGG, _______, _______, RM_TOGG, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - RGB_TOG, RGB_MOD, RGB_VAI, RGB_HUI, RGB_SAI, RGB_SPI, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, RGB_RMOD, RGB_VAD, RGB_HUD, RGB_SAD, RGB_SPD, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + RM_TOGG, RM_NEXT, RM_VALU, RM_HUEU, RM_SATU, RM_SPDU, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, RM_PREV, RM_VALD, RM_HUED, RM_SATD, RM_SPDD, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, NK_TOGG, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______), [WIN_BASE] = LAYOUT_ansi_109( - 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_MUTE, KC_PSCR, KC_NO, RGB_MOD, _______, _______, _______, _______, + 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_MUTE, KC_PSCR, KC_NO, RM_NEXT, _______, _______, _______, _______, 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_NUM, KC_PSLS, KC_PAST, KC_PMNS, KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, KC_DEL, KC_END, KC_PGDN, KC_P7, KC_P8, KC_P9, KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT, KC_P4, KC_P5, KC_P6, KC_PPLS, KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP, KC_P1, KC_P2, KC_P3, KC_LCTL, KC_LWIN, KC_LALT, KC_SPC, KC_RALT, KC_RWIN, MO(WIN_FN), KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT, KC_P0, KC_PDOT, KC_PENT), [WIN_FN] = LAYOUT_ansi_109( - _______, KC_BRID, KC_BRIU, KC_TASK, KC_FLXP, RGB_VAD, RGB_VAI, KC_MPRV, KC_MPLY, KC_MNXT, KC_MUTE, KC_VOLD, KC_VOLU, RGB_TOG, _______, _______, RGB_TOG, _______, _______, _______, _______, + _______, KC_BRID, KC_BRIU, KC_TASK, KC_FLXP, RM_VALD, RM_VALU, KC_MPRV, KC_MPLY, KC_MNXT, KC_MUTE, KC_VOLD, KC_VOLU, RM_TOGG, _______, _______, RM_TOGG, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - RGB_TOG, RGB_MOD, RGB_VAI, RGB_HUI, RGB_SAI, RGB_SPI, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, RGB_RMOD, RGB_VAD, RGB_HUD, RGB_SAD, RGB_SPD, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + RM_TOGG, RM_NEXT, RM_VALU, RM_HUEU, RM_SATU, RM_SPDU, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, RM_PREV, RM_VALD, RM_HUED, RM_SATD, RM_SPDD, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, NK_TOGG, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______), }; @@ -60,8 +60,8 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { #if defined(ENCODER_MAP_ENABLE) const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][NUM_DIRECTIONS] = { [MAC_BASE] = {ENCODER_CCW_CW(KC_VOLD, KC_VOLU) }, - [MAC_FN] = {ENCODER_CCW_CW(RGB_VAD, RGB_VAI) }, + [MAC_FN] = {ENCODER_CCW_CW(RM_VALD, RM_VALU) }, [WIN_BASE] = {ENCODER_CCW_CW(KC_VOLD, KC_VOLU) }, - [WIN_FN] = {ENCODER_CCW_CW(RGB_VAD, RGB_VAI) } + [WIN_FN] = {ENCODER_CCW_CW(RM_VALD, RM_VALU) } }; #endif // ENCODER_MAP_ENABLE diff --git a/keyboards/keychron/v6/iso/keymaps/default/keymap.c b/keyboards/keychron/v6/iso/keymaps/default/keymap.c index c1463b3060b..54622ac2525 100644 --- a/keyboards/keychron/v6/iso/keymaps/default/keymap.c +++ b/keyboards/keychron/v6/iso/keymaps/default/keymap.c @@ -28,31 +28,31 @@ enum layers{ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { [MAC_BASE] = LAYOUT_iso_109( - KC_ESC, KC_BRID, KC_BRIU, KC_NO, KC_NO, RGB_VAD, RGB_VAI, KC_MPRV, KC_MPLY, KC_MNXT, KC_MUTE, KC_VOLD, KC_VOLU, KC_NO, KC_NO, RGB_MOD, KC_F13, KC_F14, KC_F15, KC_F16, + KC_ESC, KC_BRID, KC_BRIU, KC_NO, KC_NO, RM_VALD, RM_VALU, KC_MPRV, KC_MPLY, KC_MNXT, KC_MUTE, KC_VOLD, KC_VOLU, KC_NO, KC_NO, RM_NEXT, KC_F13, KC_F14, KC_F15, KC_F16, 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_NUM, KC_PSLS, KC_PAST, KC_PMNS, KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_DEL, KC_END, KC_PGDN, KC_P7, KC_P8, KC_P9, KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_NUHS, KC_ENT, KC_P4, KC_P5, KC_P6, KC_PPLS, 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_UP, KC_P1, KC_P2, KC_P3, KC_LCTL, KC_LOPT, KC_LCMD, KC_SPC, KC_RCMD, KC_ROPT, MO(MAC_FN), KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT, KC_P0, KC_PDOT, KC_PENT), [MAC_FN] = LAYOUT_iso_109( - _______, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, _______, _______, RGB_TOG, _______, _______, _______, _______, + _______, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, _______, _______, RM_TOGG, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - RGB_TOG, RGB_MOD, RGB_VAI, RGB_HUI, RGB_SAI, RGB_SPI, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, RGB_RMOD, RGB_VAD, RGB_HUD, RGB_SAD, RGB_SPD, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + RM_TOGG, RM_NEXT, RM_VALU, RM_HUEU, RM_SATU, RM_SPDU, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, RM_PREV, RM_VALD, RM_HUED, RM_SATD, RM_SPDD, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, NK_TOGG, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______), [WIN_BASE] = LAYOUT_iso_109( - 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_NO, RGB_MOD, _______, _______, _______, _______, + 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_NO, RM_NEXT, _______, _______, _______, _______, 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_NUM, KC_PSLS, KC_PAST, KC_PMNS, KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_DEL, KC_END, KC_PGDN, KC_P7, KC_P8, KC_P9, KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_NUHS, KC_ENT, KC_P4, KC_P5, KC_P6, KC_PPLS, 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_UP, KC_P1, KC_P2, KC_P3, KC_LCTL, KC_LWIN, KC_LALT, KC_SPC, KC_RALT, KC_RWIN, MO(WIN_FN), KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT, KC_P0, KC_PDOT, KC_PENT), [WIN_FN] = LAYOUT_iso_109( - _______, KC_BRID, KC_BRIU, KC_TASK, KC_FLXP, RGB_VAD, RGB_VAI, KC_MPRV, KC_MPLY, KC_MNXT, KC_MUTE, KC_VOLD, KC_VOLU, _______, _______, RGB_TOG, _______, _______, _______, _______, + _______, KC_BRID, KC_BRIU, KC_TASK, KC_FLXP, RM_VALD, RM_VALU, KC_MPRV, KC_MPLY, KC_MNXT, KC_MUTE, KC_VOLD, KC_VOLU, _______, _______, RM_TOGG, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - RGB_TOG, RGB_MOD, RGB_VAI, RGB_HUI, RGB_SAI, RGB_SPI, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, RGB_RMOD, RGB_VAD, RGB_HUD, RGB_SAD, RGB_SPD, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + RM_TOGG, RM_NEXT, RM_VALU, RM_HUEU, RM_SATU, RM_SPDU, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, RM_PREV, RM_VALD, RM_HUED, RM_SATD, RM_SPDD, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, NK_TOGG, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______), }; diff --git a/keyboards/keychron/v6/iso_encoder/keymaps/default/keymap.c b/keyboards/keychron/v6/iso_encoder/keymaps/default/keymap.c index 73b0c577868..02c0ddf9de7 100644 --- a/keyboards/keychron/v6/iso_encoder/keymaps/default/keymap.c +++ b/keyboards/keychron/v6/iso_encoder/keymaps/default/keymap.c @@ -30,31 +30,31 @@ enum layers{ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { [MAC_BASE] = LAYOUT_iso_110( - KC_ESC, KC_BRID, KC_BRIU, KC_NO, KC_NO, RGB_VAD, RGB_VAI, KC_MPRV, KC_MPLY, KC_MNXT, KC_MUTE, KC_VOLD, KC_VOLU, KC_MUTE, KC_NO, KC_NO, RGB_MOD, KC_F13, KC_F14, KC_F15, KC_F16, + KC_ESC, KC_BRID, KC_BRIU, KC_NO, KC_NO, RM_VALD, RM_VALU, KC_MPRV, KC_MPLY, KC_MNXT, KC_MUTE, KC_VOLD, KC_VOLU, KC_MUTE, KC_NO, KC_NO, RM_NEXT, KC_F13, KC_F14, KC_F15, KC_F16, 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_NUM, KC_PSLS, KC_PAST, KC_PMNS, KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_DEL, KC_END, KC_PGDN, KC_P7, KC_P8, KC_P9, KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_NUHS, KC_ENT, KC_P4, KC_P5, KC_P6, KC_PPLS, 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_UP, KC_P1, KC_P2, KC_P3, KC_LCTL, KC_LOPT, KC_LCMD, KC_SPC, KC_RCMD, KC_ROPT, MO(MAC_FN), KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT, KC_P0, KC_PDOT, KC_PENT), [MAC_FN] = LAYOUT_iso_110( - _______, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, RGB_TOG, _______, _______, RGB_TOG, _______, _______, _______, _______, + _______, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, RM_TOGG, _______, _______, RM_TOGG, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - RGB_TOG, RGB_MOD, RGB_VAI, RGB_HUI, RGB_SAI, RGB_SPI, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, RGB_RMOD, RGB_VAD, RGB_HUD, RGB_SAD, RGB_SPD, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + RM_TOGG, RM_NEXT, RM_VALU, RM_HUEU, RM_SATU, RM_SPDU, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, RM_PREV, RM_VALD, RM_HUED, RM_SATD, RM_SPDD, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, NK_TOGG, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______), [WIN_BASE] = LAYOUT_iso_110( - 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_MUTE, KC_PSCR, KC_NO, RGB_MOD, _______, _______, _______, _______, + 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_MUTE, KC_PSCR, KC_NO, RM_NEXT, _______, _______, _______, _______, 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_NUM, KC_PSLS, KC_PAST, KC_PMNS, KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_DEL, KC_END, KC_PGDN, KC_P7, KC_P8, KC_P9, KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_NUHS, KC_ENT, KC_P4, KC_P5, KC_P6, KC_PPLS, 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_UP, KC_P1, KC_P2, KC_P3, KC_LCTL, KC_LWIN, KC_LALT, KC_SPC, KC_RALT, KC_RWIN, MO(WIN_FN), KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT, KC_P0, KC_PDOT, KC_PENT), [WIN_FN] = LAYOUT_iso_110( - _______, KC_BRID, KC_BRIU, KC_TASK, KC_FLXP, RGB_VAD, RGB_VAI, KC_MPRV, KC_MPLY, KC_MNXT, KC_MUTE, KC_VOLD, KC_VOLU, RGB_TOG, _______, _______, RGB_TOG, _______, _______, _______, _______, + _______, KC_BRID, KC_BRIU, KC_TASK, KC_FLXP, RM_VALD, RM_VALU, KC_MPRV, KC_MPLY, KC_MNXT, KC_MUTE, KC_VOLD, KC_VOLU, RM_TOGG, _______, _______, RM_TOGG, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - RGB_TOG, RGB_MOD, RGB_VAI, RGB_HUI, RGB_SAI, RGB_SPI, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, RGB_RMOD, RGB_VAD, RGB_HUD, RGB_SAD, RGB_SPD, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + RM_TOGG, RM_NEXT, RM_VALU, RM_HUEU, RM_SATU, RM_SPDU, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, RM_PREV, RM_VALD, RM_HUED, RM_SATD, RM_SPDD, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, NK_TOGG, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______), }; @@ -62,8 +62,8 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { #if defined(ENCODER_MAP_ENABLE) const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][NUM_DIRECTIONS] = { [MAC_BASE] = {ENCODER_CCW_CW(KC_VOLD, KC_VOLU) }, - [MAC_FN] = {ENCODER_CCW_CW(RGB_VAD, RGB_VAI) }, + [MAC_FN] = {ENCODER_CCW_CW(RM_VALD, RM_VALU) }, [WIN_BASE] = {ENCODER_CCW_CW(KC_VOLD, KC_VOLU) }, - [WIN_FN] = {ENCODER_CCW_CW(RGB_VAD, RGB_VAI) } + [WIN_FN] = {ENCODER_CCW_CW(RM_VALD, RM_VALU) } }; #endif diff --git a/keyboards/keychron/v6/v6.c b/keyboards/keychron/v6/v6.c index 8aeab5e952f..2fedd20d5ba 100644 --- a/keyboards/keychron/v6/v6.c +++ b/keyboards/keychron/v6/v6.c @@ -41,7 +41,7 @@ bool process_record_kb(uint16_t keycode, keyrecord_t *record) { return false; } switch (keycode) { - case RGB_TOG: + case QK_RGB_MATRIX_TOGGLE: if (record->event.pressed) { switch (rgb_matrix_get_flags()) { case LED_FLAG_ALL: { diff --git a/keyboards/keychron/v7/ansi/keymaps/default/keymap.c b/keyboards/keychron/v7/ansi/keymaps/default/keymap.c index 5d5a0ea0b4a..7d2ac926445 100644 --- a/keyboards/keychron/v7/ansi/keymaps/default/keymap.c +++ b/keyboards/keychron/v7/ansi/keymaps/default/keymap.c @@ -31,37 +31,37 @@ enum layers{ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { [MAC_BASE] = LAYOUT_ansi_72( - 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_INS, RGB_MOD, + 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_INS, RM_NEXT, 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_DEL, KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT, KC_HOME, 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_LOPT, KC_LCMD, KC_SPC, KC_RCMD, KC_RCTL, MO(_FN1), MO(_FN3), KC_LEFT, KC_DOWN, KC_RGHT), [WIN_BASE] = LAYOUT_ansi_72( - 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_INS, RGB_MOD, + 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_INS, RM_NEXT, 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_DEL, KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT, KC_HOME, 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, KC_RALT, KC_RCTL, MO(_FN2), MO(_FN3), KC_LEFT, KC_DOWN, KC_RGHT), [_FN1] = LAYOUT_ansi_72( - KC_GRV, KC_BRID, KC_BRIU, KC_NO, KC_NO, RGB_VAD, RGB_VAI, KC_MPRV, KC_MPLY, KC_MNXT, KC_MUTE, KC_VOLD, KC_VOLU, _______, _______, RGB_TOG, - RGB_TOG, RGB_MOD, RGB_VAI, RGB_HUI, RGB_SAI, RGB_SPI, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, RGB_RMOD, RGB_VAD, RGB_HUD, RGB_SAD, RGB_SPD, _______, _______, _______, _______, _______, _______, _______, _______, _______, + KC_GRV, KC_BRID, KC_BRIU, KC_NO, KC_NO, RM_VALD, RM_VALU, KC_MPRV, KC_MPLY, KC_MNXT, KC_MUTE, KC_VOLD, KC_VOLU, _______, _______, RM_TOGG, + RM_TOGG, RM_NEXT, RM_VALU, RM_HUEU, RM_SATU, RM_SPDU, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, RM_PREV, RM_VALD, RM_HUED, RM_SATD, RM_SPDD, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, NK_TOGG, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______), [_FN2] = LAYOUT_ansi_72( - KC_GRV, KC_BRID, KC_BRIU, KC_TASK, KC_FLXP, RGB_VAD, RGB_VAI, KC_MPRV, KC_MPLY, KC_MNXT, KC_MUTE, KC_VOLD, KC_VOLU, _______, _______, RGB_TOG, - RGB_TOG, RGB_MOD, RGB_VAI, RGB_HUI, RGB_SAI, RGB_SPI, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, RGB_RMOD, RGB_VAD, RGB_HUD, RGB_SAD, RGB_SPD, _______, _______, _______, _______, _______, _______, _______, _______, _______, + KC_GRV, KC_BRID, KC_BRIU, KC_TASK, KC_FLXP, RM_VALD, RM_VALU, KC_MPRV, KC_MPLY, KC_MNXT, KC_MUTE, KC_VOLD, KC_VOLU, _______, _______, RM_TOGG, + RM_TOGG, RM_NEXT, RM_VALU, RM_HUEU, RM_SATU, RM_SPDU, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, RM_PREV, RM_VALD, RM_HUED, RM_SATD, RM_SPDD, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, NK_TOGG, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______), [_FN3] = LAYOUT_ansi_72( 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, _______, _______, _______, - RGB_TOG, RGB_MOD, RGB_VAI, RGB_HUI, RGB_SAI, RGB_SPI, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, RGB_RMOD, RGB_VAD, RGB_HUD, RGB_SAD, RGB_SPD, _______, _______, _______, _______, _______, _______, _______, _______, _______, + RM_TOGG, RM_NEXT, RM_VALU, RM_HUEU, RM_SATU, RM_SPDU, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, RM_PREV, RM_VALD, RM_HUED, RM_SATD, RM_SPDD, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______) }; diff --git a/keyboards/keychron/v7/iso/keymaps/default/keymap.c b/keyboards/keychron/v7/iso/keymaps/default/keymap.c index d033ca6ab1b..81a6bcc2ade 100644 --- a/keyboards/keychron/v7/iso/keymaps/default/keymap.c +++ b/keyboards/keychron/v7/iso/keymaps/default/keymap.c @@ -31,37 +31,37 @@ enum layers{ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { [MAC_BASE] = LAYOUT_iso_73( - 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_INS, RGB_MOD, + 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_INS, RM_NEXT, 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_END, 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_NUHS, KC_ENT, KC_HOME, KC_PGUP, 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_UP, KC_PGDN, KC_LCTL, KC_LOPT, KC_LCMD, KC_SPC, KC_RCMD, KC_RCTL, MO(_FN1), MO(_FN3), KC_LEFT, KC_DOWN, KC_RGHT), [WIN_BASE] = LAYOUT_iso_73( - 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_INS, RGB_MOD, + 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_INS, RM_NEXT, 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_END, 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_NUHS, KC_ENT, KC_HOME, KC_PGUP, 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_UP, KC_PGDN, KC_LCTL, KC_LWIN, KC_LALT, KC_SPC, KC_RALT, KC_RCTL, MO(_FN2), MO(_FN3), KC_LEFT, KC_DOWN, KC_RGHT), [_FN1] = LAYOUT_iso_73( - KC_GRV, KC_BRID, KC_BRIU, KC_NO, KC_NO, RGB_VAD, RGB_VAI, KC_MPRV, KC_MPLY, KC_MNXT, KC_MUTE, KC_VOLD, KC_VOLU, _______, _______, RGB_TOG, - RGB_TOG, RGB_MOD, RGB_VAI, RGB_HUI, RGB_SAI, RGB_SPI, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, RGB_RMOD, RGB_VAD, RGB_HUD, RGB_SAD, RGB_SPD, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + KC_GRV, KC_BRID, KC_BRIU, KC_NO, KC_NO, RM_VALD, RM_VALU, KC_MPRV, KC_MPLY, KC_MNXT, KC_MUTE, KC_VOLD, KC_VOLU, _______, _______, RM_TOGG, + RM_TOGG, RM_NEXT, RM_VALU, RM_HUEU, RM_SATU, RM_SPDU, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, RM_PREV, RM_VALD, RM_HUED, RM_SATD, RM_SPDD, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, NK_TOGG, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______), [_FN2] = LAYOUT_iso_73( - KC_GRV, KC_BRID, KC_BRIU, KC_TASK, KC_FLXP, RGB_VAD, RGB_VAI, KC_MPRV, KC_MPLY, KC_MNXT, KC_MUTE, KC_VOLD, KC_VOLU, _______, _______, RGB_TOG, - RGB_TOG, RGB_MOD, RGB_VAI, RGB_HUI, RGB_SAI, RGB_SPI, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, RGB_RMOD, RGB_VAD, RGB_HUD, RGB_SAD, RGB_SPD, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + KC_GRV, KC_BRID, KC_BRIU, KC_TASK, KC_FLXP, RM_VALD, RM_VALU, KC_MPRV, KC_MPLY, KC_MNXT, KC_MUTE, KC_VOLD, KC_VOLU, _______, _______, RM_TOGG, + RM_TOGG, RM_NEXT, RM_VALU, RM_HUEU, RM_SATU, RM_SPDU, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, RM_PREV, RM_VALD, RM_HUED, RM_SATD, RM_SPDD, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, NK_TOGG, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______), [_FN3] = LAYOUT_iso_73( 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, _______, _______, _______, - RGB_TOG, RGB_MOD, RGB_VAI, RGB_HUI, RGB_SAI, RGB_SPI, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, RGB_RMOD, RGB_VAD, RGB_HUD, RGB_SAD, RGB_SPD, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + RM_TOGG, RM_NEXT, RM_VALU, RM_HUEU, RM_SATU, RM_SPDU, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, RM_PREV, RM_VALD, RM_HUED, RM_SATD, RM_SPDD, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______) }; diff --git a/keyboards/keychron/v7/v7.c b/keyboards/keychron/v7/v7.c index 215b4922dc1..02f4ec15008 100644 --- a/keyboards/keychron/v7/v7.c +++ b/keyboards/keychron/v7/v7.c @@ -34,7 +34,7 @@ bool process_record_kb(uint16_t keycode, keyrecord_t *record) { if (!process_record_user(keycode, record)) { return false; } switch (keycode) { #ifdef RGB_MATRIX_ENABLE - case RGB_TOG: + case QK_RGB_MATRIX_TOGGLE: if (record->event.pressed) { switch (rgb_matrix_get_flags()) { case LED_FLAG_ALL: { diff --git a/keyboards/keychron/v8/ansi/keymaps/default/keymap.c b/keyboards/keychron/v8/ansi/keymaps/default/keymap.c index 2f6f1311a95..c2bef7ca7f0 100644 --- a/keyboards/keychron/v8/ansi/keymaps/default/keymap.c +++ b/keyboards/keychron/v8/ansi/keymaps/default/keymap.c @@ -45,23 +45,23 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_LCTL, KC_LWIN, KC_LALT, KC_SPC, MO(_FN2), MO(_FN3), KC_SPC, KC_RALT, KC_LEFT, KC_DOWN, KC_RGHT), [_FN1] = LAYOUT_ansi_69( - KC_GRV, KC_BRID, KC_BRIU, KC_NO, KC_NO, RGB_VAD, RGB_VAI, KC_MPRV, KC_MPLY, KC_MNXT, KC_MUTE, KC_VOLD, KC_VOLU, _______, _______, - RGB_TOG, RGB_MOD, RGB_VAI, RGB_HUI, RGB_SAI, RGB_SPI, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, RGB_RMOD, RGB_VAD, RGB_HUD, RGB_SAD, RGB_SPD, _______, _______, _______, _______, _______, _______, _______, _______, + KC_GRV, KC_BRID, KC_BRIU, KC_NO, KC_NO, RM_VALD, RM_VALU, KC_MPRV, KC_MPLY, KC_MNXT, KC_MUTE, KC_VOLD, KC_VOLU, _______, _______, + RM_TOGG, RM_NEXT, RM_VALU, RM_HUEU, RM_SATU, RM_SPDU, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, RM_PREV, RM_VALD, RM_HUED, RM_SATD, RM_SPDD, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, NK_TOGG, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______), [_FN2] = LAYOUT_ansi_69( - KC_GRV, KC_BRID, KC_BRIU, KC_TASK, KC_FLXP, RGB_VAD, RGB_VAI, KC_MPRV, KC_MPLY, KC_MNXT, KC_MUTE, KC_VOLD, KC_VOLU, _______, _______, - RGB_TOG, RGB_MOD, RGB_VAI, RGB_HUI, RGB_SAI, RGB_SPI, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, RGB_RMOD, RGB_VAD, RGB_HUD, RGB_SAD, RGB_SPD, _______, _______, _______, _______, _______, _______, _______, _______, + KC_GRV, KC_BRID, KC_BRIU, KC_TASK, KC_FLXP, RM_VALD, RM_VALU, KC_MPRV, KC_MPLY, KC_MNXT, KC_MUTE, KC_VOLD, KC_VOLU, _______, _______, + RM_TOGG, RM_NEXT, RM_VALU, RM_HUEU, RM_SATU, RM_SPDU, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, RM_PREV, RM_VALD, RM_HUED, RM_SATD, RM_SPDD, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, NK_TOGG, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______), [_FN3] = LAYOUT_ansi_69( 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, _______, _______, - RGB_TOG, RGB_MOD, RGB_VAI, RGB_HUI, RGB_SAI, RGB_SPI, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, RGB_RMOD, RGB_VAD, RGB_HUD, RGB_SAD, RGB_SPD, _______, _______, _______, _______, _______, _______, _______, _______, + RM_TOGG, RM_NEXT, RM_VALU, RM_HUEU, RM_SATU, RM_SPDU, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, RM_PREV, RM_VALD, RM_HUED, RM_SATD, RM_SPDD, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______) }; diff --git a/keyboards/keychron/v8/ansi_encoder/keymaps/default/keymap.c b/keyboards/keychron/v8/ansi_encoder/keymaps/default/keymap.c index a128a54a003..ea6538fcbf7 100644 --- a/keyboards/keychron/v8/ansi_encoder/keymaps/default/keymap.c +++ b/keyboards/keychron/v8/ansi_encoder/keymaps/default/keymap.c @@ -45,23 +45,23 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_LCTL, KC_LWIN, KC_LALT, KC_SPC, MO(_FN2), MO(_FN3), KC_SPC, KC_RALT, KC_LEFT, KC_DOWN, KC_RGHT), [_FN1] = LAYOUT_ansi_69( - KC_GRV, KC_BRID, KC_BRIU, KC_NO, KC_NO, RGB_VAD, RGB_VAI, KC_MPRV, KC_MPLY, KC_MNXT, KC_MUTE, KC_VOLD, KC_VOLU, _______, RGB_TOG, - RGB_TOG, RGB_MOD, RGB_VAI, RGB_HUI, RGB_SAI, RGB_SPI, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, RGB_RMOD, RGB_VAD, RGB_HUD, RGB_SAD, RGB_SPD, _______, _______, _______, _______, _______, _______, _______, _______, + KC_GRV, KC_BRID, KC_BRIU, KC_NO, KC_NO, RM_VALD, RM_VALU, KC_MPRV, KC_MPLY, KC_MNXT, KC_MUTE, KC_VOLD, KC_VOLU, _______, RM_TOGG, + RM_TOGG, RM_NEXT, RM_VALU, RM_HUEU, RM_SATU, RM_SPDU, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, RM_PREV, RM_VALD, RM_HUED, RM_SATD, RM_SPDD, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, NK_TOGG, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______), [_FN2] = LAYOUT_ansi_69( - KC_GRV, KC_BRID, KC_BRIU, KC_TASK, KC_FLXP, RGB_VAD, RGB_VAI, KC_MPRV, KC_MPLY, KC_MNXT, KC_MUTE, KC_VOLD, KC_VOLU, _______, RGB_TOG, - RGB_TOG, RGB_MOD, RGB_VAI, RGB_HUI, RGB_SAI, RGB_SPI, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, RGB_RMOD, RGB_VAD, RGB_HUD, RGB_SAD, RGB_SPD, _______, _______, _______, _______, _______, _______, _______, _______, + KC_GRV, KC_BRID, KC_BRIU, KC_TASK, KC_FLXP, RM_VALD, RM_VALU, KC_MPRV, KC_MPLY, KC_MNXT, KC_MUTE, KC_VOLD, KC_VOLU, _______, RM_TOGG, + RM_TOGG, RM_NEXT, RM_VALU, RM_HUEU, RM_SATU, RM_SPDU, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, RM_PREV, RM_VALD, RM_HUED, RM_SATD, RM_SPDD, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, NK_TOGG, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______), [_FN3] = LAYOUT_ansi_69( 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, _______, _______, - RGB_TOG, RGB_MOD, RGB_VAI, RGB_HUI, RGB_SAI, RGB_SPI, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, RGB_RMOD, RGB_VAD, RGB_HUD, RGB_SAD, RGB_SPD, _______, _______, _______, _______, _______, _______, _______, _______, + RM_TOGG, RM_NEXT, RM_VALU, RM_HUEU, RM_SATU, RM_SPDU, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, RM_PREV, RM_VALD, RM_HUED, RM_SATD, RM_SPDD, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______) }; @@ -70,8 +70,8 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][NUM_DIRECTIONS] = { [MAC_BASE] = {ENCODER_CCW_CW(KC_VOLD, KC_VOLU)}, [WIN_BASE] = {ENCODER_CCW_CW(KC_VOLD, KC_VOLU)}, - [_FN1] = {ENCODER_CCW_CW(RGB_VAD, RGB_VAI)}, - [_FN2] = {ENCODER_CCW_CW(RGB_VAD, RGB_VAI)}, + [_FN1] = {ENCODER_CCW_CW(RM_VALD, RM_VALU)}, + [_FN2] = {ENCODER_CCW_CW(RM_VALD, RM_VALU)}, [_FN3] = {ENCODER_CCW_CW(_______, _______)} }; #endif // ENCODER_MAP_ENABLE diff --git a/keyboards/keychron/v8/iso/keymaps/default/keymap.c b/keyboards/keychron/v8/iso/keymaps/default/keymap.c index b4739661784..39b3577fdd5 100644 --- a/keyboards/keychron/v8/iso/keymaps/default/keymap.c +++ b/keyboards/keychron/v8/iso/keymaps/default/keymap.c @@ -45,23 +45,23 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_LCTL, KC_LWIN, KC_LALT, KC_SPC, MO(_FN2), MO(_FN3), KC_SPC, KC_RALT, KC_LEFT, KC_DOWN, KC_RGHT), [_FN1] = LAYOUT_iso_70( - KC_GRV, KC_BRID, KC_BRIU, KC_NO, KC_NO, RGB_VAD, RGB_VAI, KC_MPRV, KC_MPLY, KC_MNXT, KC_MUTE, KC_VOLD, KC_VOLU, _______, _______, - RGB_TOG, RGB_MOD, RGB_VAI, RGB_HUI, RGB_SAI, RGB_SPI, _______, _______, _______, _______, _______, _______, _______, _______, - _______, RGB_RMOD, RGB_VAD, RGB_HUD, RGB_SAD, RGB_SPD, _______, _______, _______, _______, _______, _______, _______, _______, _______, + KC_GRV, KC_BRID, KC_BRIU, KC_NO, KC_NO, RM_VALD, RM_VALU, KC_MPRV, KC_MPLY, KC_MNXT, KC_MUTE, KC_VOLD, KC_VOLU, _______, _______, + RM_TOGG, RM_NEXT, RM_VALU, RM_HUEU, RM_SATU, RM_SPDU, _______, _______, _______, _______, _______, _______, _______, _______, + _______, RM_PREV, RM_VALD, RM_HUED, RM_SATD, RM_SPDD, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, NK_TOGG, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______), [_FN2] = LAYOUT_iso_70( - KC_GRV, KC_BRID, KC_BRIU, KC_TASK, KC_FLXP, RGB_VAD, RGB_VAI, KC_MPRV, KC_MPLY, KC_MNXT, KC_MUTE, KC_VOLD, KC_VOLU, _______, _______, - RGB_TOG, RGB_MOD, RGB_VAI, RGB_HUI, RGB_SAI, RGB_SPI, _______, _______, _______, _______, _______, _______, _______, _______, - _______, RGB_RMOD, RGB_VAD, RGB_HUD, RGB_SAD, RGB_SPD, _______, _______, _______, _______, _______, _______, _______, _______, _______, + KC_GRV, KC_BRID, KC_BRIU, KC_TASK, KC_FLXP, RM_VALD, RM_VALU, KC_MPRV, KC_MPLY, KC_MNXT, KC_MUTE, KC_VOLD, KC_VOLU, _______, _______, + RM_TOGG, RM_NEXT, RM_VALU, RM_HUEU, RM_SATU, RM_SPDU, _______, _______, _______, _______, _______, _______, _______, _______, + _______, RM_PREV, RM_VALD, RM_HUED, RM_SATD, RM_SPDD, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, NK_TOGG, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______), [_FN3] = LAYOUT_iso_70( 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, _______, _______, - RGB_TOG, RGB_MOD, RGB_VAI, RGB_HUI, RGB_SAI, RGB_SPI, _______, _______, _______, _______, _______, _______, _______, _______, - _______, RGB_RMOD, RGB_VAD, RGB_HUD, RGB_SAD, RGB_SPD, _______, _______, _______, _______, _______, _______, _______, _______, _______, + RM_TOGG, RM_NEXT, RM_VALU, RM_HUEU, RM_SATU, RM_SPDU, _______, _______, _______, _______, _______, _______, _______, _______, + _______, RM_PREV, RM_VALD, RM_HUED, RM_SATD, RM_SPDD, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______) }; diff --git a/keyboards/keychron/v8/iso_encoder/keymaps/default/keymap.c b/keyboards/keychron/v8/iso_encoder/keymaps/default/keymap.c index 8d5e493e6af..719cdfee569 100644 --- a/keyboards/keychron/v8/iso_encoder/keymaps/default/keymap.c +++ b/keyboards/keychron/v8/iso_encoder/keymaps/default/keymap.c @@ -45,23 +45,23 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_LCTL, KC_LWIN, KC_LALT, KC_SPC, MO(_FN2), MO(_FN3), KC_SPC, KC_RALT, KC_LEFT, KC_DOWN, KC_RGHT), [_FN1] = LAYOUT_iso_70( - KC_GRV, KC_BRID, KC_BRIU, KC_NO, KC_NO, RGB_VAD, RGB_VAI, KC_MPRV, KC_MPLY, KC_MNXT, KC_MUTE, KC_VOLD, KC_VOLU, _______, RGB_TOG, - RGB_TOG, RGB_MOD, RGB_VAI, RGB_HUI, RGB_SAI, RGB_SPI, _______, _______, _______, _______, _______, _______, _______, _______, - _______, RGB_RMOD, RGB_VAD, RGB_HUD, RGB_SAD, RGB_SPD, _______, _______, _______, _______, _______, _______, _______, _______, _______, + KC_GRV, KC_BRID, KC_BRIU, KC_NO, KC_NO, RM_VALD, RM_VALU, KC_MPRV, KC_MPLY, KC_MNXT, KC_MUTE, KC_VOLD, KC_VOLU, _______, RM_TOGG, + RM_TOGG, RM_NEXT, RM_VALU, RM_HUEU, RM_SATU, RM_SPDU, _______, _______, _______, _______, _______, _______, _______, _______, + _______, RM_PREV, RM_VALD, RM_HUED, RM_SATD, RM_SPDD, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, NK_TOGG, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______), [_FN2] = LAYOUT_iso_70( - KC_GRV, KC_BRID, KC_BRIU, KC_TASK, KC_FLXP, RGB_VAD, RGB_VAI, KC_MPRV, KC_MPLY, KC_MNXT, KC_MUTE, KC_VOLD, KC_VOLU, _______, RGB_TOG, - RGB_TOG, RGB_MOD, RGB_VAI, RGB_HUI, RGB_SAI, RGB_SPI, _______, _______, _______, _______, _______, _______, _______, _______, - _______, RGB_RMOD, RGB_VAD, RGB_HUD, RGB_SAD, RGB_SPD, _______, _______, _______, _______, _______, _______, _______, _______, _______, + KC_GRV, KC_BRID, KC_BRIU, KC_TASK, KC_FLXP, RM_VALD, RM_VALU, KC_MPRV, KC_MPLY, KC_MNXT, KC_MUTE, KC_VOLD, KC_VOLU, _______, RM_TOGG, + RM_TOGG, RM_NEXT, RM_VALU, RM_HUEU, RM_SATU, RM_SPDU, _______, _______, _______, _______, _______, _______, _______, _______, + _______, RM_PREV, RM_VALD, RM_HUED, RM_SATD, RM_SPDD, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, NK_TOGG, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______), [_FN3] = LAYOUT_iso_70( 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, _______, _______, - RGB_TOG, RGB_MOD, RGB_VAI, RGB_HUI, RGB_SAI, RGB_SPI, _______, _______, _______, _______, _______, _______, _______, _______, - _______, RGB_RMOD, RGB_VAD, RGB_HUD, RGB_SAD, RGB_SPD, _______, _______, _______, _______, _______, _______, _______, _______, _______, + RM_TOGG, RM_NEXT, RM_VALU, RM_HUEU, RM_SATU, RM_SPDU, _______, _______, _______, _______, _______, _______, _______, _______, + _______, RM_PREV, RM_VALD, RM_HUED, RM_SATD, RM_SPDD, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______) }; @@ -70,8 +70,8 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][NUM_DIRECTIONS] = { [MAC_BASE] = {ENCODER_CCW_CW(KC_VOLD, KC_VOLU)}, [WIN_BASE] = {ENCODER_CCW_CW(KC_VOLD, KC_VOLU)}, - [_FN1] = {ENCODER_CCW_CW(RGB_VAD, RGB_VAI)}, - [_FN2] = {ENCODER_CCW_CW(RGB_VAD, RGB_VAI)}, + [_FN1] = {ENCODER_CCW_CW(RM_VALD, RM_VALU)}, + [_FN2] = {ENCODER_CCW_CW(RM_VALD, RM_VALU)}, [_FN3] = {ENCODER_CCW_CW(_______, _______)} }; #endif // ENCODER_MAP_ENABLE diff --git a/keyboards/keychron/v8/v8.c b/keyboards/keychron/v8/v8.c index 5cc6c0782c7..0e03ba34ec6 100644 --- a/keyboards/keychron/v8/v8.c +++ b/keyboards/keychron/v8/v8.c @@ -34,7 +34,7 @@ bool process_record_kb(uint16_t keycode, keyrecord_t *record) { if (!process_record_user(keycode, record)) { return false; } switch (keycode) { #ifdef RGB_MATRIX_ENABLE - case RGB_TOG: + case QK_RGB_MATRIX_TOGGLE: if (record->event.pressed) { switch (rgb_matrix_get_flags()) { case LED_FLAG_ALL: { diff --git a/keyboards/kprepublic/bm60hsrgb/rev2/config.h b/keyboards/kprepublic/bm60hsrgb/rev2/config.h index a8010af152a..98858cd1643 100644 --- a/keyboards/kprepublic/bm60hsrgb/rev2/config.h +++ b/keyboards/kprepublic/bm60hsrgb/rev2/config.h @@ -18,10 +18,6 @@ #define IS31FL3733_I2C_ADDRESS_1 IS31FL3733_I2C_ADDRESS_GND_GND #define IS31FL3733_LED_COUNT 63 -#if defined(RGB_MATRIX_ENABLE) && defined(RGBLIGHT_ENABLE) - #define RGB_MATRIX_DISABLE_KEYCODES -#endif - // Underglow LEDs are WS2812, but someone might want to use RGBLIGHT for them; // don't use those LEDs in RGB Matrix in that case. #ifdef RGBLIGHT_ENABLE diff --git a/keyboards/kprepublic/bm60hsrgb_ec/rev2/config.h b/keyboards/kprepublic/bm60hsrgb_ec/rev2/config.h index 5edcec6eb4a..b58434efece 100644 --- a/keyboards/kprepublic/bm60hsrgb_ec/rev2/config.h +++ b/keyboards/kprepublic/bm60hsrgb_ec/rev2/config.h @@ -16,7 +16,3 @@ #pragma once #define IS31FL3733_I2C_ADDRESS_1 IS31FL3733_I2C_ADDRESS_GND_GND - -#if defined(RGB_MATRIX_ENABLE) && defined(RGBLIGHT_ENABLE) - #define RGB_MATRIX_DISABLE_KEYCODES -#endif diff --git a/keyboards/kprepublic/bm60hsrgb_ec/rev2/keymaps/default/keymap.c b/keyboards/kprepublic/bm60hsrgb_ec/rev2/keymaps/default/keymap.c index 2aea24ff66b..5e5e0d67585 100644 --- a/keyboards/kprepublic/bm60hsrgb_ec/rev2/keymaps/default/keymap.c +++ b/keyboards/kprepublic/bm60hsrgb_ec/rev2/keymaps/default/keymap.c @@ -14,63 +14,6 @@ */ #include QMK_KEYBOARD_H -enum my_keycodes { - RMT = SAFE_RANGE, - RMS, - RMIH, - RMDH, - RMIS, - RMDS, - RMIV, - RMDV -}; -bool process_record_user(uint16_t keycode, keyrecord_t *record) { - switch (keycode) { - case RMT: - if (record->event.pressed) - {rgb_matrix_toggle(); - } - return false; - case RMS: - if (record->event.pressed) - {rgb_matrix_step(); - } - return false; - case RMIH: - if (record->event.pressed) - {rgb_matrix_increase_hue(); - } - return false; - case RMDH: - if (record->event.pressed) - {rgb_matrix_decrease_hue(); - } - return false; - case RMIS: - if (record->event.pressed) - {rgb_matrix_increase_sat(); - } - return false; - case RMDS: - if (record->event.pressed) - {rgb_matrix_decrease_sat(); - } - return false; - case RMIV: - if (record->event.pressed) - {rgb_matrix_increase_val(); - } - return false; - case RMDV: - if (record->event.pressed) - {rgb_matrix_decrease_val(); - } - return true; - default: - return true; - } -} - const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { [0] = LAYOUT( KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_GRV, KC_PGUP, KC_PGDN, @@ -81,8 +24,8 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { ), [1] = LAYOUT( _______, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, QK_BOOT, _______, _______, _______, - _______, RGB_TOG, RGB_MOD, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, _______, _______, _______, _______, _______, - _______, RMT, RMS, RMIH, RMDH, RMIS, RMDS, RMIV, RMDV, _______, _______, _______, _______, + _______, UG_TOGG, UG_NEXT, UG_HUEU, UG_HUED, UG_SATU, UG_SATD, UG_VALU, UG_VALD, _______, _______, _______, _______, _______, + _______, RM_TOGG, RM_NEXT, RM_HUEU, RM_HUED, RM_SATU, RM_SATD, RM_VALU, RM_VALD, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, NK_TOGG, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ ) diff --git a/keyboards/kprepublic/bm68hsrgb/rev2/config.h b/keyboards/kprepublic/bm68hsrgb/rev2/config.h index df6f089922f..f35697b992e 100644 --- a/keyboards/kprepublic/bm68hsrgb/rev2/config.h +++ b/keyboards/kprepublic/bm68hsrgb/rev2/config.h @@ -17,7 +17,3 @@ #pragma once #define IS31FL3741_I2C_ADDRESS_1 IS31FL3741_I2C_ADDRESS_GND - -#if defined(RGB_MATRIX_ENABLE) && defined(RGBLIGHT_ENABLE) - #define RGB_MATRIX_DISABLE_KEYCODES -#endif diff --git a/keyboards/kprepublic/bm68hsrgb/rev2/keymaps/default/keymap.c b/keyboards/kprepublic/bm68hsrgb/rev2/keymaps/default/keymap.c index 1be08067714..0481046f450 100644 --- a/keyboards/kprepublic/bm68hsrgb/rev2/keymaps/default/keymap.c +++ b/keyboards/kprepublic/bm68hsrgb/rev2/keymaps/default/keymap.c @@ -14,62 +14,6 @@ * along with this program. If not, see . */ #include QMK_KEYBOARD_H -enum my_keycodes { - RMT = SAFE_RANGE, - RMS, - RMIH, - RMDH, - RMIS, - RMDS, - RMIV, - RMDV -}; -bool process_record_user(uint16_t keycode, keyrecord_t *record) { - switch (keycode) { - case RMT: - if (record->event.pressed) - {rgb_matrix_toggle(); - } - return false; - case RMS: - if (record->event.pressed) - {rgb_matrix_step(); - } - return false; - case RMIH: - if (record->event.pressed) - {rgb_matrix_increase_hue(); - } - return false; - case RMDH: - if (record->event.pressed) - {rgb_matrix_decrease_hue(); - } - return false; - case RMIS: - if (record->event.pressed) - {rgb_matrix_increase_sat(); - } - return false; - case RMDS: - if (record->event.pressed) - {rgb_matrix_decrease_sat(); - } - return false; - case RMIV: - if (record->event.pressed) - {rgb_matrix_increase_val(); - } - return false; - case RMDV: - if (record->event.pressed) - {rgb_matrix_decrease_val(); - } - return true; - default: - return true; - } -} const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { [0] = LAYOUT_65_ansi( @@ -81,8 +25,8 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { ), [1] = LAYOUT_65_ansi( QK_GESC, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_DEL, QK_BOOT, - _______, RGB_TOG, RGB_MOD, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, RGB_SPI, RGB_SPD, _______, _______, _______, _______, - KC_CAPS, RMT, RMS, RMIH, RMDH, RMIS, RMDS, RMIV, RMDV, _______, _______, _______, _______, _______, + _______, UG_TOGG, UG_NEXT, UG_HUEU, UG_HUED, UG_SATU, UG_SATD, UG_VALU, UG_VALD, UG_SPDU, UG_SPDD, _______, _______, _______, _______, + KC_CAPS, RM_TOGG, RM_NEXT, RM_HUEU, RM_HUED, RM_SATU, RM_SATD, RM_VALU, RM_VALD, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, NK_TOGG, _______, _______, _______, _______, _______, KC_VOLU, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_VOLD, _______ ), diff --git a/keyboards/marksard/treadstone32/keymaps/default/keymap.c b/keyboards/marksard/treadstone32/keymaps/default/keymap.c index 7e6aaf20098..1373e819f82 100644 --- a/keyboards/marksard/treadstone32/keymaps/default/keymap.c +++ b/keyboards/marksard/treadstone32/keymaps/default/keymap.c @@ -101,9 +101,9 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { //,---------------------------------------------------------------------------------------------------. QK_BOOT, RGBRST, AG_NORM, AG_SWAP, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_INS, KC_PSCR, //|---------+---------+---------+---------+---------+---------+---------+---------+---------+---------| - RGB_TOG, RGB_HUI, RGB_SAI, RGB_VAI, XXXXXXX, KC_MS_L, KC_MS_D, KC_MS_U, KC_MS_R, KC_NUM, + UG_TOGG, UG_HUEU, UG_SATU, UG_VALU, XXXXXXX, KC_MS_L, KC_MS_D, KC_MS_U, KC_MS_R, KC_NUM, //|---------+---------+---------+---------+---------+---------+---------+---------+---------+---------| - RGB_MOD, RGB_HUD, RGB_SAD, RGB_VAD, XXXXXXX, KC_BTN1, KC_BTN2, XXXXXXX, XXXXXXX, XXXXXXX, + UG_NEXT, UG_HUED, UG_SATD, UG_VALD, XXXXXXX, KC_BTN1, KC_BTN2, XXXXXXX, XXXXXXX, XXXXXXX, //`---------+---------+---------+---------+---------+---------+---------+---------+---------+---------' _______, _______ // `---------|---------' @@ -139,7 +139,7 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) { break; #ifdef RGBLIGHT_ENABLE //led operations - RGB mode change now updates the RGB_current_mode to allow the right RGB mode to be set after reactive keys are released - case RGB_MOD: + case QK_UNDERGLOW_MODE_NEXT: if (record->event.pressed) { rgblight_mode(RGB_current_mode); rgblight_step(); diff --git a/keyboards/matrix/m20add/keymaps/default/keymap.c b/keyboards/matrix/m20add/keymaps/default/keymap.c index 92a34c68111..8167487a7a8 100644 --- a/keyboards/matrix/m20add/keymaps/default/keymap.c +++ b/keyboards/matrix/m20add/keymaps/default/keymap.c @@ -19,7 +19,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_MUTE, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - KC_NUM, RGB_TOG, RGB_MOD, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, _______, _______, _______, _______, _______, _______, _______, _______, + KC_NUM, UG_TOGG, UG_NEXT, UG_HUEU, UG_HUED, UG_SATU, UG_SATD, UG_VALU, UG_VALD, _______, _______, _______, _______, _______, _______, _______, _______, QK_BOOT, _______, _______, KC_F24, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_VOLU, _______, _______, _______, KC_MPLY, _______, _______, _______, KC_MPRV, KC_VOLD, KC_MNXT), diff --git a/keyboards/matrix/m20add/keymaps/iso/keymap.c b/keyboards/matrix/m20add/keymaps/iso/keymap.c index 3d6cd8f073a..1760fbe2332 100644 --- a/keyboards/matrix/m20add/keymaps/iso/keymap.c +++ b/keyboards/matrix/m20add/keymaps/iso/keymap.c @@ -17,7 +17,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_MUTE, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - KC_NUM, RGB_TOG, RGB_MOD, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, _______, _______, _______, _______, _______, _______, _______, + KC_NUM, UG_TOGG, UG_NEXT, UG_HUEU, UG_HUED, UG_SATU, UG_SATD, UG_VALU, UG_VALD, _______, _______, _______, _______, _______, _______, _______, QK_BOOT, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_VOLU, _______, _______, _______, KC_MPLY, _______, _______, _______, KC_MPRV, KC_VOLD, KC_MNXT), diff --git a/keyboards/matrix/m20add/rgb_ring.c b/keyboards/matrix/m20add/rgb_ring.c index 9b0e54a6b96..032745af6ec 100644 --- a/keyboards/matrix/m20add/rgb_ring.c +++ b/keyboards/matrix/m20add/rgb_ring.c @@ -398,7 +398,7 @@ bool process_record_kb(uint16_t keycode, keyrecord_t *record) { if (record->event.pressed) { switch(keycode) { - case RGB_MOD: + case QK_UNDERGLOW_MODE_NEXT: if (rgb_ring.state == RING_STATE_INIT) { // in testing mode, do nothing return false; @@ -416,7 +416,7 @@ bool process_record_kb(uint16_t keycode, keyrecord_t *record) } } break; - case RGB_RMOD: + case QK_UNDERGLOW_MODE_PREVIOUS: if (rgb_ring.state == RING_STATE_INIT) { // in testing mode, do nothing return false; diff --git a/keyboards/mechlovin/adelais/keymaps/default/keymap.c b/keyboards/mechlovin/adelais/keymaps/default/keymap.c index bb514bf15bb..bcf4cb6e8c2 100644 --- a/keyboards/mechlovin/adelais/keymaps/default/keymap.c +++ b/keyboards/mechlovin/adelais/keymaps/default/keymap.c @@ -29,7 +29,7 @@ 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 ), [2] = LAYOUT_all( - QK_BOOT, KC_TRNS, KC_F13, KC_F14, KC_F15, KC_F16, KC_F17, KC_F18, KC_F19, KC_F20, KC_F21, KC_F22, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + QK_BOOT, KC_TRNS, RM_TOGG, RM_NEXT, RM_SPDU, RM_SPDD, RM_HUEU, RM_HUED, RM_SATU, RM_SATD, RM_VALU, RM_VALD, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_P7, KC_P8, KC_P9, KC_PSLS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_P4, KC_P5, KC_P6, KC_PAST, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_P1, KC_P2, KC_P3, KC_PPLS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, @@ -68,45 +68,3 @@ bool encoder_update_user(uint8_t index, bool clockwise) { } #endif - -bool process_record_user(uint16_t keycode, keyrecord_t *record) { - if (record->event.pressed) { - switch (keycode) { -#ifdef RGB_MATRIX_ENABLE - case KC_F13: // toggle rgb matrix - rgb_matrix_toggle(); - return false; - case KC_F14: - rgb_matrix_step(); - return false; - case KC_F15: - rgb_matrix_increase_speed(); - return false; - case KC_F16: - rgb_matrix_decrease_speed(); - return false; - case KC_F17: - rgb_matrix_increase_hue(); - return false; - case KC_F18: - rgb_matrix_decrease_hue(); - return false; - case KC_F19: - rgb_matrix_increase_sat(); - return false; - case KC_F20: - rgb_matrix_decrease_sat(); - return false; - case KC_F21: - rgb_matrix_increase_val(); - return false; - case KC_F22: - rgb_matrix_decrease_val(); - return false; -#endif - default: - break; - } - } - return true; -} diff --git a/keyboards/mechlovin/adelais/rgb_led/rev2/config.h b/keyboards/mechlovin/adelais/rgb_led/rev2/config.h index d63b339468f..82b582bfe12 100644 --- a/keyboards/mechlovin/adelais/rgb_led/rev2/config.h +++ b/keyboards/mechlovin/adelais/rgb_led/rev2/config.h @@ -2,5 +2,3 @@ #define IS31FL3731_I2C_ADDRESS_1 IS31FL3731_I2C_ADDRESS_GND #define IS31FL3731_I2C_ADDRESS_2 IS31FL3731_I2C_ADDRESS_SDA - -#define RGB_MATRIX_DISABLE_KEYCODES diff --git a/keyboards/mechlovin/adelais/rgb_led/rev2/rev2.c b/keyboards/mechlovin/adelais/rgb_led/rev2/rev2.c index cc3853cacd1..2dffbc24f01 100644 --- a/keyboards/mechlovin/adelais/rgb_led/rev2/rev2.c +++ b/keyboards/mechlovin/adelais/rgb_led/rev2/rev2.c @@ -129,51 +129,3 @@ bool rgb_matrix_indicators_kb(void) { #endif - -bool process_record_kb(uint16_t keycode, keyrecord_t *record) { - if (!process_record_user(keycode, record)) { - return false; - } - - if (record->event.pressed) { - switch(keycode) { - #ifdef RGBLIGHT_ENABLE - #ifdef RGB_MATRIX_ENABLE - case KC_F13: // toggle rgb matrix - rgb_matrix_toggle(); - return false; - case KC_F14: - rgb_matrix_step(); - return false; - case KC_F15: - rgb_matrix_increase_speed(); - return false; - case KC_F16: - rgb_matrix_decrease_speed(); - return false; - case KC_F17: - rgb_matrix_increase_hue(); - return false; - case KC_F18: - rgb_matrix_decrease_hue(); - return false; - case KC_F19: - rgb_matrix_increase_sat(); - return false; - case KC_F20: - rgb_matrix_decrease_sat(); - return false; - case KC_F21: - rgb_matrix_increase_val(); - return false; - case KC_F22: - rgb_matrix_decrease_val(); - return false; - #endif - #endif - default: - break; - } - } - return true; -} diff --git a/keyboards/mechlovin/adelais/rgb_led/rev3/config.h b/keyboards/mechlovin/adelais/rgb_led/rev3/config.h index 84075534e76..4ad313a03d5 100644 --- a/keyboards/mechlovin/adelais/rgb_led/rev3/config.h +++ b/keyboards/mechlovin/adelais/rgb_led/rev3/config.h @@ -24,5 +24,3 @@ along with this program. If not, see . #define I2C1_DUTY_CYCLE FAST_DUTY_CYCLE_2 #define IS31FL3741_I2C_ADDRESS_1 IS31FL3741_I2C_ADDRESS_SDA - -#define RGB_MATRIX_DISABLE_KEYCODES diff --git a/keyboards/mechlovin/hannah60rgb/rev2/config.h b/keyboards/mechlovin/hannah60rgb/rev2/config.h index ddcde6b2905..82b582bfe12 100644 --- a/keyboards/mechlovin/hannah60rgb/rev2/config.h +++ b/keyboards/mechlovin/hannah60rgb/rev2/config.h @@ -2,7 +2,3 @@ #define IS31FL3731_I2C_ADDRESS_1 IS31FL3731_I2C_ADDRESS_GND #define IS31FL3731_I2C_ADDRESS_2 IS31FL3731_I2C_ADDRESS_SDA - -#if defined(RGBLIGHT_ENABLE) && defined(RGB_MATRIX_ENABLE) -# define RGB_MATRIX_DISABLE_KEYCODES -#endif diff --git a/keyboards/mechlovin/hannah60rgb/rev2/rev2.c b/keyboards/mechlovin/hannah60rgb/rev2/rev2.c index 3fdc5713801..90a42a88a23 100644 --- a/keyboards/mechlovin/hannah60rgb/rev2/rev2.c +++ b/keyboards/mechlovin/hannah60rgb/rev2/rev2.c @@ -221,49 +221,3 @@ layer_state_t layer_state_set_user(layer_state_t state) { } #endif - -bool process_record_kb(uint16_t keycode, keyrecord_t *record) { - if (!process_record_user(keycode, record)) { - return false; - } - - if (record->event.pressed) { - switch(keycode) { - #ifdef RGB_MATRIX_DISABLE_KEYCODES - case KC_F13: // toggle rgb matrix - rgb_matrix_toggle(); - return false; - case KC_F14: - rgb_matrix_step(); - return false; - case KC_F15: - rgb_matrix_increase_speed(); - return false; - case KC_F16: - rgb_matrix_decrease_speed(); - return false; - case KC_F17: - rgb_matrix_increase_hue(); - return false; - case KC_F18: - rgb_matrix_decrease_hue(); - return false; - case KC_F19: - rgb_matrix_increase_sat(); - return false; - case KC_F20: - rgb_matrix_decrease_sat(); - return false; - case KC_F21: - rgb_matrix_increase_val(); - return false; - case KC_F22: - rgb_matrix_decrease_val(); - return false; - #endif - default: - break; - } - } - return true; -} diff --git a/keyboards/ml/gas75/keymaps/default/keymap.c b/keyboards/ml/gas75/keymaps/default/keymap.c index 7fe790e6015..085c61f2ece 100644 --- a/keyboards/ml/gas75/keymaps/default/keymap.c +++ b/keyboards/ml/gas75/keymaps/default/keymap.c @@ -110,12 +110,12 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { */ /* Row: 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 */ [_FN] = LAYOUT( - QK_BOOT, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RGB_TOG, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RGB_HUI, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RGB_HUD, + QK_BOOT, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RM_TOGG, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RM_HUEU, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RM_HUED, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RGB_VAI, - _______, _______, _______, _______, _______, _______, RGB_SPD, RGB_VAD, RGB_SPI + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RM_VALU, + _______, _______, _______, _______, _______, _______, RM_SPDD, RM_VALD, RM_SPDU ), }; @@ -135,7 +135,7 @@ void keyboard_post_init_user(void) { bool process_record_user(uint16_t keycode, keyrecord_t *record) { switch (keycode) { - case RGB_TOG: + case QK_RGB_MATRIX_TOGGLE: if (record->event.pressed) { switch (rgb_matrix_get_flags()) { case LED_FLAG_ALL: { @@ -161,7 +161,7 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) { #ifdef ENCODER_MAP_ENABLE const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][NUM_DIRECTIONS] = { [0] = { ENCODER_CCW_CW(KC_VOLD, KC_VOLU) }, - [1] = { ENCODER_CCW_CW(RGB_RMOD, RGB_MOD) }, + [1] = { ENCODER_CCW_CW(RM_PREV, RM_NEXT) }, }; #endif diff --git a/keyboards/monsgeek/m1/keymaps/default/keymap.c b/keyboards/monsgeek/m1/keymaps/default/keymap.c index a0929d083ff..5cc4c0b3c31 100644 --- a/keyboards/monsgeek/m1/keymaps/default/keymap.c +++ b/keyboards/monsgeek/m1/keymaps/default/keymap.c @@ -48,12 +48,12 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { _______, _______, _______, _______, _______,MO(WIN_FN),_______, KC_A, KC_S, KC_D), [WIN_FN] = LAYOUT_all( /* WASD/↑←↓→ */ - _______, KC_MYCM, KC_MAIL, KC_WSCH, KC_WHOM, KC_MSEL, KC_MPLY, KC_MPRV, KC_MNXT, _______, _______, _______, _______, _______, RGB_MOD, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RGB_SPD, RGB_SPI, _______, _______, - _______, _______,TG(WIN_W),_______, _______, _______, _______, _______, KC_INS, DF(MAC_B),KC_PSCR,_______, _______, RGB_MOD, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, RGB_TOG, _______, _______, RGB_MOD, RGB_HUI, _______, - _______, _______, _______, _______, KC_CALC, _______, _______, _______, KC_MUTE, KC_VOLD, KC_VOLU, _______, _______, RGB_VAI, _______, - _______, GU_TOGG, _______, _______, _______, _______, _______, RGB_SAD, RGB_VAD, RGB_SAI), + _______, KC_MYCM, KC_MAIL, KC_WSCH, KC_WHOM, KC_MSEL, KC_MPLY, KC_MPRV, KC_MNXT, _______, _______, _______, _______, _______, RM_NEXT, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RM_SPDD, RM_SPDU, _______, _______, + _______, _______,TG(WIN_W),_______, _______, _______, _______, _______, KC_INS, DF(MAC_B),KC_PSCR,_______, _______, RM_NEXT, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, RM_TOGG, _______, _______, RM_NEXT, RM_HUEU, _______, + _______, _______, _______, _______, KC_CALC, _______, _______, _______, KC_MUTE, KC_VOLD, KC_VOLU, _______, _______, RM_VALU, _______, + _______, GU_TOGG, _______, _______, _______, _______, _______, RM_SATD, RM_VALD, RM_SATU), [MAC_B] = LAYOUT_all( /* Base */ KC_ESC, KC_BRID, KC_BRIU, KC_MCTL, KC_LPAD, KC_F5, KC_F6, KC_MPRV, KC_MPLY, KC_MNXT, KC_MUTE, KC_VOLD,KC_VOLU, KC_DEL, KC_MUTE, @@ -72,12 +72,12 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { _______, _______, _______, _______, _______, MO(MAC_FN), _______, KC_A, KC_S, KC_D), [MAC_FN] = LAYOUT_all( /* FN */ - _______, 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, RGB_MOD, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RGB_SPD, RGB_SPI, _______, _______, - _______, _______,TG(MAC_W),_______, _______, _______, _______, _______, KC_INS, DF(WIN_B),KC_PSCR,_______, _______, RGB_MOD, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, RGB_TOG, _______, _______, RGB_MOD, RGB_HUI, _______, - _______, _______, _______, _______, KC_CALC, _______, _______, _______, KC_MUTE, KC_VOLD, KC_VOLU, _______, _______, RGB_VAI, _______, - _______, _______, _______, _______, _______, _______, _______, RGB_SAD, RGB_VAD, RGB_SAI) + _______, 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, RM_NEXT, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RM_SPDD, RM_SPDU, _______, _______, + _______, _______,TG(MAC_W),_______, _______, _______, _______, _______, KC_INS, DF(WIN_B),KC_PSCR,_______, _______, RM_NEXT, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, RM_TOGG, _______, _______, RM_NEXT, RM_HUEU, _______, + _______, _______, _______, _______, KC_CALC, _______, _______, _______, KC_MUTE, KC_VOLD, KC_VOLU, _______, _______, RM_VALU, _______, + _______, _______, _______, _______, _______, _______, _______, RM_SATD, RM_VALD, RM_SATU) }; @@ -86,10 +86,10 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][NUM_DIRECTIONS] = { [WIN_B] = { ENCODER_CCW_CW(KC_VOLU, KC_VOLD) }, [WIN_W] = { ENCODER_CCW_CW(KC_VOLU, KC_VOLD) }, - [WIN_FN] = { ENCODER_CCW_CW(RGB_VAI, RGB_VAD) }, + [WIN_FN] = { ENCODER_CCW_CW(RM_VALU, RM_VALD) }, [MAC_B] = { ENCODER_CCW_CW(KC_VOLU, KC_VOLD) }, [MAC_W] = { ENCODER_CCW_CW(KC_VOLU, KC_VOLD) }, - [MAC_FN] = { ENCODER_CCW_CW(RGB_VAI, RGB_VAD) } + [MAC_FN] = { ENCODER_CCW_CW(RM_VALU, RM_VALD) } }; #endif diff --git a/keyboards/monsgeek/m1/m1.c b/keyboards/monsgeek/m1/m1.c index 006eb66d7f9..60479ab8017 100644 --- a/keyboards/monsgeek/m1/m1.c +++ b/keyboards/monsgeek/m1/m1.c @@ -193,7 +193,7 @@ bool process_record_kb(uint16_t keycode, keyrecord_t *record) { eeconfig_update_keymap(keymap_config.raw); } return false; - case RGB_TOG: + case QK_RGB_MATRIX_TOGGLE: if (record->event.pressed) { switch (rgb_matrix_get_flags()) { case LED_FLAG_ALL: { diff --git a/keyboards/monsgeek/m3/keymaps/default/keymap.c b/keyboards/monsgeek/m3/keymaps/default/keymap.c index d075b6067f3..58f69628bf1 100644 --- a/keyboards/monsgeek/m3/keymaps/default/keymap.c +++ b/keyboards/monsgeek/m3/keymaps/default/keymap.c @@ -47,11 +47,11 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { [WIN_FN] = LAYOUT_tkl_ansi( /* FN */ _______, KC_MYCM, KC_MAIL, KC_WSCH, KC_WHOM, KC_MSEL, KC_MPLY, KC_MPRV, KC_MNXT, _______,_______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RGB_SPD, RGB_SPI, _______, _______, _______, _______, - _______, _______,TG(WIN_W),_______, _______, _______, _______, _______, _______, DF(MAC_B),_______,_______, _______, RGB_MOD, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, RGB_TOG, _______, _______, RGB_HUI, - _______, _______, _______, KC_CALC, _______, _______, _______, KC_MUTE, KC_VOLD, KC_VOLU, _______, _______, RGB_VAI, - _______, GU_TOGG, _______, _______, _______, _______, _______, _______, RGB_SAD, RGB_VAD, RGB_SAI), + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RM_SPDD, RM_SPDU, _______, _______, _______, _______, + _______, _______,TG(WIN_W),_______, _______, _______, _______, _______, _______, DF(MAC_B),_______,_______, _______, RM_NEXT, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, RM_TOGG, _______, _______, RM_HUEU, + _______, _______, _______, KC_CALC, _______, _______, _______, KC_MUTE, KC_VOLD, KC_VOLU, _______, _______, RM_VALU, + _______, GU_TOGG, _______, _______, _______, _______, _______, _______, RM_SATD, RM_VALD, RM_SATU), [MAC_B] = LAYOUT_tkl_ansi( /* Base */ KC_ESC, KC_BRID, KC_BRIU, KC_MCTL, KC_LPAD, KC_F5, KC_F6, KC_MPRV, KC_MPLY, KC_MNXT, KC_MUTE, KC_VOLD, KC_VOLU, KC_PSCR, KC_SCRL, KC_PAUS, @@ -70,10 +70,10 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { _______, _______, _______, _______, _______, _______, MO(MAC_FN), _______, KC_A, KC_S, KC_D), [MAC_FN] = LAYOUT_tkl_ansi( /* FN */ KC_ESC, KC_F1, KC_F2, KC_F3, KC_F4, _______, _______, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RGB_SPD, RGB_SPI, _______, _______, _______, _______, - _______, _______,TG(MAC_W),_______, _______, _______, _______, _______, _______, DF(WIN_B),_______,_______, _______, RGB_MOD, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, RGB_TOG, _______, _______, RGB_HUI, - _______, _______, _______, KC_CALC, _______, _______, _______, KC_MUTE, KC_VOLD, KC_VOLU, _______, _______, RGB_VAI, - _______, _______, _______, _______, _______, _______, _______, _______, RGB_SAD, RGB_VAD, RGB_SAI) + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RM_SPDD, RM_SPDU, _______, _______, _______, _______, + _______, _______,TG(MAC_W),_______, _______, _______, _______, _______, _______, DF(WIN_B),_______,_______, _______, RM_NEXT, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, RM_TOGG, _______, _______, RM_HUEU, + _______, _______, _______, KC_CALC, _______, _______, _______, KC_MUTE, KC_VOLD, KC_VOLU, _______, _______, RM_VALU, + _______, _______, _______, _______, _______, _______, _______, _______, RM_SATD, RM_VALD, RM_SATU) }; // clang-format on diff --git a/keyboards/monsgeek/m3/m3.c b/keyboards/monsgeek/m3/m3.c index 1752ddc3b3a..4dd9a55f3c7 100644 --- a/keyboards/monsgeek/m3/m3.c +++ b/keyboards/monsgeek/m3/m3.c @@ -171,7 +171,7 @@ bool process_record_kb(uint16_t keycode, keyrecord_t* record) { gpio_write_pin(LED_WIN_LOCK_PIN, !keymap_config.no_gui); } return true; - case RGB_TOG: + case QK_RGB_MATRIX_TOGGLE: if (record->event.pressed) { switch (rgb_matrix_get_flags()) { case LED_FLAG_ALL: { diff --git a/keyboards/monsgeek/m6/keymaps/default/keymap.c b/keyboards/monsgeek/m6/keymaps/default/keymap.c index 8a03db1790b..976c84f1172 100644 --- a/keyboards/monsgeek/m6/keymaps/default/keymap.c +++ b/keyboards/monsgeek/m6/keymaps/default/keymap.c @@ -46,11 +46,11 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { _______, _______, _______, _______, _______, _______, _______, KC_A, KC_S, KC_D), [WIN_FN] = LAYOUT( - KC_GRV, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, _______, RGB_MOD, + 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, _______, RM_NEXT, _______, _______,TG(WIN_W),_______, _______, _______, _______, _______, KC_INS, DF(MAC_B),KC_PSCR,_______, _______, _______, KC_HOME, - _______, _______, _______, _______, _______, _______, _______, _______, _______, RGB_TOG, RGB_SPD, RGB_SPI, _______, RGB_HUI, KC_END, - _______, _______, _______, _______, KC_CALC, _______, _______, _______, _______, KC_MUTE, KC_VOLD, KC_VOLU, _______, _______, RGB_VAI, - _______, _______, _______, GU_TOGG, _______, _______, _______, RGB_SAD, RGB_VAD, RGB_SAI), + _______, _______, _______, _______, _______, _______, _______, _______, _______, RM_TOGG, RM_SPDD, RM_SPDU, _______, RM_HUEU, KC_END, + _______, _______, _______, _______, KC_CALC, _______, _______, _______, _______, KC_MUTE, KC_VOLD, KC_VOLU, _______, _______, RM_VALU, + _______, _______, _______, GU_TOGG, _______, _______, _______, RM_SATD, RM_VALD, RM_SATU), [MAC_B] = LAYOUT( /* Base */ KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS,KC_EQL, KC_BSPC, KC_HOME, @@ -67,10 +67,10 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { _______, _______, _______, _______, _______, _______, _______, KC_A, KC_S, KC_D), [MAC_FN] = LAYOUT( /* FN */ - KC_GRV, KC_BRID, KC_BRIU, KC_MCTL, KC_LPAD, KC_F5, KC_F6, KC_MPRV, KC_MPLY, KC_MNXT, KC_MUTE, KC_VOLD,KC_VOLU, _______, RGB_MOD, + KC_GRV, KC_BRID, KC_BRIU, KC_MCTL, KC_LPAD, KC_F5, KC_F6, KC_MPRV, KC_MPLY, KC_MNXT, KC_MUTE, KC_VOLD,KC_VOLU, _______, RM_NEXT, _______, _______,TG(MAC_W),_______, _______, _______, _______, _______, KC_INS, DF(WIN_B),KC_PSCR,_______, _______, _______, KC_HOME, - _______, _______, _______, _______, _______, _______, _______, _______, _______, RGB_TOG, RGB_SPD, RGB_SPI, _______, RGB_HUI, KC_END, - _______, _______, _______, _______, KC_CALC, _______, _______, _______, _______, KC_MUTE, KC_VOLD, KC_VOLU, _______, _______, RGB_VAI, - _______, _______, _______, _______, _______, _______, _______, RGB_SAD, RGB_VAD, RGB_SAI), + _______, _______, _______, _______, _______, _______, _______, _______, _______, RM_TOGG, RM_SPDD, RM_SPDU, _______, RM_HUEU, KC_END, + _______, _______, _______, _______, KC_CALC, _______, _______, _______, _______, KC_MUTE, KC_VOLD, KC_VOLU, _______, _______, RM_VALU, + _______, _______, _______, _______, _______, _______, _______, RM_SATD, RM_VALD, RM_SATU), }; diff --git a/keyboards/monsgeek/m6/m6.c b/keyboards/monsgeek/m6/m6.c index ef7fc92015f..180c3700312 100644 --- a/keyboards/monsgeek/m6/m6.c +++ b/keyboards/monsgeek/m6/m6.c @@ -167,7 +167,7 @@ bool process_record_kb(uint16_t keycode, keyrecord_t *record) } switch (keycode) { - case RGB_TOG: + case QK_RGB_MATRIX_TOGGLE: if (record->event.pressed) { switch (rgb_matrix_get_flags()) diff --git a/keyboards/mss_studio/m63_rgb/keymaps/default/keymap.c b/keyboards/mss_studio/m63_rgb/keymaps/default/keymap.c index f6314f228b4..df2f0d924c8 100644 --- a/keyboards/mss_studio/m63_rgb/keymaps/default/keymap.c +++ b/keyboards/mss_studio/m63_rgb/keymaps/default/keymap.c @@ -101,10 +101,10 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { /* Row: 0 1 2 3 4 5 6 7 8 9 10 11 12 13 */ [_FN] = LAYOUT_60_ansi_arrow( 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, - QK_BOOT, _______, _______, _______, _______, _______, _______, _______, KC_INS, _______, KC_PSCR, _______, RGB_HUI, RGB_MOD, - _______, _______, _______, _______, _______, _______, _______, _______, _______, RGB_TOG, _______, _______, _______, - _______, _______, _______, KC_CALC, _______, _______, _______, KC_MUTE, KC_VOLD, KC_VOLU, _______, RGB_VAI, _______, - _______, _______, _______, _______, _______, _______, RGB_SPD, RGB_VAD, RGB_SPI + QK_BOOT, _______, _______, _______, _______, _______, _______, _______, KC_INS, _______, KC_PSCR, _______, RM_HUEU, RM_NEXT, + _______, _______, _______, _______, _______, _______, _______, _______, _______, RM_TOGG, _______, _______, _______, + _______, _______, _______, KC_CALC, _______, _______, _______, KC_MUTE, KC_VOLD, KC_VOLU, _______, RM_VALU, _______, + _______, _______, _______, _______, _______, _______, RM_SPDD, RM_VALD, RM_SPDU ), }; @@ -132,7 +132,7 @@ void keyboard_post_init_user(void) { bool process_record_user(uint16_t keycode, keyrecord_t *record) { switch (keycode) { - case RGB_TOG: + case QK_RGB_MATRIX_TOGGLE: if (record->event.pressed) { switch (rgb_matrix_get_flags()) { case LED_FLAG_ALL: { diff --git a/keyboards/mss_studio/m64_rgb/keymaps/default/keymap.c b/keyboards/mss_studio/m64_rgb/keymaps/default/keymap.c index c37dcd8fb10..95a30994aed 100644 --- a/keyboards/mss_studio/m64_rgb/keymaps/default/keymap.c +++ b/keyboards/mss_studio/m64_rgb/keymaps/default/keymap.c @@ -97,10 +97,10 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { /* Row: 0 1 2 3 4 5 6 7 8 9 10 11 12 13 */ [_FN] = LAYOUT_64_ansi( KC_GRV, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_DEL, - QK_BOOT, _______, _______, _______, _______, _______, _______, _______, KC_INS, _______, KC_PSCR, _______, RGB_HUI, RGB_MOD, - _______, _______, _______, _______, _______, _______, _______, _______, _______, RGB_TOG, _______, _______, _______, - _______, _______, _______, KC_CALC, _______, _______, _______, KC_MUTE, KC_VOLD, KC_VOLU, _______, _______, RGB_VAI, _______, - _______, _______, _______, _______, _______, _______, RGB_SPD, RGB_VAD, RGB_SPI + QK_BOOT, _______, _______, _______, _______, _______, _______, _______, KC_INS, _______, KC_PSCR, _______, RM_HUEU, RM_NEXT, + _______, _______, _______, _______, _______, _______, _______, _______, _______, RM_TOGG, _______, _______, _______, + _______, _______, _______, KC_CALC, _______, _______, _______, KC_MUTE, KC_VOLD, KC_VOLU, _______, _______, RM_VALU, _______, + _______, _______, _______, _______, _______, _______, RM_SPDD, RM_VALD, RM_SPDU ), }; @@ -128,7 +128,7 @@ void keyboard_post_init_user(void) { bool process_record_user(uint16_t keycode, keyrecord_t *record) { switch (keycode) { - case RGB_TOG: + case QK_RGB_MATRIX_TOGGLE: if (record->event.pressed) { switch (rgb_matrix_get_flags()) { case LED_FLAG_ALL: { diff --git a/keyboards/numatreus/keymaps/like_jis/keymap.c b/keyboards/numatreus/keymaps/like_jis/keymap.c index bfb258c37eb..6fc526610a6 100644 --- a/keyboards/numatreus/keymaps/like_jis/keymap.c +++ b/keyboards/numatreus/keymaps/like_jis/keymap.c @@ -114,9 +114,9 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { //,----------------------------------. ,----------------------------------. QK_BOOT, RGBRST, AG_NORM, AG_SWAP, KC_CAPS, XXXXXXX, KC_WH_L, KC_WH_U, KC_HOME, KC_PGUP, //|------+------+------+------+------| |------+------+------+------+------| - RGB_TOG, RGB_HUI, RGB_SAI, RGB_VAI, KC_SCRL, XXXXXXX, KC_WH_R, KC_WH_D, KC_END, KC_PGDN, + UG_TOGG, UG_HUEU, UG_SATU, UG_VALU, KC_SCRL, XXXXXXX, KC_WH_R, KC_WH_D, KC_END, KC_PGDN, //|------+------+------+------+------| |------+------+------+------+------| - RGB_MOD, RGB_HUD, RGB_SAD, RGB_VAD, KC_NUM, XXXXXXX, KC_BTN1, KC_BTN2, KC_MS_U, XXXXXXX, + UG_NEXT, UG_HUED, UG_SATD, UG_VALD, KC_NUM, XXXXXXX, KC_BTN1, KC_BTN2, KC_MS_U, XXXXXXX, //|------+------+------+------+------|------+------+------+------+------+------+------| KC_LSFT, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_MS_L, KC_MS_D, KC_MS_R //|------+------+------+------+-------------+------+------+------+------+------+------| @@ -166,7 +166,7 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) { break; #ifdef RGBLIGHT_ENABLE //led operations - RGB mode change now updates the RGB_current_mode to allow the right RGB mode to be set after reactive keys are released - case RGB_MOD: + case QK_UNDERGLOW_MODE_NEXT: if (record->event.pressed) { rgblight_mode(RGB_current_mode); rgblight_step(); diff --git a/keyboards/obosob/arch_36/keymaps/default/keymap.c b/keyboards/obosob/arch_36/keymaps/default/keymap.c index 6351944e371..abe3c2f7118 100644 --- a/keyboards/obosob/arch_36/keymaps/default/keymap.c +++ b/keyboards/obosob/arch_36/keymaps/default/keymap.c @@ -107,14 +107,14 @@ uint16_t last_rgb_char = 0; bool process_record_user(uint16_t keycode, keyrecord_t *record) { switch(keycode) { - case RGB_TOG: - case RGB_MOD: - case RGB_HUD: - case RGB_HUI: - case RGB_SAD: - case RGB_SAI: - case RGB_VAI: - case RGB_VAD: + case QK_UNDERGLOW_TOGGLE: + case QK_UNDERGLOW_MODE_NEXT: + case QK_UNDERGLOW_HUE_DOWN: + case QK_UNDERGLOW_HUE_UP: + case QK_UNDERGLOW_SATURATION_DOWN: + case QK_UNDERGLOW_SATURATION_UP: + case QK_UNDERGLOW_VALUE_UP: + case QK_UNDERGLOW_VALUE_DOWN: rgb_edit_timer = timer_read(); last_rgb_char = keycode; return true; @@ -152,9 +152,9 @@ void render_rgb_state(void) { uint8_t hue = (rgblight_get_hue()*width/255), sat = (rgblight_get_sat()*width/255), val = (rgblight_get_val()*width/255); - bool changing_hue = timer_elapsed(rgb_edit_timer) < 1000 && (last_rgb_char == RGB_HUI || last_rgb_char == RGB_HUD); - bool changing_sat = timer_elapsed(rgb_edit_timer) < 1000 && (last_rgb_char == RGB_SAI || last_rgb_char == RGB_SAD); - bool changing_val = timer_elapsed(rgb_edit_timer) < 1000 && (last_rgb_char == RGB_VAI || last_rgb_char == RGB_VAD); + bool changing_hue = timer_elapsed(rgb_edit_timer) < 1000 && (last_rgb_char == QK_UNDERGLOW_HUE_UP || last_rgb_char == QK_UNDERGLOW_HUE_DOWN); + bool changing_sat = timer_elapsed(rgb_edit_timer) < 1000 && (last_rgb_char == QK_UNDERGLOW_SATURATION_UP || last_rgb_char == QK_UNDERGLOW_SATURATION_DOWN); + bool changing_val = timer_elapsed(rgb_edit_timer) < 1000 && (last_rgb_char == QK_UNDERGLOW_VALUE_UP || last_rgb_char == QK_UNDERGLOW_VALUE_DOWN); uint8_t i; diff --git a/keyboards/obosob/arch_36/keymaps/obosob/keymap.c b/keyboards/obosob/arch_36/keymaps/obosob/keymap.c index 27654b07b29..c36b5601b01 100644 --- a/keyboards/obosob/arch_36/keymaps/obosob/keymap.c +++ b/keyboards/obosob/arch_36/keymaps/obosob/keymap.c @@ -220,8 +220,8 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { // |________| |________| [_ADJUST] = LAYOUT_split_3x5_3( XXXXXXX, WOKE, EE_CLR, QK_BOOT, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, - XXXXXXX, RGB_TOG, RGB_HUI, RGB_SAI, RGB_VAI, XXXXXXX, QWERTY, COLEMAK, XXXXXXX, XXXXXXX, - XXXXXXX, RGB_MOD, RGB_HUD, RGB_SAD, RGB_VAD, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, + XXXXXXX, UG_TOGG, UG_HUEU, UG_SATU, UG_VALU, XXXXXXX, QWERTY, COLEMAK, XXXXXXX, XXXXXXX, + XXXXXXX, UG_NEXT, UG_HUED, UG_SATD, UG_VALD, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX ), }; @@ -369,14 +369,14 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) { woke_mode = !woke_mode; } return false; - case RGB_TOG: - case RGB_MOD: - case RGB_HUD: - case RGB_HUI: - case RGB_SAD: - case RGB_SAI: - case RGB_VAI: - case RGB_VAD: + case QK_UNDERGLOW_TOGGLE: + case QK_UNDERGLOW_MODE_NEXT: + case QK_UNDERGLOW_HUE_DOWN: + case QK_UNDERGLOW_HUE_UP: + case QK_UNDERGLOW_SATURATION_DOWN: + case QK_UNDERGLOW_SATURATION_UP: + case QK_UNDERGLOW_VALUE_UP: + case QK_UNDERGLOW_VALUE_DOWN: rgb_edit_timer = timer_read(); last_rgb_char = keycode; return true; @@ -445,9 +445,9 @@ void render_rgb_state(void) { uint8_t hue = (rgblight_get_hue()*width/255), sat = (rgblight_get_sat()*width/255), val = (rgblight_get_val()*width/255); - bool changing_hue = timer_elapsed(rgb_edit_timer) < 1000 && (last_rgb_char == RGB_HUI || last_rgb_char == RGB_HUD); - bool changing_sat = timer_elapsed(rgb_edit_timer) < 1000 && (last_rgb_char == RGB_SAI || last_rgb_char == RGB_SAD); - bool changing_val = timer_elapsed(rgb_edit_timer) < 1000 && (last_rgb_char == RGB_VAI || last_rgb_char == RGB_VAD); + bool changing_hue = timer_elapsed(rgb_edit_timer) < 1000 && (last_rgb_char == QK_UNDERGLOW_HUE_UP || last_rgb_char == QK_UNDERGLOW_HUE_DOWN); + bool changing_sat = timer_elapsed(rgb_edit_timer) < 1000 && (last_rgb_char == QK_UNDERGLOW_SATURATION_UP || last_rgb_char == QK_UNDERGLOW_SATURATION_DOWN); + bool changing_val = timer_elapsed(rgb_edit_timer) < 1000 && (last_rgb_char == QK_UNDERGLOW_VALUE_UP || last_rgb_char == QK_UNDERGLOW_VALUE_DOWN); uint8_t i; diff --git a/keyboards/owlab/spring/keymaps/default/keymap.c b/keyboards/owlab/spring/keymaps/default/keymap.c index 932e8c5e926..f3564883e82 100644 --- a/keyboards/owlab/spring/keymaps/default/keymap.c +++ b/keyboards/owlab/spring/keymaps/default/keymap.c @@ -29,7 +29,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { [1] = LAYOUT( KC_TRNS, KC_TRNS, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, QK_BOOT, - KC_TRNS, KC_TRNS, RGB_TOG, RGB_MOD, RGB_RMOD, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, KC_PSCR, KC_SCRL, KC_PAUS, KC_TRNS, + KC_TRNS, KC_TRNS, UG_TOGG, UG_NEXT, UG_PREV, UG_HUEU, UG_HUED, UG_SATU, UG_SATD, UG_VALU, UG_VALD, KC_PSCR, KC_SCRL, KC_PAUS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_INS, KC_HOME, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_DEL, KC_END, 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/owlab/spring/spring.c b/keyboards/owlab/spring/spring.c index 5e814d5a60d..12c27c1a84b 100644 --- a/keyboards/owlab/spring/spring.c +++ b/keyboards/owlab/spring/spring.c @@ -90,15 +90,15 @@ void housekeeping_task_kb(void) { bool process_record_kb(uint16_t keycode, keyrecord_t *record) { if (record->event.pressed) { switch(keycode) { - case RGB_TOG: - case RGB_MOD: - case RGB_RMOD: - case RGB_HUI: - case RGB_HUD: - case RGB_SAI: - case RGB_SAD: - case RGB_VAI: - case RGB_VAD: + case QK_UNDERGLOW_TOGGLE: + case QK_UNDERGLOW_MODE_NEXT: + case QK_UNDERGLOW_MODE_PREVIOUS: + case QK_UNDERGLOW_HUE_UP: + case QK_UNDERGLOW_HUE_DOWN: + case QK_UNDERGLOW_SATURATION_UP: + case QK_UNDERGLOW_SATURATION_DOWN: + case QK_UNDERGLOW_VALUE_UP: + case QK_UNDERGLOW_VALUE_DOWN: if(caps_in){ return false; } diff --git a/keyboards/owlab/voice65/hotswap/config.h b/keyboards/owlab/voice65/hotswap/config.h index 96c0c784c09..be6b66e58a8 100644 --- a/keyboards/owlab/voice65/hotswap/config.h +++ b/keyboards/owlab/voice65/hotswap/config.h @@ -18,7 +18,3 @@ along with this program. If not, see . #pragma once #define IS31FL3741_I2C_ADDRESS_1 IS31FL3741_I2C_ADDRESS_GND - -#ifdef RGB_MATRIX_ENABLE -# define RGB_MATRIX_DISABLE_KEYCODES -#endif diff --git a/keyboards/owlab/voice65/soldered/config.h b/keyboards/owlab/voice65/soldered/config.h index 96c0c784c09..be6b66e58a8 100644 --- a/keyboards/owlab/voice65/soldered/config.h +++ b/keyboards/owlab/voice65/soldered/config.h @@ -18,7 +18,3 @@ along with this program. If not, see . #pragma once #define IS31FL3741_I2C_ADDRESS_1 IS31FL3741_I2C_ADDRESS_GND - -#ifdef RGB_MATRIX_ENABLE -# define RGB_MATRIX_DISABLE_KEYCODES -#endif diff --git a/keyboards/pangorin/tan67/keymaps/default/keymap.c b/keyboards/pangorin/tan67/keymaps/default/keymap.c index 2b46433eeff..a50241b8f6a 100644 --- a/keyboards/pangorin/tan67/keymaps/default/keymap.c +++ b/keyboards/pangorin/tan67/keymaps/default/keymap.c @@ -72,9 +72,9 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { /* Row: 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 */ [_FN1] = LAYOUT_65_ansi_blocker( KC_GRV, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, QK_BOOT, _______, - _______, _______, RGB_TOG, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, RM_TOGG, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RGB_VAI, _______, - _______, _______, _______, _______, _______, _______, _______, RGB_VAD, _______ + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RM_VALU, _______, + _______, _______, _______, _______, _______, _______, _______, RM_VALD, _______ ) }; diff --git a/keyboards/pangorin/tan67/tan67.c b/keyboards/pangorin/tan67/tan67.c index 574624c1576..08568ddcc8c 100644 --- a/keyboards/pangorin/tan67/tan67.c +++ b/keyboards/pangorin/tan67/tan67.c @@ -19,7 +19,7 @@ #ifdef RGB_MATRIX_ENABLE bool process_record_kb(uint16_t keycode, keyrecord_t *record) { switch (keycode) { - case RGB_TOG: + case QK_RGB_MATRIX_TOGGLE: if (record->event.pressed) { switch (rgb_matrix_get_flags()) { case LED_FLAG_ALL: { diff --git a/keyboards/phage_studio/pila87/keymaps/default/keymap.c b/keyboards/phage_studio/pila87/keymaps/default/keymap.c index 10f01dbae51..3310a8e5ab8 100644 --- a/keyboards/phage_studio/pila87/keymaps/default/keymap.c +++ b/keyboards/phage_studio/pila87/keymaps/default/keymap.c @@ -91,7 +91,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { */ /* Row: 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 */ [_FN1] = LAYOUT_tkl_ansi( - QK_BOOT, RGB_TOG, RGB_MOD, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, RGB_SPI, RGB_SPD, _______, NK_TOGG, _______, _______, _______, + QK_BOOT, RM_TOGG, RM_NEXT, RM_HUEU, RM_HUED, RM_SATU, RM_SATD, RM_VALU, RM_VALD, RM_SPDU, RM_SPDD, _______, NK_TOGG, _______, _______, _______, _______, 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_BSPC, _______, _______, _______, _______, _______, KC_UP, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_INS, KC_DEL, KC_HOME, KC_END, KC_PGUP, KC_PGDN, KC_LEFT, KC_DOWN, KC_RGHT, _______, _______, _______, diff --git a/keyboards/phage_studio/pila87/pila87.c b/keyboards/phage_studio/pila87/pila87.c index 3425e0abf5d..8e72fb4e850 100644 --- a/keyboards/phage_studio/pila87/pila87.c +++ b/keyboards/phage_studio/pila87/pila87.c @@ -48,7 +48,7 @@ led_config_t g_led_config = { { bool process_record_kb(uint16_t keycode, keyrecord_t *record) { switch (keycode) { - case RGB_TOG: + case QK_RGB_MATRIX_TOGGLE: if (record->event.pressed) { switch (rgb_matrix_get_flags()) { case LED_FLAG_ALL: { diff --git a/keyboards/pica40/rev1/config.h b/keyboards/pica40/rev1/config.h index 09c481a9fff..b6515a05b41 100644 --- a/keyboards/pica40/rev1/config.h +++ b/keyboards/pica40/rev1/config.h @@ -4,6 +4,5 @@ #pragma once #ifdef RGBLIGHT_ENABLE -# define RGBLIGHT_DISABLE_KEYCODES // disable keycodes for RGB Light controls, only status LED is supported # define PICA40_RGBLIGHT_TIMEOUT 5 // turn RGB off after N minutes #endif diff --git a/keyboards/pica40/rev2/config.h b/keyboards/pica40/rev2/config.h index dad718ad0f5..464bb62b207 100644 --- a/keyboards/pica40/rev2/config.h +++ b/keyboards/pica40/rev2/config.h @@ -8,7 +8,6 @@ #define RP2040_BOOTLOADER_DOUBLE_TAP_RESET_TIMEOUT 500U #ifdef RGBLIGHT_ENABLE -# define RGBLIGHT_DISABLE_KEYCODES // disable keycodes for RGB Light controls, only status LED is supported # define PICA40_RGBLIGHT_TIMEOUT 5 // turn RGB off after N minutes #endif diff --git a/keyboards/qwertykeys/qk100/ansi/ansi.c b/keyboards/qwertykeys/qk100/ansi/ansi.c index e1102aab516..93af272e008 100644 --- a/keyboards/qwertykeys/qk100/ansi/ansi.c +++ b/keyboards/qwertykeys/qk100/ansi/ansi.c @@ -120,60 +120,6 @@ const is31fl3741_led_t PROGMEM g_is31fl3741_leds[IS31FL3741_LED_COUNT] = { {0, SW9_CS14, SW9_CS15, SW9_CS13}, /* RGB99- 0 */ {0, SW9_CS20, SW9_CS21, SW9_CS19} /* RGB100- . */ }; - -bool process_record_kb(uint16_t keycode, keyrecord_t* record) { - if (record->event.pressed) { - switch (keycode) { - case QK_KB_0: - rgb_matrix_toggle(); - break; - - case QK_KB_1: - rgb_matrix_step(); - break; - - case QK_KB_2: - rgb_matrix_step_reverse(); - break; - - case QK_KB_3: - rgb_matrix_increase_hue(); // Increase the hue for effect range LEDs - break; - - case QK_KB_4: - rgb_matrix_decrease_hue(); // Decrease the hue for effect range LEDs - break; - - case QK_KB_5: - rgb_matrix_increase_sat(); // Increase the saturation for effect range LEDs - break; - - case QK_KB_6: - rgb_matrix_decrease_sat(); // Decrease the saturation for effect range LEDs - break; - - case QK_KB_7: - rgb_matrix_increase_val(); // Increase the value for effect range LEDs - break; - - case QK_KB_8: - rgb_matrix_decrease_val(); // Decrease the value for effect range LEDs - break; - - case QK_KB_9: - rgb_matrix_increase_speed(); // Increase the speed of the animations - break; - - case QK_KB_10: - rgb_matrix_decrease_speed(); // Decrease the speed of the animations - break; - - default: - break; - } - } - return process_record_user(keycode, record); -} #endif const rgblight_segment_t PROGMEM my_capslock_layer[] = RGBLIGHT_LAYER_SEGMENTS({0, 3, HSV_WHITE}); diff --git a/keyboards/qwertykeys/qk100/ansi/config.h b/keyboards/qwertykeys/qk100/ansi/config.h index 041dbdb928f..b78d15782ba 100644 --- a/keyboards/qwertykeys/qk100/ansi/config.h +++ b/keyboards/qwertykeys/qk100/ansi/config.h @@ -30,5 +30,3 @@ along with this program. If not, see . #define I2C1_DUTY_CYCLE FAST_DUTY_CYCLE_2 #define IS31FL3741_I2C_ADDRESS_1 IS31FL3741_I2C_ADDRESS_GND - -#define RGB_MATRIX_DISABLE_KEYCODES diff --git a/keyboards/qwertykeys/qk100/ansi/keymaps/default/keymap.c b/keyboards/qwertykeys/qk100/ansi/keymaps/default/keymap.c index f081299d50e..ae4a72af151 100644 --- a/keyboards/qwertykeys/qk100/ansi/keymaps/default/keymap.c +++ b/keyboards/qwertykeys/qk100/ansi/keymaps/default/keymap.c @@ -28,11 +28,11 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, MO(1), KC_LEFT, KC_DOWN, KC_RIGHT,KC_P0, KC_PDOT ), [1] = LAYOUT( - QK_KB_0, QK_KB_1, QK_KB_2, QK_KB_3, QK_KB_4, QK_KB_5, QK_KB_6, QK_KB_7, QK_KB_8, QK_KB_9, QK_KB_10,KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + RM_TOGG, RM_NEXT, RM_PREV, RM_HUEU, RM_HUED, RM_SATU, RM_SATD, RM_VALU, RM_VALD, RM_SPDU, RM_SPDD, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, NK_TOGG, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, - KC_TRNS, RGB_TOG, RGB_MOD, RGB_RMOD,RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAD, RGB_VAI, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, UG_TOGG, UG_NEXT, UG_PREV, UG_HUEU, UG_HUED, UG_SATU, UG_SATD, UG_VALD, UG_VALU, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS ) }; \ No newline at end of file diff --git a/keyboards/recompile_keys/nomu30/keymaps/center_sprit/keymap.c b/keyboards/recompile_keys/nomu30/keymaps/center_sprit/keymap.c index 832a682c427..16d320f045c 100644 --- a/keyboards/recompile_keys/nomu30/keymaps/center_sprit/keymap.c +++ b/keyboards/recompile_keys/nomu30/keymaps/center_sprit/keymap.c @@ -93,9 +93,9 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { //,-------------------------------------------------------------------------------------------------------------. QK_BOOT, RGBRST, AG_NORM, AG_SWAP, XXXXXXX, _______, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, //|---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------| - _______, RGB_TOG, RGB_HUI, RGB_SAI, RGB_VAI, XXXXXXX, KC_MS_L, KC_MS_D, KC_MS_U, KC_MS_R, XXXXXXX, + _______, UG_TOGG, UG_HUEU, UG_SATU, UG_VALU, XXXXXXX, KC_MS_L, KC_MS_D, KC_MS_U, KC_MS_R, XXXXXXX, //|---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------| - RGB_MOD, RGB_HUD, RGB_SAD, RGB_VAD, XXXXXXX, _______, KC_BTN1, KC_BTN2, XXXXXXX + UG_NEXT, UG_HUED, UG_SATD, UG_VALD, XXXXXXX, _______, KC_BTN1, KC_BTN2, XXXXXXX //`---------+---------+---------+---------+---------+---------+---------+---------+---------' ) }; @@ -129,7 +129,7 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) { break; #ifdef RGBLIGHT_ENABLE //led operations - RGB mode change now updates the RGB_current_mode to allow the right RGB mode to be set after reactive keys are released - case RGB_MOD: + case QK_UNDERGLOW_MODE_NEXT: if (record->event.pressed) { rgblight_mode(RGB_current_mode); rgblight_step(); diff --git a/keyboards/rgbkb/sol/keymaps/default/keymap.c b/keyboards/rgbkb/sol/keymaps/default/keymap.c index 8997e9a582e..54dab63736f 100644 --- a/keyboards/rgbkb/sol/keymaps/default/keymap.c +++ b/keyboards/rgbkb/sol/keymaps/default/keymap.c @@ -51,7 +51,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_LBRC, KC_RBRC, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSLS, FN_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_LPRN, KC_RPRN, 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_LCBR, KC_RCBR, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_ENT, - KC_LCTL, KC_LGUI, KC_LALT, RGB_TOG, ADJ, KC_SPC, KC_DEL, KC_ENT, KC_SPC, FN, KC_LEFT, KC_DOWN, KC_UP,KC_RIGHT, + KC_LCTL, KC_LGUI, KC_LALT, RM_TOGG, ADJ, KC_SPC, KC_DEL, KC_ENT, KC_SPC, FN, KC_LEFT, KC_DOWN, KC_UP,KC_RIGHT, KC_SPC, KC_DEL, KC_ENT, KC_SPC ), @@ -75,7 +75,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_TAB, KC_Q, KC_W, KC_F, KC_P, KC_G, KC_LBRC, KC_RBRC, KC_J, KC_L, KC_U, KC_Y, KC_SCLN, KC_BSLS, FN_CAPS, KC_A, KC_R, KC_S, KC_T, KC_D, KC_LPRN, KC_RPRN, 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_LCBR, KC_RCBR, KC_K, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_ENT, - KC_LCTL, KC_LGUI, KC_LALT, RGB_TOG, ADJ, KC_SPC, KC_DEL, KC_ENT, KC_SPC, FN, KC_LEFT, KC_DOWN, KC_UP,KC_RIGHT, + KC_LCTL, KC_LGUI, KC_LALT, RM_TOGG, ADJ, KC_SPC, KC_DEL, KC_ENT, KC_SPC, FN, KC_LEFT, KC_DOWN, KC_UP,KC_RIGHT, KC_SPC, KC_DEL, KC_ENT, KC_SPC ), @@ -99,7 +99,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { _______, KC_PGDN, KC_UP, KC_PGUP, _______, _______, _______, KC_SCRL, _______, KC_PGDN, KC_UP, KC_PGUP, KC_PSCR, KC_HOME, _______, KC_LEFT, KC_DOWN, KC_RGHT, _______, _______, _______, KC_NUM, _______, KC_LEFT, KC_DOWN, KC_RGHT, KC_INS, KC_END, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, RGB_MOD, _______, _______, _______, _______, _______, KC_MPLY, KC_MNXT, KC_MUTE, KC_VOLD, KC_VOLU, + _______, _______, _______, RM_NEXT, _______, _______, _______, _______, _______, KC_MPLY, KC_MNXT, KC_MUTE, KC_VOLD, KC_VOLU, _______, _______, _______, _______ ), @@ -121,10 +121,10 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { [_ADJ] = LAYOUT( KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, _______, _______, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, - _______, RGB_SAD, RGB_VAI, RGB_SAI, QK_BOOT, _______, _______, _______, _______, KC_P7, KC_P8, KC_P9, _______, _______, - _______, RGB_HUD, RGB_VAD, RGB_HUI, RGBRST, _______, _______, _______, _______, KC_P4, KC_P5, KC_P6, _______, _______, - _______, RGB_SPD, _______, RGB_SPI, _______, _______, _______, _______, _______, KC_P1, KC_P2, KC_P3, _______, _______, - _______, _______, _______, RGB_MOD, _______, _______, _______, _______, _______, KC_P0, KC_PDOT, KC_NUM, QWERTY, COLEMAK, + _______, RM_SATD, RM_VALU, RM_SATU, QK_BOOT, _______, _______, _______, _______, KC_P7, KC_P8, KC_P9, _______, _______, + _______, RM_HUED, RM_VALD, RM_HUEU, RGBRST, _______, _______, _______, _______, KC_P4, KC_P5, KC_P6, _______, _______, + _______, RM_SPDD, _______, RM_SPDU, _______, _______, _______, _______, _______, KC_P1, KC_P2, KC_P3, _______, _______, + _______, _______, _______, RM_NEXT, _______, _______, _______, _______, _______, KC_P0, KC_PDOT, KC_NUM, QWERTY, COLEMAK, _______, _______, _______, _______ ) }; @@ -273,7 +273,7 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) { } return false; #if defined(RGB_MATRIX_ENABLE) && defined(KEYBOARD_rgbkb_sol_rev2) - case RGB_TOG: + case QK_RGB_MATRIX_TOGGLE: if (record->event.pressed) { rgb_matrix_increase_flags(); } diff --git a/keyboards/rgbkb/sol3/keymaps/default/keymap.c b/keyboards/rgbkb/sol3/keymaps/default/keymap.c index 862cc03ef42..8c14c214e37 100644 --- a/keyboards/rgbkb/sol3/keymaps/default/keymap.c +++ b/keyboards/rgbkb/sol3/keymaps/default/keymap.c @@ -51,7 +51,6 @@ enum sol_keycodes { #define GAME DF(_GAME) #define QWERTY DF(_QWERTY) #define FN_CAPS LT(_FN, KC_CAPS) -//#define RGB_ADJ LT(_ADJUST, RGB_TOG) const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { @@ -60,7 +59,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_LBRC, KC_RBRC, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSLS, FN_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_LPRN, KC_RPRN, 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_LCBR, KC_RCBR, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, SC_SENT, - KC_LCTL, KC_LGUI, KC_LALT, RGB_TOG, ADJUST, KC_SPC, KC_PGDN, KC_DEL, KC_ENT, KC_PGUP, KC_SPC, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT, KC_RCTL, + KC_LCTL, KC_LGUI, KC_LALT, RM_TOGG, ADJUST, KC_SPC, KC_PGDN, KC_DEL, KC_ENT, KC_PGUP, KC_SPC, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT, KC_RCTL, KC_VOLD, KC_VOLU, KC_MNXT, KC_MPLY, KC_MPRV, KC_VOLD, KC_VOLU, KC_MNXT, KC_MPLY, KC_MPRV ), @@ -97,10 +96,10 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { [_ADJUST] = LAYOUT( _______, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F11, KC_F12, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, _______, - _______, RGB_SAD, RGB_VAI, RGB_SAI, QK_BOOT, _______, _______, _______, _______, KC_P7, KC_P8, KC_P9, _______, _______, - _______, RGB_HUD, RGB_VAD, RGB_HUI, RGB_RST, _______, DM_REC1, _______, _______, KC_P4, KC_P5, KC_P6, _______, _______, - _______, RGB_SPD, _______, RGB_SPI, _______, _______, DM_RSTP, _______, _______, KC_P1, KC_P2, KC_P3, _______, GAME, - _______, RGB_RMOD,RGB_TOG, RGB_MOD, _______, _______, _______, _______, _______, _______, _______, KC_P0, KC_PDOT, KC_NUM, QWERTY, COLEMAK, + _______, RM_SATD, RM_VALU, RM_SATU, QK_BOOT, _______, _______, _______, _______, KC_P7, KC_P8, KC_P9, _______, _______, + _______, RM_HUED, RM_VALD, RM_HUEU, RGB_RST, _______, DM_REC1, _______, _______, KC_P4, KC_P5, KC_P6, _______, _______, + _______, RM_SPDD, _______, RM_SPDU, _______, _______, DM_RSTP, _______, _______, KC_P1, KC_P2, KC_P3, _______, GAME, + _______, RM_PREV, RM_TOGG, RM_NEXT, _______, _______, _______, _______, _______, _______, _______, KC_P0, KC_PDOT, KC_NUM, QWERTY, COLEMAK, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ ), diff --git a/keyboards/rgbkb/sol3/rev1/rev1.c b/keyboards/rgbkb/sol3/rev1/rev1.c index 7d264eb17f2..89ec391f660 100644 --- a/keyboards/rgbkb/sol3/rev1/rev1.c +++ b/keyboards/rgbkb/sol3/rev1/rev1.c @@ -248,7 +248,7 @@ bool process_record_kb(uint16_t keycode, keyrecord_t *record) { switch(keycode) { #ifdef RGB_MATRIX_ENABLE - case RGB_TOG: + case QK_RGB_MATRIX_TOGGLE: if (record->event.pressed) { rgb_matrix_increase_flags(); } diff --git a/keyboards/salicylic_acid3/7skb/keymaps/default/keymap.c b/keyboards/salicylic_acid3/7skb/keymaps/default/keymap.c index e5610f23829..1651bd39394 100644 --- a/keyboards/salicylic_acid3/7skb/keymaps/default/keymap.c +++ b/keyboards/salicylic_acid3/7skb/keymaps/default/keymap.c @@ -57,9 +57,9 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+--------+--------+--------| XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, RGB_RST, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+--------+--------| - XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, RGB_TOG, RGB_MOD, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, + XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, UG_TOGG, UG_NEXT, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+--------| - XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, RGB_VAD, RGB_VAI, RGB_HUD, RGB_HUI, RGB_SAD, RGB_SAI, XXXXXXX, + XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, UG_VALD, UG_VALU, UG_HUED, UG_HUEU, UG_SATD, UG_SATU, XXXXXXX, //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+--------| XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_STOP, XXXXXXX //`---------------------------------------------| |--------------------------------------------' @@ -91,7 +91,7 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) { bool result = false; switch (keycode) { #ifdef RGBLIGHT_ENABLE - case RGB_MOD: + case QK_UNDERGLOW_MODE_NEXT: if (record->event.pressed) { rgblight_mode(RGB_current_mode); rgblight_step(); diff --git a/keyboards/salicylic_acid3/naked48/keymaps/default/keymap.c b/keyboards/salicylic_acid3/naked48/keymaps/default/keymap.c index 4df63d109b8..93a89563d2c 100644 --- a/keyboards/salicylic_acid3/naked48/keymaps/default/keymap.c +++ b/keyboards/salicylic_acid3/naked48/keymaps/default/keymap.c @@ -67,9 +67,9 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { //,-----------------------------------------------------| |-----------------------------------------------------. _______, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, RGB_RST, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, _______, //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------| - _______, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, RGB_TOG, RGB_MOD, XXXXXXX,LCA(KC_DEL),LALT(KC_PSCR),KC_PSCR, + _______, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, UG_TOGG, UG_NEXT, XXXXXXX,LCA(KC_DEL),LALT(KC_PSCR),KC_PSCR, //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------| - _______, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, RGB_VAD, RGB_VAI, RGB_HUD, RGB_HUI, RGB_SAD, RGB_SAI, + _______, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, UG_VALD, UG_VALU, UG_HUED, UG_HUEU, UG_SATD, UG_SATU, //|--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------| _______, _______, _______, _______, _______, QK_BOOT, QK_BOOT, _______, _______, _______, _______, _______ //`------------------------------------------------------------------------------------------------------------' @@ -82,7 +82,7 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) { bool result = false; switch (keycode) { #ifdef RGBLIGHT_ENABLE - case RGB_MOD: + case QK_UNDERGLOW_MODE_NEXT: if (record->event.pressed) { rgblight_mode(RGB_current_mode); rgblight_step(); diff --git a/keyboards/salicylic_acid3/naked48/keymaps/default_with_nafuda/keymap.c b/keyboards/salicylic_acid3/naked48/keymaps/default_with_nafuda/keymap.c index 26385640bde..6dd300f9db4 100644 --- a/keyboards/salicylic_acid3/naked48/keymaps/default_with_nafuda/keymap.c +++ b/keyboards/salicylic_acid3/naked48/keymaps/default_with_nafuda/keymap.c @@ -89,11 +89,11 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { [_ADJUST] = LAYOUT_with_nafuda( /* Base */ //,-----------------------------------------------------| |-----------------------------------------------------. |--------------------------| - _______, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, RGB_RST, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, _______, RGB_VAD, + _______, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, RGB_RST, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, _______, UG_VALD, //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------| |--------+--------+--------| - _______, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, RGB_TOG, RGB_MOD, XXXXXXX,LCA(KC_DEL),LALT(KC_PSCR),KC_PSCR, _ADJUST, RGB_SAD, RGB_VAI, + _______, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, UG_TOGG, UG_NEXT, XXXXXXX,LCA(KC_DEL),LALT(KC_PSCR),KC_PSCR, _ADJUST, UG_SATD, UG_VALU, //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------| |--------+--------+--------| - _______, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, RGB_VAD, RGB_VAI, RGB_HUD, RGB_HUI, RGB_SAD, RGB_SAI, RGB_MOD, RGB_TOG, RGB_SAI, + _______, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, UG_VALD, UG_VALU, UG_HUED, UG_HUEU, UG_SATD, UG_SATU, UG_NEXT, UG_TOGG, UG_SATU, //|--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------| |--------------------------| _______, _______, _______, _______, _______, QK_BOOT, QK_BOOT, _______, _______, _______, _______, _______ //`------------------------------------------------------------------------------------------------------------' @@ -106,7 +106,7 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) { bool result = false; switch (keycode) { #ifdef RGBLIGHT_ENABLE - case RGB_MOD: + case QK_UNDERGLOW_MODE_NEXT: if (record->event.pressed) { rgblight_mode(RGB_current_mode); rgblight_step(); diff --git a/keyboards/salicylic_acid3/naked48/keymaps/default_with_setta21/keymap.c b/keyboards/salicylic_acid3/naked48/keymaps/default_with_setta21/keymap.c index ffe73c8b984..c20e8e2c35a 100644 --- a/keyboards/salicylic_acid3/naked48/keymaps/default_with_setta21/keymap.c +++ b/keyboards/salicylic_acid3/naked48/keymaps/default_with_setta21/keymap.c @@ -69,13 +69,13 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { [_ADJUST] = LAYOUT_with_setta21( /* Base */ //,-----------------------------------------------------| |-----------------------------------------------------. |-----------------------------------------------| - _______, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, RGB_RST, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, _______, _______,RGB_VAD,RGB_HUD,RGB_SAD,XXXXXXX,_______, + _______, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, RGB_RST, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, _______, _______,UG_VALD,UG_HUED,UG_SATD,XXXXXXX,_______, //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------| |-------+-------+-------+-------+-------+-------| - _______, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, RGB_TOG, RGB_MOD, XXXXXXX,LCA(KC_DEL),LALT(KC_PSCR),KC_PSCR, RGB_VAI,RGB_HUI,RGB_SAI,XXXXXXX,_______, + _______, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, UG_TOGG, UG_NEXT, XXXXXXX,LCA(KC_DEL),LALT(KC_PSCR),KC_PSCR, UG_VALU,UG_HUEU,UG_SATU,XXXXXXX,_______, //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------| |-------+-------+-------+-------+-------+-------| - _______, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, RGB_VAD, RGB_VAI, RGB_HUD, RGB_HUI, RGB_SAD, RGB_SAI, _______,XXXXXXX,XXXXXXX,XXXXXXX,XXXXXXX,_______, + _______, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, UG_VALD, UG_VALU, UG_HUED, UG_HUEU, UG_SATD, UG_SATU, _______,XXXXXXX,XXXXXXX,XXXXXXX,XXXXXXX,_______, //|--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------| |---------------+---------------+-------+-------| - _______, _______, _______, _______, _______, QK_BOOT, QK_BOOT, _______, _______, _______, _______, _______, RGB_MOD, RGB_TOG,_______,_______ + _______, _______, _______, _______, _______, QK_BOOT, QK_BOOT, _______, _______, _______, _______, _______, UG_NEXT, UG_TOGG,_______,_______ //`------------------------------------------------------------------------------------------------------------' |-----------------------------------------------| ) }; @@ -110,7 +110,7 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) { } break; #ifdef RGBLIGHT_ENABLE - case RGB_MOD: + case QK_UNDERGLOW_MODE_NEXT: if (record->event.pressed) { rgblight_mode(RGB_current_mode); rgblight_step(); diff --git a/keyboards/salicylic_acid3/naked60/keymaps/default_with_nafuda/keymap.c b/keyboards/salicylic_acid3/naked60/keymaps/default_with_nafuda/keymap.c index 75b6e5971ef..89c44f87a62 100644 --- a/keyboards/salicylic_acid3/naked60/keymaps/default_with_nafuda/keymap.c +++ b/keyboards/salicylic_acid3/naked60/keymaps/default_with_nafuda/keymap.c @@ -109,11 +109,11 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { [_ADJUST] = LAYOUT_with_nafuda( /* Base */ //,-----------------------------------------------------| |-----------------------------------------------------. |--------------------------| - TG(_FLOCK), KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, RGB_VAD, + TG(_FLOCK), KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, UG_VALD, //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------| |--------+--------+--------| - _______, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_BTN1, KC_MS_U, KC_BTN2, XXXXXXX,LALT(KC_PSCR), _ADJUST, RGB_SAD, RGB_VAI, + _______, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_BTN1, KC_MS_U, KC_BTN2, XXXXXXX,LALT(KC_PSCR), _ADJUST, UG_SATD, UG_VALU, //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------| |--------+--------+--------| - _______, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_MS_L, KC_MS_D, KC_MS_R, XXXXXXX, KC_PSCR, RGB_MOD, RGB_TOG, RGB_SAI, + _______, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_MS_L, KC_MS_D, KC_MS_R, XXXXXXX, KC_PSCR, UG_NEXT, UG_TOGG, UG_SATU, //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------| |--------------------------| _______, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,LCA(KC_DEL), //|--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------| @@ -128,7 +128,7 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) { bool result = false; switch (keycode) { #ifdef RGBLIGHT_ENABLE - case RGB_MOD: + case QK_UNDERGLOW_MODE_NEXT: if (record->event.pressed) { rgblight_mode(RGB_current_mode); rgblight_step(); diff --git a/keyboards/salicylic_acid3/naked60/keymaps/default_with_setta21/keymap.c b/keyboards/salicylic_acid3/naked60/keymaps/default_with_setta21/keymap.c index 4dd6d75826c..81c1c635411 100644 --- a/keyboards/salicylic_acid3/naked60/keymaps/default_with_setta21/keymap.c +++ b/keyboards/salicylic_acid3/naked60/keymaps/default_with_setta21/keymap.c @@ -84,13 +84,13 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { [_ADJUST] = LAYOUT_with_setta21( /* Base */ //,-----------------------------------------------------| |-----------------------------------------------------. |-----------------------------------------------| - TG(_FLOCK), KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, _______,RGB_VAD,RGB_HUD,RGB_SAD,XXXXXXX,_______, + TG(_FLOCK), KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, _______,UG_VALD,UG_HUED,UG_SATD,XXXXXXX,_______, //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------| |-------+-------+-------+-------+-------+-------| - _______, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_BTN1, KC_MS_U, KC_BTN2, XXXXXXX,LALT(KC_PSCR), RGB_VAI,RGB_HUI,RGB_SAI,XXXXXXX,_______, + _______, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_BTN1, KC_MS_U, KC_BTN2, XXXXXXX,LALT(KC_PSCR), UG_VALU,UG_HUEU,UG_SATU,XXXXXXX,_______, //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------| |-------+-------+-------+-------+-------+-------| _______, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_MS_L, KC_MS_D, KC_MS_R, XXXXXXX, KC_PSCR, _______,XXXXXXX,XXXXXXX,XXXXXXX,XXXXXXX,_______, //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------| |---------------+---------------+-------+-------| - _______, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,LCA(KC_DEL), RGB_MOD, RGB_TOG,_______,_______, + _______, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,LCA(KC_DEL), UG_NEXT, UG_TOGG,_______,_______, //|--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------| |-----------------------------------------------| _______, _______, _______, _______, _______, QK_BOOT, QK_BOOT, _______, _______, _______, _______, _______ //`------------------------------------------------------------------------------------------------------------' @@ -128,7 +128,7 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) { } break; #ifdef RGBLIGHT_ENABLE - case RGB_MOD: + case QK_UNDERGLOW_MODE_NEXT: if (record->event.pressed) { rgblight_mode(RGB_current_mode); rgblight_step(); diff --git a/keyboards/salicylic_acid3/naked64/keymaps/default/keymap.c b/keyboards/salicylic_acid3/naked64/keymaps/default/keymap.c index 1448f13bc5c..7581f9b5388 100644 --- a/keyboards/salicylic_acid3/naked64/keymaps/default/keymap.c +++ b/keyboards/salicylic_acid3/naked64/keymaps/default/keymap.c @@ -87,9 +87,9 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { //|--------+--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+--------| _______, _______, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, RGB_RST, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, _______, //|--------+--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+--------| - _______, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, RGB_TOG, RGB_MOD, XXXXXXX,LCA(KC_DEL),LALT(KC_PSCR),KC_PSCR,XXXXXXX, + _______, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, UG_TOGG, UG_NEXT, XXXXXXX,LCA(KC_DEL),LALT(KC_PSCR),KC_PSCR,XXXXXXX, // |--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+--------| - _______, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, RGB_VAD, RGB_VAI, RGB_HUD, RGB_HUI, RGB_SAD, RGB_SAI, XXXXXXX, + _______, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, UG_VALD, UG_VALU, UG_HUED, UG_HUEU, UG_SATD, UG_SATU, XXXXXXX, // |--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+--------| _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ //`-----------------------------------------------------------------------------------------------------------------------------------' @@ -128,7 +128,7 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) { bool result = false; switch (keycode) { #ifdef RGBLIGHT_ENABLE - case RGB_MOD: + case QK_UNDERGLOW_MODE_NEXT: if (record->event.pressed) { rgblight_mode(RGB_current_mode); rgblight_step(); diff --git a/keyboards/salicylic_acid3/naked64/keymaps/default_with_setta21/keymap.c b/keyboards/salicylic_acid3/naked64/keymaps/default_with_setta21/keymap.c index f3b8ae68260..5d6251df167 100644 --- a/keyboards/salicylic_acid3/naked64/keymaps/default_with_setta21/keymap.c +++ b/keyboards/salicylic_acid3/naked64/keymaps/default_with_setta21/keymap.c @@ -91,10 +91,10 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { [_ADJUST] = LAYOUT_with_setta21( /* Base */ TG(_FLOCK), QK_BOOT, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, _______, _______, _______, _______, _______, _______, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, RGB_RST, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, _______, XXXXXXX, XXXXXXX, XXXXXXX, _______, - _______, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, RGB_TOG, RGB_MOD, XXXXXXX, LCA(KC_DEL), LALT(KC_PSCR), KC_PSCR, XXXXXXX, RGB_SAD, RGB_SAI, XXXXXXX, - _______, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, RGB_VAD, RGB_VAI, RGB_HUD, RGB_HUI, RGB_SAD, RGB_SAI, XXXXXXX, RGB_HUD, RGB_HUI, XXXXXXX, RGB_TOG, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RGB_VAD, RGB_VAI, XXXXXXX, - _______, _______, RGB_MOD + _______, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, UG_TOGG, UG_NEXT, XXXXXXX, LCA(KC_DEL), LALT(KC_PSCR), KC_PSCR, XXXXXXX, UG_SATD, UG_SATU, XXXXXXX, + _______, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, UG_VALD, UG_VALU, UG_HUED, UG_HUEU, UG_SATD, UG_SATU, XXXXXXX, UG_HUED, UG_HUEU, XXXXXXX, UG_TOGG, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, UG_VALD, UG_VALU, XXXXXXX, + _______, _______, UG_NEXT ) }; @@ -153,7 +153,7 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) { } break; #ifdef RGBLIGHT_ENABLE - case RGB_MOD: + case QK_UNDERGLOW_MODE_NEXT: if (record->event.pressed) { rgblight_mode(RGB_current_mode); rgblight_step(); diff --git a/keyboards/skyloong/gk61/pro/keymaps/default/keymap.c b/keyboards/skyloong/gk61/pro/keymaps/default/keymap.c index 9534f25d80f..be6501fb8f3 100644 --- a/keyboards/skyloong/gk61/pro/keymaps/default/keymap.c +++ b/keyboards/skyloong/gk61/pro/keymaps/default/keymap.c @@ -27,7 +27,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { [1] = 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, _______, - _______, RGB_TOG, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, RM_TOGG, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ @@ -38,7 +38,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { #if defined(ENCODER_MAP_ENABLE) const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][NUM_DIRECTIONS] = { [0] = { ENCODER_CCW_CW(KC_VOLD, KC_VOLU) }, - [1] = { ENCODER_CCW_CW(RGB_HUD, RGB_HUI) } + [1] = { ENCODER_CCW_CW(RM_HUED, RM_HUEU) } }; #endif diff --git a/keyboards/skyloong/gk61/pro/pro.c b/keyboards/skyloong/gk61/pro/pro.c index 49841b2ee5b..2299977e0ef 100644 --- a/keyboards/skyloong/gk61/pro/pro.c +++ b/keyboards/skyloong/gk61/pro/pro.c @@ -91,7 +91,7 @@ bool process_record_kb(uint16_t keycode, keyrecord_t *record) { } switch (keycode) { # ifdef RGB_MATRIX_ENABLE - case RGB_TOG: + case QK_RGB_MATRIX_TOGGLE: if (record->event.pressed) { switch (rgb_matrix_get_flags()) { case LED_FLAG_ALL: { diff --git a/keyboards/skyloong/gk61/pro_48/keymaps/default/keymap.c b/keyboards/skyloong/gk61/pro_48/keymaps/default/keymap.c index 9534f25d80f..be6501fb8f3 100644 --- a/keyboards/skyloong/gk61/pro_48/keymaps/default/keymap.c +++ b/keyboards/skyloong/gk61/pro_48/keymaps/default/keymap.c @@ -27,7 +27,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { [1] = 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, _______, - _______, RGB_TOG, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, RM_TOGG, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ @@ -38,7 +38,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { #if defined(ENCODER_MAP_ENABLE) const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][NUM_DIRECTIONS] = { [0] = { ENCODER_CCW_CW(KC_VOLD, KC_VOLU) }, - [1] = { ENCODER_CCW_CW(RGB_HUD, RGB_HUI) } + [1] = { ENCODER_CCW_CW(RM_HUED, RM_HUEU) } }; #endif diff --git a/keyboards/skyloong/gk61/pro_48/pro_48.c b/keyboards/skyloong/gk61/pro_48/pro_48.c index ff49f5d22f0..6da76a17670 100644 --- a/keyboards/skyloong/gk61/pro_48/pro_48.c +++ b/keyboards/skyloong/gk61/pro_48/pro_48.c @@ -165,7 +165,7 @@ bool process_record_kb(uint16_t keycode, keyrecord_t *record) { } switch (keycode) { # ifdef RGB_MATRIX_ENABLE - case RGB_TOG: + case QK_RGB_MATRIX_TOGGLE: if (record->event.pressed) { switch (rgb_matrix_get_flags()) { case LED_FLAG_ALL: { diff --git a/keyboards/skyloong/qk21/v1/keymaps/default/keymap.c b/keyboards/skyloong/qk21/v1/keymaps/default/keymap.c index 8cb1d200850..50796d2f6e8 100644 --- a/keyboards/skyloong/qk21/v1/keymaps/default/keymap.c +++ b/keyboards/skyloong/qk21/v1/keymaps/default/keymap.c @@ -44,11 +44,11 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { * └───────┴───┘───┘ */ [1] = LAYOUT_numpad_6x4( - QK_BOOT, RGB_MOD, _______, _______, - _______, RGB_HUD, RGB_HUI, RGB_VAD, + QK_BOOT, RM_NEXT, _______, _______, + _______, RM_HUED, RM_HUEU, RM_VALD, KC_HOME, KC_UP, KC_PGUP, - KC_LEFT, RGB_M_SW, KC_RGHT, RGB_VAI, + KC_LEFT, RGB_M_SW, KC_RGHT, RM_VALU, KC_END, KC_DOWN, KC_PGDN, - KC_INS, KC_DEL, RGB_TOG + KC_INS, KC_DEL, RM_TOGG ) }; diff --git a/keyboards/skyloong/qk21/v1/v1.c b/keyboards/skyloong/qk21/v1/v1.c index 9630d3e2233..ae85eaab396 100644 --- a/keyboards/skyloong/qk21/v1/v1.c +++ b/keyboards/skyloong/qk21/v1/v1.c @@ -11,7 +11,7 @@ bool process_record_kb(uint16_t keycode, keyrecord_t *record) { } switch (keycode) { # ifdef RGB_MATRIX_ENABLE - case RGB_TOG: + case QK_RGB_MATRIX_TOGGLE: if (record->event.pressed) { switch (rgb_matrix_get_flags()) { case LED_FLAG_ALL: { diff --git a/keyboards/system76/launch_1/config.h b/keyboards/system76/launch_1/config.h index 7e7fa9be9c3..674dbe75b04 100644 --- a/keyboards/system76/launch_1/config.h +++ b/keyboards/system76/launch_1/config.h @@ -17,8 +17,6 @@ #pragma once -#define RGB_MATRIX_DISABLE_KEYCODES // Disables control of rgb matrix by keycodes (must use code functions to control the feature) - // I2C { #define F_SCL 100000UL // Run I2C bus at 100 kHz #define I2C_START_RETRY_COUNT 20 diff --git a/keyboards/system76/launch_1/keymaps/default/keymap.c b/keyboards/system76/launch_1/keymaps/default/keymap.c index f3dfd3420e7..c44a4b55215 100644 --- a/keyboards/system76/launch_1/keymaps/default/keymap.c +++ b/keyboards/system76/launch_1/keymaps/default/keymap.c @@ -77,7 +77,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { [1] = LAYOUT( QK_BOOT, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_MPLY, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, RGB_TOG, RGB_VAD, RGB_VAI, KC_TRNS, KC_VOLU, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, RM_TOGG, RM_VALD, RM_VALU, KC_TRNS, KC_VOLU, KC_PSCR, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_HOME, KC_PGDN, KC_PGUP, KC_END, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_VOLD, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT, KC_TRNS, KC_TRNS, KC_TRNS, KC_MUTE, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_PGUP, diff --git a/keyboards/system76/launch_1/launch_1.c b/keyboards/system76/launch_1/launch_1.c index dbe697c19db..c9af479bf59 100644 --- a/keyboards/system76/launch_1/launch_1.c +++ b/keyboards/system76/launch_1/launch_1.c @@ -191,7 +191,7 @@ bool process_record_kb(uint16_t keycode, keyrecord_t *record) { #else return true; #endif - case RGB_VAD: + case QK_RGB_MATRIX_VALUE_DOWN: if (record->event.pressed) { uint8_t level = rgb_matrix_config.hsv.v; for (int i = sizeof(levels) - 1; i >= 0; i--) { @@ -203,7 +203,7 @@ bool process_record_kb(uint16_t keycode, keyrecord_t *record) { set_value_all_layers(level); } return false; - case RGB_VAI: + case QK_RGB_MATRIX_VALUE_UP: if (record->event.pressed) { uint8_t level = rgb_matrix_config.hsv.v; for (int i = 0; i < sizeof(levels); i++) { @@ -215,7 +215,7 @@ bool process_record_kb(uint16_t keycode, keyrecord_t *record) { set_value_all_layers(level); } return false; - case RGB_TOG: + case QK_RGB_MATRIX_TOGGLE: if (record->event.pressed) { uint8_t level = 0; if (rgb_matrix_config.hsv.v == 0) { diff --git a/keyboards/tanuki/keymaps/default/keymap.c b/keyboards/tanuki/keymaps/default/keymap.c index 9c60cdc59e6..54e0da444bc 100644 --- a/keyboards/tanuki/keymaps/default/keymap.c +++ b/keyboards/tanuki/keymaps/default/keymap.c @@ -39,8 +39,8 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { [_UL] = LAYOUT( KC_GRV, KC_LBRC, KC_RBRC, KC_LCBR, KC_RCBR, KC_PIPE, KC_BSLS, KC_PLUS, KC_UNDS, KC_MINS, KC_EQL, KC_DEL, KC_TRNS, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, KC_TRNS, - KC_TRNS, CUSTRGB, RGB_TOG, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, RGB_SAD, RGB_VAD, KC_TRNS, KC_TRNS, - KC_TRNS, RGB_MOD, RGB_HUI, KC_TRNS, KC_TRNS, RGB_SAI, RGB_VAI), + KC_TRNS, CUSTRGB, UG_TOGG, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, UG_SATD, UG_VALD, KC_TRNS, KC_TRNS, + KC_TRNS, UG_NEXT, UG_HUEU, KC_TRNS, KC_TRNS, UG_SATU, UG_VALU), [_GL] = LAYOUT( KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_UP, KC_TRNS, KC_TRNS, @@ -96,12 +96,12 @@ bool process_record_user (uint16_t keycode, keyrecord_t *record) { } return false; break; - case RGB_MOD: - case RGB_SAD: - case RGB_SAI: - case RGB_HUI: - case RGB_VAD: - case RGB_VAI: + case QK_UNDERGLOW_MODE_NEXT: + case QK_UNDERGLOW_SATURATION_DOWN: + case QK_UNDERGLOW_SATURATION_UP: + case QK_UNDERGLOW_HUE_UP: + case QK_UNDERGLOW_VALUE_DOWN: + case QK_UNDERGLOW_VALUE_UP: if(user_config.layer_rgb && record->event.pressed) { return false; // if layer RGB is on, ignore attempts to change RGB settings } diff --git a/keyboards/tetris/keymaps/default/keymap.c b/keyboards/tetris/keymaps/default/keymap.c index 041d9286100..f68704fe376 100755 --- a/keyboards/tetris/keymaps/default/keymap.c +++ b/keyboards/tetris/keymaps/default/keymap.c @@ -139,7 +139,7 @@ void matrix_scan_user(void) { bool process_record_user(uint16_t keycode, keyrecord_t * record) { switch (keycode) { - case RGB_MOD: + case QK_UNDERGLOW_MODE_NEXT: RGB_LAYER0_mode = rgblight_config.mode; break; default: diff --git a/keyboards/woodkeys/meira/keymaps/default/keymap.c b/keyboards/woodkeys/meira/keymaps/default/keymap.c index 03f5ad34067..cbc4aa05aef 100644 --- a/keyboards/woodkeys/meira/keymaps/default/keymap.c +++ b/keyboards/woodkeys/meira/keymaps/default/keymap.c @@ -157,7 +157,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { */ [_ADJUST] = LAYOUT( BL_TOGG, QK_BOOT, _______, KC_MRWD, KC_MPLY, KC_MFFD, KC_PSCR, _______, KC_MUTE, KC_VOLD, KC_VOLU, KC_DEL, - BL_STEP, RGB_MOD, _______, AU_ON, AU_OFF, AG_NORM, AG_SWAP, QWERTY, COLEMAK, DVORAK, _______, _______, + BL_STEP, UG_NEXT, _______, AU_ON, AU_OFF, AG_NORM, AG_SWAP, QWERTY, COLEMAK, DVORAK, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_PSCR, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ ) @@ -277,7 +277,7 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) { break; // led operations - RGB mode change now updates the RGB_current_mode to allow the right RGB mode to be set after reactive keys are released #ifdef RGBLIGHT_ENABLE - case RGB_MOD: + case QK_UNDERGLOW_MODE_NEXT: if (record->event.pressed) { rgblight_mode(RGB_current_mode); rgblight_step(); diff --git a/keyboards/woodkeys/scarletbandana/keymaps/default/keymap.c b/keyboards/woodkeys/scarletbandana/keymaps/default/keymap.c index 9a96fd6f51d..1cebaab0edf 100644 --- a/keyboards/woodkeys/scarletbandana/keymaps/default/keymap.c +++ b/keyboards/woodkeys/scarletbandana/keymaps/default/keymap.c @@ -51,14 +51,14 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_F9, KC_F10, KC_LCTL,KC_LGUI,KC_LALT, RAISE, KC_SPACE, LOWER, KC_RALT,KC_APP,KC_RCTL,KC_LEFT,KC_DOWN,KC_RIGHT), [_RAISE] = LAYOUT_65_xt_ansi_split_space_split_bs( - RGB_MOD, _______, _______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______, _______, _______, + UG_NEXT, _______, _______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______, _______, _______, _______, _______, _______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______, _______, _______, _______, _______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______, _______, _______, _______, _______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______, _______, _______, _______,_______,_______, _______, _______, _______, _______,_______,_______,_______,_______,_______), [_LOWER] = LAYOUT_65_xt_ansi_split_space_split_bs( - RGB_MOD, _______, _______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______, _______, _______, + UG_NEXT, _______, _______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______, _______, _______, _______, _______, _______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______, _______, _______, _______, _______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______, _______, _______, _______, _______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______, @@ -149,7 +149,7 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) { break; //led operations - RGB mode change now updates the RGB_current_mode to allow the right RGB mode to be set after reactive keys are released #ifdef RGBLIGHT_ENABLE - case RGB_MOD: + case QK_UNDERGLOW_MODE_NEXT: if (record->event.pressed) { rgblight_mode(RGB_current_mode); rgblight_step(); diff --git a/keyboards/work_louder/loop/config.h b/keyboards/work_louder/loop/config.h index 25d390cecf3..b883b0ff578 100644 --- a/keyboards/work_louder/loop/config.h +++ b/keyboards/work_louder/loop/config.h @@ -18,21 +18,3 @@ along with this program. If not, see . #pragma once #define RGBLIGHT_DI_PIN E6 - -#define RGB_MATRIX_DISABLE_KEYCODES - -/* - * Feature disable options - * These options are also useful to firmware size reduction. - */ - -/* disable debug print */ -//#define NO_DEBUG - -/* disable print */ -//#define NO_PRINT - -/* disable action features */ -//#define NO_ACTION_LAYER -//#define NO_ACTION_TAPPING -//#define NO_ACTION_ONESHOT diff --git a/keyboards/work_louder/loop/keymaps/default/keymap.c b/keyboards/work_louder/loop/keymaps/default/keymap.c index 80acd57e4a7..10b34e24c0c 100644 --- a/keyboards/work_louder/loop/keymaps/default/keymap.c +++ b/keyboards/work_louder/loop/keymaps/default/keymap.c @@ -18,13 +18,13 @@ // clang-format off const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { [0] = LAYOUT( - KC_MUTE, KC_MPLY, R_M_TOG, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, MO(1) + KC_MUTE, KC_MPLY, RM_TOGG, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, MO(1) ), [1] = LAYOUT( - QK_BOOT, _______, RGB_TOG, RGB_MOD, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, MO(2), _______ + QK_BOOT, _______, UG_TOGG, UG_NEXT, UG_HUEU, UG_HUED, UG_SATU, UG_SATD, UG_VALU, UG_VALD, MO(2), _______ ), [2] = LAYOUT( - QK_BOOT, _______, R_M_TOG, R_M_MOD, R_M_HUI, R_M_HUD, R_M_SAI, R_M_SAD, R_M_VAI, R_M_VAD, _______, _______ + QK_BOOT, _______, RM_TOGG, RM_NEXT, RM_HUEU, RM_HUED, RM_SATU, RM_SATD, RM_VALU, RM_VALD, _______, _______ ) }; // clang-format on diff --git a/keyboards/work_louder/loop/loop.c b/keyboards/work_louder/loop/loop.c index 6b4af7fcb6e..7880584d09c 100644 --- a/keyboards/work_louder/loop/loop.c +++ b/keyboards/work_louder/loop/loop.c @@ -14,7 +14,7 @@ * along with this program. If not, see . */ -#include "loop.h" +#include "quantum.h" #if defined(ENCODER_ENABLE) bool encoder_update_kb(uint8_t index, bool clockwise) { diff --git a/keyboards/work_louder/loop/loop.h b/keyboards/work_louder/loop/loop.h deleted file mode 100644 index b2cb2410fc0..00000000000 --- a/keyboards/work_louder/loop/loop.h +++ /dev/null @@ -1,20 +0,0 @@ -/* Copyright 2021 Work Louder - * - * 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 - -#include "quantum.h" -#include "rgb_functions.h" diff --git a/keyboards/work_louder/micro/config.h b/keyboards/work_louder/micro/config.h index 733b226f695..b9f2d8d87dc 100644 --- a/keyboards/work_louder/micro/config.h +++ b/keyboards/work_louder/micro/config.h @@ -3,22 +3,9 @@ #pragma once -#define RGB_MATRIX_DISABLE_KEYCODES - #define RGBLIGHT_DI_PIN D2 #define RGBLIGHT_DEFAULT_MODE RGBLIGHT_MODE_STATIC_GRADIENT + 9 -/* disable debug print */ -//#define NO_DEBUG - -/* disable print */ -//#define NO_PRINT - -/* disable action features */ -//#define NO_ACTION_LAYER -//#define NO_ACTION_TAPPING -//#define NO_ACTION_ONESHOT - #define WORK_LOUDER_LED_PIN_1 B6 #define WORK_LOUDER_LED_PIN_2 B7 #define WORK_LOUDER_LED_PIN_3 B5 diff --git a/keyboards/work_louder/nano/config.h b/keyboards/work_louder/nano/config.h index e50f6a7e431..2372f371b99 100644 --- a/keyboards/work_louder/nano/config.h +++ b/keyboards/work_louder/nano/config.h @@ -18,21 +18,3 @@ along with this program. If not, see . #pragma once #define RGBLIGHT_DI_PIN C7 - -#define RGB_MATRIX_DISABLE_KEYCODES - -/* - * Feature disable options - * These options are also useful to firmware size reduction. - */ - -/* disable debug print */ -//#define NO_DEBUG - -/* disable print */ -//#define NO_PRINT - -/* disable action features */ -//#define NO_ACTION_LAYER -//#define NO_ACTION_TAPPING -//#define NO_ACTION_ONESHOT diff --git a/keyboards/work_louder/nano/nano.c b/keyboards/work_louder/nano/nano.c index 96b633aa799..28db78e46de 100644 --- a/keyboards/work_louder/nano/nano.c +++ b/keyboards/work_louder/nano/nano.c @@ -14,7 +14,7 @@ * along with this program. If not, see . */ -#include "nano.h" +#include "quantum.h" #if defined(ENCODER_ENABLE) bool encoder_update_kb(uint8_t index, bool clockwise) { diff --git a/keyboards/work_louder/nano/nano.h b/keyboards/work_louder/nano/nano.h deleted file mode 100644 index 04de456eca0..00000000000 --- a/keyboards/work_louder/nano/nano.h +++ /dev/null @@ -1,20 +0,0 @@ -/* Copyright 2021 Drashna Jael're - * - * 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 - -#include "quantum.h" -#include "rgb_functions.h" diff --git a/keyboards/work_louder/numpad/config.h b/keyboards/work_louder/numpad/config.h index f7d00396534..cfc27d36124 100644 --- a/keyboards/work_louder/numpad/config.h +++ b/keyboards/work_louder/numpad/config.h @@ -3,23 +3,5 @@ #pragma once -/* - * Feature disable options - * These options are also useful to firmware size reduction. - */ - -/* disable debug print */ -//#define NO_DEBUG - -/* disable print */ -//#define NO_PRINT - -/* disable action features */ -//#define NO_ACTION_LAYER -//#define NO_ACTION_TAPPING -//#define NO_ACTION_ONESHOT - -#define RGB_MATRIX_DISABLE_KEYCODES - #define RGBLIGHT_DI_PIN D2 #define RGBLIGHT_DEFAULT_MODE RGBLIGHT_MODE_STATIC_GRADIENT + 9 diff --git a/keyboards/work_louder/rgb_functions.c b/keyboards/work_louder/rgb_functions.c index fb99c0b0086..15d0f432a08 100644 --- a/keyboards/work_louder/rgb_functions.c +++ b/keyboards/work_louder/rgb_functions.c @@ -14,10 +14,6 @@ * along with this program. If not, see . */ -#include "rgb_functions.h" -#include -#include "quantum.h" -#include "action.h" #include "rgblight.h" #include "rgb_matrix.h" @@ -39,44 +35,3 @@ const rgblight_driver_t rgblight_driver = { .flush = ws2812_flush, }; #endif - -#ifdef RGB_MATRIX_ENABLE -bool process_record_kb(uint16_t keycode, keyrecord_t *record) { - if (!process_record_user(keycode, record)) { return false; } - - if (record->event.pressed) { - switch(keycode) { - case RGB_MATRIX_TOGGLE: // toggle rgb matrix - rgb_matrix_toggle(); - return false; - case RGB_MATRIX_MODE_INC: - rgb_matrix_step(); - return false; - case RGB_MATRIX_MODE_DEC: - rgb_matrix_step_reverse(); - return false; - case RGB_MATRIX_HUE_INC: - rgb_matrix_increase_hue(); - return false; - case RGB_MATRIX_HUE_DEC: - rgb_matrix_decrease_hue(); - return false; - case RGB_MATRIX_SAT_INC: - rgb_matrix_increase_sat(); - return false; - case RGB_MATRIX_SAT_DEC: - rgb_matrix_decrease_sat(); - return false; - case RGB_MATRIX_VAL_INC: - rgb_matrix_increase_val(); - return false; - case RGB_MATRIX_VAL_DEC: - rgb_matrix_decrease_val(); - return false; - default: - break; - } - } - return true; -} -#endif diff --git a/keyboards/work_louder/rgb_functions.h b/keyboards/work_louder/rgb_functions.h deleted file mode 100644 index 20c99021fb0..00000000000 --- a/keyboards/work_louder/rgb_functions.h +++ /dev/null @@ -1,57 +0,0 @@ -/* Copyright 2020 Neil Brian Ramirez - * - * 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 "keycodes.h" - -#ifndef RGB_MATRIX_TOGGLE -# define RGB_MATRIX_TOGGLE QK_KB_0 -#endif -#ifndef RGB_MATRIX_MODE_INC -# define RGB_MATRIX_MODE_INC QK_KB_1 -#endif -#ifndef RGB_MATRIX_MODE_DEC -# define RGB_MATRIX_MODE_DEC QK_KB_2 -#endif -#ifndef RGB_MATRIX_HUE_INC -# define RGB_MATRIX_HUE_INC QK_KB_3 -#endif -#ifndef RGB_MATRIX_HUE_DEC -# define RGB_MATRIX_HUE_DEC QK_KB_4 -#endif -#ifndef RGB_MATRIX_SAT_INC -# define RGB_MATRIX_SAT_INC QK_KB_5 -#endif -#ifndef RGB_MATRIX_SAT_DEC -# define RGB_MATRIX_SAT_DEC QK_KB_6 -#endif -#ifndef RGB_MATRIX_VAL_INC -# define RGB_MATRIX_VAL_INC QK_KB_7 -#endif -#ifndef RGB_MATRIX_VAL_DEC -# define RGB_MATRIX_VAL_DEC QK_KB_8 -#endif - -#define R_M_TOG RGB_MATRIX_TOGGLE -#define R_M_MOD RGB_MATRIX_MODE_INC -#define R_M_RMOD RGB_MATRIX_MODE_DEC -#define R_M_HUI RGB_MATRIX_HUE_INC -#define R_M_HUD RGB_MATRIX_HUE_DEC -#define R_M_SAI RGB_MATRIX_SAT_INC -#define R_M_SAD RGB_MATRIX_SAT_DEC -#define R_M_VAI RGB_MATRIX_VAL_INC -#define R_M_VAD RGB_MATRIX_VAL_DEC diff --git a/keyboards/work_louder/work_board/config.h b/keyboards/work_louder/work_board/config.h index a643cd767dd..6688711bbbc 100644 --- a/keyboards/work_louder/work_board/config.h +++ b/keyboards/work_louder/work_board/config.h @@ -20,5 +20,3 @@ along with this program. If not, see . #define RGBLIGHT_DI_PIN D2 #define RGBLIGHT_DEFAULT_MODE RGBLIGHT_MODE_STATIC_GRADIENT + 9 - -#define RGB_MATRIX_DISABLE_KEYCODES diff --git a/keyboards/work_louder/work_board/keymaps/default/keymap.c b/keyboards/work_louder/work_board/keymaps/default/keymap.c index e55cd5c5987..a1e48867286 100644 --- a/keyboards/work_louder/work_board/keymaps/default/keymap.c +++ b/keyboards/work_louder/work_board/keymaps/default/keymap.c @@ -50,8 +50,8 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { ), [_ADJUST] = LAYOUT( - _______, QK_BOOT, _______, RGB_TOG, RGB_MOD, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, KC_DEL , R_M_TOG, - _______, _______, MU_NEXT, R_M_TOG, R_M_MOD, R_M_HUI, R_M_HUD, R_M_SAI, R_M_SAD, R_M_VAI, R_M_VAD, _______, + _______, QK_BOOT, _______, UG_TOGG, UG_NEXT, UG_HUEU, UG_HUED, UG_SATU, UG_SATD, UG_VALU, UG_VALD, KC_DEL , RM_TOGG, + _______, _______, MU_NEXT, RM_TOGG, RM_NEXT, RM_HUEU, RM_HUED, RM_SATU, RM_SATD, RM_VALU, RM_VALD, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ ) diff --git a/keyboards/work_louder/work_board/work_board.c b/keyboards/work_louder/work_board/work_board.c index b34f31df5cf..2c45c7a7c95 100644 --- a/keyboards/work_louder/work_board/work_board.c +++ b/keyboards/work_louder/work_board/work_board.c @@ -14,7 +14,7 @@ * along with this program. If not, see . */ -#include "work_board.h" +#include "quantum.h" #ifdef OLED_ENABLE # ifdef RGB_MATRIX_ENABLE diff --git a/keyboards/work_louder/work_board/work_board.h b/keyboards/work_louder/work_board/work_board.h deleted file mode 100644 index 04de456eca0..00000000000 --- a/keyboards/work_louder/work_board/work_board.h +++ /dev/null @@ -1,20 +0,0 @@ -/* Copyright 2021 Drashna Jael're - * - * 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 - -#include "quantum.h" -#include "rgb_functions.h" diff --git a/keyboards/xiudi/xd002/keymaps/rgb_lite/keymap.c b/keyboards/xiudi/xd002/keymaps/rgb_lite/keymap.c index aac4dc6fde1..96595b1e2f5 100644 --- a/keyboards/xiudi/xd002/keymaps/rgb_lite/keymap.c +++ b/keyboards/xiudi/xd002/keymaps/rgb_lite/keymap.c @@ -8,14 +8,14 @@ enum custom_keycodes { const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { [0] = LAYOUT( - RGB_HUI, QMKURL + UG_HUEU, QMKURL ) }; bool process_record_user(uint16_t keycode, keyrecord_t *record) { if (record->event.pressed) { switch (keycode) { - case RGB_HUI: + case QK_UNDERGLOW_HUE_UP: rgblite_increase_hue(); break; case QMKURL: diff --git a/keyboards/yosino58/keymaps/default/keymap.c b/keyboards/yosino58/keymaps/default/keymap.c index 88320c2898c..ff1f8ca5d4b 100644 --- a/keyboards/yosino58/keymaps/default/keymap.c +++ b/keyboards/yosino58/keymaps/default/keymap.c @@ -106,8 +106,8 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { [_ADJUST] = LAYOUT( QK_BOOT, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_MUTE, KC_VOLU, KC_MPLY, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_PSCR, KC_SCRL, KC_PAUS, KC_MPRV, KC_VOLD, KC_MNXT, XXXXXXX, XXXXXXX, XXXXXXX, - XXXXXXX, XXXXXXX, XXXXXXX, KC_INS, KC_HOME, KC_PGUP, XXXXXXX, XXXXXXX, RGB_TOG, RGB_HUI, RGB_SAI, RGB_VAI, - XXXXXXX, XXXXXXX, XXXXXXX, KC_DEL, KC_END, KC_PGDN, XXXXXXX, _______, _______, XXXXXXX, XXXXXXX, RGBRST, RGB_MOD, RGB_HUD, RGB_SAD, RGB_VAD, + XXXXXXX, XXXXXXX, XXXXXXX, KC_INS, KC_HOME, KC_PGUP, XXXXXXX, XXXXXXX, UG_TOGG, UG_HUEU, UG_SATU, UG_VALU, + XXXXXXX, XXXXXXX, XXXXXXX, KC_DEL, KC_END, KC_PGDN, XXXXXXX, _______, _______, XXXXXXX, XXXXXXX, RGBRST, UG_NEXT, UG_HUED, UG_SATD, UG_VALD, XXXXXXX, _______, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX ) }; @@ -265,7 +265,7 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) { } return false; break; - case RGB_MOD: + case QK_UNDERGLOW_MODE_NEXT: #ifdef RGBLIGHT_ENABLE if (record->event.pressed) { rgblight_mode(RGB_current_mode); diff --git a/keyboards/zsa/moonlander/keymaps/default/keymap.c b/keyboards/zsa/moonlander/keymaps/default/keymap.c index ad7705eff83..338e8e4f97f 100644 --- a/keyboards/zsa/moonlander/keymaps/default/keymap.c +++ b/keyboards/zsa/moonlander/keymaps/default/keymap.c @@ -47,8 +47,8 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { _______, KC_EXLM, KC_AT, KC_LCBR, KC_RCBR, KC_PIPE, _______, _______, KC_UP, KC_7, KC_8, KC_9, KC_ASTR, KC_F12, _______, KC_HASH, KC_DLR, KC_LPRN, KC_RPRN, KC_GRV, _______, _______, KC_DOWN, KC_4, KC_5, KC_6, KC_PLUS, _______, _______, KC_PERC, KC_CIRC, KC_LBRC, KC_RBRC, KC_TILD, KC_AMPR, KC_1, KC_2, KC_3, KC_BSLS, _______, - EE_CLR, _______, _______, _______, _______, RGB_VAI, RGB_TOG, _______, KC_DOT, KC_0, KC_EQL, _______, - RGB_HUD, RGB_VAD, RGB_HUI, TOGGLE_LAYER_COLOR,_______, _______ + EE_CLR, _______, _______, _______, _______, RM_VALU, RM_TOGG, _______, KC_DOT, KC_0, KC_EQL, _______, + RM_HUED, RM_VALD, RM_HUEU, TOGGLE_LAYER_COLOR,_______, _______ ), [MDIA] = LAYOUT( diff --git a/keyboards/zsa/moonlander/moonlander.c b/keyboards/zsa/moonlander/moonlander.c index faa1dc75e82..41b83fd9d09 100644 --- a/keyboards/zsa/moonlander/moonlander.c +++ b/keyboards/zsa/moonlander/moonlander.c @@ -368,7 +368,7 @@ bool process_record_kb(uint16_t keycode, keyrecord_t *record) { eeconfig_update_kb(keyboard_config.raw); } break; - case RGB_TOG: + case QK_RGB_MATRIX_TOGGLE: if (record->event.pressed) { switch (rgb_matrix_get_flags()) { case LED_FLAG_ALL: { diff --git a/keyboards/zsa/planck_ez/planck_ez.c b/keyboards/zsa/planck_ez/planck_ez.c index 9c0e911654e..a3f6c7362ed 100644 --- a/keyboards/zsa/planck_ez/planck_ez.c +++ b/keyboards/zsa/planck_ez/planck_ez.c @@ -206,7 +206,7 @@ bool process_record_kb(uint16_t keycode, keyrecord_t *record) { eeconfig_update_kb(keyboard_config.raw); } break; - case RGB_TOG: + case QK_RGB_MATRIX_TOGGLE: if (record->event.pressed) { switch (rgb_matrix_get_flags()) { case LED_FLAG_ALL: { diff --git a/keyboards/zsa/voyager/keymaps/default/keymap.c b/keyboards/zsa/voyager/keymaps/default/keymap.c index e05794de756..3004c332226 100644 --- a/keyboards/zsa/voyager/keymaps/default/keymap.c +++ b/keyboards/zsa/voyager/keymaps/default/keymap.c @@ -20,7 +20,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { _______, _______, _______, KC_0 ), [2] = LAYOUT( - RGB_TOG, QK_KB, RGB_MOD, RGB_M_P, RGB_VAD, RGB_VAI, _______, _______, _______, _______, _______, QK_BOOT, + RM_TOGG, QK_KB, RM_NEXT, RGB_M_P, RM_VALD, RM_VALU, _______, _______, _______, _______, _______, QK_BOOT, _______, _______, KC_VOLD, KC_VOLU, KC_MUTE, _______, KC_PGUP, KC_HOME, KC_UP, KC_END, _______, _______, _______, KC_MPRV, KC_MNXT, KC_MSTP, KC_MPLY, _______, KC_PGDN, KC_LEFT, KC_DOWN, KC_RGHT, _______, _______, _______, _______, _______, _______, _______, _______, _______, C(S(KC_TAB)), C(KC_TAB), _______, _______, _______, diff --git a/keyboards/zsa/voyager/voyager.c b/keyboards/zsa/voyager/voyager.c index 69d42bba1a3..6d4f6c5f26a 100644 --- a/keyboards/zsa/voyager/voyager.c +++ b/keyboards/zsa/voyager/voyager.c @@ -249,7 +249,7 @@ bool process_record_kb(uint16_t keycode, keyrecord_t *record) { if (keyboard_config.disable_layer_led) rgb_matrix_set_color_all(0, 0, 0); } break; - case RGB_TOG: + case QK_RGB_MATRIX_TOGGLE: if (record->event.pressed) { switch (rgb_matrix_get_flags()) { case LED_FLAG_ALL: { diff --git a/quantum/process_keycode/process_rgb.c b/quantum/process_keycode/process_rgb.c deleted file mode 100644 index b113d1c1e7f..00000000000 --- a/quantum/process_keycode/process_rgb.c +++ /dev/null @@ -1,226 +0,0 @@ -/* Copyright 2019 - * - * 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 "process_rgb.h" -#include "action_util.h" - -#ifdef RGB_MATRIX_ENABLE -# include "rgb_matrix.h" -#endif -#ifdef RGBLIGHT_ENABLE -# include "rgblight.h" -#endif - -typedef void (*rgb_func_pointer)(void); - -/** - * Wrapper for inc/dec rgb keycode - * - * noinline to optimise for firmware size not speed (not in hot path) - */ -#if (defined(RGBLIGHT_ENABLE) && !defined(RGBLIGHT_DISABLE_KEYCODES)) || (defined(RGB_MATRIX_ENABLE) && !defined(RGB_MATRIX_DISABLE_KEYCODES)) -static void __attribute__((noinline)) handleKeycodeRGB(const uint8_t is_shifted, const rgb_func_pointer inc_func, const rgb_func_pointer dec_func) { - if (is_shifted) { - dec_func(); - } else { - inc_func(); - } -} -#endif - -/** - * Wrapper for animation mode - * - if not in animation family -> jump to that animation - * - otherwise -> wrap round animation speed - * - * noinline to optimise for firmware size not speed (not in hot path) - */ -static void __attribute__((noinline, unused)) handleKeycodeRGBMode(const uint8_t start, const uint8_t end) { - if ((start <= rgblight_get_mode()) && (rgblight_get_mode() < end)) { - rgblight_step(); - } else { - rgblight_mode(start); - } -} - -/** - * Handle keycodes for both rgblight and rgbmatrix - */ -bool process_rgb(const uint16_t keycode, const keyrecord_t *record) { - // need to trigger on key-up for edge-case issue -#ifndef RGB_TRIGGER_ON_KEYDOWN - if (!record->event.pressed) { -#else - if (record->event.pressed) { -#endif -#if (defined(RGBLIGHT_ENABLE) && !defined(RGBLIGHT_DISABLE_KEYCODES)) || (defined(RGB_MATRIX_ENABLE) && !defined(RGB_MATRIX_DISABLE_KEYCODES)) - uint8_t shifted = get_mods() & MOD_MASK_SHIFT; -#endif - switch (keycode) { - case QK_UNDERGLOW_TOGGLE: -#if defined(RGBLIGHT_ENABLE) && !defined(RGBLIGHT_DISABLE_KEYCODES) - rgblight_toggle(); -#endif -#if defined(RGB_MATRIX_ENABLE) && !defined(RGB_MATRIX_DISABLE_KEYCODES) - rgb_matrix_toggle(); -#endif - return false; - case QK_UNDERGLOW_MODE_NEXT: -#if defined(RGBLIGHT_ENABLE) && !defined(RGBLIGHT_DISABLE_KEYCODES) - handleKeycodeRGB(shifted, rgblight_step, rgblight_step_reverse); -#endif -#if defined(RGB_MATRIX_ENABLE) && !defined(RGB_MATRIX_DISABLE_KEYCODES) - handleKeycodeRGB(shifted, rgb_matrix_step, rgb_matrix_step_reverse); -#endif - return false; - case QK_UNDERGLOW_MODE_PREVIOUS: -#if defined(RGBLIGHT_ENABLE) && !defined(RGBLIGHT_DISABLE_KEYCODES) - handleKeycodeRGB(shifted, rgblight_step_reverse, rgblight_step); -#endif -#if defined(RGB_MATRIX_ENABLE) && !defined(RGB_MATRIX_DISABLE_KEYCODES) - handleKeycodeRGB(shifted, rgb_matrix_step_reverse, rgb_matrix_step); -#endif - return false; - case QK_UNDERGLOW_HUE_UP: -#if defined(RGBLIGHT_ENABLE) && !defined(RGBLIGHT_DISABLE_KEYCODES) - handleKeycodeRGB(shifted, rgblight_increase_hue, rgblight_decrease_hue); -#endif -#if defined(RGB_MATRIX_ENABLE) && !defined(RGB_MATRIX_DISABLE_KEYCODES) - handleKeycodeRGB(shifted, rgb_matrix_increase_hue, rgb_matrix_decrease_hue); -#endif - return false; - case QK_UNDERGLOW_HUE_DOWN: -#if defined(RGBLIGHT_ENABLE) && !defined(RGBLIGHT_DISABLE_KEYCODES) - handleKeycodeRGB(shifted, rgblight_decrease_hue, rgblight_increase_hue); -#endif -#if defined(RGB_MATRIX_ENABLE) && !defined(RGB_MATRIX_DISABLE_KEYCODES) - handleKeycodeRGB(shifted, rgb_matrix_decrease_hue, rgb_matrix_increase_hue); -#endif - return false; - case QK_UNDERGLOW_SATURATION_UP: -#if defined(RGBLIGHT_ENABLE) && !defined(RGBLIGHT_DISABLE_KEYCODES) - handleKeycodeRGB(shifted, rgblight_increase_sat, rgblight_decrease_sat); -#endif -#if defined(RGB_MATRIX_ENABLE) && !defined(RGB_MATRIX_DISABLE_KEYCODES) - handleKeycodeRGB(shifted, rgb_matrix_increase_sat, rgb_matrix_decrease_sat); -#endif - return false; - case QK_UNDERGLOW_SATURATION_DOWN: -#if defined(RGBLIGHT_ENABLE) && !defined(RGBLIGHT_DISABLE_KEYCODES) - handleKeycodeRGB(shifted, rgblight_decrease_sat, rgblight_increase_sat); -#endif -#if defined(RGB_MATRIX_ENABLE) && !defined(RGB_MATRIX_DISABLE_KEYCODES) - handleKeycodeRGB(shifted, rgb_matrix_decrease_sat, rgb_matrix_increase_sat); -#endif - return false; - case QK_UNDERGLOW_VALUE_UP: -#if defined(RGBLIGHT_ENABLE) && !defined(RGBLIGHT_DISABLE_KEYCODES) - handleKeycodeRGB(shifted, rgblight_increase_val, rgblight_decrease_val); -#endif -#if defined(RGB_MATRIX_ENABLE) && !defined(RGB_MATRIX_DISABLE_KEYCODES) - handleKeycodeRGB(shifted, rgb_matrix_increase_val, rgb_matrix_decrease_val); -#endif - return false; - case QK_UNDERGLOW_VALUE_DOWN: -#if defined(RGBLIGHT_ENABLE) && !defined(RGBLIGHT_DISABLE_KEYCODES) - handleKeycodeRGB(shifted, rgblight_decrease_val, rgblight_increase_val); -#endif -#if defined(RGB_MATRIX_ENABLE) && !defined(RGB_MATRIX_DISABLE_KEYCODES) - handleKeycodeRGB(shifted, rgb_matrix_decrease_val, rgb_matrix_increase_val); -#endif - return false; - case QK_UNDERGLOW_SPEED_UP: -#if defined(RGBLIGHT_ENABLE) && !defined(RGBLIGHT_DISABLE_KEYCODES) - handleKeycodeRGB(shifted, rgblight_increase_speed, rgblight_decrease_speed); -#endif -#if defined(RGB_MATRIX_ENABLE) && !defined(RGB_MATRIX_DISABLE_KEYCODES) - handleKeycodeRGB(shifted, rgb_matrix_increase_speed, rgb_matrix_decrease_speed); -#endif - return false; - case QK_UNDERGLOW_SPEED_DOWN: -#if defined(RGBLIGHT_ENABLE) && !defined(RGBLIGHT_DISABLE_KEYCODES) - handleKeycodeRGB(shifted, rgblight_decrease_speed, rgblight_increase_speed); -#endif -#if defined(RGB_MATRIX_ENABLE) && !defined(RGB_MATRIX_DISABLE_KEYCODES) - handleKeycodeRGB(shifted, rgb_matrix_decrease_speed, rgb_matrix_increase_speed); -#endif - return false; - case RGB_MODE_PLAIN: -#if defined(RGBLIGHT_ENABLE) && !defined(RGBLIGHT_DISABLE_KEYCODES) - rgblight_mode(RGBLIGHT_MODE_STATIC_LIGHT); -#endif -#if defined(RGB_MATRIX_ENABLE) && !defined(RGB_MATRIX_DISABLE_KEYCODES) - rgb_matrix_mode(RGB_MATRIX_SOLID_COLOR); -#endif - return false; - case RGB_MODE_BREATHE: -#if defined(RGBLIGHT_ENABLE) && !defined(RGBLIGHT_DISABLE_KEYCODES) && defined(RGBLIGHT_EFFECT_BREATHING) - handleKeycodeRGBMode(RGBLIGHT_MODE_BREATHING, RGBLIGHT_MODE_BREATHING_end); -#endif -#if defined(RGB_MATRIX_ENABLE) && !defined(RGB_MATRIX_DISABLE_KEYCODES) && defined(ENABLE_RGB_MATRIX_BREATHING) - rgb_matrix_mode(RGB_MATRIX_BREATHING); -#endif - return false; - case RGB_MODE_RAINBOW: -#if defined(RGBLIGHT_ENABLE) && !defined(RGBLIGHT_DISABLE_KEYCODES) && defined(RGBLIGHT_EFFECT_RAINBOW_MOOD) - handleKeycodeRGBMode(RGBLIGHT_MODE_RAINBOW_MOOD, RGBLIGHT_MODE_RAINBOW_MOOD_end); -#endif -#if defined(RGB_MATRIX_ENABLE) && !defined(RGB_MATRIX_DISABLE_KEYCODES) && defined(ENABLE_RGB_MATRIX_CYCLE_LEFT_RIGHT) - rgb_matrix_mode(RGB_MATRIX_CYCLE_LEFT_RIGHT); -#endif - return false; - case RGB_MODE_SWIRL: -#if defined(RGBLIGHT_ENABLE) && !defined(RGBLIGHT_DISABLE_KEYCODES) && defined(RGBLIGHT_EFFECT_RAINBOW_SWIRL) - handleKeycodeRGBMode(RGBLIGHT_MODE_RAINBOW_SWIRL, RGBLIGHT_MODE_RAINBOW_SWIRL_end); -#endif -#if defined(RGB_MATRIX_ENABLE) && !defined(RGB_MATRIX_DISABLE_KEYCODES) && defined(ENABLE_RGB_MATRIX_CYCLE_PINWHEEL) - rgb_matrix_mode(RGB_MATRIX_CYCLE_PINWHEEL); -#endif - return false; - case RGB_MODE_SNAKE: -#if defined(RGBLIGHT_ENABLE) && !defined(RGBLIGHT_DISABLE_KEYCODES) && defined(RGBLIGHT_EFFECT_SNAKE) - handleKeycodeRGBMode(RGBLIGHT_MODE_SNAKE, RGBLIGHT_MODE_SNAKE_end); -#endif - return false; - case RGB_MODE_KNIGHT: -#if defined(RGBLIGHT_ENABLE) && !defined(RGBLIGHT_DISABLE_KEYCODES) && defined(RGBLIGHT_EFFECT_KNIGHT) - handleKeycodeRGBMode(RGBLIGHT_MODE_KNIGHT, RGBLIGHT_MODE_KNIGHT_end); -#endif - return false; - case RGB_MODE_XMAS: -#if defined(RGBLIGHT_ENABLE) && !defined(RGBLIGHT_DISABLE_KEYCODES) && defined(RGBLIGHT_EFFECT_CHRISTMAS) - rgblight_mode(RGBLIGHT_MODE_CHRISTMAS); -#endif - return false; - case RGB_MODE_GRADIENT: -#if defined(RGBLIGHT_ENABLE) && !defined(RGBLIGHT_DISABLE_KEYCODES) && defined(RGBLIGHT_EFFECT_STATIC_GRADIENT) - handleKeycodeRGBMode(RGBLIGHT_MODE_STATIC_GRADIENT, RGBLIGHT_MODE_STATIC_GRADIENT_end); -#endif - return false; - case RGB_MODE_RGBTEST: -#if defined(RGBLIGHT_ENABLE) && !defined(RGBLIGHT_DISABLE_KEYCODES) && defined(RGBLIGHT_EFFECT_RGB_TEST) - rgblight_mode(RGBLIGHT_MODE_RGB_TEST); -#endif - return false; - case RGB_MODE_TWINKLE: -#if defined(RGBLIGHT_ENABLE) && !defined(RGBLIGHT_DISABLE_KEYCODES) && defined(RGBLIGHT_EFFECT_TWINKLE) - handleKeycodeRGBMode(RGBLIGHT_MODE_TWINKLE, RGBLIGHT_MODE_TWINKLE_end); -#endif - return false; - } - } - - return true; -} diff --git a/quantum/process_keycode/process_rgb.h b/quantum/process_keycode/process_rgb.h deleted file mode 100644 index b1069d4bb6f..00000000000 --- a/quantum/process_keycode/process_rgb.h +++ /dev/null @@ -1,22 +0,0 @@ -/* Copyright 2019 - * - * 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 - -#include -#include -#include "action.h" - -bool process_rgb(const uint16_t keycode, const keyrecord_t *record); diff --git a/quantum/quantum.c b/quantum/quantum.c index 892beee1be9..8bfe04e1798 100644 --- a/quantum/quantum.c +++ b/quantum/quantum.c @@ -56,8 +56,12 @@ # include "process_programmable_button.h" #endif -#if defined(RGBLIGHT_ENABLE) || defined(RGB_MATRIX_ENABLE) -# include "process_rgb.h" +#if defined(RGB_MATRIX_ENABLE) +# include "process_rgb_matrix.h" +#endif + +#if defined(RGBLIGHT_ENABLE) +# include "process_underglow.h" #endif #ifdef SECURE_ENABLE @@ -378,8 +382,11 @@ bool process_record_quantum(keyrecord_t *record) { #ifdef GRAVE_ESC_ENABLE process_grave_esc(keycode, record) && #endif -#if defined(RGBLIGHT_ENABLE) || defined(RGB_MATRIX_ENABLE) - process_rgb(keycode, record) && +#if defined(RGBLIGHT_ENABLE) + process_underglow(keycode, record) && +#endif +#if defined(RGB_MATRIX_ENABLE) + process_rgb_matrix(keycode, record) && #endif #ifdef JOYSTICK_ENABLE process_joystick(keycode, record) && From 5478051d7470efb32783b1c4080a2c3f24ce3c24 Mon Sep 17 00:00:00 2001 From: Stefan Kerkmann Date: Sat, 12 Oct 2024 18:48:00 +0200 Subject: [PATCH 061/124] [Core] quantum: util: add bit and bitmask helpers (#24229) quantum: util: add bit and bitmask helpers These helpers are handy and can prevent off-by-one errors when working with registers and general low level bit manipulation tasks. The macros themself are inspired by the bits.h macros from the linux kernel source code. Signed-off-by: Stefan Kerkmann Co-authored-by: Pascal Getreuer <50221757+getreuer@users.noreply.github.com> --- quantum/bits.h | 33 +++++++++++++++++++++++++++++++++ quantum/util.h | 1 + 2 files changed, 34 insertions(+) create mode 100644 quantum/bits.h diff --git a/quantum/bits.h b/quantum/bits.h new file mode 100644 index 00000000000..2f3c3437623 --- /dev/null +++ b/quantum/bits.h @@ -0,0 +1,33 @@ +/* SPDX-License-Identifier: GPL-2.0 */ + +#pragma once + +#include + +/* Remove these once we transitioned to C23 across all platfroms */ +#define UINT32_WIDTH 32 +#define UINT64_WIDTH 64 + +/** + * @brief Mask for the little endian nth bit (0-31) in a 32-bit integer. + */ +#define BIT32(n) (UINT32_C(1) << (n)) + +/** + * @brief Mask for the little endian nth bit (0-63) in a 64-bit integer. + */ +#define BIT64(n) (UINT64_C(1) << (n)) + +/** + * @brief Create a contiguous 32-bit wide bitmask starting at bit position @l + * and ending at position @h. The range is inclusive, meaning GENMASK32(20, 10) + * gives us the 32-bit mask 0x001ffc00. + */ +#define GENMASK32(h, l) (((~UINT32_C(0)) - (UINT32_C(1) << (l)) + 1) & (~UINT32_C(0) >> (UINT32_WIDTH - 1 - (h)))) + +/** + * @brief Create a contiguous 64-bit wide bitmask starting at bit position @l + * and ending at position @h. The range is inclusive, meaning GENMASK64(39, 21) + * gives us the 64-bit mask 0x000000ffffe00000. + */ +#define GENMASK64(h, l) (((~UINT64_C(0)) - (UINT64_C(1) << (l)) + 1) & (~UINT64_C(0) >> (UINT64_WIDTH - 1 - (h)))) diff --git a/quantum/util.h b/quantum/util.h index 94d9f223179..61ec7ac153f 100644 --- a/quantum/util.h +++ b/quantum/util.h @@ -4,6 +4,7 @@ #pragma once +#include "bits.h" #include "bitwise.h" // convert to string From 9884e4982be942a98cf5bca9360d20cc3fca3e9d Mon Sep 17 00:00:00 2001 From: Ryan Date: Sun, 13 Oct 2024 05:00:56 +1100 Subject: [PATCH 062/124] Rename RGB/HSV structs: keyboard-level code (#24476) --- docs/features/rgb_matrix.md | 12 +-- keyboards/1k/keymaps/default/rgblite.h | 4 +- keyboards/bandominedoni/rgb_matrix_kb.inc | 4 +- keyboards/bastardkb/dilemma/3x5_3/3x5_3.c | 18 ++-- keyboards/chromatonemini/rgb_matrix_kb.inc | 10 +-- keyboards/cipulot/ec_980c/ec_980c.c | 12 +-- keyboards/gopolar/gg86/gg86.c | 4 +- .../devil68_pro/keymaps/default/keymap.c | 4 +- .../keymaps/default/keymap_stuff.h | 14 +-- .../keymaps/default/led/cool_diagonal.c | 2 +- .../keymaps/default/led/custom_gradient.c | 14 +-- .../led/flower_blooming/flower_blooming.c | 2 +- .../led/flower_blooming/flower_blooming.h | 6 +- .../handwired_k552/keymaps/default/led/kitt.c | 2 +- .../default/led/random_breath_rainbow.c | 4 +- .../nyx/rev1/lib/startup_swirl_anim.h | 10 +-- keyboards/hs60/v1/v1.c | 2 +- keyboards/inland/kb83/kb83.c | 2 +- keyboards/matrix/m20add/rgb_ring.c | 36 ++++---- .../keymaps/default/rgb_matrix_user.inc | 88 +++++++++---------- keyboards/ml/gas75/keymaps/default/keymap.c | 4 +- .../m63_rgb/keymaps/default/keymap.c | 4 +- .../m64_rgb/keymaps/default/keymap.c | 4 +- keyboards/neson_design/700e/700e.c | 4 +- keyboards/neson_design/n6/n6.c | 4 +- .../percent/canoe_gen2/rgb_matrix_kb.inc | 10 +-- keyboards/phage_studio/pila87/pila87.c | 4 +- keyboards/rgbkb/sol3/rev1/rev1.c | 2 +- .../keymaps/default/rgb_matrix_user.inc | 2 +- .../steelseries/prime_plus/rgblight_custom.c | 2 +- keyboards/system76/launch_1/rgb_matrix_kb.inc | 16 ++-- keyboards/system76/system76_ec.c | 4 +- .../native/ansi/keymaps/default/keymap.c | 12 +-- .../native/iso/keymaps/default/keymap.c | 12 +-- keyboards/teleport/native/rgb_matrix_kb.inc | 8 +- keyboards/tzarc/djinn/djinn.c | 2 +- keyboards/wekey/we27/rgb_matrix_kb.inc | 4 +- keyboards/wilba_tech/wt_mono_backlight.c | 4 +- keyboards/wilba_tech/wt_rgb_backlight.c | 48 +++++----- keyboards/xelus/la_plus/rgb_matrix_kb.inc | 4 +- .../xd002/keymaps/multilayer_rgb/rgblite.h | 2 +- keyboards/yushakobo/quick17/quick17_prefs.h | 2 +- keyboards/yushakobo/quick17/rgb_matrix_kb.inc | 22 ++--- 43 files changed, 215 insertions(+), 215 deletions(-) diff --git a/docs/features/rgb_matrix.md b/docs/features/rgb_matrix.md index d87e5f6fdbe..0e53ce9c35a 100644 --- a/docs/features/rgb_matrix.md +++ b/docs/features/rgb_matrix.md @@ -478,18 +478,18 @@ This example sets the modifiers to be a specific color based on the layer state. ```c bool rgb_matrix_indicators_advanced_user(uint8_t led_min, uint8_t led_max) { - HSV hsv = {0, 255, 255}; + hsv_t hsv = {0, 255, 255}; if (layer_state_is(layer_state, 2)) { - hsv = (HSV){130, 255, 255}; + hsv = (hsv_t){130, 255, 255}; } else { - hsv = (HSV){30, 255, 255}; + hsv = (hsv_t){30, 255, 255}; } if (hsv.v > rgb_matrix_get_val()) { hsv.v = rgb_matrix_get_val(); } - RGB rgb = hsv_to_rgb(hsv); + rgb_t rgb = hsv_to_rgb(hsv); for (uint8_t i = led_min; i < led_max; i++) { if (HAS_FLAGS(g_led_config.flags[i], 0x01)) { // 0x01 == LED_FLAG_MODIFIER @@ -855,13 +855,13 @@ Set the global effect hue, saturation, and value (brightness). New state is not --- -### `HSV rgb_matrix_get_hsv(void)` {#api-rgb-matrix-get-hsv} +### `hsv_t rgb_matrix_get_hsv(void)` {#api-rgb-matrix-get-hsv} Get the current global effect hue, saturation, and value (brightness). #### Return Value {#api-rgb-matrix-get-hsv-return} -The current effect HSV as an `HSV` struct. +The current effect HSV as an `hsv_t` struct. --- diff --git a/keyboards/1k/keymaps/default/rgblite.h b/keyboards/1k/keymaps/default/rgblite.h index b30ec26b040..217ab37956b 100644 --- a/keyboards/1k/keymaps/default/rgblite.h +++ b/keyboards/1k/keymaps/default/rgblite.h @@ -10,7 +10,7 @@ static inline void rgblite_init(void) { ws2812_init(); } -static inline void rgblite_setrgb(RGB rgb) { +static inline void rgblite_setrgb(rgb_t rgb) { ws2812_set_color_all(rgb.r, rgb.g, rgb.b); ws2812_flush(); } @@ -18,7 +18,7 @@ static inline void rgblite_setrgb(RGB rgb) { static void rgblite_increase_hue(void) { static uint8_t state = 0; - HSV hsv = { 255, 255, 255 }; + hsv_t hsv = { 255, 255, 255 }; hsv.h = state; state = (state + 8) % 256; diff --git a/keyboards/bandominedoni/rgb_matrix_kb.inc b/keyboards/bandominedoni/rgb_matrix_kb.inc index 77ad22c1ce7..081215d78f3 100644 --- a/keyboards/bandominedoni/rgb_matrix_kb.inc +++ b/keyboards/bandominedoni/rgb_matrix_kb.inc @@ -5,8 +5,8 @@ RGB_MATRIX_EFFECT(my_party_rocks) bool my_party_rocks(effect_params_t* params) { RGB_MATRIX_USE_LIMITS(led_min, led_max); - HSV hsv = {rand() & 0xFF, rand() & 0xFF, rgb_matrix_config.hsv.v}; - RGB rgb = rgb_matrix_hsv_to_rgb(hsv); + hsv_t hsv = {rand() & 0xFF, rand() & 0xFF, rgb_matrix_config.hsv.v}; + rgb_t rgb = rgb_matrix_hsv_to_rgb(hsv); // rgb_matrix_set_color(i, rgb.r, rgb.g, rgb.b); rgb_matrix_set_color_all(rgb.r, rgb.g, rgb.b); return rgb_matrix_check_finished_leds(led_max); diff --git a/keyboards/bastardkb/dilemma/3x5_3/3x5_3.c b/keyboards/bastardkb/dilemma/3x5_3/3x5_3.c index 3decc51e846..a186139835b 100644 --- a/keyboards/bastardkb/dilemma/3x5_3/3x5_3.c +++ b/keyboards/bastardkb/dilemma/3x5_3/3x5_3.c @@ -51,36 +51,36 @@ bool rgb_matrix_indicators_advanced_kb(uint8_t led_min, uint8_t led_max) { uint8_t layer = get_highest_layer(layer_state); if (layer > 0) { - HSV hsv = rgb_matrix_get_hsv(); + hsv_t hsv = rgb_matrix_get_hsv(); switch (get_highest_layer(layer_state)) { case 1: - hsv = (HSV){HSV_BLUE}; + hsv = (hsv_t){HSV_BLUE}; break; case 2: - hsv = (HSV){HSV_AZURE}; + hsv = (hsv_t){HSV_AZURE}; break; case 3: - hsv = (HSV){HSV_ORANGE}; + hsv = (hsv_t){HSV_ORANGE}; break; case 4: - hsv = (HSV){HSV_GREEN}; + hsv = (hsv_t){HSV_GREEN}; break; case 5: - hsv = (HSV){HSV_TEAL}; + hsv = (hsv_t){HSV_TEAL}; break; case 6: - hsv = (HSV){HSV_PURPLE}; + hsv = (hsv_t){HSV_PURPLE}; break; case 7: default: - hsv = (HSV){HSV_RED}; + hsv = (hsv_t){HSV_RED}; break; }; if (hsv.v > rgb_matrix_get_val()) { hsv.v = MIN(rgb_matrix_get_val() + 22, 255); } - RGB rgb = hsv_to_rgb(hsv); + rgb_t rgb = hsv_to_rgb(hsv); for (uint8_t i = led_min; i < led_max; i++) { if (HAS_FLAGS(g_led_config.flags[i], LED_FLAG_UNDERGLOW)) { diff --git a/keyboards/chromatonemini/rgb_matrix_kb.inc b/keyboards/chromatonemini/rgb_matrix_kb.inc index 09877e1a319..ee9e8af4277 100644 --- a/keyboards/chromatonemini/rgb_matrix_kb.inc +++ b/keyboards/chromatonemini/rgb_matrix_kb.inc @@ -5,7 +5,7 @@ RGB_MATRIX_EFFECT(my_party_rocks) # ifdef RGB_MATRIX_CUSTOM_EFFECT_IMPLS -static HSV my_solid_reactive_multiwide_col_math(HSV hsv, int16_t dx, int16_t dy, uint8_t dist, uint16_t tick) { +static hsv_t my_solid_reactive_multiwide_col_math(hsv_t hsv, int16_t dx, int16_t dy, uint8_t dist, uint16_t tick) { uint16_t effect = tick + dist; dx = dx < 0 ? dx * -1 : dx; dx = dx * 16 > 255 ? 255 : dx * 16; @@ -27,7 +27,7 @@ bool my_solid_reactive_col(effect_params_t* params) { uint16_t max_tick = 65535 / rgb_matrix_config.speed; for (uint8_t i = led_min; i < led_max; i++) { RGB_MATRIX_TEST_LED_FLAGS(); - HSV hsv = rgb_matrix_config.hsv; + hsv_t hsv = rgb_matrix_config.hsv; uint16_t tick = max_tick; // Reverse search to find most recent key hit for (int8_t j = g_last_hit_tracker.count - 1; j >= 0; j--) { @@ -39,7 +39,7 @@ bool my_solid_reactive_col(effect_params_t* params) { uint16_t offset = scale16by8(tick, rgb_matrix_config.speed); hsv.h += qsub8(130, offset); - RGB rgb = rgb_matrix_hsv_to_rgb(hsv); + rgb_t rgb = rgb_matrix_hsv_to_rgb(hsv); rgb_matrix_set_color(i, rgb.r, rgb.g, rgb.b); } return led_max < RGB_MATRIX_LED_COUNT; @@ -47,8 +47,8 @@ bool my_solid_reactive_col(effect_params_t* params) { bool my_party_rocks(effect_params_t* params) { RGB_MATRIX_USE_LIMITS(led_min, led_max); - HSV hsv = {rand() & 0xFF, rand() & 0xFF, rgb_matrix_config.hsv.v}; - RGB rgb = rgb_matrix_hsv_to_rgb(hsv); + hsv_t hsv = {rand() & 0xFF, rand() & 0xFF, rgb_matrix_config.hsv.v}; + rgb_t rgb = rgb_matrix_hsv_to_rgb(hsv); // rgb_matrix_set_color(i, rgb.r, rgb.g, rgb.b); rgb_matrix_set_color_all(rgb.r, rgb.g, rgb.b); return led_max < RGB_MATRIX_LED_COUNT; diff --git a/keyboards/cipulot/ec_980c/ec_980c.c b/keyboards/cipulot/ec_980c/ec_980c.c index 0e23c323357..49b52487451 100644 --- a/keyboards/cipulot/ec_980c/ec_980c.c +++ b/keyboards/cipulot/ec_980c/ec_980c.c @@ -92,24 +92,24 @@ bool rgb_matrix_indicators_kb(void) { if (eeprom_ec_config.num.enabled) { // The rgb_matrix_set_color function needs an RGB code to work, so first the indicator color is cast to an HSV value and then translated to RGB - HSV hsv_num_indicator_color = {eeprom_ec_config.num.h, eeprom_ec_config.num.s, eeprom_ec_config.num.v}; - RGB rgb_num_indicator_color = hsv_to_rgb(hsv_num_indicator_color); + hsv_t hsv_num_indicator_color = {eeprom_ec_config.num.h, eeprom_ec_config.num.s, eeprom_ec_config.num.v}; + rgb_t rgb_num_indicator_color = hsv_to_rgb(hsv_num_indicator_color); if (host_keyboard_led_state().num_lock) rgb_matrix_set_color(NUM_INDICATOR_INDEX, rgb_num_indicator_color.r, rgb_num_indicator_color.g, rgb_num_indicator_color.b); else rgb_matrix_set_color(NUM_INDICATOR_INDEX, 0, 0, 0); } if (eeprom_ec_config.caps.enabled) { - HSV hsv_caps_indicator_color = {eeprom_ec_config.caps.h, eeprom_ec_config.caps.s, eeprom_ec_config.caps.v}; - RGB rgb_caps_indicator_color = hsv_to_rgb(hsv_caps_indicator_color); + hsv_t hsv_caps_indicator_color = {eeprom_ec_config.caps.h, eeprom_ec_config.caps.s, eeprom_ec_config.caps.v}; + rgb_t rgb_caps_indicator_color = hsv_to_rgb(hsv_caps_indicator_color); if (host_keyboard_led_state().caps_lock) rgb_matrix_set_color(CAPS_INDICATOR_INDEX, rgb_caps_indicator_color.r, rgb_caps_indicator_color.g, rgb_caps_indicator_color.b); else rgb_matrix_set_color(CAPS_INDICATOR_INDEX, 0, 0, 0); } if (eeprom_ec_config.scroll.enabled) { - HSV hsv_scroll_indicator_color = {eeprom_ec_config.scroll.h, eeprom_ec_config.scroll.s, eeprom_ec_config.scroll.v}; - RGB rgb_scroll_indicator_color = hsv_to_rgb(hsv_scroll_indicator_color); + hsv_t hsv_scroll_indicator_color = {eeprom_ec_config.scroll.h, eeprom_ec_config.scroll.s, eeprom_ec_config.scroll.v}; + rgb_t rgb_scroll_indicator_color = hsv_to_rgb(hsv_scroll_indicator_color); if (host_keyboard_led_state().scroll_lock) rgb_matrix_set_color(SCROLL_INDICATOR_INDEX, rgb_scroll_indicator_color.r, rgb_scroll_indicator_color.g, rgb_scroll_indicator_color.b); else diff --git a/keyboards/gopolar/gg86/gg86.c b/keyboards/gopolar/gg86/gg86.c index 8664b234c75..52e1434f005 100644 --- a/keyboards/gopolar/gg86/gg86.c +++ b/keyboards/gopolar/gg86/gg86.c @@ -93,10 +93,10 @@ bool rgb_matrix_indicators_kb(void) { return false; } - HSV hsv = rgb_matrix_config.hsv; + hsv_t hsv = rgb_matrix_config.hsv; uint8_t time = scale16by8(g_rgb_timer, qadd8(32, 1)); hsv.h = time; - RGB rgb = hsv_to_rgb(hsv); + rgb_t rgb = hsv_to_rgb(hsv); if (host_keyboard_led_state().caps_lock) { rgb_matrix_set_color(25, rgb.r, rgb.g, rgb.b); diff --git a/keyboards/horrortroll/chinese_pcb/devil68_pro/keymaps/default/keymap.c b/keyboards/horrortroll/chinese_pcb/devil68_pro/keymaps/default/keymap.c index 0413ffe8083..4ad4bcd5ccb 100644 --- a/keyboards/horrortroll/chinese_pcb/devil68_pro/keymaps/default/keymap.c +++ b/keyboards/horrortroll/chinese_pcb/devil68_pro/keymaps/default/keymap.c @@ -124,10 +124,10 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) { } bool rgb_matrix_indicators_user(void) { - HSV hsv = rgb_matrix_config.hsv; + hsv_t hsv = rgb_matrix_config.hsv; uint8_t time = scale16by8(g_rgb_timer, qadd8(32, 1)); hsv.h = time; - RGB rgb = hsv_to_rgb(hsv); + rgb_t rgb = hsv_to_rgb(hsv); if ((rgb_matrix_get_flags() & LED_FLAG_KEYLIGHT)) { if (host_keyboard_led_state().caps_lock) { diff --git a/keyboards/horrortroll/handwired_k552/keymaps/default/keymap_stuff.h b/keyboards/horrortroll/handwired_k552/keymaps/default/keymap_stuff.h index fa6f070ed2c..b68f9fa6342 100644 --- a/keyboards/horrortroll/handwired_k552/keymaps/default/keymap_stuff.h +++ b/keyboards/horrortroll/handwired_k552/keymaps/default/keymap_stuff.h @@ -33,14 +33,14 @@ enum layer_names { }; // For CUSTOM_GRADIENT -HSV gradient_0 = {205, 250, 255}; -HSV gradient_100 = {140, 215, 125}; +hsv_t gradient_0 = {205, 250, 255}; +hsv_t gradient_100 = {140, 215, 125}; bool reflected_gradient = false; uint8_t gp_i = 0; typedef struct { - HSV gradient_0; - HSV gradient_1; + hsv_t gradient_0; + hsv_t gradient_1; bool reflected; } CUSTOM_PRESETS; @@ -203,7 +203,7 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) { return false; case G_FLIP: if (record->event.pressed) { - HSV temp_color = gradient_0; + hsv_t temp_color = gradient_0; gradient_0 = gradient_100; gradient_100 = temp_color; } @@ -255,10 +255,10 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) { bool rgb_matrix_indicators_user(void) { uint8_t side_leds_left[3] = {17, 18, 19}; uint8_t side_leds_right[3] = { 4, 5, 6}; - HSV hsv = rgb_matrix_config.hsv; + hsv_t hsv = rgb_matrix_config.hsv; uint8_t time = scale16by8(g_rgb_timer, qadd8(32, 1)); hsv.h = time; - RGB rgb = hsv_to_rgb(hsv); + rgb_t rgb = hsv_to_rgb(hsv); if ((rgb_matrix_get_flags() & LED_FLAG_ALL)) { if (host_keyboard_led_state().caps_lock) { diff --git a/keyboards/horrortroll/handwired_k552/keymaps/default/led/cool_diagonal.c b/keyboards/horrortroll/handwired_k552/keymaps/default/led/cool_diagonal.c index a5bf960d45d..d1cb6245707 100644 --- a/keyboards/horrortroll/handwired_k552/keymaps/default/led/cool_diagonal.c +++ b/keyboards/horrortroll/handwired_k552/keymaps/default/led/cool_diagonal.c @@ -14,7 +14,7 @@ * along with this program. If not, see . */ -static HSV COOL_DIAGONAL_math(HSV hsv, uint8_t i, uint8_t time) { +static hsv_t COOL_DIAGONAL_math(hsv_t hsv, uint8_t i, uint8_t time) { hsv.h = (g_led_config.point[i].x / 4) - g_led_config.point[i].y - time; return hsv; } diff --git a/keyboards/horrortroll/handwired_k552/keymaps/default/led/custom_gradient.c b/keyboards/horrortroll/handwired_k552/keymaps/default/led/custom_gradient.c index af6173d2509..346d079a0df 100644 --- a/keyboards/horrortroll/handwired_k552/keymaps/default/led/custom_gradient.c +++ b/keyboards/horrortroll/handwired_k552/keymaps/default/led/custom_gradient.c @@ -14,13 +14,13 @@ * along with this program. If not, see . */ -extern HSV gradient_0; -extern HSV gradient_100; +extern hsv_t gradient_0; +extern hsv_t gradient_100; extern bool reflected_gradient; -static HSV INTERPOLATE_HSV(float step, HSV gradient_0, HSV gradient_100) { +static hsv_t INTERPOLATE_HSV(float step, hsv_t gradient_0, hsv_t gradient_100) { uint8_t cw, ccw; - HSV color; + hsv_t color; cw = (gradient_0.h >= gradient_100.h) ? 255 + gradient_100.h - gradient_0.h : gradient_100.h - gradient_0.h; // Hue range is 0 to 255. ccw = (gradient_0.h >= gradient_100.h) ? gradient_0.h - gradient_100.h : 255 + gradient_0.h - gradient_100.h; @@ -39,7 +39,7 @@ static HSV INTERPOLATE_HSV(float step, HSV gradient_0, HSV gradient_100) { return color; } -static HSV CUSTOM_GRADIENT_math(uint8_t led_x, uint8_t min_x, uint8_t max_x) { +static hsv_t CUSTOM_GRADIENT_math(uint8_t led_x, uint8_t min_x, uint8_t max_x) { float step = (float)led_x / (max_x - min_x); float mid_gradient_pos = 0.5; @@ -64,8 +64,8 @@ static bool CUSTOM_GRADIENT(effect_params_t* params) { for (uint8_t i = led_min; i < led_max; i++) { RGB_MATRIX_TEST_LED_FLAGS(); - HSV hsv_orig = CUSTOM_GRADIENT_math(g_led_config.point[i].x, min_x, max_x); - RGB rgb = hsv_to_rgb(hsv_orig); + hsv_t hsv_orig = CUSTOM_GRADIENT_math(g_led_config.point[i].x, min_x, max_x); + rgb_t rgb = hsv_to_rgb(hsv_orig); rgb_matrix_set_color(i, rgb.r, rgb.g, rgb.b); } diff --git a/keyboards/horrortroll/handwired_k552/keymaps/default/led/flower_blooming/flower_blooming.c b/keyboards/horrortroll/handwired_k552/keymaps/default/led/flower_blooming/flower_blooming.c index add83149ccc..33205438e80 100644 --- a/keyboards/horrortroll/handwired_k552/keymaps/default/led/flower_blooming/flower_blooming.c +++ b/keyboards/horrortroll/handwired_k552/keymaps/default/led/flower_blooming/flower_blooming.c @@ -16,7 +16,7 @@ #include "led/flower_blooming/flower_blooming.h" -static HSV FLOWER_BLOOMING_math(HSV hsv, uint8_t i, uint8_t time) { +static hsv_t FLOWER_BLOOMING_math(hsv_t hsv, uint8_t i, uint8_t time) { if (g_led_config.point[i].y > k_rgb_matrix_center.y) hsv.h = g_led_config.point[i].x * 3 - g_led_config.point[i].y * 3 + time; else diff --git a/keyboards/horrortroll/handwired_k552/keymaps/default/led/flower_blooming/flower_blooming.h b/keyboards/horrortroll/handwired_k552/keymaps/default/led/flower_blooming/flower_blooming.h index 941dab975a6..e699011922b 100644 --- a/keyboards/horrortroll/handwired_k552/keymaps/default/led/flower_blooming/flower_blooming.h +++ b/keyboards/horrortroll/handwired_k552/keymaps/default/led/flower_blooming/flower_blooming.h @@ -1,6 +1,6 @@ #pragma once -typedef HSV (*flower_blooming_f)(HSV hsv, uint8_t i, uint8_t time); +typedef hsv_t (*flower_blooming_f)(hsv_t hsv, uint8_t i, uint8_t time); bool effect_runner_bloom(effect_params_t* params, flower_blooming_f effect_func) { RGB_MATRIX_USE_LIMITS(led_min, led_max); @@ -9,10 +9,10 @@ bool effect_runner_bloom(effect_params_t* params, flower_blooming_f effect_func) for (uint8_t i = led_min; i < led_max; i++) { RGB_MATRIX_TEST_LED_FLAGS(); if (g_led_config.point[i].y > k_rgb_matrix_center.y) { - RGB bgr = rgb_matrix_hsv_to_rgb(effect_func(rgb_matrix_config.hsv, i, time)); + rgb_t bgr = rgb_matrix_hsv_to_rgb(effect_func(rgb_matrix_config.hsv, i, time)); rgb_matrix_set_color(i, bgr.b, bgr.g, bgr.r); } else { - RGB rgb = rgb_matrix_hsv_to_rgb(effect_func(rgb_matrix_config.hsv, i, time)); + rgb_t rgb = rgb_matrix_hsv_to_rgb(effect_func(rgb_matrix_config.hsv, i, time)); rgb_matrix_set_color(i, rgb.r, rgb.g, rgb.b); } } diff --git a/keyboards/horrortroll/handwired_k552/keymaps/default/led/kitt.c b/keyboards/horrortroll/handwired_k552/keymaps/default/led/kitt.c index dadbe482233..e4e1637005b 100644 --- a/keyboards/horrortroll/handwired_k552/keymaps/default/led/kitt.c +++ b/keyboards/horrortroll/handwired_k552/keymaps/default/led/kitt.c @@ -35,7 +35,7 @@ static uint8_t time_to_led(uint8_t time, uint8_t led_behind) { return led; } -static HSV KITT_math(HSV hsv, uint8_t i, uint8_t time) { +static hsv_t KITT_math(hsv_t hsv, uint8_t i, uint8_t time) { // reset base effect startup if (i == 0) { diff --git a/keyboards/horrortroll/handwired_k552/keymaps/default/led/random_breath_rainbow.c b/keyboards/horrortroll/handwired_k552/keymaps/default/led/random_breath_rainbow.c index ba1ca55faf8..5550f3ee3fb 100644 --- a/keyboards/horrortroll/handwired_k552/keymaps/default/led/random_breath_rainbow.c +++ b/keyboards/horrortroll/handwired_k552/keymaps/default/led/random_breath_rainbow.c @@ -30,10 +30,10 @@ static void doRandom_breath_rainbow(int i, effect_params_t* params) { } //float val = (((float)sin8(time + offset[i]) / 256)/2.1) + .05; - HSV hsv = {0, 255, 255}; + hsv_t hsv = {0, 255, 255}; hsv.h = scale16by8(g_rgb_timer + offset[i], rgb_matrix_config.speed / 4) + (offset[i]*2); hsv.v = scale8(abs8(sin8(time) - 128) * 2, hsv.v); - RGB rgb = rgb_matrix_hsv_to_rgb(hsv); + rgb_t rgb = rgb_matrix_hsv_to_rgb(hsv); rgb_matrix_set_color(i, rgb.r, rgb.g, rgb.b); } diff --git a/keyboards/horrortroll/nyx/rev1/lib/startup_swirl_anim.h b/keyboards/horrortroll/nyx/rev1/lib/startup_swirl_anim.h index 0cd0a54a8b5..c3cb3163492 100644 --- a/keyboards/horrortroll/nyx/rev1/lib/startup_swirl_anim.h +++ b/keyboards/horrortroll/nyx/rev1/lib/startup_swirl_anim.h @@ -82,7 +82,7 @@ static void traverse_matrix(void) { } } -static void swirl_set_color(HSV hsv) { +static void swirl_set_color(hsv_t hsv) { uint8_t index = g_led_config.matrix_co[j][i]; if(index != NO_LED){ @@ -97,8 +97,8 @@ static void swirl_set_color(HSV hsv) { else v_values[v] = 0; } - hsv.v = v_values[v]; - RGB rgb = hsv_to_rgb(hsv); + hsv.v = v_values[v]; + hsv_t rgb = hsv_to_rgb(hsv); rgb_matrix_set_color(v, rgb.r, rgb.g, rgb.b); } @@ -112,10 +112,10 @@ static void swirl_set_color(HSV hsv) { } static bool STARTUP_SWIRL_ANIM(effect_params_t* params) { - HSV hsv = rgb_matrix_config.hsv; + hsv_t hsv = rgb_matrix_config.hsv; uint8_t time = scale16by8(g_rgb_timer, qadd8(24, 1)); hsv.h = time; - RGB rgb = hsv_to_rgb(hsv); + rgb_t rgb = hsv_to_rgb(hsv); if (traverse) { swirl_set_color(hsv); diff --git a/keyboards/hs60/v1/v1.c b/keyboards/hs60/v1/v1.c index ecb78c70d06..7c685f76b88 100644 --- a/keyboards/hs60/v1/v1.c +++ b/keyboards/hs60/v1/v1.c @@ -71,7 +71,7 @@ void matrix_init_kb(void) { // Clear the LED colors stored in EEPROM for ( int row=0; row < MATRIX_ROWS; row++ ) { - HSV hsv; + hsv_t hsv; for ( int column=0; column < MATRIX_COLS; column++ ) { hsv.h = rand() & 0xFF; diff --git a/keyboards/inland/kb83/kb83.c b/keyboards/inland/kb83/kb83.c index ace575259de..1052131a915 100644 --- a/keyboards/inland/kb83/kb83.c +++ b/keyboards/inland/kb83/kb83.c @@ -302,7 +302,7 @@ static uint16_t scancode = 0; static uint8_t alarm_cnt = 0; static uint8_t RGB_HSV_level; -HSV hsv; +hsv_t hsv; void led_test(uint8_t color); void clear_eeprom(void); diff --git a/keyboards/matrix/m20add/rgb_ring.c b/keyboards/matrix/m20add/rgb_ring.c index 032745af6ec..45cc6013fdb 100644 --- a/keyboards/matrix/m20add/rgb_ring.c +++ b/keyboards/matrix/m20add/rgb_ring.c @@ -137,8 +137,8 @@ extern rgblight_config_t rgblight_config; static void testing_mode(void) { if (timer_elapsed(animation_status.last_timer) > EFFECT_TEST_INTERVAL) { - HSV h = {rgblight_config.hue, rgblight_config.sat, rgblight_config.val}; - RGB c = hsv_to_rgb(h); + hsv_t h = {rgblight_config.hue, rgblight_config.sat, rgblight_config.val}; + rgb_t c = hsv_to_rgb(h); //is31fl3731_set_color_all(c.r, c.g, c.b); is31fl3731_set_color_all(0, 0, 0); is31fl3731_set_color(rgb_ring.outer_index+RING_OUTER_BEGIN, c.r, c.g, c.b); @@ -184,9 +184,9 @@ static void update_effect(uint32_t max_count) static void ring_effect_no_1(void) { if (need_update(EFFECT_1_INTERVAL)) { - HSV h = {rgblight_config.hue, rgblight_config.sat, rgblight_config.val}; + hsv_t h = {rgblight_config.hue, rgblight_config.sat, rgblight_config.val}; for (uint8_t i = RING_OUTER_BEGIN; i <= RING_OUTER_END; i++) { - RGB c = hsv_to_rgb(h); + rgb_t c = hsv_to_rgb(h); is31fl3731_set_color(i, c.r, c.g, c.b); } rgblight_config.hue += EFFECT_1_HUE_STEP; @@ -205,8 +205,8 @@ static void ring_effect_no_2(void) { if (need_update(EFFECT_2_INTERVAL)) { is31fl3731_set_color_all(0, 0, 0); - HSV h = {rgblight_config.hue, rgblight_config.sat, rgblight_config.val}; - RGB c = hsv_to_rgb(h); + hsv_t h = {rgblight_config.hue, rgblight_config.sat, rgblight_config.val}; + rgb_t c = hsv_to_rgb(h); is31fl3731_set_color(rgb_ring.led_begin, c.r, c.g, c.b); is31fl3731_set_color(rgb_ring.led_end, c.r, c.g, c.b); @@ -233,13 +233,13 @@ static void ring_effect_no_3(void) } if (need_update(EFFECT_3_INTERVAL)) { - HSV h = {rgblight_config.hue, rgblight_config.sat, rgblight_config.val}; + hsv_t h = {rgblight_config.hue, rgblight_config.sat, rgblight_config.val}; if (rgb_ring.led_clear) { is31fl3731_set_color(rgb_ring.led_begin, 0, 0, 0); is31fl3731_set_color(rgb_ring.led_end, 0, 0, 0); } else { - RGB c = hsv_to_rgb(h); + rgb_t c = hsv_to_rgb(h); is31fl3731_set_color(rgb_ring.led_begin, c.r, c.g, c.b); is31fl3731_set_color(rgb_ring.led_end, c.r, c.g, c.b); } @@ -278,8 +278,8 @@ static void ring_effect_no_4(void) { if (need_update(EFFECT_4_INTERVAL)) { is31fl3731_set_color_all(0, 0, 0); - HSV h = {rgblight_config.hue, rgblight_config.sat, rgblight_config.val}; - RGB c = hsv_to_rgb(h); + hsv_t h = {rgblight_config.hue, rgblight_config.sat, rgblight_config.val}; + rgb_t c = hsv_to_rgb(h); is31fl3731_set_color(rgb_ring.led_begin, c.r, c.g, c.b); is31fl3731_set_color(rgb_ring.led_end, c.r, c.g, c.b); @@ -303,13 +303,13 @@ static void ring_effect_no_5(void) if (need_update(EFFECT_5_INTERVAL)) { is31fl3731_set_color_all(0, 0, 0); for (uint8_t i = RING_INNER_BEGIN; i <= RING_INNER_END; i++) { - HSV h = {rgblight_config.hue, rgblight_config.sat, rgblight_config.val}; - RGB c = hsv_to_rgb(h); + hsv_t h = {rgblight_config.hue, rgblight_config.sat, rgblight_config.val}; + rgb_t c = hsv_to_rgb(h); is31fl3731_set_color(i, c.r, c.g, c.b); } for (uint8_t i = RING_OUTER_BEGIN; i <= RING_OUTER_END; i++) { - HSV h = {rgblight_config.hue+EFFECT_5_HUE_STEP, rgblight_config.sat, rgblight_config.val}; - RGB c = hsv_to_rgb(h); + hsv_t h = {rgblight_config.hue+EFFECT_5_HUE_STEP, rgblight_config.sat, rgblight_config.val}; + rgb_t c = hsv_to_rgb(h); is31fl3731_set_color(i, c.r, c.g, c.b); } rgblight_config.hue += EFFECT_5_HUE_STEP; @@ -329,13 +329,13 @@ static void ring_effect_no_6(void) if (need_update(EFFECT_6_INTERVAL)) { is31fl3731_set_color_all(0, 0, 0); for (uint8_t i = RING_INNER_BEGIN; i <= RING_INNER_END; i++) { - HSV h = {rgblight_config.hue+i*EFFECT_I_HUE_STEP, rgblight_config.sat, rgblight_config.val}; - RGB c = hsv_to_rgb(h); + hsv_t h = {rgblight_config.hue+i*EFFECT_I_HUE_STEP, rgblight_config.sat, rgblight_config.val}; + rgb_t c = hsv_to_rgb(h); is31fl3731_set_color(i, c.r, c.g, c.b); } for (uint8_t i = RING_OUTER_BEGIN; i <= RING_OUTER_END; i++) { - HSV h = {rgblight_config.hue+i*EFFECT_O_HUE_STEP, rgblight_config.sat, rgblight_config.val}; - RGB c = hsv_to_rgb(h); + hsv_t h = {rgblight_config.hue+i*EFFECT_O_HUE_STEP, rgblight_config.sat, rgblight_config.val}; + rgb_t c = hsv_to_rgb(h); is31fl3731_set_color(i, c.r, c.g, c.b); } rgblight_config.hue += EFFECT_I_HUE_STEP; diff --git a/keyboards/mechlovin/infinity875/keymaps/default/rgb_matrix_user.inc b/keyboards/mechlovin/infinity875/keymaps/default/rgb_matrix_user.inc index 627d12bd3c8..9c44fde9cc2 100644 --- a/keyboards/mechlovin/infinity875/keymaps/default/rgb_matrix_user.inc +++ b/keyboards/mechlovin/infinity875/keymaps/default/rgb_matrix_user.inc @@ -59,7 +59,7 @@ bool effect_runner_all(effect_params_t* params, i_f effect_func) { uint8_t time = scale16by8(g_rgb_timer, qadd8(rgb_matrix_config.speed / 4, 1)); for (uint8_t i = led_min; i < led_max; i++) { RGB_MATRIX_TEST_LED_FLAGS(); - RGB rgb = rgb_matrix_hsv_to_rgb(effect_func(rgb_matrix_config.hsv, i, time)); + rgb_t rgb = rgb_matrix_hsv_to_rgb(effect_func(rgb_matrix_config.hsv, i, time)); rgb_matrix_set_color(i, rgb.r, rgb.g, rgb.b); } return led_max < RGB_MATRIX_LED_COUNT; @@ -71,7 +71,7 @@ bool effect_runner_esc(effect_params_t* params, i_f effect_func) { uint8_t time = scale16by8(g_rgb_timer, qadd8(rgb_matrix_config.speed / 4, 1)); for (uint8_t i = led_min; i < led_max; i++) { RGB_MATRIX_TEST_LED_FLAGS(); - RGB rgb = rgb_matrix_hsv_to_rgb(effect_func(rgb_matrix_config.hsv, i, time)); + rgb_t rgb = rgb_matrix_hsv_to_rgb(effect_func(rgb_matrix_config.hsv, i, time)); rgb_matrix_set_color(i, rgb.r, rgb.g, rgb.b); } for (uint8_t i = 1; i < 18; i++) { @@ -85,7 +85,7 @@ bool effect_runner_f13(effect_params_t* params, i_f effect_func) { uint8_t time = scale16by8(g_rgb_timer, qadd8(rgb_matrix_config.speed / 4, 1)); for (uint8_t i = led_min; i < led_max; i++) { RGB_MATRIX_TEST_LED_FLAGS(); - RGB rgb = rgb_matrix_hsv_to_rgb(effect_func(rgb_matrix_config.hsv, i, time)); + rgb_t rgb = rgb_matrix_hsv_to_rgb(effect_func(rgb_matrix_config.hsv, i, time)); rgb_matrix_set_color(i, rgb.r, rgb.g, rgb.b); rgb_matrix_set_color(15, 0x00, 0x00, 0x00); rgb_matrix_set_color(16, 0x00, 0x00, 0x00); @@ -103,7 +103,7 @@ bool effect_runner_clus(effect_params_t* params, i_f effect_func) { uint8_t time = scale16by8(g_rgb_timer, qadd8(rgb_matrix_config.speed / 4, 1)); for (uint8_t i = led_min; i < led_max; i++) { RGB_MATRIX_TEST_LED_FLAGS(); - RGB rgb = rgb_matrix_hsv_to_rgb(effect_func(rgb_matrix_config.hsv, i, time)); + rgb_t rgb = rgb_matrix_hsv_to_rgb(effect_func(rgb_matrix_config.hsv, i, time)); rgb_matrix_set_color(i, rgb.r, rgb.g, rgb.b); } for (uint8_t i = 0; i < 15; i++) { @@ -120,7 +120,7 @@ bool effect_runner_dx_dy_all(effect_params_t* params, dx_dy_f effect_func) { RGB_MATRIX_TEST_LED_FLAGS(); int16_t dx = g_led_config.point[i].x - k_rgb_matrix_center.x; int16_t dy = g_led_config.point[i].y - k_rgb_matrix_center.y; - RGB rgb = rgb_matrix_hsv_to_rgb(effect_func(rgb_matrix_config.hsv, dx, dy, time)); + rgb_t rgb = rgb_matrix_hsv_to_rgb(effect_func(rgb_matrix_config.hsv, dx, dy, time)); rgb_matrix_set_color(i, rgb.r, rgb.g, rgb.b); } return led_max < RGB_MATRIX_LED_COUNT; @@ -134,7 +134,7 @@ bool effect_runner_dx_dy_esc(effect_params_t* params, dx_dy_f effect_func) { RGB_MATRIX_TEST_LED_FLAGS(); int16_t dx = g_led_config.point[i].x - k_rgb_matrix_center.x; int16_t dy = g_led_config.point[i].y - k_rgb_matrix_center.y; - RGB rgb = rgb_matrix_hsv_to_rgb(effect_func(rgb_matrix_config.hsv, dx, dy, time)); + rgb_t rgb = rgb_matrix_hsv_to_rgb(effect_func(rgb_matrix_config.hsv, dx, dy, time)); rgb_matrix_set_color(i, rgb.r, rgb.g, rgb.b); } for (uint8_t i = 1; i < 18; i++) { @@ -151,7 +151,7 @@ bool effect_runner_dx_dy_f13(effect_params_t* params, dx_dy_f effect_func) { RGB_MATRIX_TEST_LED_FLAGS(); int16_t dx = g_led_config.point[i].x - k_rgb_matrix_center.x; int16_t dy = g_led_config.point[i].y - k_rgb_matrix_center.y; - RGB rgb = rgb_matrix_hsv_to_rgb(effect_func(rgb_matrix_config.hsv, dx, dy, time)); + rgb_t rgb = rgb_matrix_hsv_to_rgb(effect_func(rgb_matrix_config.hsv, dx, dy, time)); rgb_matrix_set_color(i, rgb.r, rgb.g, rgb.b); rgb_matrix_set_color(15, 0x00, 0x00, 0x00); rgb_matrix_set_color(16, 0x00, 0x00, 0x00); @@ -171,7 +171,7 @@ bool effect_runner_dx_dy_clus(effect_params_t* params, dx_dy_f effect_func) { RGB_MATRIX_TEST_LED_FLAGS(); int16_t dx = g_led_config.point[i].x - k_rgb_matrix_center.x; int16_t dy = g_led_config.point[i].y - k_rgb_matrix_center.y; - RGB rgb = rgb_matrix_hsv_to_rgb(effect_func(rgb_matrix_config.hsv, dx, dy, time)); + rgb_t rgb = rgb_matrix_hsv_to_rgb(effect_func(rgb_matrix_config.hsv, dx, dy, time)); rgb_matrix_set_color(i, rgb.r, rgb.g, rgb.b); } for (uint8_t i = 0; i < 15; i++) { @@ -188,7 +188,7 @@ bool effect_runner_sin_cos_all(effect_params_t* params, sin_cos_i_f effect_func) int8_t sin_value = sin8(time) - 128; for (uint8_t i = led_min; i < led_max; i++) { RGB_MATRIX_TEST_LED_FLAGS(); - RGB rgb = rgb_matrix_hsv_to_rgb(effect_func(rgb_matrix_config.hsv, cos_value, sin_value, i, time)); + rgb_t rgb = rgb_matrix_hsv_to_rgb(effect_func(rgb_matrix_config.hsv, cos_value, sin_value, i, time)); rgb_matrix_set_color(i, rgb.r, rgb.g, rgb.b); } return led_max < RGB_MATRIX_LED_COUNT; @@ -202,7 +202,7 @@ bool effect_runner_sin_cos_esc(effect_params_t* params, sin_cos_i_f effect_func) int8_t sin_value = sin8(time) - 128; for (uint8_t i = led_min; i < led_max; i++) { RGB_MATRIX_TEST_LED_FLAGS(); - RGB rgb = rgb_matrix_hsv_to_rgb(effect_func(rgb_matrix_config.hsv, cos_value, sin_value, i, time)); + rgb_t rgb = rgb_matrix_hsv_to_rgb(effect_func(rgb_matrix_config.hsv, cos_value, sin_value, i, time)); rgb_matrix_set_color(i, rgb.r, rgb.g, rgb.b); } for (uint8_t i = 1; i < 18; i++) { @@ -219,7 +219,7 @@ bool effect_runner_sin_cos_f13(effect_params_t* params, sin_cos_i_f effect_func) int8_t sin_value = sin8(time) - 128; for (uint8_t i = led_min; i < led_max; i++) { RGB_MATRIX_TEST_LED_FLAGS(); - RGB rgb = rgb_matrix_hsv_to_rgb(effect_func(rgb_matrix_config.hsv, cos_value, sin_value, i, time)); + rgb_t rgb = rgb_matrix_hsv_to_rgb(effect_func(rgb_matrix_config.hsv, cos_value, sin_value, i, time)); rgb_matrix_set_color(i, rgb.r, rgb.g, rgb.b); rgb_matrix_set_color(15, 0x00, 0x00, 0x00); rgb_matrix_set_color(16, 0x00, 0x00, 0x00); @@ -239,7 +239,7 @@ bool effect_runner_sin_cos_clus(effect_params_t* params, sin_cos_i_f effect_func int8_t sin_value = sin8(time) - 128; for (uint8_t i = led_min; i < led_max; i++) { RGB_MATRIX_TEST_LED_FLAGS(); - RGB rgb = rgb_matrix_hsv_to_rgb(effect_func(rgb_matrix_config.hsv, cos_value, sin_value, i, time)); + rgb_t rgb = rgb_matrix_hsv_to_rgb(effect_func(rgb_matrix_config.hsv, cos_value, sin_value, i, time)); rgb_matrix_set_color(i, rgb.r, rgb.g, rgb.b); } for (uint8_t i = 0; i < 15; i++) { @@ -250,7 +250,7 @@ bool effect_runner_sin_cos_clus(effect_params_t* params, sin_cos_i_f effect_func static void raindrops_set_color_all(int i, effect_params_t* params) { if (!HAS_ANY_FLAGS(g_led_config.flags[i], params->flags)) return; - HSV hsv = {0, rgb_matrix_config.hsv.s, rgb_matrix_config.hsv.v}; + hsv_t hsv = {0, rgb_matrix_config.hsv.s, rgb_matrix_config.hsv.v}; // Take the shortest path between hues int16_t deltaH = ((rgb_matrix_config.hsv.h + 180) % 360 - rgb_matrix_config.hsv.h) / 4; @@ -260,14 +260,14 @@ static void raindrops_set_color_all(int i, effect_params_t* params) { deltaH += 256; } - hsv.h = rgb_matrix_config.hsv.h + (deltaH * (rand() & 0x03)); - RGB rgb = rgb_matrix_hsv_to_rgb(hsv); + hsv.h = rgb_matrix_config.hsv.h + (deltaH * (rand() & 0x03)); + rgb_t rgb = rgb_matrix_hsv_to_rgb(hsv); rgb_matrix_set_color(i, rgb.r, rgb.g, rgb.b); } static void raindrops_set_color_esc(int i, effect_params_t* params) { if (!HAS_ANY_FLAGS(g_led_config.flags[i], params->flags)) return; - HSV hsv = {0, rgb_matrix_config.hsv.s, rgb_matrix_config.hsv.v}; + hsv_t hsv = {0, rgb_matrix_config.hsv.s, rgb_matrix_config.hsv.v}; // Take the shortest path between hues int16_t deltaH = ((rgb_matrix_config.hsv.h + 180) % 360 - rgb_matrix_config.hsv.h) / 4; @@ -277,8 +277,8 @@ static void raindrops_set_color_esc(int i, effect_params_t* params) { deltaH += 256; } - hsv.h = rgb_matrix_config.hsv.h + (deltaH * (rand() & 0x03)); - RGB rgb = rgb_matrix_hsv_to_rgb(hsv); + hsv.h = rgb_matrix_config.hsv.h + (deltaH * (rand() & 0x03)); + rgb_t rgb = rgb_matrix_hsv_to_rgb(hsv); rgb_matrix_set_color(i, rgb.r, rgb.g, rgb.b); for (uint8_t i = 1; i < 18; i++) { rgb_matrix_set_color(i, 0x00, 0x00, 0x00); @@ -287,7 +287,7 @@ static void raindrops_set_color_esc(int i, effect_params_t* params) { static void raindrops_set_color_f13(int i, effect_params_t* params) { if (!HAS_ANY_FLAGS(g_led_config.flags[i], params->flags)) return; - HSV hsv = {0, rgb_matrix_config.hsv.s, rgb_matrix_config.hsv.v}; + hsv_t hsv = {0, rgb_matrix_config.hsv.s, rgb_matrix_config.hsv.v}; // Take the shortest path between hues int16_t deltaH = ((rgb_matrix_config.hsv.h + 180) % 360 - rgb_matrix_config.hsv.h) / 4; @@ -297,8 +297,8 @@ static void raindrops_set_color_f13(int i, effect_params_t* params) { deltaH += 256; } - hsv.h = rgb_matrix_config.hsv.h + (deltaH * (rand() & 0x03)); - RGB rgb = rgb_matrix_hsv_to_rgb(hsv); + hsv.h = rgb_matrix_config.hsv.h + (deltaH * (rand() & 0x03)); + rgb_t rgb = rgb_matrix_hsv_to_rgb(hsv); rgb_matrix_set_color(i, rgb.r, rgb.g, rgb.b); rgb_matrix_set_color(15, 0x00, 0x00, 0x00); rgb_matrix_set_color(16, 0x00, 0x00, 0x00); @@ -310,7 +310,7 @@ static void raindrops_set_color_f13(int i, effect_params_t* params) { static void raindrops_set_color_clus(int i, effect_params_t* params) { if (!HAS_ANY_FLAGS(g_led_config.flags[i], params->flags)) return; - HSV hsv = {0, rgb_matrix_config.hsv.s, rgb_matrix_config.hsv.v}; + hsv_t hsv = {0, rgb_matrix_config.hsv.s, rgb_matrix_config.hsv.v}; // Take the shortest path between hues int16_t deltaH = ((rgb_matrix_config.hsv.h + 180) % 360 - rgb_matrix_config.hsv.h) / 4; @@ -320,43 +320,43 @@ static void raindrops_set_color_clus(int i, effect_params_t* params) { deltaH += 256; } - hsv.h = rgb_matrix_config.hsv.h + (deltaH * (rand() & 0x03)); - RGB rgb = rgb_matrix_hsv_to_rgb(hsv); + hsv.h = rgb_matrix_config.hsv.h + (deltaH * (rand() & 0x03)); + rgb_t rgb = rgb_matrix_hsv_to_rgb(hsv); rgb_matrix_set_color(i, rgb.r, rgb.g, rgb.b); for (uint8_t i = 0; i < 15; i++) { rgb_matrix_set_color(i, 0x00, 0x00, 0x00); } } -static HSV BAND_VAL_CUSTOM(HSV hsv, uint8_t i, uint8_t time) { +static hsv_t BAND_VAL_CUSTOM(hsv_t hsv, uint8_t i, uint8_t time) { int16_t v = hsv.v - abs(scale8(g_led_config.point[i].x, 228) + 28 - time) * 8; hsv.v = scale8(v < 0 ? 0 : v, hsv.v); return hsv; } -static HSV CYCLE_UP_DOWN_CUSTOM(HSV hsv, uint8_t i, uint8_t time) { +static hsv_t CYCLE_UP_DOWN_CUSTOM(hsv_t hsv, uint8_t i, uint8_t time) { hsv.h = g_led_config.point[i].y - time; return hsv; } -static HSV CYCLE_OUT_IN_DUAL_CUSTOM(HSV hsv, int16_t dx, int16_t dy, uint8_t time) { +static hsv_t CYCLE_OUT_IN_DUAL_CUSTOM(hsv_t hsv, int16_t dx, int16_t dy, uint8_t time) { dx = (k_rgb_matrix_center.x / 2) - abs8(dx); uint8_t dist = sqrt16(dx * dx + dy * dy); hsv.h = 3 * dist + time; return hsv; } -static HSV RAINBOW_MOVING_CHEVRON_CUSTOM(HSV hsv, uint8_t i, uint8_t time) { +static hsv_t RAINBOW_MOVING_CHEVRON_CUSTOM(hsv_t hsv, uint8_t i, uint8_t time) { hsv.h += abs8(g_led_config.point[i].y - k_rgb_matrix_center.y) + (g_led_config.point[i].x - time); return hsv; } -static HSV CYCLE_PINWHEEL_CUSTOM(HSV hsv, int16_t dx, int16_t dy, uint8_t time) { +static hsv_t CYCLE_PINWHEEL_CUSTOM(hsv_t hsv, int16_t dx, int16_t dy, uint8_t time) { hsv.h = atan2_8(dy, dx) + time; return hsv; } -static HSV RAINBOW_BEACON_CUSTOM(HSV hsv, int8_t sin, int8_t cos, uint8_t i, uint8_t time) { +static hsv_t RAINBOW_BEACON_CUSTOM(hsv_t hsv, int8_t sin, int8_t cos, uint8_t i, uint8_t time) { hsv.h += ((g_led_config.point[i].y - k_rgb_matrix_center.y) * 2 * cos + (g_led_config.point[i].x - k_rgb_matrix_center.x) * 2 * sin) / 128; return hsv; } @@ -365,8 +365,8 @@ static HSV RAINBOW_BEACON_CUSTOM(HSV hsv, int8_t sin, int8_t cos, uint8_t i, uin // Solid ESC static bool solid_esc(effect_params_t* params) { - HSV hsv = rgb_matrix_config.hsv; - RGB rgb = hsv_to_rgb(hsv); + hsv_t hsv = rgb_matrix_config.hsv; + rgb_t rgb = hsv_to_rgb(hsv); RGB_MATRIX_USE_LIMITS(led_min, led_max); for (uint8_t i = led_min ; i < led_max; i++) { rgb_matrix_set_color(i, 0x00, 0x00, 0x00); @@ -380,8 +380,8 @@ static bool solid_esc(effect_params_t* params) { // Solid F13 static bool solid_f13(effect_params_t* params) { - HSV hsv = rgb_matrix_config.hsv; - RGB rgb = hsv_to_rgb(hsv); + hsv_t hsv = rgb_matrix_config.hsv; + rgb_t rgb = hsv_to_rgb(hsv); RGB_MATRIX_USE_LIMITS(led_min, led_max); for (uint8_t i = led_min ; i < led_max; i++) { rgb_matrix_set_color(i, 0x00, 0x00, 0x00); @@ -395,8 +395,8 @@ static bool solid_f13(effect_params_t* params) { // Solid cluster static bool solid_clus(effect_params_t* params) { - HSV hsv = rgb_matrix_config.hsv; - RGB rgb = hsv_to_rgb(hsv); + hsv_t hsv = rgb_matrix_config.hsv; + rgb_t rgb = hsv_to_rgb(hsv); RGB_MATRIX_USE_LIMITS(led_min, led_max); for (uint8_t i = led_min ; i < led_max; i++) { rgb_matrix_set_color(i, 0x00, 0x00, 0x00); @@ -412,10 +412,10 @@ static bool solid_clus(effect_params_t* params) { bool breathing_all(effect_params_t* params) { RGB_MATRIX_USE_LIMITS(led_min, led_max); - HSV hsv = rgb_matrix_config.hsv; + hsv_t hsv = rgb_matrix_config.hsv; uint16_t time = scale16by8(g_rgb_timer, rgb_matrix_config.speed / 8); hsv.v = scale8(abs8(sin8(time) - 128) * 2, hsv.v); - RGB rgb = rgb_matrix_hsv_to_rgb(hsv); + rgb_t rgb = rgb_matrix_hsv_to_rgb(hsv); for (uint8_t i = led_min; i < led_max; i++) { RGB_MATRIX_TEST_LED_FLAGS(); rgb_matrix_set_color(i, rgb.r, rgb.g, rgb.b); @@ -427,10 +427,10 @@ bool breathing_all(effect_params_t* params) { static bool breathing_esc(effect_params_t* params) { RGB_MATRIX_USE_LIMITS(led_min, led_max); - HSV hsv = rgb_matrix_config.hsv; + hsv_t hsv = rgb_matrix_config.hsv; uint16_t time = scale16by8(g_rgb_timer, rgb_matrix_config.speed / 8); hsv.v = scale8(abs8(sin8(time) - 128) * 2, hsv.v); - RGB rgb = rgb_matrix_hsv_to_rgb(hsv); + rgb_t rgb = rgb_matrix_hsv_to_rgb(hsv); for (uint8_t i = led_min ; i < led_max; i++) { rgb_matrix_set_color(i, 0x00, 0x00, 0x00); } @@ -446,10 +446,10 @@ static bool breathing_esc(effect_params_t* params) { static bool breathing_f13(effect_params_t* params) { RGB_MATRIX_USE_LIMITS(led_min, led_max); - HSV hsv = rgb_matrix_config.hsv; + hsv_t hsv = rgb_matrix_config.hsv; uint16_t time = scale16by8(g_rgb_timer, rgb_matrix_config.speed / 8); hsv.v = scale8(abs8(sin8(time) - 128) * 2, hsv.v); - RGB rgb = rgb_matrix_hsv_to_rgb(hsv); + rgb_t rgb = rgb_matrix_hsv_to_rgb(hsv); for (uint8_t i = led_min ; i < led_max; i++) { rgb_matrix_set_color(i, 0x00, 0x00, 0x00); } @@ -465,10 +465,10 @@ static bool breathing_f13(effect_params_t* params) { static bool breathing_clus(effect_params_t* params) { RGB_MATRIX_USE_LIMITS(led_min, led_max); - HSV hsv = rgb_matrix_config.hsv; + hsv_t hsv = rgb_matrix_config.hsv; uint16_t time = scale16by8(g_rgb_timer, rgb_matrix_config.speed / 8); hsv.v = scale8(abs8(sin8(time) - 128) * 2, hsv.v); - RGB rgb = rgb_matrix_hsv_to_rgb(hsv); + rgb_t rgb = rgb_matrix_hsv_to_rgb(hsv); for (uint8_t i = led_min ; i < led_max; i++) { rgb_matrix_set_color(i, 0x00, 0x00, 0x00); } diff --git a/keyboards/ml/gas75/keymaps/default/keymap.c b/keyboards/ml/gas75/keymaps/default/keymap.c index 085c61f2ece..8e61e104ed4 100644 --- a/keyboards/ml/gas75/keymaps/default/keymap.c +++ b/keyboards/ml/gas75/keymaps/default/keymap.c @@ -168,10 +168,10 @@ const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][NUM_DIRECTIONS] = { bool rgb_matrix_indicators_user(void) { rgb_matrix_set_color(2, 0, 0, 0); - HSV hsv = rgb_matrix_config.hsv; + hsv_t hsv = rgb_matrix_config.hsv; uint8_t time = scale16by8(g_rgb_timer, qadd8(32, 1)); hsv.h = time; - RGB rgb = hsv_to_rgb(hsv); + rgb_t rgb = hsv_to_rgb(hsv); if ((rgb_matrix_get_flags() & LED_FLAG_KEYLIGHT)) { if (host_keyboard_led_state().caps_lock) { diff --git a/keyboards/mss_studio/m63_rgb/keymaps/default/keymap.c b/keyboards/mss_studio/m63_rgb/keymaps/default/keymap.c index df2f0d924c8..8a59f2ec9f5 100644 --- a/keyboards/mss_studio/m63_rgb/keymaps/default/keymap.c +++ b/keyboards/mss_studio/m63_rgb/keymaps/default/keymap.c @@ -169,10 +169,10 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) { } bool rgb_matrix_indicators_user(void) { - HSV hsv = rgb_matrix_config.hsv; + hsv_t hsv = rgb_matrix_config.hsv; uint8_t time = scale16by8(g_rgb_timer, qadd8(32, 1)); hsv.h = time; - RGB rgb = hsv_to_rgb(hsv); + rgb_t rgb = hsv_to_rgb(hsv); if ((rgb_matrix_get_flags() & LED_FLAG_KEYLIGHT)) { if (host_keyboard_led_state().caps_lock) { diff --git a/keyboards/mss_studio/m64_rgb/keymaps/default/keymap.c b/keyboards/mss_studio/m64_rgb/keymaps/default/keymap.c index 95a30994aed..c3879b2b614 100644 --- a/keyboards/mss_studio/m64_rgb/keymaps/default/keymap.c +++ b/keyboards/mss_studio/m64_rgb/keymaps/default/keymap.c @@ -165,10 +165,10 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) { } bool rgb_matrix_indicators_user(void) { - HSV hsv = rgb_matrix_config.hsv; + hsv_t hsv = rgb_matrix_config.hsv; uint8_t time = scale16by8(g_rgb_timer, qadd8(32, 1)); hsv.h = time; - RGB rgb = hsv_to_rgb(hsv); + rgb_t rgb = hsv_to_rgb(hsv); if ((rgb_matrix_get_flags() & LED_FLAG_KEYLIGHT)) { if (host_keyboard_led_state().caps_lock) { diff --git a/keyboards/neson_design/700e/700e.c b/keyboards/neson_design/700e/700e.c index cee22cf78dc..810e311b28a 100644 --- a/keyboards/neson_design/700e/700e.c +++ b/keyboards/neson_design/700e/700e.c @@ -103,9 +103,9 @@ static void update_ticks(void) static void self_testing(void) { if (timer_elapsed(rgb_state.ticks) < ST_INTERVAL) return; - HSV hsv = rgblight_get_hsv(); + hsv_t hsv = rgblight_get_hsv(); - RGB led = hsv_to_rgb(hsv); + rgb_t led = hsv_to_rgb(hsv); switch(rgb_state.testing) { case ST_STAGE_1: if (rgb_state.index !=0 ) { diff --git a/keyboards/neson_design/n6/n6.c b/keyboards/neson_design/n6/n6.c index 03bb88c40b5..e4538257f1e 100644 --- a/keyboards/neson_design/n6/n6.c +++ b/keyboards/neson_design/n6/n6.c @@ -104,12 +104,12 @@ static void update_ticks(void) static void self_testing(void) { if (timer_elapsed(rgb_state.ticks) < ST_INTERVAL) return; - HSV hsv; + hsv_t hsv; hsv.h = rgblight_config.hue; hsv.s = rgblight_config.sat; hsv.v = rgblight_config.val; - RGB led = hsv_to_rgb(hsv); + rgb_t led = hsv_to_rgb(hsv); switch(rgb_state.testing) { case ST_STAGE_1: if (rgb_state.index !=0 ) { diff --git a/keyboards/percent/canoe_gen2/rgb_matrix_kb.inc b/keyboards/percent/canoe_gen2/rgb_matrix_kb.inc index 94ff62b3a8c..3839fbfe4fb 100644 --- a/keyboards/percent/canoe_gen2/rgb_matrix_kb.inc +++ b/keyboards/percent/canoe_gen2/rgb_matrix_kb.inc @@ -22,8 +22,8 @@ RGB_MATRIX_EFFECT(indicator_static) #ifdef RGB_MATRIX_CUSTOM_EFFECT_IMPLS static bool indicator_static(effect_params_t* params) { - HSV hsv = rgb_matrix_config.hsv; - RGB rgb = hsv_to_rgb(hsv); + hsv_t hsv = rgb_matrix_config.hsv; + rgb_t rgb = hsv_to_rgb(hsv); RGB_MATRIX_USE_LIMITS(led_min, led_max); for (uint8_t i = led_min; i < 74; i++) { rgb_matrix_set_color(i, 0x00, 0x00, 0x00); @@ -43,21 +43,21 @@ bool effect_runner_indicator(effect_params_t* params, i_f effect_func) { rgb_matrix_set_color(i, 0x00, 0x00, 0x00); } else { RGB_MATRIX_TEST_LED_FLAGS(); - RGB rgb = hsv_to_rgb(effect_func(rgb_matrix_config.hsv, (i - 74), time)); + rgb_t rgb = hsv_to_rgb(effect_func(rgb_matrix_config.hsv, (i - 74), time)); rgb_matrix_set_color(i, rgb.r, rgb.g, rgb.b); } } return rgb_matrix_check_finished_leds(led_max); } -static HSV indicator_gradient_math(HSV hsv, uint8_t i, uint8_t time) { +static hsv_t indicator_gradient_math(hsv_t hsv, uint8_t i, uint8_t time) { hsv.h = g_led_config.point[i].x - time; return hsv; } bool indicator_gradient(effect_params_t* params) { return effect_runner_indicator(params, &indicator_gradient_math); } -static HSV indicator_cycle_all_math(HSV hsv, uint8_t i, uint8_t time) { +static hsv_t indicator_cycle_all_math(hsv_t hsv, uint8_t i, uint8_t time) { hsv.h = time; return hsv; } diff --git a/keyboards/phage_studio/pila87/pila87.c b/keyboards/phage_studio/pila87/pila87.c index 8e72fb4e850..619623cc09a 100644 --- a/keyboards/phage_studio/pila87/pila87.c +++ b/keyboards/phage_studio/pila87/pila87.c @@ -73,10 +73,10 @@ bool rgb_matrix_indicators_kb(void) { return false; } - HSV hsv = rgb_matrix_config.hsv; + hsv_t hsv = rgb_matrix_config.hsv; uint8_t time = scale16by8(g_rgb_timer, qadd8(32, 1)); hsv.h = time; - RGB rgb = hsv_to_rgb(hsv); + rgb_t rgb = hsv_to_rgb(hsv); if (host_keyboard_led_state().caps_lock) { rgb_matrix_set_color(40, rgb.r, rgb.g, rgb.b); diff --git a/keyboards/rgbkb/sol3/rev1/rev1.c b/keyboards/rgbkb/sol3/rev1/rev1.c index 89ec391f660..086ce0af019 100644 --- a/keyboards/rgbkb/sol3/rev1/rev1.c +++ b/keyboards/rgbkb/sol3/rev1/rev1.c @@ -27,7 +27,7 @@ const encodermap_t touch_encoder_map[NUMBER_OF_TOUCH_ENCODERS][TOUCH_ENCODER_OPT static bool limit_lightning = true; -RGB rgb_matrix_hsv_to_rgb(HSV hsv) { +RGB rgb_matrix_hsv_to_rgb(hsv_t hsv) { if (limit_lightning) hsv.v /= 2; return hsv_to_rgb(hsv); } diff --git a/keyboards/s_ol/0xc_pad/keymaps/default/rgb_matrix_user.inc b/keyboards/s_ol/0xc_pad/keymaps/default/rgb_matrix_user.inc index 8acb4934bc4..2c635c913c8 100644 --- a/keyboards/s_ol/0xc_pad/keymaps/default/rgb_matrix_user.inc +++ b/keyboards/s_ol/0xc_pad/keymaps/default/rgb_matrix_user.inc @@ -16,7 +16,7 @@ RGB_MATRIX_EFFECT(RGB_TESTING) #ifdef RGB_MATRIX_CUSTOM_EFFECT_IMPLS -static HSV RGB_TESTING_math(HSV hsv, uint8_t i, uint8_t time) { +static hsv_t RGB_TESTING_math(hsv_t hsv, uint8_t i, uint8_t time) { hsv.v = 255; hsv.s = 255; diff --git a/keyboards/steelseries/prime_plus/rgblight_custom.c b/keyboards/steelseries/prime_plus/rgblight_custom.c index d2be7892038..27360525874 100644 --- a/keyboards/steelseries/prime_plus/rgblight_custom.c +++ b/keyboards/steelseries/prime_plus/rgblight_custom.c @@ -12,7 +12,7 @@ static PWMConfig pwmCFG = { .period = 256, }; -rgb_led_t prime_leds[RGBLIGHT_LED_COUNT]; +rgb_t prime_leds[RGBLIGHT_LED_COUNT]; void init_custom(void) { palSetPadMode(PAL_PORT(RGB_RED_PIN), PAL_PAD(RGB_RED_PIN), PAL_MODE_ALTERNATE_PUSHPULL); diff --git a/keyboards/system76/launch_1/rgb_matrix_kb.inc b/keyboards/system76/launch_1/rgb_matrix_kb.inc index f29183dde0e..abde7aae197 100644 --- a/keyboards/system76/launch_1/rgb_matrix_kb.inc +++ b/keyboards/system76/launch_1/rgb_matrix_kb.inc @@ -46,7 +46,7 @@ static bool active_keys(effect_params_t* params) { RGB_MATRIX_USE_LIMITS(led_min, led_max); uint8_t layer = get_highest_layer(layer_state); - RGB rgb = hsv_to_rgb(rgb_matrix_config.hsv); + rgb_t rgb = hsv_to_rgb(rgb_matrix_config.hsv); for (uint8_t i = led_min; i < led_max; i++) { RGB_MATRIX_TEST_LED_FLAGS(); @@ -69,7 +69,7 @@ static bool active_keys(effect_params_t* params) { return led_max < RGB_MATRIX_LED_COUNT; } -RGB raw_rgb_data[RGB_MATRIX_LED_COUNT] = {0}; +rgb_t raw_rgb_data[RGB_MATRIX_LED_COUNT] = {0}; static uint8_t normalize_component(uint8_t component) { uint16_t x = (uint16_t)component; @@ -78,9 +78,9 @@ static uint8_t normalize_component(uint8_t component) { return (uint8_t)x; } -static RGB normalize_index(uint8_t i) { - RGB raw = raw_rgb_data[i]; - RGB rgb = { +static rgb_t normalize_index(uint8_t i) { + rgb_t raw = raw_rgb_data[i]; + rgb_t rgb = { .r = normalize_component(raw.r), .g = normalize_component(raw.g), .b = normalize_component(raw.b), @@ -92,7 +92,7 @@ static bool raw_rgb(effect_params_t* params) { RGB_MATRIX_USE_LIMITS(led_min, led_max); for (uint8_t i = led_min; i < led_max; i++) { RGB_MATRIX_TEST_LED_FLAGS(); - RGB rgb = normalize_index(i); + rgb_t rgb = normalize_index(i); rgb_matrix_set_color(i, rgb.r, rgb.g, rgb.b); } return led_max < RGB_MATRIX_LED_COUNT; @@ -137,7 +137,7 @@ static bool unlocked(effect_params_t* params) { for (uint8_t i = led_min; i < led_max; i++) { RGB_MATRIX_TEST_LED_FLAGS(); - HSV hsv = { + hsv_t hsv = { .h = i + unlocked_ticks, .s = 0xFF, .v = 0x70, @@ -149,7 +149,7 @@ static bool unlocked(effect_params_t* params) { } } - RGB rgb = hsv_to_rgb(hsv); + rgb_t rgb = hsv_to_rgb(hsv); rgb_matrix_set_color(i, rgb.r, rgb.g, rgb.b); } return led_max < RGB_MATRIX_LED_COUNT; diff --git a/keyboards/system76/system76_ec.c b/keyboards/system76/system76_ec.c index 1b7955e19bf..cce60a5deac 100644 --- a/keyboards/system76/system76_ec.c +++ b/keyboards/system76/system76_ec.c @@ -135,7 +135,7 @@ static enum rgb_matrix_effects mode_map[] = { _Static_assert(sizeof(mode_map) == MODE_LAST, "mode_map_length"); -RGB raw_rgb_data[RGB_MATRIX_LED_COUNT]; +rgb_t raw_rgb_data[RGB_MATRIX_LED_COUNT]; // clang-format off rgb_config_t layer_rgb[DYNAMIC_KEYMAP_LAYER_COUNT] = { @@ -322,7 +322,7 @@ void raw_hid_receive(uint8_t *data, uint8_t length) { if (!bootloader_unlocked) { uint8_t index = data[2]; - RGB rgb = { + rgb_t rgb = { .r = data[3], .g = data[4], .b = data[5], diff --git a/keyboards/teleport/native/ansi/keymaps/default/keymap.c b/keyboards/teleport/native/ansi/keymaps/default/keymap.c index 60983df4351..692aa49359f 100644 --- a/keyboards/teleport/native/ansi/keymaps/default/keymap.c +++ b/keyboards/teleport/native/ansi/keymaps/default/keymap.c @@ -57,8 +57,8 @@ and sets val to RGB_MATRIX_MAXIMUM_BRIGHTNESS (by default, 255) This is applied to both caps lock, and other indicator keys for layer 1 */ bool rgb_matrix_indicators_user(void) { - HSV hsv_ind = {rgb_matrix_get_hue()+30,255,RGB_MATRIX_MAXIMUM_BRIGHTNESS}; - RGB rgb_ind = hsv_to_rgb(hsv_ind); + hsv_t hsv_ind = {rgb_matrix_get_hue()+30,255,RGB_MATRIX_MAXIMUM_BRIGHTNESS}; + rgb_t rgb_ind = hsv_to_rgb(hsv_ind); /* Sets Caps to different color as indicator. If RGB mode is rain, and caps indicator is off, the LED will always be off. This is to avoid having the LED persist on until the animation randomly refreshes it. */ @@ -70,8 +70,8 @@ bool rgb_matrix_indicators_user(void) { /* Sets W, A, S, D, LGUI to a different color as layer indicator */ if(IS_LAYER_ON(1)) { - HSV hsv_ind = {rgb_matrix_get_hue()+30,255,RGB_MATRIX_MAXIMUM_BRIGHTNESS}; - RGB rgb_ind = hsv_to_rgb(hsv_ind); + hsv_t hsv_ind = {rgb_matrix_get_hue()+30,255,RGB_MATRIX_MAXIMUM_BRIGHTNESS}; + rgb_t rgb_ind = hsv_to_rgb(hsv_ind); rgb_matrix_set_color(W_LED_INDEX, rgb_ind.r, rgb_ind.g, rgb_ind.b); rgb_matrix_set_color(A_LED_INDEX, rgb_ind.r, rgb_ind.g, rgb_ind.b); @@ -85,8 +85,8 @@ bool rgb_matrix_indicators_user(void) { layer_state_t layer_state_set_user(layer_state_t state) { /* If reverting to base layer (no special LED effects) and rain animation is on, set "layer 1" mods back to matrix color to avoid single key persistence*/ if(!IS_LAYER_ON_STATE(state, 1) && rgb_matrix_get_mode() == 10) { - HSV hsv_mat = rgb_matrix_get_hsv(); - RGB rgb_mat = hsv_to_rgb(hsv_mat); + hsv_t hsv_mat = rgb_matrix_get_hsv(); + rgb_t rgb_mat = hsv_to_rgb(hsv_mat); rgb_matrix_set_color(W_LED_INDEX, rgb_mat.r, rgb_mat.g, rgb_mat.b); rgb_matrix_set_color(A_LED_INDEX, rgb_mat.r, rgb_mat.g, rgb_mat.b); diff --git a/keyboards/teleport/native/iso/keymaps/default/keymap.c b/keyboards/teleport/native/iso/keymaps/default/keymap.c index 68105f0a021..1f226c6358d 100644 --- a/keyboards/teleport/native/iso/keymaps/default/keymap.c +++ b/keyboards/teleport/native/iso/keymaps/default/keymap.c @@ -57,8 +57,8 @@ and sets val to RGB_MATRIX_MAXIMUM_BRIGHTNESS (by default, 255) This is applied to both caps lock, and other indicator keys for layer 1 */ bool rgb_matrix_indicators_user(void) { - HSV hsv_ind = {rgb_matrix_get_hue()+30,255,RGB_MATRIX_MAXIMUM_BRIGHTNESS}; - RGB rgb_ind = hsv_to_rgb(hsv_ind); + hsv_t hsv_ind = {rgb_matrix_get_hue()+30,255,RGB_MATRIX_MAXIMUM_BRIGHTNESS}; + rgb_t rgb_ind = hsv_to_rgb(hsv_ind); /* Sets Caps to different color as indicator. If RGB mode is rain, and caps indicator is off, the LED will always be off. This is to avoid having the LED persist on until the animation randomly refreshes it. */ @@ -70,8 +70,8 @@ bool rgb_matrix_indicators_user(void) { /* Sets W, A, S, D, LGUI to a different color as layer indicator */ if(IS_LAYER_ON(1)) { - HSV hsv_ind = {rgb_matrix_get_hue()+30,255,RGB_MATRIX_MAXIMUM_BRIGHTNESS}; - RGB rgb_ind = hsv_to_rgb(hsv_ind); + hsv_t hsv_ind = {rgb_matrix_get_hue()+30,255,RGB_MATRIX_MAXIMUM_BRIGHTNESS}; + rgb_t rgb_ind = hsv_to_rgb(hsv_ind); rgb_matrix_set_color(W_LED_INDEX, rgb_ind.r, rgb_ind.g, rgb_ind.b); rgb_matrix_set_color(A_LED_INDEX, rgb_ind.r, rgb_ind.g, rgb_ind.b); @@ -85,8 +85,8 @@ bool rgb_matrix_indicators_user(void) { layer_state_t layer_state_set_user(layer_state_t state) { /* If reverting to base layer (no special LED effects) and rain animation is on, set "layer 1" mods back to matrix color to avoid single key persistence*/ if(!IS_LAYER_ON_STATE(state, 1) && rgb_matrix_get_mode() == 10) { - HSV hsv_mat = rgb_matrix_get_hsv(); - RGB rgb_mat = hsv_to_rgb(hsv_mat); + hsv_t hsv_mat = rgb_matrix_get_hsv(); + rgb_t rgb_mat = hsv_to_rgb(hsv_mat); rgb_matrix_set_color(W_LED_INDEX, rgb_mat.r, rgb_mat.g, rgb_mat.b); rgb_matrix_set_color(A_LED_INDEX, rgb_mat.r, rgb_mat.g, rgb_mat.b); diff --git a/keyboards/teleport/native/rgb_matrix_kb.inc b/keyboards/teleport/native/rgb_matrix_kb.inc index 5df5312a42c..383a751ee1a 100644 --- a/keyboards/teleport/native/rgb_matrix_kb.inc +++ b/keyboards/teleport/native/rgb_matrix_kb.inc @@ -18,13 +18,13 @@ static bool SINGLE_COLOR_RAINDROPS(effect_params_t* params) { } // Take matrix color, add between -5 and +5 to hue, random brightness between 0 and val, set to 0 if val between 0 and 5, then write to LED - HSV hsv = rgb_matrix_get_hsv(); + hsv_t hsv = rgb_matrix_get_hsv(); hsv.h = rgb_matrix_get_hue() - 2 + random8() % 5; hsv.v = random8() % rgb_matrix_get_val(); if (hsv.v < 5) { hsv.v = 0; } - RGB rgb = rgb_matrix_hsv_to_rgb(hsv); + rgb_t rgb = rgb_matrix_hsv_to_rgb(hsv); rgb_matrix_set_color(i, rgb.r, rgb.g, rgb.b); wait_timer = g_rgb_timer + interval(); } @@ -51,7 +51,7 @@ bool STATIC_GAME_MODE(effect_params_t* params) { return; } - HSV hsv = rgb_matrix_get_hsv(); + hsv_t hsv = rgb_matrix_get_hsv(); switch (i) { case W_LED_INDEX: @@ -92,7 +92,7 @@ bool STATIC_GAME_MODE(effect_params_t* params) { break; } - RGB rgb = hsv_to_rgb(hsv); + rgb_t rgb = hsv_to_rgb(hsv); rgb_matrix_set_color(i, rgb.r, rgb.g, rgb.b); } diff --git a/keyboards/tzarc/djinn/djinn.c b/keyboards/tzarc/djinn/djinn.c index a104710b038..9723a31a600 100644 --- a/keyboards/tzarc/djinn/djinn.c +++ b/keyboards/tzarc/djinn/djinn.c @@ -87,7 +87,7 @@ void keyboard_post_init_kb(void) { // RGB brightness scaling dependent on USBPD state #if defined(RGB_MATRIX_ENABLE) -RGB rgb_matrix_hsv_to_rgb(HSV hsv) { +rgb_t rgb_matrix_hsv_to_rgb(hsv_t hsv) { float scale; # ifdef DJINN_SUPPORTS_3A_FUSE diff --git a/keyboards/wekey/we27/rgb_matrix_kb.inc b/keyboards/wekey/we27/rgb_matrix_kb.inc index a7eeffbbe93..167a60fb577 100644 --- a/keyboards/wekey/we27/rgb_matrix_kb.inc +++ b/keyboards/wekey/we27/rgb_matrix_kb.inc @@ -6,13 +6,13 @@ RGB_MATRIX_EFFECT(SOLID_REACTIVE_MULTIWIDE2) #ifdef RGB_MATRIX_CUSTOM_EFFECT_IMPLS -static HSV SOLID_REACTIVE_WIDE_math2(HSV hsv, int16_t dx, int16_t dy, uint8_t dist, uint16_t tick) { +static hsv_t SOLID_REACTIVE_WIDE_math2(hsv_t hsv, int16_t dx, int16_t dy, uint8_t dist, uint16_t tick) { uint16_t effect = tick - dist > 255 || dist > 32 ? 255 : tick - dist; hsv.v = qadd8(hsv.v, 255 - effect); return hsv; } -static HSV SOLID_REACTIVE_NEXUS_math2(HSV hsv, int16_t dx, int16_t dy, uint8_t dist, uint16_t tick) { +static hsv_t SOLID_REACTIVE_NEXUS_math2(hsv_t hsv, int16_t dx, int16_t dy, uint8_t dist, uint16_t tick) { uint16_t effect = tick - dist > 255 || ((dx > 8 || dx < -8) && (dy > 8 || dy < -8)) ? 255 : tick - dist; hsv.v = qadd8(hsv.v, 255 - effect); hsv.h = rgb_matrix_config.hsv.h + dy / 4; diff --git a/keyboards/wilba_tech/wt_mono_backlight.c b/keyboards/wilba_tech/wt_mono_backlight.c index 1426e09fc6f..01fefc8ecc1 100644 --- a/keyboards/wilba_tech/wt_mono_backlight.c +++ b/keyboards/wilba_tech/wt_mono_backlight.c @@ -150,8 +150,8 @@ void backlight_effect_cycle_all(void) void backlight_effect_indicators(void) { #if defined(MONO_BACKLIGHT_WT75_A) - HSV hsv = { .h = g_config.color_1.h, .s = g_config.color_1.s, .v = g_config.brightness }; - RGB rgb = hsv_to_rgb( hsv ); + hsv_t hsv = { .h = g_config.color_1.h, .s = g_config.color_1.s, .v = g_config.brightness }; + rgb_t rgb = hsv_to_rgb( hsv ); // SW7,CS8 = (6*8+7) = 55 // SW8,CS8 = (7*8+7) = 63 // SW9,CS8 = (8*8+7) = 71 diff --git a/keyboards/wilba_tech/wt_rgb_backlight.c b/keyboards/wilba_tech/wt_rgb_backlight.c index 645ee2b32a8..e52d002060a 100644 --- a/keyboards/wilba_tech/wt_rgb_backlight.c +++ b/keyboards/wilba_tech/wt_rgb_backlight.c @@ -1258,16 +1258,16 @@ void backlight_effect_all_off(void) // Solid color void backlight_effect_solid_color(void) { - HSV hsv = { .h = g_config.color_1.h, .s = g_config.color_1.s, .v = g_config.brightness }; - RGB rgb = hsv_to_rgb( hsv ); + hsv_t hsv = { .h = g_config.color_1.h, .s = g_config.color_1.s, .v = g_config.brightness }; + rgb_t rgb = hsv_to_rgb( hsv ); backlight_set_color_all( rgb.r, rgb.g, rgb.b ); } // alphas = color1, mods = color2 void backlight_effect_alphas_mods(void) { - RGB rgb1 = hsv_to_rgb( (HSV){ .h = g_config.color_1.h, .s = g_config.color_1.s, .v = g_config.brightness } ); - RGB rgb2 = hsv_to_rgb( (HSV){ .h = g_config.color_2.h, .s = g_config.color_2.s, .v = g_config.brightness } ); + rgb_t rgb1 = hsv_to_rgb( (hsv_t){ .h = g_config.color_1.h, .s = g_config.color_1.s, .v = g_config.brightness } ); + rgb_t rgb2 = hsv_to_rgb( (hsv_t){ .h = g_config.color_2.h, .s = g_config.color_2.s, .v = g_config.brightness } ); bool is_alpha = false; for ( int row = 0; row < MATRIX_ROWS; row++ ) { @@ -1352,8 +1352,8 @@ void backlight_effect_gradient_up_down(void) int16_t s2 = g_config.color_2.s; int16_t deltaS = ( s2 - s1 ) / 4; - HSV hsv = { .h = 0, .s = 255, .v = g_config.brightness }; - RGB rgb; + hsv_t hsv = { .h = 0, .s = 255, .v = g_config.brightness }; + rgb_t rgb; Point point; for ( int i=0; i Date: Sat, 12 Oct 2024 20:18:23 +0100 Subject: [PATCH 063/124] keebio/nyquist: Remove invalid I2C config (#24479) --- keyboards/keebio/nyquist/rev4/config.h | 4 ---- keyboards/keebio/nyquist/rev5/config.h | 4 ---- 2 files changed, 8 deletions(-) diff --git a/keyboards/keebio/nyquist/rev4/config.h b/keyboards/keebio/nyquist/rev4/config.h index e1e2d994583..0a0f7881281 100644 --- a/keyboards/keebio/nyquist/rev4/config.h +++ b/keyboards/keebio/nyquist/rev4/config.h @@ -12,7 +12,3 @@ #define RP2040_BOOTLOADER_DOUBLE_TAP_RESET #define RP2040_BOOTLOADER_DOUBLE_TAP_RESET_TIMEOUT 1000U - -#define I2C_DRIVER I2CD0 -#define I2C0_SDA_PIN GP4 -#define I2C0_SCL_PIN GP5 diff --git a/keyboards/keebio/nyquist/rev5/config.h b/keyboards/keebio/nyquist/rev5/config.h index 8a88c21c891..c4bbd6c5b20 100644 --- a/keyboards/keebio/nyquist/rev5/config.h +++ b/keyboards/keebio/nyquist/rev5/config.h @@ -14,7 +14,3 @@ #define RP2040_BOOTLOADER_DOUBLE_TAP_RESET #define RP2040_BOOTLOADER_DOUBLE_TAP_RESET_TIMEOUT 1000U - -#define I2C_DRIVER I2CD0 -#define I2C0_SDA_PIN GP4 -#define I2C0_SCL_PIN GP5 From d0d170e6a04799d72279c1ebc56726a17d0564a6 Mon Sep 17 00:00:00 2001 From: Joel Challis Date: Sat, 12 Oct 2024 20:19:18 +0100 Subject: [PATCH 064/124] xiudi/xd002: Remove broken oversized `multilayer_rgb` keymap (#24480) --- .../xd002/keymaps/multilayer_rgb/config.h | 22 --- .../xd002/keymaps/multilayer_rgb/keymap.c | 174 ------------------ .../xd002/keymaps/multilayer_rgb/rgblite.h | 13 -- .../xd002/keymaps/multilayer_rgb/rules.mk | 2 - 4 files changed, 211 deletions(-) delete mode 100644 keyboards/xiudi/xd002/keymaps/multilayer_rgb/config.h delete mode 100644 keyboards/xiudi/xd002/keymaps/multilayer_rgb/keymap.c delete mode 100644 keyboards/xiudi/xd002/keymaps/multilayer_rgb/rgblite.h delete mode 100644 keyboards/xiudi/xd002/keymaps/multilayer_rgb/rules.mk diff --git a/keyboards/xiudi/xd002/keymaps/multilayer_rgb/config.h b/keyboards/xiudi/xd002/keymaps/multilayer_rgb/config.h deleted file mode 100644 index f478baf3b37..00000000000 --- a/keyboards/xiudi/xd002/keymaps/multilayer_rgb/config.h +++ /dev/null @@ -1,22 +0,0 @@ -/* Copyright 2020 elmo-space - * - * 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 - -/*enable layers*/ -#undef NO_ACTION_LAYER - -/* increase tap duration (spotify doesn't like very short taps)*/ -#define TAP_CODE_DELAY 100 diff --git a/keyboards/xiudi/xd002/keymaps/multilayer_rgb/keymap.c b/keyboards/xiudi/xd002/keymaps/multilayer_rgb/keymap.c deleted file mode 100644 index d74678d76aa..00000000000 --- a/keyboards/xiudi/xd002/keymaps/multilayer_rgb/keymap.c +++ /dev/null @@ -1,174 +0,0 @@ -/* Copyright 2020 elmo-space - * - * 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 -#include "rgblite.h" - -// Defines names for use in layer keycodes and the keymap -enum layer_names { - _BASE, - _FUNC, -}; - -// set your keycodes here -#define layer1_left KC_PAUS -#define layer1_right KC_MPLY -#define layer2_left KC_MPRV -#define layer2_right KC_MNXT - - -enum custom_keycodes { - LEFT1 = SAFE_RANGE, - RIGHT1, - LEFT2, - RIGHT2 -}; - -const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - [_BASE] = LAYOUT( - LEFT1, RIGHT1 - ), - [_FUNC] = LAYOUT( - LEFT2, RIGHT2 - ) -}; - -static bool key1_down = false; -static bool key2_down = false; -static char layer_switched = 0; // this prevents the individual keys getting triggered after a layerchange - -bool process_record_user(uint16_t keycode, keyrecord_t *record) -{ - switch (keycode) - { - case LEFT1: - if (record->event.pressed) - { - if (key2_down) - { - layer_on(1); - layer_switched = 2; - return false; - break; - } - key1_down = true; - } - else { - if (layer_switched > 0) { - --layer_switched; - key1_down = false; - } - else { - tap_code(layer1_left); - key1_down = false; - } - } - return false; - break; - case RIGHT1: - if (record->event.pressed) - { - if (key1_down) - { - layer_on(1); - layer_switched = 2; - return false; - break; - } - key2_down = true; - } - else { - if (layer_switched > 0) { - --layer_switched; - key2_down = false; - } - else { - tap_code(layer1_right); - key2_down = false; - } - } - return false; - break; - case LEFT2: - if (record->event.pressed) - { - if (key2_down) - { - layer_off(1); - layer_switched = 2; - return false; - break; - } - key1_down = true; - } - else { - if (layer_switched > 0) { - --layer_switched; - key1_down = false; - } - else { - tap_code(layer2_left); - key1_down = false; - } - } - return false; - break; - case RIGHT2: - if (record->event.pressed) - { - if (key1_down) - { - layer_off(1); - layer_switched = 2; - return false; - break; - } - key2_down = true; - } - else { - if (layer_switched > 0) { - --layer_switched; - key2_down = false; - } - else { - tap_code(layer2_right); - key2_down = false; - } - } - return false; - break; - } - return true; -}; - -// layer colors -layer_state_t layer_state_set_user(layer_state_t state) { - switch (get_highest_layer(state)) { - case _FUNC: - rgblite_setrgb(RGB_RED); - break; - default: // for any other layers, or the default layer - rgblite_setrgb(RGB_GREEN); - break; - } - return state; -} - -// default color -void keyboard_post_init_user(void) { - rgblite_init(); - rgblite_setrgb(RGB_GREEN); -} diff --git a/keyboards/xiudi/xd002/keymaps/multilayer_rgb/rgblite.h b/keyboards/xiudi/xd002/keymaps/multilayer_rgb/rgblite.h deleted file mode 100644 index 0c88cd67524..00000000000 --- a/keyboards/xiudi/xd002/keymaps/multilayer_rgb/rgblite.h +++ /dev/null @@ -1,13 +0,0 @@ -#pragma once - -#include "ws2812.h" -#include "color.h" - -static inline void rgblite_init(void) { - ws2812_init(); -} - -static inline void rgblite_setrgb(uint8_t _r, uint8_t _g, uint8_t _b) { - rgb_t leds[RGBLIGHT_LED_COUNT] = {{.r = _r, .g = _g, .b = _b}, {.r = _r, .g = _g, .b = _b}}; - ws2812_setleds(leds, RGBLIGHT_LED_COUNT); -} diff --git a/keyboards/xiudi/xd002/keymaps/multilayer_rgb/rules.mk b/keyboards/xiudi/xd002/keymaps/multilayer_rgb/rules.mk deleted file mode 100644 index 07c75adb470..00000000000 --- a/keyboards/xiudi/xd002/keymaps/multilayer_rgb/rules.mk +++ /dev/null @@ -1,2 +0,0 @@ -WS2812_DRIVER_REQUIRED = yes -EXTRAKEY_ENABLE = yes From 13581820b896dd711266dba2e7c031169c45311b Mon Sep 17 00:00:00 2001 From: Joel Challis Date: Sun, 13 Oct 2024 01:35:35 +0100 Subject: [PATCH 065/124] horrortroll/nyx/rev1: Fix compilation of custom RGB effect (#24481) --- keyboards/horrortroll/nyx/rev1/lib/startup_swirl_anim.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/keyboards/horrortroll/nyx/rev1/lib/startup_swirl_anim.h b/keyboards/horrortroll/nyx/rev1/lib/startup_swirl_anim.h index c3cb3163492..f26f07fe12f 100644 --- a/keyboards/horrortroll/nyx/rev1/lib/startup_swirl_anim.h +++ b/keyboards/horrortroll/nyx/rev1/lib/startup_swirl_anim.h @@ -98,7 +98,7 @@ static void swirl_set_color(hsv_t hsv) { v_values[v] = 0; } hsv.v = v_values[v]; - hsv_t rgb = hsv_to_rgb(hsv); + rgb_t rgb = hsv_to_rgb(hsv); rgb_matrix_set_color(v, rgb.r, rgb.g, rgb.b); } From 85a7627641cbbc71de1a89b0346ee7d92d4fb394 Mon Sep 17 00:00:00 2001 From: Ryan Date: Wed, 16 Oct 2024 01:05:43 +1100 Subject: [PATCH 066/124] Digitizer: fix units tag in report descriptor (#24482) --- tmk_core/protocol/usb_descriptor.c | 2 +- tmk_core/protocol/vusb/vusb.c | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/tmk_core/protocol/usb_descriptor.c b/tmk_core/protocol/usb_descriptor.c index 7efd085ea32..703589b0547 100644 --- a/tmk_core/protocol/usb_descriptor.c +++ b/tmk_core/protocol/usb_descriptor.c @@ -281,7 +281,7 @@ const USB_Descriptor_HIDReport_Datatype_t PROGMEM SharedReport[] = { HID_RI_LOGICAL_MAXIMUM(16, 0x7FFF), HID_RI_REPORT_COUNT(8, 0x02), HID_RI_REPORT_SIZE(8, 0x10), - HID_RI_UNIT(8, 0x33), // Inch, English Linear + HID_RI_UNIT(8, 0x13), // Inch, English Linear HID_RI_UNIT_EXPONENT(8, 0x0E), // -2 HID_RI_INPUT(8, HID_IOF_DATA | HID_IOF_VARIABLE | HID_IOF_ABSOLUTE), HID_RI_END_COLLECTION(0), diff --git a/tmk_core/protocol/vusb/vusb.c b/tmk_core/protocol/vusb/vusb.c index c8ab4942536..fa14820e725 100644 --- a/tmk_core/protocol/vusb/vusb.c +++ b/tmk_core/protocol/vusb/vusb.c @@ -659,7 +659,7 @@ const PROGMEM uchar shared_hid_report[] = { 0x26, 0xFF, 0x7F, // Logical Maximum (32767) 0x95, 0x02, // Report Count (2) 0x75, 0x10, // Report Size (16) - 0x65, 0x33, // Unit (Inch, English Linear) + 0x65, 0x13, // Unit (Inch, English Linear) 0x55, 0x0E, // Unit Exponent (-2) 0x81, 0x02, // Input (Data, Variable, Absolute) 0xC0, // End Collection From 2ad13037aba7e03ed9e869c1500da4474543d8b6 Mon Sep 17 00:00:00 2001 From: Alabahuy Date: Wed, 16 Oct 2024 23:16:31 +0700 Subject: [PATCH 067/124] [Keyboard] Add JK60 RGB (#24485) --- keyboards/jaykeeb/jk60rgb/jk60rgb.c | 29 +++ keyboards/jaykeeb/jk60rgb/keyboard.json | 238 ++++++++++++++++++ .../jaykeeb/jk60rgb/keymaps/default/keymap.c | 22 ++ keyboards/jaykeeb/jk60rgb/readme.md | 27 ++ 4 files changed, 316 insertions(+) create mode 100644 keyboards/jaykeeb/jk60rgb/jk60rgb.c create mode 100644 keyboards/jaykeeb/jk60rgb/keyboard.json create mode 100644 keyboards/jaykeeb/jk60rgb/keymaps/default/keymap.c create mode 100644 keyboards/jaykeeb/jk60rgb/readme.md diff --git a/keyboards/jaykeeb/jk60rgb/jk60rgb.c b/keyboards/jaykeeb/jk60rgb/jk60rgb.c new file mode 100644 index 00000000000..53f14b3a444 --- /dev/null +++ b/keyboards/jaykeeb/jk60rgb/jk60rgb.c @@ -0,0 +1,29 @@ +/* Copyright 2024 Alabahuy + * + * 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" + +#ifdef RGB_MATRIX_ENABLE +bool rgb_matrix_indicators_kb(void) { + if (!rgb_matrix_indicators_user()) { + return false; + } + if (host_keyboard_led_state().caps_lock) { // Capslock = WHITE + rgb_matrix_set_color(36, 255, 255, 255); + } + return true; +} +#endif diff --git a/keyboards/jaykeeb/jk60rgb/keyboard.json b/keyboards/jaykeeb/jk60rgb/keyboard.json new file mode 100644 index 00000000000..fd6876d5632 --- /dev/null +++ b/keyboards/jaykeeb/jk60rgb/keyboard.json @@ -0,0 +1,238 @@ +{ + "manufacturer": "Jaykeeb Studio", + "keyboard_name": "JK60 RGB", + "maintainer": "Alabahuy", + "bootloader": "rp2040", + "diode_direction": "COL2ROW", + "features": { + "bootmagic": true, + "command": false, + "console": false, + "extrakey": true, + "mousekey": true, + "nkro": true, + "rgb_matrix": true + }, + "matrix_pins": { + "cols": ["GP29", "GP28", "GP27", "GP26", "GP25", "GP20", "GP7", "GP6", "GP5", "GP4", "GP3", "GP2", "GP1", "GP0"], + "rows": ["GP21", "GP22", "GP23", "GP24", "GP15"] + }, + "ws2812": { + "driver": "vendor", + "pin": "GP19" + }, + "rgb_matrix": { + "max_brightness": 125, + "sleep": true, + "animations": { + "alphas_mods": true, + "band_pinwheel_sat": true, + "band_pinwheel_val": true, + "band_sat": true, + "band_spiral_sat": true, + "band_spiral_val": true, + "band_val": true, + "breathing": true, + "cycle_all": true, + "cycle_left_right": true, + "cycle_out_in": true, + "cycle_out_in_dual": true, + "cycle_pinwheel": true, + "cycle_spiral": true, + "cycle_up_down": true, + "digital_rain": true, + "dual_beacon": true, + "gradient_left_right": true, + "gradient_up_down": true, + "hue_breathing": true, + "hue_pendulum": true, + "hue_wave": true, + "jellybean_raindrops": true, + "multisplash": true, + "pixel_flow": true, + "pixel_rain": true, + "rainbow_beacon": true, + "rainbow_moving_chevron": true, + "rainbow_pinwheels": true, + "raindrops": true, + "solid_multisplash": true, + "solid_reactive": true, + "solid_reactive_cross": true, + "solid_reactive_multicross": true, + "solid_reactive_multinexus": true, + "solid_reactive_multiwide": true, + "solid_reactive_nexus": true, + "solid_reactive_simple": true, + "solid_reactive_wide": true, + "solid_splash": true, + "splash": true, + "typing_heatmap": true + }, + "driver": "ws2812", + "layout": [ + {"x": 4, "y": 5, "flags": 2}, + {"matrix": [0, 0], "x": 8, "y": 7, "flags": 1}, + {"matrix": [0, 1], "x": 23, "y": 7, "flags": 4}, + {"matrix": [0, 2], "x": 37, "y": 7, "flags": 4}, + {"matrix": [0, 3], "x": 52, "y": 7, "flags": 4}, + {"x": 60, "y": 0, "flags": 2}, + {"matrix": [0, 4], "x": 67, "y": 7, "flags": 4}, + {"matrix": [0, 5], "x": 82, "y": 7, "flags": 4}, + {"matrix": [0, 6], "x": 97, "y": 7, "flags": 4}, + {"x": 105, "y": 0, "flags": 2}, + {"matrix": [0, 7], "x": 112, "y": 7, "flags": 4}, + {"matrix": [0, 8], "x": 127, "y": 7, "flags": 4}, + {"matrix": [0, 9], "x": 142, "y": 7, "flags": 4}, + {"x": 150, "y": 0, "flags": 2}, + {"matrix": [0, 10], "x": 157, "y": 7, "flags": 4}, + {"matrix": [0, 11], "x": 172, "y": 7, "flags": 4}, + {"matrix": [0, 12], "x": 187, "y": 7, "flags": 4}, + {"x": 195, "y": 0, "flags": 2}, + {"matrix": [0, 13], "x": 201, "y": 7, "flags": 4}, + {"matrix": [1, 13], "x": 216, "y": 7, "flags": 1}, + {"x": 224, "y": 13, "flags": 2}, + + {"matrix": [2, 13], "x": 213, "y": 19, "flags": 1}, + {"matrix": [1, 12], "x": 194, "y": 19, "flags": 4}, + {"matrix": [1, 11], "x": 179, "y": 19, "flags": 4}, + {"matrix": [1, 10], "x": 164, "y": 19, "flags": 4}, + {"matrix": [1, 9], "x": 149, "y": 19, "flags": 4}, + {"matrix": [1, 8], "x": 134, "y": 19, "flags": 4}, + {"matrix": [1, 7], "x": 119, "y": 19, "flags": 4}, + {"matrix": [1, 6], "x": 105, "y": 19, "flags": 4}, + {"matrix": [1, 5], "x": 90, "y": 19, "flags": 4}, + {"matrix": [1, 4], "x": 75, "y": 19, "flags": 4}, + {"matrix": [1, 3], "x": 60, "y": 19, "flags": 4}, + {"matrix": [1, 2], "x": 45, "y": 19, "flags": 4}, + {"matrix": [1, 1], "x": 30, "y": 19, "flags": 4}, + {"matrix": [1, 0], "x": 11, "y": 19, "flags": 1}, + {"x": 4, "y": 19, "flags": 2}, + + {"matrix": [2, 0], "x": 13, "y": 32, "flags": 8}, + {"matrix": [2, 1], "x": 34, "y": 32, "flags": 4}, + {"matrix": [2, 2], "x": 49, "y": 32, "flags": 4}, + {"matrix": [2, 3], "x": 64, "y": 32, "flags": 4}, + {"matrix": [2, 4], "x": 79, "y": 32, "flags": 4}, + {"matrix": [2, 5], "x": 94, "y": 32, "flags": 4}, + {"matrix": [2, 6], "x": 108, "y": 32, "flags": 4}, + {"matrix": [2, 7], "x": 123, "y": 32, "flags": 4}, + {"matrix": [2, 8], "x": 138, "y": 32, "flags": 4}, + {"matrix": [2, 9], "x": 153, "y": 32, "flags": 4}, + {"matrix": [2, 10], "x": 168, "y": 32, "flags": 4}, + {"matrix": [2, 11], "x": 183, "y": 32, "flags": 4}, + {"matrix": [2, 12], "x": 183, "y": 32, "flags": 1}, + + {"matrix": [3, 13], "x": 216, "y": 45, "flags": 1}, + {"matrix": [3, 12], "x": 196, "y": 45, "flags": 4}, + {"matrix": [3, 11], "x": 175, "y": 45, "flags": 4}, + {"matrix": [3, 10], "x": 161, "y": 45, "flags": 4}, + {"matrix": [3, 9], "x": 146, "y": 45, "flags": 4}, + {"matrix": [3, 8], "x": 135, "y": 45, "flags": 4}, + {"matrix": [3, 7], "x": 116, "y": 45, "flags": 4}, + {"matrix": [3, 6], "x": 101, "y": 45, "flags": 4}, + {"matrix": [3, 5], "x": 86, "y": 45, "flags": 4}, + {"matrix": [3, 4], "x": 71, "y": 45, "flags": 4}, + {"matrix": [3, 3], "x": 56, "y": 45, "flags": 4}, + {"matrix": [3, 2], "x": 41, "y": 45, "flags": 4}, + {"matrix": [3, 0], "x": 17, "y": 45, "flags": 1}, + + {"x": 4, "y": 51, "flags": 2}, + {"matrix": [4, 0], "x": 11, "y": 57, "flags": 1}, + {"x": 15, "y": 57, "flags": 2}, + {"matrix": [4, 1], "x": 28, "y": 57, "flags": 1}, + {"matrix": [4, 2], "x": 50, "y": 57, "flags": 1}, + {"x": 72, "y": 57, "flags": 2}, + {"x": 92, "y": 57, "flags": 2}, + {"matrix": [4, 7], "x": 112, "y": 57, "flags": 1}, + {"x": 132, "y": 57, "flags": 2}, + {"x": 152, "y": 57, "flags": 2}, + {"matrix": [4, 11], "x": 172, "y": 57, "flags": 1}, + {"matrix": [4, 12], "x": 194, "y": 57, "flags": 1}, + {"x": 209, "y": 57, "flags": 2}, + {"matrix": [4, 13], "x": 213, "y": 57, "flags": 1}, + {"x": 220, "y": 51, "flags": 2} + ] + }, + "processor": "RP2040", + "url": "", + "usb": { + "device_version": "1.0.0", + "pid": "0x7762", + "vid": "0x414C" + }, + "community_layouts": [ + "60_ansi_tsangan_split_bs_rshift" + ], + "layouts": { + "LAYOUT_60_ansi_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": [1, 13], "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": [2, 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, 12], "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, 13], "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, 7], "x": 4, "y": 4, "w": 7}, + {"label": "Alt", "matrix": [4, 11], "x": 11, "y": 4, "w": 1.5}, + {"label": "GUI", "matrix": [4, 12], "x": 12.5, "y": 4}, + {"label": "Ctrl", "matrix": [4, 13], "x": 13.5, "y": 4, "w": 1.5} + ] + } + } +} diff --git a/keyboards/jaykeeb/jk60rgb/keymaps/default/keymap.c b/keyboards/jaykeeb/jk60rgb/keymaps/default/keymap.c new file mode 100644 index 00000000000..809c0764b4b --- /dev/null +++ b/keyboards/jaykeeb/jk60rgb/keymaps/default/keymap.c @@ -0,0 +1,22 @@ +// Copyright 2024 Alabahuy +// SPDX-License-Identifier: GPL-2.0-or-later + +#include QMK_KEYBOARD_H + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + [0] = LAYOUT_60_ansi_tsangan_split_bs_rshift( + 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_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, MO(1), + KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, KC_RGUI, KC_RCTL + ), + + [1] = LAYOUT_60_ansi_tsangan_split_bs_rshift( + 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, _______, + RM_TOGG, RM_NEXT, RM_HUEU, RM_SATU, RM_VALU, RM_SPDU, _______, _______, _______, _______, _______, KC_PSCR, KC_SCRL, KC_PAUS, + _______, RM_PREV, RM_HUED, RM_SATD, RM_VALD, RM_SPDD, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, KC_MUTE, KC_VOLD, KC_VOLU, _______, _______, _______, + _______, _______, _______, QK_BOOT, _______, _______, _______ + ) +}; diff --git a/keyboards/jaykeeb/jk60rgb/readme.md b/keyboards/jaykeeb/jk60rgb/readme.md new file mode 100644 index 00000000000..fa0616c3872 --- /dev/null +++ b/keyboards/jaykeeb/jk60rgb/readme.md @@ -0,0 +1,27 @@ +# JK60 RGB + +![jk60 RGB]( https://i.imgur.com/YP978wp.jpeg ) + +Layout 60% rgb per keys support keyboard case existing + +* Keyboard Maintainer: [Alabahuy](https://github.com/Alabahuy) +* Hardware Supported: JK60 RGB pcb, RP2040, led sk6812 per switch +* Hardware Availability: Private GB + +Make example for this keyboard (after setting up your build environment): + + make jaykeeb/jk60rgb:default + +Flashing example for this keyboard: + + make jaykeeb/jk60rgb: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 36008922f8456694d45d2c36500dfba3c4271b09 Mon Sep 17 00:00:00 2001 From: David Doan Date: Thu, 17 Oct 2024 09:06:17 -0700 Subject: [PATCH 068/124] add vector macropad (#24487) Co-authored-by: Joel Challis Co-authored-by: jack Co-authored-by: Ryan --- .../arrayperipherals/vector/keyboard.json | 40 +++++++++++++++++++ .../vector/keymaps/default/keymap.c | 36 +++++++++++++++++ .../vector/keymaps/default/rules.mk | 1 + keyboards/arrayperipherals/vector/readme.md | 26 ++++++++++++ 4 files changed, 103 insertions(+) create mode 100644 keyboards/arrayperipherals/vector/keyboard.json create mode 100644 keyboards/arrayperipherals/vector/keymaps/default/keymap.c create mode 100644 keyboards/arrayperipherals/vector/keymaps/default/rules.mk create mode 100644 keyboards/arrayperipherals/vector/readme.md diff --git a/keyboards/arrayperipherals/vector/keyboard.json b/keyboards/arrayperipherals/vector/keyboard.json new file mode 100644 index 00000000000..505199831d5 --- /dev/null +++ b/keyboards/arrayperipherals/vector/keyboard.json @@ -0,0 +1,40 @@ +{ + "manufacturer": "Array Peripherals", + "keyboard_name": "The Vector", + "maintainer": "daviddoan", + "bootloader": "atmel-dfu", + "encoder": { + "rotary": [ + {"pin_a": "F0", "pin_b": "F1"} + ] + }, + "features": { + "bootmagic": true, + "encoder": true, + "extrakey": true, + "mousekey": true + }, + "matrix_pins": { + "direct": [ + ["D4", "C6", "D7", "E6", "F7"] + ] + }, + "processor": "atmega32u4", + "url": "https://arrayperipherals.com", + "usb": { + "device_version": "1.0.0", + "pid": "0x4F47", + "vid": "0x4152" + }, + "layouts": { + "LAYOUT": { + "layout": [ + {"label": "k01", "matrix": [0, 0], "x": 0, "y": 0}, + {"label": "k02", "matrix": [0, 1], "x": 1, "y": 0}, + {"label": "k03", "matrix": [0, 2], "x": 2, "y": 0}, + {"label": "k04", "matrix": [0, 3], "x": 3, "y": 0}, + {"label": "k05", "matrix": [0, 4], "x": 4.25, "y": 0} + ] + } + } +} diff --git a/keyboards/arrayperipherals/vector/keymaps/default/keymap.c b/keyboards/arrayperipherals/vector/keymaps/default/keymap.c new file mode 100644 index 00000000000..e290e370764 --- /dev/null +++ b/keyboards/arrayperipherals/vector/keymaps/default/keymap.c @@ -0,0 +1,36 @@ +/* +Copyright 2024 David Doan + +This program is free software: you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation, either version 2 of the License, or +(at your option) any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License +along with this program. If not, see . +*/ + +#include QMK_KEYBOARD_H + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + + [0] = LAYOUT( + KC_MPRV, KC_MPLY, KC_MNXT, KC_MUTE, TG(1) + ), + + [1] = LAYOUT( + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, TG(1) + ), +}; + +#if defined(ENCODER_MAP_ENABLE) +const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][NUM_DIRECTIONS] = { + [0] = {ENCODER_CCW_CW(KC_VOLD, KC_VOLU)}, + [1] = {ENCODER_CCW_CW(KC_TRNS, KC_TRNS)}, +}; +#endif // ENCODER_MAP_ENABLE \ No newline at end of file diff --git a/keyboards/arrayperipherals/vector/keymaps/default/rules.mk b/keyboards/arrayperipherals/vector/keymaps/default/rules.mk new file mode 100644 index 00000000000..a40474b4d5c --- /dev/null +++ b/keyboards/arrayperipherals/vector/keymaps/default/rules.mk @@ -0,0 +1 @@ +ENCODER_MAP_ENABLE = yes \ No newline at end of file diff --git a/keyboards/arrayperipherals/vector/readme.md b/keyboards/arrayperipherals/vector/readme.md new file mode 100644 index 00000000000..dee7dc8f9a1 --- /dev/null +++ b/keyboards/arrayperipherals/vector/readme.md @@ -0,0 +1,26 @@ +# The Vector Macropad + +![The Vector](https://i.imgur.com/rmy76bp.png) + +A small (1x4) macropad with a rotary. [More info at arrayperipherals.com](https://www.arrayperipherals.com/) + +* Keyboard Maintainer: [David Doan](https://github.com/daviddoan) +* Hardware Supported: Custom PCB with Atmega32u4 processor +* Hardware Availability: [arrayperipherals.com](https://www.arrayperipherals.com/) + +Make example for this keyboard (after setting up your build environment): + + make arrayperipherals/vector:default + +Flashing example for this keyboard: + + make arrayperipherals/vector: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 (left most from the rotary) +* **Physical reset button**: Briefly double press the button on the back of the PCB \ No newline at end of file From 3f9d4644126483bbd937f2be75a8878a1c986630 Mon Sep 17 00:00:00 2001 From: Stefan Kerkmann Date: Fri, 18 Oct 2024 09:57:08 +0200 Subject: [PATCH 069/124] [Core] `usb_device_state`: consolidate usb state handling across implementations (#24258) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * usb_device_state: add idle_rate, led and protocol Previously all usb drivers and platform implementations (expect for our oddball atsam) tracked the same two global variables: - keyboard_protocol: to indicate if we are in report or boot protocol - keyboard_idle: for the idle_rate of the keyboard endpoint And a local variable that was exposed trough some indirection: - keyboard_led_state: for the currently set indicator leds (caps lock etc.) These have all been moved into the usb_device_state struct wich is accessible by getters and setters. This reduces code duplication and centralizes the state management across platforms and drivers. Signed-off-by: Stefan Kerkmann * usb_device_state: reset protocol on reset The usb hid specification section 7.2.6 states: When initialized, all devices default to report protocol. However the host should not make any assumptions about the device’s state and should set the desired protocol whenever initializing a device. Thus on reset we should always do exactly that. Signed-off-by: Stefan Kerkmann * keyboards: fix oversize warnings Signed-off-by: Stefan Kerkmann --------- Signed-off-by: Stefan Kerkmann --- drivers/haptic/solenoid.c | 2 +- keyboards/kikoslab/ellora65/keyboard.json | 3 + keyboards/rgbkb/pan/info.json | 3 + .../takashicompany/minidivide/keyboard.json | 1 - keyboards/work_louder/loop/info.json | 3 +- quantum/action_util.c | 3 +- quantum/command.c | 5 +- quantum/haptic.c | 2 +- quantum/os_detection.c | 26 ++++----- quantum/os_detection.h | 2 +- quantum/os_detection/tests/os_detection.cpp | 14 +++-- quantum/process_keycode/process_haptic.c | 2 +- tmk_core/protocol/chibios/chibios.c | 11 ++-- tmk_core/protocol/chibios/usb_main.c | 24 +++----- tmk_core/protocol/host.h | 3 - tmk_core/protocol/lufa/lufa.c | 38 +++++-------- tmk_core/protocol/report.c | 13 +++-- tmk_core/protocol/usb_device_state.c | 55 +++++++++++++++---- tmk_core/protocol/usb_device_state.h | 41 ++++++++++---- tmk_core/protocol/vusb/vusb.c | 44 +++++++-------- 20 files changed, 165 insertions(+), 130 deletions(-) diff --git a/drivers/haptic/solenoid.c b/drivers/haptic/solenoid.c index 346b88bbc47..ed2a886854e 100644 --- a/drivers/haptic/solenoid.c +++ b/drivers/haptic/solenoid.c @@ -158,7 +158,7 @@ void solenoid_setup(void) { #endif gpio_write_pin(solenoid_pads[i], !solenoid_active_state[i]); gpio_set_pin_output(solenoid_pads[i]); - if ((!HAPTIC_OFF_IN_LOW_POWER) || (usb_device_state == USB_DEVICE_STATE_CONFIGURED)) { + if ((!HAPTIC_OFF_IN_LOW_POWER) || (usb_device_state_get_configure_state() == USB_DEVICE_STATE_CONFIGURED)) { solenoid_fire(i); } } diff --git a/keyboards/kikoslab/ellora65/keyboard.json b/keyboards/kikoslab/ellora65/keyboard.json index 9dd8404a0bf..fdb60e4791f 100644 --- a/keyboards/kikoslab/ellora65/keyboard.json +++ b/keyboards/kikoslab/ellora65/keyboard.json @@ -8,6 +8,9 @@ "pid": "0xE88F", "device_version": "0.0.1" }, + "build": { + "lto": true + }, "features": { "bootmagic": true, "command": false, diff --git a/keyboards/rgbkb/pan/info.json b/keyboards/rgbkb/pan/info.json index 0abdc7a6ecc..ad56ba5e4b3 100644 --- a/keyboards/rgbkb/pan/info.json +++ b/keyboards/rgbkb/pan/info.json @@ -8,6 +8,9 @@ "pid": "0x8C9C", "device_version": "0.0.2" }, + "build": { + "lto": true + }, "features": { "bootmagic": true, "encoder": true, diff --git a/keyboards/takashicompany/minidivide/keyboard.json b/keyboards/takashicompany/minidivide/keyboard.json index 4ae089fbeee..d258baa6940 100644 --- a/keyboards/takashicompany/minidivide/keyboard.json +++ b/keyboards/takashicompany/minidivide/keyboard.json @@ -30,7 +30,6 @@ "knight": true, "rainbow_mood": true, "rainbow_swirl": true, - "rgb_test": true, "snake": true, "static_gradient": true, "twinkle": true diff --git a/keyboards/work_louder/loop/info.json b/keyboards/work_louder/loop/info.json index 771a31d105c..70dc6cc13a8 100644 --- a/keyboards/work_louder/loop/info.json +++ b/keyboards/work_louder/loop/info.json @@ -51,8 +51,7 @@ "pixel_rain": true, "pixel_flow": true, "pixel_fractal": true, - "typing_heatmap": true, - "digital_rain": true + "typing_heatmap": true }, "driver": "ws2812", "max_brightness": 120, diff --git a/quantum/action_util.c b/quantum/action_util.c index 52171b50508..c0dc4f38228 100644 --- a/quantum/action_util.c +++ b/quantum/action_util.c @@ -21,6 +21,7 @@ along with this program. If not, see . #include "action_layer.h" #include "timer.h" #include "keycode_config.h" +#include "usb_device_state.h" #include extern keymap_config_t keymap_config; @@ -318,7 +319,7 @@ void send_nkro_report(void) { */ void send_keyboard_report(void) { #ifdef NKRO_ENABLE - if (keyboard_protocol && keymap_config.nkro) { + if (usb_device_state_get_protocol() == USB_PROTOCOL_REPORT && keymap_config.nkro) { send_nkro_report(); } else { send_6kro_report(); diff --git a/quantum/command.c b/quantum/command.c index c188638eb40..024d96917d7 100644 --- a/quantum/command.c +++ b/quantum/command.c @@ -32,6 +32,7 @@ along with this program. If not, see . #include "led.h" #include "command.h" #include "quantum.h" +#include "usb_device_state.h" #include "version.h" #ifdef BACKLIGHT_ENABLE @@ -230,8 +231,8 @@ static void print_status(void) { "timer_read32(): %08lX\n" , host_keyboard_leds() - , keyboard_protocol - , keyboard_idle + , usb_device_state_get_protocol() + , usb_device_state_get_idle_rate() #ifdef NKRO_ENABLE , keymap_config.nkro #endif diff --git a/quantum/haptic.c b/quantum/haptic.c index 6a466293a74..81bad469b37 100644 --- a/quantum/haptic.c +++ b/quantum/haptic.c @@ -36,7 +36,7 @@ extern uint8_t split_haptic_play; haptic_config_t haptic_config; static void update_haptic_enable_gpios(void) { - if (haptic_config.enable && ((!HAPTIC_OFF_IN_LOW_POWER) || (usb_device_state == USB_DEVICE_STATE_CONFIGURED))) { + if (haptic_config.enable && ((!HAPTIC_OFF_IN_LOW_POWER) || (usb_device_state_get_configure_state() == USB_DEVICE_STATE_CONFIGURED))) { #if defined(HAPTIC_ENABLE_PIN) HAPTIC_ENABLE_PIN_WRITE_ACTIVE(); #endif diff --git a/quantum/os_detection.c b/quantum/os_detection.c index 99ffe1927a8..4196b3ec8a9 100644 --- a/quantum/os_detection.c +++ b/quantum/os_detection.c @@ -65,8 +65,8 @@ static volatile os_variant_t reported_os = OS_UNSURE; static volatile bool first_report = true; // to react on USB state changes -static volatile enum usb_device_state current_usb_device_state = USB_DEVICE_STATE_NO_INIT; -static volatile enum usb_device_state maxprev_usb_device_state = USB_DEVICE_STATE_NO_INIT; +static volatile struct usb_device_state current_usb_device_state = {.configure_state = USB_DEVICE_STATE_NO_INIT}; +static volatile struct usb_device_state maxprev_usb_device_state = {.configure_state = USB_DEVICE_STATE_NO_INIT}; // the OS detection might be unstable for a while, "debounce" it static volatile bool debouncing = false; @@ -88,7 +88,7 @@ void os_detection_task(void) { return; } #endif - if (current_usb_device_state == USB_DEVICE_STATE_CONFIGURED) { + if (current_usb_device_state.configure_state == USB_DEVICE_STATE_CONFIGURED) { // debouncing goes for both the detected OS as well as the USB state if (debouncing && timer_elapsed_fast(last_time) >= OS_DETECTION_DEBOUNCE) { debouncing = false; @@ -163,19 +163,19 @@ os_variant_t detected_host_os(void) { void erase_wlength_data(void) { memset(&setups_data, 0, sizeof(setups_data)); - detected_os = OS_UNSURE; - reported_os = OS_UNSURE; - current_usb_device_state = USB_DEVICE_STATE_NO_INIT; - maxprev_usb_device_state = USB_DEVICE_STATE_NO_INIT; - debouncing = false; - last_time = 0; - first_report = true; + detected_os = OS_UNSURE; + reported_os = OS_UNSURE; + current_usb_device_state.configure_state = USB_DEVICE_STATE_NO_INIT; + maxprev_usb_device_state.configure_state = USB_DEVICE_STATE_NO_INIT; + debouncing = false; + last_time = 0; + first_report = true; } -void os_detection_notify_usb_device_state_change(enum usb_device_state usb_device_state) { +void os_detection_notify_usb_device_state_change(struct usb_device_state usb_device_state) { // treat this like any other source of instability - if (maxprev_usb_device_state < current_usb_device_state) { - maxprev_usb_device_state = current_usb_device_state; + if (maxprev_usb_device_state.configure_state < current_usb_device_state.configure_state) { + maxprev_usb_device_state.configure_state = current_usb_device_state.configure_state; } current_usb_device_state = usb_device_state; last_time = timer_read_fast(); diff --git a/quantum/os_detection.h b/quantum/os_detection.h index b8cd8983359..98a8e805e4c 100644 --- a/quantum/os_detection.h +++ b/quantum/os_detection.h @@ -31,7 +31,7 @@ typedef enum { void process_wlength(const uint16_t w_length); os_variant_t detected_host_os(void); void erase_wlength_data(void); -void os_detection_notify_usb_device_state_change(enum usb_device_state usb_device_state); +void os_detection_notify_usb_device_state_change(struct usb_device_state usb_device_state); void os_detection_task(void); diff --git a/quantum/os_detection/tests/os_detection.cpp b/quantum/os_detection/tests/os_detection.cpp index a9f671156b8..ea43de144c3 100644 --- a/quantum/os_detection/tests/os_detection.cpp +++ b/quantum/os_detection/tests/os_detection.cpp @@ -253,9 +253,11 @@ TEST_F(OsDetectionTest, TestDoNotReportIfUsbUnstable) { EXPECT_EQ(detected_host_os(), OS_LINUX); } +static struct usb_device_state usb_device_state_configured = {.configure_state = USB_DEVICE_STATE_CONFIGURED}; + TEST_F(OsDetectionTest, TestReportAfterDebounce) { EXPECT_EQ(check_sequence({0xFF, 0xFF, 0xFF, 0xFE}), OS_LINUX); - os_detection_notify_usb_device_state_change(USB_DEVICE_STATE_CONFIGURED); + os_detection_notify_usb_device_state_change(usb_device_state_configured); os_detection_task(); assert_not_reported(); @@ -291,7 +293,7 @@ TEST_F(OsDetectionTest, TestReportAfterDebounce) { TEST_F(OsDetectionTest, TestReportAfterDebounceLongWait) { EXPECT_EQ(check_sequence({0x12, 0xFF, 0xFF, 0x4, 0x10, 0xFF, 0xFF, 0xFF, 0x4, 0x10, 0x20A, 0x20A, 0x20A, 0x20A, 0x20A, 0x20A}), OS_WINDOWS); - os_detection_notify_usb_device_state_change(USB_DEVICE_STATE_CONFIGURED); + os_detection_notify_usb_device_state_change(usb_device_state_configured); os_detection_task(); assert_not_reported(); @@ -318,7 +320,7 @@ TEST_F(OsDetectionTest, TestReportAfterDebounceLongWait) { TEST_F(OsDetectionTest, TestReportUnsure) { EXPECT_EQ(check_sequence({0x12, 0xFF}), OS_UNSURE); - os_detection_notify_usb_device_state_change(USB_DEVICE_STATE_CONFIGURED); + os_detection_notify_usb_device_state_change(usb_device_state_configured); os_detection_task(); assert_not_reported(); @@ -345,7 +347,7 @@ TEST_F(OsDetectionTest, TestReportUnsure) { TEST_F(OsDetectionTest, TestDoNotReportIntermediateResults) { EXPECT_EQ(check_sequence({0x12, 0xFF}), OS_UNSURE); - os_detection_notify_usb_device_state_change(USB_DEVICE_STATE_CONFIGURED); + os_detection_notify_usb_device_state_change(usb_device_state_configured); os_detection_task(); assert_not_reported(); @@ -356,7 +358,7 @@ TEST_F(OsDetectionTest, TestDoNotReportIntermediateResults) { // at this stage, the final result has not been reached yet EXPECT_EQ(check_sequence({0xFF}), OS_LINUX); - os_detection_notify_usb_device_state_change(USB_DEVICE_STATE_CONFIGURED); + os_detection_notify_usb_device_state_change(usb_device_state_configured); advance_time(OS_DETECTION_DEBOUNCE - 1); os_detection_task(); assert_not_reported(); @@ -365,7 +367,7 @@ TEST_F(OsDetectionTest, TestDoNotReportIntermediateResults) { // the remainder is processed EXPECT_EQ(check_sequence({0x4, 0x10, 0xFF, 0xFF, 0xFF, 0x4, 0x10, 0x20A, 0x20A, 0x20A, 0x20A, 0x20A, 0x20A}), OS_WINDOWS); - os_detection_notify_usb_device_state_change(USB_DEVICE_STATE_CONFIGURED); + os_detection_notify_usb_device_state_change(usb_device_state_configured); advance_time(OS_DETECTION_DEBOUNCE - 1); os_detection_task(); assert_not_reported(); diff --git a/quantum/process_keycode/process_haptic.c b/quantum/process_keycode/process_haptic.c index 21d4c5ce304..54cd7b817ef 100644 --- a/quantum/process_keycode/process_haptic.c +++ b/quantum/process_keycode/process_haptic.c @@ -129,7 +129,7 @@ bool process_haptic(uint16_t keycode, keyrecord_t *record) { } } - if (haptic_get_enable() && ((!HAPTIC_OFF_IN_LOW_POWER) || (usb_device_state == USB_DEVICE_STATE_CONFIGURED))) { + if (haptic_get_enable() && ((!HAPTIC_OFF_IN_LOW_POWER) || (usb_device_state_get_configure_state() == USB_DEVICE_STATE_CONFIGURED))) { if (record->event.pressed) { // keypress if (haptic_get_feedback() < 2 && get_haptic_enabled_key(keycode, record)) { diff --git a/tmk_core/protocol/chibios/chibios.c b/tmk_core/protocol/chibios/chibios.c index b879bdac778..cf948154f9b 100644 --- a/tmk_core/protocol/chibios/chibios.c +++ b/tmk_core/protocol/chibios/chibios.c @@ -62,14 +62,13 @@ */ /* declarations */ -uint8_t keyboard_leds(void); -void send_keyboard(report_keyboard_t *report); -void send_nkro(report_nkro_t *report); -void send_mouse(report_mouse_t *report); -void send_extra(report_extra_t *report); +void send_keyboard(report_keyboard_t *report); +void send_nkro(report_nkro_t *report); +void send_mouse(report_mouse_t *report); +void send_extra(report_extra_t *report); /* host struct */ -host_driver_t chibios_driver = {keyboard_leds, send_keyboard, send_nkro, send_mouse, send_extra}; +host_driver_t chibios_driver = {.keyboard_leds = usb_device_state_get_leds, .send_keyboard = send_keyboard, .send_nkro = send_nkro, .send_mouse = send_mouse, .send_extra = send_extra}; #ifdef VIRTSER_ENABLE void virtser_task(void); diff --git a/tmk_core/protocol/chibios/usb_main.c b/tmk_core/protocol/chibios/usb_main.c index 2024a3bc7f2..2a287e0d989 100644 --- a/tmk_core/protocol/chibios/usb_main.c +++ b/tmk_core/protocol/chibios/usb_main.c @@ -54,10 +54,6 @@ extern keymap_config_t keymap_config; extern usb_endpoint_in_t usb_endpoints_in[USB_ENDPOINT_IN_COUNT]; extern usb_endpoint_out_t usb_endpoints_out[USB_ENDPOINT_OUT_COUNT]; -uint8_t _Alignas(2) keyboard_idle = 0; -uint8_t _Alignas(2) keyboard_protocol = 1; -uint8_t keyboard_led_state = 0; - static bool __attribute__((__unused__)) send_report_buffered(usb_endpoint_in_lut_t endpoint, void *report, size_t size); static void __attribute__((__unused__)) flush_report_buffered(usb_endpoint_in_lut_t endpoint, bool padded); static bool __attribute__((__unused__)) receive_report(usb_endpoint_out_lut_t endpoint, void *report, size_t size); @@ -168,6 +164,7 @@ void usb_event_queue_task(void) { break; case USB_EVENT_RESET: usb_device_state_set_reset(); + usb_device_state_set_protocol(USB_PROTOCOL_REPORT); break; default: // Nothing to do, we don't handle it. @@ -250,10 +247,10 @@ static void set_led_transfer_cb(USBDriver *usbp) { if (setup->wLength == 2) { uint8_t report_id = set_report_buf[0]; if ((report_id == REPORT_ID_KEYBOARD) || (report_id == REPORT_ID_NKRO)) { - keyboard_led_state = set_report_buf[1]; + usb_device_state_set_leds(set_report_buf[1]); } } else { - keyboard_led_state = set_report_buf[0]; + usb_device_state_set_leds(set_report_buf[0]); } } @@ -269,7 +266,9 @@ static bool usb_requests_hook_cb(USBDriver *usbp) { return usb_get_report_cb(usbp); case HID_REQ_GetProtocol: if (setup->wIndex == KEYBOARD_INTERFACE) { - usbSetupTransfer(usbp, &keyboard_protocol, sizeof(uint8_t), NULL); + static uint8_t keyboard_protocol; + keyboard_protocol = usb_device_state_get_protocol(); + usbSetupTransfer(usbp, &keyboard_protocol, sizeof(keyboard_protocol), NULL); return true; } break; @@ -292,12 +291,12 @@ static bool usb_requests_hook_cb(USBDriver *usbp) { break; case HID_REQ_SetProtocol: if (setup->wIndex == KEYBOARD_INTERFACE) { - keyboard_protocol = setup->wValue.word; + usb_device_state_set_protocol(setup->wValue.lbyte); } usbSetupTransfer(usbp, NULL, 0, NULL); return true; case HID_REQ_SetIdle: - keyboard_idle = setup->wValue.hbyte; + usb_device_state_set_idle_rate(setup->wValue.hbyte); return usb_set_idle_cb(usbp); } break; @@ -396,11 +395,6 @@ __attribute__((weak)) void restart_usb_driver(USBDriver *usbp) { * --------------------------------------------------------- */ -/* LED status */ -uint8_t keyboard_leds(void) { - return keyboard_led_state; -} - /** * @brief Send a report to the host, the report is enqueued into an output * queue and send once the USB endpoint becomes empty. @@ -458,7 +452,7 @@ static bool receive_report(usb_endpoint_out_lut_t endpoint, void *report, size_t void send_keyboard(report_keyboard_t *report) { /* If we're in Boot Protocol, don't send any report ID or other funky fields */ - if (!keyboard_protocol) { + if (usb_device_state_get_protocol() == USB_PROTOCOL_BOOT) { send_report(USB_ENDPOINT_IN_KEYBOARD, &report->mods, 8); } else { send_report(USB_ENDPOINT_IN_KEYBOARD, report, KEYBOARD_REPORT_SIZE); diff --git a/tmk_core/protocol/host.h b/tmk_core/protocol/host.h index 959753ae025..d824fca077b 100644 --- a/tmk_core/protocol/host.h +++ b/tmk_core/protocol/host.h @@ -27,9 +27,6 @@ along with this program. If not, see . extern "C" { #endif -extern uint8_t keyboard_idle; -extern uint8_t keyboard_protocol; - /* host driver */ void host_set_driver(host_driver_t *driver); host_driver_t *host_get_driver(void); diff --git a/tmk_core/protocol/lufa/lufa.c b/tmk_core/protocol/lufa/lufa.c index b0c9758d2fd..81da035f0c0 100644 --- a/tmk_core/protocol/lufa/lufa.c +++ b/tmk_core/protocol/lufa/lufa.c @@ -72,20 +72,14 @@ # define USB_WAIT_FOR_ENUMERATION #endif -uint8_t keyboard_idle = 0; -/* 0: Boot Protocol, 1: Report Protocol(default) */ -uint8_t keyboard_protocol = 1; -static uint8_t keyboard_led_state = 0; - static report_keyboard_t keyboard_report_sent; /* Host driver */ -static uint8_t keyboard_leds(void); -static void send_keyboard(report_keyboard_t *report); -static void send_nkro(report_nkro_t *report); -static void send_mouse(report_mouse_t *report); -static void send_extra(report_extra_t *report); -host_driver_t lufa_driver = {keyboard_leds, send_keyboard, send_nkro, send_mouse, send_extra}; +static void send_keyboard(report_keyboard_t *report); +static void send_nkro(report_nkro_t *report); +static void send_mouse(report_mouse_t *report); +static void send_extra(report_extra_t *report); +host_driver_t lufa_driver = {.keyboard_leds = usb_device_state_get_leds, .send_keyboard = send_keyboard, .send_nkro = send_nkro, .send_mouse = send_mouse, .send_extra = send_extra}; void send_report(uint8_t endpoint, void *report, size_t size) { uint8_t timeout = 255; @@ -271,6 +265,7 @@ void EVENT_USB_Device_Disconnect(void) { void EVENT_USB_Device_Reset(void) { print("[R]"); usb_device_state_set_reset(); + usb_device_state_set_protocol(USB_PROTOCOL_REPORT); } /** \brief Event USB Device Connect @@ -453,10 +448,10 @@ void EVENT_USB_Device_ControlRequest(void) { uint8_t report_id = Endpoint_Read_8(); if (report_id == REPORT_ID_KEYBOARD || report_id == REPORT_ID_NKRO) { - keyboard_led_state = Endpoint_Read_8(); + usb_device_state_set_leds(Endpoint_Read_8()); } } else { - keyboard_led_state = Endpoint_Read_8(); + usb_device_state_set_leds(Endpoint_Read_8()); } Endpoint_ClearOUT(); @@ -473,7 +468,7 @@ void EVENT_USB_Device_ControlRequest(void) { Endpoint_ClearSETUP(); while (!(Endpoint_IsINReady())) ; - Endpoint_Write_8(keyboard_protocol); + Endpoint_Write_8(usb_device_state_get_protocol()); Endpoint_ClearIN(); Endpoint_ClearStatusStage(); } @@ -486,7 +481,7 @@ void EVENT_USB_Device_ControlRequest(void) { Endpoint_ClearSETUP(); Endpoint_ClearStatusStage(); - keyboard_protocol = (USB_ControlRequest.wValue & 0xFF); + usb_device_state_set_protocol(USB_ControlRequest.wValue & 0xFF); clear_keyboard(); } } @@ -497,7 +492,7 @@ void EVENT_USB_Device_ControlRequest(void) { Endpoint_ClearSETUP(); Endpoint_ClearStatusStage(); - keyboard_idle = ((USB_ControlRequest.wValue & 0xFF00) >> 8); + usb_device_state_set_idle_rate(USB_ControlRequest.wValue >> 8); } break; @@ -506,7 +501,7 @@ void EVENT_USB_Device_ControlRequest(void) { Endpoint_ClearSETUP(); while (!(Endpoint_IsINReady())) ; - Endpoint_Write_8(keyboard_idle); + Endpoint_Write_8(usb_device_state_get_idle_rate()); Endpoint_ClearIN(); Endpoint_ClearStatusStage(); } @@ -522,13 +517,6 @@ void EVENT_USB_Device_ControlRequest(void) { /******************************************************************************* * Host driver ******************************************************************************/ -/** \brief Keyboard LEDs - * - * FIXME: Needs doc - */ -static uint8_t keyboard_leds(void) { - return keyboard_led_state; -} /** \brief Send Keyboard * @@ -536,7 +524,7 @@ static uint8_t keyboard_leds(void) { */ static void send_keyboard(report_keyboard_t *report) { /* If we're in Boot Protocol, don't send any report ID or other funky fields */ - if (!keyboard_protocol) { + if (usb_device_state_get_protocol() == USB_PROTOCOL_BOOT) { send_report(KEYBOARD_IN_EPNUM, &report->mods, 8); } else { send_report(KEYBOARD_IN_EPNUM, report, KEYBOARD_REPORT_SIZE); diff --git a/tmk_core/protocol/report.c b/tmk_core/protocol/report.c index 056921d6a09..6203a3116bb 100644 --- a/tmk_core/protocol/report.c +++ b/tmk_core/protocol/report.c @@ -19,6 +19,7 @@ #include "host.h" #include "keycode_config.h" #include "debug.h" +#include "usb_device_state.h" #include "util.h" #include @@ -31,7 +32,7 @@ uint8_t has_anykey(void) { uint8_t* p = keyboard_report->keys; uint8_t lp = sizeof(keyboard_report->keys); #ifdef NKRO_ENABLE - if (keyboard_protocol && keymap_config.nkro) { + if (usb_device_state_get_protocol() == USB_PROTOCOL_REPORT && keymap_config.nkro) { p = nkro_report->bits; lp = sizeof(nkro_report->bits); } @@ -48,7 +49,7 @@ uint8_t has_anykey(void) { */ uint8_t get_first_key(void) { #ifdef NKRO_ENABLE - if (keyboard_protocol && keymap_config.nkro) { + if (usb_device_state_get_protocol() == USB_PROTOCOL_REPORT && keymap_config.nkro) { uint8_t i = 0; for (; i < NKRO_REPORT_BITS && !nkro_report->bits[i]; i++) ; @@ -68,7 +69,7 @@ bool is_key_pressed(uint8_t key) { return false; } #ifdef NKRO_ENABLE - if (keyboard_protocol && keymap_config.nkro) { + if (usb_device_state_get_protocol() == USB_PROTOCOL_REPORT && keymap_config.nkro) { if ((key >> 3) < NKRO_REPORT_BITS) { return nkro_report->bits[key >> 3] & 1 << (key & 7); } else { @@ -150,7 +151,7 @@ void del_key_bit(report_nkro_t* nkro_report, uint8_t code) { */ void add_key_to_report(uint8_t key) { #ifdef NKRO_ENABLE - if (keyboard_protocol && keymap_config.nkro) { + if (usb_device_state_get_protocol() == USB_PROTOCOL_REPORT && keymap_config.nkro) { add_key_bit(nkro_report, key); return; } @@ -164,7 +165,7 @@ void add_key_to_report(uint8_t key) { */ void del_key_from_report(uint8_t key) { #ifdef NKRO_ENABLE - if (keyboard_protocol && keymap_config.nkro) { + if (usb_device_state_get_protocol() == USB_PROTOCOL_REPORT && keymap_config.nkro) { del_key_bit(nkro_report, key); return; } @@ -179,7 +180,7 @@ void del_key_from_report(uint8_t key) { void clear_keys_from_report(void) { // not clear mods #ifdef NKRO_ENABLE - if (keyboard_protocol && keymap_config.nkro) { + if (usb_device_state_get_protocol() == USB_PROTOCOL_REPORT && keymap_config.nkro) { memset(nkro_report->bits, 0, sizeof(nkro_report->bits)); return; } diff --git a/tmk_core/protocol/usb_device_state.c b/tmk_core/protocol/usb_device_state.c index 4cd241528d1..98ccfbc9027 100644 --- a/tmk_core/protocol/usb_device_state.c +++ b/tmk_core/protocol/usb_device_state.c @@ -24,15 +24,15 @@ # include "os_detection.h" #endif -enum usb_device_state usb_device_state = USB_DEVICE_STATE_NO_INIT; +static struct usb_device_state usb_device_state = {.idle_rate = 0, .leds = 0, .protocol = USB_PROTOCOL_REPORT, .configure_state = USB_DEVICE_STATE_NO_INIT}; -__attribute__((weak)) void notify_usb_device_state_change_kb(enum usb_device_state usb_device_state) { +__attribute__((weak)) void notify_usb_device_state_change_kb(struct usb_device_state usb_device_state) { notify_usb_device_state_change_user(usb_device_state); } -__attribute__((weak)) void notify_usb_device_state_change_user(enum usb_device_state usb_device_state) {} +__attribute__((weak)) void notify_usb_device_state_change_user(struct usb_device_state usb_device_state) {} -static void notify_usb_device_state_change(enum usb_device_state usb_device_state) { +static void notify_usb_device_state_change(struct usb_device_state usb_device_state) { #if defined(HAPTIC_ENABLE) && HAPTIC_OFF_IN_LOW_POWER haptic_notify_usb_device_state_change(); #endif @@ -44,27 +44,58 @@ static void notify_usb_device_state_change(enum usb_device_state usb_device_stat #endif } -void usb_device_state_set_configuration(bool isConfigured, uint8_t configurationNumber) { - usb_device_state = isConfigured ? USB_DEVICE_STATE_CONFIGURED : USB_DEVICE_STATE_INIT; +void usb_device_state_set_configuration(bool is_configured, uint8_t configuration_number) { + usb_device_state.configure_state = is_configured ? USB_DEVICE_STATE_CONFIGURED : USB_DEVICE_STATE_INIT; notify_usb_device_state_change(usb_device_state); } -void usb_device_state_set_suspend(bool isConfigured, uint8_t configurationNumber) { - usb_device_state = USB_DEVICE_STATE_SUSPEND; +void usb_device_state_set_suspend(bool is_configured, uint8_t configuration_number) { + usb_device_state.configure_state = USB_DEVICE_STATE_SUSPEND; notify_usb_device_state_change(usb_device_state); } -void usb_device_state_set_resume(bool isConfigured, uint8_t configurationNumber) { - usb_device_state = isConfigured ? USB_DEVICE_STATE_CONFIGURED : USB_DEVICE_STATE_INIT; +void usb_device_state_set_resume(bool is_configured, uint8_t configuration_number) { + usb_device_state.configure_state = is_configured ? USB_DEVICE_STATE_CONFIGURED : USB_DEVICE_STATE_INIT; notify_usb_device_state_change(usb_device_state); } void usb_device_state_set_reset(void) { - usb_device_state = USB_DEVICE_STATE_INIT; + usb_device_state.configure_state = USB_DEVICE_STATE_INIT; notify_usb_device_state_change(usb_device_state); } void usb_device_state_init(void) { - usb_device_state = USB_DEVICE_STATE_INIT; + usb_device_state.configure_state = USB_DEVICE_STATE_INIT; notify_usb_device_state_change(usb_device_state); } + +inline usb_configure_state_t usb_device_state_get_configure_state(void) { + return usb_device_state.configure_state; +} + +void usb_device_state_set_protocol(usb_hid_protocol_t protocol) { + usb_device_state.protocol = protocol == USB_PROTOCOL_BOOT ? USB_PROTOCOL_BOOT : USB_PROTOCOL_REPORT; + notify_usb_device_state_change(usb_device_state); +} + +inline usb_hid_protocol_t usb_device_state_get_protocol() { + return usb_device_state.protocol; +} + +void usb_device_state_set_leds(uint8_t leds) { + usb_device_state.leds = leds; + notify_usb_device_state_change(usb_device_state); +} + +inline uint8_t usb_device_state_get_leds(void) { + return usb_device_state.leds; +} + +void usb_device_state_set_idle_rate(uint8_t idle_rate) { + usb_device_state.idle_rate = idle_rate; + notify_usb_device_state_change(usb_device_state); +} + +inline uint8_t usb_device_state_get_idle_rate(void) { + return usb_device_state.idle_rate; +} diff --git a/tmk_core/protocol/usb_device_state.h b/tmk_core/protocol/usb_device_state.h index 3be65ea7e15..6d12f144fe3 100644 --- a/tmk_core/protocol/usb_device_state.h +++ b/tmk_core/protocol/usb_device_state.h @@ -20,20 +20,41 @@ #include #include -void usb_device_state_set_configuration(bool isConfigured, uint8_t configurationNumber); -void usb_device_state_set_suspend(bool isConfigured, uint8_t configurationNumber); -void usb_device_state_set_resume(bool isConfigured, uint8_t configurationNumber); -void usb_device_state_set_reset(void); -void usb_device_state_init(void); - -enum usb_device_state { +typedef enum { USB_DEVICE_STATE_NO_INIT = 0, // We're in this state before calling usb_device_state_init() USB_DEVICE_STATE_INIT = 1, // Can consume up to 100mA USB_DEVICE_STATE_CONFIGURED = 2, // Can consume up to what is specified in configuration descriptor, typically 500mA USB_DEVICE_STATE_SUSPEND = 3 // Can consume only suspend current +} usb_configure_state_t; + +typedef enum { + USB_PROTOCOL_BOOT = 0, + USB_PROTOCOL_REPORT = 1, +} usb_hid_protocol_t; + +// note: we can't typedef this struct to usb_device_state_t because it would +// conflict with the previous definition in: +// lib/chibios-contrib/ext/nxp-middleware-usb/device/usb_device.h +struct usb_device_state { + uint8_t idle_rate; + uint8_t leds; + usb_hid_protocol_t protocol; + usb_configure_state_t configure_state; }; -extern enum usb_device_state usb_device_state; +void usb_device_state_set_configuration(bool is_configured, uint8_t configuration_number); +void usb_device_state_set_suspend(bool is_configured, uint8_t configuration_number); +void usb_device_state_set_resume(bool is_configured, uint8_t configuration_number); +void usb_device_state_set_reset(void); +void usb_device_state_init(void); +usb_configure_state_t usb_device_state_get_configure_state(void); +void usb_device_state_set_protocol(usb_hid_protocol_t protocol); +usb_hid_protocol_t usb_device_state_get_protocol(void); +void usb_device_state_set_leds(uint8_t leds); +uint8_t usb_device_state_get_leds(void); +void usb_device_state_set_idle_rate(uint8_t idle_rate); +uint8_t usb_device_state_get_idle_rate(void); +void usb_device_state_reset_hid_state(void); -void notify_usb_device_state_change_kb(enum usb_device_state usb_device_state); -void notify_usb_device_state_change_user(enum usb_device_state usb_device_state); +void notify_usb_device_state_change_kb(struct usb_device_state usb_device_state); +void notify_usb_device_state_change_user(struct usb_device_state usb_device_state); diff --git a/tmk_core/protocol/vusb/vusb.c b/tmk_core/protocol/vusb/vusb.c index c269ff2b916..2a29fe65d90 100644 --- a/tmk_core/protocol/vusb/vusb.c +++ b/tmk_core/protocol/vusb/vusb.c @@ -30,6 +30,7 @@ along with this program. If not, see . #include "debug.h" #include "wait.h" #include "usb_descriptor_common.h" +#include "usb_device_state.h" #ifdef RAW_ENABLE # include "raw_hid.h" @@ -85,10 +86,6 @@ _Static_assert(TOTAL_INTERFACES <= MAX_INTERFACES, "There are not enough availab # error Mouse/Extra Keys share an endpoint with Console. Please disable one of the two. #endif -static uint8_t keyboard_led_state = 0; -uint8_t keyboard_idle = 0; -uint8_t keyboard_protocol = 1; - static report_keyboard_t keyboard_report_sent; static void send_report_fragment(uint8_t endpoint, void *data, size_t size) { @@ -212,24 +209,19 @@ void console_task(void) { /*------------------------------------------------------------------* * Host driver *------------------------------------------------------------------*/ -static uint8_t keyboard_leds(void); -static void send_keyboard(report_keyboard_t *report); -static void send_nkro(report_nkro_t *report); -static void send_mouse(report_mouse_t *report); -static void send_extra(report_extra_t *report); +static void send_keyboard(report_keyboard_t *report); +static void send_nkro(report_nkro_t *report); +static void send_mouse(report_mouse_t *report); +static void send_extra(report_extra_t *report); -static host_driver_t driver = {keyboard_leds, send_keyboard, send_nkro, send_mouse, send_extra}; +static host_driver_t driver = {.keyboard_leds = usb_device_state_get_leds, .send_keyboard = send_keyboard, .send_nkro = send_nkro, .send_mouse = send_mouse, .send_extra = send_extra}; host_driver_t *vusb_driver(void) { return &driver; } -static uint8_t keyboard_leds(void) { - return keyboard_led_state; -} - static void send_keyboard(report_keyboard_t *report) { - if (!keyboard_protocol) { + if (usb_device_state_get_protocol() == USB_PROTOCOL_BOOT) { send_report(1, &report->mods, 8); } else { send_report(1, report, sizeof(report_keyboard_t)); @@ -304,11 +296,15 @@ usbMsgLen_t usbFunctionSetup(uchar data[8]) { break; case USBRQ_HID_GET_IDLE: dprint("GET_IDLE:"); - usbMsgPtr = (usbMsgPtr_t)&keyboard_idle; + static uint8_t keyboard_idle; + keyboard_idle = usb_device_state_get_idle_rate(); + usbMsgPtr = (usbMsgPtr_t)&keyboard_idle; return 1; case USBRQ_HID_GET_PROTOCOL: dprint("GET_PROTOCOL:"); - usbMsgPtr = (usbMsgPtr_t)&keyboard_protocol; + static uint8_t keyboard_protocol; + keyboard_protocol = usb_device_state_get_protocol(); + usbMsgPtr = (usbMsgPtr_t)&keyboard_protocol; return 1; case USBRQ_HID_SET_REPORT: dprint("SET_REPORT:"); @@ -320,13 +316,13 @@ usbMsgLen_t usbFunctionSetup(uchar data[8]) { } return USB_NO_MSG; // to get data in usbFunctionWrite case USBRQ_HID_SET_IDLE: - keyboard_idle = (rq->wValue.word & 0xFF00) >> 8; - dprintf("SET_IDLE: %02X", keyboard_idle); + usb_device_state_set_idle_rate(rq->wValue.word >> 8); + dprintf("SET_IDLE: %02X", usb_device_state_get_idle_rate()); break; case USBRQ_HID_SET_PROTOCOL: if (rq->wIndex.word == KEYBOARD_INTERFACE) { - keyboard_protocol = rq->wValue.word & 0xFF; - dprintf("SET_PROTOCOL: %02X", keyboard_protocol); + usb_device_state_set_protocol(rq->wValue.word & 0xFF); + dprintf("SET_PROTOCOL: %02X", usb_device_state_get_protocol()); } break; default: @@ -347,9 +343,9 @@ uchar usbFunctionWrite(uchar *data, uchar len) { } switch (last_req.kind) { case SET_LED: - dprintf("SET_LED: %02X\n", data[0]); - keyboard_led_state = data[0]; - last_req.len = 0; + usb_device_state_set_leds(data[0]); + dprintf("SET_LED: %02X\n", usb_device_state_get_leds()); + last_req.len = 0; return 1; break; case NONE: From 7f22cb52e3aaafde671fdb994d53914366baf31a Mon Sep 17 00:00:00 2001 From: Duncan Sutherland Date: Fri, 18 Oct 2024 09:04:29 +0100 Subject: [PATCH 070/124] Correct layouts/default/readme.md (#23805) Update readme.md remove orphan layout --- layouts/default/readme.md | 15 --------------- 1 file changed, 15 deletions(-) diff --git a/layouts/default/readme.md b/layouts/default/readme.md index d057fe77084..e5350088224 100644 --- a/layouts/default/readme.md +++ b/layouts/default/readme.md @@ -64,21 +64,6 @@ LAYOUT_60_ansi_arrow_split_bs └────┴────┴────┴────────────────────────┴───┴───┴───┴───┴───┘ ``` -``` -LAYOUT_60_ansi_arrow_split_bs_7u_spc -┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┐ -│ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ -├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┤ -│ │ │ │ │ │ │ │ │ │ │ │ │ │ │ -├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴─────┤ -│ │ │ │ │ │ │ │ │ │ │ │ │ │ -├──────┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┴┬───┬───┤ -│ │ │ │ │ │ │ │ │ │ │ │ │ │ -├─────┬──┴┬──┴──┬┴───┴───┴───┴───┴───┴───┴──┬┴──┬───┼───┼───┤ -│ │ │ │ │ │ │ │ │ -└─────┴───┴─────┴───────────────────────────┴───┴───┴───┴───┘ -``` - ``` LAYOUT_60_ansi_split_bs_rshift ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┐ From baa29fef9d07b9279fe46837848eeacd47282f45 Mon Sep 17 00:00:00 2001 From: Drashna Jaelre Date: Sat, 19 Oct 2024 03:24:42 -0700 Subject: [PATCH 071/124] [Bug] Fix compiliation issues with OS Detection (#24502) --- quantum/os_detection.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/quantum/os_detection.c b/quantum/os_detection.c index 4196b3ec8a9..0dd048a8c47 100644 --- a/quantum/os_detection.c +++ b/quantum/os_detection.c @@ -76,7 +76,7 @@ void os_detection_task(void) { #ifdef OS_DETECTION_KEYBOARD_RESET // resetting the keyboard on the USB device state change callback results in instability, so delegate that to this task // only take action if it's been stable at least once, to avoid issues with some KVMs - if (current_usb_device_state <= USB_DEVICE_STATE_INIT && maxprev_usb_device_state >= USB_DEVICE_STATE_CONFIGURED) { + if (current_usb_device_state.configure_state <= USB_DEVICE_STATE_INIT && maxprev_usb_device_state.configure_state >= USB_DEVICE_STATE_CONFIGURED) { if (debouncing && timer_elapsed_fast(last_time) >= OS_DETECTION_DEBOUNCE) { soft_reset_keyboard(); } From c6b25534701d9037b744b44c0ab6532a0178cd8d Mon Sep 17 00:00:00 2001 From: Ramon Imbao Date: Sat, 19 Oct 2024 20:25:30 +0800 Subject: [PATCH 072/124] Rename saevus to concreteflowers (#24249) --- data/mappings/keyboard_aliases.hjson | 6 ++++ .../cor/keyboard.json | 34 +++++++++---------- .../cor/keymaps/default/keymap.c | 0 .../cor/matrix_diagram.md | 0 .../{saevus => concreteflowers}/cor/readme.md | 8 ++--- .../cor_tkl/cor_tkl.c | 0 .../cor_tkl/keyboard.json | 2 +- .../cor_tkl/keymaps/default/keymap.c | 0 .../cor_tkl/keymaps/iso/keymap.c | 0 .../cor_tkl/readme.md | 6 ++-- 10 files changed, 31 insertions(+), 25 deletions(-) rename keyboards/{saevus => concreteflowers}/cor/keyboard.json (96%) rename keyboards/{saevus => concreteflowers}/cor/keymaps/default/keymap.c (100%) rename keyboards/{saevus => concreteflowers}/cor/matrix_diagram.md (100%) rename keyboards/{saevus => concreteflowers}/cor/readme.md (83%) rename keyboards/{saevus => concreteflowers}/cor_tkl/cor_tkl.c (100%) rename keyboards/{saevus => concreteflowers}/cor_tkl/keyboard.json (99%) rename keyboards/{saevus => concreteflowers}/cor_tkl/keymaps/default/keymap.c (100%) rename keyboards/{saevus => concreteflowers}/cor_tkl/keymaps/iso/keymap.c (100%) rename keyboards/{saevus => concreteflowers}/cor_tkl/readme.md (85%) diff --git a/data/mappings/keyboard_aliases.hjson b/data/mappings/keyboard_aliases.hjson index bca1865fc96..72f6994c096 100644 --- a/data/mappings/keyboard_aliases.hjson +++ b/data/mappings/keyboard_aliases.hjson @@ -1365,6 +1365,12 @@ "runner3680/5x8": { "target": "omkbd/runner3680/5x8" }, + "saevus/cor": { + "target": "concreteflowers/cor" + }, + "saevus/cor_tkl": { + "target": "concreteflowers/cor_tkl" + }, "scarletbandana": { "target": "woodkeys/scarletbandana" }, diff --git a/keyboards/saevus/cor/keyboard.json b/keyboards/concreteflowers/cor/keyboard.json similarity index 96% rename from keyboards/saevus/cor/keyboard.json rename to keyboards/concreteflowers/cor/keyboard.json index cd50a7d9072..c2fa4379df6 100644 --- a/keyboards/saevus/cor/keyboard.json +++ b/keyboards/concreteflowers/cor/keyboard.json @@ -1,5 +1,5 @@ { - "manufacturer": "saevus", + "manufacturer": "concreteflowers", "keyboard_name": "cor", "maintainer": "ramonimbao", "bootloader": "atmel-dfu", @@ -45,7 +45,7 @@ {"label": "=", "matrix": [0, 13], "x": 13.25, "y": 0}, {"label": "Backspace", "matrix": [0, 14], "x": 14.25, "y": 0, "w": 2}, {"label": "Delete", "matrix": [0, 16], "x": 16.75, "y": 0}, - + {"label": "F2", "matrix": [1, 0], "x": 0, "y": 1}, {"label": "Tab", "matrix": [1, 1], "x": 1.25, "y": 1, "w": 1.5}, {"label": "Q", "matrix": [1, 2], "x": 2.75, "y": 1}, @@ -62,7 +62,7 @@ {"label": "]", "matrix": [1, 13], "x": 13.75, "y": 1}, {"label": "\\", "matrix": [1, 15], "x": 14.75, "y": 1, "w": 1.5}, {"label": "Page Up", "matrix": [1, 16], "x": 16.75, "y": 1}, - + {"label": "F3", "matrix": [2, 0], "x": 0, "y": 2}, {"label": "Caps Lock", "matrix": [2, 1], "x": 1.25, "y": 2, "w": 1.75}, {"label": "A", "matrix": [2, 2], "x": 3, "y": 2}, @@ -78,7 +78,7 @@ {"label": "'", "matrix": [2, 12], "x": 13, "y": 2}, {"label": "Enter", "matrix": [2, 14], "x": 14, "y": 2, "w": 2.25}, {"label": "Page Down", "matrix": [2, 16], "x": 16.75, "y": 2}, - + {"label": "F4", "matrix": [3, 0], "x": 0, "y": 3}, {"label": "Shift", "matrix": [3, 1], "x": 1.25, "y": 3, "w": 2.25}, {"label": "Z", "matrix": [3, 3], "x": 3.5, "y": 3}, @@ -94,7 +94,7 @@ {"label": "Shift", "matrix": [3, 13], "x": 13.5, "y": 3, "w": 1.75}, {"label": "\u2191", "matrix": [3, 15], "x": 15.5, "y": 3.25}, {"label": "Fn", "matrix": [3, 16], "x": 16.75, "y": 3}, - + {"label": "F5", "matrix": [4, 0], "x": 0, "y": 4}, {"label": "Ctrl", "matrix": [4, 1], "x": 1.25, "y": 4, "w": 1.25}, {"label": "GUI", "matrix": [4, 2], "x": 2.5, "y": 4, "w": 1.25}, @@ -126,7 +126,7 @@ {"label": "Backspace", "matrix": [0, 14], "x": 14.25, "y": 0}, {"label": "Backspace", "matrix": [0, 15], "x": 15.25, "y": 0}, {"label": "Delete", "matrix": [0, 16], "x": 16.75, "y": 0}, - + {"label": "F2", "matrix": [1, 0], "x": 0, "y": 1}, {"label": "Tab", "matrix": [1, 1], "x": 1.25, "y": 1, "w": 1.5}, {"label": "Q", "matrix": [1, 2], "x": 2.75, "y": 1}, @@ -143,7 +143,7 @@ {"label": "]", "matrix": [1, 13], "x": 13.75, "y": 1}, {"label": "\\", "matrix": [1, 15], "x": 14.75, "y": 1, "w": 1.5}, {"label": "Page Up", "matrix": [1, 16], "x": 16.75, "y": 1}, - + {"label": "F3", "matrix": [2, 0], "x": 0, "y": 2}, {"label": "Caps Lock", "matrix": [2, 1], "x": 1.25, "y": 2, "w": 1.75}, {"label": "A", "matrix": [2, 2], "x": 3, "y": 2}, @@ -159,7 +159,7 @@ {"label": "'", "matrix": [2, 12], "x": 13, "y": 2}, {"label": "Enter", "matrix": [2, 14], "x": 14, "y": 2, "w": 2.25}, {"label": "Page Down", "matrix": [2, 16], "x": 16.75, "y": 2}, - + {"label": "F4", "matrix": [3, 0], "x": 0, "y": 3}, {"label": "Shift", "matrix": [3, 1], "x": 1.25, "y": 3, "w": 2.25}, {"label": "Z", "matrix": [3, 3], "x": 3.5, "y": 3}, @@ -175,7 +175,7 @@ {"label": "Shift", "matrix": [3, 13], "x": 13.5, "y": 3, "w": 1.75}, {"label": "\u2191", "matrix": [3, 15], "x": 15.5, "y": 3.25}, {"label": "Fn", "matrix": [3, 16], "x": 16.75, "y": 3}, - + {"label": "F5", "matrix": [4, 0], "x": 0, "y": 4}, {"label": "Ctrl", "matrix": [4, 1], "x": 1.25, "y": 4, "w": 1.25}, {"label": "GUI", "matrix": [4, 2], "x": 2.5, "y": 4, "w": 1.25}, @@ -206,7 +206,7 @@ {"label": "=", "matrix": [0, 13], "x": 13.25, "y": 0}, {"label": "Backspace", "matrix": [0, 14], "x": 14.25, "y": 0, "w": 2}, {"label": "Delete", "matrix": [0, 16], "x": 16.75, "y": 0}, - + {"label": "F2", "matrix": [1, 0], "x": 0, "y": 1}, {"label": "Tab", "matrix": [1, 1], "x": 1.25, "y": 1, "w": 1.5}, {"label": "Q", "matrix": [1, 2], "x": 2.75, "y": 1}, @@ -223,7 +223,7 @@ {"label": "]", "matrix": [1, 13], "x": 13.75, "y": 1}, {"label": "\\", "matrix": [1, 15], "x": 14.75, "y": 1, "w": 1.5}, {"label": "Page Up", "matrix": [1, 16], "x": 16.75, "y": 1}, - + {"label": "F3", "matrix": [2, 0], "x": 0, "y": 2}, {"label": "Caps Lock", "matrix": [2, 1], "x": 1.25, "y": 2, "w": 1.75}, {"label": "A", "matrix": [2, 2], "x": 3, "y": 2}, @@ -239,7 +239,7 @@ {"label": "'", "matrix": [2, 12], "x": 13, "y": 2}, {"label": "Enter", "matrix": [2, 14], "x": 14, "y": 2, "w": 2.25}, {"label": "Page Down", "matrix": [2, 16], "x": 16.75, "y": 2}, - + {"label": "F4", "matrix": [3, 0], "x": 0, "y": 3}, {"label": "Shift", "matrix": [3, 1], "x": 1.25, "y": 3, "w": 2.25}, {"label": "Z", "matrix": [3, 3], "x": 3.5, "y": 3}, @@ -255,7 +255,7 @@ {"label": "Shift", "matrix": [3, 13], "x": 13.5, "y": 3, "w": 1.75}, {"label": "\u2191", "matrix": [3, 15], "x": 15.5, "y": 3.25}, {"label": "Fn", "matrix": [3, 16], "x": 16.75, "y": 3}, - + {"label": "F5", "matrix": [4, 0], "x": 0, "y": 4}, {"label": "Ctrl", "matrix": [4, 1], "x": 1.25, "y": 4, "w": 1.5}, {"label": "GUI", "matrix": [4, 2], "x": 2.75, "y": 4}, @@ -286,7 +286,7 @@ {"label": "Backspace", "matrix": [0, 14], "x": 14.25, "y": 0}, {"label": "Backspace", "matrix": [0, 15], "x": 15.25, "y": 0}, {"label": "Delete", "matrix": [0, 16], "x": 16.75, "y": 0}, - + {"label": "F2", "matrix": [1, 0], "x": 0, "y": 1}, {"label": "Tab", "matrix": [1, 1], "x": 1.25, "y": 1, "w": 1.5}, {"label": "Q", "matrix": [1, 2], "x": 2.75, "y": 1}, @@ -303,7 +303,7 @@ {"label": "]", "matrix": [1, 13], "x": 13.75, "y": 1}, {"label": "\\", "matrix": [1, 15], "x": 14.75, "y": 1, "w": 1.5}, {"label": "Page Up", "matrix": [1, 16], "x": 16.75, "y": 1}, - + {"label": "F3", "matrix": [2, 0], "x": 0, "y": 2}, {"label": "Caps Lock", "matrix": [2, 1], "x": 1.25, "y": 2, "w": 1.75}, {"label": "A", "matrix": [2, 2], "x": 3, "y": 2}, @@ -319,7 +319,7 @@ {"label": "'", "matrix": [2, 12], "x": 13, "y": 2}, {"label": "Enter", "matrix": [2, 14], "x": 14, "y": 2, "w": 2.25}, {"label": "Page Down", "matrix": [2, 16], "x": 16.75, "y": 2}, - + {"label": "F4", "matrix": [3, 0], "x": 0, "y": 3}, {"label": "Shift", "matrix": [3, 1], "x": 1.25, "y": 3, "w": 2.25}, {"label": "Z", "matrix": [3, 3], "x": 3.5, "y": 3}, @@ -335,7 +335,7 @@ {"label": "Shift", "matrix": [3, 13], "x": 13.5, "y": 3, "w": 1.75}, {"label": "\u2191", "matrix": [3, 15], "x": 15.5, "y": 3.25}, {"label": "Fn", "matrix": [3, 16], "x": 16.75, "y": 3}, - + {"label": "F5", "matrix": [4, 0], "x": 0, "y": 4}, {"label": "Ctrl", "matrix": [4, 1], "x": 1.25, "y": 4, "w": 1.5}, {"label": "GUI", "matrix": [4, 2], "x": 2.75, "y": 4}, diff --git a/keyboards/saevus/cor/keymaps/default/keymap.c b/keyboards/concreteflowers/cor/keymaps/default/keymap.c similarity index 100% rename from keyboards/saevus/cor/keymaps/default/keymap.c rename to keyboards/concreteflowers/cor/keymaps/default/keymap.c diff --git a/keyboards/saevus/cor/matrix_diagram.md b/keyboards/concreteflowers/cor/matrix_diagram.md similarity index 100% rename from keyboards/saevus/cor/matrix_diagram.md rename to keyboards/concreteflowers/cor/matrix_diagram.md diff --git a/keyboards/saevus/cor/readme.md b/keyboards/concreteflowers/cor/readme.md similarity index 83% rename from keyboards/saevus/cor/readme.md rename to keyboards/concreteflowers/cor/readme.md index 2c158e1a63b..a63012ee5c3 100644 --- a/keyboards/saevus/cor/readme.md +++ b/keyboards/concreteflowers/cor/readme.md @@ -1,6 +1,6 @@ -# saevus cor +# concrete flowers cor -![saevus cor](https://i.imgur.com/AOT6mmMl.jpg) +![concrete flowers cor](https://i.imgur.com/AOT6mmMl.jpg) An exploded 65% with a macro column. @@ -9,11 +9,11 @@ An exploded 65% with a macro column. Make example for this keyboard (after setting up your build environment): - make saevus/cor:via + make concreteflowers/cor:default Flashing example for this keyboard: - make saevus/cor:via:flash + make concrete flowers/cor: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). diff --git a/keyboards/saevus/cor_tkl/cor_tkl.c b/keyboards/concreteflowers/cor_tkl/cor_tkl.c similarity index 100% rename from keyboards/saevus/cor_tkl/cor_tkl.c rename to keyboards/concreteflowers/cor_tkl/cor_tkl.c diff --git a/keyboards/saevus/cor_tkl/keyboard.json b/keyboards/concreteflowers/cor_tkl/keyboard.json similarity index 99% rename from keyboards/saevus/cor_tkl/keyboard.json rename to keyboards/concreteflowers/cor_tkl/keyboard.json index 98880e4834d..6a797d644cf 100644 --- a/keyboards/saevus/cor_tkl/keyboard.json +++ b/keyboards/concreteflowers/cor_tkl/keyboard.json @@ -1,6 +1,6 @@ { "keyboard_name": "Cor TKL", - "manufacturer": "saevus", + "manufacturer": "concreteflowers", "url": "", "maintainer": "ramonimbao", "community_layouts": [ diff --git a/keyboards/saevus/cor_tkl/keymaps/default/keymap.c b/keyboards/concreteflowers/cor_tkl/keymaps/default/keymap.c similarity index 100% rename from keyboards/saevus/cor_tkl/keymaps/default/keymap.c rename to keyboards/concreteflowers/cor_tkl/keymaps/default/keymap.c diff --git a/keyboards/saevus/cor_tkl/keymaps/iso/keymap.c b/keyboards/concreteflowers/cor_tkl/keymaps/iso/keymap.c similarity index 100% rename from keyboards/saevus/cor_tkl/keymaps/iso/keymap.c rename to keyboards/concreteflowers/cor_tkl/keymaps/iso/keymap.c diff --git a/keyboards/saevus/cor_tkl/readme.md b/keyboards/concreteflowers/cor_tkl/readme.md similarity index 85% rename from keyboards/saevus/cor_tkl/readme.md rename to keyboards/concreteflowers/cor_tkl/readme.md index c0c5ab0e913..0e482bfb2f5 100644 --- a/keyboards/saevus/cor_tkl/readme.md +++ b/keyboards/concreteflowers/cor_tkl/readme.md @@ -1,4 +1,4 @@ -# saevus cor TKL +# concrete flowers cor TKL ![Cor TKL](https://i.imgur.com/RGctsaVl.png) @@ -7,12 +7,12 @@ Make example for this keyboard (after setting up your build environment): - make saevus/cor_tkl:via + make concreteflowers/cor_tkl:default To get to the bootloader, simply press the reset button located at the back of the PCB. You can then flash new firmware onto it. Flashing example for this keyboard: - make saevus/cor_tkl:via:flash + make concreteflowers/cor_tkl: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). From 459de98222a7e22a9822e2c1603079e93957875f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jan=20Bl=C3=A1ha?= Date: Mon, 21 Oct 2024 23:38:11 +0200 Subject: [PATCH 073/124] Fix 6x13 default keymap (#24509) Update keymap.c --- layouts/default/ortho_6x13/default_ortho_6x13/keymap.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/layouts/default/ortho_6x13/default_ortho_6x13/keymap.c b/layouts/default/ortho_6x13/default_ortho_6x13/keymap.c index 527f87f84bc..2fa8f2acce1 100644 --- a/layouts/default/ortho_6x13/default_ortho_6x13/keymap.c +++ b/layouts/default/ortho_6x13/default_ortho_6x13/keymap.c @@ -26,7 +26,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_NUHS, 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_NUBS, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_UP, KC_SLSH, KC_LCTL, KC_LGUI, TT(0), KC_LALT, TT(2), KC_SPC, KC_SPC, KC_SPC, KC_RALT, KC_RSFT, KC_LEFT, KC_DOWN, KC_RGHT - ) + ), [1] = LAYOUT_ortho_6x13( KC_GRV , KC_MUTE, KC_VOLU, KC_VOLD, KC_MPRV, KC_MPLY, KC_MNXT, G(KC_P), KC_SLEP, KC_WAKE, KC_PSCR, _______, _______ , _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ , From 453ec007c1e76bf60345f3a5eb9cfc3e86930326 Mon Sep 17 00:00:00 2001 From: Danny Date: Tue, 22 Oct 2024 22:14:12 -0400 Subject: [PATCH 074/124] Add Iris LM series of keyboards (#24510) --- keyboards/keebio/iris_lm/g1/config.h | 26 ++ keyboards/keebio/iris_lm/g1/g1.c | 11 + keyboards/keebio/iris_lm/g1/halconf.h | 10 + keyboards/keebio/iris_lm/g1/keyboard.json | 257 ++++++++++++++++++ keyboards/keebio/iris_lm/g1/mcuconf.h | 14 + keyboards/keebio/iris_lm/g1/readme.md | 25 ++ keyboards/keebio/iris_lm/info.json | 8 + keyboards/keebio/iris_lm/k1/config.h | 26 ++ keyboards/keebio/iris_lm/k1/halconf.h | 10 + keyboards/keebio/iris_lm/k1/k1.c | 11 + keyboards/keebio/iris_lm/k1/keyboard.json | 242 +++++++++++++++++ keyboards/keebio/iris_lm/k1/mcuconf.h | 14 + keyboards/keebio/iris_lm/k1/readme.md | 25 ++ .../keebio/iris_lm/keymaps/default/keymap.c | 55 ++++ .../keebio/iris_lm/keymaps/default/rules.mk | 1 + keyboards/keebio/iris_lm/readme.md | 6 + 16 files changed, 741 insertions(+) create mode 100644 keyboards/keebio/iris_lm/g1/config.h create mode 100644 keyboards/keebio/iris_lm/g1/g1.c create mode 100644 keyboards/keebio/iris_lm/g1/halconf.h create mode 100644 keyboards/keebio/iris_lm/g1/keyboard.json create mode 100644 keyboards/keebio/iris_lm/g1/mcuconf.h create mode 100644 keyboards/keebio/iris_lm/g1/readme.md create mode 100644 keyboards/keebio/iris_lm/info.json create mode 100644 keyboards/keebio/iris_lm/k1/config.h create mode 100644 keyboards/keebio/iris_lm/k1/halconf.h create mode 100644 keyboards/keebio/iris_lm/k1/k1.c create mode 100644 keyboards/keebio/iris_lm/k1/keyboard.json create mode 100644 keyboards/keebio/iris_lm/k1/mcuconf.h create mode 100644 keyboards/keebio/iris_lm/k1/readme.md create mode 100644 keyboards/keebio/iris_lm/keymaps/default/keymap.c create mode 100644 keyboards/keebio/iris_lm/keymaps/default/rules.mk create mode 100644 keyboards/keebio/iris_lm/readme.md diff --git a/keyboards/keebio/iris_lm/g1/config.h b/keyboards/keebio/iris_lm/g1/config.h new file mode 100644 index 00000000000..952033edf10 --- /dev/null +++ b/keyboards/keebio/iris_lm/g1/config.h @@ -0,0 +1,26 @@ +// Copyright 2024 Danny Nguyen (@nooges) +// SPDX-License-Identifier: GPL-2.0-or-later + +#pragma once + +/* Defines for the split keyboard setup */ +#define SERIAL_USART_DRIVER SD3 // USART 3 +#define SERIAL_USART_TX_PIN B10 +#define SERIAL_USART_RX_PIN B11 +#define SERIAL_USART_TX_PAL_MODE 7 +#define SERIAL_USART_RX_PAL_MODE 7 +#define SERIAL_USART_FULL_DUPLEX +#define SERIAL_USART_PIN_SWAP + +#define USB_VBUS_PIN C6 +#define SPLIT_HAND_PIN A0 + +/* Defines for the RGB matrix */ +#ifdef RGB_MATRIX_ENABLE +# define WS2812_PWM_DRIVER PWMD3 +# define WS2812_PWM_CHANNEL 4 +# define WS2812_PWM_PAL_MODE 10 +# define WS2812_DMA_STREAM STM32_DMA1_STREAM2 +# define WS2812_DMA_CHANNEL 2 +# define WS2812_DMAMUX_ID STM32_DMAMUX1_TIM3_UP +#endif diff --git a/keyboards/keebio/iris_lm/g1/g1.c b/keyboards/keebio/iris_lm/g1/g1.c new file mode 100644 index 00000000000..7843a900a3f --- /dev/null +++ b/keyboards/keebio/iris_lm/g1/g1.c @@ -0,0 +1,11 @@ +// Copyright 2024 Danny Nguyen (@nooges) +// SPDX-License-Identifier: GPL-2.0-or-later + +#include "quantum.h" + +void keyboard_pre_init_kb(void) { + // Disable the PD peripheral in pre-init because its pins (B4, B6) are being used in the matrix: + PWR->CR3 |= PWR_CR3_UCPD_DBDIS; + // Call the corresponding _user() function (see https://docs.qmk.fm/#/custom_quantum_functions) + keyboard_pre_init_user(); +} diff --git a/keyboards/keebio/iris_lm/g1/halconf.h b/keyboards/keebio/iris_lm/g1/halconf.h new file mode 100644 index 00000000000..45321a55bc8 --- /dev/null +++ b/keyboards/keebio/iris_lm/g1/halconf.h @@ -0,0 +1,10 @@ +// Copyright 2024 Danny Nguyen (@nooges) +// SPDX-License-Identifier: GPL-2.0-or-later + +#pragma once + +#define HAL_USE_SERIAL TRUE + +#define HAL_USE_PWM TRUE + +#include_next diff --git a/keyboards/keebio/iris_lm/g1/keyboard.json b/keyboards/keebio/iris_lm/g1/keyboard.json new file mode 100644 index 00000000000..6aca0c9bacd --- /dev/null +++ b/keyboards/keebio/iris_lm/g1/keyboard.json @@ -0,0 +1,257 @@ +{ + "keyboard_name": "Iris LM-G Rev. 1", + "bootloader": "stm32-dfu", + "diode_direction": "COL2ROW", + "features": { + "bootmagic": true, + "encoder": true, + "extrakey": true, + "mousekey": true, + "rgb_matrix": true + }, + "encoder": { + "rotary": [ + {"pin_a": "A15", "pin_b": "C10"}, + {"pin_a": "B13", "pin_b": "B12"} + ] + }, + "ws2812": { + "driver": "pwm", + "pin": "B7" + }, + "matrix_pins": { + "cols": ["C4", "B2", "A5", "C11", "C13", "C14"], + "rows": ["A4", "A3", "B14", "B5", "F1"] + }, + "split": { + "enabled": true, + "encoder": { + "right": { + "rotary": [ + {"pin_a": "A5", "pin_b": "A6"}, + {"pin_a": "A15", "pin_b": "C10"} + ] + } + }, + "matrix_pins": { + "right": { + "cols": ["C11", "C13", "B6", "B9", "B12", "B2"], + "rows": ["C4", "A7", "B14", "B5", "F1"] + } + }, + "serial": { + "driver": "usart" + }, + "transport": { + "sync" :{ + "matrix_state": true + } + } + }, + "processor": "STM32G431", + "usb": { + "device_version": "1.0.0", + "pid": "0x1656" + }, + "layouts": { + "LAYOUT": { + "layout": [ + {"matrix": [0, 0], "x": 0, "y": 0.375}, + {"matrix": [0, 1], "x": 1, "y": 0.375}, + {"matrix": [0, 2], "x": 2, "y": 0.125}, + {"matrix": [0, 3], "x": 3, "y": 0}, + {"matrix": [0, 4], "x": 4, "y": 0.125}, + {"matrix": [0, 5], "x": 5, "y": 0.25}, + + {"matrix": [5, 5], "x": 9, "y": 0.25}, + {"matrix": [5, 4], "x": 10, "y": 0.125}, + {"matrix": [5, 3], "x": 11, "y": 0}, + {"matrix": [5, 2], "x": 12, "y": 0.125}, + {"matrix": [5, 1], "x": 13, "y": 0.375}, + {"matrix": [5, 0], "x": 14, "y": 0.375}, + + {"matrix": [1, 0], "x": 0, "y": 1.375}, + {"matrix": [1, 1], "x": 1, "y": 1.375}, + {"matrix": [1, 2], "x": 2, "y": 1.125}, + {"matrix": [1, 3], "x": 3, "y": 1}, + {"matrix": [1, 4], "x": 4, "y": 1.125}, + {"matrix": [1, 5], "x": 5, "y": 1.25}, + + {"matrix": [6, 5], "x": 9, "y": 1.25}, + {"matrix": [6, 4], "x": 10, "y": 1.125}, + {"matrix": [6, 3], "x": 11, "y": 1}, + {"matrix": [6, 2], "x": 12, "y": 1.125}, + {"matrix": [6, 1], "x": 13, "y": 1.375}, + {"matrix": [6, 0], "x": 14, "y": 1.375}, + + {"matrix": [2, 0], "x": 0, "y": 2.375}, + {"matrix": [2, 1], "x": 1, "y": 2.375}, + {"matrix": [2, 2], "x": 2, "y": 2.125}, + {"matrix": [2, 3], "x": 3, "y": 2}, + {"matrix": [2, 4], "x": 4, "y": 2.125}, + {"matrix": [2, 5], "x": 5, "y": 2.25}, + + {"matrix": [7, 5], "x": 9, "y": 2.25}, + {"matrix": [7, 4], "x": 10, "y": 2.125}, + {"matrix": [7, 3], "x": 11, "y": 2}, + {"matrix": [7, 2], "x": 12, "y": 2.125}, + {"matrix": [7, 1], "x": 13, "y": 2.375}, + {"matrix": [7, 0], "x": 14, "y": 2.375}, + + {"matrix": [3, 0], "x": 0, "y": 3.375}, + {"matrix": [3, 1], "x": 1, "y": 3.375}, + {"matrix": [3, 2], "x": 2, "y": 3.125}, + {"matrix": [3, 3], "x": 3, "y": 3}, + {"matrix": [3, 4], "x": 4, "y": 3.125}, + {"matrix": [3, 5], "x": 5, "y": 3.25}, + {"matrix": [4, 5], "x": 6.15, "y": 3.75}, + + {"matrix": [9, 5], "x": 7.85, "y": 3.75}, + {"matrix": [8, 5], "x": 9, "y": 3.25}, + {"matrix": [8, 4], "x": 10, "y": 3.125}, + {"matrix": [8, 3], "x": 11, "y": 3}, + {"matrix": [8, 2], "x": 12, "y": 3.125}, + {"matrix": [8, 1], "x": 13, "y": 3.375}, + {"matrix": [8, 0], "x": 14, "y": 3.375}, + + {"matrix": [4, 2], "x": 3.5, "y": 4.25}, + {"matrix": [4, 3], "x": 4.5, "y": 4.375}, + {"matrix": [4, 4], "x": 5.6, "y": 4.75}, + + {"matrix": [9, 4], "x": 8.4, "y": 4.75}, + {"matrix": [9, 3], "x": 9.5, "y": 4.375}, + {"matrix": [9, 2], "x": 10.5, "y": 4.25} + ] + } + }, + "rgb_matrix": { + "animations": { + "alphas_mods": true, + "gradient_up_down": true, + "gradient_left_right": true, + "breathing": true, + "band_sat": true, + "band_val": true, + "band_pinwheel_sat": true, + "band_pinwheel_val": true, + "band_spiral_sat": true, + "band_spiral_val": true, + "cycle_all": true, + "cycle_left_right": true, + "cycle_up_down": true, + "cycle_out_in": true, + "cycle_out_in_dual": true, + "rainbow_moving_chevron": true, + "cycle_pinwheel": true, + "cycle_spiral": true, + "dual_beacon": true, + "rainbow_beacon": true, + "rainbow_pinwheels": true, + "raindrops": true, + "jellybean_raindrops": true, + "hue_breathing": true, + "hue_pendulum": true, + "hue_wave": true, + "pixel_fractal": true, + "pixel_flow": true, + "pixel_rain": true, + "typing_heatmap": true, + "digital_rain": true, + "solid_reactive_simple": true, + "solid_reactive": true, + "solid_reactive_wide": true, + "solid_reactive_multiwide": true, + "solid_reactive_cross": true, + "solid_reactive_multicross": true, + "solid_reactive_nexus": true, + "solid_reactive_multinexus": true, + "splash": true, + "multisplash": true, + "solid_splash": true, + "solid_multisplash": true + }, + "driver": "ws2812", + "split_count": [34, 34], + "max_brightness": 120, + "layout": [ + {"matrix": [0,0], "flags":4, "x":0, "y":5}, + {"flags":2, "x":8, "y":5}, + {"matrix": [0,1], "flags":4, "x":16, "y":5}, + {"matrix": [0,2], "flags":4, "x":32, "y":2}, + {"flags":2, "x":40, "y":1}, + {"matrix": [0,3], "flags":4, "x":48, "y":0}, + {"matrix": [0,4], "flags":4, "x":64, "y":5}, + {"flags":2, "x":72, "y":3}, + {"matrix": [0,5], "flags":4, "x":80, "y":3}, + + {"matrix": [1,5], "flags":4, "x":80, "y":17}, + {"matrix": [1,4], "flags":4, "x":64, "y":15}, + {"matrix": [1,3], "flags":4, "x":48, "y":13}, + {"matrix": [1,2], "flags":4, "x":32, "y":15}, + {"matrix": [1,1], "flags":4, "x":16, "y":18}, + {"matrix": [1,0], "flags":4, "x":0, "y":18}, + + {"matrix": [2,0], "flags":4, "x":0, "y":32}, + {"matrix": [2,1], "flags":4, "x":16, "y":32}, + {"matrix": [2,2], "flags":4, "x":32, "y":28}, + {"matrix": [2,3], "flags":4, "x":48, "y":27}, + {"matrix": [2,4], "flags":4, "x":64, "y":28}, + {"matrix": [2,5], "flags":4, "x":80, "y":30}, + + {"matrix": [3,5], "flags":4, "x":80, "y":43}, + {"matrix": [3,4], "flags":4, "x":64, "y":42}, + {"matrix": [3,3], "flags":4, "x":48, "y":40}, + {"flags":2, "x":40, "y":50}, + {"matrix": [3,2], "flags":4, "x":32, "y":42}, + {"matrix": [3,1], "flags":4, "x":16, "y":45}, + {"flags":2, "x":8, "y":43}, + {"matrix": [3,0], "flags":4, "x":0, "y":45}, + + {"matrix": [4,5], "flags":4, "x":98, "y":52}, + {"matrix": [4,4], "flags":4, "x":90, "y":64}, + {"flags":2, "x":80, "y":58}, + {"matrix": [4,3], "flags":4, "x":72, "y":58}, + {"matrix": [4,2], "flags":4, "x":56, "y":47}, + + {"matrix": [5,0], "flags":4, "x":224, "y":5}, + {"flags":2, "x":216, "y":5}, + {"matrix": [5,1], "flags":4, "x":208, "y":5}, + {"matrix": [5,2], "flags":4, "x":192, "y":2}, + {"flags":2, "x":184, "y":1}, + {"matrix": [5,3], "flags":4, "x":176, "y":0}, + {"matrix": [5,4], "flags":4, "x":160, "y":5}, + {"flags":2, "x":152, "y":3}, + {"matrix": [5,5], "flags":4, "x":144, "y":3}, + + {"matrix": [6,5], "flags":4, "x":144, "y":17}, + {"matrix": [6,4], "flags":4, "x":160, "y":15}, + {"matrix": [6,3], "flags":4, "x":176, "y":13}, + {"matrix": [6,2], "flags":4, "x":192, "y":15}, + {"matrix": [6,1], "flags":4, "x":208, "y":18}, + {"matrix": [6,0], "flags":4, "x":224, "y":18}, + + {"matrix": [7,0], "flags":4, "x":224, "y":32}, + {"matrix": [7,1], "flags":4, "x":208, "y":32}, + {"matrix": [7,2], "flags":4, "x":192, "y":28}, + {"matrix": [7,3], "flags":4, "x":176, "y":27}, + {"matrix": [7,4], "flags":4, "x":160, "y":28}, + {"matrix": [7,5], "flags":4, "x":144, "y":30}, + + {"matrix": [8,5], "flags":4, "x":144, "y":43}, + {"matrix": [8,4], "flags":4, "x":160, "y":42}, + {"matrix": [8,3], "flags":4, "x":176, "y":40}, + {"flags":2, "x":184, "y":50}, + {"matrix": [8,2], "flags":4, "x":192, "y":42}, + {"matrix": [8,1], "flags":4, "x":208, "y":45}, + {"flags":2, "x":216, "y":43}, + {"matrix": [8,0], "flags":4, "x":224, "y":45}, + + {"matrix": [9,2], "flags":4, "x":168, "y":47}, + {"matrix": [9,3], "flags":4, "x":152, "y":58}, + {"flags":2, "x":144, "y":58}, + {"matrix": [9,4], "flags":4, "x":134, "y":64}, + {"matrix": [9,5], "flags":4, "x":126, "y":52} + ], + "sleep": true + } +} diff --git a/keyboards/keebio/iris_lm/g1/mcuconf.h b/keyboards/keebio/iris_lm/g1/mcuconf.h new file mode 100644 index 00000000000..e1a054267d6 --- /dev/null +++ b/keyboards/keebio/iris_lm/g1/mcuconf.h @@ -0,0 +1,14 @@ +// Copyright 2024 Danny Nguyen (@nooges) +// SPDX-License-Identifier: GPL-2.0-or-later + +#pragma once + +#include_next + +/* enable USART3, used for split comms */ +#undef STM32_SERIAL_USE_USART3 +#define STM32_SERIAL_USE_USART3 TRUE + +/* enable TIM3, used for RGB LED PWM driver */ +#undef STM32_PWM_USE_TIM3 +#define STM32_PWM_USE_TIM3 TRUE diff --git a/keyboards/keebio/iris_lm/g1/readme.md b/keyboards/keebio/iris_lm/g1/readme.md new file mode 100644 index 00000000000..1483e68ff6f --- /dev/null +++ b/keyboards/keebio/iris_lm/g1/readme.md @@ -0,0 +1,25 @@ +# Iris LM-G + +A split ergo 4x6 keyboard with 4 thumb keys made and sold by Keebio that supports Gateron KS-33 low-profile switches. [More info at Keebio](https://keeb.io). + +* Keyboard Maintainer: [Bakingpy/nooges](https://github.com/nooges) +* Hardware Supported: Iris LM-G PCBs +* Hardware Availability: [Keebio](https://keeb.io) + +Make example for this keyboard (after setting up your build environment): + + make keebio/iris_lm/g1:default + +Example of flashing this keyboard: + + make keebio/iris_lm/g1: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 the top left and plug in the keyboard +* **Physical reset button**: Press and hold the button on the back of the PCB for at least 1 second and let go +* **Keycode in layout**: Press the key mapped to `QK_BOOT` if it is available diff --git a/keyboards/keebio/iris_lm/info.json b/keyboards/keebio/iris_lm/info.json new file mode 100644 index 00000000000..64fa5a05caf --- /dev/null +++ b/keyboards/keebio/iris_lm/info.json @@ -0,0 +1,8 @@ +{ + "manufacturer": "Keebio", + "maintainer": "Keebio", + "url": "https://keeb.io", + "usb": { + "vid": "0xCB10" + } +} diff --git a/keyboards/keebio/iris_lm/k1/config.h b/keyboards/keebio/iris_lm/k1/config.h new file mode 100644 index 00000000000..952033edf10 --- /dev/null +++ b/keyboards/keebio/iris_lm/k1/config.h @@ -0,0 +1,26 @@ +// Copyright 2024 Danny Nguyen (@nooges) +// SPDX-License-Identifier: GPL-2.0-or-later + +#pragma once + +/* Defines for the split keyboard setup */ +#define SERIAL_USART_DRIVER SD3 // USART 3 +#define SERIAL_USART_TX_PIN B10 +#define SERIAL_USART_RX_PIN B11 +#define SERIAL_USART_TX_PAL_MODE 7 +#define SERIAL_USART_RX_PAL_MODE 7 +#define SERIAL_USART_FULL_DUPLEX +#define SERIAL_USART_PIN_SWAP + +#define USB_VBUS_PIN C6 +#define SPLIT_HAND_PIN A0 + +/* Defines for the RGB matrix */ +#ifdef RGB_MATRIX_ENABLE +# define WS2812_PWM_DRIVER PWMD3 +# define WS2812_PWM_CHANNEL 4 +# define WS2812_PWM_PAL_MODE 10 +# define WS2812_DMA_STREAM STM32_DMA1_STREAM2 +# define WS2812_DMA_CHANNEL 2 +# define WS2812_DMAMUX_ID STM32_DMAMUX1_TIM3_UP +#endif diff --git a/keyboards/keebio/iris_lm/k1/halconf.h b/keyboards/keebio/iris_lm/k1/halconf.h new file mode 100644 index 00000000000..45321a55bc8 --- /dev/null +++ b/keyboards/keebio/iris_lm/k1/halconf.h @@ -0,0 +1,10 @@ +// Copyright 2024 Danny Nguyen (@nooges) +// SPDX-License-Identifier: GPL-2.0-or-later + +#pragma once + +#define HAL_USE_SERIAL TRUE + +#define HAL_USE_PWM TRUE + +#include_next diff --git a/keyboards/keebio/iris_lm/k1/k1.c b/keyboards/keebio/iris_lm/k1/k1.c new file mode 100644 index 00000000000..7843a900a3f --- /dev/null +++ b/keyboards/keebio/iris_lm/k1/k1.c @@ -0,0 +1,11 @@ +// Copyright 2024 Danny Nguyen (@nooges) +// SPDX-License-Identifier: GPL-2.0-or-later + +#include "quantum.h" + +void keyboard_pre_init_kb(void) { + // Disable the PD peripheral in pre-init because its pins (B4, B6) are being used in the matrix: + PWR->CR3 |= PWR_CR3_UCPD_DBDIS; + // Call the corresponding _user() function (see https://docs.qmk.fm/#/custom_quantum_functions) + keyboard_pre_init_user(); +} diff --git a/keyboards/keebio/iris_lm/k1/keyboard.json b/keyboards/keebio/iris_lm/k1/keyboard.json new file mode 100644 index 00000000000..e5b0d5c655b --- /dev/null +++ b/keyboards/keebio/iris_lm/k1/keyboard.json @@ -0,0 +1,242 @@ +{ + "keyboard_name": "Iris LM-K Rev. 1", + "bootloader": "stm32-dfu", + "diode_direction": "COL2ROW", + "features": { + "bootmagic": true, + "extrakey": true, + "mousekey": true, + "rgb_matrix": true + }, + "ws2812": { + "driver": "pwm", + "pin": "B7" + }, + "matrix_pins": { + "cols": ["A6", "A5", "B2", "B13", "B12", "C11"], + "rows": ["B1", "B0", "B14", "A15", "F1"] + }, + "split": { + "enabled": true, + "matrix_pins": { + "right": { + "cols": ["C11", "C13", "B6", "B9", "B12", "B2"], + "rows": ["C4", "A7", "A6", "B5", "F1"] + } + }, + "serial": { + "driver": "usart" + }, + "transport": { + "sync" :{ + "matrix_state": true + } + } + }, + "processor": "STM32G431", + "usb": { + "device_version": "1.0.0", + "pid": "0x1756" + }, + "layouts": { + "LAYOUT": { + "layout": [ + {"matrix": [0, 0], "x": 0, "y": 0.375}, + {"matrix": [0, 1], "x": 1, "y": 0.375}, + {"matrix": [0, 2], "x": 2, "y": 0.125}, + {"matrix": [0, 3], "x": 3, "y": 0}, + {"matrix": [0, 4], "x": 4, "y": 0.125}, + {"matrix": [0, 5], "x": 5, "y": 0.25}, + + {"matrix": [5, 5], "x": 9, "y": 0.25}, + {"matrix": [5, 4], "x": 10, "y": 0.125}, + {"matrix": [5, 3], "x": 11, "y": 0}, + {"matrix": [5, 2], "x": 12, "y": 0.125}, + {"matrix": [5, 1], "x": 13, "y": 0.375}, + {"matrix": [5, 0], "x": 14, "y": 0.375}, + + {"matrix": [1, 0], "x": 0, "y": 1.375}, + {"matrix": [1, 1], "x": 1, "y": 1.375}, + {"matrix": [1, 2], "x": 2, "y": 1.125}, + {"matrix": [1, 3], "x": 3, "y": 1}, + {"matrix": [1, 4], "x": 4, "y": 1.125}, + {"matrix": [1, 5], "x": 5, "y": 1.25}, + + {"matrix": [6, 5], "x": 9, "y": 1.25}, + {"matrix": [6, 4], "x": 10, "y": 1.125}, + {"matrix": [6, 3], "x": 11, "y": 1}, + {"matrix": [6, 2], "x": 12, "y": 1.125}, + {"matrix": [6, 1], "x": 13, "y": 1.375}, + {"matrix": [6, 0], "x": 14, "y": 1.375}, + + {"matrix": [2, 0], "x": 0, "y": 2.375}, + {"matrix": [2, 1], "x": 1, "y": 2.375}, + {"matrix": [2, 2], "x": 2, "y": 2.125}, + {"matrix": [2, 3], "x": 3, "y": 2}, + {"matrix": [2, 4], "x": 4, "y": 2.125}, + {"matrix": [2, 5], "x": 5, "y": 2.25}, + + {"matrix": [7, 5], "x": 9, "y": 2.25}, + {"matrix": [7, 4], "x": 10, "y": 2.125}, + {"matrix": [7, 3], "x": 11, "y": 2}, + {"matrix": [7, 2], "x": 12, "y": 2.125}, + {"matrix": [7, 1], "x": 13, "y": 2.375}, + {"matrix": [7, 0], "x": 14, "y": 2.375}, + + {"matrix": [3, 0], "x": 0, "y": 3.375}, + {"matrix": [3, 1], "x": 1, "y": 3.375}, + {"matrix": [3, 2], "x": 2, "y": 3.125}, + {"matrix": [3, 3], "x": 3, "y": 3}, + {"matrix": [3, 4], "x": 4, "y": 3.125}, + {"matrix": [3, 5], "x": 5, "y": 3.25}, + {"matrix": [4, 5], "x": 6.15, "y": 3.75}, + + {"matrix": [9, 5], "x": 7.85, "y": 3.75}, + {"matrix": [8, 5], "x": 9, "y": 3.25}, + {"matrix": [8, 4], "x": 10, "y": 3.125}, + {"matrix": [8, 3], "x": 11, "y": 3}, + {"matrix": [8, 2], "x": 12, "y": 3.125}, + {"matrix": [8, 1], "x": 13, "y": 3.375}, + {"matrix": [8, 0], "x": 14, "y": 3.375}, + + {"matrix": [4, 2], "x": 3.5, "y": 4.25}, + {"matrix": [4, 3], "x": 4.5, "y": 4.375}, + {"matrix": [4, 4], "x": 5.6, "y": 4.75}, + + {"matrix": [9, 4], "x": 8.4, "y": 4.75}, + {"matrix": [9, 3], "x": 9.5, "y": 4.375}, + {"matrix": [9, 2], "x": 10.5, "y": 4.25} + ] + } + }, + "rgb_matrix": { + "animations": { + "alphas_mods": true, + "gradient_up_down": true, + "gradient_left_right": true, + "breathing": true, + "band_sat": true, + "band_val": true, + "band_pinwheel_sat": true, + "band_pinwheel_val": true, + "band_spiral_sat": true, + "band_spiral_val": true, + "cycle_all": true, + "cycle_left_right": true, + "cycle_up_down": true, + "cycle_out_in": true, + "cycle_out_in_dual": true, + "rainbow_moving_chevron": true, + "cycle_pinwheel": true, + "cycle_spiral": true, + "dual_beacon": true, + "rainbow_beacon": true, + "rainbow_pinwheels": true, + "raindrops": true, + "jellybean_raindrops": true, + "hue_breathing": true, + "hue_pendulum": true, + "hue_wave": true, + "pixel_fractal": true, + "pixel_flow": true, + "pixel_rain": true, + "typing_heatmap": true, + "digital_rain": true, + "solid_reactive_simple": true, + "solid_reactive": true, + "solid_reactive_wide": true, + "solid_reactive_multiwide": true, + "solid_reactive_cross": true, + "solid_reactive_multicross": true, + "solid_reactive_nexus": true, + "solid_reactive_multinexus": true, + "splash": true, + "multisplash": true, + "solid_splash": true, + "solid_multisplash": true + }, + "driver": "ws2812", + "split_count": [34, 34], + "max_brightness": 120, + "layout": [ + {"matrix": [0,0], "flags":4, "x":0, "y":5}, + {"flags":2, "x":8, "y":5}, + {"matrix": [0,1], "flags":4, "x":16, "y":5}, + {"matrix": [0,2], "flags":4, "x":32, "y":2}, + {"flags":2, "x":40, "y":1}, + {"matrix": [0,3], "flags":4, "x":48, "y":0}, + {"matrix": [0,4], "flags":4, "x":64, "y":5}, + {"flags":2, "x":72, "y":3}, + {"matrix": [0,5], "flags":4, "x":80, "y":3}, + + {"matrix": [1,5], "flags":4, "x":80, "y":17}, + {"matrix": [1,4], "flags":4, "x":64, "y":15}, + {"matrix": [1,3], "flags":4, "x":48, "y":13}, + {"matrix": [1,2], "flags":4, "x":32, "y":15}, + {"matrix": [1,1], "flags":4, "x":16, "y":18}, + {"matrix": [1,0], "flags":4, "x":0, "y":18}, + + {"matrix": [2,0], "flags":4, "x":0, "y":32}, + {"matrix": [2,1], "flags":4, "x":16, "y":32}, + {"matrix": [2,2], "flags":4, "x":32, "y":28}, + {"matrix": [2,3], "flags":4, "x":48, "y":27}, + {"matrix": [2,4], "flags":4, "x":64, "y":28}, + {"matrix": [2,5], "flags":4, "x":80, "y":30}, + + {"matrix": [3,5], "flags":4, "x":80, "y":43}, + {"matrix": [3,4], "flags":4, "x":64, "y":42}, + {"matrix": [3,3], "flags":4, "x":48, "y":40}, + {"flags":2, "x":40, "y":50}, + {"matrix": [3,2], "flags":4, "x":32, "y":42}, + {"matrix": [3,1], "flags":4, "x":16, "y":45}, + {"flags":2, "x":8, "y":43}, + {"matrix": [3,0], "flags":4, "x":0, "y":45}, + + {"matrix": [4,5], "flags":4, "x":98, "y":52}, + {"matrix": [4,4], "flags":4, "x":90, "y":64}, + {"flags":2, "x":80, "y":58}, + {"matrix": [4,3], "flags":4, "x":72, "y":58}, + {"matrix": [4,2], "flags":4, "x":56, "y":47}, + + {"matrix": [5,0], "flags":4, "x":224, "y":5}, + {"flags":2, "x":216, "y":5}, + {"matrix": [5,1], "flags":4, "x":208, "y":5}, + {"matrix": [5,2], "flags":4, "x":192, "y":2}, + {"flags":2, "x":184, "y":1}, + {"matrix": [5,3], "flags":4, "x":176, "y":0}, + {"matrix": [5,4], "flags":4, "x":160, "y":5}, + {"flags":2, "x":152, "y":3}, + {"matrix": [5,5], "flags":4, "x":144, "y":3}, + + {"matrix": [6,5], "flags":4, "x":144, "y":17}, + {"matrix": [6,4], "flags":4, "x":160, "y":15}, + {"matrix": [6,3], "flags":4, "x":176, "y":13}, + {"matrix": [6,2], "flags":4, "x":192, "y":15}, + {"matrix": [6,1], "flags":4, "x":208, "y":18}, + {"matrix": [6,0], "flags":4, "x":224, "y":18}, + + {"matrix": [7,0], "flags":4, "x":224, "y":32}, + {"matrix": [7,1], "flags":4, "x":208, "y":32}, + {"matrix": [7,2], "flags":4, "x":192, "y":28}, + {"matrix": [7,3], "flags":4, "x":176, "y":27}, + {"matrix": [7,4], "flags":4, "x":160, "y":28}, + {"matrix": [7,5], "flags":4, "x":144, "y":30}, + + {"matrix": [8,5], "flags":4, "x":144, "y":43}, + {"matrix": [8,4], "flags":4, "x":160, "y":42}, + {"matrix": [8,3], "flags":4, "x":176, "y":40}, + {"flags":2, "x":184, "y":50}, + {"matrix": [8,2], "flags":4, "x":192, "y":42}, + {"matrix": [8,1], "flags":4, "x":208, "y":45}, + {"flags":2, "x":216, "y":43}, + {"matrix": [8,0], "flags":4, "x":224, "y":45}, + + {"matrix": [9,2], "flags":4, "x":168, "y":47}, + {"matrix": [9,3], "flags":4, "x":152, "y":58}, + {"flags":2, "x":144, "y":58}, + {"matrix": [9,4], "flags":4, "x":134, "y":64}, + {"matrix": [9,5], "flags":4, "x":126, "y":52} + ], + "sleep": true + } +} diff --git a/keyboards/keebio/iris_lm/k1/mcuconf.h b/keyboards/keebio/iris_lm/k1/mcuconf.h new file mode 100644 index 00000000000..e1a054267d6 --- /dev/null +++ b/keyboards/keebio/iris_lm/k1/mcuconf.h @@ -0,0 +1,14 @@ +// Copyright 2024 Danny Nguyen (@nooges) +// SPDX-License-Identifier: GPL-2.0-or-later + +#pragma once + +#include_next + +/* enable USART3, used for split comms */ +#undef STM32_SERIAL_USE_USART3 +#define STM32_SERIAL_USE_USART3 TRUE + +/* enable TIM3, used for RGB LED PWM driver */ +#undef STM32_PWM_USE_TIM3 +#define STM32_PWM_USE_TIM3 TRUE diff --git a/keyboards/keebio/iris_lm/k1/readme.md b/keyboards/keebio/iris_lm/k1/readme.md new file mode 100644 index 00000000000..8b373eb32b8 --- /dev/null +++ b/keyboards/keebio/iris_lm/k1/readme.md @@ -0,0 +1,25 @@ +# Iris LM-K + +A split ergo 4x6 keyboard with 4 thumb keys made and sold by Keebio that supports Kailh Choc V1 & V2 low-profile switches. [More info at Keebio](https://keeb.io). + +* Keyboard Maintainer: [Bakingpy/nooges](https://github.com/nooges) +* Hardware Supported: Iris LM-K PCBs +* Hardware Availability: [Keebio](https://keeb.io) + +Make example for this keyboard (after setting up your build environment): + + make keebio/iris_lm/k1:default + +Example of flashing this keyboard: + + make keebio/iris_lm/k1: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 the top left and plug in the keyboard +* **Physical reset button**: Press and hold the button on the back of the PCB for at least 1 second and let go +* **Keycode in layout**: Press the key mapped to `QK_BOOT` if it is available diff --git a/keyboards/keebio/iris_lm/keymaps/default/keymap.c b/keyboards/keebio/iris_lm/keymaps/default/keymap.c new file mode 100644 index 00000000000..d5021d647d4 --- /dev/null +++ b/keyboards/keebio/iris_lm/keymaps/default/keymap.c @@ -0,0 +1,55 @@ +// Copyright 2023 Danny Nguyen (@nooges) +// SPDX-License-Identifier: GPL-2.0-or-later + +#include QMK_KEYBOARD_H + +enum custom_layers { + _QWERTY, + _LOWER, + _RAISE +}; + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + + [_QWERTY] = LAYOUT( + //┌────────┬────────┬────────┬────────┬────────┬────────┐ ┌────────┬────────┬────────┬────────┬────────┬────────┐ + QK_GESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_BSPC, + //├────────┼────────┼────────┼────────┼────────┼────────┤ ├────────┼────────┼────────┼────────┼────────┼────────┤ + KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_DEL, + //├────────┼────────┼────────┼────────┼────────┼────────┤ ├────────┼────────┼────────┼────────┼────────┼────────┤ + KC_LCTL, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, + //├────────┼────────┼────────┼────────┼────────┼────────┼────────┐ ┌────────┼────────┼────────┼────────┼────────┼────────┼────────┤ + KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_HOME, KC_END, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, + //└────────┴────────┴────────┴───┬────┴───┬────┴───┬────┴───┬────┘ └───┬────┴───┬────┴───┬────┴───┬────┴────────┴────────┴────────┘ + KC_LGUI, TL_LOWR, KC_ENT, KC_SPC, TL_UPPR, KC_RALT + // └────────┴────────┴────────┘ └────────┴────────┴────────┘ + ), + + [_LOWER] = LAYOUT( + //┌────────┬────────┬────────┬────────┬────────┬────────┐ ┌────────┬────────┬────────┬────────┬────────┬────────┐ + KC_TILD, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, KC_PGUP, + //├────────┼────────┼────────┼────────┼────────┼────────┤ ├────────┼────────┼────────┼────────┼────────┼────────┤ + KC_GRV, _______, KC_UP, _______, QK_BOOT, _______, _______, KC_P7, KC_P8, KC_P9, KC_P0, KC_PGDN, + //├────────┼────────┼────────┼────────┼────────┼────────┤ ├────────┼────────┼────────┼────────┼────────┼────────┤ + KC_DEL, KC_LEFT, KC_DOWN, KC_RGHT, _______, KC_LBRC, KC_RBRC, KC_P4, KC_P5, KC_P6, KC_PLUS, KC_PIPE, + //├────────┼────────┼────────┼────────┼────────┼────────┼────────┐ ┌────────┼────────┼────────┼────────┼────────┼────────┼────────┤ + RGB_MOD, EE_CLR, _______, _______, _______, KC_LCBR, KC_LPRN, KC_RPRN, KC_RCBR, KC_P1, KC_P2, KC_P3, KC_MINS, _______, + //└────────┴────────┴────────┴───┬────┴───┬────┴───┬────┴───┬────┘ └───┬────┴───┬────┴───┬────┴───┬────┴────────┴────────┴────────┘ + _______, _______, KC_DEL, KC_DEL, _______, KC_P0 + // └────────┴────────┴────────┘ └────────┴────────┴────────┘ + ), + + [_RAISE] = LAYOUT( + //┌────────┬────────┬────────┬────────┬────────┬────────┐ ┌────────┬────────┬────────┬────────┬────────┬────────┐ + KC_F12, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, + //├────────┼────────┼────────┼────────┼────────┼────────┤ ├────────┼────────┼────────┼────────┼────────┼────────┤ + RGB_TOG, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, QK_BOOT, + //├────────┼────────┼────────┼────────┼────────┼────────┤ ├────────┼────────┼────────┼────────┼────────┼────────┤ + RGB_MOD, KC_MPRV, KC_MNXT, KC_VOLU, KC_PGUP, KC_UNDS, KC_EQL, KC_HOME, RGB_HUI, RGB_SAI, RGB_VAI, KC_BSLS, + //├────────┼────────┼────────┼────────┼────────┼────────┼────────┐ ┌────────┼────────┼────────┼────────┼────────┼────────┼────────┤ + KC_MUTE, KC_MSTP, KC_MPLY, KC_VOLD, KC_PGDN, KC_MINS, KC_LPRN, _______, KC_PLUS, KC_END, RGB_HUD, RGB_SAD, RGB_VAD, EE_CLR, + //└────────┴────────┴────────┴───┬────┴───┬────┴───┬────┴───┬────┘ └───┬────┴───┬────┴───┬────┴───┬────┴────────┴────────┴────────┘ + _______, _______, _______, _______, _______, _______ + // └────────┴────────┴────────┘ └────────┴────────┴────────┘ + ) +}; diff --git a/keyboards/keebio/iris_lm/keymaps/default/rules.mk b/keyboards/keebio/iris_lm/keymaps/default/rules.mk new file mode 100644 index 00000000000..7c9bf212a6f --- /dev/null +++ b/keyboards/keebio/iris_lm/keymaps/default/rules.mk @@ -0,0 +1 @@ +TRI_LAYER_ENABLE = yes diff --git a/keyboards/keebio/iris_lm/readme.md b/keyboards/keebio/iris_lm/readme.md new file mode 100644 index 00000000000..1036d0f7cc5 --- /dev/null +++ b/keyboards/keebio/iris_lm/readme.md @@ -0,0 +1,6 @@ +# Iris LM + +The Iris LM comes in two variants: + +- [Iris LM-G](g1/readme.md) - Supports Gateron KS-33 low-profile switches +- [Iris LM-K](k1/readme.md) - Supports Kailh Choc V1 & V2 low-profile switches From bb9625ba550dbe3bbd2967f488c4ee92815637f0 Mon Sep 17 00:00:00 2001 From: Ryan Date: Thu, 24 Oct 2024 15:27:24 +1100 Subject: [PATCH 075/124] RGBLight: Improve RGB Test animation (#24477) --- quantum/rgblight/rgblight.c | 26 +++++--------------------- 1 file changed, 5 insertions(+), 21 deletions(-) diff --git a/quantum/rgblight/rgblight.c b/quantum/rgblight/rgblight.c index 6426ccf2c86..ddccc9bae36 100644 --- a/quantum/rgblight/rgblight.c +++ b/quantum/rgblight/rgblight.c @@ -1342,29 +1342,13 @@ void rgblight_effect_christmas(animation_status_t *anim) { __attribute__((weak)) const uint16_t RGBLED_RGBTEST_INTERVALS[] PROGMEM = {1024}; void rgblight_effect_rgbtest(animation_status_t *anim) { - static uint8_t maxval = 0; - uint8_t g; - uint8_t r; - uint8_t b; + uint8_t val = rgblight_get_val(); - if (maxval == 0) { - rgb_t rgb = hsv_to_rgb((hsv_t){0, 255, RGBLIGHT_LIMIT_VAL}); - maxval = rgb.r; - } - g = r = b = 0; - switch (anim->pos) { - case 0: - r = maxval; - break; - case 1: - g = maxval; - break; - case 2: - b = maxval; - break; - } + uint8_t r = anim->pos & 1 ? val : 0; + uint8_t g = anim->pos & 2 ? val : 0; + uint8_t b = anim->pos & 4 ? val : 0; rgblight_setrgb(r, g, b); - anim->pos = (anim->pos + 1) % 3; + anim->pos = (anim->pos + 1) % 8; } #endif From 3b874ee4348bafd7d54a5fc7b72cb5ec34263026 Mon Sep 17 00:00:00 2001 From: Daniel Weeks <29613475+xanimos@users.noreply.github.com> Date: Thu, 24 Oct 2024 02:04:51 -0700 Subject: [PATCH 076/124] [Keyboard] Add xdboards/recon keyboard (#24135) Co-authored-by: Drashna Jaelre --- keyboards/xdboards/recon/config.h | 19 ++ keyboards/xdboards/recon/keyboard.json | 201 ++++++++++++++++++ .../xdboards/recon/keymaps/default/keymap.c | 155 ++++++++++++++ keyboards/xdboards/recon/post_config.h | 24 +++ keyboards/xdboards/recon/post_rules.mk | 3 + keyboards/xdboards/recon/readme.md | 57 +++++ keyboards/xdboards/recon/recon.c | 118 ++++++++++ 7 files changed, 577 insertions(+) create mode 100644 keyboards/xdboards/recon/config.h create mode 100644 keyboards/xdboards/recon/keyboard.json create mode 100644 keyboards/xdboards/recon/keymaps/default/keymap.c create mode 100644 keyboards/xdboards/recon/post_config.h create mode 100644 keyboards/xdboards/recon/post_rules.mk create mode 100644 keyboards/xdboards/recon/readme.md create mode 100644 keyboards/xdboards/recon/recon.c diff --git a/keyboards/xdboards/recon/config.h b/keyboards/xdboards/recon/config.h new file mode 100644 index 00000000000..22fbc833c14 --- /dev/null +++ b/keyboards/xdboards/recon/config.h @@ -0,0 +1,19 @@ +/* Copyright 2024 XD Boards +* +* 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 OLED_DISPLAY_128X64 diff --git a/keyboards/xdboards/recon/keyboard.json b/keyboards/xdboards/recon/keyboard.json new file mode 100644 index 00000000000..65f3c88a329 --- /dev/null +++ b/keyboards/xdboards/recon/keyboard.json @@ -0,0 +1,201 @@ +{ + "manufacturer": "XD Boards", + "keyboard_name": "xdboards/recon", + "maintainer": "Xanimos", + "development_board": "promicro", + "diode_direction": "COL2ROW", + "features": { + "bootmagic": true, + "extrakey": true, + "nkro": true, + "rgb_matrix": true, + "oled": true + }, + "matrix_pins": { + "cols": ["D4", "C6", "D7", "E6", "B4", "B5"], + "rows": ["F4", "F5", "F6", "F7", "B1"] + }, + "url": "https://xdboards.xyz", + "tags": ["columnar", "split", "thumb cluster", "rgb", "encoder"], + "usb": { + "device_version": "1.0.0", + "pid": "0x02F7", + "vid": "0xFEED" + }, + "encoder": { + "rotary": [ + { "pin_a": "B6","pin_b": "B2" } + ] + }, + "split": { + "enabled": true, + "serial": { + "pin": "D3" + }, + "handedness": { + "pin": "D2" + }, + "transport": { + "sync": { + "layer_state": true, + "oled": true, + "matrix_state": true, + "modifiers": true + } + } + }, + "layouts": { + "LAYOUT": { + "layout": [ + {"label": "L01", "matrix": [0, 0], "x": 0, "y": 0.75}, + {"label": "L02", "matrix": [0, 1], "x": 1, "y": 0.75}, + {"label": "L03", "matrix": [0, 2], "x": 2, "y": 0.25}, + {"label": "L04", "matrix": [0, 3], "x": 3, "y": 0}, + {"label": "L05", "matrix": [0, 4], "x": 4, "y": 0.25}, + {"label": "L06", "matrix": [0, 5], "x": 5, "y": 0.5}, + + {"label": "R06", "matrix": [5, 5], "x": 10.5, "y": 0.5}, + {"label": "R05", "matrix": [5, 4], "x": 11.5, "y": 0.25}, + {"label": "R04", "matrix": [5, 3], "x": 12.5, "y": 0}, + {"label": "R03", "matrix": [5, 2], "x": 13.5, "y": 0.25}, + {"label": "R02", "matrix": [5, 1], "x": 14.5, "y": 0.75}, + {"label": "R01", "matrix": [5, 0], "x": 15.5, "y": 0.75}, + + {"label": "L07", "matrix": [1, 0], "x": 0, "y": 1.75}, + {"label": "L08", "matrix": [1, 1], "x": 1, "y": 1.75}, + {"label": "L09", "matrix": [1, 2], "x": 2, "y": 1.25}, + {"label": "L10", "matrix": [1, 3], "x": 3, "y": 1}, + {"label": "L11", "matrix": [1, 4], "x": 4, "y": 1.25}, + {"label": "L12", "matrix": [1, 5], "x": 5, "y": 1.5}, + + {"label": "R12", "matrix": [6, 5], "x": 10.5, "y": 1.5}, + {"label": "R11", "matrix": [6, 4], "x": 11.5, "y": 1.25}, + {"label": "R10", "matrix": [6, 3], "x": 12.5, "y": 1}, + {"label": "R09", "matrix": [6, 2], "x": 13.5, "y": 1.25}, + {"label": "R08", "matrix": [6, 1], "x": 14.5, "y": 1.75}, + {"label": "R07", "matrix": [6, 0], "x": 15.5, "y": 1.75}, + + {"label": "L13", "matrix": [2, 0], "x": 0, "y": 2.75}, + {"label": "L14", "matrix": [2, 1], "x": 1, "y": 2.75}, + {"label": "L15", "matrix": [2, 2], "x": 2, "y": 2.25}, + {"label": "L16", "matrix": [2, 3], "x": 3, "y": 2}, + {"label": "L17", "matrix": [2, 4], "x": 4, "y": 2.25}, + {"label": "L18", "matrix": [2, 5], "x": 5, "y": 2.5}, + + {"label": "R18", "matrix": [7, 5], "x": 10.5, "y": 2.5}, + {"label": "R17", "matrix": [7, 4], "x": 11.5, "y": 2.25}, + {"label": "R16", "matrix": [7, 3], "x": 12.5, "y": 2}, + {"label": "R15", "matrix": [7, 2], "x": 13.5, "y": 2.25}, + {"label": "R14", "matrix": [7, 1], "x": 14.5, "y": 2.75}, + {"label": "R13", "matrix": [7, 0], "x": 15.5, "y": 2.75}, + + {"label": "L27", "encoder": 0, "matrix": [3, 0], "x": 6, "y": 2.7}, + + {"label": "R27", "encoder": 1, "matrix": [8, 0], "x": 9.5, "y": 2.7}, + + {"label": "L19", "matrix": [3, 2], "x": 4.25, "y": 3.5}, + {"label": "L20", "matrix": [3, 3], "x": 5.25, "y": 3.75}, + {"label": "L21", "matrix": [3, 4], "x": 6.25, "y": 4}, + {"label": "L22", "matrix": [3, 5], "x": 7.25, "y": 4.25}, + + {"label": "R22", "matrix": [8, 5], "x": 8, "y": 4.25}, + {"label": "R21", "matrix": [8, 4], "x": 9, "y": 4}, + {"label": "R20", "matrix": [8, 3], "x": 10, "y": 3.75}, + {"label": "R19", "matrix": [8, 2], "x": 11, "y": 3.5}, + + {"label": "L23", "matrix": [4, 2], "x": 4.25, "y": 4.5}, + {"label": "L24", "matrix": [4, 3], "x": 5.25, "y": 4.75}, + {"label": "L25", "matrix": [4, 4], "x": 6.25, "y": 5}, + {"label": "L26", "matrix": [4, 5], "x": 7.25, "y": 5.25}, + + {"label": "R26", "matrix": [9, 5], "x": 8, "y": 5.25}, + {"label": "R25", "matrix": [9, 4], "x": 9, "y": 5}, + {"label": "R24", "matrix": [9, 3], "x": 10, "y": 4.75}, + {"label": "R23", "matrix": [9, 2], "x": 11, "y": 4.5} + + ] + } + }, + "rgb_matrix": { + "driver": "ws2812", + "layout": [ + + {"flags": 4, "matrix": [0, 0], "x": 13, "y": 16}, + {"flags": 4, "matrix": [0, 1], "x": 21, "y": 16}, + {"flags": 4, "matrix": [0, 2], "x": 30, "y": 11}, + {"flags": 4, "matrix": [0, 3], "x": 38, "y": 6}, + {"flags": 4, "matrix": [0, 4], "x": 46, "y": 11}, + {"flags": 4, "matrix": [0, 5], "x": 55, "y": 12}, + {"flags": 4, "matrix": [1, 0], "x": 13, "y": 24}, + {"flags": 4, "matrix": [1, 1], "x": 21, "y": 24}, + {"flags": 4, "matrix": [1, 2], "x": 30, "y": 19}, + {"flags": 4, "matrix": [1, 3], "x": 38, "y": 14}, + {"flags": 4, "matrix": [1, 4], "x": 46, "y": 19}, + {"flags": 4, "matrix": [1, 5], "x": 55, "y": 20}, + {"flags": 4, "matrix": [2, 0], "x": 13, "y": 32}, + {"flags": 4, "matrix": [2, 1], "x": 21, "y": 32}, + {"flags": 4, "matrix": [2, 2], "x": 30, "y": 26}, + {"flags": 4, "matrix": [2, 3], "x": 38, "y": 22}, + {"flags": 4, "matrix": [2, 4], "x": 46, "y": 27}, + {"flags": 4, "matrix": [2, 5], "x": 55, "y": 28}, + + {"flags": 4, "matrix": [3, 2], "x": 42, "y": 35}, + {"flags": 4, "matrix": [3, 3], "x": 54, "y": 37}, + {"flags": 4, "matrix": [3, 4], "x": 65, "y": 40}, + {"flags": 4, "matrix": [3, 5], "x": 76, "y": 45}, + {"flags": 4, "matrix": [4, 2], "x": 42, "y": 44}, + {"flags": 4, "matrix": [4, 3], "x": 52, "y": 45}, + {"flags": 4, "matrix": [4, 4], "x": 62, "y": 47}, + {"flags": 4, "matrix": [4, 5], "x": 71, "y": 52}, + + {"flags": 2, "x": 68, "y": 36}, + {"flags": 2, "x": 57, "y": 8}, + {"flags": 2, "x": 31, "y": 6}, + {"flags": 2, "x": 14, "y": 12}, + {"flags": 2, "x": 28, "y": 37}, + + {"flags": 4, "matrix": [5, 0], "x": 175, "y": 16}, + {"flags": 4, "matrix": [5, 1], "x": 166, "y": 16}, + {"flags": 4, "matrix": [5, 2], "x": 158, "y": 11}, + {"flags": 4, "matrix": [5, 3], "x": 149, "y": 6}, + {"flags": 4, "matrix": [5, 4], "x": 141, "y": 11}, + {"flags": 4, "matrix": [5, 5], "x": 133, "y": 12}, + {"flags": 4, "matrix": [6, 0], "x": 175, "y": 24}, + {"flags": 4, "matrix": [6, 1], "x": 166, "y": 24}, + {"flags": 4, "matrix": [6, 2], "x": 158, "y": 19}, + {"flags": 4, "matrix": [6, 3], "x": 149, "y": 14}, + {"flags": 4, "matrix": [6, 4], "x": 141, "y": 19}, + {"flags": 4, "matrix": [6, 5], "x": 133, "y": 20}, + {"flags": 4, "matrix": [7, 0], "x": 175, "y": 32}, + {"flags": 4, "matrix": [7, 1], "x": 166, "y": 32}, + {"flags": 4, "matrix": [7, 2], "x": 158, "y": 26}, + {"flags": 4, "matrix": [7, 3], "x": 149, "y": 22}, + {"flags": 4, "matrix": [7, 4], "x": 141, "y": 27}, + {"flags": 4, "matrix": [7, 5], "x": 133, "y": 28}, + + {"flags": 4, "matrix": [8, 2], "x": 146, "y": 35}, + {"flags": 4, "matrix": [8, 3], "x": 134, "y": 37}, + {"flags": 4, "matrix": [8, 4], "x": 123, "y": 40}, + {"flags": 4, "matrix": [8, 5], "x": 113, "y": 45}, + {"flags": 4, "matrix": [9, 2], "x": 146, "y": 44}, + {"flags": 4, "matrix": [9, 3], "x": 136, "y": 45}, + {"flags": 4, "matrix": [9, 4], "x": 126, "y": 47}, + {"flags": 4, "matrix": [9, 5], "x": 117, "y": 52}, + + {"flags": 2, "x": 121, "y": 36}, + {"flags": 2, "x": 130, "y": 8}, + {"flags": 2, "x": 156, "y": 6}, + {"flags": 2, "x": 172, "y": 12}, + {"flags": 2, "x": 158, "y": 37} + ], + "split_count": [31, 31], + "animations": { + "alphas_mods": true, + "solid_reactive": true + }, + "default": { + "animation": "solid_reactive", + "hue": 126 + } + } +} \ No newline at end of file diff --git a/keyboards/xdboards/recon/keymaps/default/keymap.c b/keyboards/xdboards/recon/keymaps/default/keymap.c new file mode 100644 index 00000000000..30d96e09bad --- /dev/null +++ b/keyboards/xdboards/recon/keymaps/default/keymap.c @@ -0,0 +1,155 @@ +/* Copyright 2024 XD Boards +* +* This program is free software: you can redistribute it and/or modify +* it under the terms of the GNU General Public License as published by +* the Free Software Foundation, either version 2 of the License, or +* (at your option) any later version. +* +* This program is distributed in the hope that it will be useful, +* but WITHOUT ANY WARRANTY; without even the implied warranty of +* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +* GNU General Public License for more details. +* +* You should have received a copy of the GNU General Public License +* along with this program. If not, see . + */ + +#include QMK_KEYBOARD_H + +enum layers { + _QWERTY, + _SYMBOLS, + _NUMBERS, + _FUNCTION, + _RGB +}; + +// clang-format off +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + /* + * ┌─────┬─────┬─────┬─────┬─────┬─────┐ ┌─────┬─────┬─────┬─────┬─────┬─────┐ + * │ ESC │ Q │ W │ E │ R │ T │ │ Y │ U │ I │ O │ P │ Bsp │ + * ├─────┼─────┼─────┼─────┼─────┼─────┤ ├─────┼─────┼─────┼─────┼─────┼─────┤ + * │ Tab │ A │ S │ D │ F │ G │ │ H │ J │ K │ L │ ; │ CTL │ + * ├─────┼─────┼─────┼─────┼─────┼─────┤ ├─────┼─────┼─────┼─────┼─────┼─────┤ + * │Shift│ Z │ X │ C │ V │ B │ │ N │ M │ , │ . │ / │Shift│ + * └─────┴─────┴─────┴─────┴─────┴─────┘ ┌─────┐ ┌─────┐ └─────┴─────┴─────┴─────┴─────┴─────┘ + * ┌─────┐ │Mute │ │P Scr│ ┌─────┐ + * │ ALT ├─────┐ └─────┘ └─────┘ ┌─────┤ Alt │ + * ├─────┤ ( ├─────┐ ┌─────┤ ) ├─────┤ + * │ GUI ├─────┤ { ├─────┐ ┌─────┤ } ├─────┤ App │ + * └─────┤Space├─────┤ [ │ │ ] ├─────┤ Ent ├─────┘ + * └─────┤ Fnc ├─────┤ ├─────┤ Sym ├─────┘ + * └─────┤Qwert│ │ Num ├─────┘ + * └─────┘ └─────┘ + */ + [_QWERTY] = LAYOUT( + KC_ESC, 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_SCLN, KC_RCTL, + 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_MUTE, KC_PSCR, + KC_LALT, KC_LPRN, KC_LCBR, KC_LBRC, KC_RBRC, KC_RCBR, KC_RPRN, KC_RALT, + KC_LGUI, KC_SPC,TO(_FUNCTION),TO(_QWERTY), TO(_NUMBERS),TO(_SYMBOLS),KC_ENT, KC_APP + ), + /* + * ┌─────┬─────┬─────┬─────┬─────┬─────┐ ┌─────┬─────┬─────┬─────┬─────┬─────┐ + * │ ` │ ! │ @ │ # │ $ │ % │ │ + │ " │ ' │ | │ \ │ Bsp │ + * ├─────┼─────┼─────┼─────┼─────┼─────┤ ├─────┼─────┼─────┼─────┼─────┼─────┤ + * │ Tab │ ^ │ & │ * │ ( │ ) │ │ = │ < │ > │ : │ ; │ Ctl │ + * ├─────┼─────┼─────┼─────┼─────┼─────┤ ├─────┼─────┼─────┼─────┼─────┼─────┤ + * │Shift│ _ │ [ │ ] │ { │ } │ │ - │ ~ │ , │ . │ ? │Shift│ + * └─────┴─────┴─────┴─────┴─────┴─────┘ ┌─────┐ ┌─────┐ └─────┴─────┴─────┴─────┴─────┴─────┘ + * ┌─────┐ │Mute │ │P Scr│ ┌─────┐ + * │ ALT ├─────┐ └─────┘ └─────┘ ┌─────┤ Alt │ + * ├─────┤ ( ├─────┐ ┌─────┤ ) ├─────┤ + * │ GUI ├─────┤ { ├─────┐ ┌─────┤ } ├─────┤ App │ + * └─────┤Space├─────┤ [ │ │ ] ├─────┤ Ent ├─────┘ + * └─────┤ Fnc ├─────┤ ├─────┤ Sym ├─────┘ + * └─────┤Qwert│ │ Num ├─────┘ + * └─────┘ └─────┘ + */ + [_SYMBOLS] = LAYOUT( + KC_GRAVE, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_PLUS, KC_DQUO, KC_QUOTE,KC_PIPE, KC_BSLS, KC_BSPC, + KC_TAB, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, KC_EQUAL,KC_LT, KC_GT, KC_COLN, KC_SCLN, KC_RCTL, + KC_LSFT, KC_UNDS, KC_LBRC, KC_RBRC, KC_LCBR, KC_RCBR, KC_MINUS,KC_TILD, KC_COMM, KC_DOT, KC_QUES, KC_NUM, + KC_MUTE, KC_PSCR, + KC_LALT, KC_LPRN, KC_LCBR, KC_LBRC, KC_RBRC, KC_RCBR, KC_RPRN, KC_RALT, + KC_LGUI, KC_SPC,TO(_FUNCTION),TO(_QWERTY), TO(_NUMBERS),TO(_SYMBOLS),KC_ENT, KC_APP + ), + /* + * ┌─────┬─────┬─────┬─────┬─────┬─────┐ ┌─────┬─────┬─────┬─────┬─────┬─────┐ + * │ Esc │ 1 │ 2 │ 3 │ 4 │ 5 │ │ + │ 7 │ 8 │ 9 │ * │ Bsp │ + * ├─────┼─────┼─────┼─────┼─────┼─────┤ ├─────┼─────┼─────┼─────┼─────┼─────┤ + * │ Ctl │ 6 │ 7 │ 8 │ 9 │ 0 │ │ = │ 4 │ 5 │ 6 │ \ │ : │ + * ├─────┼─────┼─────┼─────┼─────┼─────┤ ├─────┼─────┼─────┼─────┼─────┼─────┤ + * │Shift│ │ │ │ │ │ │ - │ 1 │ 2 │ 3 │ / │Nm Lk│ + * └─────┴─────┴─────┴─────┴─────┴─────┘ ┌─────┐ ┌─────┐ └─────┴─────┴─────┴─────┴─────┴─────┘ + * ┌─────┐ │Mute │ │P Scr│ ┌─────┐ + * │ ALT ├─────┐ └─────┘ └─────┘ ┌─────┤ 0 │ + * ├─────┤ ├─────┐ ┌─────┤ . ├─────┤ + * │ GUI ├─────┤ ├─────┐ ┌─────┤ , ├─────┤ App │ + * └─────┤Space├─────┤ │ │ ├─────┤ Ent ├─────┘ + * └─────┤ Fnc ├─────┤ ├─────┤ Sym ├─────┘ + * └─────┤Qwert│ │ Num ├─────┘ + * └─────┘ └─────┘ + */ + [_NUMBERS] = LAYOUT( + KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_PPLS, KC_P7, KC_P8, KC_P9, KC_PAST, KC_BSPC, + KC_LCTL, KC_6, KC_7, KC_8, KC_9, KC_0, KC_PEQL, KC_P4, KC_P5, KC_P6, KC_BSLS, KC_COLN, + KC_LSFT, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_PMNS, KC_P1, KC_P2, KC_P3, KC_PSLS, KC_NUM, + KC_MUTE, KC_PSCR, + KC_LALT, KC_NO, KC_NO, KC_NO, KC_NO, KC_PCMM, KC_PDOT, KC_P0, + KC_LGUI, KC_SPC,TO(_FUNCTION),TO(_QWERTY), TO(_NUMBERS),TO(_SYMBOLS),KC_ENT, KC_APP + ), + /* + * ┌─────┬─────┬─────┬─────┬─────┬─────┐ ┌─────┬─────┬─────┬─────┬─────┬─────┐ + * │ F1 │ F2 │ F3 │ F4 │ F5 │ F6 │ │ F7 │ F8 │ F9 │ F10 │ F11 │ F12 │ + * ├─────┼─────┼─────┼─────┼─────┼─────┤ ├─────┼─────┼─────┼─────┼─────┼─────┤ + * │Caps │ │ │ ↑ │ │ │ │ Ins │ Home│Pg Up│Pause│ │ │ + * ├─────┼─────┼─────┼─────┼─────┼─────┤ ├─────┼─────┼─────┼─────┼─────┼─────┤ + * │Shift│ │ ← │ ↓ │ → │ │ │ Del │ End │Pg Dn│ │ │ │ + * └─────┴─────┴─────┴─────┴─────┴─────┘ ┌─────┐ ┌─────┐ └─────┴─────┴─────┴─────┴─────┴─────┘ + * ┌─────┐ │Mute │ │P Scr│ ┌─────┐ + * │ ALT ├─────┐ └─────┘ └─────┘ ┌─────┤ 0 │ + * ├─────┤ ├─────┐ ┌─────┤ . ├─────┤ + * │ GUI ├─────┤ ├─────┐ ┌─────┤ ├─────┤ App │ + * └─────┤Space├─────┤ │ │ ├─────┤ Ent ├─────┘ + * └─────┤ RGB ├─────┤ ├─────┤ Sym ├─────┘ + * └─────┤Qwert│ │ Num ├─────┘ + * └─────┘ └─────┘ + */ + [_FUNCTION] = LAYOUT( + KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, + KC_CAPS, KC_NO, KC_NO, KC_UP, KC_NO, KC_NO, KC_INS, KC_HOME, KC_PGUP, KC_PAUS, KC_NO, KC_NO, + KC_LSFT, KC_NO, KC_LEFT, KC_DOWN, KC_RIGHT,KC_NO, KC_DEL, KC_END, KC_PGDN, KC_NO, KC_NO, KC_RSFT, + KC_MUTE, KC_PSCR, + KC_LALT, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_DOT, KC_0, + KC_LGUI, KC_SPC,MO(_RGB),TO(_QWERTY), TO(_NUMBERS),TO(_SYMBOLS),KC_ENT, KC_APP + ), +/* + * ┌─────┬─────┬─────┬─────┬─────┬─────┐ ┌─────┬─────┬─────┬─────┬─────┬─────┐ + * │ │ │ │ │ │ │ │ │ │ │ │ │ │ + * ├─────┼─────┼─────┼─────┼─────┼─────┤ ├─────┼─────┼─────┼─────┼─────┼─────┤ + * │ │Mode↑│Hue ↑│Sat ↑│Val ↑│Spd ↑│ │ │ │ │ │ │ │ + * ├─────┼─────┼─────┼─────┼─────┼─────┤ ├─────┼─────┼─────┼─────┼─────┼─────┤ + * │OnOff│Mode↓│Hue ↓│Sat ↓│Val ↓│Spd ↓│ │ │ │ │ │ │ │ + * └─────┴─────┴─────┴─────┴─────┴─────┘ ┌─────┐ ┌─────┐ └─────┴─────┴─────┴─────┴─────┴─────┘ + * ┌─────┐ │ │ │ │ ┌─────┐ + * │ ├─────┐ └─────┘ └─────┘ ┌─────┤ │ + * ├─────┤ ├─────┐ ┌─────┤ ├─────┤ + * │ ├─────┤ ├─────┐ ┌─────┤ ├─────┤ │ + * └─────┤ ├─────┤ │ │ ├─────┤ ├─────┘ + * └─────┤ ├─────┤ ├─────┤ ├─────┘ + * └─────┤ │ │ ├─────┘ + * └─────┘ └─────┘ + */ + [_RGB] = LAYOUT( + KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, + KC_NO, RGB_MOD, RGB_HUI, RGB_SAI, RGB_VAI, RGB_SPI, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, + RGB_TOG, RGB_RMOD,RGB_HUD, RGB_SAD, RGB_VAD, RGB_SPD, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, + KC_NO, KC_NO, + KC_NO , KC_NO, KC_NO, KC_NO, KC_NO , KC_NO, KC_NO, KC_NO, + KC_NO , KC_NO, KC_NO, KC_NO, KC_NO , KC_NO, KC_NO, KC_NO + ) +}; +// clang-format on diff --git a/keyboards/xdboards/recon/post_config.h b/keyboards/xdboards/recon/post_config.h new file mode 100644 index 00000000000..9e4950e04a8 --- /dev/null +++ b/keyboards/xdboards/recon/post_config.h @@ -0,0 +1,24 @@ +/* Copyright 2024 XD Boards +* +* 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 + +#ifdef USE_SEA_PICRO_RGB_PIN + // Dedicated 5V RGB signal pin on sea-picro +# define WS2812_DI_PIN 25U +#else +# define WS2812_DI_PIN B3 +#endif \ No newline at end of file diff --git a/keyboards/xdboards/recon/post_rules.mk b/keyboards/xdboards/recon/post_rules.mk new file mode 100644 index 00000000000..8b9382b32ab --- /dev/null +++ b/keyboards/xdboards/recon/post_rules.mk @@ -0,0 +1,3 @@ +ifeq ($(strip $(USE_SEA_PICRO_RGB_PIN)), yes) + OPT_DEFS += -DUSE_SEA_PICRO_RGB_PIN +endif \ No newline at end of file diff --git a/keyboards/xdboards/recon/readme.md b/keyboards/xdboards/recon/readme.md new file mode 100644 index 00000000000..49dbddbbfb1 --- /dev/null +++ b/keyboards/xdboards/recon/readme.md @@ -0,0 +1,57 @@ +# xdboards/recon + +![xdboards/recon](https://imgur.com/a/HcjT4yq) + +A split low profile keyboard with hotswap sockets that is built around the Sea-Picro microcontroller for it's dedicated RGB pin. + +* Keyboard Maintainer: [Daniel Weeks](https://github.com/Xanimos) +* Hardware Supported: Recon PCB, Sea-Picro, backwards compatibility with ProMicro pin layout. +* Hardware Availability: [xdboards.xyz shop](https://www.xdboards.xyz) + +Make example for this keyboard (after setting up your build environment): + + make xdboards/recon:default + +See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) and the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information. Brand new to QMK? Start with our [Complete Newbs Guide](https://docs.qmk.fm/#/newbs). + +## Bootloader + +Enter the bootloader in 2 ways: + +* **Physical reset button**: Briefly press the button on the side of the PCB +* **Keycode in layout**: Press the key mapped to `QK_BOOT` if it is available +* **Boot Magic**: Hold down the boot magic key while plugging in the USB cable + +## Setup for Sea-Picro microcontrollers + +To take advantage of the dedicated 5v RGB pin on the sea-picro you must create your keymap +and then add a `rules.mk` file and copy and paste the following: +``` +CONVERT_TO = rp2040_ce +USE_SEA_PICRO_RGB_PIN = yes +``` + +If you do not want to use the dedicated 5v RGB header then follow the Setup for non Sea-Picro microcontrollers. + +## Setup for non Sea-Picro microcontrollers + +Solder the "Pro-Micro Compatibility" jumper on the bottom of both boards. + +In your keymap directory: + - add/modify a `rules.mk` file + - Remove or set `CONVERT_TO` to desired converter see [QMK Documentation](https://docs.qmk.fm/#/feature_converters) + - Remove or set `USE_SEA_PICRO_RGB_PIN` to `no` + + +## Setup for Underglow rgb only + + +Solder the "Per-Key RGB Skip" jumper on the bottom of both boards. Do not install per key RGBs. + +In your keymap directory: + - add/modify a `config.h` file and insert + ``` + #define RGB_MATRIX_SPLIT { 5, 5 } + #define RGB_MATRIX_LED_COUNT 10 + ``` + \ No newline at end of file diff --git a/keyboards/xdboards/recon/recon.c b/keyboards/xdboards/recon/recon.c new file mode 100644 index 00000000000..708c9d894c9 --- /dev/null +++ b/keyboards/xdboards/recon/recon.c @@ -0,0 +1,118 @@ +/* Copyright 2024 XD Boards +* +* 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" + +#ifdef OLED_ENABLE +oled_rotation_t oled_init_kb(oled_rotation_t rotation) { + return OLED_ROTATION_180; +} + +bool oled_task_kb(void) { + if (!oled_task_user()) { + return false; + } + if (is_keyboard_master()) { + // Host Keyboard Layer Status + oled_write_P(PSTR("Layer: "), false); + switch (get_highest_layer(layer_state | default_layer_state)) { + case 0: + oled_write_P(PSTR("QWERTY\n"), false); + break; + case 1: + oled_write_P(PSTR("Symbols\n"), false); + break; + case 2: + oled_write_P(PSTR("Numbers\n"), false); + break; + case 3: + oled_write_P(PSTR("Function\n"), false); + break; + case 4: + oled_write_P(PSTR("RGB\n"), false); + break; + default: + oled_write_P(PSTR("Undefined\n"), false); + } + // Host Keyboard LED Status + led_t led_usb_state = host_keyboard_led_state(); + oled_write_P(PSTR("CAPSLCK"), led_usb_state.caps_lock); + oled_write_P(PSTR(" "), false); + oled_write_P(PSTR("NUMLCK"), led_usb_state.num_lock); + oled_write_P(PSTR(" "), false); + oled_write_P(PSTR("SCRLCK"), led_usb_state.scroll_lock); + oled_write_P(PSTR("\n"), false); + + oled_write_P(PSTR("\n"), false); + + static const char PROGMEM qmk_logo[] = { + 0x80, 0x81, 0x82, 0x83, 0x84, 0x85, 0x86, 0x87, 0x88, 0x89, 0x8A, 0x8B, 0x8C, 0x8D, 0x8E, 0x8F, 0x90, 0x91, 0x92, 0x93, 0x94, + 0xA0, 0xA1, 0xA2, 0xA3, 0xA4, 0xA5, 0xA6, 0xA7, 0xA8, 0xA9, 0xAA, 0xAB, 0xAC, 0xAD, 0xAE, 0xAF, 0xB0, 0xB1, 0xB2, 0xB3, 0xB4, + 0xC0, 0xC1, 0xC2, 0xC3, 0xC4, 0xC5, 0xC6, 0xC7, 0xC8, 0xC9, 0xCA, 0xCB, 0xCC, 0xCD, 0xCE, 0xCF, 0xD0, 0xD1, 0xD2, 0xD3, 0xD4, 0x00 + }; + + oled_write_P(qmk_logo, false); + + } else { + // clang-format off + static const char PROGMEM recon_logo[] = { + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,254,254,254, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128,192,224,240,240,248,252,124,126, 62, 62, 31, 31, 31, 0, 0, 0,255,255,255, 0, 0, 31, 31, 31, 62, 62, 62,124,252,248,248,240,224,192,192, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0,128,224,248,252,255,127, 31, 15, 7, 3, 1, 0, 0, 0, 0,128,192,224,224,240,240,240,115,115,115,240,240,224,224,192,192,128, 0, 0, 0, 0, 1, 3, 7, 15, 63,255,254,252,240,192, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 192,192,192,192,192,192,192,204,207,207,207,207,193,192,192,192,192, 0, 0,224,248,254,255, 15, 7, 3, 1, 0,192,224,224,224,224,192, 0, 1, 1, 3, 7, 63,255,252,240, 0, 0,192,192,192,192,192,199,207,207,207,207,192,192,192,192,192,192,192,128, 0,254,254,254,254,254, 0,134,254,254,252,124, 48, 0, 0,254,254,254,254,254,252,134,230,222, 62, 0,224,248,252,252,254, 6, 2, 6, 14, 62,126, 0,224,248,252,254,254, 6, 6,254,254,252,248,240, 0, 6,238,254,126,254,254,252,240,224,134,254, 14, 6, 0, + 3, 3, 3, 3, 3, 3, 3, 51,243,243,243,243,131, 3, 3, 3, 3, 0, 0, 7, 31,127,255,240,224,192,128, 0, 1, 7, 7, 7, 7, 3, 0,128,128,192,224,252,255, 63, 15, 0, 0, 3, 3, 3, 3, 3,227,243,243,243,243, 3, 3, 3, 3, 3, 3, 3, 1, 64,127,127,127,127,127, 97, 3,127,127,127,126,120, 48, 0,127,127,127,127,127, 63, 97,103,119,124, 48, 15, 31, 63,127,127, 96, 64, 96, 96, 48, 24, 0, 15, 31, 63,127,127, 64, 64,127,127, 63, 63, 15, 0, 64,127,127, 96, 1, 7, 15, 63,127,127,127, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 1, 7, 31, 63,255,254,248,240,224,192,128, 0, 0, 0, 0, 1, 3, 7, 7, 7, 15, 15,207,206,207, 15, 15, 7, 7, 3, 3, 1, 0, 0, 0, 0,128,192,224,248,252,255,127, 63, 15, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 3, 7, 15, 15, 31, 63, 62,126,124,124,248,248,248, 0, 0, 0,255,255,255, 0, 0,248,248,248,124,124,124, 62, 63, 31, 15, 15, 7, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,127,127,127, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + }; + // clang-format on + oled_write_raw_P(recon_logo, sizeof(recon_logo)); + } + return false; +} +#endif +#ifdef ENCODER_ENABLE +bool encoder_update_kb(uint8_t index, bool clockwise) { + if (!encoder_update_user(index, clockwise)) { + return false; + } + + if (index == 0) { + // Volume control + if (clockwise) { + tap_code(KC_VOLU); + } else { + tap_code(KC_VOLD); + } + } else if (index == 1) { + // Page up/Page down + if (clockwise) { +#ifdef MOUSEKEY_ENABLE + tap_code(KC_WH_U); +#else + tap_code(KC_PGUP); +#endif + } else { +#ifdef MOUSEKEY_ENABLE + tap_code(KC_WH_D); +#else + tap_code(KC_PGDN); +#endif + } + } + return true; +} +#endif \ No newline at end of file From bf327f7a81cdafd2167edd7461a9669ddac7db30 Mon Sep 17 00:00:00 2001 From: era <73109780+eerraa@users.noreply.github.com> Date: Fri, 25 Oct 2024 14:25:12 +0900 Subject: [PATCH 077/124] [Keyboard] Add SIRIND Tomak79H (#24505) * Add Tomak79H Add Tomak79H * Update Update * Update keyboards/era/sirind/tomak79h/tomak79h.c Co-authored-by: Drashna Jaelre --------- Co-authored-by: Drashna Jaelre --- keyboards/era/sirind/tomak79h/config.h | 15 + keyboards/era/sirind/tomak79h/keyboard.json | 393 ++++++++++++++++++ .../sirind/tomak79h/keymaps/default/keymap.c | 24 ++ keyboards/era/sirind/tomak79h/readme.md | 27 ++ keyboards/era/sirind/tomak79h/tomak79h.c | 16 + 5 files changed, 475 insertions(+) create mode 100644 keyboards/era/sirind/tomak79h/config.h create mode 100644 keyboards/era/sirind/tomak79h/keyboard.json create mode 100644 keyboards/era/sirind/tomak79h/keymaps/default/keymap.c create mode 100644 keyboards/era/sirind/tomak79h/readme.md create mode 100644 keyboards/era/sirind/tomak79h/tomak79h.c diff --git a/keyboards/era/sirind/tomak79h/config.h b/keyboards/era/sirind/tomak79h/config.h new file mode 100644 index 00000000000..f04429bcd89 --- /dev/null +++ b/keyboards/era/sirind/tomak79h/config.h @@ -0,0 +1,15 @@ +// Copyright 2024 Hyojin Bak (@eerraa) +// SPDX-License-Identifier: GPL-2.0-or-later + +#pragma once + +/* Split configuration */ +#define USB_VBUS_PIN GP19 +#define SERIAL_USART_FULL_DUPLEX +#define SERIAL_USART_TX_PIN GP0 +#define SERIAL_USART_RX_PIN GP1 +#define SERIAL_USART_PIN_SWAP + +/* Reset */ +#define RP2040_BOOTLOADER_DOUBLE_TAP_RESET +#define RP2040_BOOTLOADER_DOUBLE_TAP_RESET_TIMEOUT 1000U \ No newline at end of file diff --git a/keyboards/era/sirind/tomak79h/keyboard.json b/keyboards/era/sirind/tomak79h/keyboard.json new file mode 100644 index 00000000000..216250f8502 --- /dev/null +++ b/keyboards/era/sirind/tomak79h/keyboard.json @@ -0,0 +1,393 @@ +{ + "manufacturer": "SIRIND", + "keyboard_name": "Tomak79H", + "maintainer": "eerraa", + "bootloader": "rp2040", + "build": { + "debounce_type": "sym_defer_pk" + }, + "diode_direction": "COL2ROW", + "features": { + "bootmagic": true, + "extrakey": true, + "mousekey": true, + "nkro": true, + "rgb_matrix": true + }, + "matrix_pins": { + "cols": ["GP29", "GP9", "GP7", "GP6", "GP5", "GP4", "GP3", "GP2", null], + "rows": ["GP24", "GP8", "GP26", "GP25", "GP27", "GP28"] + }, + "processor": "RP2040", + "rgb_matrix": { + "animations": { + "alphas_mods": true, + "band_pinwheel_sat": true, + "band_pinwheel_val": true, + "band_sat": true, + "band_spiral_sat": true, + "band_spiral_val": true, + "band_val": true, + "breathing": true, + "cycle_all": true, + "cycle_left_right": true, + "cycle_out_in": true, + "cycle_out_in_dual": true, + "cycle_pinwheel": true, + "cycle_spiral": true, + "cycle_up_down": true, + "digital_rain": true, + "dual_beacon": true, + "flower_blooming": true, + "gradient_left_right": true, + "gradient_up_down": true, + "hue_breathing": true, + "hue_pendulum": true, + "hue_wave": true, + "jellybean_raindrops": true, + "multisplash": true, + "pixel_flow": true, + "pixel_fractal": true, + "pixel_rain": true, + "rainbow_beacon": true, + "rainbow_moving_chevron": true, + "rainbow_pinwheels": true, + "raindrops": true, + "riverflow": true, + "solid_multisplash": true, + "solid_reactive": true, + "solid_reactive_cross": true, + "solid_reactive_multicross": true, + "solid_reactive_multinexus": true, + "solid_reactive_multiwide": true, + "solid_reactive_nexus": true, + "solid_reactive_simple": true, + "solid_reactive_wide": true, + "solid_splash": true, + "splash": true, + "starlight": true, + "starlight_dual_hue": true, + "starlight_dual_sat": true, + "typing_heatmap": true + }, + "driver": "ws2812", + "layout": [ + {"matrix": [0, 0], "x": 0, "y": 0, "flags": 1}, + {"matrix": [0, 2], "x": 20, "y": 0, "flags": 4}, + {"matrix": [0, 3], "x": 33, "y": 0, "flags": 4}, + {"matrix": [0, 4], "x": 47, "y": 0, "flags": 4}, + {"matrix": [0, 5], "x": 60, "y": 0, "flags": 4}, + {"matrix": [0, 6], "x": 80, "y": 0, "flags": 4}, + {"matrix": [0, 7], "x": 93, "y": 0, "flags": 4}, + {"matrix": [1, 7], "x": 95, "y": 15, "flags": 4}, + {"matrix": [1, 6], "x": 81, "y": 15, "flags": 4}, + {"matrix": [1, 5], "x": 68, "y": 15, "flags": 4}, + {"matrix": [1, 4], "x": 54, "y": 15, "flags": 4}, + {"matrix": [1, 3], "x": 41, "y": 15, "flags": 4}, + {"matrix": [1, 2], "x": 27, "y": 15, "flags": 4}, + {"matrix": [1, 1], "x": 14, "y": 15, "flags": 4}, + {"matrix": [1, 0], "x": 0, "y": 15, "flags": 4}, + {"matrix": [2, 0], "x": 3, "y": 26, "flags": 1}, + {"matrix": [2, 1], "x": 20, "y": 26, "flags": 4}, + {"matrix": [2, 2], "x": 34, "y": 26, "flags": 4}, + {"matrix": [2, 3], "x": 47, "y": 26, "flags": 4}, + {"matrix": [2, 4], "x": 61, "y": 26, "flags": 4}, + {"matrix": [2, 5], "x": 75, "y": 26, "flags": 4}, + {"matrix": [2, 6], "x": 88, "y": 26, "flags": 4}, + {"matrix": [3, 6], "x": 92, "y": 38, "flags": 4}, + {"matrix": [3, 5], "x": 78, "y": 38, "flags": 4}, + {"matrix": [3, 4], "x": 64, "y": 38, "flags": 4}, + {"matrix": [3, 3], "x": 51, "y": 38, "flags": 4}, + {"matrix": [3, 2], "x": 37, "y": 38, "flags": 4}, + {"matrix": [3, 1], "x": 24, "y": 38, "flags": 4}, + {"matrix": [3, 0], "x": 5, "y": 38, "flags": 1}, + {"matrix": [3, 0], "x": 2, "y": 38, "flags": 1}, + {"matrix": [4, 0], "x": 8, "y": 49, "flags": 1}, + {"matrix": [4, 2], "x": 31, "y": 49, "flags": 4}, + {"matrix": [4, 3], "x": 44, "y": 49, "flags": 4}, + {"matrix": [4, 4], "x": 58, "y": 49, "flags": 4}, + {"matrix": [4, 5], "x": 71, "y": 49, "flags": 4}, + {"matrix": [4, 6], "x": 85, "y": 49, "flags": 4}, + {"matrix": [5, 6], "x": 93, "y": 64, "flags": 1}, + {"matrix": [5, 5], "x": 71, "y": 64, "flags": 4}, + {"matrix": [5, 2], "x": 37, "y": 61, "flags": 1}, + {"matrix": [5, 1], "x": 20, "y": 61, "flags": 1}, + {"matrix": [5, 0], "x": 3, "y": 61, "flags": 1}, + {"matrix": [6, 8], "x": 221, "y": 0, "flags": 4}, + {"matrix": [6, 7], "x": 205, "y": 0, "flags": 4}, + {"matrix": [6, 5], "x": 185, "y": 0, "flags": 4}, + {"matrix": [6, 4], "x": 171, "y": 0, "flags": 4}, + {"matrix": [6, 3], "x": 158, "y": 0, "flags": 4}, + {"matrix": [6, 2], "x": 144, "y": 0, "flags": 4}, + {"matrix": [6, 1], "x": 124, "y": 0, "flags": 4}, + {"matrix": [6, 0], "x": 111, "y": 0, "flags": 4}, + {"matrix": [7, 0], "x": 109, "y": 15, "flags": 4}, + {"matrix": [7, 1], "x": 123, "y": 15, "flags": 4}, + {"matrix": [7, 2], "x": 136, "y": 15, "flags": 4}, + {"matrix": [7, 3], "x": 150, "y": 15, "flags": 4}, + {"matrix": [7, 4], "x": 163, "y": 15, "flags": 4}, + {"matrix": [7, 5], "x": 177, "y": 15, "flags": 4}, + {"matrix": [7, 7], "x": 197, "y": 15, "flags": 1}, + {"matrix": [7, 8], "x": 221, "y": 15, "flags": 1}, + {"matrix": [8, 8], "x": 221, "y": 26, "flags": 4}, + {"matrix": [8, 7], "x": 200, "y": 26, "flags": 4}, + {"matrix": [8, 6], "x": 184, "y": 26, "flags": 4}, + {"matrix": [8, 5], "x": 170, "y": 26, "flags": 4}, + {"matrix": [8, 4], "x": 157, "y": 26, "flags": 4}, + {"matrix": [8, 3], "x": 143, "y": 26, "flags": 4}, + {"matrix": [8, 2], "x": 130, "y": 26, "flags": 4}, + {"matrix": [8, 1], "x": 116, "y": 26, "flags": 4}, + {"matrix": [8, 0], "x": 102, "y": 26, "flags": 4}, + {"matrix": [9, 0], "x": 106, "y": 38, "flags": 4}, + {"matrix": [9, 1], "x": 119, "y": 38, "flags": 4}, + {"matrix": [9, 2], "x": 133, "y": 38, "flags": 4}, + {"matrix": [9, 3], "x": 147, "y": 38, "flags": 4}, + {"matrix": [9, 4], "x": 160, "y": 38, "flags": 4}, + {"matrix": [9, 5], "x": 174, "y": 38, "flags": 4}, + {"matrix": [9, 7], "x": 200, "y": 38, "flags": 1}, + {"matrix": [10, 7], "x": 208, "y": 52, "flags": 4}, + {"matrix": [10, 6], "x": 186, "y": 49, "flags": 1}, + {"matrix": [10, 5], "x": 167, "y": 49, "flags": 4}, + {"matrix": [10, 4], "x": 153, "y": 49, "flags": 4}, + {"matrix": [10, 3], "x": 140, "y": 49, "flags": 4}, + {"matrix": [10, 2], "x": 126, "y": 49, "flags": 4}, + {"matrix": [10, 1], "x": 113, "y": 49, "flags": 4}, + {"matrix": [10, 0], "x": 99, "y": 49, "flags": 4}, + {"matrix": [11, 2], "x": 123, "y": 64, "flags": 4}, + {"matrix": [11, 4], "x": 160, "y": 61, "flags": 1}, + {"matrix": [11, 5], "x": 177, "y": 61, "flags": 1}, + {"matrix": [11, 6], "x": 194, "y": 64, "flags": 4}, + {"matrix": [11, 7], "x": 208, "y": 64, "flags": 4}, + {"matrix": [11, 8], "x": 221, "y": 64, "flags": 4}, + {"x": 224, "y": 53, "flags": 2}, + {"x": 224, "y": 51, "flags": 2}, + {"x": 224, "y": 49, "flags": 2}, + {"x": 224, "y": 48, "flags": 2}, + {"x": 224, "y": 46, "flags": 2}, + {"x": 224, "y": 44, "flags": 2}, + {"x": 224, "y": 43, "flags": 2}, + {"x": 224, "y": 41, "flags": 2}, + {"x": 224, "y": 39, "flags": 2} + ], + "sleep": true, + "split_count": [41, 55] + }, + "split": { + "bootmagic": { + "matrix": [6, 0] + }, + "enabled": true, + "handedness": { + "pin": "GP20" + }, + "matrix_pins": { + "right": { + "cols": ["GP25", "GP24", "GP23", "GP22", "GP7", "GP6", "GP5", "GP4", "GP2"], + "rows": ["GP29", "GP28", "GP27", "GP26", "GP11", "GP3"] + } + }, + "serial": { + "driver": "vendor" + }, + "transport": { + "sync": { + "indicators": true, + "layer_state": true, + "matrix_state": true + } + } + }, + "url": "", + "usb": { + "device_version": "1.0.0", + "pid": "0x0014", + "vid": "0x4552" + }, + "ws2812": { + "driver": "vendor", + "pin": "GP17" + }, + "layouts": { + "LAYOUT_all": { + "layout": [ + {"matrix": [0, 0], "x": 0, "y": 0}, + {"matrix": [0, 2], "x": 1.5, "y": 0}, + {"matrix": [0, 3], "x": 2.5, "y": 0}, + {"matrix": [0, 4], "x": 3.5, "y": 0}, + {"matrix": [0, 5], "x": 4.5, "y": 0}, + {"matrix": [0, 6], "x": 6, "y": 0}, + {"matrix": [0, 7], "x": 7, "y": 0}, + {"matrix": [6, 0], "x": 9.5, "y": 0}, + {"matrix": [6, 1], "x": 10.5, "y": 0}, + {"matrix": [6, 2], "x": 12, "y": 0}, + {"matrix": [6, 3], "x": 13, "y": 0}, + {"matrix": [6, 4], "x": 14, "y": 0}, + {"matrix": [6, 5], "x": 15, "y": 0}, + {"matrix": [6, 7], "x": 16.5, "y": 0}, + {"matrix": [6, 8], "x": 17.75, "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": [7, 0], "x": 9.5, "y": 1.25}, + {"matrix": [7, 1], "x": 10.5, "y": 1.25}, + {"matrix": [7, 2], "x": 11.5, "y": 1.25}, + {"matrix": [7, 3], "x": 12.5, "y": 1.25}, + {"matrix": [7, 4], "x": 13.5, "y": 1.25}, + {"matrix": [7, 5], "x": 14.5, "y": 1.25}, + {"matrix": [7, 6], "x": 15.5, "y": 1.25}, + {"matrix": [7, 7], "x": 16.5, "y": 1.25}, + {"matrix": [7, 8], "x": 17.75, "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": [8, 0], "x": 9, "y": 2.25}, + {"matrix": [8, 1], "x": 10, "y": 2.25}, + {"matrix": [8, 2], "x": 11, "y": 2.25}, + {"matrix": [8, 3], "x": 12, "y": 2.25}, + {"matrix": [8, 4], "x": 13, "y": 2.25}, + {"matrix": [8, 5], "x": 14, "y": 2.25}, + {"matrix": [8, 6], "x": 15, "y": 2.25}, + {"matrix": [8, 7], "x": 16, "y": 2.25, "w": 1.5}, + {"matrix": [8, 8], "x": 17.75, "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": [9, 0], "x": 9.25, "y": 3.25}, + {"matrix": [9, 1], "x": 10.25, "y": 3.25}, + {"matrix": [9, 2], "x": 11.25, "y": 3.25}, + {"matrix": [9, 3], "x": 12.25, "y": 3.25}, + {"matrix": [9, 4], "x": 13.25, "y": 3.25}, + {"matrix": [9, 5], "x": 14.25, "y": 3.25}, + {"matrix": [9, 7], "x": 15.25, "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": [10, 0], "x": 8.75, "y": 4.25}, + {"matrix": [10, 1], "x": 9.75, "y": 4.25}, + {"matrix": [10, 2], "x": 10.75, "y": 4.25}, + {"matrix": [10, 3], "x": 11.75, "y": 4.25}, + {"matrix": [10, 4], "x": 12.75, "y": 4.25}, + {"matrix": [10, 5], "x": 13.75, "y": 4.25}, + {"matrix": [10, 6], "x": 14.75, "y": 4.25, "w": 1.75}, + {"matrix": [10, 7], "x": 16.75, "y": 4.5}, + {"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, 5], "x": 4.75, "y": 5.5, "w": 2.25}, + {"matrix": [5, 6], "x": 7, "y": 5.5}, + {"matrix": [11, 2], "x": 9.5, "y": 5.5, "w": 2.75}, + {"matrix": [11, 4], "x": 13, "y": 5.25, "w": 1.5}, + {"matrix": [11, 5], "x": 14.5, "y": 5.25}, + {"matrix": [11, 6], "x": 15.75, "y": 5.5}, + {"matrix": [11, 7], "x": 16.75, "y": 5.5}, + {"matrix": [11, 8], "x": 17.75, "y": 5.5} + ] + }, + "LAYOUT_ansi": { + "layout": [ + {"matrix": [0, 0], "x": 0, "y": 0}, + {"matrix": [0, 2], "x": 1.5, "y": 0}, + {"matrix": [0, 3], "x": 2.5, "y": 0}, + {"matrix": [0, 4], "x": 3.5, "y": 0}, + {"matrix": [0, 5], "x": 4.5, "y": 0}, + {"matrix": [0, 6], "x": 6, "y": 0}, + {"matrix": [0, 7], "x": 7, "y": 0}, + {"matrix": [6, 0], "x": 9.5, "y": 0}, + {"matrix": [6, 1], "x": 10.5, "y": 0}, + {"matrix": [6, 2], "x": 12, "y": 0}, + {"matrix": [6, 3], "x": 13, "y": 0}, + {"matrix": [6, 4], "x": 14, "y": 0}, + {"matrix": [6, 5], "x": 15, "y": 0}, + {"matrix": [6, 7], "x": 16.5, "y": 0}, + {"matrix": [6, 8], "x": 17.75, "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": [7, 0], "x": 9.5, "y": 1.25}, + {"matrix": [7, 1], "x": 10.5, "y": 1.25}, + {"matrix": [7, 2], "x": 11.5, "y": 1.25}, + {"matrix": [7, 3], "x": 12.5, "y": 1.25}, + {"matrix": [7, 4], "x": 13.5, "y": 1.25}, + {"matrix": [7, 5], "x": 14.5, "y": 1.25}, + {"matrix": [7, 7], "x": 15.5, "y": 1.25}, + {"matrix": [7, 8], "x": 17.75, "y": 1.25, "w": 2}, + {"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": [8, 0], "x": 9, "y": 2.25}, + {"matrix": [8, 1], "x": 10, "y": 2.25}, + {"matrix": [8, 2], "x": 11, "y": 2.25}, + {"matrix": [8, 3], "x": 12, "y": 2.25}, + {"matrix": [8, 4], "x": 13, "y": 2.25}, + {"matrix": [8, 5], "x": 14, "y": 2.25}, + {"matrix": [8, 6], "x": 15, "y": 2.25}, + {"matrix": [8, 7], "x": 16, "y": 2.25, "w": 1.5}, + {"matrix": [8, 8], "x": 17.75, "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": [9, 0], "x": 9.25, "y": 3.25}, + {"matrix": [9, 1], "x": 10.25, "y": 3.25}, + {"matrix": [9, 2], "x": 11.25, "y": 3.25}, + {"matrix": [9, 3], "x": 12.25, "y": 3.25}, + {"matrix": [9, 4], "x": 13.25, "y": 3.25}, + {"matrix": [9, 5], "x": 14.25, "y": 3.25}, + {"matrix": [9, 7], "x": 15.25, "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": [10, 0], "x": 8.75, "y": 4.25}, + {"matrix": [10, 1], "x": 9.75, "y": 4.25}, + {"matrix": [10, 2], "x": 10.75, "y": 4.25}, + {"matrix": [10, 3], "x": 11.75, "y": 4.25}, + {"matrix": [10, 4], "x": 12.75, "y": 4.25}, + {"matrix": [10, 5], "x": 13.75, "y": 4.25}, + {"matrix": [10, 6], "x": 14.75, "y": 4.25, "w": 1.75}, + {"matrix": [10, 7], "x": 16.75, "y": 4.5}, + {"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, 5], "x": 4.75, "y": 5.5, "w": 2.25}, + {"matrix": [5, 6], "x": 7, "y": 5.5}, + {"matrix": [11, 2], "x": 9.5, "y": 5.5, "w": 2.75}, + {"matrix": [11, 4], "x": 13, "y": 5.25, "w": 1.5}, + {"matrix": [11, 5], "x": 14.5, "y": 5.25}, + {"matrix": [11, 6], "x": 15.75, "y": 5.5}, + {"matrix": [11, 7], "x": 16.75, "y": 5.5}, + {"matrix": [11, 8], "x": 17.75, "y": 5.5} + ] + } + } +} \ No newline at end of file diff --git a/keyboards/era/sirind/tomak79h/keymaps/default/keymap.c b/keyboards/era/sirind/tomak79h/keymaps/default/keymap.c new file mode 100644 index 00000000000..7b8a5b8a139 --- /dev/null +++ b/keyboards/era/sirind/tomak79h/keymaps/default/keymap.c @@ -0,0 +1,24 @@ +// Copyright 2024 Hyojin Bak (@eerraa) +// 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_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_F13, KC_PSCR, + KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_BSPC, KC_INS, + KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, 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_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_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP, + KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, MO(1), KC_SPC, KC_RALT, MO(1), KC_LEFT, KC_DOWN, KC_RGHT + ), + [1] = LAYOUT_all( + QK_BOOT, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, QK_BOOT, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, RGB_TOG, RGB_VAI, RGB_HUI, RGB_SAI, RGB_SPI, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, RGB_MOD, RGB_VAD, RGB_HUD, RGB_SAD, RGB_SPD, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS + ) +}; \ No newline at end of file diff --git a/keyboards/era/sirind/tomak79h/readme.md b/keyboards/era/sirind/tomak79h/readme.md new file mode 100644 index 00000000000..528731ef12c --- /dev/null +++ b/keyboards/era/sirind/tomak79h/readme.md @@ -0,0 +1,27 @@ +# Tomak79H, Hotswap ver + +![Tomak79H](https://i.imgur.com/yJ5n7ll.jpeg) + +Ergonomics Split Keyboard powered by RP2040. + +* Keyboard Maintainer: [ERA](https://github.com/eerraa) +* Hardware supported: SIRIND Tomak79 +* Hardware availability: [Syryan](https://srind.mysoho.com/) + +Make example for this keyboard (after setting up your build environment): + + make era/sirind/tomak79h:default + +Flashing example for this keyboard: + + make era/sirind/tomak79h: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 'top-left(ESC, F7)' key and plug in the keyboard. +* **Physical reset**: Short the 'RESET' and 'GND' holes twice within one second, or plug in the keyboard with the 'BOOT' and 'GND' holes shorted. +* **Keycode in layout**: Press the key mapped to `QK_BOOT` if it is available. \ No newline at end of file diff --git a/keyboards/era/sirind/tomak79h/tomak79h.c b/keyboards/era/sirind/tomak79h/tomak79h.c new file mode 100644 index 00000000000..580a1ba68b1 --- /dev/null +++ b/keyboards/era/sirind/tomak79h/tomak79h.c @@ -0,0 +1,16 @@ +// Copyright 2024 Hyojin Bak (@eerraa) +// SPDX-License-Identifier: GPL-2.0-or-later + +#include "quantum.h" + +bool rgb_matrix_indicators_kb(void) { + if (!rgb_matrix_indicators_user()) { + return false; + } + if (host_keyboard_led_state().caps_lock) { + for (uint8_t i = 87; i <= 95; i++) { + rgb_matrix_set_color(i, 0, 128, 128); + } + } + return true; +} \ No newline at end of file From 32b6faaf353bf845a835bd7b71e53336fcb6416e Mon Sep 17 00:00:00 2001 From: Felix Jen Date: Thu, 24 Oct 2024 22:35:53 -0700 Subject: [PATCH 078/124] Add Vanguard65 Keyboard (#24497) * Initial commit * update * added two options for the slider * comments * added rounding for the lower end of the LED values * moved folder, cleaned up code * fixed layout def * fioxed default layout * Update keyboards/keebfront/vanguard65/config.h Co-authored-by: jack <0x6a73@protonmail.com> * Update keyboards/keebfront/vanguard65/keymaps/via/keymap.c Co-authored-by: jack <0x6a73@protonmail.com> * Update keyboards/keebfront/vanguard65/keymaps/via/keymap.c Co-authored-by: jack <0x6a73@protonmail.com> * Update keyboards/keebfront/vanguard65/readme.md Co-authored-by: jack <0x6a73@protonmail.com> * Update keyboards/keebfront/vanguard65/rules.mk Co-authored-by: jack <0x6a73@protonmail.com> * Update keyboards/keebfront/vanguard65/info.json Co-authored-by: jack <0x6a73@protonmail.com> * updated default keymap to have encoder map functionality * Update keyboards/keebfront/vanguard65/rules.mk Co-authored-by: jack <0x6a73@protonmail.com> * Update keyboards/keebfront/vanguard65/config.h Co-authored-by: jack <0x6a73@protonmail.com> * Update keyboards/keebfront/vanguard65/config.h Co-authored-by: jack <0x6a73@protonmail.com> * add encoder_update_kb * Update keyboards/keebfront/vanguard65/vanguard65.c Co-authored-by: Drashna Jaelre * Update keyboards/keebfront/vanguard65/info.json Co-authored-by: Drashna Jaelre * Update keyboards/keebfront/vanguard65/info.json Co-authored-by: Drashna Jaelre * Update keyboards/keebfront/vanguard65/vanguard65.c Co-authored-by: Drashna Jaelre * new qmk * misc fixes * Test * Removed extraneous parts of hte rules.mk * Remove extra layers in the keymap * Revert "Remove extra layers in the keymap" This reverts commit c82ee931acef589c8ef260e26a3de7ecd88acb53. * removed excess layers * update for latest QMK led definition * update * Update keyboards/keebfront/vanguard65/info.json Co-authored-by: Drashna Jaelre * Update keyboards/keebfront/vanguard65/keymaps/via/keymap.c Co-authored-by: Drashna Jaelre * Update keyboards/keebfront/vanguard65/info.json Co-authored-by: Duncan Sutherland * Update keyboards/keebfront/vanguard65/info.json Co-authored-by: Duncan Sutherland * Update keyboards/keebfront/vanguard65/keymaps/default/keymap.c Co-authored-by: Duncan Sutherland * Update keyboards/keebfront/vanguard65/keymaps/via/keymap.c Co-authored-by: Duncan Sutherland * Update keyboards/keebfront/vanguard65/readme.md Co-authored-by: Duncan Sutherland * Update keyboards/keebfront/vanguard65/keymaps/default/keymap.c Co-authored-by: Duncan Sutherland * Update keyboards/keebfront/vanguard65/info.json Co-authored-by: Duncan Sutherland * Update keyboards/keebfront/vanguard65/keymaps/default/keymap.c Co-authored-by: Duncan Sutherland * Update keyboards/keebfront/vanguard65/keymaps/via/keymap.c Co-authored-by: Duncan Sutherland * Update keyboards/keebfront/vanguard65/info.json Co-authored-by: Duncan Sutherland * Delete vanguard65.c * run qmk format_json * Update keyboards/keebfront/vanguard65/rules.mk Co-authored-by: Ryan * Update keyboards/keebfront/vanguard65/readme.md Co-authored-by: Duncan Sutherland * Update keyboards/keebfront/vanguard65/readme.md Co-authored-by: Duncan Sutherland * Update keyboards/keebfront/vanguard65/info.json Co-authored-by: Duncan Sutherland * Update keyboards/keebfront/vanguard65/keymaps/default/keymap.c Co-authored-by: Duncan Sutherland * Update keyboards/keebfront/vanguard65/keymaps/via/keymap.c Co-authored-by: Duncan Sutherland * Update keyboards/keebfront/vanguard65/keymaps/via/keymap.c Co-authored-by: Duncan Sutherland * Update keyboards/keebfront/vanguard65/keymaps/default/keymap.c Co-authored-by: Duncan Sutherland * Update keyboards/keebfront/vanguard65/info.json Co-authored-by: Duncan Sutherland * Update keyboards/keebfront/vanguard65/keymaps/via/keymap.c Co-authored-by: Duncan Sutherland * Update keyboards/keebfront/vanguard65/keymaps/default/keymap.c Co-authored-by: Duncan Sutherland * Update keyboards/keebfront/vanguard65/keymaps/default/keymap.c Co-authored-by: James Young <18669334+noroadsleft@users.noreply.github.com> * Update keyboards/keebfront/vanguard65/keymaps/default/keymap.c Co-authored-by: James Young <18669334+noroadsleft@users.noreply.github.com> * Confirm all keymaps compile * update for latest QMK best definitions * Apply suggestions from code review Co-authored-by: jack * Added minimum slider functionality. * update readme * Apply suggestions from code review Co-authored-by: Joel Challis * Update keyboards/keebfront/vanguard65/keyboard.json Co-authored-by: jack --------- Co-authored-by: jack <0x6a73@protonmail.com> Co-authored-by: Drashna Jaelre Co-authored-by: Duncan Sutherland Co-authored-by: Ryan Co-authored-by: James Young <18669334+noroadsleft@users.noreply.github.com> Co-authored-by: jack Co-authored-by: Joel Challis --- keyboards/keebfront/vanguard65/config.h | 22 + keyboards/keebfront/vanguard65/keyboard.json | 744 ++++++++++++++++++ .../vanguard65/keymaps/default/keymap.c | 63 ++ .../vanguard65/keymaps/default/rules.mk | 2 + keyboards/keebfront/vanguard65/readme.md | 29 + keyboards/keebfront/vanguard65/rules.mk | 2 + 6 files changed, 862 insertions(+) create mode 100644 keyboards/keebfront/vanguard65/config.h create mode 100644 keyboards/keebfront/vanguard65/keyboard.json create mode 100644 keyboards/keebfront/vanguard65/keymaps/default/keymap.c create mode 100644 keyboards/keebfront/vanguard65/keymaps/default/rules.mk create mode 100644 keyboards/keebfront/vanguard65/readme.md create mode 100644 keyboards/keebfront/vanguard65/rules.mk diff --git a/keyboards/keebfront/vanguard65/config.h b/keyboards/keebfront/vanguard65/config.h new file mode 100644 index 00000000000..71e47341d9b --- /dev/null +++ b/keyboards/keebfront/vanguard65/config.h @@ -0,0 +1,22 @@ +/* +Copyright 2022 + +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 MIDI */ +#define MIDI_ADVANCED +#define SLIDER_PINA D6 diff --git a/keyboards/keebfront/vanguard65/keyboard.json b/keyboards/keebfront/vanguard65/keyboard.json new file mode 100644 index 00000000000..34d9eca4a57 --- /dev/null +++ b/keyboards/keebfront/vanguard65/keyboard.json @@ -0,0 +1,744 @@ +{ + "manufacturer": "Keebfront", + "keyboard_name": "Vanguard65", + "maintainer": "Keebfront", + "bootloader": "atmel-dfu", + "build": { + "lto": true + }, + "diode_direction": "COL2ROW", + "encoder": { + "rotary": [ + {"pin_a": "E6", "pin_b": "D4"} + ] + }, + "features": { + "bootmagic": true, + "extrakey": true, + "midi": true, + "rgblight": true, + "mousekey": true, + "encoder": true + }, + "matrix_pins": { + "cols": ["F0", "B1", "B2", "B3", "B7", "D0", "D1", "D2", "D3", "D5", "D7", "B4", "B5", "B6", "C6"], + "rows": ["F4", "F1", "F7", "F6", "F5"] + }, + "processor": "atmega32u4", + "rgblight": { + "animations": { + "alternating": true, + "breathing": true, + "christmas": true, + "knight": true, + "rainbow_mood": true, + "rainbow_swirl": true, + "snake": true, + "static_gradient": true, + "twinkle": true + }, + "brightness_steps": 12, + "led_count": 36 + }, + "url": "https://www.keebfront.com", + "usb": { + "device_version": "0.0.1", + "pid": "0x1823", + "vid": "0x7074" + }, + "ws2812": { + "pin": "C7" + }, + "layouts": { + "LAYOUT_all": { + "layout": [ + {"matrix": [3, 14], "x": 0, "y": 0}, + + {"matrix": [0, 0], "x": 1.5, "y": 0}, + {"matrix": [0, 1], "x": 2.5, "y": 0}, + {"matrix": [0, 2], "x": 3.5, "y": 0}, + {"matrix": [0, 3], "x": 4.5, "y": 0}, + {"matrix": [0, 4], "x": 5.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": 10.5, "y": 0}, + {"matrix": [0, 10], "x": 11.5, "y": 0}, + {"matrix": [0, 11], "x": 12.5, "y": 0}, + {"matrix": [0, 12], "x": 13.5, "y": 0}, + {"matrix": [0, 13], "x": 14.5, "y": 0}, + {"matrix": [2, 13], "x": 15.5, "y": 0}, + {"matrix": [0, 14], "x": 16.75, "y": 0}, + + {"matrix": [1, 0], "x": 1.5, "y": 1, "w": 1.5}, + {"matrix": [1, 1], "x": 3, "y": 1}, + {"matrix": [1, 2], "x": 4, "y": 1}, + {"matrix": [1, 3], "x": 5, "y": 1}, + {"matrix": [1, 4], "x": 6, "y": 1}, + {"matrix": [1, 5], "x": 7, "y": 1}, + {"matrix": [1, 6], "x": 8, "y": 1}, + {"matrix": [1, 7], "x": 9, "y": 1}, + {"matrix": [1, 8], "x": 10, "y": 1}, + {"matrix": [1, 9], "x": 11, "y": 1}, + {"matrix": [1, 10], "x": 12, "y": 1}, + {"matrix": [1, 11], "x": 13, "y": 1}, + {"matrix": [1, 12], "x": 14, "y": 1}, + {"matrix": [1, 13], "x": 15, "y": 1, "w": 1.5}, + {"matrix": [1, 14], "x": 16.75, "y": 1}, + + {"matrix": [2, 0], "x": 1.5, "y": 2, "w": 1.75}, + {"matrix": [2, 1], "x": 3.25, "y": 2}, + {"matrix": [2, 2], "x": 4.25, "y": 2}, + {"matrix": [2, 3], "x": 5.25, "y": 2}, + {"matrix": [2, 4], "x": 6.25, "y": 2}, + {"matrix": [2, 5], "x": 7.25, "y": 2}, + {"matrix": [2, 6], "x": 8.25, "y": 2}, + {"matrix": [2, 7], "x": 9.25, "y": 2}, + {"matrix": [2, 8], "x": 10.25, "y": 2}, + {"matrix": [2, 9], "x": 11.25, "y": 2}, + {"matrix": [2, 10], "x": 12.25, "y": 2}, + {"matrix": [2, 11], "x": 13.25, "y": 2}, + {"matrix": [2, 12], "x": 14.25, "y": 2, "w": 2.25}, + {"matrix": [2, 14], "x": 16.75, "y": 2}, + + {"matrix": [3, 0], "x": 1.5, "y": 3, "w": 1.25}, + {"matrix": [3, 1], "x": 2.75, "y": 3}, + {"matrix": [3, 2], "x": 3.75, "y": 3}, + {"matrix": [3, 3], "x": 4.75, "y": 3}, + {"matrix": [3, 4], "x": 5.75, "y": 3}, + {"matrix": [3, 5], "x": 6.75, "y": 3}, + {"matrix": [3, 6], "x": 7.75, "y": 3}, + {"matrix": [3, 7], "x": 8.75, "y": 3}, + {"matrix": [3, 8], "x": 9.75, "y": 3}, + {"matrix": [3, 9], "x": 10.75, "y": 3}, + {"matrix": [3, 10], "x": 11.75, "y": 3}, + {"matrix": [3, 11], "x": 12.75, "y": 3}, + {"matrix": [3, 12], "x": 13.75, "y": 3, "w": 1.75}, + {"matrix": [3, 13], "x": 15.5, "y": 3}, + + {"matrix": [4, 0], "x": 1.5, "y": 4, "w": 1.25}, + {"matrix": [4, 1], "x": 2.75, "y": 4, "w": 1.25}, + {"matrix": [4, 2], "x": 4, "y": 4, "w": 1.25}, + {"matrix": [4, 6], "x": 5.25, "y": 4, "w": 6.25}, + {"matrix": [4, 10], "x": 11.5, "y": 4, "w": 1.25}, + {"matrix": [4, 11], "x": 12.75, "y": 4, "w": 1.25}, + {"matrix": [4, 12], "x": 14.5, "y": 4}, + {"matrix": [4, 13], "x": 15.5, "y": 4}, + {"matrix": [4, 14], "x": 16.5, "y": 4} + ] + }, + "LAYOUT_ansi_blocker": { + "layout": [ + {"matrix": [3, 14], "x": 0, "y": 0}, + + {"matrix": [0, 0], "x": 1.5, "y": 0}, + {"matrix": [0, 1], "x": 2.5, "y": 0}, + {"matrix": [0, 2], "x": 3.5, "y": 0}, + {"matrix": [0, 3], "x": 4.5, "y": 0}, + {"matrix": [0, 4], "x": 5.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": 10.5, "y": 0}, + {"matrix": [0, 10], "x": 11.5, "y": 0}, + {"matrix": [0, 11], "x": 12.5, "y": 0}, + {"matrix": [0, 12], "x": 13.5, "y": 0}, + {"matrix": [0, 13], "x": 14.5, "y": 0, "w": 2}, + {"matrix": [0, 14], "x": 16.75, "y": 0}, + + {"matrix": [1, 0], "x": 1.5, "y": 1, "w": 1.5}, + {"matrix": [1, 1], "x": 3, "y": 1}, + {"matrix": [1, 2], "x": 4, "y": 1}, + {"matrix": [1, 3], "x": 5, "y": 1}, + {"matrix": [1, 4], "x": 6, "y": 1}, + {"matrix": [1, 5], "x": 7, "y": 1}, + {"matrix": [1, 6], "x": 8, "y": 1}, + {"matrix": [1, 7], "x": 9, "y": 1}, + {"matrix": [1, 8], "x": 10, "y": 1}, + {"matrix": [1, 9], "x": 11, "y": 1}, + {"matrix": [1, 10], "x": 12, "y": 1}, + {"matrix": [1, 11], "x": 13, "y": 1}, + {"matrix": [1, 12], "x": 14, "y": 1}, + {"matrix": [1, 13], "x": 15, "y": 1, "w": 1.5}, + {"matrix": [1, 14], "x": 16.75, "y": 1}, + + {"matrix": [2, 0], "x": 1.5, "y": 2, "w": 1.75}, + {"matrix": [2, 1], "x": 3.25, "y": 2}, + {"matrix": [2, 2], "x": 4.25, "y": 2}, + {"matrix": [2, 3], "x": 5.25, "y": 2}, + {"matrix": [2, 4], "x": 6.25, "y": 2}, + {"matrix": [2, 5], "x": 7.25, "y": 2}, + {"matrix": [2, 6], "x": 8.25, "y": 2}, + {"matrix": [2, 7], "x": 9.25, "y": 2}, + {"matrix": [2, 8], "x": 10.25, "y": 2}, + {"matrix": [2, 9], "x": 11.25, "y": 2}, + {"matrix": [2, 10], "x": 12.25, "y": 2}, + {"matrix": [2, 11], "x": 13.25, "y": 2}, + {"matrix": [2, 12], "x": 14.25, "y": 2, "w": 2.25}, + {"matrix": [2, 14], "x": 16.75, "y": 2}, + + {"matrix": [3, 0], "x": 1.5, "y": 3, "w": 2.25}, + {"matrix": [3, 2], "x": 3.75, "y": 3}, + {"matrix": [3, 3], "x": 4.75, "y": 3}, + {"matrix": [3, 4], "x": 5.75, "y": 3}, + {"matrix": [3, 5], "x": 6.75, "y": 3}, + {"matrix": [3, 6], "x": 7.75, "y": 3}, + {"matrix": [3, 7], "x": 8.75, "y": 3}, + {"matrix": [3, 8], "x": 9.75, "y": 3}, + {"matrix": [3, 9], "x": 10.75, "y": 3}, + {"matrix": [3, 10], "x": 11.75, "y": 3}, + {"matrix": [3, 11], "x": 12.75, "y": 3}, + {"matrix": [3, 12], "x": 13.75, "y": 3, "w": 1.75}, + {"matrix": [3, 13], "x": 15.5, "y": 3}, + + {"matrix": [4, 0], "x": 1.5, "y": 4, "w": 1.25}, + {"matrix": [4, 1], "x": 2.75, "y": 4, "w": 1.25}, + {"matrix": [4, 2], "x": 4, "y": 4, "w": 1.25}, + {"matrix": [4, 6], "x": 5.25, "y": 4, "w": 6.25}, + {"matrix": [4, 10], "x": 11.5, "y": 4, "w": 1.25}, + {"matrix": [4, 11], "x": 12.75, "y": 4, "w": 1.25}, + {"matrix": [4, 12], "x": 14.5, "y": 4}, + {"matrix": [4, 13], "x": 15.5, "y": 4}, + {"matrix": [4, 14], "x": 16.5, "y": 4} + ] + }, + "LAYOUT_ansi_blocker_split_bs": { + "layout": [ + {"matrix": [3, 14], "x": 0, "y": 0}, + + {"matrix": [0, 0], "x": 1.5, "y": 0}, + {"matrix": [0, 1], "x": 2.5, "y": 0}, + {"matrix": [0, 2], "x": 3.5, "y": 0}, + {"matrix": [0, 3], "x": 4.5, "y": 0}, + {"matrix": [0, 4], "x": 5.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": 10.5, "y": 0}, + {"matrix": [0, 10], "x": 11.5, "y": 0}, + {"matrix": [0, 11], "x": 12.5, "y": 0}, + {"matrix": [0, 12], "x": 13.5, "y": 0}, + {"matrix": [0, 13], "x": 14.5, "y": 0}, + {"matrix": [2, 13], "x": 15.5, "y": 0}, + {"matrix": [0, 14], "x": 16.75, "y": 0}, + + {"matrix": [1, 0], "x": 1.5, "y": 1, "w": 1.5}, + {"matrix": [1, 1], "x": 3, "y": 1}, + {"matrix": [1, 2], "x": 4, "y": 1}, + {"matrix": [1, 3], "x": 5, "y": 1}, + {"matrix": [1, 4], "x": 6, "y": 1}, + {"matrix": [1, 5], "x": 7, "y": 1}, + {"matrix": [1, 6], "x": 8, "y": 1}, + {"matrix": [1, 7], "x": 9, "y": 1}, + {"matrix": [1, 8], "x": 10, "y": 1}, + {"matrix": [1, 9], "x": 11, "y": 1}, + {"matrix": [1, 10], "x": 12, "y": 1}, + {"matrix": [1, 11], "x": 13, "y": 1}, + {"matrix": [1, 12], "x": 14, "y": 1}, + {"matrix": [1, 13], "x": 15, "y": 1, "w": 1.5}, + {"matrix": [1, 14], "x": 16.75, "y": 1}, + + {"matrix": [2, 0], "x": 1.5, "y": 2, "w": 1.75}, + {"matrix": [2, 1], "x": 3.25, "y": 2}, + {"matrix": [2, 2], "x": 4.25, "y": 2}, + {"matrix": [2, 3], "x": 5.25, "y": 2}, + {"matrix": [2, 4], "x": 6.25, "y": 2}, + {"matrix": [2, 5], "x": 7.25, "y": 2}, + {"matrix": [2, 6], "x": 8.25, "y": 2}, + {"matrix": [2, 7], "x": 9.25, "y": 2}, + {"matrix": [2, 8], "x": 10.25, "y": 2}, + {"matrix": [2, 9], "x": 11.25, "y": 2}, + {"matrix": [2, 10], "x": 12.25, "y": 2}, + {"matrix": [2, 11], "x": 13.25, "y": 2}, + {"matrix": [2, 12], "x": 14.25, "y": 2, "w": 2.25}, + {"matrix": [2, 14], "x": 16.75, "y": 2}, + + {"matrix": [3, 0], "x": 1.5, "y": 3, "w": 2.25}, + {"matrix": [3, 2], "x": 3.75, "y": 3}, + {"matrix": [3, 3], "x": 4.75, "y": 3}, + {"matrix": [3, 4], "x": 5.75, "y": 3}, + {"matrix": [3, 5], "x": 6.75, "y": 3}, + {"matrix": [3, 6], "x": 7.75, "y": 3}, + {"matrix": [3, 7], "x": 8.75, "y": 3}, + {"matrix": [3, 8], "x": 9.75, "y": 3}, + {"matrix": [3, 9], "x": 10.75, "y": 3}, + {"matrix": [3, 10], "x": 11.75, "y": 3}, + {"matrix": [3, 11], "x": 12.75, "y": 3}, + {"matrix": [3, 12], "x": 13.75, "y": 3, "w": 1.75}, + {"matrix": [3, 13], "x": 15.5, "y": 3}, + + {"matrix": [4, 0], "x": 1.5, "y": 4, "w": 1.25}, + {"matrix": [4, 1], "x": 2.75, "y": 4, "w": 1.25}, + {"matrix": [4, 2], "x": 4, "y": 4, "w": 1.25}, + {"matrix": [4, 6], "x": 5.25, "y": 4, "w": 6.25}, + {"matrix": [4, 10], "x": 11.5, "y": 4, "w": 1.25}, + {"matrix": [4, 11], "x": 12.75, "y": 4, "w": 1.25}, + {"matrix": [4, 12], "x": 14.5, "y": 4}, + {"matrix": [4, 13], "x": 15.5, "y": 4}, + {"matrix": [4, 14], "x": 16.5, "y": 4} + ] + }, + "LAYOUT_ansi_blocker_tsangan": { + "layout": [ + {"matrix": [3, 14], "x": 0, "y": 0}, + + {"matrix": [0, 0], "x": 1.5, "y": 0}, + {"matrix": [0, 1], "x": 2.5, "y": 0}, + {"matrix": [0, 2], "x": 3.5, "y": 0}, + {"matrix": [0, 3], "x": 4.5, "y": 0}, + {"matrix": [0, 4], "x": 5.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": 10.5, "y": 0}, + {"matrix": [0, 10], "x": 11.5, "y": 0}, + {"matrix": [0, 11], "x": 12.5, "y": 0}, + {"matrix": [0, 12], "x": 13.5, "y": 0}, + {"matrix": [0, 13], "x": 14.5, "y": 0, "w": 2}, + {"matrix": [0, 14], "x": 16.75, "y": 0}, + + {"matrix": [1, 0], "x": 1.5, "y": 1, "w": 1.5}, + {"matrix": [1, 1], "x": 3, "y": 1}, + {"matrix": [1, 2], "x": 4, "y": 1}, + {"matrix": [1, 3], "x": 5, "y": 1}, + {"matrix": [1, 4], "x": 6, "y": 1}, + {"matrix": [1, 5], "x": 7, "y": 1}, + {"matrix": [1, 6], "x": 8, "y": 1}, + {"matrix": [1, 7], "x": 9, "y": 1}, + {"matrix": [1, 8], "x": 10, "y": 1}, + {"matrix": [1, 9], "x": 11, "y": 1}, + {"matrix": [1, 10], "x": 12, "y": 1}, + {"matrix": [1, 11], "x": 13, "y": 1}, + {"matrix": [1, 12], "x": 14, "y": 1}, + {"matrix": [1, 13], "x": 15, "y": 1, "w": 1.5}, + {"matrix": [1, 14], "x": 16.75, "y": 1}, + + {"matrix": [2, 0], "x": 1.5, "y": 2, "w": 1.75}, + {"matrix": [2, 1], "x": 3.25, "y": 2}, + {"matrix": [2, 2], "x": 4.25, "y": 2}, + {"matrix": [2, 3], "x": 5.25, "y": 2}, + {"matrix": [2, 4], "x": 6.25, "y": 2}, + {"matrix": [2, 5], "x": 7.25, "y": 2}, + {"matrix": [2, 6], "x": 8.25, "y": 2}, + {"matrix": [2, 7], "x": 9.25, "y": 2}, + {"matrix": [2, 8], "x": 10.25, "y": 2}, + {"matrix": [2, 9], "x": 11.25, "y": 2}, + {"matrix": [2, 10], "x": 12.25, "y": 2}, + {"matrix": [2, 11], "x": 13.25, "y": 2}, + {"matrix": [2, 12], "x": 14.25, "y": 2, "w": 2.25}, + {"matrix": [2, 14], "x": 16.75, "y": 2}, + + {"matrix": [3, 0], "x": 1.5, "y": 3, "w": 2.25}, + {"matrix": [3, 2], "x": 3.75, "y": 3}, + {"matrix": [3, 3], "x": 4.75, "y": 3}, + {"matrix": [3, 4], "x": 5.75, "y": 3}, + {"matrix": [3, 5], "x": 6.75, "y": 3}, + {"matrix": [3, 6], "x": 7.75, "y": 3}, + {"matrix": [3, 7], "x": 8.75, "y": 3}, + {"matrix": [3, 8], "x": 9.75, "y": 3}, + {"matrix": [3, 9], "x": 10.75, "y": 3}, + {"matrix": [3, 10], "x": 11.75, "y": 3}, + {"matrix": [3, 11], "x": 12.75, "y": 3}, + {"matrix": [3, 12], "x": 13.75, "y": 3, "w": 1.75}, + {"matrix": [3, 13], "x": 15.5, "y": 3}, + + {"matrix": [4, 0], "x": 1.5, "y": 4, "w": 1.5}, + {"matrix": [4, 1], "x": 3, "y": 4}, + {"matrix": [4, 2], "x": 4, "y": 4, "w": 1.5}, + {"matrix": [4, 6], "x": 5.5, "y": 4, "w": 7}, + {"matrix": [4, 11], "x": 12.5, "y": 4, "w": 1.5}, + {"matrix": [4, 12], "x": 14.5, "y": 4}, + {"matrix": [4, 13], "x": 15.5, "y": 4}, + {"matrix": [4, 14], "x": 16.5, "y": 4} + ] + }, + "LAYOUT_ansi_blocker_tsangan_split_bs": { + "layout": [ + {"matrix": [3, 14], "x": 0, "y": 0}, + + {"matrix": [0, 0], "x": 1.5, "y": 0}, + {"matrix": [0, 1], "x": 2.5, "y": 0}, + {"matrix": [0, 2], "x": 3.5, "y": 0}, + {"matrix": [0, 3], "x": 4.5, "y": 0}, + {"matrix": [0, 4], "x": 5.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": 10.5, "y": 0}, + {"matrix": [0, 10], "x": 11.5, "y": 0}, + {"matrix": [0, 11], "x": 12.5, "y": 0}, + {"matrix": [0, 12], "x": 13.5, "y": 0}, + {"matrix": [0, 13], "x": 14.5, "y": 0}, + {"matrix": [2, 13], "x": 15.5, "y": 0}, + {"matrix": [0, 14], "x": 16.75, "y": 0}, + + {"matrix": [1, 0], "x": 1.5, "y": 1, "w": 1.5}, + {"matrix": [1, 1], "x": 3, "y": 1}, + {"matrix": [1, 2], "x": 4, "y": 1}, + {"matrix": [1, 3], "x": 5, "y": 1}, + {"matrix": [1, 4], "x": 6, "y": 1}, + {"matrix": [1, 5], "x": 7, "y": 1}, + {"matrix": [1, 6], "x": 8, "y": 1}, + {"matrix": [1, 7], "x": 9, "y": 1}, + {"matrix": [1, 8], "x": 10, "y": 1}, + {"matrix": [1, 9], "x": 11, "y": 1}, + {"matrix": [1, 10], "x": 12, "y": 1}, + {"matrix": [1, 11], "x": 13, "y": 1}, + {"matrix": [1, 12], "x": 14, "y": 1}, + {"matrix": [1, 13], "x": 15, "y": 1, "w": 1.5}, + {"matrix": [1, 14], "x": 16.75, "y": 1}, + + {"matrix": [2, 0], "x": 1.5, "y": 2, "w": 1.75}, + {"matrix": [2, 1], "x": 3.25, "y": 2}, + {"matrix": [2, 2], "x": 4.25, "y": 2}, + {"matrix": [2, 3], "x": 5.25, "y": 2}, + {"matrix": [2, 4], "x": 6.25, "y": 2}, + {"matrix": [2, 5], "x": 7.25, "y": 2}, + {"matrix": [2, 6], "x": 8.25, "y": 2}, + {"matrix": [2, 7], "x": 9.25, "y": 2}, + {"matrix": [2, 8], "x": 10.25, "y": 2}, + {"matrix": [2, 9], "x": 11.25, "y": 2}, + {"matrix": [2, 10], "x": 12.25, "y": 2}, + {"matrix": [2, 11], "x": 13.25, "y": 2}, + {"matrix": [2, 12], "x": 14.25, "y": 2, "w": 2.25}, + {"matrix": [2, 14], "x": 16.75, "y": 2}, + + {"matrix": [3, 0], "x": 1.5, "y": 3, "w": 2.25}, + {"matrix": [3, 2], "x": 3.75, "y": 3}, + {"matrix": [3, 3], "x": 4.75, "y": 3}, + {"matrix": [3, 4], "x": 5.75, "y": 3}, + {"matrix": [3, 5], "x": 6.75, "y": 3}, + {"matrix": [3, 6], "x": 7.75, "y": 3}, + {"matrix": [3, 7], "x": 8.75, "y": 3}, + {"matrix": [3, 8], "x": 9.75, "y": 3}, + {"matrix": [3, 9], "x": 10.75, "y": 3}, + {"matrix": [3, 10], "x": 11.75, "y": 3}, + {"matrix": [3, 11], "x": 12.75, "y": 3}, + {"matrix": [3, 12], "x": 13.75, "y": 3, "w": 1.75}, + {"matrix": [3, 13], "x": 15.5, "y": 3}, + + {"matrix": [4, 0], "x": 1.5, "y": 4, "w": 1.5}, + {"matrix": [4, 1], "x": 3, "y": 4}, + {"matrix": [4, 2], "x": 4, "y": 4, "w": 1.5}, + {"matrix": [4, 6], "x": 5.5, "y": 4, "w": 7}, + {"matrix": [4, 11], "x": 12.5, "y": 4, "w": 1.5}, + {"matrix": [4, 12], "x": 14.5, "y": 4}, + {"matrix": [4, 13], "x": 15.5, "y": 4}, + {"matrix": [4, 14], "x": 16.5, "y": 4} + ] + }, + "LAYOUT_iso_blocker": { + "layout": [ + {"matrix": [3, 14], "x": 0, "y": 0}, + + {"matrix": [0, 0], "x": 1.5, "y": 0}, + {"matrix": [0, 1], "x": 2.5, "y": 0}, + {"matrix": [0, 2], "x": 3.5, "y": 0}, + {"matrix": [0, 3], "x": 4.5, "y": 0}, + {"matrix": [0, 4], "x": 5.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": 10.5, "y": 0}, + {"matrix": [0, 10], "x": 11.5, "y": 0}, + {"matrix": [0, 11], "x": 12.5, "y": 0}, + {"matrix": [0, 12], "x": 13.5, "y": 0}, + {"matrix": [0, 13], "x": 14.5, "y": 0, "w": 2}, + {"matrix": [0, 14], "x": 16.75, "y": 0}, + + {"matrix": [1, 0], "x": 1.5, "y": 1, "w": 1.5}, + {"matrix": [1, 1], "x": 3, "y": 1}, + {"matrix": [1, 2], "x": 4, "y": 1}, + {"matrix": [1, 3], "x": 5, "y": 1}, + {"matrix": [1, 4], "x": 6, "y": 1}, + {"matrix": [1, 5], "x": 7, "y": 1}, + {"matrix": [1, 6], "x": 8, "y": 1}, + {"matrix": [1, 7], "x": 9, "y": 1}, + {"matrix": [1, 8], "x": 10, "y": 1}, + {"matrix": [1, 9], "x": 11, "y": 1}, + {"matrix": [1, 10], "x": 12, "y": 1}, + {"matrix": [1, 11], "x": 13, "y": 1}, + {"matrix": [1, 12], "x": 14, "y": 1}, + {"matrix": [1, 14], "x": 16.75, "y": 1}, + + {"matrix": [2, 0], "x": 1.5, "y": 2, "w": 1.75}, + {"matrix": [2, 1], "x": 3.25, "y": 2}, + {"matrix": [2, 2], "x": 4.25, "y": 2}, + {"matrix": [2, 3], "x": 5.25, "y": 2}, + {"matrix": [2, 4], "x": 6.25, "y": 2}, + {"matrix": [2, 5], "x": 7.25, "y": 2}, + {"matrix": [2, 6], "x": 8.25, "y": 2}, + {"matrix": [2, 7], "x": 9.25, "y": 2}, + {"matrix": [2, 8], "x": 10.25, "y": 2}, + {"matrix": [2, 9], "x": 11.25, "y": 2}, + {"matrix": [2, 10], "x": 12.25, "y": 2}, + {"matrix": [2, 11], "x": 13.25, "y": 2}, + {"matrix": [2, 12], "x": 14.25, "y": 2}, + {"matrix": [1, 13], "x": 15.25, "y": 1, "w": 1.25, "h": 2}, + {"matrix": [2, 14], "x": 16.75, "y": 2}, + + {"matrix": [3, 0], "x": 1.5, "y": 3, "w": 1.25}, + {"matrix": [3, 1], "x": 2.75, "y": 3}, + {"matrix": [3, 2], "x": 3.75, "y": 3}, + {"matrix": [3, 3], "x": 4.75, "y": 3}, + {"matrix": [3, 4], "x": 5.75, "y": 3}, + {"matrix": [3, 5], "x": 6.75, "y": 3}, + {"matrix": [3, 6], "x": 7.75, "y": 3}, + {"matrix": [3, 7], "x": 8.75, "y": 3}, + {"matrix": [3, 8], "x": 9.75, "y": 3}, + {"matrix": [3, 9], "x": 10.75, "y": 3}, + {"matrix": [3, 10], "x": 11.75, "y": 3}, + {"matrix": [3, 11], "x": 12.75, "y": 3}, + {"matrix": [3, 12], "x": 13.75, "y": 3, "w": 1.75}, + {"matrix": [3, 13], "x": 15.5, "y": 3}, + + {"matrix": [4, 0], "x": 1.5, "y": 4, "w": 1.25}, + {"matrix": [4, 1], "x": 2.75, "y": 4, "w": 1.25}, + {"matrix": [4, 2], "x": 4, "y": 4, "w": 1.25}, + {"matrix": [4, 6], "x": 5.25, "y": 4, "w": 6.25}, + {"matrix": [4, 10], "x": 11.5, "y": 4, "w": 1.25}, + {"matrix": [4, 11], "x": 12.75, "y": 4, "w": 1.25}, + {"matrix": [4, 12], "x": 14.5, "y": 4}, + {"matrix": [4, 13], "x": 15.5, "y": 4}, + {"matrix": [4, 14], "x": 16.5, "y": 4} + ] + }, + "LAYOUT_iso_blocker_split_bs": { + "layout": [ + {"matrix": [3, 14], "x": 0, "y": 0}, + + {"matrix": [0, 0], "x": 1.5, "y": 0}, + {"matrix": [0, 1], "x": 2.5, "y": 0}, + {"matrix": [0, 2], "x": 3.5, "y": 0}, + {"matrix": [0, 3], "x": 4.5, "y": 0}, + {"matrix": [0, 4], "x": 5.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": 10.5, "y": 0}, + {"matrix": [0, 10], "x": 11.5, "y": 0}, + {"matrix": [0, 11], "x": 12.5, "y": 0}, + {"matrix": [0, 12], "x": 13.5, "y": 0}, + {"matrix": [0, 13], "x": 14.5, "y": 0}, + {"matrix": [2, 13], "x": 15.5, "y": 0}, + {"matrix": [0, 14], "x": 16.75, "y": 0}, + + {"matrix": [1, 0], "x": 1.5, "y": 1, "w": 1.5}, + {"matrix": [1, 1], "x": 3, "y": 1}, + {"matrix": [1, 2], "x": 4, "y": 1}, + {"matrix": [1, 3], "x": 5, "y": 1}, + {"matrix": [1, 4], "x": 6, "y": 1}, + {"matrix": [1, 5], "x": 7, "y": 1}, + {"matrix": [1, 6], "x": 8, "y": 1}, + {"matrix": [1, 7], "x": 9, "y": 1}, + {"matrix": [1, 8], "x": 10, "y": 1}, + {"matrix": [1, 9], "x": 11, "y": 1}, + {"matrix": [1, 10], "x": 12, "y": 1}, + {"matrix": [1, 11], "x": 13, "y": 1}, + {"matrix": [1, 12], "x": 14, "y": 1}, + {"matrix": [1, 14], "x": 16.75, "y": 1}, + + {"matrix": [2, 0], "x": 1.5, "y": 2, "w": 1.75}, + {"matrix": [2, 1], "x": 3.25, "y": 2}, + {"matrix": [2, 2], "x": 4.25, "y": 2}, + {"matrix": [2, 3], "x": 5.25, "y": 2}, + {"matrix": [2, 4], "x": 6.25, "y": 2}, + {"matrix": [2, 5], "x": 7.25, "y": 2}, + {"matrix": [2, 6], "x": 8.25, "y": 2}, + {"matrix": [2, 7], "x": 9.25, "y": 2}, + {"matrix": [2, 8], "x": 10.25, "y": 2}, + {"matrix": [2, 9], "x": 11.25, "y": 2}, + {"matrix": [2, 10], "x": 12.25, "y": 2}, + {"matrix": [2, 11], "x": 13.25, "y": 2}, + {"matrix": [2, 12], "x": 14.25, "y": 2}, + {"matrix": [1, 13], "x": 15.25, "y": 1, "w": 1.25, "h": 2}, + {"matrix": [2, 14], "x": 16.75, "y": 2}, + + {"matrix": [3, 0], "x": 1.5, "y": 3, "w": 1.25}, + {"matrix": [3, 1], "x": 2.75, "y": 3}, + {"matrix": [3, 2], "x": 3.75, "y": 3}, + {"matrix": [3, 3], "x": 4.75, "y": 3}, + {"matrix": [3, 4], "x": 5.75, "y": 3}, + {"matrix": [3, 5], "x": 6.75, "y": 3}, + {"matrix": [3, 6], "x": 7.75, "y": 3}, + {"matrix": [3, 7], "x": 8.75, "y": 3}, + {"matrix": [3, 8], "x": 9.75, "y": 3}, + {"matrix": [3, 9], "x": 10.75, "y": 3}, + {"matrix": [3, 10], "x": 11.75, "y": 3}, + {"matrix": [3, 11], "x": 12.75, "y": 3}, + {"matrix": [3, 12], "x": 13.75, "y": 3, "w": 1.75}, + {"matrix": [3, 13], "x": 15.5, "y": 3}, + + {"matrix": [4, 0], "x": 1.5, "y": 4, "w": 1.25}, + {"matrix": [4, 1], "x": 2.75, "y": 4, "w": 1.25}, + {"matrix": [4, 2], "x": 4, "y": 4, "w": 1.25}, + {"matrix": [4, 6], "x": 5.25, "y": 4, "w": 6.25}, + {"matrix": [4, 10], "x": 11.5, "y": 4, "w": 1.25}, + {"matrix": [4, 11], "x": 12.75, "y": 4, "w": 1.25}, + {"matrix": [4, 12], "x": 14.5, "y": 4}, + {"matrix": [4, 13], "x": 15.5, "y": 4}, + {"matrix": [4, 14], "x": 16.5, "y": 4} + ] + }, + "LAYOUT_iso_blocker_tsangan": { + "layout": [ + {"matrix": [3, 14], "x": 0, "y": 0}, + + {"matrix": [0, 0], "x": 1.5, "y": 0}, + {"matrix": [0, 1], "x": 2.5, "y": 0}, + {"matrix": [0, 2], "x": 3.5, "y": 0}, + {"matrix": [0, 3], "x": 4.5, "y": 0}, + {"matrix": [0, 4], "x": 5.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": 10.5, "y": 0}, + {"matrix": [0, 10], "x": 11.5, "y": 0}, + {"matrix": [0, 11], "x": 12.5, "y": 0}, + {"matrix": [0, 12], "x": 13.5, "y": 0}, + {"matrix": [0, 13], "x": 14.5, "y": 0, "w": 2}, + {"matrix": [0, 14], "x": 16.75, "y": 0}, + + {"matrix": [1, 0], "x": 1.5, "y": 1, "w": 1.5}, + {"matrix": [1, 1], "x": 3, "y": 1}, + {"matrix": [1, 2], "x": 4, "y": 1}, + {"matrix": [1, 3], "x": 5, "y": 1}, + {"matrix": [1, 4], "x": 6, "y": 1}, + {"matrix": [1, 5], "x": 7, "y": 1}, + {"matrix": [1, 6], "x": 8, "y": 1}, + {"matrix": [1, 7], "x": 9, "y": 1}, + {"matrix": [1, 8], "x": 10, "y": 1}, + {"matrix": [1, 9], "x": 11, "y": 1}, + {"matrix": [1, 10], "x": 12, "y": 1}, + {"matrix": [1, 11], "x": 13, "y": 1}, + {"matrix": [1, 12], "x": 14, "y": 1}, + {"matrix": [1, 14], "x": 16.75, "y": 1}, + + {"matrix": [2, 0], "x": 1.5, "y": 2, "w": 1.75}, + {"matrix": [2, 1], "x": 3.25, "y": 2}, + {"matrix": [2, 2], "x": 4.25, "y": 2}, + {"matrix": [2, 3], "x": 5.25, "y": 2}, + {"matrix": [2, 4], "x": 6.25, "y": 2}, + {"matrix": [2, 5], "x": 7.25, "y": 2}, + {"matrix": [2, 6], "x": 8.25, "y": 2}, + {"matrix": [2, 7], "x": 9.25, "y": 2}, + {"matrix": [2, 8], "x": 10.25, "y": 2}, + {"matrix": [2, 9], "x": 11.25, "y": 2}, + {"matrix": [2, 10], "x": 12.25, "y": 2}, + {"matrix": [2, 11], "x": 13.25, "y": 2}, + {"matrix": [2, 12], "x": 14.25, "y": 2}, + {"matrix": [1, 13], "x": 15.25, "y": 1, "w": 1.25, "h": 2}, + {"matrix": [2, 14], "x": 16.75, "y": 2}, + + {"matrix": [3, 0], "x": 1.5, "y": 3, "w": 1.25}, + {"matrix": [3, 1], "x": 2.75, "y": 3}, + {"matrix": [3, 2], "x": 3.75, "y": 3}, + {"matrix": [3, 3], "x": 4.75, "y": 3}, + {"matrix": [3, 4], "x": 5.75, "y": 3}, + {"matrix": [3, 5], "x": 6.75, "y": 3}, + {"matrix": [3, 6], "x": 7.75, "y": 3}, + {"matrix": [3, 7], "x": 8.75, "y": 3}, + {"matrix": [3, 8], "x": 9.75, "y": 3}, + {"matrix": [3, 9], "x": 10.75, "y": 3}, + {"matrix": [3, 10], "x": 11.75, "y": 3}, + {"matrix": [3, 11], "x": 12.75, "y": 3}, + {"matrix": [3, 12], "x": 13.75, "y": 3, "w": 1.75}, + {"matrix": [3, 13], "x": 15.5, "y": 3}, + + {"matrix": [4, 0], "x": 1.5, "y": 4, "w": 1.5}, + {"matrix": [4, 1], "x": 3, "y": 4}, + {"matrix": [4, 2], "x": 4, "y": 4, "w": 1.5}, + {"matrix": [4, 6], "x": 5.5, "y": 4, "w": 7}, + {"matrix": [4, 11], "x": 12.5, "y": 4, "w": 1.5}, + {"matrix": [4, 12], "x": 14.5, "y": 4}, + {"matrix": [4, 13], "x": 15.5, "y": 4}, + {"matrix": [4, 14], "x": 16.5, "y": 4} + ] + }, + "LAYOUT_iso_blocker_tsangan_split_bs": { + "layout": [ + {"matrix": [3, 14], "x": 0, "y": 0}, + + {"matrix": [0, 0], "x": 1.5, "y": 0}, + {"matrix": [0, 1], "x": 2.5, "y": 0}, + {"matrix": [0, 2], "x": 3.5, "y": 0}, + {"matrix": [0, 3], "x": 4.5, "y": 0}, + {"matrix": [0, 4], "x": 5.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": 10.5, "y": 0}, + {"matrix": [0, 10], "x": 11.5, "y": 0}, + {"matrix": [0, 11], "x": 12.5, "y": 0}, + {"matrix": [0, 12], "x": 13.5, "y": 0}, + {"matrix": [0, 13], "x": 14.5, "y": 0}, + {"matrix": [2, 13], "x": 15.5, "y": 0}, + {"matrix": [0, 14], "x": 16.75, "y": 0}, + + {"matrix": [1, 0], "x": 1.5, "y": 1, "w": 1.5}, + {"matrix": [1, 1], "x": 3, "y": 1}, + {"matrix": [1, 2], "x": 4, "y": 1}, + {"matrix": [1, 3], "x": 5, "y": 1}, + {"matrix": [1, 4], "x": 6, "y": 1}, + {"matrix": [1, 5], "x": 7, "y": 1}, + {"matrix": [1, 6], "x": 8, "y": 1}, + {"matrix": [1, 7], "x": 9, "y": 1}, + {"matrix": [1, 8], "x": 10, "y": 1}, + {"matrix": [1, 9], "x": 11, "y": 1}, + {"matrix": [1, 10], "x": 12, "y": 1}, + {"matrix": [1, 11], "x": 13, "y": 1}, + {"matrix": [1, 12], "x": 14, "y": 1}, + {"matrix": [1, 14], "x": 16.75, "y": 1}, + + {"matrix": [2, 0], "x": 1.5, "y": 2, "w": 1.75}, + {"matrix": [2, 1], "x": 3.25, "y": 2}, + {"matrix": [2, 2], "x": 4.25, "y": 2}, + {"matrix": [2, 3], "x": 5.25, "y": 2}, + {"matrix": [2, 4], "x": 6.25, "y": 2}, + {"matrix": [2, 5], "x": 7.25, "y": 2}, + {"matrix": [2, 6], "x": 8.25, "y": 2}, + {"matrix": [2, 7], "x": 9.25, "y": 2}, + {"matrix": [2, 8], "x": 10.25, "y": 2}, + {"matrix": [2, 9], "x": 11.25, "y": 2}, + {"matrix": [2, 10], "x": 12.25, "y": 2}, + {"matrix": [2, 11], "x": 13.25, "y": 2}, + {"matrix": [2, 12], "x": 14.25, "y": 2}, + {"matrix": [1, 13], "x": 15.25, "y": 1, "w": 1.25, "h": 2}, + {"matrix": [2, 14], "x": 16.75, "y": 2}, + + {"matrix": [3, 0], "x": 1.5, "y": 3, "w": 1.25}, + {"matrix": [3, 1], "x": 2.75, "y": 3}, + {"matrix": [3, 2], "x": 3.75, "y": 3}, + {"matrix": [3, 3], "x": 4.75, "y": 3}, + {"matrix": [3, 4], "x": 5.75, "y": 3}, + {"matrix": [3, 5], "x": 6.75, "y": 3}, + {"matrix": [3, 6], "x": 7.75, "y": 3}, + {"matrix": [3, 7], "x": 8.75, "y": 3}, + {"matrix": [3, 8], "x": 9.75, "y": 3}, + {"matrix": [3, 9], "x": 10.75, "y": 3}, + {"matrix": [3, 10], "x": 11.75, "y": 3}, + {"matrix": [3, 11], "x": 12.75, "y": 3}, + {"matrix": [3, 12], "x": 13.75, "y": 3, "w": 1.75}, + {"matrix": [3, 13], "x": 15.5, "y": 3}, + + {"matrix": [4, 0], "x": 1.5, "y": 4, "w": 1.5}, + {"matrix": [4, 1], "x": 3, "y": 4}, + {"matrix": [4, 2], "x": 4, "y": 4, "w": 1.5}, + {"matrix": [4, 6], "x": 5.5, "y": 4, "w": 7}, + {"matrix": [4, 11], "x": 12.5, "y": 4, "w": 1.5}, + {"matrix": [4, 12], "x": 14.5, "y": 4}, + {"matrix": [4, 13], "x": 15.5, "y": 4}, + {"matrix": [4, 14], "x": 16.5, "y": 4} + ] + } + } +} diff --git a/keyboards/keebfront/vanguard65/keymaps/default/keymap.c b/keyboards/keebfront/vanguard65/keymaps/default/keymap.c new file mode 100644 index 00000000000..3768ba89cc9 --- /dev/null +++ b/keyboards/keebfront/vanguard65/keymaps/default/keymap.c @@ -0,0 +1,63 @@ +/* +Copyright 2022 +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 +#include "analog.h" +uint8_t last_val = 0; +extern MidiDevice midi_device; + +enum layers { + _LAYER0, + _LAYER1, +}; + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + + [_LAYER0] = LAYOUT_all( + KC_MUTE, 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_BSPC, KC_DEL, 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_NUBS, 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, MO(1), KC_LEFT, KC_DOWN, KC_RGHT + ), + + [_LAYER1] = LAYOUT_all( + _______, QK_GESC, 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_END, + _______, RGB_TOG, RGB_MOD, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, _______, KC_PSCR, KC_SCRL, KC_PAUS, QK_BOOT, _______, + _______, RGB_SPI, RGB_SPD, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, NK_TOGG, _______, _______, _______, _______, _______, KC_VOLU, + _______, _______, _______, _______, _______, _______, KC_MPRV, KC_VOLD, KC_MNXT + ) +}; + +#if defined(ENCODER_MAP_ENABLE) +const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][NUM_DIRECTIONS] = { + [_LAYER0] = { ENCODER_CCW_CW(KC_VOLD, KC_VOLU) }, + [_LAYER1] = { ENCODER_CCW_CW(KC_TRNS, KC_TRNS) }, +}; +#endif + +void slider(void) { + uint8_t current_val = analogReadPin(SLIDER_PINA) >>3; + + if ( last_val - current_val < -1 || last_val - current_val > 1 ) { + midi_send_cc(&midi_device, 0, 90, current_val ); + } + + last_val = current_val; +} + +void housekeeping_task_user(void) { + slider(); +} diff --git a/keyboards/keebfront/vanguard65/keymaps/default/rules.mk b/keyboards/keebfront/vanguard65/keymaps/default/rules.mk new file mode 100644 index 00000000000..a0aef8b6e78 --- /dev/null +++ b/keyboards/keebfront/vanguard65/keymaps/default/rules.mk @@ -0,0 +1,2 @@ +ENCODER_MAP_ENABLE = yes +ANALOG_DRIVER_REQUIRED = yes diff --git a/keyboards/keebfront/vanguard65/readme.md b/keyboards/keebfront/vanguard65/readme.md new file mode 100644 index 00000000000..d054271bb3c --- /dev/null +++ b/keyboards/keebfront/vanguard65/readme.md @@ -0,0 +1,29 @@ +# Vanguard65 + +![Vanguard65](https://i.imgur.com/1AnyRaEh.png) + +*A 65% keyboard with knob and slider by [Keebfront](https://keebfront.com/).* + +* Keyboard Maintainer: [Keebfront](https://keebfront.com/) +* Hardware Supported: Vanguard65 +* Hardware Availability: https://www.keebfront.com/product/vanguard65 + +Make example for this keyboard (after setting up your build environment): + + make keebfront/vanguard65:default + +Flashing example for this keyboard: + + make keebfront/vanguard65: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: + +* **Physical reset**: pressing the two reset pads on the back of the PCB with tweezers. +* **Keycode in layout**: Press the key mapped to `QK_BOOT` if it is available + +## Matrix Diagram +![MatrixCoordinates](https://i.imgur.com/rQfEXyeh.jpeg) \ No newline at end of file diff --git a/keyboards/keebfront/vanguard65/rules.mk b/keyboards/keebfront/vanguard65/rules.mk new file mode 100644 index 00000000000..3437a35bdf1 --- /dev/null +++ b/keyboards/keebfront/vanguard65/rules.mk @@ -0,0 +1,2 @@ +# Processor frequency +F_CPU = 8000000 From 5c85271e48b4f2be7da47d1728ad1ddb95364ad7 Mon Sep 17 00:00:00 2001 From: Dasky <32983009+daskygit@users.noreply.github.com> Date: Fri, 25 Oct 2024 18:10:17 +0100 Subject: [PATCH 079/124] Add timer_save and _restore functions. (#23887) Co-authored-by: Sergey Vlasov Co-authored-by: Nick Brassel --- platforms/avr/timer.c | 19 +++++++++++++++++++ platforms/chibios/timer.c | 21 +++++++++++++++++++++ platforms/timer.h | 2 ++ 3 files changed, 42 insertions(+) diff --git a/platforms/avr/timer.c b/platforms/avr/timer.c index 9fb671ae8d8..26ba0e29fa2 100644 --- a/platforms/avr/timer.c +++ b/platforms/avr/timer.c @@ -25,6 +25,7 @@ along with this program. If not, see . // counter resolution 1ms // NOTE: union { uint32_t timer32; struct { uint16_t dummy; uint16_t timer16; }} volatile uint32_t timer_count; +static uint32_t saved_ms; /** \brief timer initialization * @@ -78,6 +79,24 @@ inline void timer_clear(void) { } } +/** \brief timer save + * + * Set saved_ms to current time. + */ +void timer_save(void) { + saved_ms = timer_read32(); +} + +/** \brief timer restore + * + * Set timer_count to saved_ms + */ +void timer_restore(void) { + ATOMIC_BLOCK(ATOMIC_RESTORESTATE) { + timer_count = saved_ms; + } +} + /** \brief timer read * * FIXME: needs doc diff --git a/platforms/chibios/timer.c b/platforms/chibios/timer.c index 5e01ea63724..4a347b445d8 100644 --- a/platforms/chibios/timer.c +++ b/platforms/chibios/timer.c @@ -5,6 +5,7 @@ static uint32_t ticks_offset = 0; static uint32_t last_ticks = 0; static uint32_t ms_offset = 0; +static uint32_t saved_ms = 0; #if CH_CFG_ST_RESOLUTION < 32 static uint32_t last_systime = 0; static uint32_t overflow = 0; @@ -73,6 +74,26 @@ void timer_clear(void) { chSysUnlock(); } +__attribute__((weak)) void platform_timer_save_value(uint32_t value) { + saved_ms = value; +} + +__attribute__((weak)) uint32_t platform_timer_restore_value(void) { + return saved_ms; +} + +void timer_restore(void) { + chSysLock(); + ticks_offset = get_system_time_ticks(); + last_ticks = 0; + ms_offset = platform_timer_restore_value(); + chSysUnlock(); +} + +void timer_save(void) { + platform_timer_save_value(timer_read32()); +} + uint16_t timer_read(void) { return (uint16_t)timer_read32(); } diff --git a/platforms/timer.h b/platforms/timer.h index d55f40f0b0b..fb8ff6bc545 100644 --- a/platforms/timer.h +++ b/platforms/timer.h @@ -38,6 +38,8 @@ extern volatile uint32_t timer_count; void timer_init(void); void timer_clear(void); +void timer_save(void); +void timer_restore(void); uint16_t timer_read(void); uint32_t timer_read32(void); uint16_t timer_elapsed(uint16_t last); From f5b495e06e257796a9be845f47bfc375fece81f8 Mon Sep 17 00:00:00 2001 From: Dasky <32983009+daskygit@users.noreply.github.com> Date: Fri, 25 Oct 2024 18:11:51 +0100 Subject: [PATCH 080/124] Move pointing device driver code (#24445) Co-authored-by: Drashna Jaelre --- builddefs/common_features.mk | 2 +- drivers/sensors/adns5050.c | 20 + drivers/sensors/adns5050.h | 4 + drivers/sensors/adns9800.c | 16 + drivers/sensors/adns9800.h | 4 + drivers/sensors/analog_joystick.c | 21 + drivers/sensors/analog_joystick.h | 4 + drivers/sensors/azoteq_iqs5xx.c | 109 ++++ drivers/sensors/azoteq_iqs5xx.h | 2 + drivers/sensors/cirque_pinnacle.c | 142 +++++ drivers/sensors/cirque_pinnacle.h | 8 + drivers/sensors/paw3204.c | 20 + drivers/sensors/paw3204.h | 5 + drivers/sensors/pimoroni_trackball.c | 58 +- drivers/sensors/pimoroni_trackball.h | 16 +- drivers/sensors/pmw3320.c | 20 + drivers/sensors/pmw3320.h | 4 + drivers/sensors/pmw33xx_common.c | 42 ++ drivers/sensors/pmw33xx_common.h | 10 + quantum/pointing_device/pointing_device.c | 41 +- quantum/pointing_device/pointing_device.h | 18 +- .../pointing_device/pointing_device_drivers.c | 514 ------------------ quantum/split_common/transactions.c | 10 +- 23 files changed, 544 insertions(+), 546 deletions(-) delete mode 100644 quantum/pointing_device/pointing_device_drivers.c diff --git a/builddefs/common_features.mk b/builddefs/common_features.mk index cc13fbd3f73..2eb7056b6f6 100644 --- a/builddefs/common_features.mk +++ b/builddefs/common_features.mk @@ -129,13 +129,13 @@ ifeq ($(strip $(POINTING_DEVICE_ENABLE)), yes) MOUSE_ENABLE := yes VPATH += $(QUANTUM_DIR)/pointing_device SRC += $(QUANTUM_DIR)/pointing_device/pointing_device.c - SRC += $(QUANTUM_DIR)/pointing_device/pointing_device_drivers.c SRC += $(QUANTUM_DIR)/pointing_device/pointing_device_auto_mouse.c ifneq ($(strip $(POINTING_DEVICE_DRIVER)), custom) SRC += drivers/sensors/$(strip $(POINTING_DEVICE_DRIVER)).c OPT_DEFS += -DPOINTING_DEVICE_DRIVER_$(strip $(shell echo $(POINTING_DEVICE_DRIVER) | tr '[:lower:]' '[:upper:]')) endif OPT_DEFS += -DPOINTING_DEVICE_DRIVER_$(strip $(POINTING_DEVICE_DRIVER)) + OPT_DEFS += -DPOINTING_DEVICE_DRIVER_NAME=$(strip $(POINTING_DEVICE_DRIVER)) ifeq ($(strip $(POINTING_DEVICE_DRIVER)), adns9800) SPI_DRIVER_REQUIRED = yes else ifeq ($(strip $(POINTING_DEVICE_DRIVER)), analog_joystick) diff --git a/drivers/sensors/adns5050.c b/drivers/sensors/adns5050.c index f28a5dcc455..1768c9f3b4a 100644 --- a/drivers/sensors/adns5050.c +++ b/drivers/sensors/adns5050.c @@ -21,6 +21,7 @@ #include "wait.h" #include "debug.h" #include "gpio.h" +#include "pointing_device_internal.h" // Registers // clang-format off @@ -45,6 +46,13 @@ #define REG_MOTION_BURST 0x63 // clang-format on +const pointing_device_driver_t adns5050_pointing_device_driver = { + .init = adns5050_init, + .get_report = adns5050_get_report, + .set_cpi = adns5050_set_cpi, + .get_cpi = adns5050_get_cpi, +}; + static bool powered_down = false; void adns5050_init(void) { @@ -226,3 +234,15 @@ void adns5050_power_down(void) { adns5050_write_reg(REG_MOUSE_CONTROL, 0b10); } } + +report_mouse_t adns5050_get_report(report_mouse_t mouse_report) { + report_adns5050_t data = adns5050_read_burst(); + + if (data.dx != 0 || data.dy != 0) { + pd_dprintf("Raw ] X: %d, Y: %d\n", data.dx, data.dy); + mouse_report.x = (mouse_xy_report_t)data.dx; + mouse_report.y = (mouse_xy_report_t)data.dy; + } + + return mouse_report; +} diff --git a/drivers/sensors/adns5050.h b/drivers/sensors/adns5050.h index 586f16b590b..4dfcbc3c70d 100644 --- a/drivers/sensors/adns5050.h +++ b/drivers/sensors/adns5050.h @@ -21,6 +21,7 @@ #include #include +#include "pointing_device.h" // CPI values // clang-format off @@ -69,6 +70,8 @@ typedef struct { int8_t dy; } report_adns5050_t; +const pointing_device_driver_t adns5050_pointing_device_driver; + // A bunch of functions to implement the ADNS5050-specific serial protocol. // Note that the "serial.h" driver is insufficient, because it does not // manually manipulate a serial clock signal. @@ -84,3 +87,4 @@ uint16_t adns5050_get_cpi(void); int8_t convert_twoscomp(uint8_t data); bool adns5050_check_signature(void); void adns5050_power_down(void); +report_mouse_t adns5050_get_report(report_mouse_t mouse_report); diff --git a/drivers/sensors/adns9800.c b/drivers/sensors/adns9800.c index f4abdb50874..0dbc528351c 100644 --- a/drivers/sensors/adns9800.c +++ b/drivers/sensors/adns9800.c @@ -77,6 +77,13 @@ #define MSB1 0x80 // clang-format on +const pointing_device_driver_t adns9800_pointing_device_driver = { + .init = adns9800_init, + .get_report = adns9800_get_report_driver, + .set_cpi = adns9800_set_cpi, + .get_cpi = adns9800_get_cpi, +}; + uint16_t __attribute__((weak)) adns9800_srom_get_length(void) { return 0; } @@ -236,3 +243,12 @@ report_adns9800_t adns9800_get_report(void) { return report; } + +report_mouse_t adns9800_get_report_driver(report_mouse_t mouse_report) { + report_adns9800_t sensor_report = adns9800_get_report(); + + mouse_report.x = CONSTRAIN_HID_XY(sensor_report.x); + mouse_report.y = CONSTRAIN_HID_XY(sensor_report.y); + + return mouse_report; +} diff --git a/drivers/sensors/adns9800.h b/drivers/sensors/adns9800.h index 3f1a005789f..023f31b1323 100644 --- a/drivers/sensors/adns9800.h +++ b/drivers/sensors/adns9800.h @@ -17,6 +17,7 @@ #pragma once #include +#include "pointing_device.h" #ifndef ADNS9800_CPI # define ADNS9800_CPI 1600 @@ -60,6 +61,8 @@ typedef struct { int16_t y; } report_adns9800_t; +const pointing_device_driver_t adns9800_pointing_device_driver; + void adns9800_init(void); config_adns9800_t adns9800_get_config(void); void adns9800_set_config(config_adns9800_t); @@ -67,3 +70,4 @@ uint16_t adns9800_get_cpi(void); void adns9800_set_cpi(uint16_t cpi); /* Reads and clears the current delta values on the ADNS sensor */ report_adns9800_t adns9800_get_report(void); +report_mouse_t adns9800_get_report_driver(report_mouse_t mouse_report); diff --git a/drivers/sensors/analog_joystick.c b/drivers/sensors/analog_joystick.c index 15b35a45f25..93bbaa1b51b 100644 --- a/drivers/sensors/analog_joystick.c +++ b/drivers/sensors/analog_joystick.c @@ -20,6 +20,14 @@ #include "wait.h" #include "timer.h" #include +#include "pointing_device_internal.h" + +const pointing_device_driver_t analog_joystick_pointing_device_driver = { + .init = analog_joystick_init, + .get_report = analog_joystick_get_report, + .set_cpi = NULL, + .get_cpi = NULL, +}; // Set Parameters #ifndef ANALOG_JOYSTICK_AUTO_AXIS @@ -145,3 +153,16 @@ void analog_joystick_init(void) { maxAxisValues[1] = yOrigin + 100; #endif } + +report_mouse_t analog_joystick_get_report(report_mouse_t mouse_report) { + report_analog_joystick_t data = analog_joystick_read(); + + pd_dprintf("Raw ] X: %d, Y: %d\n", data.x, data.y); + + mouse_report.x = data.x; + mouse_report.y = data.y; + + mouse_report.buttons = pointing_device_handle_buttons(mouse_report.buttons, data.button, POINTING_DEVICE_BUTTON1); + + return mouse_report; +} diff --git a/drivers/sensors/analog_joystick.h b/drivers/sensors/analog_joystick.h index 6892a08817f..c84da83db13 100644 --- a/drivers/sensors/analog_joystick.h +++ b/drivers/sensors/analog_joystick.h @@ -18,6 +18,7 @@ #include #include +#include "pointing_device.h" #ifndef ANALOG_JOYSTICK_X_AXIS_PIN # error No pin specified for X Axis @@ -42,6 +43,8 @@ # define ANALOG_JOYSTICK_SPEED_MAX 2 #endif +const pointing_device_driver_t analog_joystick_pointing_device_driver; + typedef struct { int8_t x; int8_t y; @@ -49,3 +52,4 @@ typedef struct { } report_analog_joystick_t; report_analog_joystick_t analog_joystick_read(void); void analog_joystick_init(void); +report_mouse_t analog_joystick_get_report(report_mouse_t mouse_report); diff --git a/drivers/sensors/azoteq_iqs5xx.c b/drivers/sensors/azoteq_iqs5xx.c index 367873eb062..1bb64f19844 100644 --- a/drivers/sensors/azoteq_iqs5xx.c +++ b/drivers/sensors/azoteq_iqs5xx.c @@ -98,6 +98,13 @@ #define AZOTEQ_IQS5XX_INCH_TO_RESOLUTION_Y(inch) (DIVIDE_UNSIGNED_ROUND((inch) * (uint32_t)AZOTEQ_IQS5XX_HEIGHT_MM * 10, 254)) #define AZOTEQ_IQS5XX_RESOLUTION_Y_TO_INCH(px) (DIVIDE_UNSIGNED_ROUND((px) * (uint32_t)254, AZOTEQ_IQS5XX_HEIGHT_MM * 10)) +const pointing_device_driver_t azoteq_iqs5xx_pointing_device_driver = { + .init = azoteq_iqs5xx_init, + .get_report = azoteq_iqs5xx_get_report, + .set_cpi = azoteq_iqs5xx_set_cpi, + .get_cpi = azoteq_iqs5xx_get_cpi, +}; + static uint16_t azoteq_iqs5xx_product_number = AZOTEQ_IQS5XX_UNKNOWN; static struct { @@ -312,3 +319,105 @@ void azoteq_iqs5xx_setup_resolution(void) { azoteq_iqs5xx_device_resolution_t.resolution_y = AZOTEQ_IQS5XX_RESOLUTION_Y; #endif } + +static i2c_status_t azoteq_iqs5xx_init_status = 1; + +void azoteq_iqs5xx_init(void) { + i2c_init(); + azoteq_iqs5xx_wake(); + azoteq_iqs5xx_reset_suspend(true, false, true); + wait_ms(100); + azoteq_iqs5xx_wake(); + if (azoteq_iqs5xx_get_product() != AZOTEQ_IQS5XX_UNKNOWN) { + azoteq_iqs5xx_setup_resolution(); + azoteq_iqs5xx_init_status = azoteq_iqs5xx_set_report_rate(AZOTEQ_IQS5XX_REPORT_RATE, AZOTEQ_IQS5XX_ACTIVE, false); + azoteq_iqs5xx_init_status |= azoteq_iqs5xx_set_event_mode(false, false); + azoteq_iqs5xx_init_status |= azoteq_iqs5xx_set_reati(true, false); +#if defined(AZOTEQ_IQS5XX_ROTATION_90) + azoteq_iqs5xx_init_status |= azoteq_iqs5xx_set_xy_config(false, true, true, true, false); +#elif defined(AZOTEQ_IQS5XX_ROTATION_180) + azoteq_iqs5xx_init_status |= azoteq_iqs5xx_set_xy_config(true, true, false, true, false); +#elif defined(AZOTEQ_IQS5XX_ROTATION_270) + azoteq_iqs5xx_init_status |= azoteq_iqs5xx_set_xy_config(true, false, true, true, false); +#else + azoteq_iqs5xx_init_status |= azoteq_iqs5xx_set_xy_config(false, false, false, true, false); +#endif + azoteq_iqs5xx_init_status |= azoteq_iqs5xx_set_gesture_config(true); + wait_ms(AZOTEQ_IQS5XX_REPORT_RATE + 1); + } +}; + +report_mouse_t azoteq_iqs5xx_get_report(report_mouse_t mouse_report) { + report_mouse_t temp_report = {0}; + static uint8_t previous_button_state = 0; + static uint8_t read_error_count = 0; + + if (azoteq_iqs5xx_init_status == I2C_STATUS_SUCCESS) { + azoteq_iqs5xx_base_data_t base_data = {0}; +#if !defined(POINTING_DEVICE_MOTION_PIN) + azoteq_iqs5xx_wake(); +#endif + i2c_status_t status = azoteq_iqs5xx_get_base_data(&base_data); + bool ignore_movement = false; + + if (status == I2C_STATUS_SUCCESS) { + // pd_dprintf("IQS5XX - previous cycle time: %d \n", base_data.previous_cycle_time); + read_error_count = 0; + if (base_data.gesture_events_0.single_tap || base_data.gesture_events_0.press_and_hold) { + pd_dprintf("IQS5XX - Single tap/hold.\n"); + temp_report.buttons = pointing_device_handle_buttons(temp_report.buttons, true, POINTING_DEVICE_BUTTON1); + } else if (base_data.gesture_events_1.two_finger_tap) { + pd_dprintf("IQS5XX - Two finger tap.\n"); + temp_report.buttons = pointing_device_handle_buttons(temp_report.buttons, true, POINTING_DEVICE_BUTTON2); + } else if (base_data.gesture_events_0.swipe_x_neg) { + pd_dprintf("IQS5XX - X-.\n"); + temp_report.buttons = pointing_device_handle_buttons(temp_report.buttons, true, POINTING_DEVICE_BUTTON4); + ignore_movement = true; + } else if (base_data.gesture_events_0.swipe_x_pos) { + pd_dprintf("IQS5XX - X+.\n"); + temp_report.buttons = pointing_device_handle_buttons(temp_report.buttons, true, POINTING_DEVICE_BUTTON5); + ignore_movement = true; + } else if (base_data.gesture_events_0.swipe_y_neg) { + pd_dprintf("IQS5XX - Y-.\n"); + temp_report.buttons = pointing_device_handle_buttons(temp_report.buttons, true, POINTING_DEVICE_BUTTON6); + ignore_movement = true; + } else if (base_data.gesture_events_0.swipe_y_pos) { + pd_dprintf("IQS5XX - Y+.\n"); + temp_report.buttons = pointing_device_handle_buttons(temp_report.buttons, true, POINTING_DEVICE_BUTTON3); + ignore_movement = true; + } else if (base_data.gesture_events_1.zoom) { + if (AZOTEQ_IQS5XX_COMBINE_H_L_BYTES(base_data.x.h, base_data.x.l) < 0) { + pd_dprintf("IQS5XX - Zoom out.\n"); + temp_report.buttons = pointing_device_handle_buttons(temp_report.buttons, true, POINTING_DEVICE_BUTTON7); + } else if (AZOTEQ_IQS5XX_COMBINE_H_L_BYTES(base_data.x.h, base_data.x.l) > 0) { + pd_dprintf("IQS5XX - Zoom in.\n"); + temp_report.buttons = pointing_device_handle_buttons(temp_report.buttons, true, POINTING_DEVICE_BUTTON8); + } + } else if (base_data.gesture_events_1.scroll) { + pd_dprintf("IQS5XX - Scroll.\n"); + temp_report.h = CONSTRAIN_HID(AZOTEQ_IQS5XX_COMBINE_H_L_BYTES(base_data.x.h, base_data.x.l)); + temp_report.v = CONSTRAIN_HID(AZOTEQ_IQS5XX_COMBINE_H_L_BYTES(base_data.y.h, base_data.y.l)); + } + if (base_data.number_of_fingers == 1 && !ignore_movement) { + temp_report.x = CONSTRAIN_HID_XY(AZOTEQ_IQS5XX_COMBINE_H_L_BYTES(base_data.x.h, base_data.x.l)); + temp_report.y = CONSTRAIN_HID_XY(AZOTEQ_IQS5XX_COMBINE_H_L_BYTES(base_data.y.h, base_data.y.l)); + } + + previous_button_state = temp_report.buttons; + + } else { + if (read_error_count > 10) { + read_error_count = 0; + previous_button_state = 0; + } else { + read_error_count++; + } + temp_report.buttons = previous_button_state; + pd_dprintf("IQS5XX - get report failed: %d \n", status); + } + } else { + pd_dprintf("IQS5XX - Init failed: %d \n", azoteq_iqs5xx_init_status); + } + + return temp_report; +} diff --git a/drivers/sensors/azoteq_iqs5xx.h b/drivers/sensors/azoteq_iqs5xx.h index 704ec2bab3b..4190fe470c7 100644 --- a/drivers/sensors/azoteq_iqs5xx.h +++ b/drivers/sensors/azoteq_iqs5xx.h @@ -176,6 +176,8 @@ typedef struct { # define POINTING_DEVICE_TASK_THROTTLE_MS AZOTEQ_IQS5XX_REPORT_RATE #endif +const pointing_device_driver_t azoteq_iqs5xx_pointing_device_driver; + void azoteq_iqs5xx_init(void); i2c_status_t azoteq_iqs5xx_wake(void); report_mouse_t azoteq_iqs5xx_get_report(report_mouse_t mouse_report); diff --git a/drivers/sensors/cirque_pinnacle.c b/drivers/sensors/cirque_pinnacle.c index 9afc9df8044..893cb98bf05 100644 --- a/drivers/sensors/cirque_pinnacle.c +++ b/drivers/sensors/cirque_pinnacle.c @@ -4,6 +4,7 @@ // refer to documentation: Gen2 and Gen3 (Pinnacle ASIC) at https://www.cirque.com/documentation #include "cirque_pinnacle.h" +#include "cirque_pinnacle_gestures.h" #include "wait.h" #include "timer.h" @@ -350,3 +351,144 @@ pinnacle_data_t cirque_pinnacle_read_data(void) { result.valid = true; return result; } + +#ifdef POINTING_DEVICE_GESTURES_CURSOR_GLIDE_ENABLE +static bool cursor_glide_enable = true; + +static cursor_glide_context_t glide = {.config = { + .coef = 102, /* Good default friction coef */ + .interval = 10, /* 100sps */ + .trigger_px = 10, /* Default threshold in case of hover, set to 0 if you'd like */ + }}; + +void cirque_pinnacle_enable_cursor_glide(bool enable) { + cursor_glide_enable = enable; +} + +void cirque_pinnacle_configure_cursor_glide(float trigger_px) { + glide.config.trigger_px = trigger_px; +} +#endif + +#if CIRQUE_PINNACLE_POSITION_MODE + +# ifdef POINTING_DEVICE_AUTO_MOUSE_ENABLE +static bool is_touch_down; + +bool auto_mouse_activation(report_mouse_t mouse_report) { + return is_touch_down || mouse_report.x != 0 || mouse_report.y != 0 || mouse_report.h != 0 || mouse_report.v != 0 || mouse_report.buttons; +} +# endif + +report_mouse_t cirque_pinnacle_get_report(report_mouse_t mouse_report) { + uint16_t scale = cirque_pinnacle_get_scale(); + pinnacle_data_t touchData = cirque_pinnacle_read_data(); + mouse_xy_report_t report_x = 0, report_y = 0; + static uint16_t x = 0, y = 0, last_scale = 0; + +# if defined(CIRQUE_PINNACLE_TAP_ENABLE) + mouse_report.buttons = pointing_device_handle_buttons(mouse_report.buttons, false, POINTING_DEVICE_BUTTON1); +# endif +# ifdef POINTING_DEVICE_GESTURES_CURSOR_GLIDE_ENABLE + cursor_glide_t glide_report = {0}; + + if (cursor_glide_enable) { + glide_report = cursor_glide_check(&glide); + } +# endif + + if (!touchData.valid) { +# ifdef POINTING_DEVICE_GESTURES_CURSOR_GLIDE_ENABLE + if (cursor_glide_enable && glide_report.valid) { + report_x = glide_report.dx; + report_y = glide_report.dy; + goto mouse_report_update; + } +# endif + return mouse_report; + } + + if (touchData.touchDown) { + pd_dprintf("cirque_pinnacle touchData x=%4d y=%4d z=%2d\n", touchData.xValue, touchData.yValue, touchData.zValue); + } + +# ifdef POINTING_DEVICE_AUTO_MOUSE_ENABLE + is_touch_down = touchData.touchDown; +# endif + + // Scale coordinates to arbitrary X, Y resolution + cirque_pinnacle_scale_data(&touchData, scale, scale); + + if (!cirque_pinnacle_gestures(&mouse_report, touchData)) { + if (last_scale && scale == last_scale && x && y && touchData.xValue && touchData.yValue) { + report_x = CONSTRAIN_HID_XY((int16_t)(touchData.xValue - x)); + report_y = CONSTRAIN_HID_XY((int16_t)(touchData.yValue - y)); + } + x = touchData.xValue; + y = touchData.yValue; + last_scale = scale; + +# ifdef POINTING_DEVICE_GESTURES_CURSOR_GLIDE_ENABLE + if (cursor_glide_enable) { + if (touchData.touchDown) { + cursor_glide_update(&glide, report_x, report_y, touchData.zValue); + } else if (!glide_report.valid) { + glide_report = cursor_glide_start(&glide); + if (glide_report.valid) { + report_x = glide_report.dx; + report_y = glide_report.dy; + } + } + } +# endif + } + +# ifdef POINTING_DEVICE_GESTURES_CURSOR_GLIDE_ENABLE +mouse_report_update: +# endif + mouse_report.x = report_x; + mouse_report.y = report_y; + + return mouse_report; +} + +uint16_t cirque_pinnacle_get_cpi(void) { + return CIRQUE_PINNACLE_PX_TO_INCH(cirque_pinnacle_get_scale()); +} +void cirque_pinnacle_set_cpi(uint16_t cpi) { + cirque_pinnacle_set_scale(CIRQUE_PINNACLE_INCH_TO_PX(cpi)); +} + +// clang-format off +const pointing_device_driver_t cirque_pinnacle_pointing_device_driver = { + .init = cirque_pinnacle_init, + .get_report = cirque_pinnacle_get_report, + .set_cpi = cirque_pinnacle_set_cpi, + .get_cpi = cirque_pinnacle_get_cpi +}; +// clang-format on +#else +report_mouse_t cirque_pinnacle_get_report(report_mouse_t mouse_report) { + pinnacle_data_t touchData = cirque_pinnacle_read_data(); + + // Scale coordinates to arbitrary X, Y resolution + cirque_pinnacle_scale_data(&touchData, cirque_pinnacle_get_scale(), cirque_pinnacle_get_scale()); + + if (touchData.valid) { + mouse_report.buttons = touchData.buttons; + mouse_report.x = CONSTRAIN_HID_XY(touchData.xDelta); + mouse_report.y = CONSTRAIN_HID_XY(touchData.yDelta); + mouse_report.v = touchData.wheelCount; + } + return mouse_report; +} + +// clang-format off +const pointing_device_driver_t cirque_pinnacle_pointing_device_driver = { + .init = cirque_pinnacle_init, + .get_report = cirque_pinnacle_get_report, + .set_cpi = cirque_pinnacle_set_scale, + .get_cpi = cirque_pinnacle_get_scale +}; +// clang-format on +#endif diff --git a/drivers/sensors/cirque_pinnacle.h b/drivers/sensors/cirque_pinnacle.h index 8717b329911..1a17e539a40 100644 --- a/drivers/sensors/cirque_pinnacle.h +++ b/drivers/sensors/cirque_pinnacle.h @@ -6,6 +6,7 @@ #include #include #include "pointing_device_internal.h" +#include "pointing_device.h" #ifndef CIRQUE_PINNACLE_TIMEOUT # define CIRQUE_PINNACLE_TIMEOUT 20 // I2C timeout in milliseconds @@ -109,6 +110,10 @@ typedef struct { #endif } pinnacle_data_t; +#define cirque_pinnacle_i2c_pointing_device_driver cirque_pinnacle_pointing_device_driver +#define cirque_pinnacle_spi_pointing_device_driver cirque_pinnacle_pointing_device_driver +const pointing_device_driver_t cirque_pinnacle_pointing_device_driver; + void cirque_pinnacle_init(void); void cirque_pinnacle_calibrate(void); void cirque_pinnacle_cursor_smoothing(bool enable); @@ -116,3 +121,6 @@ pinnacle_data_t cirque_pinnacle_read_data(void); void cirque_pinnacle_scale_data(pinnacle_data_t* coordinates, uint16_t xResolution, uint16_t yResolution); uint16_t cirque_pinnacle_get_scale(void); void cirque_pinnacle_set_scale(uint16_t scale); +uint16_t cirque_pinnacle_get_cpi(void); +void cirque_pinnacle_set_cpi(uint16_t cpi); +report_mouse_t cirque_pinnacle_get_report(report_mouse_t mouse_report); diff --git a/drivers/sensors/paw3204.c b/drivers/sensors/paw3204.c index 28c47522ed5..475821f175c 100644 --- a/drivers/sensors/paw3204.c +++ b/drivers/sensors/paw3204.c @@ -20,6 +20,7 @@ #include "wait.h" #include "debug.h" #include "gpio.h" +#include "pointing_device_internal.h" #define REG_PID1 0x00 #define REG_PID2 0x01 @@ -50,6 +51,13 @@ void paw3204_serial_write(uint8_t reg_addr); uint8_t paw3204_read_reg(uint8_t reg_addr); void paw3204_write_reg(uint8_t reg_addr, uint8_t data); +const pointing_device_driver_t paw3204_pointing_device_driver = { + .init = paw3204_init, + .get_report = paw3204_get_report, + .set_cpi = paw3204_set_cpi, + .get_cpi = paw3204_get_cpi, +}; + void paw3204_init(void) { gpio_set_pin_output(PAW3204_SCLK_PIN); // setclockpin to output gpio_set_pin_input_high(PAW3204_SDIO_PIN); // set datapin input high @@ -170,3 +178,15 @@ uint16_t paw3204_get_cpi(void) { uint8_t read_pid_paw3204(void) { return paw3204_read_reg(REG_PID1); } + +report_mouse_t paw3204_get_report(report_mouse_t mouse_report) { + report_paw3204_t data = paw3204_read(); + if (data.isMotion) { + pd_dprintf("Raw ] X: %d, Y: %d\n", data.x, data.y); + + mouse_report.x = data.x; + mouse_report.y = data.y; + } + + return mouse_report; +} diff --git a/drivers/sensors/paw3204.h b/drivers/sensors/paw3204.h index 7f487d90dce..a4bb8e16a67 100644 --- a/drivers/sensors/paw3204.h +++ b/drivers/sensors/paw3204.h @@ -18,6 +18,7 @@ #include #include +#include "pointing_device.h" #ifndef PAW3204_SCLK_PIN # ifdef POINTING_DEVICE_SCLK_PIN @@ -40,6 +41,8 @@ typedef struct { bool isMotion; } report_paw3204_t; +const pointing_device_driver_t paw3204_pointing_device_driver; + /** * @brief Initializes the sensor so it is in a working state and ready to * be polled for data. @@ -74,3 +77,5 @@ void paw3204_set_cpi(uint16_t cpi); * @return uint16_t Current CPI value of the sensor */ uint16_t paw3204_get_cpi(void); + +report_mouse_t paw3204_get_report(report_mouse_t mouse_report); diff --git a/drivers/sensors/pimoroni_trackball.c b/drivers/sensors/pimoroni_trackball.c index 9c6d26d73de..afbe3d5b77f 100644 --- a/drivers/sensors/pimoroni_trackball.c +++ b/drivers/sensors/pimoroni_trackball.c @@ -33,6 +33,13 @@ static uint16_t precision = 128; +const pointing_device_driver_t pimoroni_trackball_pointing_device_driver = { + .init = pimoroni_trackball_device_init, + .get_report = pimoroni_trackball_get_report, + .set_cpi = pimoroni_trackball_set_cpi, + .get_cpi = pimoroni_trackball_get_cpi, +}; + uint16_t pimoroni_trackball_get_cpi(void) { return (precision * 125); } @@ -61,8 +68,8 @@ void pimoroni_trackball_set_rgbw(uint8_t r, uint8_t g, uint8_t b, uint8_t w) { pd_dprintf("Trackball RGBW i2c_status_t: %d\n", status); } -i2c_status_t read_pimoroni_trackball(pimoroni_data_t* data) { - i2c_status_t status = i2c_read_register(PIMORONI_TRACKBALL_ADDRESS << 1, PIMORONI_TRACKBALL_REG_LEFT, (uint8_t*)data, sizeof(*data), PIMORONI_TRACKBALL_TIMEOUT); +i2c_status_t read_pimoroni_trackball(pimoroni_data_t *data) { + i2c_status_t status = i2c_read_register(PIMORONI_TRACKBALL_ADDRESS << 1, PIMORONI_TRACKBALL_REG_LEFT, (uint8_t *)data, sizeof(*data), PIMORONI_TRACKBALL_TIMEOUT); #ifdef POINTING_DEVICE_DEBUG static uint16_t d_timer; @@ -92,3 +99,50 @@ int16_t pimoroni_trackball_get_offsets(uint8_t negative_dir, uint8_t positive_di uint16_t magnitude = (scale * offset * offset * precision) >> 7; return isnegative ? -(int16_t)(magnitude) : (int16_t)(magnitude); } + +mouse_xy_report_t pimoroni_trackball_adapt_values(xy_clamp_range_t *offset) { + if (*offset > XY_REPORT_MAX) { + *offset -= XY_REPORT_MAX; + return (mouse_xy_report_t)XY_REPORT_MAX; + } else if (*offset < XY_REPORT_MIN) { + *offset += XY_REPORT_MAX; + return (mouse_xy_report_t)XY_REPORT_MIN; + } else { + mouse_xy_report_t temp_return = *offset; + *offset = 0; + return temp_return; + } +} + +report_mouse_t pimoroni_trackball_get_report(report_mouse_t mouse_report) { + static uint16_t debounce = 0; + static uint8_t error_count = 0; + pimoroni_data_t pimoroni_data = {0}; + static xy_clamp_range_t x_offset = 0, y_offset = 0; + + if (error_count < PIMORONI_TRACKBALL_ERROR_COUNT) { + i2c_status_t status = read_pimoroni_trackball(&pimoroni_data); + + if (status == I2C_STATUS_SUCCESS) { + error_count = 0; + + if (!(pimoroni_data.click & 128)) { + mouse_report.buttons = pointing_device_handle_buttons(mouse_report.buttons, false, POINTING_DEVICE_BUTTON1); + if (!debounce) { + x_offset += pimoroni_trackball_get_offsets(pimoroni_data.right, pimoroni_data.left, PIMORONI_TRACKBALL_SCALE); + y_offset += pimoroni_trackball_get_offsets(pimoroni_data.down, pimoroni_data.up, PIMORONI_TRACKBALL_SCALE); + mouse_report.x = pimoroni_trackball_adapt_values(&x_offset); + mouse_report.y = pimoroni_trackball_adapt_values(&y_offset); + } else { + debounce--; + } + } else { + mouse_report.buttons = pointing_device_handle_buttons(mouse_report.buttons, true, POINTING_DEVICE_BUTTON1); + debounce = PIMORONI_TRACKBALL_DEBOUNCE_CYCLES; + } + } else { + error_count++; + } + } + return mouse_report; +} diff --git a/drivers/sensors/pimoroni_trackball.h b/drivers/sensors/pimoroni_trackball.h index 749f381bbd6..1904214a74a 100644 --- a/drivers/sensors/pimoroni_trackball.h +++ b/drivers/sensors/pimoroni_trackball.h @@ -19,6 +19,7 @@ #include #include "report.h" #include "i2c_master.h" +#include "pointing_device.h" #ifndef PIMORONI_TRACKBALL_ADDRESS # define PIMORONI_TRACKBALL_ADDRESS 0x0A @@ -49,9 +50,12 @@ typedef struct { uint8_t click; } pimoroni_data_t; -void pimoroni_trackball_device_init(void); -void pimoroni_trackball_set_rgbw(uint8_t red, uint8_t green, uint8_t blue, uint8_t white); -int16_t pimoroni_trackball_get_offsets(uint8_t negative_dir, uint8_t positive_dir, uint8_t scale); -uint16_t pimoroni_trackball_get_cpi(void); -void pimoroni_trackball_set_cpi(uint16_t cpi); -i2c_status_t read_pimoroni_trackball(pimoroni_data_t* data); +const pointing_device_driver_t pimoroni_trackball_pointing_device_driver; + +void pimoroni_trackball_device_init(void); +void pimoroni_trackball_set_rgbw(uint8_t red, uint8_t green, uint8_t blue, uint8_t white); +int16_t pimoroni_trackball_get_offsets(uint8_t negative_dir, uint8_t positive_dir, uint8_t scale); +uint16_t pimoroni_trackball_get_cpi(void); +void pimoroni_trackball_set_cpi(uint16_t cpi); +i2c_status_t read_pimoroni_trackball(pimoroni_data_t* data); +report_mouse_t pimoroni_trackball_get_report(report_mouse_t mouse_report); diff --git a/drivers/sensors/pmw3320.c b/drivers/sensors/pmw3320.c index f19fbfd1ab4..74fefd4c53d 100644 --- a/drivers/sensors/pmw3320.c +++ b/drivers/sensors/pmw3320.c @@ -21,6 +21,14 @@ #include "wait.h" #include "debug.h" #include "gpio.h" +#include "pointing_device_internal.h" + +const pointing_device_driver_t pmw3320_pointing_device_drivera = { + .init = pmw3320_init, + .get_report = pmw3320_get_report, + .set_cpi = pmw3320_set_cpi, + .get_cpi = pmw3320_get_cpi, +}; void pmw3320_init(void) { // Initialize sensor serial pins. @@ -190,3 +198,15 @@ bool pmw3320_check_signature(void) { return (pid == 0x3b && pid2 == 0xc4); } + +report_mouse_t pmw3320_get_report(report_mouse_t mouse_report) { + report_pmw3320_t data = pmw3320_read_burst(); + + if (data.dx != 0 || data.dy != 0) { + pd_dprintf("Raw ] X: %d, Y: %d\n", data.dx, data.dy); + mouse_report.x = (mouse_xy_report_t)data.dx; + mouse_report.y = (mouse_xy_report_t)data.dy; + } + + return mouse_report; +} diff --git a/drivers/sensors/pmw3320.h b/drivers/sensors/pmw3320.h index a1fd5469196..cfff25bd8a6 100644 --- a/drivers/sensors/pmw3320.h +++ b/drivers/sensors/pmw3320.h @@ -21,6 +21,7 @@ #include #include +#include "pointing_device.h" #define constrain(amt, low, high) ((amt) < (low) ? (low) : ((amt) > (high) ? (high) : (amt))) @@ -54,6 +55,8 @@ typedef struct { int8_t dy; } report_pmw3320_t; +const pointing_device_driver_t pmw3320_pointing_device_driver; + // A bunch of functions to implement the PMW3320-specific serial protocol. // Mostly taken from ADNS5050 driver. // Note that the "serial.h" driver is insufficient, because it does not @@ -69,6 +72,7 @@ void pmw3320_set_cpi(uint16_t cpi); uint16_t pmw3320_get_cpi(void); int8_t convert_twoscomp(uint8_t data); bool pmw3320_check_signature(void); +report_mouse_t pmw3320_get_report(report_mouse_t mouse_report); #if !defined(PMW3320_CPI) # define PMW3320_CPI 1000 diff --git a/drivers/sensors/pmw33xx_common.c b/drivers/sensors/pmw33xx_common.c index b4fa727af9b..f3285ec4972 100644 --- a/drivers/sensors/pmw33xx_common.c +++ b/drivers/sensors/pmw33xx_common.c @@ -26,6 +26,13 @@ static bool in_burst_right[ARRAY_SIZE(cs_pins_right)] = {0}; bool __attribute__((cold)) pmw33xx_upload_firmware(uint8_t sensor); bool __attribute__((cold)) pmw33xx_check_signature(uint8_t sensor); +const pointing_device_driver_t pmw33xx_pointing_device_driver = { + .init = pmw33xx_init_wrapper, + .get_report = pmw33xx_get_report, + .set_cpi = pmw33xx_set_cpi_wrapper, + .get_cpi = pmw33xx_get_cpi_wrapper, +}; + uint16_t __attribute__((weak)) pmw33xx_srom_get_length(void) { return 0; } @@ -228,3 +235,38 @@ pmw33xx_report_t pmw33xx_read_burst(uint8_t sensor) { return report; } + +void pmw33xx_init_wrapper(void) { + pmw33xx_init(0); +} + +void pmw33xx_set_cpi_wrapper(uint16_t cpi) { + pmw33xx_set_cpi(0, cpi); +} + +uint16_t pmw33xx_get_cpi_wrapper(void) { + return pmw33xx_get_cpi(0); +} + +report_mouse_t pmw33xx_get_report(report_mouse_t mouse_report) { + pmw33xx_report_t report = pmw33xx_read_burst(0); + static bool in_motion = false; + + if (report.motion.b.is_lifted) { + return mouse_report; + } + + if (!report.motion.b.is_motion) { + in_motion = false; + return mouse_report; + } + + if (!in_motion) { + in_motion = true; + pd_dprintf("PWM3360 (0): starting motion\n"); + } + + mouse_report.x = CONSTRAIN_HID_XY(report.delta_x); + mouse_report.y = CONSTRAIN_HID_XY(report.delta_y); + return mouse_report; +} diff --git a/drivers/sensors/pmw33xx_common.h b/drivers/sensors/pmw33xx_common.h index b30ee3d5966..22e35c33275 100644 --- a/drivers/sensors/pmw33xx_common.h +++ b/drivers/sensors/pmw33xx_common.h @@ -14,6 +14,7 @@ #include #include "spi_master.h" #include "util.h" +#include "pointing_device.h" #if defined(POINTING_DEVICE_DRIVER_pmw3360) # include "pmw3360.h" @@ -102,6 +103,10 @@ _Static_assert(sizeof((pmw33xx_report_t){0}.motion) == 1, "pmw33xx_report_t.moti #define CONSTRAIN(amt, low, high) ((amt) < (low) ? (low) : ((amt) > (high) ? (high) : (amt))) +#define pmw3360_pointing_device_driver pmw33xx_pointing_device_driver; +#define pmw3389_pointing_device_driver pmw33xx_pointing_device_driver; +const pointing_device_driver_t pmw33xx_pointing_device_driver; + /** * @brief Initializes the given sensor so it is in a working state and ready to * be polled for data. @@ -170,3 +175,8 @@ uint8_t pmw33xx_read(uint8_t sensor, uint8_t reg_addr); * @return false Write failed, do not proceed operation */ bool pmw33xx_write(uint8_t sensor, uint8_t reg_addr, uint8_t data); + +void pmw33xx_init_wrapper(void); +void pmw33xx_set_cpi_wrapper(uint16_t cpi); +uint16_t pmw33xx_get_cpi_wrapper(void); +report_mouse_t pmw33xx_get_report(report_mouse_t mouse_report); diff --git a/quantum/pointing_device/pointing_device.c b/quantum/pointing_device/pointing_device.c index 7d3be9e524f..cac2875fc8d 100644 --- a/quantum/pointing_device/pointing_device.c +++ b/quantum/pointing_device/pointing_device.c @@ -79,7 +79,28 @@ uint16_t pointing_device_get_shared_cpi(void) { static report_mouse_t local_mouse_report = {}; static bool pointing_device_force_send = false; -extern const pointing_device_driver_t pointing_device_driver; +#define POINTING_DEVICE_DRIVER_CONCAT(name) name##_pointing_device_driver +#define POINTING_DEVICE_DRIVER(name) POINTING_DEVICE_DRIVER_CONCAT(name) + +#ifdef POINTING_DEVICE_DRIVER_custom +__attribute__((weak)) void pointing_device_driver_init(void) {} +__attribute__((weak)) report_mouse_t pointing_device_driver_get_report(report_mouse_t mouse_report) { + return mouse_report; +} +__attribute__((weak)) uint16_t pointing_device_driver_get_cpi(void) { + return 0; +} +__attribute__((weak)) void pointing_device_driver_set_cpi(uint16_t cpi) {} + +const pointing_device_driver_t custom_pointing_device_driver = { + .init = pointing_device_driver_init, + .get_report = pointing_device_driver_get_report, + .get_cpi = pointing_device_driver_get_cpi, + .set_cpi = pointing_device_driver_set_cpi, +}; +#endif + +const pointing_device_driver_t *pointing_device_driver = &POINTING_DEVICE_DRIVER(POINTING_DEVICE_DRIVER_NAME); /** * @brief Keyboard level code pointing device initialisation @@ -146,7 +167,7 @@ __attribute__((weak)) void pointing_device_init(void) { if ((POINTING_DEVICE_THIS_SIDE)) #endif { - pointing_device_driver.init(); + pointing_device_driver->init(); #ifdef POINTING_DEVICE_MOTION_PIN # ifdef POINTING_DEVICE_MOTION_PIN_ACTIVE_LOW gpio_set_pin_input_high(POINTING_DEVICE_MOTION_PIN); @@ -258,15 +279,15 @@ __attribute__((weak)) bool pointing_device_task(void) { # if defined(POINTING_DEVICE_COMBINED) static uint8_t old_buttons = 0; local_mouse_report.buttons = old_buttons; - local_mouse_report = pointing_device_driver.get_report(local_mouse_report); + local_mouse_report = pointing_device_driver->get_report(local_mouse_report); old_buttons = local_mouse_report.buttons; # elif defined(POINTING_DEVICE_LEFT) || defined(POINTING_DEVICE_RIGHT) - local_mouse_report = POINTING_DEVICE_THIS_SIDE ? pointing_device_driver.get_report(local_mouse_report) : shared_mouse_report; + local_mouse_report = POINTING_DEVICE_THIS_SIDE ? pointing_device_driver->get_report(local_mouse_report) : shared_mouse_report; # else # error "You need to define the side(s) the pointing device is on. POINTING_DEVICE_COMBINED / POINTING_DEVICE_LEFT / POINTING_DEVICE_RIGHT" # endif #else - local_mouse_report = pointing_device_driver.get_report(local_mouse_report); + local_mouse_report = pointing_device_driver->get_report(local_mouse_report); #endif // defined(SPLIT_POINTING_ENABLE) #ifdef POINTING_DEVICE_MOTION_PIN @@ -331,9 +352,9 @@ void pointing_device_set_report(report_mouse_t mouse_report) { */ uint16_t pointing_device_get_cpi(void) { #if defined(SPLIT_POINTING_ENABLE) - return POINTING_DEVICE_THIS_SIDE ? pointing_device_driver.get_cpi() : shared_cpi; + return POINTING_DEVICE_THIS_SIDE ? pointing_device_driver->get_cpi() : shared_cpi; #else - return pointing_device_driver.get_cpi(); + return pointing_device_driver->get_cpi(); #endif } @@ -347,12 +368,12 @@ uint16_t pointing_device_get_cpi(void) { void pointing_device_set_cpi(uint16_t cpi) { #if defined(SPLIT_POINTING_ENABLE) if (POINTING_DEVICE_THIS_SIDE) { - pointing_device_driver.set_cpi(cpi); + pointing_device_driver->set_cpi(cpi); } else { shared_cpi = cpi; } #else - pointing_device_driver.set_cpi(cpi); + pointing_device_driver->set_cpi(cpi); #endif } @@ -370,7 +391,7 @@ void pointing_device_set_cpi(uint16_t cpi) { void pointing_device_set_cpi_on_side(bool left, uint16_t cpi) { bool local = (is_keyboard_left() == left); if (local) { - pointing_device_driver.set_cpi(cpi); + pointing_device_driver->set_cpi(cpi); } else { shared_cpi = cpi; } diff --git a/quantum/pointing_device/pointing_device.h b/quantum/pointing_device/pointing_device.h index b0f8533d6d0..72188c977dd 100644 --- a/quantum/pointing_device/pointing_device.h +++ b/quantum/pointing_device/pointing_device.h @@ -21,6 +21,13 @@ along with this program. If not, see . #include "host.h" #include "report.h" +typedef struct { + void (*init)(void); + report_mouse_t (*get_report)(report_mouse_t mouse_report); + void (*set_cpi)(uint16_t); + uint16_t (*get_cpi)(void); +} pointing_device_driver_t; + #ifdef POINTING_DEVICE_AUTO_MOUSE_ENABLE # include "pointing_device_auto_mouse.h" #endif @@ -44,7 +51,6 @@ along with this program. If not, see . # include "drivers/sensors/azoteq_iqs5xx.h" #elif defined(POINTING_DEVICE_DRIVER_cirque_pinnacle_i2c) || defined(POINTING_DEVICE_DRIVER_cirque_pinnacle_spi) # include "drivers/sensors/cirque_pinnacle.h" -# include "drivers/sensors/cirque_pinnacle_gestures.h" # include "pointing_device_gestures.h" #elif defined(POINTING_DEVICE_DRIVER_paw3204) # include "drivers/sensors/paw3204.h" @@ -74,13 +80,6 @@ uint16_t pointing_device_driver_get_cpi(void); void pointing_device_driver_set_cpi(uint16_t cpi); #endif -typedef struct { - void (*init)(void); - report_mouse_t (*get_report)(report_mouse_t mouse_report); - void (*set_cpi)(uint16_t); - uint16_t (*get_cpi)(void); -} pointing_device_driver_t; - typedef enum { POINTING_DEVICE_BUTTON1, POINTING_DEVICE_BUTTON2, @@ -112,6 +111,9 @@ typedef int32_t hv_clamp_range_t; typedef int16_t hv_clamp_range_t; #endif +#define CONSTRAIN_HID(amt) ((amt) < INT8_MIN ? INT8_MIN : ((amt) > INT8_MAX ? INT8_MAX : (amt))) +#define CONSTRAIN_HID_XY(amt) ((amt) < XY_REPORT_MIN ? XY_REPORT_MIN : ((amt) > XY_REPORT_MAX ? XY_REPORT_MAX : (amt))) + void pointing_device_init(void); bool pointing_device_task(void); bool pointing_device_send(void); diff --git a/quantum/pointing_device/pointing_device_drivers.c b/quantum/pointing_device/pointing_device_drivers.c deleted file mode 100644 index 6cbe427401e..00000000000 --- a/quantum/pointing_device/pointing_device_drivers.c +++ /dev/null @@ -1,514 +0,0 @@ -/* Copyright 2017 Joshua Broekhuijsen - * Copyright 2020 Christopher Courtney, aka Drashna Jael're (@drashna) - * Copyright 2021 Dasky (@daskygit) - * - * 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 "pointing_device.h" -#include "pointing_device_internal.h" -#include "debug.h" -#include "wait.h" -#include "timer.h" -#include - -#define CONSTRAIN_HID(amt) ((amt) < INT8_MIN ? INT8_MIN : ((amt) > INT8_MAX ? INT8_MAX : (amt))) -#define CONSTRAIN_HID_XY(amt) ((amt) < XY_REPORT_MIN ? XY_REPORT_MIN : ((amt) > XY_REPORT_MAX ? XY_REPORT_MAX : (amt))) - -// get_report functions should probably be moved to their respective drivers. - -#if defined(POINTING_DEVICE_DRIVER_adns5050) -report_mouse_t adns5050_get_report(report_mouse_t mouse_report) { - report_adns5050_t data = adns5050_read_burst(); - - if (data.dx != 0 || data.dy != 0) { - pd_dprintf("Raw ] X: %d, Y: %d\n", data.dx, data.dy); - mouse_report.x = (mouse_xy_report_t)data.dx; - mouse_report.y = (mouse_xy_report_t)data.dy; - } - - return mouse_report; -} - -// clang-format off -const pointing_device_driver_t pointing_device_driver = { - .init = adns5050_init, - .get_report = adns5050_get_report, - .set_cpi = adns5050_set_cpi, - .get_cpi = adns5050_get_cpi, -}; -// clang-format on - -#elif defined(POINTING_DEVICE_DRIVER_pmw3320) -report_mouse_t pmw3320_get_report(report_mouse_t mouse_report) { - report_pmw3320_t data = pmw3320_read_burst(); - - if (data.dx != 0 || data.dy != 0) { - pd_dprintf("Raw ] X: %d, Y: %d\n", data.dx, data.dy); - mouse_report.x = (mouse_xy_report_t)data.dx; - mouse_report.y = (mouse_xy_report_t)data.dy; - } - - return mouse_report; -} - -// clang-format off -const pointing_device_driver_t pointing_device_driver = { - .init = pmw3320_init, - .get_report = pmw3320_get_report, - .set_cpi = pmw3320_set_cpi, - .get_cpi = pmw3320_get_cpi, -}; -// clang-format on - -#elif defined(POINTING_DEVICE_DRIVER_adns9800) - -report_mouse_t adns9800_get_report_driver(report_mouse_t mouse_report) { - report_adns9800_t sensor_report = adns9800_get_report(); - - mouse_report.x = CONSTRAIN_HID_XY(sensor_report.x); - mouse_report.y = CONSTRAIN_HID_XY(sensor_report.y); - - return mouse_report; -} - -// clang-format off -const pointing_device_driver_t pointing_device_driver = { - .init = adns9800_init, - .get_report = adns9800_get_report_driver, - .set_cpi = adns9800_set_cpi, - .get_cpi = adns9800_get_cpi -}; -// clang-format on - -#elif defined(POINTING_DEVICE_DRIVER_analog_joystick) -report_mouse_t analog_joystick_get_report(report_mouse_t mouse_report) { - report_analog_joystick_t data = analog_joystick_read(); - - pd_dprintf("Raw ] X: %d, Y: %d\n", data.x, data.y); - - mouse_report.x = data.x; - mouse_report.y = data.y; - - mouse_report.buttons = pointing_device_handle_buttons(mouse_report.buttons, data.button, POINTING_DEVICE_BUTTON1); - - return mouse_report; -} - -// clang-format off -const pointing_device_driver_t pointing_device_driver = { - .init = analog_joystick_init, - .get_report = analog_joystick_get_report, - .set_cpi = NULL, - .get_cpi = NULL -}; -// clang-format on - -#elif defined(POINTING_DEVICE_DRIVER_azoteq_iqs5xx) - -static i2c_status_t azoteq_iqs5xx_init_status = 1; - -void azoteq_iqs5xx_init(void) { - i2c_init(); - azoteq_iqs5xx_wake(); - azoteq_iqs5xx_reset_suspend(true, false, true); - wait_ms(100); - azoteq_iqs5xx_wake(); - if (azoteq_iqs5xx_get_product() != AZOTEQ_IQS5XX_UNKNOWN) { - azoteq_iqs5xx_setup_resolution(); - azoteq_iqs5xx_init_status = azoteq_iqs5xx_set_report_rate(AZOTEQ_IQS5XX_REPORT_RATE, AZOTEQ_IQS5XX_ACTIVE, false); - azoteq_iqs5xx_init_status |= azoteq_iqs5xx_set_event_mode(false, false); - azoteq_iqs5xx_init_status |= azoteq_iqs5xx_set_reati(true, false); -# if defined(AZOTEQ_IQS5XX_ROTATION_90) - azoteq_iqs5xx_init_status |= azoteq_iqs5xx_set_xy_config(false, true, true, true, false); -# elif defined(AZOTEQ_IQS5XX_ROTATION_180) - azoteq_iqs5xx_init_status |= azoteq_iqs5xx_set_xy_config(true, true, false, true, false); -# elif defined(AZOTEQ_IQS5XX_ROTATION_270) - azoteq_iqs5xx_init_status |= azoteq_iqs5xx_set_xy_config(true, false, true, true, false); -# else - azoteq_iqs5xx_init_status |= azoteq_iqs5xx_set_xy_config(false, false, false, true, false); -# endif - azoteq_iqs5xx_init_status |= azoteq_iqs5xx_set_gesture_config(true); - wait_ms(AZOTEQ_IQS5XX_REPORT_RATE + 1); - } -}; - -report_mouse_t azoteq_iqs5xx_get_report(report_mouse_t mouse_report) { - report_mouse_t temp_report = {0}; - static uint8_t previous_button_state = 0; - static uint8_t read_error_count = 0; - - if (azoteq_iqs5xx_init_status == I2C_STATUS_SUCCESS) { - azoteq_iqs5xx_base_data_t base_data = {0}; -# if !defined(POINTING_DEVICE_MOTION_PIN) - azoteq_iqs5xx_wake(); -# endif - i2c_status_t status = azoteq_iqs5xx_get_base_data(&base_data); - bool ignore_movement = false; - - if (status == I2C_STATUS_SUCCESS) { - // pd_dprintf("IQS5XX - previous cycle time: %d \n", base_data.previous_cycle_time); - read_error_count = 0; - if (base_data.gesture_events_0.single_tap || base_data.gesture_events_0.press_and_hold) { - pd_dprintf("IQS5XX - Single tap/hold.\n"); - temp_report.buttons = pointing_device_handle_buttons(temp_report.buttons, true, POINTING_DEVICE_BUTTON1); - } else if (base_data.gesture_events_1.two_finger_tap) { - pd_dprintf("IQS5XX - Two finger tap.\n"); - temp_report.buttons = pointing_device_handle_buttons(temp_report.buttons, true, POINTING_DEVICE_BUTTON2); - } else if (base_data.gesture_events_0.swipe_x_neg) { - pd_dprintf("IQS5XX - X-.\n"); - temp_report.buttons = pointing_device_handle_buttons(temp_report.buttons, true, POINTING_DEVICE_BUTTON4); - ignore_movement = true; - } else if (base_data.gesture_events_0.swipe_x_pos) { - pd_dprintf("IQS5XX - X+.\n"); - temp_report.buttons = pointing_device_handle_buttons(temp_report.buttons, true, POINTING_DEVICE_BUTTON5); - ignore_movement = true; - } else if (base_data.gesture_events_0.swipe_y_neg) { - pd_dprintf("IQS5XX - Y-.\n"); - temp_report.buttons = pointing_device_handle_buttons(temp_report.buttons, true, POINTING_DEVICE_BUTTON6); - ignore_movement = true; - } else if (base_data.gesture_events_0.swipe_y_pos) { - pd_dprintf("IQS5XX - Y+.\n"); - temp_report.buttons = pointing_device_handle_buttons(temp_report.buttons, true, POINTING_DEVICE_BUTTON3); - ignore_movement = true; - } else if (base_data.gesture_events_1.zoom) { - if (AZOTEQ_IQS5XX_COMBINE_H_L_BYTES(base_data.x.h, base_data.x.l) < 0) { - pd_dprintf("IQS5XX - Zoom out.\n"); - temp_report.buttons = pointing_device_handle_buttons(temp_report.buttons, true, POINTING_DEVICE_BUTTON7); - } else if (AZOTEQ_IQS5XX_COMBINE_H_L_BYTES(base_data.x.h, base_data.x.l) > 0) { - pd_dprintf("IQS5XX - Zoom in.\n"); - temp_report.buttons = pointing_device_handle_buttons(temp_report.buttons, true, POINTING_DEVICE_BUTTON8); - } - } else if (base_data.gesture_events_1.scroll) { - pd_dprintf("IQS5XX - Scroll.\n"); - temp_report.h = CONSTRAIN_HID(AZOTEQ_IQS5XX_COMBINE_H_L_BYTES(base_data.x.h, base_data.x.l)); - temp_report.v = CONSTRAIN_HID(AZOTEQ_IQS5XX_COMBINE_H_L_BYTES(base_data.y.h, base_data.y.l)); - } - if (base_data.number_of_fingers == 1 && !ignore_movement) { - temp_report.x = CONSTRAIN_HID_XY(AZOTEQ_IQS5XX_COMBINE_H_L_BYTES(base_data.x.h, base_data.x.l)); - temp_report.y = CONSTRAIN_HID_XY(AZOTEQ_IQS5XX_COMBINE_H_L_BYTES(base_data.y.h, base_data.y.l)); - } - - previous_button_state = temp_report.buttons; - - } else { - if (read_error_count > 10) { - read_error_count = 0; - previous_button_state = 0; - } else { - read_error_count++; - } - temp_report.buttons = previous_button_state; - pd_dprintf("IQS5XX - get report failed: %d \n", status); - } - } else { - pd_dprintf("IQS5XX - Init failed: %d \n", azoteq_iqs5xx_init_status); - } - - return temp_report; -} - -// clang-format off -const pointing_device_driver_t pointing_device_driver = { - .init = azoteq_iqs5xx_init, - .get_report = azoteq_iqs5xx_get_report, - .set_cpi = azoteq_iqs5xx_set_cpi, - .get_cpi = azoteq_iqs5xx_get_cpi -}; -// clang-format on - -#elif defined(POINTING_DEVICE_DRIVER_cirque_pinnacle_i2c) || defined(POINTING_DEVICE_DRIVER_cirque_pinnacle_spi) -# ifdef POINTING_DEVICE_GESTURES_CURSOR_GLIDE_ENABLE -static bool cursor_glide_enable = true; - -static cursor_glide_context_t glide = {.config = { - .coef = 102, /* Good default friction coef */ - .interval = 10, /* 100sps */ - .trigger_px = 10, /* Default threshold in case of hover, set to 0 if you'd like */ - }}; - -void cirque_pinnacle_enable_cursor_glide(bool enable) { - cursor_glide_enable = enable; -} - -void cirque_pinnacle_configure_cursor_glide(float trigger_px) { - glide.config.trigger_px = trigger_px; -} -# endif - -# if CIRQUE_PINNACLE_POSITION_MODE - -# ifdef POINTING_DEVICE_AUTO_MOUSE_ENABLE -static bool is_touch_down; - -bool auto_mouse_activation(report_mouse_t mouse_report) { - return is_touch_down || mouse_report.x != 0 || mouse_report.y != 0 || mouse_report.h != 0 || mouse_report.v != 0 || mouse_report.buttons; -} -# endif - -report_mouse_t cirque_pinnacle_get_report(report_mouse_t mouse_report) { - uint16_t scale = cirque_pinnacle_get_scale(); - pinnacle_data_t touchData = cirque_pinnacle_read_data(); - mouse_xy_report_t report_x = 0, report_y = 0; - static uint16_t x = 0, y = 0, last_scale = 0; - -# if defined(CIRQUE_PINNACLE_TAP_ENABLE) - mouse_report.buttons = pointing_device_handle_buttons(mouse_report.buttons, false, POINTING_DEVICE_BUTTON1); -# endif -# ifdef POINTING_DEVICE_GESTURES_CURSOR_GLIDE_ENABLE - cursor_glide_t glide_report = {0}; - - if (cursor_glide_enable) { - glide_report = cursor_glide_check(&glide); - } -# endif - - if (!touchData.valid) { -# ifdef POINTING_DEVICE_GESTURES_CURSOR_GLIDE_ENABLE - if (cursor_glide_enable && glide_report.valid) { - report_x = glide_report.dx; - report_y = glide_report.dy; - goto mouse_report_update; - } -# endif - return mouse_report; - } - - if (touchData.touchDown) { - pd_dprintf("cirque_pinnacle touchData x=%4d y=%4d z=%2d\n", touchData.xValue, touchData.yValue, touchData.zValue); - } - -# ifdef POINTING_DEVICE_AUTO_MOUSE_ENABLE - is_touch_down = touchData.touchDown; -# endif - - // Scale coordinates to arbitrary X, Y resolution - cirque_pinnacle_scale_data(&touchData, scale, scale); - - if (!cirque_pinnacle_gestures(&mouse_report, touchData)) { - if (last_scale && scale == last_scale && x && y && touchData.xValue && touchData.yValue) { - report_x = CONSTRAIN_HID_XY((int16_t)(touchData.xValue - x)); - report_y = CONSTRAIN_HID_XY((int16_t)(touchData.yValue - y)); - } - x = touchData.xValue; - y = touchData.yValue; - last_scale = scale; - -# ifdef POINTING_DEVICE_GESTURES_CURSOR_GLIDE_ENABLE - if (cursor_glide_enable) { - if (touchData.touchDown) { - cursor_glide_update(&glide, report_x, report_y, touchData.zValue); - } else if (!glide_report.valid) { - glide_report = cursor_glide_start(&glide); - if (glide_report.valid) { - report_x = glide_report.dx; - report_y = glide_report.dy; - } - } - } -# endif - } - -# ifdef POINTING_DEVICE_GESTURES_CURSOR_GLIDE_ENABLE -mouse_report_update: -# endif - mouse_report.x = report_x; - mouse_report.y = report_y; - - return mouse_report; -} - -uint16_t cirque_pinnacle_get_cpi(void) { - return CIRQUE_PINNACLE_PX_TO_INCH(cirque_pinnacle_get_scale()); -} -void cirque_pinnacle_set_cpi(uint16_t cpi) { - cirque_pinnacle_set_scale(CIRQUE_PINNACLE_INCH_TO_PX(cpi)); -} - -// clang-format off -const pointing_device_driver_t pointing_device_driver = { - .init = cirque_pinnacle_init, - .get_report = cirque_pinnacle_get_report, - .set_cpi = cirque_pinnacle_set_cpi, - .get_cpi = cirque_pinnacle_get_cpi -}; -// clang-format on -# else -report_mouse_t cirque_pinnacle_get_report(report_mouse_t mouse_report) { - pinnacle_data_t touchData = cirque_pinnacle_read_data(); - - // Scale coordinates to arbitrary X, Y resolution - cirque_pinnacle_scale_data(&touchData, cirque_pinnacle_get_scale(), cirque_pinnacle_get_scale()); - - if (touchData.valid) { - mouse_report.buttons = touchData.buttons; - mouse_report.x = CONSTRAIN_HID_XY(touchData.xDelta); - mouse_report.y = CONSTRAIN_HID_XY(touchData.yDelta); - mouse_report.v = touchData.wheelCount; - } - return mouse_report; -} - -// clang-format off -const pointing_device_driver_t pointing_device_driver = { - .init = cirque_pinnacle_init, - .get_report = cirque_pinnacle_get_report, - .set_cpi = cirque_pinnacle_set_scale, - .get_cpi = cirque_pinnacle_get_scale -}; -// clang-format on -# endif - -#elif defined(POINTING_DEVICE_DRIVER_paw3204) - -report_mouse_t paw3204_get_report(report_mouse_t mouse_report) { - report_paw3204_t data = paw3204_read(); - if (data.isMotion) { - pd_dprintf("Raw ] X: %d, Y: %d\n", data.x, data.y); - - mouse_report.x = data.x; - mouse_report.y = data.y; - } - - return mouse_report; -} -const pointing_device_driver_t pointing_device_driver = { - .init = paw3204_init, - .get_report = paw3204_get_report, - .set_cpi = paw3204_set_cpi, - .get_cpi = paw3204_get_cpi, -}; -#elif defined(POINTING_DEVICE_DRIVER_pimoroni_trackball) - -mouse_xy_report_t pimoroni_trackball_adapt_values(xy_clamp_range_t* offset) { - if (*offset > XY_REPORT_MAX) { - *offset -= XY_REPORT_MAX; - return (mouse_xy_report_t)XY_REPORT_MAX; - } else if (*offset < XY_REPORT_MIN) { - *offset += XY_REPORT_MAX; - return (mouse_xy_report_t)XY_REPORT_MIN; - } else { - mouse_xy_report_t temp_return = *offset; - *offset = 0; - return temp_return; - } -} - -report_mouse_t pimoroni_trackball_get_report(report_mouse_t mouse_report) { - static uint16_t debounce = 0; - static uint8_t error_count = 0; - pimoroni_data_t pimoroni_data = {0}; - static xy_clamp_range_t x_offset = 0, y_offset = 0; - - if (error_count < PIMORONI_TRACKBALL_ERROR_COUNT) { - i2c_status_t status = read_pimoroni_trackball(&pimoroni_data); - - if (status == I2C_STATUS_SUCCESS) { - error_count = 0; - - if (!(pimoroni_data.click & 128)) { - mouse_report.buttons = pointing_device_handle_buttons(mouse_report.buttons, false, POINTING_DEVICE_BUTTON1); - if (!debounce) { - x_offset += pimoroni_trackball_get_offsets(pimoroni_data.right, pimoroni_data.left, PIMORONI_TRACKBALL_SCALE); - y_offset += pimoroni_trackball_get_offsets(pimoroni_data.down, pimoroni_data.up, PIMORONI_TRACKBALL_SCALE); - mouse_report.x = pimoroni_trackball_adapt_values(&x_offset); - mouse_report.y = pimoroni_trackball_adapt_values(&y_offset); - } else { - debounce--; - } - } else { - mouse_report.buttons = pointing_device_handle_buttons(mouse_report.buttons, true, POINTING_DEVICE_BUTTON1); - debounce = PIMORONI_TRACKBALL_DEBOUNCE_CYCLES; - } - } else { - error_count++; - } - } - return mouse_report; -} - -// clang-format off -const pointing_device_driver_t pointing_device_driver = { - .init = pimoroni_trackball_device_init, - .get_report = pimoroni_trackball_get_report, - .set_cpi = pimoroni_trackball_set_cpi, - .get_cpi = pimoroni_trackball_get_cpi -}; -// clang-format on - -#elif defined(POINTING_DEVICE_DRIVER_pmw3360) || defined(POINTING_DEVICE_DRIVER_pmw3389) -static void pmw33xx_init_wrapper(void) { - pmw33xx_init(0); -} - -static void pmw33xx_set_cpi_wrapper(uint16_t cpi) { - pmw33xx_set_cpi(0, cpi); -} - -static uint16_t pmw33xx_get_cpi_wrapper(void) { - return pmw33xx_get_cpi(0); -} - -report_mouse_t pmw33xx_get_report(report_mouse_t mouse_report) { - pmw33xx_report_t report = pmw33xx_read_burst(0); - static bool in_motion = false; - - if (report.motion.b.is_lifted) { - return mouse_report; - } - - if (!report.motion.b.is_motion) { - in_motion = false; - return mouse_report; - } - - if (!in_motion) { - in_motion = true; - pd_dprintf("PWM3360 (0): starting motion\n"); - } - - mouse_report.x = CONSTRAIN_HID_XY(report.delta_x); - mouse_report.y = CONSTRAIN_HID_XY(report.delta_y); - return mouse_report; -} - -// clang-format off -const pointing_device_driver_t pointing_device_driver = { - .init = pmw33xx_init_wrapper, - .get_report = pmw33xx_get_report, - .set_cpi = pmw33xx_set_cpi_wrapper, - .get_cpi = pmw33xx_get_cpi_wrapper -}; -// clang-format on - -#else -__attribute__((weak)) void pointing_device_driver_init(void) {} -__attribute__((weak)) report_mouse_t pointing_device_driver_get_report(report_mouse_t mouse_report) { - return mouse_report; -} -__attribute__((weak)) uint16_t pointing_device_driver_get_cpi(void) { - return 0; -} -__attribute__((weak)) void pointing_device_driver_set_cpi(uint16_t cpi) {} - -// clang-format off -const pointing_device_driver_t pointing_device_driver = { - .init = pointing_device_driver_init, - .get_report = pointing_device_driver_get_report, - .get_cpi = pointing_device_driver_get_cpi, - .set_cpi = pointing_device_driver_set_cpi -}; -// clang-format on - -#endif diff --git a/quantum/split_common/transactions.c b/quantum/split_common/transactions.c index 6c1aeb284d3..f66b2ad89fb 100644 --- a/quantum/split_common/transactions.c +++ b/quantum/split_common/transactions.c @@ -733,7 +733,7 @@ static bool pointing_handlers_master(matrix_row_t master_matrix[], matrix_row_t return okay; } -extern const pointing_device_driver_t pointing_device_driver; +extern const pointing_device_driver_t *pointing_device_driver; static void pointing_handlers_slave(matrix_row_t master_matrix[], matrix_row_t slave_matrix[]) { # if defined(POINTING_DEVICE_LEFT) @@ -753,18 +753,18 @@ static void pointing_handlers_slave(matrix_row_t master_matrix[], matrix_row_t s last_exec = timer_read32(); # endif - uint16_t temp_cpi = !pointing_device_driver.get_cpi ? 0 : pointing_device_driver.get_cpi(); // check for NULL + uint16_t temp_cpi = !pointing_device_driver->get_cpi ? 0 : pointing_device_driver->get_cpi(); // check for NULL split_shared_memory_lock(); split_slave_pointing_sync_t pointing; memcpy(&pointing, &split_shmem->pointing, sizeof(split_slave_pointing_sync_t)); split_shared_memory_unlock(); - if (pointing.cpi && pointing.cpi != temp_cpi && pointing_device_driver.set_cpi) { - pointing_device_driver.set_cpi(pointing.cpi); + if (pointing.cpi && pointing.cpi != temp_cpi && pointing_device_driver->set_cpi) { + pointing_device_driver->set_cpi(pointing.cpi); } - pointing.report = pointing_device_driver.get_report((report_mouse_t){0}); + pointing.report = pointing_device_driver->get_report((report_mouse_t){0}); // Now update the checksum given that the pointing has been written to pointing.checksum = crc8(&pointing.report, sizeof(report_mouse_t)); From 70055221767ff6b004006d3f349fcfdfcc864180 Mon Sep 17 00:00:00 2001 From: Guido Bartolucci Date: Mon, 28 Oct 2024 01:50:42 -0400 Subject: [PATCH 081/124] Add madjax_macropad keyboard (#24524) Co-authored-by: Ryan --- keyboards/madjax_macropad/keyboard.json | 55 +++++++++++++++++++ .../madjax_macropad/keymaps/default/keymap.c | 49 +++++++++++++++++ .../madjax_macropad/keymaps/default/rules.mk | 1 + keyboards/madjax_macropad/readme.md | 24 ++++++++ 4 files changed, 129 insertions(+) create mode 100644 keyboards/madjax_macropad/keyboard.json create mode 100644 keyboards/madjax_macropad/keymaps/default/keymap.c create mode 100644 keyboards/madjax_macropad/keymaps/default/rules.mk create mode 100644 keyboards/madjax_macropad/readme.md diff --git a/keyboards/madjax_macropad/keyboard.json b/keyboards/madjax_macropad/keyboard.json new file mode 100644 index 00000000000..ac2802faef2 --- /dev/null +++ b/keyboards/madjax_macropad/keyboard.json @@ -0,0 +1,55 @@ +{ + "manufacturer": "MadJax", + "keyboard_name": "madjax_macropad", + "maintainer": "guidoism", + "bootloader": "rp2040", + "diode_direction": "COL2ROW", + "features": { + "bootmagic": true, + "command": false, + "console": false, + "encoder": true, + "extrakey": true, + "mousekey": true, + "nkro": true + }, + "matrix_pins": { + "cols": ["GP26", "GP27", "GP28", "GP29"], + "rows": ["GP6", "GP7", "GP0", "GP4", "GP3"] + }, + "encoder": { + "rotary": [ + {"pin_a": "GP1", "pin_b": "GP2"} + ] + }, + "processor": "RP2040", + "url": "https://github.com/guidoism/madjax_macropad", + "usb": { + "device_version": "1.0.0", + "pid": "0x0000", + "vid": "0xFEED" + }, + "layouts": { + "LAYOUT": { + "layout": [ + {"matrix": [0, 3], "x": 3, "y": 0}, + {"matrix": [1, 0], "x": 0, "y": 1}, + {"matrix": [1, 1], "x": 1, "y": 1}, + {"matrix": [1, 2], "x": 2, "y": 1}, + {"matrix": [1, 3], "x": 3, "y": 1}, + {"matrix": [2, 0], "x": 0, "y": 2}, + {"matrix": [2, 1], "x": 1, "y": 2}, + {"matrix": [2, 2], "x": 2, "y": 2}, + {"matrix": [2, 3], "x": 3, "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": [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} + ] + } + } +} diff --git a/keyboards/madjax_macropad/keymaps/default/keymap.c b/keyboards/madjax_macropad/keymaps/default/keymap.c new file mode 100644 index 00000000000..693438c1f3e --- /dev/null +++ b/keyboards/madjax_macropad/keymaps/default/keymap.c @@ -0,0 +1,49 @@ +// Copyright 2023 QMK +// SPDX-License-Identifier: GPL-2.0-or-later + +#include QMK_KEYBOARD_H + +enum custom_keycodes { + KC_P00 = SAFE_RANGE +}; + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + /* + * ┌───┐ + * │ - │ + * ┌───┬───┬───┼───┤ + * │ 7 │ 8 │ 9 │ + │ + * ├───┼───┼───┼───┤ + * │ 4 │ 5 │ 6 │ % │ + * ├───┼───┼───┼───┤ + * │ 1 │ 2 │ 3 │ = │ + * ├───┼───┼───┼───┤ + * │ 0 │00 │ . │Ent│ + * └───┴───┴───┴───┘ + */ + [0] = LAYOUT( + KC_PMNS, + KC_P7, KC_P8, KC_P9, KC_PPLS, + KC_P4, KC_P5, KC_P6, KC_PERC, + KC_P1, KC_P2, KC_P3, KC_EQL, + KC_P0, KC_P00, KC_PDOT, KC_PENT + ) +}; + +bool process_record_user(uint16_t keycode, keyrecord_t *record) { + if (record->event.pressed) { + switch(keycode) { + case KC_P00: + tap_code(KC_P0); + tap_code(KC_P0); + return false; + } + } + return true; +} + +#if defined(ENCODER_MAP_ENABLE) +const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][NUM_DIRECTIONS] = { + [0] = { ENCODER_CCW_CW(KC_PGUP, KC_PGDN) } +}; +#endif diff --git a/keyboards/madjax_macropad/keymaps/default/rules.mk b/keyboards/madjax_macropad/keymaps/default/rules.mk new file mode 100644 index 00000000000..ee325681483 --- /dev/null +++ b/keyboards/madjax_macropad/keymaps/default/rules.mk @@ -0,0 +1 @@ +ENCODER_MAP_ENABLE = yes diff --git a/keyboards/madjax_macropad/readme.md b/keyboards/madjax_macropad/readme.md new file mode 100644 index 00000000000..1abe17ecca9 --- /dev/null +++ b/keyboards/madjax_macropad/readme.md @@ -0,0 +1,24 @@ +# MadJax Macropad + +* Keyboard Maintainer: [Guido Bartolucci](https://github.com/guidoism) +* Hardware Supported: Seeed Studio XIAO RP2040 +* Hardware Availability: https://github.com/guidoism/madjax_macropad + +Make example for this keyboard (after setting up your build environment): + + make madjax_macropad:default + +Flashing example for this keyboard: + + make madjax_macropad: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 644588baef2c72866ac59767e4d64493948aafed Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E3=83=95=E3=82=A3=E3=83=AB=E3=82=BF=E3=83=BC=E3=83=9A?= =?UTF-8?q?=E3=83=BC=E3=83=91=E3=83=BC?= <76888457+filterpaper@users.noreply.github.com> Date: Mon, 28 Oct 2024 13:51:01 +0800 Subject: [PATCH 082/124] Refactor Riverflow matrix effect with runner (#24520) Co-authored-by: Ryan --- quantum/rgb_matrix/animations/riverflow_anim.h | 18 +++++++----------- 1 file changed, 7 insertions(+), 11 deletions(-) diff --git a/quantum/rgb_matrix/animations/riverflow_anim.h b/quantum/rgb_matrix/animations/riverflow_anim.h index 737735fe83c..e9ef25f70ce 100644 --- a/quantum/rgb_matrix/animations/riverflow_anim.h +++ b/quantum/rgb_matrix/animations/riverflow_anim.h @@ -4,18 +4,14 @@ RGB_MATRIX_EFFECT(RIVERFLOW) // inspired by @PleasureTek's Massdrop Alt LED animation -bool RIVERFLOW(effect_params_t* params) { - RGB_MATRIX_USE_LIMITS(led_min, led_max); - for (uint8_t i = led_min; i < led_max; i++) { - RGB_MATRIX_TEST_LED_FLAGS(); - hsv_t hsv = rgb_matrix_config.hsv; - uint16_t time = scale16by8(g_rgb_timer + (i * 315), rgb_matrix_config.speed / 8); - hsv.v = scale8(abs8(sin8(time) - 128) * 2, hsv.v); - rgb_t rgb = rgb_matrix_hsv_to_rgb(hsv); - rgb_matrix_set_color(i, rgb.r, rgb.g, rgb.b); - } +hsv_t RIVERFLOW_math(hsv_t hsv, uint8_t i, uint8_t time) { + time = scale16by8(g_rgb_timer + (i * 315), rgb_matrix_config.speed / 8); + hsv.v = scale8(abs8(sin8(time) - 128) * 2, hsv.v); + return hsv; +} - return rgb_matrix_check_finished_leds(led_max); +bool RIVERFLOW(effect_params_t* params) { + return effect_runner_i(params, &RIVERFLOW_math); } # endif // RGB_MATRIX_CUSTOM_EFFECT_IMPLS From d9fedce9b966c2249eaad983ab62480f182d1a5a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E3=83=95=E3=82=A3=E3=83=AB=E3=82=BF=E3=83=BC=E3=83=9A?= =?UTF-8?q?=E3=83=BC=E3=83=91=E3=83=BC?= <76888457+filterpaper@users.noreply.github.com> Date: Mon, 28 Oct 2024 14:19:45 +0800 Subject: [PATCH 083/124] Update Pixel Rain to respect LED range limits (#24532) --- .../rgb_matrix/animations/pixel_rain_anim.h | 25 ++++++++----------- 1 file changed, 10 insertions(+), 15 deletions(-) diff --git a/quantum/rgb_matrix/animations/pixel_rain_anim.h b/quantum/rgb_matrix/animations/pixel_rain_anim.h index d7f0e3bebd0..c0370831d80 100644 --- a/quantum/rgb_matrix/animations/pixel_rain_anim.h +++ b/quantum/rgb_matrix/animations/pixel_rain_anim.h @@ -6,25 +6,20 @@ RGB_MATRIX_EFFECT(PIXEL_RAIN) # ifdef RGB_MATRIX_CUSTOM_EFFECT_IMPLS static bool PIXEL_RAIN(effect_params_t* params) { - static uint32_t wait_timer = 0; + static fast_timer_t timer = 0; + static uint16_t index = RGB_MATRIX_LED_COUNT + 1; - inline uint32_t interval(void) { - return 500 / scale16by8(qadd8(rgb_matrix_config.speed, 16), 16); - } - - inline void rain_pixel(uint8_t led_index) { - if (!HAS_ANY_FLAGS(g_led_config.flags[led_index], params->flags)) { - return; - } - hsv_t hsv = (random8() & 2) ? (hsv_t){0, 0, 0} : (hsv_t){random8(), random8_min_max(127, 255), rgb_matrix_config.hsv.v}; - rgb_t rgb = rgb_matrix_hsv_to_rgb(hsv); - rgb_matrix_set_color(led_index, rgb.r, rgb.g, rgb.b); - wait_timer = g_rgb_timer + interval(); + if ((params->iter == 0) && (timer_elapsed_fast(timer) > (320 - rgb_matrix_config.speed))) { + index = random8_max(RGB_MATRIX_LED_COUNT); + timer = timer_read_fast(); } RGB_MATRIX_USE_LIMITS(led_min, led_max); - if (g_rgb_timer > wait_timer) { - rain_pixel(random8_max(RGB_MATRIX_LED_COUNT)); + if (led_min <= index && index < led_max && HAS_ANY_FLAGS(g_led_config.flags[index], params->flags)) { + hsv_t hsv = (random8() & 2) ? (hsv_t){0, 0, 0} : (hsv_t){random8(), random8_min_max(127, 255), rgb_matrix_config.hsv.v}; + rgb_t rgb = rgb_matrix_hsv_to_rgb(hsv); + rgb_matrix_set_color(index, rgb.r, rgb.g, rgb.b); + index = RGB_MATRIX_LED_COUNT + 1; } return rgb_matrix_check_finished_leds(led_max); } From dd7287bf4ef945117545acd7e0cc064aed75a936 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E3=83=95=E3=82=A3=E3=83=AB=E3=82=BF=E3=83=BC=E3=83=9A?= =?UTF-8?q?=E3=83=BC=E3=83=91=E3=83=BC?= <76888457+filterpaper@users.noreply.github.com> Date: Mon, 28 Oct 2024 14:20:14 +0800 Subject: [PATCH 084/124] Update Jellybean Raindrops to respect LED range limits (#24534) --- .../animations/jellybean_raindrops_anim.h | 24 ++++++++++++------- 1 file changed, 16 insertions(+), 8 deletions(-) diff --git a/quantum/rgb_matrix/animations/jellybean_raindrops_anim.h b/quantum/rgb_matrix/animations/jellybean_raindrops_anim.h index 2b20b0706b5..5790b273673 100644 --- a/quantum/rgb_matrix/animations/jellybean_raindrops_anim.h +++ b/quantum/rgb_matrix/animations/jellybean_raindrops_anim.h @@ -2,25 +2,33 @@ RGB_MATRIX_EFFECT(JELLYBEAN_RAINDROPS) # ifdef RGB_MATRIX_CUSTOM_EFFECT_IMPLS -static void jellybean_raindrops_set_color(int i, effect_params_t* params) { +static void jellybean_raindrops_set_color(uint8_t i, effect_params_t* params) { if (!HAS_ANY_FLAGS(g_led_config.flags[i], params->flags)) return; + hsv_t hsv = {random8(), random8_min_max(127, 255), rgb_matrix_config.hsv.v}; rgb_t rgb = rgb_matrix_hsv_to_rgb(hsv); rgb_matrix_set_color(i, rgb.r, rgb.g, rgb.b); } bool JELLYBEAN_RAINDROPS(effect_params_t* params) { + static uint16_t index = RGB_MATRIX_LED_COUNT + 1; + + // Periodic trigger for LED change + if ((params->iter == 0) && (scale16by8(g_rgb_timer, qadd8(rgb_matrix_config.speed, 16)) % 5 == 0)) { + index = random8_max(RGB_MATRIX_LED_COUNT); + } + RGB_MATRIX_USE_LIMITS(led_min, led_max); - if (!params->init) { - // Change one LED every tick, make sure speed is not 0 - if (scale16by8(g_rgb_timer, qadd8(rgb_matrix_config.speed, 16)) % 5 == 0) { - jellybean_raindrops_set_color(random8_max(RGB_MATRIX_LED_COUNT), params); - } - } else { - for (int i = led_min; i < led_max; i++) { + if (params->init) { + for (uint8_t i = led_min; i < led_max; i++) { jellybean_raindrops_set_color(i, params); } } + // Change LED once and set index out of range till next trigger + else if (led_min <= index && index < led_max) { + jellybean_raindrops_set_color(index, params); + index = RGB_MATRIX_LED_COUNT + 1; + } return rgb_matrix_check_finished_leds(led_max); } From 25fac5e7378d1f612b6ec98e00819bde09fab8e5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E3=83=95=E3=82=A3=E3=83=AB=E3=82=BF=E3=83=BC=E3=83=9A?= =?UTF-8?q?=E3=83=BC=E3=83=91=E3=83=BC?= <76888457+filterpaper@users.noreply.github.com> Date: Mon, 28 Oct 2024 14:20:38 +0800 Subject: [PATCH 085/124] Refactor Breathing effect with runner (#24535) --- quantum/rgb_matrix/animations/breathing_anim.h | 17 ++++++----------- 1 file changed, 6 insertions(+), 11 deletions(-) diff --git a/quantum/rgb_matrix/animations/breathing_anim.h b/quantum/rgb_matrix/animations/breathing_anim.h index ed0c808f878..8fa8e3dad4d 100644 --- a/quantum/rgb_matrix/animations/breathing_anim.h +++ b/quantum/rgb_matrix/animations/breathing_anim.h @@ -2,18 +2,13 @@ RGB_MATRIX_EFFECT(BREATHING) # ifdef RGB_MATRIX_CUSTOM_EFFECT_IMPLS -bool BREATHING(effect_params_t* params) { - RGB_MATRIX_USE_LIMITS(led_min, led_max); +hsv_t BREATHING_math(hsv_t hsv, uint8_t i, uint8_t time) { + hsv.v = scale8(abs8(sin8(time / 2) - 128) * 2, hsv.v); + return hsv; +} - hsv_t hsv = rgb_matrix_config.hsv; - uint16_t time = scale16by8(g_rgb_timer, rgb_matrix_config.speed / 8); - hsv.v = scale8(abs8(sin8(time) - 128) * 2, hsv.v); - rgb_t rgb = rgb_matrix_hsv_to_rgb(hsv); - for (uint8_t i = led_min; i < led_max; i++) { - RGB_MATRIX_TEST_LED_FLAGS(); - rgb_matrix_set_color(i, rgb.r, rgb.g, rgb.b); - } - return rgb_matrix_check_finished_leds(led_max); +bool BREATHING(effect_params_t* params) { + return effect_runner_i(params, &BREATHING_math); } # endif // RGB_MATRIX_CUSTOM_EFFECT_IMPLS From 2c0cdcf7b2f57caf2ab842e44b8bc58a52251fcb Mon Sep 17 00:00:00 2001 From: Nikolai Grigoriev <2364632+ngrigoriev@users.noreply.github.com> Date: Mon, 28 Oct 2024 02:23:15 -0400 Subject: [PATCH 086/124] Improve consistency of syntax within `data/constants/keycodes` (#24528) --- .../keycodes/keycodes_0.0.1_midi.hjson | 4 +- .../keycodes/keycodes_0.0.2_kb.hjson | 68 +++++++++---------- .../keycodes/keycodes_0.0.2_midi.hjson | 4 +- .../keycodes/keycodes_0.0.2_user.hjson | 68 +++++++++---------- 4 files changed, 72 insertions(+), 72 deletions(-) diff --git a/data/constants/keycodes/keycodes_0.0.1_midi.hjson b/data/constants/keycodes/keycodes_0.0.1_midi.hjson index b9826f92c96..5ab9ef24d5f 100644 --- a/data/constants/keycodes/keycodes_0.0.1_midi.hjson +++ b/data/constants/keycodes/keycodes_0.0.1_midi.hjson @@ -84,7 +84,7 @@ "group": "midi", "key": "QK_MIDI_NOTE_G_SHARP_0", "aliases": [ - "MI_Gs" + "MI_Gs", "MI_Ab" ] }, @@ -99,7 +99,7 @@ "group": "midi", "key": "QK_MIDI_NOTE_A_SHARP_0", "aliases": [ - "MI_As" + "MI_As", "MI_Bb" ] }, diff --git a/data/constants/keycodes/keycodes_0.0.2_kb.hjson b/data/constants/keycodes/keycodes_0.0.2_kb.hjson index f9ffc7432d3..28c4a8e8be9 100644 --- a/data/constants/keycodes/keycodes_0.0.2_kb.hjson +++ b/data/constants/keycodes/keycodes_0.0.2_kb.hjson @@ -2,131 +2,131 @@ "keycodes": { "0x7E00": { "group": "kb", - "key": "QK_KB_0", + "key": "QK_KB_0" }, "0x7E01": { "group": "kb", - "key": "QK_KB_1", + "key": "QK_KB_1" }, "0x7E02": { "group": "kb", - "key": "QK_KB_2", + "key": "QK_KB_2" }, "0x7E03": { "group": "kb", - "key": "QK_KB_3", + "key": "QK_KB_3" }, "0x7E04": { "group": "kb", - "key": "QK_KB_4", + "key": "QK_KB_4" }, "0x7E05": { "group": "kb", - "key": "QK_KB_5", + "key": "QK_KB_5" }, "0x7E06": { "group": "kb", - "key": "QK_KB_6", + "key": "QK_KB_6" }, "0x7E07": { "group": "kb", - "key": "QK_KB_7", + "key": "QK_KB_7" }, "0x7E08": { "group": "kb", - "key": "QK_KB_8", + "key": "QK_KB_8" }, "0x7E09": { "group": "kb", - "key": "QK_KB_9", + "key": "QK_KB_9" }, "0x7E0A": { "group": "kb", - "key": "QK_KB_10", + "key": "QK_KB_10" }, "0x7E0B": { "group": "kb", - "key": "QK_KB_11", + "key": "QK_KB_11" }, "0x7E0C": { "group": "kb", - "key": "QK_KB_12", + "key": "QK_KB_12" }, "0x7E0D": { "group": "kb", - "key": "QK_KB_13", + "key": "QK_KB_13" }, "0x7E0E": { "group": "kb", - "key": "QK_KB_14", + "key": "QK_KB_14" }, "0x7E0F": { "group": "kb", - "key": "QK_KB_15", + "key": "QK_KB_15" }, "0x7E10": { "group": "kb", - "key": "QK_KB_16", + "key": "QK_KB_16" }, "0x7E11": { "group": "kb", - "key": "QK_KB_17", + "key": "QK_KB_17" }, "0x7E12": { "group": "kb", - "key": "QK_KB_18", + "key": "QK_KB_18" }, "0x7E13": { "group": "kb", - "key": "QK_KB_19", + "key": "QK_KB_19" }, "0x7E14": { "group": "kb", - "key": "QK_KB_20", + "key": "QK_KB_20" }, "0x7E15": { "group": "kb", - "key": "QK_KB_21", + "key": "QK_KB_21" }, "0x7E16": { "group": "kb", - "key": "QK_KB_22", + "key": "QK_KB_22" }, "0x7E17": { "group": "kb", - "key": "QK_KB_23", + "key": "QK_KB_23" }, "0x7E18": { "group": "kb", - "key": "QK_KB_24", + "key": "QK_KB_24" }, "0x7E19": { "group": "kb", - "key": "QK_KB_25", + "key": "QK_KB_25" }, "0x7E1A": { "group": "kb", - "key": "QK_KB_26", - }, + "key": "QK_KB_26" + }, "0x7E1B": { "group": "kb", - "key": "QK_KB_27", + "key": "QK_KB_27" }, "0x7E1C": { "group": "kb", - "key": "QK_KB_28", + "key": "QK_KB_28" }, "0x7E1D": { "group": "kb", - "key": "QK_KB_29", + "key": "QK_KB_29" }, "0x7E1E": { "group": "kb", - "key": "QK_KB_30", + "key": "QK_KB_30" }, "0x7E1F": { "group": "kb", - "key": "QK_KB_31", - }, + "key": "QK_KB_31" + } } } diff --git a/data/constants/keycodes/keycodes_0.0.2_midi.hjson b/data/constants/keycodes/keycodes_0.0.2_midi.hjson index c15c2dd4336..ddf79be96cd 100644 --- a/data/constants/keycodes/keycodes_0.0.2_midi.hjson +++ b/data/constants/keycodes/keycodes_0.0.2_midi.hjson @@ -86,7 +86,7 @@ "group": "midi", "key": "QK_MIDI_NOTE_G_SHARP_0", "aliases": [ - "MI_Gs" + "MI_Gs", "MI_Ab" ] }, @@ -101,7 +101,7 @@ "group": "midi", "key": "QK_MIDI_NOTE_A_SHARP_0", "aliases": [ - "MI_As" + "MI_As", "MI_Bb" ] }, diff --git a/data/constants/keycodes/keycodes_0.0.2_user.hjson b/data/constants/keycodes/keycodes_0.0.2_user.hjson index 42392dc6493..a30e8e8eed1 100644 --- a/data/constants/keycodes/keycodes_0.0.2_user.hjson +++ b/data/constants/keycodes/keycodes_0.0.2_user.hjson @@ -2,131 +2,131 @@ "keycodes": { "0x7E40": { "group": "user", - "key": "QK_USER_0", + "key": "QK_USER_0" }, "0x7E41": { "group": "user", - "key": "QK_USER_1", + "key": "QK_USER_1" }, "0x7E42": { "group": "user", - "key": "QK_USER_2", + "key": "QK_USER_2" }, "0x7E43": { "group": "user", - "key": "QK_USER_3", + "key": "QK_USER_3" }, "0x7E44": { "group": "user", - "key": "QK_USER_4", + "key": "QK_USER_4" }, "0x7E45": { "group": "user", - "key": "QK_USER_5", + "key": "QK_USER_5" }, "0x7E46": { "group": "user", - "key": "QK_USER_6", + "key": "QK_USER_6" }, "0x7E47": { "group": "user", - "key": "QK_USER_7", + "key": "QK_USER_7" }, "0x7E48": { "group": "user", - "key": "QK_USER_8", + "key": "QK_USER_8" }, "0x7E49": { "group": "user", - "key": "QK_USER_9", + "key": "QK_USER_9" }, "0x7E4A": { "group": "user", - "key": "QK_USER_10", + "key": "QK_USER_10" }, "0x7E4B": { "group": "user", - "key": "QK_USER_11", + "key": "QK_USER_11" }, "0x7E4C": { "group": "user", - "key": "QK_USER_12", + "key": "QK_USER_12" }, "0x7E4D": { "group": "user", - "key": "QK_USER_13", + "key": "QK_USER_13" }, "0x7E4E": { "group": "user", - "key": "QK_USER_14", + "key": "QK_USER_14" }, "0x7E4F": { "group": "user", - "key": "QK_USER_15", + "key": "QK_USER_15" }, "0x7E50": { "group": "user", - "key": "QK_USER_16", + "key": "QK_USER_16" }, "0x7E51": { "group": "user", - "key": "QK_USER_17", + "key": "QK_USER_17" }, "0x7E52": { "group": "user", - "key": "QK_USER_18", + "key": "QK_USER_18" }, "0x7E53": { "group": "user", - "key": "QK_USER_19", + "key": "QK_USER_19" }, "0x7E54": { "group": "user", - "key": "QK_USER_20", + "key": "QK_USER_20" }, "0x7E55": { "group": "user", - "key": "QK_USER_21", + "key": "QK_USER_21" }, "0x7E56": { "group": "user", - "key": "QK_USER_22", + "key": "QK_USER_22" }, "0x7E57": { "group": "user", - "key": "QK_USER_23", + "key": "QK_USER_23" }, "0x7E58": { "group": "user", - "key": "QK_USER_24", + "key": "QK_USER_24" }, "0x7E59": { "group": "user", - "key": "QK_USER_25", + "key": "QK_USER_25" }, "0x7E5A": { "group": "user", - "key": "QK_USER_26", - }, + "key": "QK_USER_26" + }, "0x7E5B": { "group": "user", - "key": "QK_USER_27", + "key": "QK_USER_27" }, "0x7E5C": { "group": "user", - "key": "QK_USER_28", + "key": "QK_USER_28" }, "0x7E5D": { "group": "user", - "key": "QK_USER_29", + "key": "QK_USER_29" }, "0x7E5E": { "group": "user", - "key": "QK_USER_30", + "key": "QK_USER_30" }, "0x7E5F": { "group": "user", - "key": "QK_USER_31", - }, + "key": "QK_USER_31" + } } } From 7630a80791f0518e33145df52242f95184d16023 Mon Sep 17 00:00:00 2001 From: David Hoelscher Date: Mon, 28 Oct 2024 01:29:43 -0500 Subject: [PATCH 087/124] Change default ARM hardware PWM WS2812 tick frequency to 800kHz (#24508) --- .../charybdis/3x5/blackpill/config.h | 1 - .../charybdis/3x6/blackpill/config.h | 1 - .../charybdis/4x6/blackpill/config.h | 1 - keyboards/bastardkb/scylla/blackpill/config.h | 1 - .../bastardkb/skeletyl/blackpill/config.h | 1 - .../bastardkb/tbkmini/blackpill/config.h | 1 - keyboards/handwired/macroboard/config.h | 1 - .../tractyl_manuform/5x6_right/f411/config.h | 1 - keyboards/mode/m60h/config.h | 3 +- keyboards/mode/m60h_f/config.h | 3 +- keyboards/mode/m60s/config.h | 3 +- platforms/chibios/drivers/ws2812_pwm.c | 37 ++++--------------- 12 files changed, 11 insertions(+), 43 deletions(-) diff --git a/keyboards/bastardkb/charybdis/3x5/blackpill/config.h b/keyboards/bastardkb/charybdis/3x5/blackpill/config.h index 0467a1261f4..bd1e0fe31ec 100644 --- a/keyboards/bastardkb/charybdis/3x5/blackpill/config.h +++ b/keyboards/bastardkb/charybdis/3x5/blackpill/config.h @@ -29,7 +29,6 @@ #define WS2812_EXTERNAL_PULLUP #define WS2812_PWM_DMA_STREAM STM32_DMA1_STREAM1 #define WS2812_PWM_DMA_CHANNEL 3 -#define WS2812_PWM_TARGET_PERIOD 800000 /* Serial configuration for split keyboard. */ #define SERIAL_USART_TX_PIN A9 diff --git a/keyboards/bastardkb/charybdis/3x6/blackpill/config.h b/keyboards/bastardkb/charybdis/3x6/blackpill/config.h index b41a1d3f574..e1365a109d9 100644 --- a/keyboards/bastardkb/charybdis/3x6/blackpill/config.h +++ b/keyboards/bastardkb/charybdis/3x6/blackpill/config.h @@ -27,7 +27,6 @@ #define WS2812_EXTERNAL_PULLUP #define WS2812_PWM_DMA_STREAM STM32_DMA1_STREAM1 #define WS2812_PWM_DMA_CHANNEL 3 -#define WS2812_PWM_TARGET_PERIOD 800000 /* Serial configuration for split keyboard. */ #define SERIAL_USART_TX_PIN A9 diff --git a/keyboards/bastardkb/charybdis/4x6/blackpill/config.h b/keyboards/bastardkb/charybdis/4x6/blackpill/config.h index 0467a1261f4..bd1e0fe31ec 100644 --- a/keyboards/bastardkb/charybdis/4x6/blackpill/config.h +++ b/keyboards/bastardkb/charybdis/4x6/blackpill/config.h @@ -29,7 +29,6 @@ #define WS2812_EXTERNAL_PULLUP #define WS2812_PWM_DMA_STREAM STM32_DMA1_STREAM1 #define WS2812_PWM_DMA_CHANNEL 3 -#define WS2812_PWM_TARGET_PERIOD 800000 /* Serial configuration for split keyboard. */ #define SERIAL_USART_TX_PIN A9 diff --git a/keyboards/bastardkb/scylla/blackpill/config.h b/keyboards/bastardkb/scylla/blackpill/config.h index 1d86b474ee9..bf7879edbee 100644 --- a/keyboards/bastardkb/scylla/blackpill/config.h +++ b/keyboards/bastardkb/scylla/blackpill/config.h @@ -29,7 +29,6 @@ #define WS2812_EXTERNAL_PULLUP #define WS2812_PWM_DMA_STREAM STM32_DMA1_STREAM1 #define WS2812_PWM_DMA_CHANNEL 3 -#define WS2812_PWM_TARGET_PERIOD 800000 /* Serial configuration for split keyboard. */ #define SERIAL_USART_TX_PIN A9 diff --git a/keyboards/bastardkb/skeletyl/blackpill/config.h b/keyboards/bastardkb/skeletyl/blackpill/config.h index 1d86b474ee9..bf7879edbee 100644 --- a/keyboards/bastardkb/skeletyl/blackpill/config.h +++ b/keyboards/bastardkb/skeletyl/blackpill/config.h @@ -29,7 +29,6 @@ #define WS2812_EXTERNAL_PULLUP #define WS2812_PWM_DMA_STREAM STM32_DMA1_STREAM1 #define WS2812_PWM_DMA_CHANNEL 3 -#define WS2812_PWM_TARGET_PERIOD 800000 /* Serial configuration for split keyboard. */ #define SERIAL_USART_TX_PIN A9 diff --git a/keyboards/bastardkb/tbkmini/blackpill/config.h b/keyboards/bastardkb/tbkmini/blackpill/config.h index 1d86b474ee9..bf7879edbee 100644 --- a/keyboards/bastardkb/tbkmini/blackpill/config.h +++ b/keyboards/bastardkb/tbkmini/blackpill/config.h @@ -29,7 +29,6 @@ #define WS2812_EXTERNAL_PULLUP #define WS2812_PWM_DMA_STREAM STM32_DMA1_STREAM1 #define WS2812_PWM_DMA_CHANNEL 3 -#define WS2812_PWM_TARGET_PERIOD 800000 /* Serial configuration for split keyboard. */ #define SERIAL_USART_TX_PIN A9 diff --git a/keyboards/handwired/macroboard/config.h b/keyboards/handwired/macroboard/config.h index ca12d2c7539..21171b93742 100644 --- a/keyboards/handwired/macroboard/config.h +++ b/keyboards/handwired/macroboard/config.h @@ -22,4 +22,3 @@ along with this program. If not, see . #define WS2812_PWM_PAL_MODE 2 #define WS2812_PWM_DMA_STREAM STM32_DMA1_STREAM6 // DMA Stream for TIMx_UP, see the respective reference manual for the appropriate values for your MCU. #define WS2812_PWM_DMA_CHANNEL 2 // DMA Channel for TIMx_UP, see the respective reference manual for the appropriate values for your MCU. -#define WS2812_PWM_TARGET_PERIOD 800000 diff --git a/keyboards/handwired/tractyl_manuform/5x6_right/f411/config.h b/keyboards/handwired/tractyl_manuform/5x6_right/f411/config.h index 64169da7e50..28acc1e69b7 100644 --- a/keyboards/handwired/tractyl_manuform/5x6_right/f411/config.h +++ b/keyboards/handwired/tractyl_manuform/5x6_right/f411/config.h @@ -28,7 +28,6 @@ along with this program. If not, see . //#define WS2812_PWM_COMPLEMENTARY_OUTPUT // Define for a complementary timer output (TIMx_CHyN); omit for a normal timer output (TIMx_CHy). #define WS2812_PWM_DMA_STREAM STM32_DMA1_STREAM7 // DMA Stream for TIMx_UP, see the respective reference manual for the appropriate values for your MCU. #define WS2812_PWM_DMA_CHANNEL 3 // DMA Channel for TIMx_UP, see the respective reference manual for the appropriate values for your MCU. -#define WS2812_PWM_TARGET_PERIOD 800000 #define DEBUG_LED_PIN C13 diff --git a/keyboards/mode/m60h/config.h b/keyboards/mode/m60h/config.h index cde4ffdbc61..e51bff8ca51 100644 --- a/keyboards/mode/m60h/config.h +++ b/keyboards/mode/m60h/config.h @@ -6,5 +6,4 @@ #define WS2812_PWM_DRIVER PWMD4 #define WS2812_PWM_CHANNEL 4 #define WS2812_PWM_DMA_STREAM STM32_DMA1_STREAM6 -#define WS2812_PWM_DMA_CHANNEL 2 -#define WS2812_PWM_TARGET_PERIOD 800000 \ No newline at end of file +#define WS2812_PWM_DMA_CHANNEL 2 \ No newline at end of file diff --git a/keyboards/mode/m60h_f/config.h b/keyboards/mode/m60h_f/config.h index cde4ffdbc61..e51bff8ca51 100644 --- a/keyboards/mode/m60h_f/config.h +++ b/keyboards/mode/m60h_f/config.h @@ -6,5 +6,4 @@ #define WS2812_PWM_DRIVER PWMD4 #define WS2812_PWM_CHANNEL 4 #define WS2812_PWM_DMA_STREAM STM32_DMA1_STREAM6 -#define WS2812_PWM_DMA_CHANNEL 2 -#define WS2812_PWM_TARGET_PERIOD 800000 \ No newline at end of file +#define WS2812_PWM_DMA_CHANNEL 2 \ No newline at end of file diff --git a/keyboards/mode/m60s/config.h b/keyboards/mode/m60s/config.h index cde4ffdbc61..e51bff8ca51 100644 --- a/keyboards/mode/m60s/config.h +++ b/keyboards/mode/m60s/config.h @@ -6,5 +6,4 @@ #define WS2812_PWM_DRIVER PWMD4 #define WS2812_PWM_CHANNEL 4 #define WS2812_PWM_DMA_STREAM STM32_DMA1_STREAM6 -#define WS2812_PWM_DMA_CHANNEL 2 -#define WS2812_PWM_TARGET_PERIOD 800000 \ No newline at end of file +#define WS2812_PWM_DMA_CHANNEL 2 \ No newline at end of file diff --git a/platforms/chibios/drivers/ws2812_pwm.c b/platforms/chibios/drivers/ws2812_pwm.c index dc0e3091633..c46e9171ab8 100644 --- a/platforms/chibios/drivers/ws2812_pwm.c +++ b/platforms/chibios/drivers/ws2812_pwm.c @@ -79,15 +79,15 @@ # endif #endif -#ifndef WS2812_PWM_TARGET_PERIOD -//# define WS2812_PWM_TARGET_PERIOD 800000 // Original code is 800k...? -# define WS2812_PWM_TARGET_PERIOD 80000 // TODO: work out why 10x less on f303/f4x1 +// Default is 800000Hz, which has a period of 1.25us +#ifndef WS2812_PWM_FREQUENCY +# define WS2812_PWM_FREQUENCY (1000000000 / WS2812_TIMING) #endif /* --- PRIVATE CONSTANTS ---------------------------------------------------- */ -#define WS2812_PWM_FREQUENCY (CPU_CLOCK / 2) /**< Clock frequency of PWM, must be valid with respect to system clock! */ -#define WS2812_PWM_PERIOD (WS2812_PWM_FREQUENCY / WS2812_PWM_TARGET_PERIOD) /**< Clock period in ticks. 1 / 800kHz = 1.25 uS (as per datasheet) */ +#define WS2812_PWM_TICK_FREQUENCY (CPU_CLOCK / 2) /**< Clock frequency of PWM ticks, must be valid with respect to system clock! */ +#define WS2812_PWM_PERIOD (WS2812_PWM_TICK_FREQUENCY / WS2812_PWM_FREQUENCY) /**< Clock period in PWM ticks. */ /** * @brief Number of bit-periods to hold the data line low at the end of a frame @@ -102,37 +102,16 @@ /** * @brief High period for a zero, in ticks - * - * Per the datasheet: - * WS2812: - * - T0H: 200 nS to 500 nS, inclusive - * - T0L: 650 nS to 950 nS, inclusive - * WS2812B: - * - T0H: 200 nS to 500 nS, inclusive - * - T0L: 750 nS to 1050 nS, inclusive - * - * The duty cycle is calculated for a high period of 350 nS. */ -#define WS2812_DUTYCYCLE_0 (WS2812_PWM_FREQUENCY / (1000000000 / 350)) +#define WS2812_DUTYCYCLE_0 (WS2812_PWM_TICK_FREQUENCY / (1000000000 / WS2812_T0H)) #if (WS2812_DUTYCYCLE_0 > 255) # error WS2812 PWM driver: High period for a 0 is more than a byte #endif /** * @brief High period for a one, in ticks - * - * Per the datasheet: - * WS2812: - * - T1H: 550 nS to 850 nS, inclusive - * - T1L: 450 nS to 750 nS, inclusive - * WS2812B: - * - T1H: 750 nS to 1050 nS, inclusive - * - T1L: 200 nS to 500 nS, inclusive - * - * The duty cycle is calculated for a high period of 800 nS. - * This is in the middle of the specifications of the WS2812 and WS2812B. */ -#define WS2812_DUTYCYCLE_1 (WS2812_PWM_FREQUENCY / (1000000000 / 800)) +#define WS2812_DUTYCYCLE_1 (WS2812_PWM_TICK_FREQUENCY / (1000000000 / WS2812_T1H)) #if (WS2812_DUTYCYCLE_1 > 255) # error WS2812 PWM driver: High period for a 1 is more than a byte #endif @@ -322,7 +301,7 @@ void ws2812_init(void) { // PWM Configuration //#pragma GCC diagnostic ignored "-Woverride-init" // Turn off override-init warning for this struct. We use the overriding ability to set a "default" channel config static const PWMConfig ws2812_pwm_config = { - .frequency = WS2812_PWM_FREQUENCY, + .frequency = WS2812_PWM_TICK_FREQUENCY, .period = WS2812_PWM_PERIOD, // Mit dieser Periode wird UDE-Event erzeugt und ein neuer Wert (Länge WS2812_BIT_N) vom DMA ins CCR geschrieben .callback = NULL, .channels = From 7c9e650b1c8ba6b1fd2bfffa8dc64e27504e7e37 Mon Sep 17 00:00:00 2001 From: Thanh Son Tran <62438883+trnthsn@users.noreply.github.com> Date: Mon, 28 Oct 2024 13:59:54 +0700 Subject: [PATCH 088/124] [Keyboard] Add S6xty PCB (#24465) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-authored-by: Duncan Sutherland Co-authored-by: Trần Thanh Sơn --- keyboards/trnthsn/s6xty/config.h | 21 + keyboards/trnthsn/s6xty/halconf.h | 21 + keyboards/trnthsn/s6xty/keyboard.json | 504 ++++++++++++++++++ .../trnthsn/s6xty/keymaps/default/keymap.c | 40 ++ keyboards/trnthsn/s6xty/mcuconf.h | 22 + keyboards/trnthsn/s6xty/readme.md | 27 + 6 files changed, 635 insertions(+) create mode 100644 keyboards/trnthsn/s6xty/config.h create mode 100644 keyboards/trnthsn/s6xty/halconf.h create mode 100644 keyboards/trnthsn/s6xty/keyboard.json create mode 100644 keyboards/trnthsn/s6xty/keymaps/default/keymap.c create mode 100644 keyboards/trnthsn/s6xty/mcuconf.h create mode 100644 keyboards/trnthsn/s6xty/readme.md diff --git a/keyboards/trnthsn/s6xty/config.h b/keyboards/trnthsn/s6xty/config.h new file mode 100644 index 00000000000..cb72d64967e --- /dev/null +++ b/keyboards/trnthsn/s6xty/config.h @@ -0,0 +1,21 @@ +/* +Copyright 2024 ThanhSon.Mech + +This program is free software: you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation, either version 2 of the License, or +(at your option) any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License +along with this program. If not, see . +*/ + +#pragma once + +#define WS2812_SPI_DRIVER SPID2 +#define WS2812_SPI_SCK_PIN B13 diff --git a/keyboards/trnthsn/s6xty/halconf.h b/keyboards/trnthsn/s6xty/halconf.h new file mode 100644 index 00000000000..b8f0a217c4b --- /dev/null +++ b/keyboards/trnthsn/s6xty/halconf.h @@ -0,0 +1,21 @@ +/* Copyright 2024 ThanhSon.Mech + * + * 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 HAL_USE_SPI TRUE + +#include_next diff --git a/keyboards/trnthsn/s6xty/keyboard.json b/keyboards/trnthsn/s6xty/keyboard.json new file mode 100644 index 00000000000..3ec2f87f3df --- /dev/null +++ b/keyboards/trnthsn/s6xty/keyboard.json @@ -0,0 +1,504 @@ +{ + "manufacturer": "ThanhSon.Mech", + "keyboard_name": "S6xty", + "maintainer": "trnthsn", + "bootloader": "stm32-dfu", + "diode_direction": "COL2ROW", + "features": { + "bootmagic": true, + "command": false, + "console": false, + "extrakey": true, + "mousekey": true, + "nkro": true + }, + "indicators": { + "caps_lock": "B12" + }, + "matrix_pins": { + "cols": ["B14", "A0", "A10", "C15", "A2", "A1", "B11", "B10", "B1", "B0", "A7", "A6", "A5", "A4"], + "rows": ["B3", "B7", "A3", "A9", "A8"] + }, + "processor": "STM32F072", + "rgblight": { + "animations": { + "alternating": true, + "breathing": true, + "christmas": true, + "knight": true, + "rainbow_mood": true, + "rainbow_swirl": true, + "snake": true, + "static_gradient": true, + "twinkle": true + }, + "led_count": 22, + "sleep": true + }, + "url": "", + "usb": { + "device_version": "0.0.1", + "pid": "0x5336", + "vid": "0x5453" + }, + "ws2812": { + "driver": "spi", + "pin": "B15" + }, + "community_layouts": ["60_ansi_tsangan", "60_ansi_tsangan_split_bs_rshift", "60_ansi_wkl", "60_ansi_wkl_split_bs_rshift", "60_hhkb"], + "layouts": { + "LAYOUT_60_ansi_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": [1, 0], "x": 0, "y": 1, "w": 1.5}, + {"matrix": [1, 1], "x": 1.5, "y": 1}, + {"matrix": [1, 2], "x": 2.5, "y": 1}, + {"matrix": [1, 3], "x": 3.5, "y": 1}, + {"matrix": [1, 4], "x": 4.5, "y": 1}, + {"matrix": [1, 5], "x": 5.5, "y": 1}, + {"matrix": [1, 6], "x": 6.5, "y": 1}, + {"matrix": [1, 7], "x": 7.5, "y": 1}, + {"matrix": [1, 8], "x": 8.5, "y": 1}, + {"matrix": [1, 9], "x": 9.5, "y": 1}, + {"matrix": [1, 10], "x": 10.5, "y": 1}, + {"matrix": [1, 11], "x": 11.5, "y": 1}, + {"matrix": [1, 12], "x": 12.5, "y": 1}, + {"matrix": [1, 13], "x": 13.5, "y": 1, "w": 1.5}, + {"matrix": [2, 0], "x": 0, "y": 2, "w": 1.75}, + {"matrix": [2, 1], "x": 1.75, "y": 2}, + {"matrix": [2, 2], "x": 2.75, "y": 2}, + {"matrix": [2, 3], "x": 3.75, "y": 2}, + {"matrix": [2, 4], "x": 4.75, "y": 2}, + {"matrix": [2, 5], "x": 5.75, "y": 2}, + {"matrix": [2, 6], "x": 6.75, "y": 2}, + {"matrix": [2, 7], "x": 7.75, "y": 2}, + {"matrix": [2, 8], "x": 8.75, "y": 2}, + {"matrix": [2, 9], "x": 9.75, "y": 2}, + {"matrix": [2, 10], "x": 10.75, "y": 2}, + {"matrix": [2, 11], "x": 11.75, "y": 2}, + {"matrix": [2, 13], "x": 12.75, "y": 2, "w": 2.25}, + {"matrix": [3, 0], "x": 0, "y": 3, "w": 2.25}, + {"matrix": [3, 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": 2.75}, + {"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, 7], "x": 4, "y": 4, "w": 7}, + {"matrix": [4, 10], "x": 11, "y": 4, "w": 1.5}, + {"matrix": [4, 12], "x": 12.5, "y": 4}, + {"matrix": [4, 13], "x": 13.5, "y": 4, "w": 1.5} + ] + }, + "LAYOUT_60_ansi_tsangan_arrow": { + "layout": [ + {"matrix": [0, 0], "x": 0, "y": 0}, + {"matrix": [0, 1], "x": 1, "y": 0}, + {"matrix": [0, 2], "x": 2, "y": 0}, + {"matrix": [0, 3], "x": 3, "y": 0}, + {"matrix": [0, 4], "x": 4, "y": 0}, + {"matrix": [0, 5], "x": 5, "y": 0}, + {"matrix": [0, 6], "x": 6, "y": 0}, + {"matrix": [0, 7], "x": 7, "y": 0}, + {"matrix": [0, 8], "x": 8, "y": 0}, + {"matrix": [0, 9], "x": 9, "y": 0}, + {"matrix": [0, 10], "x": 10, "y": 0}, + {"matrix": [0, 11], "x": 11, "y": 0}, + {"matrix": [0, 12], "x": 12, "y": 0}, + {"matrix": [0, 13], "x": 13, "y": 0, "w": 2}, + {"matrix": [1, 0], "x": 0, "y": 1, "w": 1.5}, + {"matrix": [1, 1], "x": 1.5, "y": 1}, + {"matrix": [1, 2], "x": 2.5, "y": 1}, + {"matrix": [1, 3], "x": 3.5, "y": 1}, + {"matrix": [1, 4], "x": 4.5, "y": 1}, + {"matrix": [1, 5], "x": 5.5, "y": 1}, + {"matrix": [1, 6], "x": 6.5, "y": 1}, + {"matrix": [1, 7], "x": 7.5, "y": 1}, + {"matrix": [1, 8], "x": 8.5, "y": 1}, + {"matrix": [1, 9], "x": 9.5, "y": 1}, + {"matrix": [1, 10], "x": 10.5, "y": 1}, + {"matrix": [1, 11], "x": 11.5, "y": 1}, + {"matrix": [1, 12], "x": 12.5, "y": 1}, + {"matrix": [1, 13], "x": 13.5, "y": 1, "w": 1.5}, + {"matrix": [2, 0], "x": 0, "y": 2, "w": 1.75}, + {"matrix": [2, 1], "x": 1.75, "y": 2}, + {"matrix": [2, 2], "x": 2.75, "y": 2}, + {"matrix": [2, 3], "x": 3.75, "y": 2}, + {"matrix": [2, 4], "x": 4.75, "y": 2}, + {"matrix": [2, 5], "x": 5.75, "y": 2}, + {"matrix": [2, 6], "x": 6.75, "y": 2}, + {"matrix": [2, 7], "x": 7.75, "y": 2}, + {"matrix": [2, 8], "x": 8.75, "y": 2}, + {"matrix": [2, 9], "x": 9.75, "y": 2}, + {"matrix": [2, 10], "x": 10.75, "y": 2}, + {"matrix": [2, 11], "x": 11.75, "y": 2}, + {"matrix": [2, 13], "x": 12.75, "y": 2, "w": 2.25}, + {"matrix": [3, 0], "x": 0, "y": 3, "w": 2.25}, + {"matrix": [3, 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, "w": 1.75}, + {"matrix": [3, 12], "x": 13, "y": 3}, + {"matrix": [3, 13], "x": 14, "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, 7], "x": 4, "y": 4, "w": 7}, + {"matrix": [4, 10], "x": 11, "y": 4}, + {"matrix": [4, 11], "x": 12, "y": 4}, + {"matrix": [4, 12], "x": 13, "y": 4}, + {"matrix": [4, 13], "x": 14, "y": 4} + ] + }, + "LAYOUT_60_ansi_tsangan_split_bs_rshift": { + "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": [2, 12], "x": 13, "y": 0}, + {"matrix": [0, 13], "x": 14, "y": 0}, + {"matrix": [1, 0], "x": 0, "y": 1, "w": 1.5}, + {"matrix": [1, 1], "x": 1.5, "y": 1}, + {"matrix": [1, 2], "x": 2.5, "y": 1}, + {"matrix": [1, 3], "x": 3.5, "y": 1}, + {"matrix": [1, 4], "x": 4.5, "y": 1}, + {"matrix": [1, 5], "x": 5.5, "y": 1}, + {"matrix": [1, 6], "x": 6.5, "y": 1}, + {"matrix": [1, 7], "x": 7.5, "y": 1}, + {"matrix": [1, 8], "x": 8.5, "y": 1}, + {"matrix": [1, 9], "x": 9.5, "y": 1}, + {"matrix": [1, 10], "x": 10.5, "y": 1}, + {"matrix": [1, 11], "x": 11.5, "y": 1}, + {"matrix": [1, 12], "x": 12.5, "y": 1}, + {"matrix": [1, 13], "x": 13.5, "y": 1, "w": 1.5}, + {"matrix": [2, 0], "x": 0, "y": 2, "w": 1.75}, + {"matrix": [2, 1], "x": 1.75, "y": 2}, + {"matrix": [2, 2], "x": 2.75, "y": 2}, + {"matrix": [2, 3], "x": 3.75, "y": 2}, + {"matrix": [2, 4], "x": 4.75, "y": 2}, + {"matrix": [2, 5], "x": 5.75, "y": 2}, + {"matrix": [2, 6], "x": 6.75, "y": 2}, + {"matrix": [2, 7], "x": 7.75, "y": 2}, + {"matrix": [2, 8], "x": 8.75, "y": 2}, + {"matrix": [2, 9], "x": 9.75, "y": 2}, + {"matrix": [2, 10], "x": 10.75, "y": 2}, + {"matrix": [2, 11], "x": 11.75, "y": 2}, + {"matrix": [2, 13], "x": 12.75, "y": 2, "w": 2.25}, + {"matrix": [3, 0], "x": 0, "y": 3, "w": 2.25}, + {"matrix": [3, 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": [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, 7], "x": 4, "y": 4, "w": 7}, + {"matrix": [4, 10], "x": 11, "y": 4, "w": 1.5}, + {"matrix": [4, 12], "x": 12.5, "y": 4}, + {"matrix": [4, 13], "x": 13.5, "y": 4, "w": 1.5} + ] + }, + "LAYOUT_60_ansi_wkl": { + "layout": [ + {"matrix": [0, 0], "x": 0, "y": 0}, + {"matrix": [0, 1], "x": 1, "y": 0}, + {"matrix": [0, 2], "x": 2, "y": 0}, + {"matrix": [0, 3], "x": 3, "y": 0}, + {"matrix": [0, 4], "x": 4, "y": 0}, + {"matrix": [0, 5], "x": 5, "y": 0}, + {"matrix": [0, 6], "x": 6, "y": 0}, + {"matrix": [0, 7], "x": 7, "y": 0}, + {"matrix": [0, 8], "x": 8, "y": 0}, + {"matrix": [0, 9], "x": 9, "y": 0}, + {"matrix": [0, 10], "x": 10, "y": 0}, + {"matrix": [0, 11], "x": 11, "y": 0}, + {"matrix": [0, 12], "x": 12, "y": 0}, + {"matrix": [0, 13], "x": 13, "y": 0, "w": 2}, + {"matrix": [1, 0], "x": 0, "y": 1, "w": 1.5}, + {"matrix": [1, 1], "x": 1.5, "y": 1}, + {"matrix": [1, 2], "x": 2.5, "y": 1}, + {"matrix": [1, 3], "x": 3.5, "y": 1}, + {"matrix": [1, 4], "x": 4.5, "y": 1}, + {"matrix": [1, 5], "x": 5.5, "y": 1}, + {"matrix": [1, 6], "x": 6.5, "y": 1}, + {"matrix": [1, 7], "x": 7.5, "y": 1}, + {"matrix": [1, 8], "x": 8.5, "y": 1}, + {"matrix": [1, 9], "x": 9.5, "y": 1}, + {"matrix": [1, 10], "x": 10.5, "y": 1}, + {"matrix": [1, 11], "x": 11.5, "y": 1}, + {"matrix": [1, 12], "x": 12.5, "y": 1}, + {"matrix": [1, 13], "x": 13.5, "y": 1, "w": 1.5}, + {"matrix": [2, 0], "x": 0, "y": 2, "w": 1.75}, + {"matrix": [2, 1], "x": 1.75, "y": 2}, + {"matrix": [2, 2], "x": 2.75, "y": 2}, + {"matrix": [2, 3], "x": 3.75, "y": 2}, + {"matrix": [2, 4], "x": 4.75, "y": 2}, + {"matrix": [2, 5], "x": 5.75, "y": 2}, + {"matrix": [2, 6], "x": 6.75, "y": 2}, + {"matrix": [2, 7], "x": 7.75, "y": 2}, + {"matrix": [2, 8], "x": 8.75, "y": 2}, + {"matrix": [2, 9], "x": 9.75, "y": 2}, + {"matrix": [2, 10], "x": 10.75, "y": 2}, + {"matrix": [2, 11], "x": 11.75, "y": 2}, + {"matrix": [2, 13], "x": 12.75, "y": 2, "w": 2.25}, + {"matrix": [3, 0], "x": 0, "y": 3, "w": 2.25}, + {"matrix": [3, 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": 2.75}, + {"matrix": [4, 0], "x": 0, "y": 4, "w": 1.5}, + {"matrix": [4, 2], "x": 2.5, "y": 4, "w": 1.5}, + {"matrix": [4, 7], "x": 4, "y": 4, "w": 7}, + {"matrix": [4, 10], "x": 11, "y": 4, "w": 1.5}, + {"matrix": [4, 13], "x": 13.5, "y": 4, "w": 1.5} + ] + }, + "LAYOUT_60_ansi_wkl_split_bs_rshift": { + "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": [2, 12], "x": 13, "y": 0}, + {"matrix": [0, 13], "x": 14, "y": 0}, + {"matrix": [1, 0], "x": 0, "y": 1, "w": 1.5}, + {"matrix": [1, 1], "x": 1.5, "y": 1}, + {"matrix": [1, 2], "x": 2.5, "y": 1}, + {"matrix": [1, 3], "x": 3.5, "y": 1}, + {"matrix": [1, 4], "x": 4.5, "y": 1}, + {"matrix": [1, 5], "x": 5.5, "y": 1}, + {"matrix": [1, 6], "x": 6.5, "y": 1}, + {"matrix": [1, 7], "x": 7.5, "y": 1}, + {"matrix": [1, 8], "x": 8.5, "y": 1}, + {"matrix": [1, 9], "x": 9.5, "y": 1}, + {"matrix": [1, 10], "x": 10.5, "y": 1}, + {"matrix": [1, 11], "x": 11.5, "y": 1}, + {"matrix": [1, 12], "x": 12.5, "y": 1}, + {"matrix": [1, 13], "x": 13.5, "y": 1, "w": 1.5}, + {"matrix": [2, 0], "x": 0, "y": 2, "w": 1.75}, + {"matrix": [2, 1], "x": 1.75, "y": 2}, + {"matrix": [2, 2], "x": 2.75, "y": 2}, + {"matrix": [2, 3], "x": 3.75, "y": 2}, + {"matrix": [2, 4], "x": 4.75, "y": 2}, + {"matrix": [2, 5], "x": 5.75, "y": 2}, + {"matrix": [2, 6], "x": 6.75, "y": 2}, + {"matrix": [2, 7], "x": 7.75, "y": 2}, + {"matrix": [2, 8], "x": 8.75, "y": 2}, + {"matrix": [2, 9], "x": 9.75, "y": 2}, + {"matrix": [2, 10], "x": 10.75, "y": 2}, + {"matrix": [2, 11], "x": 11.75, "y": 2}, + {"matrix": [2, 13], "x": 12.75, "y": 2, "w": 2.25}, + {"matrix": [3, 0], "x": 0, "y": 3, "w": 2.25}, + {"matrix": [3, 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": [4, 0], "x": 0, "y": 4, "w": 1.5}, + {"matrix": [4, 2], "x": 2.5, "y": 4, "w": 1.5}, + {"matrix": [4, 7], "x": 4, "y": 4, "w": 7}, + {"matrix": [4, 10], "x": 11, "y": 4, "w": 1.5}, + {"matrix": [4, 13], "x": 13.5, "y": 4, "w": 1.5} + ] + }, + "LAYOUT_60_hhkb": { + "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": [2, 12], "x": 13, "y": 0}, + {"matrix": [0, 13], "x": 14, "y": 0}, + {"matrix": [1, 0], "x": 0, "y": 1, "w": 1.5}, + {"matrix": [1, 1], "x": 1.5, "y": 1}, + {"matrix": [1, 2], "x": 2.5, "y": 1}, + {"matrix": [1, 3], "x": 3.5, "y": 1}, + {"matrix": [1, 4], "x": 4.5, "y": 1}, + {"matrix": [1, 5], "x": 5.5, "y": 1}, + {"matrix": [1, 6], "x": 6.5, "y": 1}, + {"matrix": [1, 7], "x": 7.5, "y": 1}, + {"matrix": [1, 8], "x": 8.5, "y": 1}, + {"matrix": [1, 9], "x": 9.5, "y": 1}, + {"matrix": [1, 10], "x": 10.5, "y": 1}, + {"matrix": [1, 11], "x": 11.5, "y": 1}, + {"matrix": [1, 12], "x": 12.5, "y": 1}, + {"matrix": [1, 13], "x": 13.5, "y": 1, "w": 1.5}, + {"matrix": [2, 0], "x": 0, "y": 2, "w": 1.75}, + {"matrix": [2, 1], "x": 1.75, "y": 2}, + {"matrix": [2, 2], "x": 2.75, "y": 2}, + {"matrix": [2, 3], "x": 3.75, "y": 2}, + {"matrix": [2, 4], "x": 4.75, "y": 2}, + {"matrix": [2, 5], "x": 5.75, "y": 2}, + {"matrix": [2, 6], "x": 6.75, "y": 2}, + {"matrix": [2, 7], "x": 7.75, "y": 2}, + {"matrix": [2, 8], "x": 8.75, "y": 2}, + {"matrix": [2, 9], "x": 9.75, "y": 2}, + {"matrix": [2, 10], "x": 10.75, "y": 2}, + {"matrix": [2, 11], "x": 11.75, "y": 2}, + {"matrix": [2, 13], "x": 12.75, "y": 2, "w": 2.25}, + {"matrix": [3, 0], "x": 0, "y": 3, "w": 2.25}, + {"matrix": [3, 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": [4, 1], "x": 1.5, "y": 4}, + {"matrix": [4, 2], "x": 2.5, "y": 4, "w": 1.5}, + {"matrix": [4, 7], "x": 4, "y": 4, "w": 7}, + {"matrix": [4, 10], "x": 11, "y": 4, "w": 1.5}, + {"matrix": [4, 12], "x": 12.5, "y": 4} + ] + }, + "LAYOUT_all": { + "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": [2, 12], "x": 13, "y": 0}, + {"matrix": [0, 13], "x": 14, "y": 0}, + {"matrix": [1, 0], "x": 0, "y": 1, "w": 1.5}, + {"matrix": [1, 1], "x": 1.5, "y": 1}, + {"matrix": [1, 2], "x": 2.5, "y": 1}, + {"matrix": [1, 3], "x": 3.5, "y": 1}, + {"matrix": [1, 4], "x": 4.5, "y": 1}, + {"matrix": [1, 5], "x": 5.5, "y": 1}, + {"matrix": [1, 6], "x": 6.5, "y": 1}, + {"matrix": [1, 7], "x": 7.5, "y": 1}, + {"matrix": [1, 8], "x": 8.5, "y": 1}, + {"matrix": [1, 9], "x": 9.5, "y": 1}, + {"matrix": [1, 10], "x": 10.5, "y": 1}, + {"matrix": [1, 11], "x": 11.5, "y": 1}, + {"matrix": [1, 12], "x": 12.5, "y": 1}, + {"matrix": [1, 13], "x": 13.5, "y": 1, "w": 1.5}, + {"matrix": [2, 0], "x": 0, "y": 2, "w": 1.75}, + {"matrix": [2, 1], "x": 1.75, "y": 2}, + {"matrix": [2, 2], "x": 2.75, "y": 2}, + {"matrix": [2, 3], "x": 3.75, "y": 2}, + {"matrix": [2, 4], "x": 4.75, "y": 2}, + {"matrix": [2, 5], "x": 5.75, "y": 2}, + {"matrix": [2, 6], "x": 6.75, "y": 2}, + {"matrix": [2, 7], "x": 7.75, "y": 2}, + {"matrix": [2, 8], "x": 8.75, "y": 2}, + {"matrix": [2, 9], "x": 9.75, "y": 2}, + {"matrix": [2, 10], "x": 10.75, "y": 2}, + {"matrix": [2, 11], "x": 11.75, "y": 2}, + {"matrix": [2, 13], "x": 12.75, "y": 2, "w": 2.25}, + {"matrix": [3, 0], "x": 0, "y": 3, "w": 2.25}, + {"matrix": [3, 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, "w": 1.75}, + {"matrix": [3, 12], "x": 13, "y": 3}, + {"matrix": [3, 13], "x": 14, "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, 7], "x": 4, "y": 4, "w": 7}, + {"matrix": [4, 10], "x": 11, "y": 4}, + {"matrix": [4, 11], "x": 12, "y": 4}, + {"matrix": [4, 12], "x": 13, "y": 4}, + {"matrix": [4, 13], "x": 14, "y": 4} + ] + } + } +} diff --git a/keyboards/trnthsn/s6xty/keymaps/default/keymap.c b/keyboards/trnthsn/s6xty/keymaps/default/keymap.c new file mode 100644 index 00000000000..97dba0d7491 --- /dev/null +++ b/keyboards/trnthsn/s6xty/keymaps/default/keymap.c @@ -0,0 +1,40 @@ +// Copyright 2024 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│ + // ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┤ + // │ Tab │ Q │ W │ E │ R │ T │ Y │ U │ I │ O │ P │ [ │ ] │ \ │ + // ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴─────┤ + // │ Caps │ A │ S │ D │ F │ G │ H │ J │ K │ L │ ; │ ' │ Enter │ + // ├──────┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┴┬───┬───┤ + // │ Shift │ Z │ X │ C │ V │ B │ N │ M │ , │ . │Shift │↑ │/ │ + // ├─────┬──┴┬──┴──┬┴───┴───┴───┴───┴───┴───┴──┬┴──┬───┼───┼───┤ + // │Ctrl │GUI│ Alt │ │Fn │← │↓ │→ │ + // └─────┴───┴─────┴───────────────────────────┴───┴───┴───┴───┘ + + [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_BSPC, + KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, + KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT, + KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_RSFT, KC_UP, KC_SLSH, + KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, MO(1), KC_LEFT, KC_DOWN, KC_RGHT + ), + [1] = 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_INS, KC_DEL, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_PSCR, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + MO(2) , _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______ + ), + [2] = LAYOUT_all( + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, QK_BOOT, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______ + ) +}; diff --git a/keyboards/trnthsn/s6xty/mcuconf.h b/keyboards/trnthsn/s6xty/mcuconf.h new file mode 100644 index 00000000000..3bf940e0bec --- /dev/null +++ b/keyboards/trnthsn/s6xty/mcuconf.h @@ -0,0 +1,22 @@ +/* Copyright 2024 ThanhSon.Mech + * + * 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 + +#include_next + +#undef STM32_SPI_USE_SPI2 +#define STM32_SPI_USE_SPI2 TRUE diff --git a/keyboards/trnthsn/s6xty/readme.md b/keyboards/trnthsn/s6xty/readme.md new file mode 100644 index 00000000000..eb518b7cee5 --- /dev/null +++ b/keyboards/trnthsn/s6xty/readme.md @@ -0,0 +1,27 @@ +# S6xty + +![trnthsn/s6xty](https://i.imgur.com/YJZxxqY.png) + +A 60% keyboard PCB compatible with various keyboard cases. Supports a left USB Type-C connector or 3 JST SH positions for a daughter board + +* Keyboard Maintainer: [ThanhSon.Mech](https://github.com/trnthsn) +* Hardware Supported: s6xty PCB, STM32F072 +* Hardware Availability: [ThanhSon.Mech](https://www.facebook.com/ThanhSon.mech) + +Make example for this keyboard (after setting up your build environment): + + make trnthsn/s6xty:default + +Flashing example for this keyboard: + + make trnthsn/s6xty: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 06b7dce565500e7e1cfdd0803239dff430101b8b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E3=83=95=E3=82=A3=E3=83=AB=E3=82=BF=E3=83=BC=E3=83=9A?= =?UTF-8?q?=E3=83=BC=E3=83=91=E3=83=BC?= <76888457+filterpaper@users.noreply.github.com> Date: Tue, 29 Oct 2024 01:56:54 +0800 Subject: [PATCH 089/124] Refactor LED Breathing effect with runner (#24540) --- quantum/led_matrix/animations/breathing_anim.h | 15 +++++---------- 1 file changed, 5 insertions(+), 10 deletions(-) diff --git a/quantum/led_matrix/animations/breathing_anim.h b/quantum/led_matrix/animations/breathing_anim.h index 0bd4cb0cc38..3d1b0d95d21 100644 --- a/quantum/led_matrix/animations/breathing_anim.h +++ b/quantum/led_matrix/animations/breathing_anim.h @@ -2,17 +2,12 @@ LED_MATRIX_EFFECT(BREATHING) # ifdef LED_MATRIX_CUSTOM_EFFECT_IMPLS -bool BREATHING(effect_params_t* params) { - LED_MATRIX_USE_LIMITS(led_min, led_max); +static uint8_t BREATHING_math(uint8_t val, uint8_t i, uint8_t time) { + return scale8(abs8(sin8(time / 2) - 128) * 2, val); +} - uint8_t val = led_matrix_eeconfig.val; - uint16_t time = scale16by8(g_led_timer, led_matrix_eeconfig.speed / 8); - val = scale8(abs8(sin8(time) - 128) * 2, val); - for (uint8_t i = led_min; i < led_max; i++) { - LED_MATRIX_TEST_LED_FLAGS(); - led_matrix_set_value(i, val); - } - return led_matrix_check_finished_leds(led_max); +bool BREATHING(effect_params_t* params) { + return effect_runner_i(params, &BREATHING_math); } # endif // LED_MATRIX_CUSTOM_EFFECT_IMPLS From 2aa186873e98e82ff4a3ebfe8c229badde8fc55f Mon Sep 17 00:00:00 2001 From: Cipulot <40441626+Cipulot@users.noreply.github.com> Date: Mon, 28 Oct 2024 20:54:05 +0100 Subject: [PATCH 090/124] Cipulot Updates (#24539) --- .../rules.mk => common/common_cipulot.mk} | 4 ++ keyboards/cipulot/common/ec_board.c | 10 ++++ keyboards/cipulot/common/ec_switch_matrix.c | 48 +++++++++++++-- keyboards/cipulot/common/ec_switch_matrix.h | 15 ++++- keyboards/cipulot/common/via_ec.c | 60 ++++++++++++++++--- keyboards/cipulot/ec_23u/post_rules.mk | 4 +- keyboards/cipulot/ec_23u/rules.mk | 4 -- keyboards/cipulot/ec_60/config.h | 2 + keyboards/cipulot/ec_60/post_rules.mk | 4 +- keyboards/cipulot/ec_60/rules.mk | 4 -- keyboards/cipulot/ec_60x/config.h | 2 + keyboards/cipulot/ec_60x/post_rules.mk | 4 +- keyboards/cipulot/ec_60x/rules.mk | 4 -- keyboards/cipulot/ec_660c/config.h | 2 + keyboards/cipulot/ec_660c/post_rules.mk | 4 +- keyboards/cipulot/ec_660c/rules.mk | 4 -- keyboards/cipulot/ec_980c/config.h | 2 + keyboards/cipulot/ec_980c/ec_980c.c | 2 + keyboards/cipulot/ec_980c/ec_switch_matrix.c | 49 ++++++++++++--- keyboards/cipulot/ec_980c/ec_switch_matrix.h | 10 +++- keyboards/cipulot/ec_alveus/1_0_0/config.h | 2 + .../cipulot/ec_alveus/1_0_0/post_rules.mk | 4 +- keyboards/cipulot/ec_alveus/1_0_0/rules.mk | 4 -- keyboards/cipulot/ec_alveus/1_2_0/config.h | 2 + .../cipulot/ec_alveus/1_2_0/post_rules.mk | 4 +- keyboards/cipulot/ec_alveus/1_2_0/rules.mk | 4 -- keyboards/cipulot/ec_dolice/config.h | 2 + keyboards/cipulot/ec_dolice/post_rules.mk | 4 +- keyboards/cipulot/ec_dolice/rules.mk | 4 -- keyboards/cipulot/ec_menhir/config.h | 2 + keyboards/cipulot/ec_menhir/post_rules.mk | 4 +- keyboards/cipulot/ec_pro2/config.h | 2 + keyboards/cipulot/ec_pro2/post_rules.mk | 4 +- keyboards/cipulot/ec_pro2/rules.mk | 4 -- keyboards/cipulot/ec_prox/ansi_iso/config.h | 2 + .../cipulot/ec_prox/ansi_iso/post_rules.mk | 4 +- keyboards/cipulot/ec_prox/ansi_iso/rules.mk | 4 -- keyboards/cipulot/ec_prox/jis/config.h | 2 + keyboards/cipulot/ec_prox/jis/post_rules.mk | 4 +- keyboards/cipulot/ec_prox/jis/rules.mk | 4 -- keyboards/cipulot/ec_theca/config.h | 2 + keyboards/cipulot/ec_theca/post_rules.mk | 4 +- keyboards/cipulot/ec_theca/rules.mk | 4 -- keyboards/cipulot/ec_tkl/config.h | 2 + keyboards/cipulot/ec_tkl/post_rules.mk | 4 +- keyboards/cipulot/ec_tkl/rules.mk | 4 -- keyboards/cipulot/ec_typeb/config.h | 2 + keyboards/cipulot/ec_typeb/post_rules.mk | 4 +- keyboards/cipulot/ec_typeb/rules.mk | 4 -- keyboards/cipulot/ec_typek/config.h | 2 + keyboards/cipulot/ec_typek/ec_switch_matrix.c | 49 ++++++++++++--- keyboards/cipulot/ec_typek/ec_switch_matrix.h | 24 +++++--- keyboards/cipulot/ec_typek/ec_typek.c | 4 +- keyboards/cipulot/ec_vero/config.h | 2 + keyboards/cipulot/ec_vero/post_rules.mk | 4 +- keyboards/cipulot/ec_vero/rules.mk | 4 -- keyboards/cipulot/ec_virgo/config.h | 2 + keyboards/cipulot/ec_virgo/post_rules.mk | 4 +- keyboards/cipulot/ec_virgo/rules.mk | 4 -- keyboards/cipulot/mnk_60_ec/config.h | 2 + keyboards/cipulot/mnk_60_ec/post_rules.mk | 4 +- keyboards/cipulot/mnk_60_ec/rules.mk | 4 -- keyboards/cipulot/mnk_65_ec/config.h | 2 + keyboards/cipulot/mnk_65_ec/post_rules.mk | 4 +- keyboards/cipulot/mnk_65_ec/rules.mk | 4 -- keyboards/cipulot/rf_r1_8_9xu/config.h | 2 + keyboards/cipulot/rf_r1_8_9xu/post_rules.mk | 4 +- keyboards/cipulot/rf_r1_8_9xu/rules.mk | 4 -- 68 files changed, 292 insertions(+), 171 deletions(-) rename keyboards/cipulot/{ec_menhir/rules.mk => common/common_cipulot.mk} (67%) diff --git a/keyboards/cipulot/ec_menhir/rules.mk b/keyboards/cipulot/common/common_cipulot.mk similarity index 67% rename from keyboards/cipulot/ec_menhir/rules.mk rename to keyboards/cipulot/common/common_cipulot.mk index e7d73cefc98..a1bbedab188 100644 --- a/keyboards/cipulot/ec_menhir/rules.mk +++ b/keyboards/cipulot/common/common_cipulot.mk @@ -2,3 +2,7 @@ CUSTOM_MATRIX = lite ANALOG_DRIVER_REQUIRED = yes VPATH += keyboards/cipulot/common SRC += matrix.c ec_board.c ec_switch_matrix.c + +ifeq ($(strip $(VIA_ENABLE)), yes) + SRC += via_ec.c +endif diff --git a/keyboards/cipulot/common/ec_board.c b/keyboards/cipulot/common/ec_board.c index d9ba1975893..0ccb9f6d3c3 100644 --- a/keyboards/cipulot/common/ec_board.c +++ b/keyboards/cipulot/common/ec_board.c @@ -17,6 +17,10 @@ #include "ec_switch_matrix.h" #include "keyboard.h" +#ifdef SPLIT_KEYBOARD +# include "transactions.h" +#endif + void eeconfig_init_kb(void) { // Default values eeprom_ec_config.actuation_mode = DEFAULT_ACTUATION_MODE; @@ -57,8 +61,14 @@ void keyboard_post_init_kb(void) { ec_config.rescaled_mode_0_actuation_threshold[row][col] = rescale(ec_config.mode_0_actuation_threshold, 0, 1023, ec_config.noise_floor[row][col], eeprom_ec_config.bottoming_reading[row][col]); ec_config.rescaled_mode_0_release_threshold[row][col] = rescale(ec_config.mode_0_release_threshold, 0, 1023, ec_config.noise_floor[row][col], eeprom_ec_config.bottoming_reading[row][col]); ec_config.rescaled_mode_1_initial_deadzone_offset[row][col] = rescale(ec_config.mode_1_initial_deadzone_offset, 0, 1023, ec_config.noise_floor[row][col], eeprom_ec_config.bottoming_reading[row][col]); + ec_config.rescaled_mode_1_actuation_offset[row][col] = rescale(ec_config.mode_1_actuation_offset, 0, 1023, ec_config.noise_floor[row][col], eeprom_ec_config.bottoming_reading[row][col]); + ec_config.rescaled_mode_1_release_offset[row][col] = rescale(ec_config.mode_1_release_offset, 0, 1023, ec_config.noise_floor[row][col], eeprom_ec_config.bottoming_reading[row][col]); } } +#ifdef SPLIT_KEYBOARD + transaction_register_rpc(RPC_ID_VIA_CMD, via_cmd_slave_handler); +#endif + keyboard_post_init_user(); } diff --git a/keyboards/cipulot/common/ec_switch_matrix.c b/keyboards/cipulot/common/ec_switch_matrix.c index 33123bd236e..25c745703b4 100644 --- a/keyboards/cipulot/common/ec_switch_matrix.c +++ b/keyboards/cipulot/common/ec_switch_matrix.c @@ -37,8 +37,14 @@ const pin_t amux_en_pins[] = AMUX_EN_PINS; const pin_t amux_n_col_sizes[] = AMUX_COL_CHANNELS_SIZES; const pin_t amux_n_col_channels[][AMUX_MAX_COLS_COUNT] = {AMUX_COL_CHANNELS}; +#ifdef UNUSED_POSITIONS_LIST +const uint8_t UNUSED_POSITIONS[][2] = UNUSED_POSITIONS_LIST; +# define UNUSED_POSITIONS_COUNT ARRAY_SIZE(UNUSED_POSITIONS) +#endif + #define AMUX_SEL_PINS_COUNT ARRAY_SIZE(amux_sel_pins) #define EXPECTED_AMUX_SEL_PINS_COUNT ceil(log2(AMUX_MAX_COLS_COUNT) + // Checks for the correctness of the configuration _Static_assert(ARRAY_SIZE(amux_en_pins) == AMUX_COUNT, "AMUX_EN_PINS doesn't have the minimum number of bits required to enable all the multiplexers available"); // Check that number of select pins is enough to select all the channels @@ -70,6 +76,16 @@ void init_amux(void) { } } +// Disable all the unused rows +void disable_unused_row(uint8_t row) { + // disable all the other rows apart from the current selected one + for (uint8_t idx = 0; idx < MATRIX_ROWS; idx++) { + if (idx != row) { + gpio_write_pin_low(row_pins[idx]); + } + } +} + // Select the multiplexer channel of the specified multiplexer void select_amux_channel(uint8_t channel, uint8_t col) { // Get the channel for the specified multiplexer @@ -158,6 +174,10 @@ void ec_noise_floor(void) { sum += amux_n_col_sizes[i]; uint8_t adjusted_col = col + sum; for (uint8_t row = 0; row < MATRIX_ROWS; row++) { +#ifdef UNUSED_POSITIONS_LIST + if (is_unused_position(row, adjusted_col)) continue; +#endif + disable_unused_row(row); ec_config.noise_floor[row][adjusted_col] += ec_readkey_raw(amux, row, col); } } @@ -180,11 +200,15 @@ bool ec_matrix_scan(matrix_row_t current_matrix[]) { for (uint8_t amux = 0; amux < AMUX_COUNT; amux++) { disable_unused_amux(amux); for (uint8_t col = 0; col < amux_n_col_sizes[amux]; col++) { + uint8_t sum = 0; + for (uint8_t i = 0; i < (amux > 0 ? amux : 0); i++) + sum += amux_n_col_sizes[i]; + uint8_t adjusted_col = col + sum; for (uint8_t row = 0; row < MATRIX_ROWS; row++) { - uint8_t sum = 0; - for (uint8_t i = 0; i < (amux > 0 ? amux : 0); i++) - sum += amux_n_col_sizes[i]; - uint8_t adjusted_col = col + sum; +#ifdef UNUSED_POSITIONS_LIST + if (is_unused_position(row, adjusted_col)) continue; +#endif + disable_unused_row(row); sw_value[row][adjusted_col] = ec_readkey_raw(amux, row, col); if (ec_config.bottoming_calibration) { @@ -266,7 +290,7 @@ bool ec_update_key(matrix_row_t* current_row, uint8_t row, uint8_t col, uint16_t uprintf("Key pressed: %d, %d, %d\n", row, col, sw_value); } // Has key moved up enough to be released? - else if (sw_value < ec_config.extremum[row][col] - ec_config.mode_1_release_offset) { + else if (sw_value < ec_config.extremum[row][col] - ec_config.rescaled_mode_1_release_offset[row][col]) { ec_config.extremum[row][col] = sw_value; *current_row &= ~(1 << col); uprintf("Key released: %d, %d, %d\n", row, col, sw_value); @@ -280,7 +304,7 @@ bool ec_update_key(matrix_row_t* current_row, uint8_t row, uint8_t col, uint16_t ec_config.extremum[row][col] = sw_value; } // Has key moved down enough to be pressed? - else if (sw_value > ec_config.extremum[row][col] + ec_config.mode_1_actuation_offset) { + else if (sw_value > ec_config.extremum[row][col] + ec_config.rescaled_mode_1_actuation_offset[row][col]) { ec_config.extremum[row][col] = sw_value; *current_row |= (1 << col); uprintf("Key pressed: %d, %d, %d\n", row, col, sw_value); @@ -312,6 +336,18 @@ void ec_print_matrix(void) { print("\n"); } +// Check if the position is unused +#ifdef UNUSED_POSITIONS_LIST +bool is_unused_position(uint8_t row, uint8_t col) { + for (uint8_t i = 0; i < UNUSED_POSITIONS_COUNT; i++) { + if (UNUSED_POSITIONS[i][0] == row && UNUSED_POSITIONS[i][1] == col) { + return true; + } + } + return false; +} +#endif + // Rescale the value to a different range uint16_t rescale(uint16_t x, uint16_t in_min, uint16_t in_max, uint16_t out_min, uint16_t out_max) { return (x - in_min) * (out_max - out_min) / (in_max - in_min) + out_min; diff --git a/keyboards/cipulot/common/ec_switch_matrix.h b/keyboards/cipulot/common/ec_switch_matrix.h index 4b424911da8..8fbca372bf6 100644 --- a/keyboards/cipulot/common/ec_switch_matrix.h +++ b/keyboards/cipulot/common/ec_switch_matrix.h @@ -37,11 +37,13 @@ typedef struct { uint16_t mode_0_actuation_threshold; // threshold for key press in mode 0 uint16_t mode_0_release_threshold; // threshold for key release in mode 0 uint16_t mode_1_initial_deadzone_offset; // threshold for key press in mode 1 (initial deadzone) + uint8_t mode_1_actuation_offset; // offset for key press in mode 1 (1-255) + uint8_t mode_1_release_offset; // offset for key release in mode 1 (1-255) uint16_t rescaled_mode_0_actuation_threshold[MATRIX_ROWS][MATRIX_COLS]; // threshold for key press in mode 0 rescaled to actual scale uint16_t rescaled_mode_0_release_threshold[MATRIX_ROWS][MATRIX_COLS]; // threshold for key release in mode 0 rescaled to actual scale uint16_t rescaled_mode_1_initial_deadzone_offset[MATRIX_ROWS][MATRIX_COLS]; // threshold for key press in mode 1 (initial deadzone) rescaled to actual scale - uint8_t mode_1_actuation_offset; // offset for key press in mode 1 (1-255) - uint8_t mode_1_release_offset; // offset for key release in mode 1 (1-255) + uint8_t rescaled_mode_1_actuation_offset[MATRIX_ROWS][MATRIX_COLS]; // offset for key press in mode 1 rescaled to actual scale + uint8_t rescaled_mode_1_release_offset[MATRIX_ROWS][MATRIX_COLS]; // offset for key release in mode 1 rescaled to actual scale uint16_t extremum[MATRIX_ROWS][MATRIX_COLS]; // extremum values for mode 1 uint16_t noise_floor[MATRIX_ROWS][MATRIX_COLS]; // noise floor detected during startup bool bottoming_calibration; // calibration mode for bottoming out values (true: calibration mode, false: normal mode) @@ -58,6 +60,7 @@ extern ec_config_t ec_config; void init_row(void); void init_amux(void); +void disable_unused_row(uint8_t row); void select_amux_channel(uint8_t channel, uint8_t col); void disable_unused_amux(uint8_t channel); void discharge_capacitor(void); @@ -71,3 +74,11 @@ bool ec_update_key(matrix_row_t* current_row, uint8_t row, uint8_t col, uint void ec_print_matrix(void); uint16_t rescale(uint16_t x, uint16_t in_min, uint16_t in_max, uint16_t out_min, uint16_t out_max); + +#ifdef UNUSED_POSITIONS_LIST +bool is_unused_position(uint8_t row, uint8_t col); +#endif + +#ifdef SPLIT_KEYBOARD +void via_cmd_slave_handler(uint8_t m2s_size, const void* m2s_buffer, uint8_t s2m_size, void* s2m_buffer); +#endif diff --git a/keyboards/cipulot/common/via_ec.c b/keyboards/cipulot/common/via_ec.c index ce4e813f759..ed34a579b22 100644 --- a/keyboards/cipulot/common/via_ec.c +++ b/keyboards/cipulot/common/via_ec.c @@ -19,6 +19,10 @@ #include "print.h" #include "via.h" +#ifdef SPLIT_KEYBOARD +# include "transactions.h" +#endif + #ifdef VIA_ENABLE void ec_rescale_values(uint8_t item); @@ -50,6 +54,12 @@ void via_config_set_value(uint8_t *data) { uint8_t *value_id = &(data[0]); uint8_t *value_data = &(data[1]); +# ifdef SPLIT_KEYBOARD + if (is_keyboard_master()) { + transaction_rpc_send(RPC_ID_VIA_CMD, 30, data); + } +# endif + switch (*value_id) { case id_actuation_mode: { eeprom_ec_config.actuation_mode = value_data[0]; @@ -115,6 +125,8 @@ void via_config_set_value(uint8_t *data) { ec_rescale_values(0); ec_rescale_values(1); ec_rescale_values(2); + ec_rescale_values(3); + ec_rescale_values(4); uprintf("#############################\n"); uprintf("# Noise floor data acquired #\n"); uprintf("#############################\n"); @@ -124,13 +136,14 @@ void via_config_set_value(uint8_t *data) { case id_show_calibration_data: { if (value_data[0] == 0) { ec_show_calibration_data(); - break; } + break; } case id_clear_bottoming_calibration_data: { if (value_data[0] == 0) { ec_clear_bottoming_calibration_data(); } + break; } default: { // Unhandled value. @@ -240,6 +253,22 @@ void ec_rescale_values(uint8_t item) { } } break; + // Rescale the Rapid Trigger mode actuation offsets + case 3: + for (uint8_t row = 0; row < MATRIX_ROWS; row++) { + for (uint8_t col = 0; col < MATRIX_COLS; col++) { + ec_config.rescaled_mode_1_actuation_offset[row][col] = rescale(ec_config.mode_1_actuation_offset, 0, 1023, ec_config.noise_floor[row][col], eeprom_ec_config.bottoming_reading[row][col]); + } + } + break; + // Rescale the Rapid Trigger mode release offsets + case 4: + for (uint8_t row = 0; row < MATRIX_ROWS; row++) { + for (uint8_t col = 0; col < MATRIX_COLS; col++) { + ec_config.rescaled_mode_1_release_offset[row][col] = rescale(ec_config.mode_1_release_offset, 0, 1023, ec_config.noise_floor[row][col], eeprom_ec_config.bottoming_reading[row][col]); + } + } + break; default: // Unhandled item. @@ -258,9 +287,11 @@ void ec_save_threshold_data(uint8_t option) { // Save Rapid Trigger mode thresholds and rescale them for runtime usage else if (option == 1) { eeprom_ec_config.mode_1_initial_deadzone_offset = ec_config.mode_1_initial_deadzone_offset; - eeprom_ec_config.mode_1_actuation_offset = ec_config.mode_1_actuation_offset; - eeprom_ec_config.mode_1_release_offset = ec_config.mode_1_release_offset; + eeprom_ec_config.mode_1_actuation_offset = ec_config.mode_1_actuation_offset; + eeprom_ec_config.mode_1_release_offset = ec_config.mode_1_release_offset; ec_rescale_values(2); + ec_rescale_values(3); + ec_rescale_values(4); } eeconfig_update_kb_datablock(&eeprom_ec_config); uprintf("####################################\n"); @@ -272,11 +303,12 @@ void ec_save_threshold_data(uint8_t option) { void ec_save_bottoming_reading(void) { for (uint8_t row = 0; row < MATRIX_ROWS; row++) { for (uint8_t col = 0; col < MATRIX_COLS; col++) { - // If the bottom reading doesn't go over the noise floor by BOTTOMING_CALIBRATION_THRESHOLD, it is likely that: - // 1. The key is not actually in the matrix - // 2. The key is on an alternative layout, therefore not being pressed - // 3. The key in in the current layout but not being pressed - if (ec_config.bottoming_reading[row][col] < (ec_config.noise_floor[row][col] + BOTTOMING_CALIBRATION_THRESHOLD)) { + // If the calibration starter flag is still set on the key, it indicates that the key was skipped during the scan because it is not physically present. + // If the flag is not set, it means a bottoming reading was taken. If this reading doesn't exceed the noise floor by the BOTTOMING_CALIBRATION_THRESHOLD, it likely indicates one of the following: + // 1. The key is part of an alternative layout and is not being pressed. + // 2. The key is in the current layout but is not being pressed. + // In both conditions we should set the bottoming reading to the maximum value to avoid false positives. + if (ec_config.bottoming_calibration_starter[row][col] || ec_config.bottoming_reading[row][col] < (ec_config.noise_floor[row][col] + BOTTOMING_CALIBRATION_THRESHOLD)) { eeprom_ec_config.bottoming_reading[row][col] = 1023; } else { eeprom_ec_config.bottoming_reading[row][col] = ec_config.bottoming_reading[row][col]; @@ -287,6 +319,8 @@ void ec_save_bottoming_reading(void) { ec_rescale_values(0); ec_rescale_values(1); ec_rescale_values(2); + ec_rescale_values(3); + ec_rescale_values(4); eeconfig_update_kb_datablock(&eeprom_ec_config); } @@ -360,4 +394,14 @@ void ec_clear_bottoming_calibration_data(void) { uprintf("######################################\n"); } +# ifdef SPLIT_KEYBOARD +void via_cmd_slave_handler(uint8_t m2s_size, const void *m2s_buffer, uint8_t s2m_size, void *s2m_buffer) { + if (m2s_size == (RAW_EPSIZE-2)) { + via_config_set_value((uint8_t *)m2s_buffer); + } else { + uprintf("Unexpected response in slave handler\n"); + } +} +# endif + #endif // VIA_ENABLE diff --git a/keyboards/cipulot/ec_23u/post_rules.mk b/keyboards/cipulot/ec_23u/post_rules.mk index d726a112a8c..5dba48cc5fd 100644 --- a/keyboards/cipulot/ec_23u/post_rules.mk +++ b/keyboards/cipulot/ec_23u/post_rules.mk @@ -1,3 +1 @@ -ifeq ($(strip $(VIA_ENABLE)), yes) - SRC += keyboards/cipulot/common/via_ec.c -endif +include keyboards/cipulot/common/common_cipulot.mk diff --git a/keyboards/cipulot/ec_23u/rules.mk b/keyboards/cipulot/ec_23u/rules.mk index 318e0215ce9..3aa0e2bf061 100644 --- a/keyboards/cipulot/ec_23u/rules.mk +++ b/keyboards/cipulot/ec_23u/rules.mk @@ -1,5 +1 @@ -CUSTOM_MATRIX = lite -ANALOG_DRIVER_REQUIRED = yes -VPATH += keyboards/cipulot/common -SRC += matrix.c ec_board.c ec_switch_matrix.c OPT = 2 diff --git a/keyboards/cipulot/ec_60/config.h b/keyboards/cipulot/ec_60/config.h index 24525501439..a409df2dfc5 100644 --- a/keyboards/cipulot/ec_60/config.h +++ b/keyboards/cipulot/ec_60/config.h @@ -19,6 +19,8 @@ #define MATRIX_ROWS 5 #define MATRIX_COLS 15 +#define UNUSED_POSITIONS_LIST { {1, 14}, {2, 14}, {4, 3}, {4, 8} } + #define MATRIX_ROW_PINS \ { B15, A8, B0, A7, B1 } diff --git a/keyboards/cipulot/ec_60/post_rules.mk b/keyboards/cipulot/ec_60/post_rules.mk index d726a112a8c..5dba48cc5fd 100644 --- a/keyboards/cipulot/ec_60/post_rules.mk +++ b/keyboards/cipulot/ec_60/post_rules.mk @@ -1,3 +1 @@ -ifeq ($(strip $(VIA_ENABLE)), yes) - SRC += keyboards/cipulot/common/via_ec.c -endif +include keyboards/cipulot/common/common_cipulot.mk diff --git a/keyboards/cipulot/ec_60/rules.mk b/keyboards/cipulot/ec_60/rules.mk index ce525670a68..1716098b3e1 100644 --- a/keyboards/cipulot/ec_60/rules.mk +++ b/keyboards/cipulot/ec_60/rules.mk @@ -1,5 +1 @@ -CUSTOM_MATRIX = lite -ANALOG_DRIVER_REQUIRED = yes -VPATH += keyboards/cipulot/common -SRC += matrix.c ec_board.c ec_switch_matrix.c OPT = 3 diff --git a/keyboards/cipulot/ec_60x/config.h b/keyboards/cipulot/ec_60x/config.h index 1a8d105d680..1784076d21c 100644 --- a/keyboards/cipulot/ec_60x/config.h +++ b/keyboards/cipulot/ec_60x/config.h @@ -19,6 +19,8 @@ #define MATRIX_ROWS 5 #define MATRIX_COLS 15 +#define UNUSED_POSITIONS_LIST { {2, 14}, {4, 3}, {4, 5}, {4, 7}, {4, 9}, {4, 14} } + #define MATRIX_ROW_PINS \ { A8, A15, B12, B8, B9} diff --git a/keyboards/cipulot/ec_60x/post_rules.mk b/keyboards/cipulot/ec_60x/post_rules.mk index d726a112a8c..5dba48cc5fd 100644 --- a/keyboards/cipulot/ec_60x/post_rules.mk +++ b/keyboards/cipulot/ec_60x/post_rules.mk @@ -1,3 +1 @@ -ifeq ($(strip $(VIA_ENABLE)), yes) - SRC += keyboards/cipulot/common/via_ec.c -endif +include keyboards/cipulot/common/common_cipulot.mk diff --git a/keyboards/cipulot/ec_60x/rules.mk b/keyboards/cipulot/ec_60x/rules.mk index 318e0215ce9..3aa0e2bf061 100644 --- a/keyboards/cipulot/ec_60x/rules.mk +++ b/keyboards/cipulot/ec_60x/rules.mk @@ -1,5 +1 @@ -CUSTOM_MATRIX = lite -ANALOG_DRIVER_REQUIRED = yes -VPATH += keyboards/cipulot/common -SRC += matrix.c ec_board.c ec_switch_matrix.c OPT = 2 diff --git a/keyboards/cipulot/ec_660c/config.h b/keyboards/cipulot/ec_660c/config.h index 9e883c40da2..16b2ade719d 100644 --- a/keyboards/cipulot/ec_660c/config.h +++ b/keyboards/cipulot/ec_660c/config.h @@ -19,6 +19,8 @@ #define MATRIX_ROWS 5 #define MATRIX_COLS 15 +#define UNUSED_POSITIONS_LIST { {3, 14}, {4, 3}, {4, 4}, {4, 5}, {4, 7}, {4, 8} } + #define MATRIX_ROW_PINS \ { B1, B10, B0, A1, A0 } diff --git a/keyboards/cipulot/ec_660c/post_rules.mk b/keyboards/cipulot/ec_660c/post_rules.mk index d726a112a8c..5dba48cc5fd 100644 --- a/keyboards/cipulot/ec_660c/post_rules.mk +++ b/keyboards/cipulot/ec_660c/post_rules.mk @@ -1,3 +1 @@ -ifeq ($(strip $(VIA_ENABLE)), yes) - SRC += keyboards/cipulot/common/via_ec.c -endif +include keyboards/cipulot/common/common_cipulot.mk diff --git a/keyboards/cipulot/ec_660c/rules.mk b/keyboards/cipulot/ec_660c/rules.mk index ce525670a68..1716098b3e1 100644 --- a/keyboards/cipulot/ec_660c/rules.mk +++ b/keyboards/cipulot/ec_660c/rules.mk @@ -1,5 +1 @@ -CUSTOM_MATRIX = lite -ANALOG_DRIVER_REQUIRED = yes -VPATH += keyboards/cipulot/common -SRC += matrix.c ec_board.c ec_switch_matrix.c OPT = 3 diff --git a/keyboards/cipulot/ec_980c/config.h b/keyboards/cipulot/ec_980c/config.h index e3723822e33..bd8afcb687d 100644 --- a/keyboards/cipulot/ec_980c/config.h +++ b/keyboards/cipulot/ec_980c/config.h @@ -19,6 +19,8 @@ #define MATRIX_ROWS 6 #define MATRIX_COLS 19 +#define UNUSED_POSITIONS_LIST { {0, 1}, {0, 10}, {3, 14}, {4, 13}, {5, 4}, {5, 7}, {5, 12} } + #define MATRIX_ROW_PINS \ { B13, B12, B14, A9, B6, B7 } diff --git a/keyboards/cipulot/ec_980c/ec_980c.c b/keyboards/cipulot/ec_980c/ec_980c.c index 49b52487451..eaa636ede6a 100644 --- a/keyboards/cipulot/ec_980c/ec_980c.c +++ b/keyboards/cipulot/ec_980c/ec_980c.c @@ -69,6 +69,8 @@ void keyboard_post_init_kb(void) { ec_config.rescaled_mode_0_actuation_threshold[row][col] = rescale(ec_config.mode_0_actuation_threshold, 0, 1023, ec_config.noise_floor[row][col], eeprom_ec_config.bottoming_reading[row][col]); ec_config.rescaled_mode_0_release_threshold[row][col] = rescale(ec_config.mode_0_release_threshold, 0, 1023, ec_config.noise_floor[row][col], eeprom_ec_config.bottoming_reading[row][col]); ec_config.rescaled_mode_1_initial_deadzone_offset[row][col] = rescale(ec_config.mode_1_initial_deadzone_offset, 0, 1023, ec_config.noise_floor[row][col], eeprom_ec_config.bottoming_reading[row][col]); + ec_config.rescaled_mode_1_actuation_offset[row][col] = rescale(ec_config.mode_1_actuation_offset, 0, 1023, ec_config.noise_floor[row][col], eeprom_ec_config.bottoming_reading[row][col]); + ec_config.rescaled_mode_1_release_offset[row][col] = rescale(ec_config.mode_1_release_offset, 0, 1023, ec_config.noise_floor[row][col], eeprom_ec_config.bottoming_reading[row][col]); } } diff --git a/keyboards/cipulot/ec_980c/ec_switch_matrix.c b/keyboards/cipulot/ec_980c/ec_switch_matrix.c index 33123bd236e..00a0b632fbc 100644 --- a/keyboards/cipulot/ec_980c/ec_switch_matrix.c +++ b/keyboards/cipulot/ec_980c/ec_switch_matrix.c @@ -37,6 +37,11 @@ const pin_t amux_en_pins[] = AMUX_EN_PINS; const pin_t amux_n_col_sizes[] = AMUX_COL_CHANNELS_SIZES; const pin_t amux_n_col_channels[][AMUX_MAX_COLS_COUNT] = {AMUX_COL_CHANNELS}; +#ifdef UNUSED_POSITIONS_LIST +const uint8_t UNUSED_POSITIONS[][2] = UNUSED_POSITIONS_LIST; +# define UNUSED_POSITIONS_COUNT (sizeof(UNUSED_POSITIONS) / sizeof(UNUSED_POSITIONS[0])) +#endif + #define AMUX_SEL_PINS_COUNT ARRAY_SIZE(amux_sel_pins) #define EXPECTED_AMUX_SEL_PINS_COUNT ceil(log2(AMUX_MAX_COLS_COUNT) // Checks for the correctness of the configuration @@ -70,6 +75,16 @@ void init_amux(void) { } } +// Disable all the unused rows +void disable_unused_row(uint8_t row) { + // disable all the other rows apart from the current selected one + for (uint8_t idx = 0; idx < MATRIX_ROWS; idx++) { + if (idx != row) { + gpio_write_pin_low(row_pins[idx]); + } + } +} + // Select the multiplexer channel of the specified multiplexer void select_amux_channel(uint8_t channel, uint8_t col) { // Get the channel for the specified multiplexer @@ -158,6 +173,10 @@ void ec_noise_floor(void) { sum += amux_n_col_sizes[i]; uint8_t adjusted_col = col + sum; for (uint8_t row = 0; row < MATRIX_ROWS; row++) { +#ifdef UNUSED_POSITIONS_LIST + if (is_unused_position(row, adjusted_col)) continue; +#endif + disable_unused_row(row); ec_config.noise_floor[row][adjusted_col] += ec_readkey_raw(amux, row, col); } } @@ -180,11 +199,15 @@ bool ec_matrix_scan(matrix_row_t current_matrix[]) { for (uint8_t amux = 0; amux < AMUX_COUNT; amux++) { disable_unused_amux(amux); for (uint8_t col = 0; col < amux_n_col_sizes[amux]; col++) { + uint8_t sum = 0; + for (uint8_t i = 0; i < (amux > 0 ? amux : 0); i++) + sum += amux_n_col_sizes[i]; + uint8_t adjusted_col = col + sum; for (uint8_t row = 0; row < MATRIX_ROWS; row++) { - uint8_t sum = 0; - for (uint8_t i = 0; i < (amux > 0 ? amux : 0); i++) - sum += amux_n_col_sizes[i]; - uint8_t adjusted_col = col + sum; +#ifdef UNUSED_POSITIONS_LIST + if (is_unused_position(row, adjusted_col)) continue; +#endif + disable_unused_row(row); sw_value[row][adjusted_col] = ec_readkey_raw(amux, row, col); if (ec_config.bottoming_calibration) { @@ -229,7 +252,7 @@ uint16_t ec_readkey_raw(uint8_t channel, uint8_t row, uint8_t col) { } // Update press/release state of key -bool ec_update_key(matrix_row_t* current_row, uint8_t row, uint8_t col, uint16_t sw_value) { +bool ec_update_key(matrix_row_t *current_row, uint8_t row, uint8_t col, uint16_t sw_value) { bool current_state = (*current_row >> col) & 1; // Real Time Noise Floor Calibration @@ -266,7 +289,7 @@ bool ec_update_key(matrix_row_t* current_row, uint8_t row, uint8_t col, uint16_t uprintf("Key pressed: %d, %d, %d\n", row, col, sw_value); } // Has key moved up enough to be released? - else if (sw_value < ec_config.extremum[row][col] - ec_config.mode_1_release_offset) { + else if (sw_value < ec_config.extremum[row][col] - ec_config.rescaled_mode_1_release_offset[row][col]) { ec_config.extremum[row][col] = sw_value; *current_row &= ~(1 << col); uprintf("Key released: %d, %d, %d\n", row, col, sw_value); @@ -280,7 +303,7 @@ bool ec_update_key(matrix_row_t* current_row, uint8_t row, uint8_t col, uint16_t ec_config.extremum[row][col] = sw_value; } // Has key moved down enough to be pressed? - else if (sw_value > ec_config.extremum[row][col] + ec_config.mode_1_actuation_offset) { + else if (sw_value > ec_config.extremum[row][col] + ec_config.rescaled_mode_1_actuation_offset[row][col]) { ec_config.extremum[row][col] = sw_value; *current_row |= (1 << col); uprintf("Key pressed: %d, %d, %d\n", row, col, sw_value); @@ -312,6 +335,18 @@ void ec_print_matrix(void) { print("\n"); } +// Check if the position is unused +#ifdef UNUSED_POSITIONS_LIST +bool is_unused_position(uint8_t row, uint8_t col) { + for (uint8_t i = 0; i < UNUSED_POSITIONS_COUNT; i++) { + if (UNUSED_POSITIONS[i][0] == row && UNUSED_POSITIONS[i][1] == col) { + return true; + } + } + return false; +} +#endif + // Rescale the value to a different range uint16_t rescale(uint16_t x, uint16_t in_min, uint16_t in_max, uint16_t out_min, uint16_t out_max) { return (x - in_min) * (out_max - out_min) / (in_max - in_min) + out_min; diff --git a/keyboards/cipulot/ec_980c/ec_switch_matrix.h b/keyboards/cipulot/ec_980c/ec_switch_matrix.h index 8a75b5de5fb..a89f8970ab1 100644 --- a/keyboards/cipulot/ec_980c/ec_switch_matrix.h +++ b/keyboards/cipulot/ec_980c/ec_switch_matrix.h @@ -47,11 +47,13 @@ typedef struct { uint16_t mode_0_actuation_threshold; // threshold for key press in mode 0 uint16_t mode_0_release_threshold; // threshold for key release in mode 0 uint16_t mode_1_initial_deadzone_offset; // threshold for key press in mode 1 (initial deadzone) + uint8_t mode_1_actuation_offset; // offset for key press in mode 1 (1-255) + uint8_t mode_1_release_offset; // offset for key release in mode 1 (1-255) uint16_t rescaled_mode_0_actuation_threshold[MATRIX_ROWS][MATRIX_COLS]; // threshold for key press in mode 0 rescaled to actual scale uint16_t rescaled_mode_0_release_threshold[MATRIX_ROWS][MATRIX_COLS]; // threshold for key release in mode 0 rescaled to actual scale uint16_t rescaled_mode_1_initial_deadzone_offset[MATRIX_ROWS][MATRIX_COLS]; // threshold for key press in mode 1 (initial deadzone) rescaled to actual scale - uint8_t mode_1_actuation_offset; // offset for key press in mode 1 (1-255) - uint8_t mode_1_release_offset; // offset for key release in mode 1 (1-255) + uint8_t rescaled_mode_1_actuation_offset[MATRIX_ROWS][MATRIX_COLS]; // offset for key press in mode 1 rescaled to actual scale + uint8_t rescaled_mode_1_release_offset[MATRIX_ROWS][MATRIX_COLS]; // offset for key release in mode 1 rescaled to actual scale uint16_t extremum[MATRIX_ROWS][MATRIX_COLS]; // extremum values for mode 1 uint16_t noise_floor[MATRIX_ROWS][MATRIX_COLS]; // noise floor detected during startup bool bottoming_calibration; // calibration mode for bottoming out values (true: calibration mode, false: normal mode) @@ -81,3 +83,7 @@ bool ec_update_key(matrix_row_t* current_row, uint8_t row, uint8_t col, uint void ec_print_matrix(void); uint16_t rescale(uint16_t x, uint16_t in_min, uint16_t in_max, uint16_t out_min, uint16_t out_max); + +#ifdef UNUSED_POSITIONS_LIST +bool is_unused_position(uint8_t row, uint8_t col); +#endif diff --git a/keyboards/cipulot/ec_alveus/1_0_0/config.h b/keyboards/cipulot/ec_alveus/1_0_0/config.h index ab51289c023..995ede408bd 100644 --- a/keyboards/cipulot/ec_alveus/1_0_0/config.h +++ b/keyboards/cipulot/ec_alveus/1_0_0/config.h @@ -19,6 +19,8 @@ #define MATRIX_ROWS 5 #define MATRIX_COLS 16 +#define UNUSED_POSITIONS_LIST { {2, 12}, {3, 11}, {3, 12}, {4, 3}, {4, 4}, {4, 6}, {4, 7}, {4, 8}, {4, 9}, {4, 10} } + #define MATRIX_ROW_PINS \ { A14, B3, A15, B5, B4 } diff --git a/keyboards/cipulot/ec_alveus/1_0_0/post_rules.mk b/keyboards/cipulot/ec_alveus/1_0_0/post_rules.mk index d726a112a8c..5dba48cc5fd 100644 --- a/keyboards/cipulot/ec_alveus/1_0_0/post_rules.mk +++ b/keyboards/cipulot/ec_alveus/1_0_0/post_rules.mk @@ -1,3 +1 @@ -ifeq ($(strip $(VIA_ENABLE)), yes) - SRC += keyboards/cipulot/common/via_ec.c -endif +include keyboards/cipulot/common/common_cipulot.mk diff --git a/keyboards/cipulot/ec_alveus/1_0_0/rules.mk b/keyboards/cipulot/ec_alveus/1_0_0/rules.mk index ce525670a68..1716098b3e1 100644 --- a/keyboards/cipulot/ec_alveus/1_0_0/rules.mk +++ b/keyboards/cipulot/ec_alveus/1_0_0/rules.mk @@ -1,5 +1 @@ -CUSTOM_MATRIX = lite -ANALOG_DRIVER_REQUIRED = yes -VPATH += keyboards/cipulot/common -SRC += matrix.c ec_board.c ec_switch_matrix.c OPT = 3 diff --git a/keyboards/cipulot/ec_alveus/1_2_0/config.h b/keyboards/cipulot/ec_alveus/1_2_0/config.h index ab51289c023..05276c1d75d 100644 --- a/keyboards/cipulot/ec_alveus/1_2_0/config.h +++ b/keyboards/cipulot/ec_alveus/1_2_0/config.h @@ -19,6 +19,8 @@ #define MATRIX_ROWS 5 #define MATRIX_COLS 16 +#define UNUSED_POSITIONS_LIST { {3, 11}, {3, 12}, {4, 3}, {4, 4}, {4, 6}, {4, 7}, {4, 8}, {4, 9}, {4, 10} } + #define MATRIX_ROW_PINS \ { A14, B3, A15, B5, B4 } diff --git a/keyboards/cipulot/ec_alveus/1_2_0/post_rules.mk b/keyboards/cipulot/ec_alveus/1_2_0/post_rules.mk index d726a112a8c..5dba48cc5fd 100644 --- a/keyboards/cipulot/ec_alveus/1_2_0/post_rules.mk +++ b/keyboards/cipulot/ec_alveus/1_2_0/post_rules.mk @@ -1,3 +1 @@ -ifeq ($(strip $(VIA_ENABLE)), yes) - SRC += keyboards/cipulot/common/via_ec.c -endif +include keyboards/cipulot/common/common_cipulot.mk diff --git a/keyboards/cipulot/ec_alveus/1_2_0/rules.mk b/keyboards/cipulot/ec_alveus/1_2_0/rules.mk index ce525670a68..1716098b3e1 100644 --- a/keyboards/cipulot/ec_alveus/1_2_0/rules.mk +++ b/keyboards/cipulot/ec_alveus/1_2_0/rules.mk @@ -1,5 +1 @@ -CUSTOM_MATRIX = lite -ANALOG_DRIVER_REQUIRED = yes -VPATH += keyboards/cipulot/common -SRC += matrix.c ec_board.c ec_switch_matrix.c OPT = 3 diff --git a/keyboards/cipulot/ec_dolice/config.h b/keyboards/cipulot/ec_dolice/config.h index a5c56e79491..2048fd4449e 100644 --- a/keyboards/cipulot/ec_dolice/config.h +++ b/keyboards/cipulot/ec_dolice/config.h @@ -19,6 +19,8 @@ #define MATRIX_ROWS 5 #define MATRIX_COLS 15 +#define UNUSED_POSITIONS_LIST { {2, 14}, {4, 0}, {4, 2}, {4, 4}, {4, 7}, {4, 9}, {4, 11}, {4, 12}, {4, 13} } + #define MATRIX_ROW_PINS \ { B13, A8, B12, B14, B15 } diff --git a/keyboards/cipulot/ec_dolice/post_rules.mk b/keyboards/cipulot/ec_dolice/post_rules.mk index d726a112a8c..5dba48cc5fd 100644 --- a/keyboards/cipulot/ec_dolice/post_rules.mk +++ b/keyboards/cipulot/ec_dolice/post_rules.mk @@ -1,3 +1 @@ -ifeq ($(strip $(VIA_ENABLE)), yes) - SRC += keyboards/cipulot/common/via_ec.c -endif +include keyboards/cipulot/common/common_cipulot.mk diff --git a/keyboards/cipulot/ec_dolice/rules.mk b/keyboards/cipulot/ec_dolice/rules.mk index ce525670a68..1716098b3e1 100644 --- a/keyboards/cipulot/ec_dolice/rules.mk +++ b/keyboards/cipulot/ec_dolice/rules.mk @@ -1,5 +1 @@ -CUSTOM_MATRIX = lite -ANALOG_DRIVER_REQUIRED = yes -VPATH += keyboards/cipulot/common -SRC += matrix.c ec_board.c ec_switch_matrix.c OPT = 3 diff --git a/keyboards/cipulot/ec_menhir/config.h b/keyboards/cipulot/ec_menhir/config.h index bd0094c7f15..d70fed7a3b4 100644 --- a/keyboards/cipulot/ec_menhir/config.h +++ b/keyboards/cipulot/ec_menhir/config.h @@ -19,6 +19,8 @@ #define MATRIX_ROWS 4 #define MATRIX_COLS 12 +#define UNUSED_POSITIONS_LIST { {2, 11}, {3, 0}, {3, 3}, {3, 7}, {3, 10}, {3, 11} } + #define MATRIX_ROW_PINS \ { A0, A3, A2, A1 } diff --git a/keyboards/cipulot/ec_menhir/post_rules.mk b/keyboards/cipulot/ec_menhir/post_rules.mk index d726a112a8c..5dba48cc5fd 100644 --- a/keyboards/cipulot/ec_menhir/post_rules.mk +++ b/keyboards/cipulot/ec_menhir/post_rules.mk @@ -1,3 +1 @@ -ifeq ($(strip $(VIA_ENABLE)), yes) - SRC += keyboards/cipulot/common/via_ec.c -endif +include keyboards/cipulot/common/common_cipulot.mk diff --git a/keyboards/cipulot/ec_pro2/config.h b/keyboards/cipulot/ec_pro2/config.h index a05e716823a..63c81a6364b 100644 --- a/keyboards/cipulot/ec_pro2/config.h +++ b/keyboards/cipulot/ec_pro2/config.h @@ -19,6 +19,8 @@ #define MATRIX_ROWS 5 #define MATRIX_COLS 15 +#define UNUSED_POSITIONS_LIST { {1, 14}, {2, 14}, {3, 12}, {4, 0}, {4, 3}, {4, 4}, {4, 5}, {4, 7}, {4, 8}, {4, 11}, {4, 12}, {4, 13}, {4, 14} } + #define MATRIX_ROW_PINS \ { B15, A8, B0, A7, B1 } diff --git a/keyboards/cipulot/ec_pro2/post_rules.mk b/keyboards/cipulot/ec_pro2/post_rules.mk index d726a112a8c..5dba48cc5fd 100644 --- a/keyboards/cipulot/ec_pro2/post_rules.mk +++ b/keyboards/cipulot/ec_pro2/post_rules.mk @@ -1,3 +1 @@ -ifeq ($(strip $(VIA_ENABLE)), yes) - SRC += keyboards/cipulot/common/via_ec.c -endif +include keyboards/cipulot/common/common_cipulot.mk diff --git a/keyboards/cipulot/ec_pro2/rules.mk b/keyboards/cipulot/ec_pro2/rules.mk index 318e0215ce9..3aa0e2bf061 100644 --- a/keyboards/cipulot/ec_pro2/rules.mk +++ b/keyboards/cipulot/ec_pro2/rules.mk @@ -1,5 +1 @@ -CUSTOM_MATRIX = lite -ANALOG_DRIVER_REQUIRED = yes -VPATH += keyboards/cipulot/common -SRC += matrix.c ec_board.c ec_switch_matrix.c OPT = 2 diff --git a/keyboards/cipulot/ec_prox/ansi_iso/config.h b/keyboards/cipulot/ec_prox/ansi_iso/config.h index bf25d0b7128..00794921a36 100644 --- a/keyboards/cipulot/ec_prox/ansi_iso/config.h +++ b/keyboards/cipulot/ec_prox/ansi_iso/config.h @@ -19,6 +19,8 @@ #define MATRIX_ROWS 5 #define MATRIX_COLS 15 +#define UNUSED_POSITIONS_LIST { {1, 14}, {2, 14}, {3, 12}, {4, 0}, {4, 3}, {4, 4}, {4, 5}, {4, 7}, {4, 8}, {4, 11}, {4, 12}, {4, 13}, {4, 14} } + #define MATRIX_ROW_PINS \ { A7, B0, A4, A5, A6 } diff --git a/keyboards/cipulot/ec_prox/ansi_iso/post_rules.mk b/keyboards/cipulot/ec_prox/ansi_iso/post_rules.mk index d726a112a8c..5dba48cc5fd 100644 --- a/keyboards/cipulot/ec_prox/ansi_iso/post_rules.mk +++ b/keyboards/cipulot/ec_prox/ansi_iso/post_rules.mk @@ -1,3 +1 @@ -ifeq ($(strip $(VIA_ENABLE)), yes) - SRC += keyboards/cipulot/common/via_ec.c -endif +include keyboards/cipulot/common/common_cipulot.mk diff --git a/keyboards/cipulot/ec_prox/ansi_iso/rules.mk b/keyboards/cipulot/ec_prox/ansi_iso/rules.mk index 318e0215ce9..3aa0e2bf061 100644 --- a/keyboards/cipulot/ec_prox/ansi_iso/rules.mk +++ b/keyboards/cipulot/ec_prox/ansi_iso/rules.mk @@ -1,5 +1 @@ -CUSTOM_MATRIX = lite -ANALOG_DRIVER_REQUIRED = yes -VPATH += keyboards/cipulot/common -SRC += matrix.c ec_board.c ec_switch_matrix.c OPT = 2 diff --git a/keyboards/cipulot/ec_prox/jis/config.h b/keyboards/cipulot/ec_prox/jis/config.h index fd3c048bc38..d7461097cd5 100644 --- a/keyboards/cipulot/ec_prox/jis/config.h +++ b/keyboards/cipulot/ec_prox/jis/config.h @@ -19,6 +19,8 @@ #define MATRIX_ROWS 5 #define MATRIX_COLS 14 +#define UNUSED_POSITIONS_LIST { {4, 6} } + #define MATRIX_ROW_PINS \ { A7, B0, A4, A5, A6 } diff --git a/keyboards/cipulot/ec_prox/jis/post_rules.mk b/keyboards/cipulot/ec_prox/jis/post_rules.mk index d726a112a8c..5dba48cc5fd 100644 --- a/keyboards/cipulot/ec_prox/jis/post_rules.mk +++ b/keyboards/cipulot/ec_prox/jis/post_rules.mk @@ -1,3 +1 @@ -ifeq ($(strip $(VIA_ENABLE)), yes) - SRC += keyboards/cipulot/common/via_ec.c -endif +include keyboards/cipulot/common/common_cipulot.mk diff --git a/keyboards/cipulot/ec_prox/jis/rules.mk b/keyboards/cipulot/ec_prox/jis/rules.mk index 318e0215ce9..3aa0e2bf061 100644 --- a/keyboards/cipulot/ec_prox/jis/rules.mk +++ b/keyboards/cipulot/ec_prox/jis/rules.mk @@ -1,5 +1 @@ -CUSTOM_MATRIX = lite -ANALOG_DRIVER_REQUIRED = yes -VPATH += keyboards/cipulot/common -SRC += matrix.c ec_board.c ec_switch_matrix.c OPT = 2 diff --git a/keyboards/cipulot/ec_theca/config.h b/keyboards/cipulot/ec_theca/config.h index d9fea559675..e62801b10fc 100644 --- a/keyboards/cipulot/ec_theca/config.h +++ b/keyboards/cipulot/ec_theca/config.h @@ -19,6 +19,8 @@ #define MATRIX_ROWS 6 #define MATRIX_COLS 16 +#define UNUSED_POSITIONS_LIST { {3, 12}, {4, 11}, {4, 12}, {5, 3}, {5, 4}, {5, 6}, {5, 7}, {5, 8}, {5, 9} } + #define MATRIX_ROW_PINS \ { B4, A14, B3, A15, B6, B5 } diff --git a/keyboards/cipulot/ec_theca/post_rules.mk b/keyboards/cipulot/ec_theca/post_rules.mk index d726a112a8c..5dba48cc5fd 100644 --- a/keyboards/cipulot/ec_theca/post_rules.mk +++ b/keyboards/cipulot/ec_theca/post_rules.mk @@ -1,3 +1 @@ -ifeq ($(strip $(VIA_ENABLE)), yes) - SRC += keyboards/cipulot/common/via_ec.c -endif +include keyboards/cipulot/common/common_cipulot.mk diff --git a/keyboards/cipulot/ec_theca/rules.mk b/keyboards/cipulot/ec_theca/rules.mk index ce525670a68..1716098b3e1 100644 --- a/keyboards/cipulot/ec_theca/rules.mk +++ b/keyboards/cipulot/ec_theca/rules.mk @@ -1,5 +1 @@ -CUSTOM_MATRIX = lite -ANALOG_DRIVER_REQUIRED = yes -VPATH += keyboards/cipulot/common -SRC += matrix.c ec_board.c ec_switch_matrix.c OPT = 3 diff --git a/keyboards/cipulot/ec_tkl/config.h b/keyboards/cipulot/ec_tkl/config.h index 95a7f9137a1..d2178fa869d 100644 --- a/keyboards/cipulot/ec_tkl/config.h +++ b/keyboards/cipulot/ec_tkl/config.h @@ -19,6 +19,8 @@ #define MATRIX_ROWS 6 #define MATRIX_COLS 16 +#define UNUSED_POSITIONS_LIST { {5, 3}, {5, 5} } + #define MATRIX_ROW_PINS \ { B6, B5, B12, B10, B13, B7 } diff --git a/keyboards/cipulot/ec_tkl/post_rules.mk b/keyboards/cipulot/ec_tkl/post_rules.mk index d726a112a8c..5dba48cc5fd 100644 --- a/keyboards/cipulot/ec_tkl/post_rules.mk +++ b/keyboards/cipulot/ec_tkl/post_rules.mk @@ -1,3 +1 @@ -ifeq ($(strip $(VIA_ENABLE)), yes) - SRC += keyboards/cipulot/common/via_ec.c -endif +include keyboards/cipulot/common/common_cipulot.mk diff --git a/keyboards/cipulot/ec_tkl/rules.mk b/keyboards/cipulot/ec_tkl/rules.mk index 318e0215ce9..3aa0e2bf061 100644 --- a/keyboards/cipulot/ec_tkl/rules.mk +++ b/keyboards/cipulot/ec_tkl/rules.mk @@ -1,5 +1 @@ -CUSTOM_MATRIX = lite -ANALOG_DRIVER_REQUIRED = yes -VPATH += keyboards/cipulot/common -SRC += matrix.c ec_board.c ec_switch_matrix.c OPT = 2 diff --git a/keyboards/cipulot/ec_typeb/config.h b/keyboards/cipulot/ec_typeb/config.h index bf25d0b7128..908bae13e65 100644 --- a/keyboards/cipulot/ec_typeb/config.h +++ b/keyboards/cipulot/ec_typeb/config.h @@ -19,6 +19,8 @@ #define MATRIX_ROWS 5 #define MATRIX_COLS 15 +#define UNUSED_POSITIONS_LIST { {1, 14}, {2, 12}, {2, 14}, {3, 1}, {3, 12}, {4, 0}, {4, 3}, {4, 4}, {4, 5}, {4, 7}, {4, 8}, {4, 11}, {4, 12}, {4, 13}, {4, 14} } + #define MATRIX_ROW_PINS \ { A7, B0, A4, A5, A6 } diff --git a/keyboards/cipulot/ec_typeb/post_rules.mk b/keyboards/cipulot/ec_typeb/post_rules.mk index d726a112a8c..5dba48cc5fd 100644 --- a/keyboards/cipulot/ec_typeb/post_rules.mk +++ b/keyboards/cipulot/ec_typeb/post_rules.mk @@ -1,3 +1 @@ -ifeq ($(strip $(VIA_ENABLE)), yes) - SRC += keyboards/cipulot/common/via_ec.c -endif +include keyboards/cipulot/common/common_cipulot.mk diff --git a/keyboards/cipulot/ec_typeb/rules.mk b/keyboards/cipulot/ec_typeb/rules.mk index ce525670a68..1716098b3e1 100644 --- a/keyboards/cipulot/ec_typeb/rules.mk +++ b/keyboards/cipulot/ec_typeb/rules.mk @@ -1,5 +1 @@ -CUSTOM_MATRIX = lite -ANALOG_DRIVER_REQUIRED = yes -VPATH += keyboards/cipulot/common -SRC += matrix.c ec_board.c ec_switch_matrix.c OPT = 3 diff --git a/keyboards/cipulot/ec_typek/config.h b/keyboards/cipulot/ec_typek/config.h index a6619c600c8..9821dcbba66 100644 --- a/keyboards/cipulot/ec_typek/config.h +++ b/keyboards/cipulot/ec_typek/config.h @@ -17,6 +17,8 @@ #define MATRIX_ROWS 5 #define MATRIX_COLS 15 +#define UNUSED_POSITIONS_LIST { {2, 13}, {4, 2}, {4, 4}, {4, 9}, {4, 11}, {4, 12}, {4, 14} } + #define MATRIX_ROW_PINS \ { B14, B13, B12, A6, A7 } diff --git a/keyboards/cipulot/ec_typek/ec_switch_matrix.c b/keyboards/cipulot/ec_typek/ec_switch_matrix.c index da58a75bbcf..ca555378255 100644 --- a/keyboards/cipulot/ec_typek/ec_switch_matrix.c +++ b/keyboards/cipulot/ec_typek/ec_switch_matrix.c @@ -37,6 +37,11 @@ const pin_t amux_en_pins[] = AMUX_EN_PINS; const pin_t amux_n_col_sizes[] = AMUX_COL_CHANNELS_SIZES; const pin_t amux_n_col_channels[][AMUX_MAX_COLS_COUNT] = {AMUX_COL_CHANNELS}; +#ifdef UNUSED_POSITIONS_LIST +const uint8_t UNUSED_POSITIONS[][2] = UNUSED_POSITIONS_LIST; +# define UNUSED_POSITIONS_COUNT (sizeof(UNUSED_POSITIONS) / sizeof(UNUSED_POSITIONS[0])) +#endif + #define AMUX_SEL_PINS_COUNT ARRAY_SIZE(amux_sel_pins) #define EXPECTED_AMUX_SEL_PINS_COUNT ceil(log2(AMUX_MAX_COLS_COUNT) // Checks for the correctness of the configuration @@ -70,6 +75,16 @@ void init_amux(void) { } } +// Disable all the unused rows +void disable_unused_row(uint8_t row) { + // disable all the other rows apart from the current selected one + for (uint8_t idx = 0; idx < MATRIX_ROWS; idx++) { + if (idx != row) { + gpio_write_pin_low(row_pins[idx]); + } + } +} + // Select the multiplexer channel of the specified multiplexer void select_amux_channel(uint8_t channel, uint8_t col) { // Get the channel for the specified multiplexer @@ -158,6 +173,10 @@ void ec_noise_floor(void) { sum += amux_n_col_sizes[i]; uint8_t adjusted_col = col + sum; for (uint8_t row = 0; row < MATRIX_ROWS; row++) { +#ifdef UNUSED_POSITIONS_LIST + if (is_unused_position(row, adjusted_col)) continue; +#endif + disable_unused_row(row); ec_config.noise_floor[row][adjusted_col] += ec_readkey_raw(amux, row, col); } } @@ -180,11 +199,15 @@ bool ec_matrix_scan(matrix_row_t current_matrix[]) { for (uint8_t amux = 0; amux < AMUX_COUNT; amux++) { disable_unused_amux(amux); for (uint8_t col = 0; col < amux_n_col_sizes[amux]; col++) { + uint8_t sum = 0; + for (uint8_t i = 0; i < (amux > 0 ? amux : 0); i++) + sum += amux_n_col_sizes[i]; + uint8_t adjusted_col = col + sum; for (uint8_t row = 0; row < MATRIX_ROWS; row++) { - uint8_t sum = 0; - for (uint8_t i = 0; i < (amux > 0 ? amux : 0); i++) - sum += amux_n_col_sizes[i]; - uint8_t adjusted_col = col + sum; +#ifdef UNUSED_POSITIONS_LIST + if (is_unused_position(row, adjusted_col)) continue; +#endif + disable_unused_row(row); sw_value[row][adjusted_col] = ec_readkey_raw(amux, row, col); if (ec_config.bottoming_calibration) { @@ -229,7 +252,7 @@ uint16_t ec_readkey_raw(uint8_t channel, uint8_t row, uint8_t col) { } // Update press/release state of key -bool ec_update_key(matrix_row_t* current_row, uint8_t row, uint8_t col, uint16_t sw_value) { +bool ec_update_key(matrix_row_t *current_row, uint8_t row, uint8_t col, uint16_t sw_value) { bool current_state = (*current_row >> col) & 1; // Real Time Noise Floor Calibration @@ -266,7 +289,7 @@ bool ec_update_key(matrix_row_t* current_row, uint8_t row, uint8_t col, uint16_t uprintf("Key pressed: %d, %d, %d\n", row, col, sw_value); } // Has key moved up enough to be released? - else if (sw_value < ec_config.extremum[row][col] - ec_config.mode_1_release_offset) { + else if (sw_value < ec_config.extremum[row][col] - ec_config.rescaled_mode_1_release_offset[row][col]) { ec_config.extremum[row][col] = sw_value; *current_row &= ~(1 << col); uprintf("Key released: %d, %d, %d\n", row, col, sw_value); @@ -280,7 +303,7 @@ bool ec_update_key(matrix_row_t* current_row, uint8_t row, uint8_t col, uint16_t ec_config.extremum[row][col] = sw_value; } // Has key moved down enough to be pressed? - else if (sw_value > ec_config.extremum[row][col] + ec_config.mode_1_actuation_offset) { + else if (sw_value > ec_config.extremum[row][col] + ec_config.rescaled_mode_1_actuation_offset[row][col]) { ec_config.extremum[row][col] = sw_value; *current_row |= (1 << col); uprintf("Key pressed: %d, %d, %d\n", row, col, sw_value); @@ -312,6 +335,18 @@ void ec_print_matrix(void) { print("\n"); } +// Check if the position is unused +#ifdef UNUSED_POSITIONS_LIST +bool is_unused_position(uint8_t row, uint8_t col) { + for (uint8_t i = 0; i < UNUSED_POSITIONS_COUNT; i++) { + if (UNUSED_POSITIONS[i][0] == row && UNUSED_POSITIONS[i][1] == col) { + return true; + } + } + return false; +} +#endif + // Rescale the value to a different range uint16_t rescale(uint16_t x, uint16_t in_min, uint16_t in_max, uint16_t out_min, uint16_t out_max) { return (x - in_min) * (out_max - out_min) / (in_max - in_min) + out_min; diff --git a/keyboards/cipulot/ec_typek/ec_switch_matrix.h b/keyboards/cipulot/ec_typek/ec_switch_matrix.h index fad20360bc7..e3b6afb976d 100644 --- a/keyboards/cipulot/ec_typek/ec_switch_matrix.h +++ b/keyboards/cipulot/ec_typek/ec_switch_matrix.h @@ -33,13 +33,13 @@ typedef struct PACKED { indicator_config num; indicator_config caps; indicator_config scroll; - uint8_t actuation_mode; // 0: normal board-wide APC, 1: Rapid trigger from specific board-wide actuation point, 2: Rapid trigger from resting point - uint16_t mode_0_actuation_threshold; // threshold for key press in mode 0 - uint16_t mode_0_release_threshold; // threshold for key release in mode 0 - uint16_t mode_1_initial_deadzone_offset; // threshold for key press in mode 1 - uint8_t mode_1_actuation_offset; // offset for key press in mode 1 and 2 (1-255) - uint8_t mode_1_release_offset; // offset for key release in mode 1 and 2 (1-255) - uint16_t bottoming_reading[MATRIX_ROWS][MATRIX_COLS]; // bottoming reading + uint8_t actuation_mode; // 0: normal board-wide APC, 1: Rapid trigger from specific board-wide actuation point, 2: Rapid trigger from resting point + uint16_t mode_0_actuation_threshold; // threshold for key press in mode 0 + uint16_t mode_0_release_threshold; // threshold for key release in mode 0 + uint16_t mode_1_initial_deadzone_offset; // threshold for key press in mode 1 + uint8_t mode_1_actuation_offset; // offset for key press in mode 1 and 2 (1-255) + uint8_t mode_1_release_offset; // offset for key release in mode 1 and 2 (1-255) + uint16_t bottoming_reading[MATRIX_ROWS][MATRIX_COLS]; // bottoming reading } eeprom_ec_config_t; typedef struct { @@ -47,11 +47,13 @@ typedef struct { uint16_t mode_0_actuation_threshold; // threshold for key press in mode 0 uint16_t mode_0_release_threshold; // threshold for key release in mode 0 uint16_t mode_1_initial_deadzone_offset; // threshold for key press in mode 1 (initial deadzone) + uint8_t mode_1_actuation_offset; // offset for key press in mode 1 (1-255) + uint8_t mode_1_release_offset; // offset for key release in mode 1 (1-255) uint16_t rescaled_mode_0_actuation_threshold[MATRIX_ROWS][MATRIX_COLS]; // threshold for key press in mode 0 rescaled to actual scale uint16_t rescaled_mode_0_release_threshold[MATRIX_ROWS][MATRIX_COLS]; // threshold for key release in mode 0 rescaled to actual scale uint16_t rescaled_mode_1_initial_deadzone_offset[MATRIX_ROWS][MATRIX_COLS]; // threshold for key press in mode 1 (initial deadzone) rescaled to actual scale - uint8_t mode_1_actuation_offset; // offset for key press in mode 1 (1-255) - uint8_t mode_1_release_offset; // offset for key release in mode 1 (1-255) + uint8_t rescaled_mode_1_actuation_offset[MATRIX_ROWS][MATRIX_COLS]; // offset for key press in mode 1 rescaled to actual scale + uint8_t rescaled_mode_1_release_offset[MATRIX_ROWS][MATRIX_COLS]; // offset for key release in mode 1 rescaled to actual scale uint16_t extremum[MATRIX_ROWS][MATRIX_COLS]; // extremum values for mode 1 uint16_t noise_floor[MATRIX_ROWS][MATRIX_COLS]; // noise floor detected during startup bool bottoming_calibration; // calibration mode for bottoming out values (true: calibration mode, false: normal mode) @@ -82,3 +84,7 @@ void ec_print_matrix(void); uint16_t rescale(uint16_t x, uint16_t in_min, uint16_t in_max, uint16_t out_min, uint16_t out_max); bool indicators_callback(void); + +#ifdef UNUSED_POSITIONS_LIST +bool is_unused_position(uint8_t row, uint8_t col); +#endif diff --git a/keyboards/cipulot/ec_typek/ec_typek.c b/keyboards/cipulot/ec_typek/ec_typek.c index b899ddbb8a8..d4241f66f1e 100644 --- a/keyboards/cipulot/ec_typek/ec_typek.c +++ b/keyboards/cipulot/ec_typek/ec_typek.c @@ -69,6 +69,8 @@ void keyboard_post_init_kb(void) { ec_config.rescaled_mode_0_actuation_threshold[row][col] = rescale(ec_config.mode_0_actuation_threshold, 0, 1023, ec_config.noise_floor[row][col], eeprom_ec_config.bottoming_reading[row][col]); ec_config.rescaled_mode_0_release_threshold[row][col] = rescale(ec_config.mode_0_release_threshold, 0, 1023, ec_config.noise_floor[row][col], eeprom_ec_config.bottoming_reading[row][col]); ec_config.rescaled_mode_1_initial_deadzone_offset[row][col] = rescale(ec_config.mode_1_initial_deadzone_offset, 0, 1023, ec_config.noise_floor[row][col], eeprom_ec_config.bottoming_reading[row][col]); + ec_config.rescaled_mode_1_actuation_offset[row][col] = rescale(ec_config.mode_1_actuation_offset, 0, 1023, ec_config.noise_floor[row][col], eeprom_ec_config.bottoming_reading[row][col]); + ec_config.rescaled_mode_1_release_offset[row][col] = rescale(ec_config.mode_1_release_offset, 0, 1023, ec_config.noise_floor[row][col], eeprom_ec_config.bottoming_reading[row][col]); } } @@ -82,7 +84,7 @@ void keyboard_post_init_kb(void) { // This function gets called when caps, num, scroll change bool led_update_kb(led_t led_state) { - if(led_update_user(led_state)) { + if (led_update_user(led_state)) { indicators_callback(); } return true; diff --git a/keyboards/cipulot/ec_vero/config.h b/keyboards/cipulot/ec_vero/config.h index 89f7474b552..d86c0b6ab04 100644 --- a/keyboards/cipulot/ec_vero/config.h +++ b/keyboards/cipulot/ec_vero/config.h @@ -19,6 +19,8 @@ #define MATRIX_ROWS 5 #define MATRIX_COLS 15 +#define UNUSED_POSITIONS_LIST { {2, 14}, {3, 12}, {4, 0}, {4, 3}, {4, 4}, {4, 5}, {4, 7}, {4, 8}, {4, 9}, {4, 12}, {4, 13}, {4, 14} } + #define MATRIX_ROW_PINS \ { B7, B6, A9, A10, B3 } diff --git a/keyboards/cipulot/ec_vero/post_rules.mk b/keyboards/cipulot/ec_vero/post_rules.mk index d726a112a8c..5dba48cc5fd 100644 --- a/keyboards/cipulot/ec_vero/post_rules.mk +++ b/keyboards/cipulot/ec_vero/post_rules.mk @@ -1,3 +1 @@ -ifeq ($(strip $(VIA_ENABLE)), yes) - SRC += keyboards/cipulot/common/via_ec.c -endif +include keyboards/cipulot/common/common_cipulot.mk diff --git a/keyboards/cipulot/ec_vero/rules.mk b/keyboards/cipulot/ec_vero/rules.mk index ce525670a68..1716098b3e1 100644 --- a/keyboards/cipulot/ec_vero/rules.mk +++ b/keyboards/cipulot/ec_vero/rules.mk @@ -1,5 +1 @@ -CUSTOM_MATRIX = lite -ANALOG_DRIVER_REQUIRED = yes -VPATH += keyboards/cipulot/common -SRC += matrix.c ec_board.c ec_switch_matrix.c OPT = 3 diff --git a/keyboards/cipulot/ec_virgo/config.h b/keyboards/cipulot/ec_virgo/config.h index 2fce8cd7fa7..87cfbcdd76a 100644 --- a/keyboards/cipulot/ec_virgo/config.h +++ b/keyboards/cipulot/ec_virgo/config.h @@ -19,6 +19,8 @@ #define MATRIX_ROWS 6 #define MATRIX_COLS 18 +#define UNUSED_POSITIONS_LIST { {0, 6}, {0, 14}, {3, 14}, {3, 15}, {3, 16}, {3, 17}, {4, 12}, {4, 15}, {4, 17}, {5, 1}, {5, 4}, {5, 8}, {5, 11}, {5, 12}, {5, 14} } + #define MATRIX_ROW_PINS \ { B6, B7, B5, B4, B3, A15 } diff --git a/keyboards/cipulot/ec_virgo/post_rules.mk b/keyboards/cipulot/ec_virgo/post_rules.mk index d726a112a8c..5dba48cc5fd 100644 --- a/keyboards/cipulot/ec_virgo/post_rules.mk +++ b/keyboards/cipulot/ec_virgo/post_rules.mk @@ -1,3 +1 @@ -ifeq ($(strip $(VIA_ENABLE)), yes) - SRC += keyboards/cipulot/common/via_ec.c -endif +include keyboards/cipulot/common/common_cipulot.mk diff --git a/keyboards/cipulot/ec_virgo/rules.mk b/keyboards/cipulot/ec_virgo/rules.mk index ce525670a68..1716098b3e1 100644 --- a/keyboards/cipulot/ec_virgo/rules.mk +++ b/keyboards/cipulot/ec_virgo/rules.mk @@ -1,5 +1 @@ -CUSTOM_MATRIX = lite -ANALOG_DRIVER_REQUIRED = yes -VPATH += keyboards/cipulot/common -SRC += matrix.c ec_board.c ec_switch_matrix.c OPT = 3 diff --git a/keyboards/cipulot/mnk_60_ec/config.h b/keyboards/cipulot/mnk_60_ec/config.h index 1a7df486572..1f31c91aaa1 100644 --- a/keyboards/cipulot/mnk_60_ec/config.h +++ b/keyboards/cipulot/mnk_60_ec/config.h @@ -19,6 +19,8 @@ #define MATRIX_ROWS 5 #define MATRIX_COLS 14 +#define UNUSED_POSITIONS_LIST { {3, 13}, {4, 3}, {4, 4}, {4, 6}, {4, 7}, {4, 8}, {4, 9}, {4, 13} } + #define MATRIX_ROW_PINS \ { B13, B14, B15, A8, A15 } diff --git a/keyboards/cipulot/mnk_60_ec/post_rules.mk b/keyboards/cipulot/mnk_60_ec/post_rules.mk index d726a112a8c..5dba48cc5fd 100644 --- a/keyboards/cipulot/mnk_60_ec/post_rules.mk +++ b/keyboards/cipulot/mnk_60_ec/post_rules.mk @@ -1,3 +1 @@ -ifeq ($(strip $(VIA_ENABLE)), yes) - SRC += keyboards/cipulot/common/via_ec.c -endif +include keyboards/cipulot/common/common_cipulot.mk diff --git a/keyboards/cipulot/mnk_60_ec/rules.mk b/keyboards/cipulot/mnk_60_ec/rules.mk index ce525670a68..1716098b3e1 100644 --- a/keyboards/cipulot/mnk_60_ec/rules.mk +++ b/keyboards/cipulot/mnk_60_ec/rules.mk @@ -1,5 +1 @@ -CUSTOM_MATRIX = lite -ANALOG_DRIVER_REQUIRED = yes -VPATH += keyboards/cipulot/common -SRC += matrix.c ec_board.c ec_switch_matrix.c OPT = 3 diff --git a/keyboards/cipulot/mnk_65_ec/config.h b/keyboards/cipulot/mnk_65_ec/config.h index 01d1248c436..9d880ba3bda 100644 --- a/keyboards/cipulot/mnk_65_ec/config.h +++ b/keyboards/cipulot/mnk_65_ec/config.h @@ -19,6 +19,8 @@ #define MATRIX_ROWS 5 #define MATRIX_COLS 15 +#define UNUSED_POSITIONS_LIST { {2, 13}, {3, 13}, {4, 3}, {4, 4}, {4, 6}, {4, 7}, {4, 8}, {4, 10}, {4, 13} } + #define MATRIX_ROW_PINS \ { B14, B15, A8, B12, A15 } diff --git a/keyboards/cipulot/mnk_65_ec/post_rules.mk b/keyboards/cipulot/mnk_65_ec/post_rules.mk index d726a112a8c..5dba48cc5fd 100644 --- a/keyboards/cipulot/mnk_65_ec/post_rules.mk +++ b/keyboards/cipulot/mnk_65_ec/post_rules.mk @@ -1,3 +1 @@ -ifeq ($(strip $(VIA_ENABLE)), yes) - SRC += keyboards/cipulot/common/via_ec.c -endif +include keyboards/cipulot/common/common_cipulot.mk diff --git a/keyboards/cipulot/mnk_65_ec/rules.mk b/keyboards/cipulot/mnk_65_ec/rules.mk index ce525670a68..1716098b3e1 100644 --- a/keyboards/cipulot/mnk_65_ec/rules.mk +++ b/keyboards/cipulot/mnk_65_ec/rules.mk @@ -1,5 +1 @@ -CUSTOM_MATRIX = lite -ANALOG_DRIVER_REQUIRED = yes -VPATH += keyboards/cipulot/common -SRC += matrix.c ec_board.c ec_switch_matrix.c OPT = 3 diff --git a/keyboards/cipulot/rf_r1_8_9xu/config.h b/keyboards/cipulot/rf_r1_8_9xu/config.h index cd98ff7f3da..91e3a459c37 100644 --- a/keyboards/cipulot/rf_r1_8_9xu/config.h +++ b/keyboards/cipulot/rf_r1_8_9xu/config.h @@ -19,6 +19,8 @@ #define MATRIX_ROWS 6 #define MATRIX_COLS 16 +#define UNUSED_POSITIONS_LIST { {5, 3}, {5, 5} } + #define MATRIX_ROW_PINS \ { B15, A8, B13, B12, B14, B0 } diff --git a/keyboards/cipulot/rf_r1_8_9xu/post_rules.mk b/keyboards/cipulot/rf_r1_8_9xu/post_rules.mk index d726a112a8c..5dba48cc5fd 100644 --- a/keyboards/cipulot/rf_r1_8_9xu/post_rules.mk +++ b/keyboards/cipulot/rf_r1_8_9xu/post_rules.mk @@ -1,3 +1 @@ -ifeq ($(strip $(VIA_ENABLE)), yes) - SRC += keyboards/cipulot/common/via_ec.c -endif +include keyboards/cipulot/common/common_cipulot.mk diff --git a/keyboards/cipulot/rf_r1_8_9xu/rules.mk b/keyboards/cipulot/rf_r1_8_9xu/rules.mk index 318e0215ce9..3aa0e2bf061 100644 --- a/keyboards/cipulot/rf_r1_8_9xu/rules.mk +++ b/keyboards/cipulot/rf_r1_8_9xu/rules.mk @@ -1,5 +1 @@ -CUSTOM_MATRIX = lite -ANALOG_DRIVER_REQUIRED = yes -VPATH += keyboards/cipulot/common -SRC += matrix.c ec_board.c ec_switch_matrix.c OPT = 2 From 92afc8198a5bfb46fb55e4a8421ade7c4585c6c6 Mon Sep 17 00:00:00 2001 From: leyew <102467346+itsme-zeix@users.noreply.github.com> Date: Tue, 29 Oct 2024 23:56:23 +0800 Subject: [PATCH 091/124] [Keyboard] Add Singa Kohaku (#24309) Co-authored-by: jack Co-authored-by: Joel Challis Co-authored-by: Duncan Sutherland Co-authored-by: Drashna Jaelre --- keyboards/zeix/singa/kohaku/config.h | 20 + keyboards/zeix/singa/kohaku/keyboard.json | 698 ++++++++++++++++++ .../singa/kohaku/keymaps/default/keymap.c | 35 + keyboards/zeix/singa/kohaku/matrix_diagram.md | 30 + keyboards/zeix/singa/kohaku/readme.md | 27 + 5 files changed, 810 insertions(+) create mode 100644 keyboards/zeix/singa/kohaku/config.h create mode 100644 keyboards/zeix/singa/kohaku/keyboard.json create mode 100644 keyboards/zeix/singa/kohaku/keymaps/default/keymap.c create mode 100644 keyboards/zeix/singa/kohaku/matrix_diagram.md create mode 100644 keyboards/zeix/singa/kohaku/readme.md diff --git a/keyboards/zeix/singa/kohaku/config.h b/keyboards/zeix/singa/kohaku/config.h new file mode 100644 index 00000000000..77970ce4d34 --- /dev/null +++ b/keyboards/zeix/singa/kohaku/config.h @@ -0,0 +1,20 @@ +/* +Copyright 2023 zeix (@itsme-zeix) + +This program is free software: you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation, either version 2 of the License, or +(at your option) any later version. +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License +along with this program. If not, see . +*/ + +#pragma once + +#define RP2040_BOOTLOADER_DOUBLE_TAP_RESET +#define RP2040_BOOTLOADER_DOUBLE_TAP_RESET_TIMEOUT 500U diff --git a/keyboards/zeix/singa/kohaku/keyboard.json b/keyboards/zeix/singa/kohaku/keyboard.json new file mode 100644 index 00000000000..f1ce31fe64d --- /dev/null +++ b/keyboards/zeix/singa/kohaku/keyboard.json @@ -0,0 +1,698 @@ +{ + "manufacturer": "SINGA", + "keyboard_name": "Kohaku", + "maintainer": "itsme-zeix", + "bootloader": "rp2040", + "diode_direction": "COL2ROW", + "features": { + "rgblight": true, + "bootmagic": true, + "extrakey": true, + "mousekey": true + }, + "indicators": { + "caps_lock": "GP29" + }, + "matrix_pins": { + "cols": ["GP7", "GP6", "GP5", "GP4", "GP3", "GP2", "GP1", "GP0"], + "rows": ["GP27", "GP28", "GP10", "GP11", "GP18", "GP19", "GP23", "GP24", "GP25", "GP26"] + }, + "processor": "RP2040", + "rgblight": { + "animations": { + "alternating": true, + "breathing": true, + "christmas": true, + "knight": true, + "rainbow_mood": true, + "rainbow_swirl": true, + "snake": true, + "static_gradient": true, + "twinkle": true + }, + "brightness_steps": 8, + "led_count": 28, + "saturation_steps": 8, + "sleep": true + }, + "usb": { + "device_version": "0.0.1", + "pid": "0x8888", + "vid": "0x4C27" + }, + "ws2812": { + "driver": "vendor", + "pin": "GP20" + }, + "community_layouts": ["65_ansi_blocker", "65_ansi_blocker_split_bs", "65_ansi_blocker_tsangan", "65_ansi_blocker_tsangan_split_bs", "65_iso_blocker", "65_iso_blocker_split_bs", "65_iso_blocker_tsangan", "65_iso_blocker_tsangan_split_bs"], + "layouts": { + "LAYOUT_all": { + "layout": [ + {"matrix": [0, 0], "x": 0, "y": 0}, + {"matrix": [1, 0], "x": 1, "y": 0}, + {"matrix": [0, 1], "x": 2, "y": 0}, + {"matrix": [1, 1], "x": 3, "y": 0}, + {"matrix": [0, 2], "x": 4, "y": 0}, + {"matrix": [1, 2], "x": 5, "y": 0}, + {"matrix": [0, 3], "x": 6, "y": 0}, + {"matrix": [1, 3], "x": 7, "y": 0}, + {"matrix": [0, 4], "x": 8, "y": 0}, + {"matrix": [1, 4], "x": 9, "y": 0}, + {"matrix": [0, 5], "x": 10, "y": 0}, + {"matrix": [1, 5], "x": 11, "y": 0}, + {"matrix": [0, 6], "x": 12, "y": 0}, + {"matrix": [1, 6], "x": 13, "y": 0}, + {"matrix": [0, 7], "x": 14, "y": 0}, + {"matrix": [1, 7], "x": 15, "y": 0}, + {"matrix": [2, 0], "x": 0, "y": 1, "w": 1.5}, + {"matrix": [3, 0], "x": 1.5, "y": 1}, + {"matrix": [2, 1], "x": 2.5, "y": 1}, + {"matrix": [3, 1], "x": 3.5, "y": 1}, + {"matrix": [2, 2], "x": 4.5, "y": 1}, + {"matrix": [3, 2], "x": 5.5, "y": 1}, + {"matrix": [2, 3], "x": 6.5, "y": 1}, + {"matrix": [3, 3], "x": 7.5, "y": 1}, + {"matrix": [2, 4], "x": 8.5, "y": 1}, + {"matrix": [3, 4], "x": 9.5, "y": 1}, + {"matrix": [2, 5], "x": 10.5, "y": 1}, + {"matrix": [3, 5], "x": 11.5, "y": 1}, + {"matrix": [2, 6], "x": 12.5, "y": 1}, + {"matrix": [3, 6], "x": 13.5, "y": 1, "w": 1.5}, + {"matrix": [3, 7], "x": 15, "y": 1}, + {"matrix": [4, 0], "x": 0, "y": 2, "w": 1.75}, + {"matrix": [5, 0], "x": 1.75, "y": 2}, + {"matrix": [4, 1], "x": 2.75, "y": 2}, + {"matrix": [5, 1], "x": 3.75, "y": 2}, + {"matrix": [4, 2], "x": 4.75, "y": 2}, + {"matrix": [5, 2], "x": 5.75, "y": 2}, + {"matrix": [4, 3], "x": 6.75, "y": 2}, + {"matrix": [5, 3], "x": 7.75, "y": 2}, + {"matrix": [4, 4], "x": 8.75, "y": 2}, + {"matrix": [5, 4], "x": 9.75, "y": 2}, + {"matrix": [4, 5], "x": 10.75, "y": 2}, + {"matrix": [5, 5], "x": 11.75, "y": 2}, + {"matrix": [4, 6], "x": 12.75, "y": 2}, + {"matrix": [5, 6], "x": 13.75, "y": 2, "w": 1.25}, + {"matrix": [5, 7], "x": 15, "y": 2}, + {"matrix": [6, 0], "x": 0, "y": 3, "w": 1.25}, + {"matrix": [7, 0], "x": 1.25, "y": 3}, + {"matrix": [6, 1], "x": 2.25, "y": 3}, + {"matrix": [7, 1], "x": 3.25, "y": 3}, + {"matrix": [6, 2], "x": 4.25, "y": 3}, + {"matrix": [7, 2], "x": 5.25, "y": 3}, + {"matrix": [6, 3], "x": 6.25, "y": 3}, + {"matrix": [7, 3], "x": 7.25, "y": 3}, + {"matrix": [6, 4], "x": 8.25, "y": 3}, + {"matrix": [7, 4], "x": 9.25, "y": 3}, + {"matrix": [6, 5], "x": 10.25, "y": 3}, + {"matrix": [7, 5], "x": 11.25, "y": 3}, + {"matrix": [6, 6], "x": 12.25, "y": 3, "w": 1.75}, + {"matrix": [7, 6], "x": 14, "y": 3}, + {"matrix": [7, 7], "x": 15, "y": 3}, + {"matrix": [8, 0], "x": 0, "y": 4, "w": 1.25}, + {"matrix": [9, 0], "x": 1.25, "y": 4, "w": 1.25}, + {"matrix": [8, 1], "x": 2.5, "y": 4, "w": 1.25}, + {"matrix": [9, 2], "x": 3.75, "y": 4, "w": 2.75}, + {"matrix": [8, 3], "x": 6.5, "y": 4, "w": 1.25}, + {"matrix": [9, 4], "x": 7.75, "y": 4, "w": 2.25}, + {"matrix": [8, 5], "x": 10, "y": 4, "w": 1.25}, + {"matrix": [9, 5], "x": 11.25, "y": 4, "w": 1.25}, + {"matrix": [8, 6], "x": 13, "y": 4}, + {"matrix": [9, 6], "x": 14, "y": 4}, + {"matrix": [9, 7], "x": 15, "y": 4} + ] + }, + "LAYOUT_65_ansi_blocker": { + "layout": [ + {"matrix": [0, 0], "x": 0, "y": 0}, + {"matrix": [1, 0], "x": 1, "y": 0}, + {"matrix": [0, 1], "x": 2, "y": 0}, + {"matrix": [1, 1], "x": 3, "y": 0}, + {"matrix": [0, 2], "x": 4, "y": 0}, + {"matrix": [1, 2], "x": 5, "y": 0}, + {"matrix": [0, 3], "x": 6, "y": 0}, + {"matrix": [1, 3], "x": 7, "y": 0}, + {"matrix": [0, 4], "x": 8, "y": 0}, + {"matrix": [1, 4], "x": 9, "y": 0}, + {"matrix": [0, 5], "x": 10, "y": 0}, + {"matrix": [1, 5], "x": 11, "y": 0}, + {"matrix": [0, 6], "x": 12, "y": 0}, + {"matrix": [0, 7], "x": 13, "y": 0, "w": 2}, + {"matrix": [1, 7], "x": 15, "y": 0}, + {"matrix": [2, 0], "x": 0, "y": 1, "w": 1.5}, + {"matrix": [3, 0], "x": 1.5, "y": 1}, + {"matrix": [2, 1], "x": 2.5, "y": 1}, + {"matrix": [3, 1], "x": 3.5, "y": 1}, + {"matrix": [2, 2], "x": 4.5, "y": 1}, + {"matrix": [3, 2], "x": 5.5, "y": 1}, + {"matrix": [2, 3], "x": 6.5, "y": 1}, + {"matrix": [3, 3], "x": 7.5, "y": 1}, + {"matrix": [2, 4], "x": 8.5, "y": 1}, + {"matrix": [3, 4], "x": 9.5, "y": 1}, + {"matrix": [2, 5], "x": 10.5, "y": 1}, + {"matrix": [3, 5], "x": 11.5, "y": 1}, + {"matrix": [2, 6], "x": 12.5, "y": 1}, + {"matrix": [3, 6], "x": 13.5, "y": 1, "w": 1.5}, + {"matrix": [3, 7], "x": 15, "y": 1}, + {"matrix": [4, 0], "x": 0, "y": 2, "w": 1.75}, + {"matrix": [5, 0], "x": 1.75, "y": 2}, + {"matrix": [4, 1], "x": 2.75, "y": 2}, + {"matrix": [5, 1], "x": 3.75, "y": 2}, + {"matrix": [4, 2], "x": 4.75, "y": 2}, + {"matrix": [5, 2], "x": 5.75, "y": 2}, + {"matrix": [4, 3], "x": 6.75, "y": 2}, + {"matrix": [5, 3], "x": 7.75, "y": 2}, + {"matrix": [4, 4], "x": 8.75, "y": 2}, + {"matrix": [5, 4], "x": 9.75, "y": 2}, + {"matrix": [4, 5], "x": 10.75, "y": 2}, + {"matrix": [5, 5], "x": 11.75, "y": 2}, + {"matrix": [5, 6], "x": 12.75, "y": 2, "w": 2.25}, + {"matrix": [5, 7], "x": 15, "y": 2}, + {"matrix": [6, 0], "x": 0, "y": 3, "w": 2.25}, + {"matrix": [6, 1], "x": 2.25, "y": 3}, + {"matrix": [7, 1], "x": 3.25, "y": 3}, + {"matrix": [6, 2], "x": 4.25, "y": 3}, + {"matrix": [7, 2], "x": 5.25, "y": 3}, + {"matrix": [6, 3], "x": 6.25, "y": 3}, + {"matrix": [7, 3], "x": 7.25, "y": 3}, + {"matrix": [6, 4], "x": 8.25, "y": 3}, + {"matrix": [7, 4], "x": 9.25, "y": 3}, + {"matrix": [6, 5], "x": 10.25, "y": 3}, + {"matrix": [7, 5], "x": 11.25, "y": 3}, + {"matrix": [6, 6], "x": 12.25, "y": 3, "w": 1.75}, + {"matrix": [7, 6], "x": 14, "y": 3}, + {"matrix": [7, 7], "x": 15, "y": 3}, + {"matrix": [8, 0], "x": 0, "y": 4, "w": 1.25}, + {"matrix": [9, 0], "x": 1.25, "y": 4, "w": 1.25}, + {"matrix": [8, 1], "x": 2.5, "y": 4, "w": 1.25}, + {"matrix": [8, 3], "x": 3.75, "y": 4, "w": 6.25}, + {"matrix": [8, 5], "x": 10, "y": 4, "w": 1.25}, + {"matrix": [9, 5], "x": 11.25, "y": 4, "w": 1.25}, + {"matrix": [8, 6], "x": 13, "y": 4}, + {"matrix": [9, 6], "x": 14, "y": 4}, + {"matrix": [9, 7], "x": 15, "y": 4} + ] + }, + "LAYOUT_65_ansi_blocker_split_bs": { + "layout": [ + {"matrix": [0, 0], "x": 0, "y": 0}, + {"matrix": [1, 0], "x": 1, "y": 0}, + {"matrix": [0, 1], "x": 2, "y": 0}, + {"matrix": [1, 1], "x": 3, "y": 0}, + {"matrix": [0, 2], "x": 4, "y": 0}, + {"matrix": [1, 2], "x": 5, "y": 0}, + {"matrix": [0, 3], "x": 6, "y": 0}, + {"matrix": [1, 3], "x": 7, "y": 0}, + {"matrix": [0, 4], "x": 8, "y": 0}, + {"matrix": [1, 4], "x": 9, "y": 0}, + {"matrix": [0, 5], "x": 10, "y": 0}, + {"matrix": [1, 5], "x": 11, "y": 0}, + {"matrix": [0, 6], "x": 12, "y": 0}, + {"matrix": [1, 6], "x": 13, "y": 0}, + {"matrix": [0, 7], "x": 14, "y": 0}, + {"matrix": [1, 7], "x": 15, "y": 0}, + {"matrix": [2, 0], "x": 0, "y": 1, "w": 1.5}, + {"matrix": [3, 0], "x": 1.5, "y": 1}, + {"matrix": [2, 1], "x": 2.5, "y": 1}, + {"matrix": [3, 1], "x": 3.5, "y": 1}, + {"matrix": [2, 2], "x": 4.5, "y": 1}, + {"matrix": [3, 2], "x": 5.5, "y": 1}, + {"matrix": [2, 3], "x": 6.5, "y": 1}, + {"matrix": [3, 3], "x": 7.5, "y": 1}, + {"matrix": [2, 4], "x": 8.5, "y": 1}, + {"matrix": [3, 4], "x": 9.5, "y": 1}, + {"matrix": [2, 5], "x": 10.5, "y": 1}, + {"matrix": [3, 5], "x": 11.5, "y": 1}, + {"matrix": [2, 6], "x": 12.5, "y": 1}, + {"matrix": [3, 6], "x": 13.5, "y": 1, "w": 1.5}, + {"matrix": [3, 7], "x": 15, "y": 1}, + {"matrix": [4, 0], "x": 0, "y": 2, "w": 1.75}, + {"matrix": [5, 0], "x": 1.75, "y": 2}, + {"matrix": [4, 1], "x": 2.75, "y": 2}, + {"matrix": [5, 1], "x": 3.75, "y": 2}, + {"matrix": [4, 2], "x": 4.75, "y": 2}, + {"matrix": [5, 2], "x": 5.75, "y": 2}, + {"matrix": [4, 3], "x": 6.75, "y": 2}, + {"matrix": [5, 3], "x": 7.75, "y": 2}, + {"matrix": [4, 4], "x": 8.75, "y": 2}, + {"matrix": [5, 4], "x": 9.75, "y": 2}, + {"matrix": [4, 5], "x": 10.75, "y": 2}, + {"matrix": [5, 5], "x": 11.75, "y": 2}, + {"matrix": [5, 6], "x": 12.75, "y": 2, "w": 2.25}, + {"matrix": [5, 7], "x": 15, "y": 2}, + {"matrix": [6, 0], "x": 0, "y": 3, "w": 2.25}, + {"matrix": [6, 1], "x": 2.25, "y": 3}, + {"matrix": [7, 1], "x": 3.25, "y": 3}, + {"matrix": [6, 2], "x": 4.25, "y": 3}, + {"matrix": [7, 2], "x": 5.25, "y": 3}, + {"matrix": [6, 3], "x": 6.25, "y": 3}, + {"matrix": [7, 3], "x": 7.25, "y": 3}, + {"matrix": [6, 4], "x": 8.25, "y": 3}, + {"matrix": [7, 4], "x": 9.25, "y": 3}, + {"matrix": [6, 5], "x": 10.25, "y": 3}, + {"matrix": [7, 5], "x": 11.25, "y": 3}, + {"matrix": [6, 6], "x": 12.25, "y": 3, "w": 1.75}, + {"matrix": [7, 6], "x": 14, "y": 3}, + {"matrix": [7, 7], "x": 15, "y": 3}, + {"matrix": [8, 0], "x": 0, "y": 4, "w": 1.25}, + {"matrix": [9, 0], "x": 1.25, "y": 4, "w": 1.25}, + {"matrix": [8, 1], "x": 2.5, "y": 4, "w": 1.25}, + {"matrix": [8, 3], "x": 3.75, "y": 4, "w": 6.25}, + {"matrix": [8, 5], "x": 10, "y": 4, "w": 1.25}, + {"matrix": [9, 5], "x": 11.25, "y": 4, "w": 1.25}, + {"matrix": [8, 6], "x": 13, "y": 4}, + {"matrix": [9, 6], "x": 14, "y": 4}, + {"matrix": [9, 7], "x": 15, "y": 4} + ] + }, + "LAYOUT_65_ansi_blocker_tsangan": { + "layout": [ + {"matrix": [0, 0], "x": 0, "y": 0}, + {"matrix": [1, 0], "x": 1, "y": 0}, + {"matrix": [0, 1], "x": 2, "y": 0}, + {"matrix": [1, 1], "x": 3, "y": 0}, + {"matrix": [0, 2], "x": 4, "y": 0}, + {"matrix": [1, 2], "x": 5, "y": 0}, + {"matrix": [0, 3], "x": 6, "y": 0}, + {"matrix": [1, 3], "x": 7, "y": 0}, + {"matrix": [0, 4], "x": 8, "y": 0}, + {"matrix": [1, 4], "x": 9, "y": 0}, + {"matrix": [0, 5], "x": 10, "y": 0}, + {"matrix": [1, 5], "x": 11, "y": 0}, + {"matrix": [0, 6], "x": 12, "y": 0}, + {"matrix": [0, 7], "x": 13, "y": 0, "w": 2}, + {"matrix": [1, 7], "x": 15, "y": 0}, + {"matrix": [2, 0], "x": 0, "y": 1, "w": 1.5}, + {"matrix": [3, 0], "x": 1.5, "y": 1}, + {"matrix": [2, 1], "x": 2.5, "y": 1}, + {"matrix": [3, 1], "x": 3.5, "y": 1}, + {"matrix": [2, 2], "x": 4.5, "y": 1}, + {"matrix": [3, 2], "x": 5.5, "y": 1}, + {"matrix": [2, 3], "x": 6.5, "y": 1}, + {"matrix": [3, 3], "x": 7.5, "y": 1}, + {"matrix": [2, 4], "x": 8.5, "y": 1}, + {"matrix": [3, 4], "x": 9.5, "y": 1}, + {"matrix": [2, 5], "x": 10.5, "y": 1}, + {"matrix": [3, 5], "x": 11.5, "y": 1}, + {"matrix": [2, 6], "x": 12.5, "y": 1}, + {"matrix": [3, 6], "x": 13.5, "y": 1, "w": 1.5}, + {"matrix": [3, 7], "x": 15, "y": 1}, + {"matrix": [4, 0], "x": 0, "y": 2, "w": 1.75}, + {"matrix": [5, 0], "x": 1.75, "y": 2}, + {"matrix": [4, 1], "x": 2.75, "y": 2}, + {"matrix": [5, 1], "x": 3.75, "y": 2}, + {"matrix": [4, 2], "x": 4.75, "y": 2}, + {"matrix": [5, 2], "x": 5.75, "y": 2}, + {"matrix": [4, 3], "x": 6.75, "y": 2}, + {"matrix": [5, 3], "x": 7.75, "y": 2}, + {"matrix": [4, 4], "x": 8.75, "y": 2}, + {"matrix": [5, 4], "x": 9.75, "y": 2}, + {"matrix": [4, 5], "x": 10.75, "y": 2}, + {"matrix": [5, 5], "x": 11.75, "y": 2}, + {"matrix": [5, 6], "x": 12.75, "y": 2, "w": 2.25}, + {"matrix": [5, 7], "x": 15, "y": 2}, + {"matrix": [6, 0], "x": 0, "y": 3, "w": 2.25}, + {"matrix": [6, 1], "x": 2.25, "y": 3}, + {"matrix": [7, 1], "x": 3.25, "y": 3}, + {"matrix": [6, 2], "x": 4.25, "y": 3}, + {"matrix": [7, 2], "x": 5.25, "y": 3}, + {"matrix": [6, 3], "x": 6.25, "y": 3}, + {"matrix": [7, 3], "x": 7.25, "y": 3}, + {"matrix": [6, 4], "x": 8.25, "y": 3}, + {"matrix": [7, 4], "x": 9.25, "y": 3}, + {"matrix": [6, 5], "x": 10.25, "y": 3}, + {"matrix": [7, 5], "x": 11.25, "y": 3}, + {"matrix": [6, 6], "x": 12.25, "y": 3, "w": 1.75}, + {"matrix": [7, 6], "x": 14, "y": 3}, + {"matrix": [7, 7], "x": 15, "y": 3}, + {"matrix": [8, 0], "x": 0, "y": 4, "w": 1.5}, + {"matrix": [9, 0], "x": 1.5, "y": 4, "w": 1}, + {"matrix": [8, 1], "x": 2.5, "y": 4, "w": 1.5}, + {"matrix": [8, 3], "x": 4, "y": 4, "w": 7}, + {"matrix": [8, 5], "x": 11, "y": 4, "w": 1.5}, + {"matrix": [8, 6], "x": 13, "y": 4}, + {"matrix": [9, 6], "x": 14, "y": 4}, + {"matrix": [9, 7], "x": 15, "y": 4} + ] + }, + "LAYOUT_65_ansi_blocker_tsangan_split_bs": { + "layout": [ + {"matrix": [0, 0], "x": 0, "y": 0}, + {"matrix": [1, 0], "x": 1, "y": 0}, + {"matrix": [0, 1], "x": 2, "y": 0}, + {"matrix": [1, 1], "x": 3, "y": 0}, + {"matrix": [0, 2], "x": 4, "y": 0}, + {"matrix": [1, 2], "x": 5, "y": 0}, + {"matrix": [0, 3], "x": 6, "y": 0}, + {"matrix": [1, 3], "x": 7, "y": 0}, + {"matrix": [0, 4], "x": 8, "y": 0}, + {"matrix": [1, 4], "x": 9, "y": 0}, + {"matrix": [0, 5], "x": 10, "y": 0}, + {"matrix": [1, 5], "x": 11, "y": 0}, + {"matrix": [0, 6], "x": 12, "y": 0}, + {"matrix": [1, 6], "x": 13, "y": 0}, + {"matrix": [0, 7], "x": 14, "y": 0}, + {"matrix": [1, 7], "x": 15, "y": 0}, + {"matrix": [2, 0], "x": 0, "y": 1, "w": 1.5}, + {"matrix": [3, 0], "x": 1.5, "y": 1}, + {"matrix": [2, 1], "x": 2.5, "y": 1}, + {"matrix": [3, 1], "x": 3.5, "y": 1}, + {"matrix": [2, 2], "x": 4.5, "y": 1}, + {"matrix": [3, 2], "x": 5.5, "y": 1}, + {"matrix": [2, 3], "x": 6.5, "y": 1}, + {"matrix": [3, 3], "x": 7.5, "y": 1}, + {"matrix": [2, 4], "x": 8.5, "y": 1}, + {"matrix": [3, 4], "x": 9.5, "y": 1}, + {"matrix": [2, 5], "x": 10.5, "y": 1}, + {"matrix": [3, 5], "x": 11.5, "y": 1}, + {"matrix": [2, 6], "x": 12.5, "y": 1}, + {"matrix": [3, 6], "x": 13.5, "y": 1, "w": 1.5}, + {"matrix": [3, 7], "x": 15, "y": 1}, + {"matrix": [4, 0], "x": 0, "y": 2, "w": 1.75}, + {"matrix": [5, 0], "x": 1.75, "y": 2}, + {"matrix": [4, 1], "x": 2.75, "y": 2}, + {"matrix": [5, 1], "x": 3.75, "y": 2}, + {"matrix": [4, 2], "x": 4.75, "y": 2}, + {"matrix": [5, 2], "x": 5.75, "y": 2}, + {"matrix": [4, 3], "x": 6.75, "y": 2}, + {"matrix": [5, 3], "x": 7.75, "y": 2}, + {"matrix": [4, 4], "x": 8.75, "y": 2}, + {"matrix": [5, 4], "x": 9.75, "y": 2}, + {"matrix": [4, 5], "x": 10.75, "y": 2}, + {"matrix": [5, 5], "x": 11.75, "y": 2}, + {"matrix": [5, 6], "x": 12.75, "y": 2, "w": 2.25}, + {"matrix": [5, 7], "x": 15, "y": 2}, + {"matrix": [6, 0], "x": 0, "y": 3, "w": 2.25}, + {"matrix": [6, 1], "x": 2.25, "y": 3}, + {"matrix": [7, 1], "x": 3.25, "y": 3}, + {"matrix": [6, 2], "x": 4.25, "y": 3}, + {"matrix": [7, 2], "x": 5.25, "y": 3}, + {"matrix": [6, 3], "x": 6.25, "y": 3}, + {"matrix": [7, 3], "x": 7.25, "y": 3}, + {"matrix": [6, 4], "x": 8.25, "y": 3}, + {"matrix": [7, 4], "x": 9.25, "y": 3}, + {"matrix": [6, 5], "x": 10.25, "y": 3}, + {"matrix": [7, 5], "x": 11.25, "y": 3}, + {"matrix": [6, 6], "x": 12.25, "y": 3, "w": 1.75}, + {"matrix": [7, 6], "x": 14, "y": 3}, + {"matrix": [7, 7], "x": 15, "y": 3}, + {"matrix": [8, 0], "x": 0, "y": 4, "w": 1.5}, + {"matrix": [9, 0], "x": 1.5, "y": 4, "w": 1}, + {"matrix": [8, 1], "x": 2.5, "y": 4, "w": 1.5}, + {"matrix": [8, 3], "x": 4, "y": 4, "w": 7}, + {"matrix": [8, 5], "x": 11, "y": 4, "w": 1.5}, + {"matrix": [8, 6], "x": 13, "y": 4}, + {"matrix": [9, 6], "x": 14, "y": 4}, + {"matrix": [9, 7], "x": 15, "y": 4} + ] + }, + "LAYOUT_65_iso_blocker": { + "layout": [ + {"matrix": [0, 0], "x": 0, "y": 0}, + {"matrix": [1, 0], "x": 1, "y": 0}, + {"matrix": [0, 1], "x": 2, "y": 0}, + {"matrix": [1, 1], "x": 3, "y": 0}, + {"matrix": [0, 2], "x": 4, "y": 0}, + {"matrix": [1, 2], "x": 5, "y": 0}, + {"matrix": [0, 3], "x": 6, "y": 0}, + {"matrix": [1, 3], "x": 7, "y": 0}, + {"matrix": [0, 4], "x": 8, "y": 0}, + {"matrix": [1, 4], "x": 9, "y": 0}, + {"matrix": [0, 5], "x": 10, "y": 0}, + {"matrix": [1, 5], "x": 11, "y": 0}, + {"matrix": [0, 6], "x": 12, "y": 0}, + {"matrix": [0, 7], "x": 13, "y": 0, "w": 2}, + {"matrix": [1, 7], "x": 15, "y": 0}, + {"matrix": [2, 0], "x": 0, "y": 1, "w": 1.5}, + {"matrix": [3, 0], "x": 1.5, "y": 1}, + {"matrix": [2, 1], "x": 2.5, "y": 1}, + {"matrix": [3, 1], "x": 3.5, "y": 1}, + {"matrix": [2, 2], "x": 4.5, "y": 1}, + {"matrix": [3, 2], "x": 5.5, "y": 1}, + {"matrix": [2, 3], "x": 6.5, "y": 1}, + {"matrix": [3, 3], "x": 7.5, "y": 1}, + {"matrix": [2, 4], "x": 8.5, "y": 1}, + {"matrix": [3, 4], "x": 9.5, "y": 1}, + {"matrix": [2, 5], "x": 10.5, "y": 1}, + {"matrix": [3, 5], "x": 11.5, "y": 1}, + {"matrix": [2, 6], "x": 12.5, "y": 1}, + {"matrix": [3, 7], "x": 15, "y": 1}, + {"matrix": [4, 0], "x": 0, "y": 2, "w": 1.75}, + {"matrix": [5, 0], "x": 1.75, "y": 2}, + {"matrix": [4, 1], "x": 2.75, "y": 2}, + {"matrix": [5, 1], "x": 3.75, "y": 2}, + {"matrix": [4, 2], "x": 4.75, "y": 2}, + {"matrix": [5, 2], "x": 5.75, "y": 2}, + {"matrix": [4, 3], "x": 6.75, "y": 2}, + {"matrix": [5, 3], "x": 7.75, "y": 2}, + {"matrix": [4, 4], "x": 8.75, "y": 2}, + {"matrix": [5, 4], "x": 9.75, "y": 2}, + {"matrix": [4, 5], "x": 10.75, "y": 2}, + {"matrix": [5, 5], "x": 11.75, "y": 2}, + {"matrix": [4, 6], "x": 12.75, "y": 2}, + {"matrix": [5, 6], "x": 13.75, "y": 1, "w": 1.25, "h": 2}, + {"matrix": [5, 7], "x": 15, "y": 2}, + {"matrix": [6, 0], "x": 0, "y": 3, "w": 1.25}, + {"matrix": [7, 0], "x": 1.25, "y": 3}, + {"matrix": [6, 1], "x": 2.25, "y": 3}, + {"matrix": [7, 1], "x": 3.25, "y": 3}, + {"matrix": [6, 2], "x": 4.25, "y": 3}, + {"matrix": [7, 2], "x": 5.25, "y": 3}, + {"matrix": [6, 3], "x": 6.25, "y": 3}, + {"matrix": [7, 3], "x": 7.25, "y": 3}, + {"matrix": [6, 4], "x": 8.25, "y": 3}, + {"matrix": [7, 4], "x": 9.25, "y": 3}, + {"matrix": [6, 5], "x": 10.25, "y": 3}, + {"matrix": [7, 5], "x": 11.25, "y": 3}, + {"matrix": [6, 6], "x": 12.25, "y": 3, "w": 1.75}, + {"matrix": [7, 6], "x": 14, "y": 3}, + {"matrix": [7, 7], "x": 15, "y": 3}, + {"matrix": [8, 0], "x": 0, "y": 4, "w": 1.25}, + {"matrix": [9, 0], "x": 1.25, "y": 4, "w": 1.25}, + {"matrix": [8, 1], "x": 2.5, "y": 4, "w": 1.25}, + {"matrix": [8, 3], "x": 3.75, "y": 4, "w": 6.25}, + {"matrix": [8, 5], "x": 10, "y": 4, "w": 1.25}, + {"matrix": [9, 5], "x": 11.25, "y": 4, "w": 1.25}, + {"matrix": [8, 6], "x": 13, "y": 4}, + {"matrix": [9, 6], "x": 14, "y": 4}, + {"matrix": [9, 7], "x": 15, "y": 4} + ] + }, + "LAYOUT_65_iso_blocker_split_bs": { + "layout": [ + {"matrix": [0, 0], "x": 0, "y": 0}, + {"matrix": [1, 0], "x": 1, "y": 0}, + {"matrix": [0, 1], "x": 2, "y": 0}, + {"matrix": [1, 1], "x": 3, "y": 0}, + {"matrix": [0, 2], "x": 4, "y": 0}, + {"matrix": [1, 2], "x": 5, "y": 0}, + {"matrix": [0, 3], "x": 6, "y": 0}, + {"matrix": [1, 3], "x": 7, "y": 0}, + {"matrix": [0, 4], "x": 8, "y": 0}, + {"matrix": [1, 4], "x": 9, "y": 0}, + {"matrix": [0, 5], "x": 10, "y": 0}, + {"matrix": [1, 5], "x": 11, "y": 0}, + {"matrix": [0, 6], "x": 12, "y": 0}, + {"matrix": [1, 6], "x": 13, "y": 0}, + {"matrix": [0, 7], "x": 14, "y": 0}, + {"matrix": [1, 7], "x": 15, "y": 0}, + {"matrix": [2, 0], "x": 0, "y": 1, "w": 1.5}, + {"matrix": [3, 0], "x": 1.5, "y": 1}, + {"matrix": [2, 1], "x": 2.5, "y": 1}, + {"matrix": [3, 1], "x": 3.5, "y": 1}, + {"matrix": [2, 2], "x": 4.5, "y": 1}, + {"matrix": [3, 2], "x": 5.5, "y": 1}, + {"matrix": [2, 3], "x": 6.5, "y": 1}, + {"matrix": [3, 3], "x": 7.5, "y": 1}, + {"matrix": [2, 4], "x": 8.5, "y": 1}, + {"matrix": [3, 4], "x": 9.5, "y": 1}, + {"matrix": [2, 5], "x": 10.5, "y": 1}, + {"matrix": [3, 5], "x": 11.5, "y": 1}, + {"matrix": [2, 6], "x": 12.5, "y": 1}, + {"matrix": [3, 7], "x": 15, "y": 1}, + {"matrix": [4, 0], "x": 0, "y": 2, "w": 1.75}, + {"matrix": [5, 0], "x": 1.75, "y": 2}, + {"matrix": [4, 1], "x": 2.75, "y": 2}, + {"matrix": [5, 1], "x": 3.75, "y": 2}, + {"matrix": [4, 2], "x": 4.75, "y": 2}, + {"matrix": [5, 2], "x": 5.75, "y": 2}, + {"matrix": [4, 3], "x": 6.75, "y": 2}, + {"matrix": [5, 3], "x": 7.75, "y": 2}, + {"matrix": [4, 4], "x": 8.75, "y": 2}, + {"matrix": [5, 4], "x": 9.75, "y": 2}, + {"matrix": [4, 5], "x": 10.75, "y": 2}, + {"matrix": [5, 5], "x": 11.75, "y": 2}, + {"matrix": [4, 6], "x": 12.75, "y": 2}, + {"matrix": [5, 6], "x": 13.75, "y": 1, "w": 1.25, "h": 2}, + {"matrix": [5, 7], "x": 15, "y": 2}, + {"matrix": [6, 0], "x": 0, "y": 3, "w": 1.25}, + {"matrix": [7, 0], "x": 1.25, "y": 3}, + {"matrix": [6, 1], "x": 2.25, "y": 3}, + {"matrix": [7, 1], "x": 3.25, "y": 3}, + {"matrix": [6, 2], "x": 4.25, "y": 3}, + {"matrix": [7, 2], "x": 5.25, "y": 3}, + {"matrix": [6, 3], "x": 6.25, "y": 3}, + {"matrix": [7, 3], "x": 7.25, "y": 3}, + {"matrix": [6, 4], "x": 8.25, "y": 3}, + {"matrix": [7, 4], "x": 9.25, "y": 3}, + {"matrix": [6, 5], "x": 10.25, "y": 3}, + {"matrix": [7, 5], "x": 11.25, "y": 3}, + {"matrix": [6, 6], "x": 12.25, "y": 3, "w": 1.75}, + {"matrix": [7, 6], "x": 14, "y": 3}, + {"matrix": [7, 7], "x": 15, "y": 3}, + {"matrix": [8, 0], "x": 0, "y": 4, "w": 1.25}, + {"matrix": [9, 0], "x": 1.25, "y": 4, "w": 1.25}, + {"matrix": [8, 1], "x": 2.5, "y": 4, "w": 1.25}, + {"matrix": [8, 3], "x": 3.75, "y": 4, "w": 6.25}, + {"matrix": [8, 5], "x": 10, "y": 4, "w": 1.25}, + {"matrix": [9, 5], "x": 11.25, "y": 4, "w": 1.25}, + {"matrix": [8, 6], "x": 13, "y": 4}, + {"matrix": [9, 6], "x": 14, "y": 4}, + {"matrix": [9, 7], "x": 15, "y": 4} + ] + }, + "LAYOUT_65_iso_blocker_tsangan": { + "layout": [ + {"matrix": [0, 0], "x": 0, "y": 0}, + {"matrix": [1, 0], "x": 1, "y": 0}, + {"matrix": [0, 1], "x": 2, "y": 0}, + {"matrix": [1, 1], "x": 3, "y": 0}, + {"matrix": [0, 2], "x": 4, "y": 0}, + {"matrix": [1, 2], "x": 5, "y": 0}, + {"matrix": [0, 3], "x": 6, "y": 0}, + {"matrix": [1, 3], "x": 7, "y": 0}, + {"matrix": [0, 4], "x": 8, "y": 0}, + {"matrix": [1, 4], "x": 9, "y": 0}, + {"matrix": [0, 5], "x": 10, "y": 0}, + {"matrix": [1, 5], "x": 11, "y": 0}, + {"matrix": [0, 6], "x": 12, "y": 0}, + {"matrix": [0, 7], "x": 13, "y": 0, "w": 2}, + {"matrix": [1, 7], "x": 15, "y": 0}, + {"matrix": [2, 0], "x": 0, "y": 1, "w": 1.5}, + {"matrix": [3, 0], "x": 1.5, "y": 1}, + {"matrix": [2, 1], "x": 2.5, "y": 1}, + {"matrix": [3, 1], "x": 3.5, "y": 1}, + {"matrix": [2, 2], "x": 4.5, "y": 1}, + {"matrix": [3, 2], "x": 5.5, "y": 1}, + {"matrix": [2, 3], "x": 6.5, "y": 1}, + {"matrix": [3, 3], "x": 7.5, "y": 1}, + {"matrix": [2, 4], "x": 8.5, "y": 1}, + {"matrix": [3, 4], "x": 9.5, "y": 1}, + {"matrix": [2, 5], "x": 10.5, "y": 1}, + {"matrix": [3, 5], "x": 11.5, "y": 1}, + {"matrix": [2, 6], "x": 12.5, "y": 1}, + {"matrix": [3, 7], "x": 15, "y": 1}, + {"matrix": [4, 0], "x": 0, "y": 2, "w": 1.75}, + {"matrix": [5, 0], "x": 1.75, "y": 2}, + {"matrix": [4, 1], "x": 2.75, "y": 2}, + {"matrix": [5, 1], "x": 3.75, "y": 2}, + {"matrix": [4, 2], "x": 4.75, "y": 2}, + {"matrix": [5, 2], "x": 5.75, "y": 2}, + {"matrix": [4, 3], "x": 6.75, "y": 2}, + {"matrix": [5, 3], "x": 7.75, "y": 2}, + {"matrix": [4, 4], "x": 8.75, "y": 2}, + {"matrix": [5, 4], "x": 9.75, "y": 2}, + {"matrix": [4, 5], "x": 10.75, "y": 2}, + {"matrix": [5, 5], "x": 11.75, "y": 2}, + {"matrix": [4, 6], "x": 12.75, "y": 2}, + {"matrix": [5, 6], "x": 13.75, "y": 1, "w": 1.25, "h": 2}, + {"matrix": [5, 7], "x": 15, "y": 2}, + {"matrix": [6, 0], "x": 0, "y": 3, "w": 1.25}, + {"matrix": [7, 0], "x": 1.25, "y": 3}, + {"matrix": [6, 1], "x": 2.25, "y": 3}, + {"matrix": [7, 1], "x": 3.25, "y": 3}, + {"matrix": [6, 2], "x": 4.25, "y": 3}, + {"matrix": [7, 2], "x": 5.25, "y": 3}, + {"matrix": [6, 3], "x": 6.25, "y": 3}, + {"matrix": [7, 3], "x": 7.25, "y": 3}, + {"matrix": [6, 4], "x": 8.25, "y": 3}, + {"matrix": [7, 4], "x": 9.25, "y": 3}, + {"matrix": [6, 5], "x": 10.25, "y": 3}, + {"matrix": [7, 5], "x": 11.25, "y": 3}, + {"matrix": [6, 6], "x": 12.25, "y": 3, "w": 1.75}, + {"matrix": [7, 6], "x": 14, "y": 3}, + {"matrix": [7, 7], "x": 15, "y": 3}, + {"matrix": [8, 0], "x": 0, "y": 4, "w": 1.5}, + {"matrix": [9, 0], "x": 1.5, "y": 4, "w": 1}, + {"matrix": [8, 1], "x": 2.5, "y": 4, "w": 1.5}, + {"matrix": [8, 3], "x": 4, "y": 4, "w": 7}, + {"matrix": [8, 5], "x": 11, "y": 4, "w": 1.5}, + {"matrix": [8, 6], "x": 13, "y": 4}, + {"matrix": [9, 6], "x": 14, "y": 4}, + {"matrix": [9, 7], "x": 15, "y": 4} + ] + }, + "LAYOUT_65_iso_blocker_tsangan_split_bs": { + "layout": [ + {"matrix": [0, 0], "x": 0, "y": 0}, + {"matrix": [1, 0], "x": 1, "y": 0}, + {"matrix": [0, 1], "x": 2, "y": 0}, + {"matrix": [1, 1], "x": 3, "y": 0}, + {"matrix": [0, 2], "x": 4, "y": 0}, + {"matrix": [1, 2], "x": 5, "y": 0}, + {"matrix": [0, 3], "x": 6, "y": 0}, + {"matrix": [1, 3], "x": 7, "y": 0}, + {"matrix": [0, 4], "x": 8, "y": 0}, + {"matrix": [1, 4], "x": 9, "y": 0}, + {"matrix": [0, 5], "x": 10, "y": 0}, + {"matrix": [1, 5], "x": 11, "y": 0}, + {"matrix": [0, 6], "x": 12, "y": 0}, + {"matrix": [1, 6], "x": 13, "y": 0}, + {"matrix": [0, 7], "x": 14, "y": 0}, + {"matrix": [1, 7], "x": 15, "y": 0}, + {"matrix": [2, 0], "x": 0, "y": 1, "w": 1.5}, + {"matrix": [3, 0], "x": 1.5, "y": 1}, + {"matrix": [2, 1], "x": 2.5, "y": 1}, + {"matrix": [3, 1], "x": 3.5, "y": 1}, + {"matrix": [2, 2], "x": 4.5, "y": 1}, + {"matrix": [3, 2], "x": 5.5, "y": 1}, + {"matrix": [2, 3], "x": 6.5, "y": 1}, + {"matrix": [3, 3], "x": 7.5, "y": 1}, + {"matrix": [2, 4], "x": 8.5, "y": 1}, + {"matrix": [3, 4], "x": 9.5, "y": 1}, + {"matrix": [2, 5], "x": 10.5, "y": 1}, + {"matrix": [3, 5], "x": 11.5, "y": 1}, + {"matrix": [2, 6], "x": 12.5, "y": 1}, + {"matrix": [3, 7], "x": 15, "y": 1}, + {"matrix": [4, 0], "x": 0, "y": 2, "w": 1.75}, + {"matrix": [5, 0], "x": 1.75, "y": 2}, + {"matrix": [4, 1], "x": 2.75, "y": 2}, + {"matrix": [5, 1], "x": 3.75, "y": 2}, + {"matrix": [4, 2], "x": 4.75, "y": 2}, + {"matrix": [5, 2], "x": 5.75, "y": 2}, + {"matrix": [4, 3], "x": 6.75, "y": 2}, + {"matrix": [5, 3], "x": 7.75, "y": 2}, + {"matrix": [4, 4], "x": 8.75, "y": 2}, + {"matrix": [5, 4], "x": 9.75, "y": 2}, + {"matrix": [4, 5], "x": 10.75, "y": 2}, + {"matrix": [5, 5], "x": 11.75, "y": 2}, + {"matrix": [4, 6], "x": 12.75, "y": 2}, + {"matrix": [5, 6], "x": 13.75, "y": 1, "w": 1.25, "h": 2}, + {"matrix": [5, 7], "x": 15, "y": 2}, + {"matrix": [6, 0], "x": 0, "y": 3, "w": 1.25}, + {"matrix": [7, 0], "x": 1.25, "y": 3}, + {"matrix": [6, 1], "x": 2.25, "y": 3}, + {"matrix": [7, 1], "x": 3.25, "y": 3}, + {"matrix": [6, 2], "x": 4.25, "y": 3}, + {"matrix": [7, 2], "x": 5.25, "y": 3}, + {"matrix": [6, 3], "x": 6.25, "y": 3}, + {"matrix": [7, 3], "x": 7.25, "y": 3}, + {"matrix": [6, 4], "x": 8.25, "y": 3}, + {"matrix": [7, 4], "x": 9.25, "y": 3}, + {"matrix": [6, 5], "x": 10.25, "y": 3}, + {"matrix": [7, 5], "x": 11.25, "y": 3}, + {"matrix": [6, 6], "x": 12.25, "y": 3, "w": 1.75}, + {"matrix": [7, 6], "x": 14, "y": 3}, + {"matrix": [7, 7], "x": 15, "y": 3}, + {"matrix": [8, 0], "x": 0, "y": 4, "w": 1.5}, + {"matrix": [9, 0], "x": 1.5, "y": 4, "w": 1}, + {"matrix": [8, 1], "x": 2.5, "y": 4, "w": 1.5}, + {"matrix": [8, 3], "x": 4, "y": 4, "w": 7}, + {"matrix": [8, 5], "x": 11, "y": 4, "w": 1.5}, + {"matrix": [8, 6], "x": 13, "y": 4}, + {"matrix": [9, 6], "x": 14, "y": 4}, + {"matrix": [9, 7], "x": 15, "y": 4} + ] + } + } +} diff --git a/keyboards/zeix/singa/kohaku/keymaps/default/keymap.c b/keyboards/zeix/singa/kohaku/keymaps/default/keymap.c new file mode 100644 index 00000000000..e58dd0c18ae --- /dev/null +++ b/keyboards/zeix/singa/kohaku/keymaps/default/keymap.c @@ -0,0 +1,35 @@ +/* +Copyright 2024 zeix (@itsme-zeix) + +This program is free software: you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation, either version 2 of the License, or +(at your option) any later version. +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License +along with this program. If not, see . +*/ +#include QMK_KEYBOARD_H + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + +[0] = LAYOUT_all( + KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_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_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_NUHS, KC_ENT, KC_PGDN, + 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_UP, MO(1), + KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_SPC, KC_SPC, KC_RALT, KC_RCTL, KC_LEFT, KC_DOWN, KC_RIGHT + ), + +[1] = LAYOUT_all( + KC_TRNS, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_TRNS, KC_DEL, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, 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/zeix/singa/kohaku/matrix_diagram.md b/keyboards/zeix/singa/kohaku/matrix_diagram.md new file mode 100644 index 00000000000..79cd5d07845 --- /dev/null +++ b/keyboards/zeix/singa/kohaku/matrix_diagram.md @@ -0,0 +1,30 @@ +# Matrix Diagram for Singa Kohaku (Designed by Zeix) + +``` + ┌───┬───┐ + Split Backspace │16 │07 │ + └───┴───┘ +┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┬───┐ +│00 │10 │01 │11 │02 │12 │03 │13 │04 │14 │05 │15 │06 │07 │17 │ +├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┼───┤ ┌─────┐ +│20 │30 │21 │31 │22 │32 │23 │33 │24 │34 │25 │35 │26 │36 │37 │ │ │ +├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴─────┼───┤ ┌──┴┐56 │ ISO Enter +│40 │50 │41 │51 │42 │52 │43 │53 │44 │54 │45 │55 │56 │57 │ │46 │ │ +├──────┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴────┬───┼───┤ └───┴────┘ +│60 │61 │71 │62 │72 │63 │73 │64 │74 │65 │75 │66 │76 │77 │ +├─────┬──┴┬──┴──┬┴───┴───┴───┴───┴───┴───┴──┬┴───┴┬─┬───┼───┼───┤ +│80 │90 │81 │83 │95 │ │86 │96 │97 │ +└─────┴───┴─────┴───────────────────────────┴─────┘ └───┴───┴───┘ +┌────┬───┐ +│60 │70 │ Split Left Shift +└────┴───┘ +┌────┬────┬────┬────────────────────────┬────┬────┐ +│80 │90 │81 │83 │85 │95 │ 6.25u +└────┴────┴────┴────────────────────────┴────┴────┘ +┌────┬────┬────┬───────────┬────┬───────┬────┬────┐ +│80 │90 │81 │92 │83 │94 │85 │95 │ Split Space (Left 2.75u) +└────┴────┴────┴───────────┴────┴───────┴────┴────┘ +┌────┬────┬────┬───────┬────┬───────────┬────┬────┐ +│80 │90 │81 │92 │83 │94 │85 │95 │ Split Space (Left 2.25u) +└────┴────┴────┴───────┴────┴───────────┴────┴────┘ +``` diff --git a/keyboards/zeix/singa/kohaku/readme.md b/keyboards/zeix/singa/kohaku/readme.md new file mode 100644 index 00000000000..864f660e5c9 --- /dev/null +++ b/keyboards/zeix/singa/kohaku/readme.md @@ -0,0 +1,27 @@ +# SINGA Kohaku R2 (PCB designed by Zeix) + +![Layout Compatibility](https://i.imgur.com/2RaSZxG.png) + +65% PCB designed to support Kohaku R2. + +- Keyboard Maintainer: [Zeix](https://github.com/itsme-zeix) +- Hardware Supported: Singa Kohaku R2 (PCB designed by Zeix) +- Hardware Availability: https://singakbd.com/ + +Make example for this keyboard (after setting up your build environment): + + make zeix/singa/kohaku:default + +Flashing example for this keyboard: + + make zeix/singa/kohaku: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 top left key and plug in the keyboard. +- **Physical reset button**: Briefly press the `RESET` button twice or short the 'USB_BOOT' and `GND` pads and plug in the keyboard. +- **Keycode in layout**: Press the key mapped to `QK_BOOT`. From e6daffce464a0ea288bee68b49f8c7605d464c1b Mon Sep 17 00:00:00 2001 From: Joel Challis Date: Wed, 30 Oct 2024 05:16:59 +0000 Subject: [PATCH 092/124] Handle `cli._subcommand.__name__` deprecation warning (#24533) --- lib/python/qmk/decorators.py | 25 +++++++++++++++++++------ 1 file changed, 19 insertions(+), 6 deletions(-) diff --git a/lib/python/qmk/decorators.py b/lib/python/qmk/decorators.py index f6270990b97..16b44d6d591 100644 --- a/lib/python/qmk/decorators.py +++ b/lib/python/qmk/decorators.py @@ -9,6 +9,15 @@ from qmk.keyboard import find_keyboard_from_dir from qmk.keymap import find_keymap_from_dir +def _get_subcommand_name(): + """Handle missing cli.subcommand_name on older versions of milc + """ + try: + return cli.subcommand_name + except AttributeError: + return cli._subcommand.__name__ + + def automagic_keyboard(func): """Sets `cli.config..keyboard` based on environment. @@ -16,13 +25,15 @@ def automagic_keyboard(func): """ @functools.wraps(func) def wrapper(*args, **kwargs): + cmd = _get_subcommand_name() + # Ensure that `--keyboard` was not passed and CWD is under `qmk_firmware/keyboards` - if cli.config_source[cli._subcommand.__name__]['keyboard'] != 'argument': + if cli.config_source[cmd]['keyboard'] != 'argument': keyboard = find_keyboard_from_dir() if keyboard: - cli.config[cli._subcommand.__name__]['keyboard'] = keyboard - cli.config_source[cli._subcommand.__name__]['keyboard'] = 'keyboard_directory' + cli.config[cmd]['keyboard'] = keyboard + cli.config_source[cmd]['keyboard'] = 'keyboard_directory' return func(*args, **kwargs) @@ -36,13 +47,15 @@ def automagic_keymap(func): """ @functools.wraps(func) def wrapper(*args, **kwargs): + cmd = _get_subcommand_name() + # Ensure that `--keymap` was not passed and that we're under `qmk_firmware` - if cli.config_source[cli._subcommand.__name__]['keymap'] != 'argument': + if cli.config_source[cmd]['keymap'] != 'argument': keymap_name, keymap_type = find_keymap_from_dir() if keymap_name: - cli.config[cli._subcommand.__name__]['keymap'] = keymap_name - cli.config_source[cli._subcommand.__name__]['keymap'] = keymap_type + cli.config[cmd]['keymap'] = keymap_name + cli.config_source[cmd]['keymap'] = keymap_type return func(*args, **kwargs) From 6693a30671a5bb690e395cf64c8a0a949123f401 Mon Sep 17 00:00:00 2001 From: Joel Challis Date: Wed, 30 Oct 2024 05:43:31 +0000 Subject: [PATCH 093/124] Remove `appdirs` from `requirements.txt` (#24550) --- requirements.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/requirements.txt b/requirements.txt index 6bee7463243..fbee51ee575 100644 --- a/requirements.txt +++ b/requirements.txt @@ -1,5 +1,5 @@ # Python requirements -appdirs +# platformdirs argcomplete colorama dotty-dict From 465cbc87de0f9e92663cf4bb1a5e89739dbb5904 Mon Sep 17 00:00:00 2001 From: Joel Challis Date: Wed, 30 Oct 2024 11:26:53 +0000 Subject: [PATCH 094/124] Handle 'MILCInterface' object has no attribute 'log_level' error (#24549) --- lib/python/qmk/search.py | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/lib/python/qmk/search.py b/lib/python/qmk/search.py index 25e3d92066d..6517bb4951d 100644 --- a/lib/python/qmk/search.py +++ b/lib/python/qmk/search.py @@ -119,8 +119,11 @@ def filter_help() -> str: def _set_log_level(level): cli.acquire_lock() - old = cli.log_level - cli.log_level = level + try: + old = cli.log_level + cli.log_level = level + except AttributeError: + old = cli.log.level cli.log.setLevel(level) logging.root.setLevel(level) cli.release_lock() From 292e0af2934e2c1dc21405e48f924f6618054584 Mon Sep 17 00:00:00 2001 From: Joel Challis Date: Thu, 31 Oct 2024 23:21:20 +0000 Subject: [PATCH 095/124] Bump minimum required Python version (#24554) --- lib/python/qmk/cli/__init__.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/lib/python/qmk/cli/__init__.py b/lib/python/qmk/cli/__init__.py index 0baf19a629d..2d63dfb4477 100644 --- a/lib/python/qmk/cli/__init__.py +++ b/lib/python/qmk/cli/__init__.py @@ -207,8 +207,8 @@ def _eprint(errmsg): # Ubuntu 24.04: 3.12 # void: 3.12 -if sys.version_info[0] != 3 or sys.version_info[1] < 7: - _eprint('Error: Your Python is too old! Please upgrade to Python 3.7 or later.') +if sys.version_info[0] != 3 or sys.version_info[1] < 9: + _eprint('Error: Your Python is too old! Please upgrade to Python 3.9 or later.') exit(127) milc_version = __VERSION__.split('.') From c8cdee3e4efb65d77c40fee9ef2894b0f214293f Mon Sep 17 00:00:00 2001 From: takashicompany Date: Mon, 4 Nov 2024 05:13:56 +0900 Subject: [PATCH 096/124] [Keyboard] Add KLEC-01 (#24543) --- .../takashicompany/klec_01/keyboard.json | 77 +++++++++++++++++++ .../klec_01/keymaps/default/keymap.c | 69 +++++++++++++++++ keyboards/takashicompany/klec_01/readme.md | 29 +++++++ 3 files changed, 175 insertions(+) create mode 100644 keyboards/takashicompany/klec_01/keyboard.json create mode 100644 keyboards/takashicompany/klec_01/keymaps/default/keymap.c create mode 100644 keyboards/takashicompany/klec_01/readme.md diff --git a/keyboards/takashicompany/klec_01/keyboard.json b/keyboards/takashicompany/klec_01/keyboard.json new file mode 100644 index 00000000000..36baa8bf60f --- /dev/null +++ b/keyboards/takashicompany/klec_01/keyboard.json @@ -0,0 +1,77 @@ +{ + "manufacturer": "takashicompany", + "keyboard_name": "KLEC-01", + "maintainer": "takashicompany", + "development_board": "promicro", + "diode_direction": "COL2ROW", + "features": { + "bootmagic": true, + "command": false, + "console": false, + "extrakey": true, + "mousekey": true, + "nkro": true + }, + "matrix_pins": { + "cols": ["F4", "F5", "F6", "F7", "B1", "B3", "B2", "B6"], + "rows": ["D4", "C6", "D7", "E6", "B4", "B5"] + }, + "url": "", + "usb": { + "device_version": "1.0.0", + "pid": "0x1001", + "vid": "0x7463" + }, + "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": 4, "y": 0}, + {"matrix": [1, 1], "x": 5, "y": 0}, + {"matrix": [1, 2], "x": 6, "y": 0}, + {"matrix": [1, 3], "x": 7, "y": 0}, + {"matrix": [2, 0], "x": 8, "y": 0}, + {"matrix": [2, 1], "x": 9, "y": 0}, + {"matrix": [2, 2], "x": 10, "y": 0}, + {"matrix": [2, 3], "x": 11, "y": 0, "w": 1.75}, + {"matrix": [0, 4], "x": 0, "y": 1, "w": 1.25}, + {"matrix": [0, 5], "x": 1.25, "y": 1}, + {"matrix": [0, 6], "x": 2.25, "y": 1}, + {"matrix": [0, 7], "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": [2, 4], "x": 8.25, "y": 1}, + {"matrix": [2, 5], "x": 9.25, "y": 1}, + {"matrix": [2, 6], "x": 10.25, "y": 1}, + {"matrix": [2, 7], "x": 11.25, "y": 1, "w": 1.5}, + {"matrix": [3, 0], "x": 0, "y": 2, "w": 1.75}, + {"matrix": [3, 1], "x": 1.75, "y": 2}, + {"matrix": [3, 2], "x": 2.75, "y": 2}, + {"matrix": [3, 3], "x": 3.75, "y": 2}, + {"matrix": [4, 0], "x": 4.75, "y": 2}, + {"matrix": [4, 1], "x": 5.75, "y": 2}, + {"matrix": [4, 2], "x": 6.75, "y": 2}, + {"matrix": [4, 3], "x": 7.75, "y": 2}, + {"matrix": [5, 0], "x": 8.75, "y": 2}, + {"matrix": [5, 1], "x": 9.75, "y": 2}, + {"matrix": [5, 2], "x": 10.75, "y": 2}, + {"matrix": [5, 3], "x": 11.75, "y": 2}, + {"matrix": [3, 4], "x": 0, "y": 3}, + {"matrix": [3, 5], "x": 1, "y": 3}, + {"matrix": [3, 6], "x": 2, "y": 3}, + {"matrix": [3, 7], "x": 3, "y": 3, "w": 1.25}, + {"matrix": [4, 4], "x": 4.25, "y": 3, "w": 2}, + {"matrix": [4, 5], "x": 6.25, "y": 3, "w": 2.25}, + {"matrix": [5, 4], "x": 8.5, "y": 3, "w": 1.25}, + {"matrix": [5, 5], "x": 9.75, "y": 3}, + {"matrix": [5, 6], "x": 10.75, "y": 3}, + {"matrix": [5, 7], "x": 11.75, "y": 3} + ] + } + } +} \ No newline at end of file diff --git a/keyboards/takashicompany/klec_01/keymaps/default/keymap.c b/keyboards/takashicompany/klec_01/keymaps/default/keymap.c new file mode 100644 index 00000000000..551c211b73a --- /dev/null +++ b/keyboards/takashicompany/klec_01/keymaps/default/keymap.c @@ -0,0 +1,69 @@ +// Copyright 2023 QMK +// SPDX-License-Identifier: GPL-2.0-or-later + +#include QMK_KEYBOARD_H + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + [0] = LAYOUT( + KC_ESC, LT(7, 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, LT(6, KC_D), KC_F, KC_G, KC_H, KC_J, LT(6, KC_K), KC_L, KC_ENT, KC_ENT, + KC_LSFT, LSFT_T(KC_Z), LGUI_T(KC_X), KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, LCTL_T(KC_DOT), KC_UP, KC_RSFT, + KC_LCTL, KC_LGUI, KC_LALT, LALT_T(KC_LNG2), LSFT_T(KC_TAB), LT(2, KC_SPC), LT(1, KC_LNG1), KC_LEFT, KC_DOWN, KC_RGHT + ), + + [1] = LAYOUT( + KC_TRNS, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_TRNS, + KC_TRNS, LCTL_T(KC_EQL), KC_LBRC, KC_SLSH, KC_MINS, KC_INT1, KC_SCLN, KC_QUOT, KC_RBRC, KC_NUHS, KC_INT3, KC_TRNS, + KC_TRNS, LSFT_T(KC_PLUS), KC_LCBR, KC_QUES, KC_UNDS, LSFT(KC_INT1), KC_COLN, KC_DQUO, KC_RCBR, LSFT(KC_NUHS), KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS + ), + + [2] = LAYOUT( + KC_TRNS, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, LGUI(KC_INT3), KC_TRNS, + KC_TRNS, KC_PLUS, KC_LCBR, KC_QUES, KC_UNDS, LSFT(KC_INT1), KC_COLN, KC_DQUO, KC_RCBR, LSFT(KC_NUHS), LSFT(KC_INT3), KC_TRNS, + KC_TRNS, KC_LSFT, KC_LGUI, KC_LALT, KC_LNG2, KC_LSFT, KC_SPC, KC_LNG1, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS + ), + + [3] = LAYOUT( + KC_TRNS, LT(7, KC_Q), KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_TRNS, + KC_TRNS, KC_A, KC_S, LT(6, KC_D), KC_F, KC_G, KC_H, KC_J, LT(6, KC_K), KC_L, KC_ENT, KC_TRNS, + KC_TRNS, LSFT_T(KC_Z), LGUI_T(KC_X), KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, LCTL_T(KC_DOT), KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS + ), + + [4] = LAYOUT( + KC_TRNS, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_TRNS, KC_TRNS, + KC_TRNS, KC_CIRC, KC_AT, KC_SLSH, KC_MINS, KC_UNDS, KC_SCLN, KC_COLN, KC_LBRC, KC_RBRC, KC_INT3, KC_TRNS, + KC_TRNS, LT(5, KC_TILD), KC_GRV, KC_QUES, KC_EQL, KC_UNDS, KC_PLUS, KC_ASTR, KC_LCBR, KC_RCBR, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS + ), + + [5] = LAYOUT( + KC_TRNS, KC_EXLM, KC_DQUO, KC_HASH, KC_DLR, KC_PERC, KC_AMPR, KC_QUOT, KC_LPRN, KC_RPRN, KC_BSLS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TILD, KC_GRV, KC_QUES, KC_EQL, KC_UNDS, KC_PLUS, KC_ASTR, KC_LCBR, KC_RCBR, KC_PIPE, KC_TRNS, + KC_TRNS, KC_LSFT, KC_LGUI, KC_LALT, KC_LNG2, KC_LSFT, KC_SPC, KC_LNG1, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS + ), + + [6] = LAYOUT( + KC_TRNS, KC_ESC, KC_TAB, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_UP, KC_NO, KC_NO, KC_TRNS, + KC_TRNS, KC_LCTL, KC_TRNS, KC_QUES, KC_EXLM, KC_NO, KC_NO, KC_LEFT, KC_DOWN, KC_RGHT, KC_NO, KC_TRNS, + KC_TRNS, KC_TRNS, KC_LSFT, KC_LGUI, KC_LALT, KC_LNG2, KC_TRNS, KC_NO, KC_LNG1, KC_NO, KC_NO, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS + ), + + [7] = LAYOUT( + KC_TRNS, KC_NO, KC_TAB, KC_NO, KC_NO, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_TRNS, KC_TRNS, + KC_TRNS, KC_NO, KC_NO, KC_NO, KC_NO, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_TRNS, + KC_TRNS, KC_LSFT, KC_NO, KC_NO, KC_NO, KC_TRNS, KC_TRNS, KC_TRNS, KC_NO, MO(8), KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS + ), + + [8] = LAYOUT( + KC_TRNS, UG_TOGG, UG_NEXT, UG_HUEU, UG_SATU, UG_VALU, KC_NO, KC_NO, KC_NO, DF(0), DF(3), KC_TRNS, KC_TRNS, + KC_TRNS, RGB_M_P, RGB_M_B, RGB_M_R, RGB_M_SW, RGB_M_SN, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_TRNS, + KC_TRNS, RGB_M_K, RGB_M_X, RGB_M_G, KC_NO, KC_NO, QK_BOOT, KC_NO, KC_NO, KC_NO, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS + ) +}; \ No newline at end of file diff --git a/keyboards/takashicompany/klec_01/readme.md b/keyboards/takashicompany/klec_01/readme.md new file mode 100644 index 00000000000..e907c7b68a3 --- /dev/null +++ b/keyboards/takashicompany/klec_01/readme.md @@ -0,0 +1,29 @@ +# takashicompany/klec_01 + +![takashicompany/klec_01](https://i.imgur.com/oFZHNFJ.jpeg) + +46-key integrated keyboard. + +The layout is similar to a conventional keyboard, making it a good introduction to 40% keyboards. + +* Keyboard Maintainer: [takashicompany](https://github.com/takashicompany) +* Hardware Supported: PCB, Pro Micro +* Hardware Availability: https://github.com/takashicompany/klec_01 + +Make example for this keyboard (after setting up your build environment): + + make takashicompany/klec_01:default + +Flashing example for this keyboard: + + make takashicompany/klec_01: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 6fbfd659ff361072a512ba8cbdb77632c0357dcc Mon Sep 17 00:00:00 2001 From: takashicompany Date: Wed, 6 Nov 2024 16:43:35 +0900 Subject: [PATCH 097/124] Add new keyboard "KLEC-02" (#24559) Co-authored-by: jack <0x6a73@protonmail.com> --- .../takashicompany/klec_02/keyboard.json | 73 +++++++++++++++++++ .../klec_02/keymaps/default/keymap.c | 70 ++++++++++++++++++ keyboards/takashicompany/klec_02/readme.md | 28 +++++++ 3 files changed, 171 insertions(+) create mode 100644 keyboards/takashicompany/klec_02/keyboard.json create mode 100644 keyboards/takashicompany/klec_02/keymaps/default/keymap.c create mode 100644 keyboards/takashicompany/klec_02/readme.md diff --git a/keyboards/takashicompany/klec_02/keyboard.json b/keyboards/takashicompany/klec_02/keyboard.json new file mode 100644 index 00000000000..045c4ef315c --- /dev/null +++ b/keyboards/takashicompany/klec_02/keyboard.json @@ -0,0 +1,73 @@ +{ + "manufacturer": "takashicompany", + "keyboard_name": "KLEC-02", + "maintainer": "takashicompany", + "development_board": "promicro", + "diode_direction": "COL2ROW", + "features": { + "bootmagic": true, + "command": false, + "console": false, + "extrakey": true, + "mousekey": true, + "nkro": true + }, + "matrix_pins": { + "cols": ["D4", "C6", "D7", "E6", "B4"], + "rows": ["F4", "F5", "F6", "F7"] + }, + "split": { + "enabled": true, + "serial": { + "pin": "D2" + } + }, + "url": "", + "usb": { + "device_version": "1.0.0", + "pid": "0x1002", + "vid": "0x7463" + }, + "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": [4, 0], "x": 6.25, "y": 0}, + {"matrix": [4, 1], "x": 7.25, "y": 0}, + {"matrix": [4, 2], "x": 8.25, "y": 0}, + {"matrix": [4, 3], "x": 9.25, "y": 0}, + {"matrix": [4, 4], "x": 10.25, "y": 0}, + {"matrix": [1, 0], "x": 0.25, "y": 1}, + {"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": [5, 0], "x": 6.5, "y": 1}, + {"matrix": [5, 1], "x": 7.5, "y": 1}, + {"matrix": [5, 2], "x": 8.5, "y": 1}, + {"matrix": [5, 3], "x": 9.5, "y": 1}, + {"matrix": [5, 4], "x": 10.5, "y": 1}, + {"matrix": [2, 0], "x": 0.5, "y": 2}, + {"matrix": [2, 1], "x": 1.5, "y": 2}, + {"matrix": [2, 2], "x": 2.5, "y": 2}, + {"matrix": [2, 3], "x": 3.5, "y": 2}, + {"matrix": [2, 4], "x": 4.5, "y": 2}, + {"matrix": [6, 0], "x": 6.75, "y": 2}, + {"matrix": [6, 1], "x": 7.75, "y": 2}, + {"matrix": [6, 2], "x": 8.75, "y": 2}, + {"matrix": [6, 3], "x": 9.75, "y": 2}, + {"matrix": [6, 4], "x": 10.75, "y": 2}, + {"matrix": [3, 2], "x": 2.75, "y": 3}, + {"matrix": [3, 3], "x": 3.75, "y": 3, "w": 1.25}, + {"matrix": [3, 4], "x": 5, "y": 3}, + {"matrix": [7, 0], "x": 6.25, "y": 3}, + {"matrix": [7, 1], "x": 7.25, "y": 3, "w": 1.25}, + {"matrix": [7, 2], "x": 8.5, "y": 3} + ] + } + } +} \ No newline at end of file diff --git a/keyboards/takashicompany/klec_02/keymaps/default/keymap.c b/keyboards/takashicompany/klec_02/keymaps/default/keymap.c new file mode 100644 index 00000000000..0431b8e6b7e --- /dev/null +++ b/keyboards/takashicompany/klec_02/keymaps/default/keymap.c @@ -0,0 +1,70 @@ +// Copyright 2023 QMK +// SPDX-License-Identifier: GPL-2.0-or-later + +#include QMK_KEYBOARD_H + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + + [0] = LAYOUT( + LT(7, KC_Q), KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, + KC_A, KC_S, LT(6, KC_D), KC_F, KC_G, KC_H, KC_J, LT(6, KC_K), KC_L, KC_ENT, + LSFT_T(KC_Z), LGUI_T(KC_X), KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, LCTL_T(KC_DOT), KC_BSPC, + KC_LGUI, LALT_T(KC_LNG2), LSFT_T(KC_TAB), LT(2, KC_SPC), LT(1, KC_LNG1), KC_RGUI + ), + + [1] = LAYOUT( + KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, + LCTL_T(KC_EQL), KC_LBRC, KC_SLSH, KC_MINS, KC_INT1, KC_SCLN, KC_QUOT, KC_RBRC, KC_NUHS, KC_INT3, + LSFT_T(KC_PLUS), KC_LCBR, KC_QUES, KC_UNDS, LSFT(KC_INT1), KC_COLN, KC_DQUO, KC_RCBR, LSFT(KC_NUHS), LSFT(KC_INT3), + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS + ), + + [2] = LAYOUT( + KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, LGUI(KC_INT3), + KC_PLUS, KC_LCBR, KC_QUES, KC_UNDS, LSFT(KC_INT1), KC_COLN, KC_DQUO, KC_RCBR, LSFT(KC_NUHS), LSFT(KC_INT3), + KC_LSFT, KC_LGUI, KC_LALT, KC_LNG2, KC_LSFT, KC_SPC, KC_LNG1, KC_TRNS, KC_TRNS, KC_DEL, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS + ), + + [3] = LAYOUT( + LT(7, KC_Q), KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, + KC_A, KC_S, LT(6, KC_D), KC_F, KC_G, KC_H, KC_J, LT(6, KC_K), KC_L, KC_ENT, + LSFT_T(KC_Z), LGUI_T(KC_X), KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, LCTL_T(KC_DOT), KC_BSPC, + KC_LGUI, LALT_T(KC_LNG2), LSFT_T(KC_TAB), LT(5, KC_SPC), LT(4, KC_LNG1), KC_RGUI + ), + + [4] = LAYOUT( + KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, + KC_CIRC, KC_AT, KC_SLSH, KC_MINS, KC_UNDS, KC_SCLN, KC_COLN, KC_LBRC, KC_RBRC, KC_INT3, + LT(5, KC_TILD), KC_GRV, KC_QUES, KC_EQL, KC_UNDS, KC_PLUS, KC_ASTR, KC_LCBR, KC_RCBR, KC_PIPE, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS + ), + + [5] = LAYOUT( + KC_EXLM, KC_DQUO, KC_HASH, KC_DLR, KC_PERC, KC_AMPR, KC_QUOT, KC_LPRN, KC_RPRN, KC_BSLS, + KC_TILD, KC_GRV, KC_QUES, KC_EQL, KC_UNDS, KC_PLUS, KC_ASTR, KC_LCBR, KC_RCBR, KC_PIPE, + KC_LSFT, KC_LGUI, KC_LALT, KC_LNG2, KC_LSFT, KC_SPC, KC_LNG1, KC_TRNS, KC_TRNS, KC_DEL, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS + ), + + [6] = LAYOUT( + KC_ESC, KC_TAB, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_UP, KC_NO, KC_NO, + KC_LCTL, KC_TRNS, KC_QUES, KC_EXLM, KC_NO, KC_NO, KC_LEFT, KC_DOWN, KC_RGHT, KC_NO, + KC_LSFT, KC_LGUI, KC_LALT, KC_LNG2, KC_TRNS, KC_NO, KC_LNG1, KC_NO, KC_NO, KC_DEL, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS + ), + + [7] = LAYOUT( + KC_NO, KC_TAB, KC_NO, KC_NO, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, + KC_NO, KC_NO, KC_NO, KC_NO, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, + KC_LSFT, KC_NO, KC_NO, KC_NO, KC_TRNS, KC_TRNS, KC_TRNS, KC_NO, MO(8), MO(9), + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS + ), + + [8] = LAYOUT( + UG_TOGG, UG_NEXT, UG_HUEU, UG_SATU, UG_VALU, KC_NO, KC_NO, KC_NO, DF(0), DF(3), + RGB_M_P, RGB_M_B, RGB_M_R, RGB_M_SW, RGB_M_SN, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, + RGB_M_K, RGB_M_X, RGB_M_G, KC_NO, KC_NO, QK_BOOT, KC_NO, KC_NO, KC_NO, KC_NO, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS + ) +}; \ No newline at end of file diff --git a/keyboards/takashicompany/klec_02/readme.md b/keyboards/takashicompany/klec_02/readme.md new file mode 100644 index 00000000000..0b492a5e18a --- /dev/null +++ b/keyboards/takashicompany/klec_02/readme.md @@ -0,0 +1,28 @@ +# KLEC-02 + +![takashicompany/klec_02](https://i.imgur.com/1w6agBI.jpeg) + +The KLEC-02 is a 36-key segmented keyboard. +The PCB can be fitted with key switch sockets, allowing easy replacement of key switches. + +* Keyboard Maintainer: [takashicompany](https://github.com/takashicompany) +* Hardware Supported: PCB, Pro Micro +* Hardware Availability: https://github.com/takashicompany/klec_02 + +Make example for this keyboard (after setting up your build environment): + + make takashicompany/klec_02:default + +Flashing example for this keyboard: + + make takashicompany/klec_02: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 f5f11b7c797c28f2ed8177fcf7c81e6207346184 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Michael=20B=C3=BCchler?= Date: Wed, 6 Nov 2024 08:45:20 +0100 Subject: [PATCH 098/124] Add keyboards/converter/thinkpad_t6x/rpi_pico (#23696) --- .../thinkpad_t6x/rpi_pico/keyboard.json | 131 ++++++++++++++++++ .../rpi_pico/keymaps/default/keymap.c | 17 +++ .../converter/thinkpad_t6x/rpi_pico/readme.md | 27 ++++ 3 files changed, 175 insertions(+) create mode 100644 keyboards/converter/thinkpad_t6x/rpi_pico/keyboard.json create mode 100644 keyboards/converter/thinkpad_t6x/rpi_pico/keymaps/default/keymap.c create mode 100644 keyboards/converter/thinkpad_t6x/rpi_pico/readme.md diff --git a/keyboards/converter/thinkpad_t6x/rpi_pico/keyboard.json b/keyboards/converter/thinkpad_t6x/rpi_pico/keyboard.json new file mode 100644 index 00000000000..4f876a4a94e --- /dev/null +++ b/keyboards/converter/thinkpad_t6x/rpi_pico/keyboard.json @@ -0,0 +1,131 @@ +{ + "manufacturer": "strobo5", + "keyboard_name": "converter/thinkpad_t6x/rpi_pico", + "maintainer": "strobo5", + "board": "GENERIC_RP_RP2040", + "bootloader": "rp2040", + "diode_direction": "COL2ROW", + "features": { + "bootmagic": true, + "extrakey": true, + "mousekey": true + }, + "matrix_pins": { + "cols": ["GP7", "GP9", "GP11", "GP13", "GP17", "GP16", "GP14", "GP12", "GP15", "GP8", "GP10", "GP6", "GP4", "GP2", "GP5", "GP3"], + "rows": ["GP20", "GP26", "GP22", "GP21", "GP18", "GP19", "GP27", "GP28"] + }, + "processor": "RP2040", + "ps2": { + "clock_pin": "GP1", + "data_pin": "GP0", + "driver": "vendor", + "enabled": true, + "mouse_enabled": true + }, + "url": "https://github.com/strobo5/T61_PiPico_Scanner", + "usb": { + "device_version": "1.0.0", + "pid": "0x0000", + "vid": "0xFEED" + }, + "layouts": { + "LAYOUT_iso": { + "layout": [ + {"label": "Esc", "matrix": [5, 0], "x": 0, "y": 0, "w": 0.9, "h": 0.75}, + {"label": "Mute", "matrix": [4, 10], "x": 0.9, "y": 0, "w": 0.75, "h": 0.5}, + {"label": "Vol -", "matrix": [3, 10], "x": 1.65, "y": 0, "w": 0.75, "h": 0.5}, + {"label": "Vol +", "matrix": [2, 10], "x": 2.4, "y": 0, "w": 0.75, "h": 0.5}, + {"label": "ThinkVantage", "matrix": [5, 10], "x": 3.5, "y": 0, "w": 1.25, "h": 0.5}, + {"label": "PrtSc", "matrix": [1, 13], "x": 8.9, "y": 0, "w": 0.9, "h": 0.65}, + {"label": "ScrLk", "matrix": [2, 13], "x": 9.8, "y": 0, "w": 0.9, "h": 0.65}, + {"label": "Pause", "matrix": [6, 12], "x": 10.7, "y": 0, "w": 0.9, "h": 0.65}, + {"label": "Insert", "matrix": [0, 9], "x": 12, "y": 0, "w": 0.9, "h": 0.65}, + {"label": "Home", "matrix": [0, 12], "x": 12.9, "y": 0, "w": 0.9, "h": 0.65}, + {"label": "PgUp", "matrix": [0, 11], "x": 13.8, "y": 0, "w": 0.9, "h": 0.65}, + {"label": "F1", "matrix": [0, 1], "x": 0, "y": 0.75, "w": 0.9, "h": 0.65}, + {"label": "F2", "matrix": [0, 2], "x": 0.9, "y": 0.75, "w": 0.9, "h": 0.65}, + {"label": "F3", "matrix": [3, 2], "x": 1.8, "y": 0.75, "w": 0.9, "h": 0.65}, + {"label": "F4", "matrix": [5, 2], "x": 2.7, "y": 0.75, "w": 0.9, "h": 0.65}, + {"label": "F5", "matrix": [5, 8], "x": 4, "y": 0.75, "w": 0.9, "h": 0.65}, + {"label": "F6", "matrix": [5, 5], "x": 4.9, "y": 0.75, "w": 0.9, "h": 0.65}, + {"label": "F7", "matrix": [3, 6], "x": 5.8, "y": 0.75, "w": 0.9, "h": 0.65}, + {"label": "F8", "matrix": [0, 6], "x": 6.7, "y": 0.75, "w": 0.9, "h": 0.65}, + {"label": "F9", "matrix": [0, 8], "x": 8, "y": 0.75, "w": 0.9, "h": 0.65}, + {"label": "F10", "matrix": [1, 8], "x": 8.9, "y": 0.75, "w": 0.9, "h": 0.65}, + {"label": "F11", "matrix": [1, 10], "x": 9.8, "y": 0.75, "w": 0.9, "h": 0.65}, + {"label": "F12", "matrix": [1, 9], "x": 10.7, "y": 0.75, "w": 0.9, "h": 0.65}, + {"label": "Delete", "matrix": [0, 10], "x": 12, "y": 0.75, "w": 0.9, "h": 0.65}, + {"label": "End", "matrix": [1, 12], "x": 12.9, "y": 0.75, "w": 0.9, "h": 0.65}, + {"label": "PgDn", "matrix": [1, 11], "x": 13.8, "y": 0.75, "w": 0.9, "h": 0.65}, + {"label": "`\u00ac", "matrix": [0, 0], "x": 0, "y": 1.4}, + {"label": "1!", "matrix": [1, 0], "x": 1, "y": 1.4}, + {"label": "2\"", "matrix": [1, 1], "x": 2, "y": 1.4}, + {"label": "3\u00a3", "matrix": [1, 2], "x": 3, "y": 1.4}, + {"label": "4$", "matrix": [1, 3], "x": 4, "y": 1.4}, + {"label": "5%", "matrix": [0, 3], "x": 5, "y": 1.4}, + {"label": "6^", "matrix": [0, 4], "x": 6, "y": 1.4}, + {"label": "7&", "matrix": [1, 4], "x": 7, "y": 1.4}, + {"label": "8*", "matrix": [1, 5], "x": 8, "y": 1.4}, + {"label": "9(", "matrix": [1, 6], "x": 9, "y": 1.4}, + {"label": "0)", "matrix": [1, 7], "x": 10, "y": 1.4}, + {"label": "-_", "matrix": [0, 7], "x": 11, "y": 1.4}, + {"label": "=+", "matrix": [0, 5], "x": 12, "y": 1.4}, + {"label": "Bksp", "matrix": [3, 8], "x": 13, "y": 1.4, "w": 2}, + {"label": "Tab", "matrix": [3, 0], "x": 0, "y": 2.4, "w": 1.5}, + {"label": "Q", "matrix": [2, 0], "x": 1.5, "y": 2.4}, + {"label": "W", "matrix": [2, 1], "x": 2.5, "y": 2.4}, + {"label": "E", "matrix": [2, 2], "x": 3.5, "y": 2.4}, + {"label": "R", "matrix": [2, 3], "x": 4.5, "y": 2.4}, + {"label": "T", "matrix": [3, 3], "x": 5.5, "y": 2.4}, + {"label": "Y", "matrix": [3, 4], "x": 6.5, "y": 2.4}, + {"label": "U", "matrix": [2, 4], "x": 7.5, "y": 2.4}, + {"label": "I", "matrix": [2, 5], "x": 8.5, "y": 2.4}, + {"label": "O", "matrix": [2, 6], "x": 9.5, "y": 2.4}, + {"label": "P", "matrix": [2, 7], "x": 10.5, "y": 2.4}, + {"label": "[{", "matrix": [3, 7], "x": 11.5, "y": 2.4}, + {"label": "]}", "matrix": [3, 5], "x": 12.5, "y": 2.4}, + {"label": "Caps Lock", "matrix": [3, 1], "x": 0, "y": 3.4, "w": 1.75}, + {"label": "A", "matrix": [4, 0], "x": 1.75, "y": 3.4}, + {"label": "S", "matrix": [4, 1], "x": 2.75, "y": 3.4}, + {"label": "D", "matrix": [4, 2], "x": 3.75, "y": 3.4}, + {"label": "F", "matrix": [4, 3], "x": 4.75, "y": 3.4}, + {"label": "G", "matrix": [5, 3], "x": 5.75, "y": 3.4}, + {"label": "H", "matrix": [5, 4], "x": 6.75, "y": 3.4}, + {"label": "J", "matrix": [4, 4], "x": 7.75, "y": 3.4}, + {"label": "K", "matrix": [4, 5], "x": 8.75, "y": 3.4}, + {"label": "L", "matrix": [4, 6], "x": 9.75, "y": 3.4}, + {"label": ";:", "matrix": [4, 7], "x": 10.75, "y": 3.4}, + {"label": "'@", "matrix": [5, 7], "x": 11.75, "y": 3.4}, + {"label": "#~", "matrix": [6, 7], "x": 12.75, "y": 3.4}, + {"label": "Enter", "matrix": [6, 8], "x": 13.75, "y": 2.4, "w": 1.25, "h": 2}, + {"label": "Shift", "matrix": [3, 14], "x": 0, "y": 4.4, "w": 1.25}, + {"label": "\\|", "matrix": [5, 1], "x": 1.25, "y": 4.4}, + {"label": "Z", "matrix": [6, 0], "x": 2.25, "y": 4.4}, + {"label": "X", "matrix": [6, 1], "x": 3.25, "y": 4.4}, + {"label": "C", "matrix": [6, 2], "x": 4.25, "y": 4.4}, + {"label": "V", "matrix": [6, 3], "x": 5.25, "y": 4.4}, + {"label": "B", "matrix": [7, 3], "x": 6.25, "y": 4.4}, + {"label": "N", "matrix": [7, 4], "x": 7.25, "y": 4.4}, + {"label": "M", "matrix": [6, 4], "x": 8.25, "y": 4.4}, + {"label": ",<", "matrix": [6, 5], "x": 9.25, "y": 4.4}, + {"label": ".>", "matrix": [6, 6], "x": 10.25, "y": 4.4}, + {"label": "/?", "matrix": [7, 7], "x": 11.25, "y": 4.4}, + {"label": "Shift", "matrix": [6, 14], "x": 12.25, "y": 4.4, "w": 2.75}, + {"label": "Fn", "matrix": [4, 9], "x": 0, "y": 5.4}, + {"label": "Ctrl", "matrix": [0, 15], "x": 1, "y": 5.4, "w": 1.25}, + {"label": "Left OS", "matrix": [2, 11], "x": 2.25, "y": 5.4, "w": 0.9}, + {"label": "Alt", "matrix": [5, 13], "x": 3.15, "y": 5.4}, + {"label": "Space", "matrix": [7, 8], "x": 4.15, "y": 5.4, "w": 5}, + {"label": "AltGr", "matrix": [7, 13], "x": 9.25, "y": 5.4}, + {"label": "Menu", "matrix": [4, 11], "x": 10.25, "y": 5.4}, + {"label": "Ctrl", "matrix": [6, 15], "x": 11.25, "y": 5.4}, + {"label": "Browser Back", "matrix": [6, 11], "x": 12.25, "y": 5.4, "w": 0.9, "h": 0.75}, + {"label": "Up", "matrix": [5, 12], "x": 13.15, "y": 5.4, "w": 0.9, "h": 0.75}, + {"label": "Browser Forward", "matrix": [7, 11], "x": 14.05, "y": 5.4, "w": 0.9, "h": 0.75}, + {"label": "Left", "matrix": [7, 12], "x": 12.25, "y": 6.15, "w": 0.9, "h": 0.75}, + {"label": "Down", "matrix": [7, 10], "x": 13.15, "y": 6.15, "w": 0.9, "h": 0.75}, + {"label": "Right", "matrix": [7, 9], "x": 14.05, "y": 6.15, "w": 0.9, "h": 0.75} + ] + } + } +} diff --git a/keyboards/converter/thinkpad_t6x/rpi_pico/keymaps/default/keymap.c b/keyboards/converter/thinkpad_t6x/rpi_pico/keymaps/default/keymap.c new file mode 100644 index 00000000000..4dac20888fb --- /dev/null +++ b/keyboards/converter/thinkpad_t6x/rpi_pico/keymaps/default/keymap.c @@ -0,0 +1,17 @@ +// Copyright 2023 QMK +// SPDX-License-Identifier: GPL-2.0-or-later + +#include QMK_KEYBOARD_H + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + [0] = LAYOUT_iso( + KC_ESC, KC_MUTE, KC_VOLD, KC_VOLU, QK_BOOT, KC_PSCR, KC_SCRL, KC_PAUS, KC_INS, KC_HOME, KC_PGUP, + 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_END, KC_PGDN, + 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_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_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_NUHS, 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_NO, KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, KC_APP, KC_RCTL, KC_WBAK, KC_UP , KC_WFWD, + KC_LEFT, KC_DOWN, KC_RGHT + ) +}; diff --git a/keyboards/converter/thinkpad_t6x/rpi_pico/readme.md b/keyboards/converter/thinkpad_t6x/rpi_pico/readme.md new file mode 100644 index 00000000000..0008dad2f14 --- /dev/null +++ b/keyboards/converter/thinkpad_t6x/rpi_pico/readme.md @@ -0,0 +1,27 @@ +# converter/thinkpad_t6x/rpi_pico + +![converter/thinkpad_t6x/rpi_pico](https://i.imgur.com/wUG9p6eh.jpeg) + +This is a converter PCB for Lenovo Thinkpad keyboards from a wide range of models (T60, T61, X220, ...), based on the Raspberry Pi Pico. The QMK implementation here is specific to the converter in the link below. Similar PCB designs to convert a Thinkpad keyboard to USB exist, but they use a different microcontroller and wiring of the keyboard connector with the MCU. + +* Keyboard Maintainer: [Michael Büchler](https://github.com/strobo5) +* Hardware Supported: The linked converter PCB with keyboards from various Thinkpad models +* Hardware Availability: [Custom PCB](https://github.com/strobo5/T61_PiPico_Scanner) + +Make example for this keyboard (after setting up your build environment): + + make converter/thinkpad_t6x/rpi_pico:default + +Flashing example for this keyboard: + + make converter/thinkpad_t6x/rpi_pico: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 f4e6af2dbe8c2b0d24dfa14e58d3be02bd6b2b7d Mon Sep 17 00:00:00 2001 From: Diego Andres Rabaioli Date: Wed, 6 Nov 2024 08:46:17 +0100 Subject: [PATCH 099/124] Adding SdraKb00 keyboard (#24552) Co-authored-by: jack Co-authored-by: Duncan Sutherland --- keyboards/sdrakbs/sdrakb00/keyboard.json | 71 ++++++++++++++++++ .../sdrakbs/sdrakb00/keymaps/default/keymap.c | 74 +++++++++++++++++++ keyboards/sdrakbs/sdrakb00/readme.md | 52 +++++++++++++ 3 files changed, 197 insertions(+) create mode 100644 keyboards/sdrakbs/sdrakb00/keyboard.json create mode 100644 keyboards/sdrakbs/sdrakb00/keymaps/default/keymap.c create mode 100644 keyboards/sdrakbs/sdrakb00/readme.md diff --git a/keyboards/sdrakbs/sdrakb00/keyboard.json b/keyboards/sdrakbs/sdrakb00/keyboard.json new file mode 100644 index 00000000000..f9e24cc63f0 --- /dev/null +++ b/keyboards/sdrakbs/sdrakb00/keyboard.json @@ -0,0 +1,71 @@ +{ + "manufacturer": "Diego Andres Rabaioli", + "keyboard_name": "sdrakb00", + "maintainer": "drabaioli", + "bootloader": "atmel-dfu", + "diode_direction": "COL2ROW", + "encoder": { + "rotary": [ + {"pin_a": "B5", "pin_b": "B6", "resolution": 2} + ] + }, + "features": { + "bootmagic": true, + "encoder": true, + "extrakey": true, + "mousekey": true, + "nkro": true, + "rgb_matrix": true + }, + "matrix_pins": { + "cols": ["F0", "F1", "F4", "F5"], + "rows": ["D4", "D6", "D7"] + }, + "processor": "atmega32u4", + "rgb_matrix": { + "driver": "ws2812", + "layout": [ + {"matrix": [0, 0], "x": 0, "y": 0, "flags": 4}, + {"matrix": [0, 1], "x": 16, "y": 0, "flags": 4}, + {"matrix": [0, 2], "x": 32, "y": 0, "flags": 4}, + {"matrix": [1, 0], "x": 0, "y": 16, "flags": 4}, + {"matrix": [1, 1], "x": 16, "y": 16, "flags": 4}, + {"matrix": [1, 2], "x": 32, "y": 16, "flags": 4}, + {"matrix": [1, 3], "x": 48, "y": 16, "flags": 4}, + {"matrix": [2, 0], "x": 0, "y": 32, "flags": 4}, + {"matrix": [2, 1], "x": 16, "y": 32, "flags": 4}, + {"matrix": [2, 2], "x": 32, "y": 32, "flags": 4}, + {"matrix": [2, 3], "x": 48, "y": 32, "flags": 4} + ], + "max_brightness": 100, + "sleep": true, + "timeout": 300000 + }, + "url": "https://github.com/drabaioli/SdraKb00", + "usb": { + "device_version": "1.0.0", + "pid": "0x4200", + "vid": "0x7331" + }, + "ws2812": { + "pin": "B0" + }, + "layouts": { + "LAYOUT_ortho_3x4": { + "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, "encoder": 0}, + {"matrix": [1, 0], "x": 0, "y": 1}, + {"matrix": [1, 1], "x": 1, "y": 1}, + {"matrix": [1, 2], "x": 2, "y": 1}, + {"matrix": [1, 3], "x": 3, "y": 1}, + {"matrix": [2, 0], "x": 0, "y": 2}, + {"matrix": [2, 1], "x": 1, "y": 2}, + {"matrix": [2, 2], "x": 2, "y": 2}, + {"matrix": [2, 3], "x": 3, "y": 2} + ] + } + } +} diff --git a/keyboards/sdrakbs/sdrakb00/keymaps/default/keymap.c b/keyboards/sdrakbs/sdrakb00/keymaps/default/keymap.c new file mode 100644 index 00000000000..c5481b1076e --- /dev/null +++ b/keyboards/sdrakbs/sdrakb00/keymaps/default/keymap.c @@ -0,0 +1,74 @@ +// Copyright 2023 QMK +// SPDX-License-Identifier: GPL-2.0-or-later + +#include QMK_KEYBOARD_H + +/* Keymap for 3x4 Macropad + * + * Layer 0 (Base Layer) - Numpad layout with mute button and layer toggle: + * ,----------------------, + * | 7 | 8 | 9 | MUTE | + * |-------+-------+-------+--------| + * | 4 | 5 | 6 | Layer1 | + * |-------+-------+-------+--------| + * | 1 | 2 | 3 | 0 | + * `-----------------------^--------' + * + * Layer 1 (Function Layer) - Accessed by holding MO(1): + * ,----------------------, + * | BKSP | / | - | ---- | + * |-------+-------+-------+--------| + * | = | * | + | ---- | + * |-------+-------+-------+--------| + * | ENTER | ---- | ---- | . | + * `-----------------------^--------' + * + * The base layer (0) provides standard numpad functionality with: + * - Numbers 0-9 in traditional numpad layout + * - Mute button in top right + * - Layer 1 momentary toggle (MO1) in middle right + * + * The function layer (1) adds: + * - Basic mathematical operators (+, -, *, /) + * - Backspace, Enter, and decimal point + * - Equal sign for calculations + * - Empty slots marked as ---- (KC_NO) + */ +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + + [0] = LAYOUT_ortho_3x4( + KC_KP_7, KC_KP_8, KC_KP_9, KC_MUTE, + KC_KP_4, KC_KP_5, KC_KP_6, MO(1), + KC_KP_1, KC_KP_2, KC_KP_3, KC_KP_0 + ), + + [1] = LAYOUT_ortho_3x4( + KC_BACKSPACE, KC_KP_SLASH, KC_KP_MINUS, _______, + KC_EQUAL, KC_KP_ASTERISK, KC_KP_PLUS, _______, + KC_ENTER, _______, _______, KC_KP_DOT + ) +}; + + +/* + * Handle layer state changes by updating RGB matrix colors + * + * Sets RGB matrix colors based on active layer: + * - Layer 0: Light green (#88FB7A) + * - Layer 1: Red + * - Other layers: Red (fallback) + */ +layer_state_t layer_state_set_user(layer_state_t state) { + switch (get_highest_layer(state)) { + case 0: + rgb_matrix_sethsv(85, 255, 251); // #88FB7A for layer 0 + break; + case 1: + rgb_matrix_sethsv(0, 255, 255); // Red for layer 1 + break; + default: + rgb_matrix_sethsv(0, 255, 255); // Red for any other layer + break; + } + return state; +} diff --git a/keyboards/sdrakbs/sdrakb00/readme.md b/keyboards/sdrakbs/sdrakb00/readme.md new file mode 100644 index 00000000000..21e56f9595a --- /dev/null +++ b/keyboards/sdrakbs/sdrakb00/readme.md @@ -0,0 +1,52 @@ +# sdrakb00 + +![sdrakb00](https://i.imgur.com/0HfpFqW.jpeg) + +11 keys hot-swap macropad with rotary encoder. + +Macropad features: +- 11 hot-swap keys +- Rotary encoder with push button +- AtMega32U4 MCU +- Per-key RGB led for backlighting +- USB-C connector +- On PCB SPI header +- MCU reset button +- Switch mounting plate +- Power LED indicator + +* Keyboard Maintainer: [Diego Andres Rabaioli](https://github.com/drabaioli) +* Hardware Supported: Pro Micro Atmega32u4 based macropad with 11 keys, RGB LED chain and rotary encoder +* Hardware Availability: [Get the gerbers and have fun building it your self ;)](https://github.com/drabaioli/SdraKb00) + +Build SdraKb00 firmware: + + make sdrakbs/sdrakb00:default + +Flashing SdraKb00 firmware, execute: + + make sdrakbs/sdrakb00:default:flash + +Then press the reset button on the back side of the PCB. + +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: + +* **Physical reset button** (preferred): Briefly press the button on the back of the PCB +* **Bootmagic reset**: Hold down the key at (0,0) in the matrix (usually the top left key or Escape) and plug in the keyboard + +## Default Keymap + +### Base Layer (0) +- NumPad layout (1-9, 0) +- Encoder: Volume Up/Down +- Encoder Push: Mute +- Layer Switch: Hold (1,3) key for function layer + +### Function Layer (1) +- NumPad operators (+, -, *, /) +- Enter, "=" and backspace keys +- Decimal point From 54860ed23841524376084f609651a3bfd71dc6ca Mon Sep 17 00:00:00 2001 From: Bennett Balogh <88569963+AwesomeBalogh@users.noreply.github.com> Date: Thu, 7 Nov 2024 17:58:33 -0700 Subject: [PATCH 100/124] [Keyboard] Add Teton78 (#24562) * Added Teton_78 qmk keyboard files * Fixed a syntax issue * Waffles suggested changes * Read me updated Used the Alpine65 reame to model off. * Update keyboards/mountainmechdesigns/teton_78/keymaps/default/keymap.c Co-authored-by: jack * Accidental File * Updated readme with missing info * Update readme.md * Update keyboards/mountainmechdesigns/teton_78/readme.md Co-authored-by: Ryan * Update keyboards/mountainmechdesigns/teton_78/readme.md Co-authored-by: Ryan * Update keyboards/mountainmechdesigns/teton_78/readme.md Co-authored-by: Joel Challis --------- Co-authored-by: jack Co-authored-by: Ryan Co-authored-by: Joel Challis --- .../teton_78/keyboard.json | 113 ++++++++++++++++++ .../teton_78/keymaps/default/keymap.c | 29 +++++ .../mountainmechdesigns/teton_78/readme.md | 37 ++++++ 3 files changed, 179 insertions(+) create mode 100644 keyboards/mountainmechdesigns/teton_78/keyboard.json create mode 100644 keyboards/mountainmechdesigns/teton_78/keymaps/default/keymap.c create mode 100644 keyboards/mountainmechdesigns/teton_78/readme.md diff --git a/keyboards/mountainmechdesigns/teton_78/keyboard.json b/keyboards/mountainmechdesigns/teton_78/keyboard.json new file mode 100644 index 00000000000..d6f5ce9cd83 --- /dev/null +++ b/keyboards/mountainmechdesigns/teton_78/keyboard.json @@ -0,0 +1,113 @@ +{ + "manufacturer": "Bennett Balogh", + "keyboard_name": "teton_78", + "maintainer": "qmk", + "bootloader": "atmel-dfu", + "bootmagic": { + "matrix": [0, 2] + }, + "diode_direction": "COL2ROW", + "features": { + "bootmagic": true, + "command": false, + "console": false, + "extrakey": true, + "mousekey": true, + "nkro": true + }, + "matrix_pins": { + "cols": ["F7", "F6", "F5", "F4", "F1", "F0", "B0", "B1", "B2", "B3", "D4", "D6", "D7", "B4", "B5", "B6", "C6", "C7"], + "rows": ["D0", "D1", "D2", "D3", "D5"] + }, + "processor": "atmega32u4", + "url": "", + "usb": { + "device_version": "1.0.0", + "pid": "0x3349", + "vid": "0x8A5B" + }, + "layouts": { + "LAYOUT": { + "layout": [ + {"matrix": [0, 0], "x": 0, "y": 0}, + {"matrix": [0, 1], "x": 0, "y": 1}, + {"matrix": [0, 2], "x": 2.25, "y": 0}, + {"matrix": [0, 3], "x": 3.25, "y": 0}, + {"matrix": [0, 4], "x": 4.25, "y": 0}, + {"matrix": [0, 5], "x": 5.25, "y": 0}, + {"matrix": [0, 6], "x": 6.25, "y": 0}, + {"matrix": [0, 7], "x": 7.25, "y": 0}, + {"matrix": [0, 8], "x": 8.25, "y": 0}, + {"matrix": [0, 9], "x": 9.25, "y": 0}, + {"matrix": [0, 10], "x": 10.25, "y": 0}, + {"matrix": [0, 11], "x": 11.25, "y": 0}, + {"matrix": [0, 12], "x": 12.25, "y": 0}, + {"matrix": [0, 13], "x": 13.25, "y": 0}, + {"matrix": [0, 14], "x": 14.25, "y": 0}, + {"matrix": [0, 15], "x": 15.25, "y": 0, "w": 2}, + {"matrix": [0, 16], "x": 17.5, "y": 0}, + {"matrix": [0, 17], "x": 18.5, "y": 0}, + {"matrix": [1, 0], "x": 1, "y": 0}, + {"matrix": [1, 1], "x": 1, "y": 1}, + {"matrix": [1, 2], "x": 2.25, "y": 1, "w": 1.5}, + {"matrix": [1, 3], "x": 3.75, "y": 1}, + {"matrix": [1, 4], "x": 4.75, "y": 1}, + {"matrix": [1, 5], "x": 5.75, "y": 1}, + {"matrix": [1, 6], "x": 6.75, "y": 1}, + {"matrix": [1, 7], "x": 7.75, "y": 1}, + {"matrix": [1, 8], "x": 8.75, "y": 1}, + {"matrix": [1, 9], "x": 9.75, "y": 1}, + {"matrix": [1, 10], "x": 10.75, "y": 1}, + {"matrix": [1, 11], "x": 11.75, "y": 1}, + {"matrix": [1, 12], "x": 12.75, "y": 1}, + {"matrix": [1, 13], "x": 13.75, "y": 1}, + {"matrix": [1, 14], "x": 14.75, "y": 1}, + {"matrix": [1, 15], "x": 15.75, "y": 1, "w": 1.5}, + {"matrix": [1, 16], "x": 17.5, "y": 1}, + {"matrix": [1, 17], "x": 18.5, "y": 1}, + {"matrix": [2, 0], "x": 0, "y": 2}, + {"matrix": [2, 1], "x": 1, "y": 2}, + {"matrix": [2, 2], "x": 2.25, "y": 2, "w": 1.75}, + {"matrix": [2, 3], "x": 4, "y": 2}, + {"matrix": [2, 4], "x": 5, "y": 2}, + {"matrix": [2, 5], "x": 6, "y": 2}, + {"matrix": [2, 6], "x": 7, "y": 2}, + {"matrix": [2, 7], "x": 8, "y": 2}, + {"matrix": [2, 8], "x": 9, "y": 2}, + {"matrix": [2, 9], "x": 10, "y": 2}, + {"matrix": [2, 10], "x": 11, "y": 2}, + {"matrix": [2, 11], "x": 12, "y": 2}, + {"matrix": [2, 12], "x": 13, "y": 2}, + {"matrix": [2, 13], "x": 14, "y": 2}, + {"matrix": [2, 14], "x": 15, "y": 2, "w": 2.25}, + {"matrix": [3, 0], "x": 0, "y": 3}, + {"matrix": [3, 1], "x": 1, "y": 3}, + {"matrix": [3, 2], "x": 2.25, "y": 3, "w": 2.25}, + {"matrix": [3, 3], "x": 4.5, "y": 3}, + {"matrix": [3, 4], "x": 5.5, "y": 3}, + {"matrix": [3, 5], "x": 6.5, "y": 3}, + {"matrix": [3, 6], "x": 7.5, "y": 3}, + {"matrix": [3, 7], "x": 8.5, "y": 3}, + {"matrix": [3, 8], "x": 9.5, "y": 3}, + {"matrix": [3, 9], "x": 10.5, "y": 3}, + {"matrix": [3, 10], "x": 11.5, "y": 3}, + {"matrix": [3, 11], "x": 12.5, "y": 3}, + {"matrix": [3, 12], "x": 13.5, "y": 3}, + {"matrix": [3, 13], "x": 14.5, "y": 3, "w": 2.75}, + {"matrix": [3, 16], "x": 17.5, "y": 3}, + {"matrix": [4, 0], "x": 0, "y": 4}, + {"matrix": [4, 1], "x": 1, "y": 4}, + {"matrix": [4, 2], "x": 2.25, "y": 4, "w": 1.25}, + {"matrix": [4, 3], "x": 3.5, "y": 4, "w": 1.25}, + {"matrix": [4, 4], "x": 4.75, "y": 4, "w": 1.25}, + {"matrix": [4, 7], "x": 6, "y": 4, "w": 6.25}, + {"matrix": [4, 11], "x": 12.25, "y": 4, "w": 1.25}, + {"matrix": [4, 12], "x": 13.5, "y": 4, "w": 1.25}, + {"matrix": [4, 13], "x": 14.75, "y": 4, "w": 1.25}, + {"matrix": [4, 14], "x": 16.5, "y": 4, "w": 1.25}, + {"matrix": [4, 16], "x": 17.5, "y": 4, "w": 1.25}, + {"matrix": [4, 17], "x": 18.5, "y": 4, "w": 1.25} + ] + } + } +} \ No newline at end of file diff --git a/keyboards/mountainmechdesigns/teton_78/keymaps/default/keymap.c b/keyboards/mountainmechdesigns/teton_78/keymaps/default/keymap.c new file mode 100644 index 00000000000..c4762d577d6 --- /dev/null +++ b/keyboards/mountainmechdesigns/teton_78/keymaps/default/keymap.c @@ -0,0 +1,29 @@ +/* Copyright 2024 Bennett Balogh LLC + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +#include QMK_KEYBOARD_H + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + + + [0] = LAYOUT( + + KC_F1, KC_F6, 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_F2, KC_F7, 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_F3, KC_F8, 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_F4, KC_F9, 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_F5, KC_F10, KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, KC_RGUI, KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT) +}; diff --git a/keyboards/mountainmechdesigns/teton_78/readme.md b/keyboards/mountainmechdesigns/teton_78/readme.md new file mode 100644 index 00000000000..40ef5c436bf --- /dev/null +++ b/keyboards/mountainmechdesigns/teton_78/readme.md @@ -0,0 +1,37 @@ +# Teton 78 QMK Firmware + +## Introduction + +![Teton 78](https://i.imgur.com/MnASIrv.jpeg) + +This is the QMK firmware repository for the Teton78, a 68XT solder and hotswao keyboard designed by Mountain Mech Designs - Bennett Balogh. + +The Teton 78 has entered GB and sucessfully finalized in November 2024 The IC page for the keyboard can be found [here](https://geekhack.org/index.php?topic=123275.0). +The sale page can be found [here](https://www.mountainmechdesigns.com/) +Discord link can be found [here](https://discord.gg/h9dMwRNfVy) + +## About + +* Keyboard Maintainer: [Bennett Balogh](https://github.com/AwesomeBalogh) +* Hardware Supported: Atmega32u4 +* Hardware Availability: N/A + +## How to compile + +After setting up your build environment, you can compile the Teton 78 default keymap by using: + + make mountainmechdesigns/teton_78:default + +Flash using + + make mountainmechdesigns/teton_78:default:flash + +See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) and the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information. Brand new to QMK? Start with our [Complete Newbs Guide](https://docs.qmk.fm/#/newbs). + +## Bootloader + +Enter the bootloader in 3 ways: + +* **Bootmagic reset**: Hold down the key at (0,0) in the matrix (usually the top left key or Escape) and plug in the keyboard +* **Physical reset button**: Briefly press the button on the back of the PCB - some may have pads you must short instead +* **Keycode in layout**: Press the key mapped to `QK_BOOT` if it is available \ No newline at end of file From 3cda9ffcd65cd8d08039e389e3888eb493bd69e2 Mon Sep 17 00:00:00 2001 From: "Christian C. Berclaz" Date: Fri, 8 Nov 2024 01:58:57 +0100 Subject: [PATCH 101/124] Adding support for Windstudio's Wind X R1 keyboard (#24564) * Added a default firmware and layout for the WindStudio Wind X R1 keyboard. * Wind X R1: cleaned-up the folders to make clear that this firmware is for the release 1 of this keyboard. * Added rules.mk to the default layout * Renamed the folder R1 into r1. * Added readme.md files for the keyboard and default layout. * Added a license header to keymap.c * Update keyboards/windstudio/wind_x/r1/keyboard.json Co-authored-by: jack * Update keyboards/windstudio/wind_x/r1/keyboard.json Co-authored-by: jack * Update keyboards/windstudio/wind_x/r1/keymaps/default/keymap.c Co-authored-by: jack * Update keyboards/windstudio/wind_x/r1/readme.md Co-authored-by: jack * Added a proper link to the image (logo of windstudio) * Wind X R1 - Corrected the default keymap with the QK_GESC key instead of the KC_ESC. - Removed the unnecessary rules.mk in the default layout * Wind X R1: applied `qmk format-json -i` on keyboard.json to conform with the project formatt standards. * Added a picture of the keyboard. * Added a caption to the image. --------- Co-authored-by: jack --- keyboards/windstudio/wind_x/r1/keyboard.json | 205 ++++++++++++++++++ .../wind_x/r1/keymaps/default/keymap.c | 40 ++++ .../wind_x/r1/keymaps/default/readme.md | 6 + keyboards/windstudio/wind_x/r1/readme.md | 28 +++ 4 files changed, 279 insertions(+) create mode 100644 keyboards/windstudio/wind_x/r1/keyboard.json create mode 100644 keyboards/windstudio/wind_x/r1/keymaps/default/keymap.c create mode 100644 keyboards/windstudio/wind_x/r1/keymaps/default/readme.md create mode 100644 keyboards/windstudio/wind_x/r1/readme.md diff --git a/keyboards/windstudio/wind_x/r1/keyboard.json b/keyboards/windstudio/wind_x/r1/keyboard.json new file mode 100644 index 00000000000..1b5f34fe3e8 --- /dev/null +++ b/keyboards/windstudio/wind_x/r1/keyboard.json @@ -0,0 +1,205 @@ +{ + "manufacturer": "Windstudio", + "keyboard_name": "Wind X R1", + "maintainer": "chrisgve", + "bootloader": "atmel-dfu", + "diode_direction": "COL2ROW", + "features": { + "bootmagic": true, + "extrakey": true, + "mousekey": true, + "nkro": true + }, + "matrix_pins": { + "cols": ["C7", "C6", "B6", "E6", "F6", "D6", "D7", "B4", "B5", "F7", "B7", "F4", "F5", "D4", "B0", "B1", "B2", "B3"], + "rows": ["F0", "F1", "D2", "D1", "D0"] + }, + "processor": "atmega32u4", + "url": "", + "usb": { + "device_version": "0.0.1", + "pid": "0x6801", + "vid": "0x6F75" + }, + "layout_aliases": { + "LAYOUT_tsangan": "LAYOUT_7u_space_bar_split_bs" + }, + "layouts": { + "LAYOUT": { + "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": "Del", "matrix": [4, 11], "x": 16, "y": 0}, + {"label": "NumLock", "matrix": [0, 14], "x": 18, "y": 0}, + {"label": "KP/", "matrix": [0, 15], "x": 19, "y": 0}, + {"label": "KP*", "matrix": [0, 16], "x": 20, "y": 0}, + {"label": "KP-", "matrix": [0, 17], "x": 21, "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": [2, 12], "x": 13.5, "y": 1, "w": 1.5}, + {"label": "PgUp", "matrix": [4, 12], "x": 16, "y": 1}, + {"label": "KP7", "matrix": [1, 14], "x": 18, "y": 1}, + {"label": "KP8", "matrix": [1, 15], "x": 19, "y": 1}, + {"label": "KP9", "matrix": [1, 16], "x": 20, "y": 1}, + {"label": "KP+", "matrix": [1, 17], "x": 21, "y": 1}, + {"label": "Caps", "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": "Return", "matrix": [2, 13], "x": 12.75, "y": 2, "w": 2.25}, + {"label": "PgDn", "matrix": [4, 13], "x": 16, "y": 2}, + {"label": "KP4", "matrix": [2, 14], "x": 18, "y": 2}, + {"label": "KP5", "matrix": [2, 15], "x": 19, "y": 2}, + {"label": "KP6", "matrix": [2, 16], "x": 20, "y": 2}, + {"label": "KP+", "matrix": [2, 17], "x": 21, "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, 12], "x": 12.25, "y": 3, "w": 1.75}, + {"label": "Up", "matrix": [3, 13], "x": 13, "y": 3}, + {"label": "KP1", "matrix": [3, 14], "x": 18, "y": 3}, + {"label": "KP2", "matrix": [3, 15], "x": 19, "y": 3}, + {"label": "KP3", "matrix": [3, 16], "x": 20, "y": 3}, + {"label": "Enter", "matrix": [3, 17], "x": 21, "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, 5], "x": 3.75, "y": 4, "w": 6.25}, + {"label": "GUI", "matrix": [4, 6], "x": 10, "y": 4, "w": 1.25}, + {"label": "Ctrl", "matrix": [4, 7], "x": 11.25, "y": 4, "w": 1.25}, + {"label": "Left", "matrix": [4, 8], "x": 14, "y": 4}, + {"label": "Down", "matrix": [4, 9], "x": 15, "y": 4}, + {"label": "Right", "matrix": [4, 10], "x": 16, "y": 4}, + {"label": "KP0", "matrix": [4, 16], "x": 18, "y": 4}, + {"label": "KP.", "matrix": [4, 17], "x": 19, "y": 4} + ] + }, + "LAYOUT_7u_space_bar_split_bs": { + "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": "\\", "matrix": [0, 13], "x": 13, "y": 0}, + {"label": "`", "matrix": [1, 13], "x": 14, "y": 0}, + {"label": "PgUp", "matrix": [4, 11], "x": 16, "y": 0}, + {"label": "NumLock", "matrix": [0, 14], "x": 18, "y": 0}, + {"label": "KP/", "matrix": [0, 15], "x": 19, "y": 0}, + {"label": "KP*", "matrix": [0, 16], "x": 20, "y": 0}, + {"label": "KP-", "matrix": [0, 17], "x": 21, "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": "Backspace", "matrix": [2, 12], "x": 13.5, "y": 1, "w": 1.5}, + {"label": "PgDn", "matrix": [4, 12], "x": 16, "y": 1}, + {"label": "KP7", "matrix": [1, 14], "x": 18, "y": 1}, + {"label": "KP8", "matrix": [1, 15], "x": 19, "y": 1}, + {"label": "KP9", "matrix": [1, 16], "x": 20, "y": 1}, + {"label": "KP+", "matrix": [1, 17], "x": 21, "y": 1}, + {"label": "Ctrl", "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": "Return", "matrix": [2, 13], "x": 12.75, "y": 2, "w": 2.25}, + {"label": "End", "matrix": [4, 13], "x": 16, "y": 2}, + {"label": "KP4", "matrix": [2, 14], "x": 18, "y": 2}, + {"label": "KP5", "matrix": [2, 15], "x": 19, "y": 2}, + {"label": "KP6", "matrix": [2, 16], "x": 20, "y": 2}, + {"label": "KP+", "matrix": [2, 17], "x": 21, "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, 12], "x": 12.25, "y": 3, "w": 1.75}, + {"label": "Up", "matrix": [3, 13], "x": 13, "y": 3}, + {"label": "KP1", "matrix": [3, 14], "x": 18, "y": 3}, + {"label": "KP2", "matrix": [3, 15], "x": 19, "y": 3}, + {"label": "KP3", "matrix": [3, 16], "x": 20, "y": 3}, + {"label": "Enter", "matrix": [3, 17], "x": 21, "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, 5], "x": 4, "y": 4, "w": 7}, + {"label": "Ctrl", "matrix": [4, 7], "x": 11, "y": 4, "w": 1.5}, + {"label": "Left", "matrix": [4, 8], "x": 13, "y": 4}, + {"label": "Down", "matrix": [4, 9], "x": 14, "y": 4}, + {"label": "Right", "matrix": [4, 10], "x": 15, "y": 4}, + {"label": "KP0", "matrix": [4, 16], "x": 18, "y": 4}, + {"label": "KP.", "matrix": [4, 17], "x": 19, "y": 4} + ] + } + } +} diff --git a/keyboards/windstudio/wind_x/r1/keymaps/default/keymap.c b/keyboards/windstudio/wind_x/r1/keymaps/default/keymap.c new file mode 100644 index 00000000000..dd3134e2a0f --- /dev/null +++ b/keyboards/windstudio/wind_x/r1/keymaps/default/keymap.c @@ -0,0 +1,40 @@ +/* Copyright 2024 chrisgve + * + * 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 + +// clang-format off +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + + [0] = LAYOUT( + 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_BSPC, KC_DEL, KC_NUM, KC_PSLS, KC_PAST, KC_PMNS, + KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, KC_PGUP, KC_P7, KC_P8, KC_P9, KC_PPLS, + 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_P4, KC_P5, KC_P6, KC_PPLS, + 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_P1, KC_P2, KC_P3, KC_PENT, + KC_LCTL, KC_LGUI, KC_LALT, LT(1, KC_SPC), KC_RGUI, KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT, KC_P0, KC_PDOT + ), + + [1] = LAYOUT( + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + QK_BOOT, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ + ) + +}; + +// clang-format on diff --git a/keyboards/windstudio/wind_x/r1/keymaps/default/readme.md b/keyboards/windstudio/wind_x/r1/keymaps/default/readme.md new file mode 100644 index 00000000000..2fa0952a830 --- /dev/null +++ b/keyboards/windstudio/wind_x/r1/keymaps/default/readme.md @@ -0,0 +1,6 @@ +# Default Wind X R1 Layout + +This is the default layout that comes flashed on every Wind X R1. For the most +part it's a straightforward and easy to follow layout. The only unusual key is +the key in the upper left, which sends Escape normally, but Grave when any of +the Ctrl, Alt, or GUI modifiers are held down. diff --git a/keyboards/windstudio/wind_x/r1/readme.md b/keyboards/windstudio/wind_x/r1/readme.md new file mode 100644 index 00000000000..c501951e422 --- /dev/null +++ b/keyboards/windstudio/wind_x/r1/readme.md @@ -0,0 +1,28 @@ +# WindX R1 by Windstudio + +![WindX R1](https://i.imgur.com/FEVczwG.jpg) +_Compact, yet feature full working or gaming keyboard_ + +A large layout keyboard without the function keys. [More info on geekhack.org](https://geekhack.org/index.php?topic=114767.0) + +- Keyboard Maintainer: [Christian C. Berclaz](https://github.com/chrisgve) +- Hardware Supported: Wind X R1 w/ ATmega32U4 microcontroller +- Hardware Availability: [windstudio.store](https://windstudio.store/collections/wind-x) + +Make example for this keyboard (after setting up your build environment): + + make windstudio/wind_x/r1:default + +Flashing example for this keyboard: + + make windstudio/wind_x/r1:default:flash + +See the [build environment setup](getting_started_build_tools) and the [make instructions](getting_started_make_guide) for more information. Brand new to QMK? Start with our [Complete Newbs Guide](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 4f9ef90754a79774da5685b786403c130d836ac4 Mon Sep 17 00:00:00 2001 From: HereVoLand <65162585+Vem-596@users.noreply.github.com> Date: Fri, 8 Nov 2024 10:52:41 +0800 Subject: [PATCH 102/124] Add keyboard buff75 (#24297) * Create herevoland * Delete keyboards/herevoland * Add files via upload * Delete keyboards/herevoland/buff75 directory * Add files via upload * Delete keyboards/herevoland/buff75/buff75.h * Delete keyboards/herevoland/buff75/rules.mk * Delete keyboards/herevoland/buff75/halconf.h * Update and rename info.json to keyboard.json * Delete keyboards/herevoland/buff75/matrix_diagram.md * Update readme.md * Update readme.md * Add files via upload * Delete keyboards/herevoland/buff75/keymaps/via directory * Update readme.md * Update keymap.c * Update matrix_diagram.md * Update readme.md * Update keyboard.json * Update readme.md * Update matrix_diagram.md * Update keyboard.json * Update keymap.c * Update keymap.c * Update keyboard.json * Update mcuconf.h * Delete keyboards/herevoland/buff75/mcuconf.h --- keyboards/herevoland/buff75/keyboard.json | 137 ++++++++++++++++++ .../buff75/keymaps/default/keymap.c | 36 +++++ keyboards/herevoland/buff75/matrix_diagram.md | 18 +++ keyboards/herevoland/buff75/readme.md | 25 ++++ 4 files changed, 216 insertions(+) create mode 100644 keyboards/herevoland/buff75/keyboard.json create mode 100644 keyboards/herevoland/buff75/keymaps/default/keymap.c create mode 100644 keyboards/herevoland/buff75/matrix_diagram.md create mode 100644 keyboards/herevoland/buff75/readme.md diff --git a/keyboards/herevoland/buff75/keyboard.json b/keyboards/herevoland/buff75/keyboard.json new file mode 100644 index 00000000000..15f3e27ac18 --- /dev/null +++ b/keyboards/herevoland/buff75/keyboard.json @@ -0,0 +1,137 @@ +{ + "keyboard_name": "Buff75", + "processor": "STM32F103", + "bootloader": "stm32duino", + "manufacturer": "HereVoLand", + "url": "", + "maintainer": "Here VoLand @Vem", + "usb": { + "vid": "0xB727", + "pid": "0xB727", + "device_version": "0.0.1" + }, + "features": { + "bootmagic": true, + "mousekey": true, + "extrakey": true, + "nkro": true, + "rgblight": true + }, + "rgblight": { + "led_count": 1, + "brightness_steps": 8, + "saturation_steps": 8, + "sleep": true, + "animations": { + "breathing": true, + "rainbow_mood": true, + "rainbow_swirl": true, + "snake": true, + "knight": true, + "christmas": true, + "static_gradient": true, + "alternating": true, + "twinkle": true + } + }, + "ws2812": { + "pin": "B2" + }, + "diode_direction": "COL2ROW", + "matrix_pins": { + "cols": ["B9", "B8", "B7", "B6", "B5", "B4", "B3", "A15", "A8", "B15", "B14", "B13", "B12", "A3", "A4" ], + "rows": ["A5", "B10", "B1", "B0", "A7", "A6"] + }, + "layouts": { + "LAYOUT": { + "layout": [ + {"label":"Esc", "matrix": [0,0], "x":0, "y":0}, + {"label":"F1", "matrix": [0,1], "x":1.5, "y":0}, + {"label":"F2", "matrix": [0,2], "x":2.5, "y":0}, + {"label":"F3", "matrix": [0,3], "x":3.5, "y":0}, + {"label":"F4", "matrix": [0,4], "x":4.5, "y":0}, + {"label":"F5", "matrix": [0,6], "x":6, "y":0}, + {"label":"F6", "matrix": [0,7], "x":7, "y":0}, + {"label":"F7", "matrix": [0,8], "x":8, "y":0}, + {"label":"F8", "matrix": [0,9], "x":9, "y":0}, + {"label":"F9", "matrix": [0,10], "x":10.5, "y":0}, + {"label":"F10", "matrix": [0,11], "x":11.5, "y":0}, + {"label":"F11", "matrix": [0,12], "x":12.5, "y":0}, + {"label":"F12", "matrix": [0,13], "x":13.5, "y":0}, + {"label":"Home", "matrix": [0,14], "x":15, "y":0}, + + {"label":"`~", "matrix": [1,0], "x":0, "y":1.25}, + {"label":"1!", "matrix": [1,1], "x":1, "y":1.25}, + {"label":"2@", "matrix": [1,2], "x":2, "y":1.25}, + {"label":"3#", "matrix": [1,3], "x":3, "y":1.25}, + {"label":"4$", "matrix": [1,4], "x":4, "y":1.25}, + {"label":"5%", "matrix": [1,5], "x":5, "y":1.25}, + {"label":"6^", "matrix": [1,6], "x":6, "y":1.25}, + {"label":"7&", "matrix": [1,7], "x":7, "y":1.25}, + {"label":"8*", "matrix": [1,8], "x":8, "y":1.25}, + {"label":"9(", "matrix": [1,9], "x":9, "y":1.25}, + {"label":"0)", "matrix": [1,10], "x":10, "y":1.25}, + {"label":"-_", "matrix": [1,11], "x":11, "y":1.25}, + {"label":"=+", "matrix": [1,12], "x":12, "y":1.25}, + {"label":"Backspace", "matrix": [1,13], "x":13, "y":1.25}, + {"label":"Page Up", "matrix": [1,14], "x":15, "y":1.25}, + + {"label":"Tab", "matrix": [2,0], "x":0, "y":2.25, "w":1.5}, + {"label":"Q", "matrix": [2,1], "x":1.5, "y":2.25}, + {"label":"W", "matrix": [2,2], "x":2.5, "y":2.25}, + {"label":"E", "matrix": [2,3], "x":3.5, "y":2.25}, + {"label":"R", "matrix": [2,4], "x":4.5, "y":2.25}, + {"label":"T", "matrix": [2,5], "x":5.5, "y":2.25}, + {"label":"Y", "matrix": [2,6], "x":6.5, "y":2.25}, + {"label":"U", "matrix": [2,7], "x":7.5, "y":2.25}, + {"label":"I", "matrix": [2,8], "x":8.5, "y":2.25}, + {"label":"O", "matrix": [2,9], "x":9.5, "y":2.25}, + {"label":"P", "matrix": [2,10], "x":10.5, "y":2.25}, + {"label":"[", "matrix": [2,11], "x":11.5, "y":2.25}, + {"label":"]", "matrix": [2,12], "x":12.5, "y":2.25}, + {"label":"\\", "matrix": [2,13], "x":13.5, "y":2.25, "w":1.5}, + {"label":"Page Down", "matrix": [2,14], "x":15, "y":2.25}, + + {"label":"Caps Lock", "matrix": [3,0], "x":0, "y":3.25, "w":1.75}, + {"label":"A", "matrix": [3,1], "x":1.75, "y":3.25}, + {"label":"S", "matrix": [3,2], "x":2.75, "y":3.25}, + {"label":"D", "matrix": [3,3], "x":3.75, "y":3.25}, + {"label":"F", "matrix": [3,4], "x":4.75, "y":3.25}, + {"label":"G", "matrix": [3,5], "x":5.75, "y":3.25}, + {"label":"H", "matrix": [3,6], "x":6.75, "y":3.25}, + {"label":"J", "matrix": [3,7], "x":7.75, "y":3.25}, + {"label":"K", "matrix": [3,8], "x":8.75, "y":3.25}, + {"label":"L", "matrix": [3,9], "x":9.75, "y":3.25}, + {"label":";", "matrix": [3,10], "x":10.75, "y":3.25}, + {"label":"'", "matrix": [3,11], "x":11.75, "y":3.25}, + {"label":"Enter", "matrix": [3,13], "x":12.75, "y":3.25, "w":2.25}, + {"label":"End", "matrix": [3,14], "x":15, "y":3.25}, + + {"label":"Shift", "matrix": [4,0], "x":0, "y":4.25, "w":2.25}, + {"label":"Z", "matrix": [4,2], "x":2.25, "y":4.25}, + {"label":"X", "matrix": [4,3], "x":3.25, "y":4.25}, + {"label":"C", "matrix": [4,4], "x":4.25, "y":4.25}, + {"label":"V", "matrix": [4,5], "x":5.25, "y":4.25}, + {"label":"B", "matrix": [4,6], "x":6.25, "y":4.25}, + {"label":"N", "matrix": [4,7], "x":7.25, "y":4.25}, + {"label":"M", "matrix": [4,8], "x":8.25, "y":4.25}, + {"label":",", "matrix": [4,9], "x":9.25, "y":4.25}, + {"label":".", "matrix": [4,10], "x":10.25, "y":4.25}, + {"label":"/", "matrix": [4,11], "x":11.25, "y":4.25}, + {"label":"Shift", "matrix": [4,12], "x":12.25, "y":4.25, "w":1.75}, + {"label":"Up", "matrix": [4,13], "x":14, "y":4.25}, + {"label":"End", "matrix": [4,14], "x":15, "y":4.25}, + + {"label":"Ctrl", "matrix": [5,0], "x":0, "y":5.25, "w":1.25}, + {"label":"Win", "matrix": [5,1], "x":1.25, "y":5.25, "w":1.25}, + {"label":"Alt", "matrix": [5,2], "x":2.5, "y":5.25, "w":1.25}, + {"label":"Space", "matrix": [5,6], "x":3.75, "y":5.25, "w":6.25}, + {"label":"Alt", "matrix": [5,10], "x":10, "y":5.25, "w":1.25}, + {"label":"Fn", "matrix": [5,11], "x":11.25, "y":5.25, "w":1.25}, + {"label":"Left", "matrix": [5,12], "x":13, "y":5.25}, + {"label":"Down", "matrix": [5,13], "x":14, "y":5.25}, + {"label":"Right", "matrix": [5,14], "x":15, "y":5.25} + ] + } + } +} diff --git a/keyboards/herevoland/buff75/keymaps/default/keymap.c b/keyboards/herevoland/buff75/keymaps/default/keymap.c new file mode 100644 index 00000000000..28762b9a17c --- /dev/null +++ b/keyboards/herevoland/buff75/keymaps/default/keymap.c @@ -0,0 +1,36 @@ +/* Copyright 2024 楽(HereVoLand @Vem) + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +#include QMK_KEYBOARD_H + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + [0] = LAYOUT( + KC_ESC, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_HOME, + 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_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_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_DEL, + 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, KC_RALT, MO(1), KC_LEFT, KC_DOWN, KC_RIGHT + ), + [1] = LAYOUT( + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_PSCR, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_HOME, KC_UP, KC_END, KC_TRNS, KC_TRNS, + KC_CAPS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_HOME, KC_PGUP, KC_LEFT, KC_RGHT, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_END, KC_PGDN, KC_DOWN, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_LCTL, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS + ) +}; diff --git a/keyboards/herevoland/buff75/matrix_diagram.md b/keyboards/herevoland/buff75/matrix_diagram.md new file mode 100644 index 00000000000..35cca7ec06f --- /dev/null +++ b/keyboards/herevoland/buff75/matrix_diagram.md @@ -0,0 +1,18 @@ +# Matrix Diagram for Buff75 + +``` + ┌───┐ ┌───┬───┬───┬───┐ ┌───┬───┬───┬───┐ ┌───┬───┬───┬───┐ ┌───┐ + │00 │ │01 │02 │03 │04 │ │06 │07 │08 │09 │ │0A │0B │0C │0D │ │0E │ + └───┘ └───┴───┴───┴───┘ └───┴───┴───┴───┘ └───┴───┴───┴───┘ └───┘ + ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┬───┐ + │10 │11 │12 │13 │14 │15 │16 │17 │18 │19 │1A │1B │1C │1D │1E │ + ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴────┬──┼───┤ + │20 │21 │22 │23 │24 │25 │26 │27 │28 │29 │2A │2B │2C │2D│2E │ + ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬─────┴──┼───┤ + │30 │31 │32 │33 │34 │35 │36 │37 │38 │39 │3A │3B │3D │3E │ + ├──────┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴────┬───┼───┤ + │40 │42 │43 │44 │45 │46 │47 │48 │49 │4A │4B │4C │4D │4E │ + ├────┬───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴──┬┴───┴┬─┬───┼───┼───┤ + │50 │51 │52 │56 │5A │ 5B │ │5C │5D |5E | + └────┴────┴────┴────────────────────────┴───┴─────┘ └───┴───┘───┘ +``` diff --git a/keyboards/herevoland/buff75/readme.md b/keyboards/herevoland/buff75/readme.md new file mode 100644 index 00000000000..b5ce6407d71 --- /dev/null +++ b/keyboards/herevoland/buff75/readme.md @@ -0,0 +1,25 @@ +# Buff75 + +![Buff75](https://imgur.com/pQfzIZr.jpg) +An 75%/TenKeyLess sized keyboard with 1 RGB. + +* Keyboard Maintainer: [HereVoLand](https://github.com/Vem-596) +* Hardware Supported: buff75 +* Hardware Availability: [BUFF Customer-Keyboard](https://shop107132374.taobao.com) + +Make example for this keyboard (after setting up your build environment): + + make herevoland/buff75:default + +Flashing example for this keyboard: + + make herevoland/buff75: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 (usually the top left key which is Escape in this keyboard) and plug in the keyboard +- **Keycode in layout**: Press the key mapped to `QK_BOOT` From 580d18d2e9a9cb08f11439d5dd58d8e3adffd17f Mon Sep 17 00:00:00 2001 From: Nick Brassel Date: Fri, 8 Nov 2024 15:57:22 +1100 Subject: [PATCH 103/124] Speed improvements to `qmk find`. (#24385) --- lib/python/qmk/cli/find.py | 2 ++ lib/python/qmk/cli/mass_compile.py | 2 ++ lib/python/qmk/info.py | 22 +++++++++++++--------- lib/python/qmk/util.py | 21 +++++++++++++++++++++ 4 files changed, 38 insertions(+), 9 deletions(-) diff --git a/lib/python/qmk/cli/find.py b/lib/python/qmk/cli/find.py index bfed91e22cd..7d8b1b066c9 100644 --- a/lib/python/qmk/cli/find.py +++ b/lib/python/qmk/cli/find.py @@ -1,5 +1,6 @@ """Command to search through all keyboards and keymaps for a given search criteria. """ +import os from milc import cli from qmk.search import filter_help, search_keymap_targets from qmk.util import maybe_exit_config @@ -20,6 +21,7 @@ from qmk.util import maybe_exit_config def find(cli): """Search through all keyboards and keymaps for a given search criteria. """ + os.environ.setdefault('SKIP_SCHEMA_VALIDATION', '1') maybe_exit_config(should_exit=False, should_reraise=True) targets = search_keymap_targets([('all', cli.config.find.keymap)], cli.args.filter) diff --git a/lib/python/qmk/cli/mass_compile.py b/lib/python/qmk/cli/mass_compile.py index cf9be0fd1e2..4c4669d4517 100755 --- a/lib/python/qmk/cli/mass_compile.py +++ b/lib/python/qmk/cli/mass_compile.py @@ -20,6 +20,8 @@ def mass_compile_targets(targets: List[BuildTarget], clean: bool, dry_run: bool, if len(targets) == 0: return + os.environ.setdefault('SKIP_SCHEMA_VALIDATION', '1') + make_cmd = find_make() builddir = Path(QMK_FIRMWARE) / '.build' makefile = builddir / 'parallel_kb_builds.mk' diff --git a/lib/python/qmk/info.py b/lib/python/qmk/info.py index 72b19a9fec6..82082f5cf0d 100644 --- a/lib/python/qmk/info.py +++ b/lib/python/qmk/info.py @@ -1,6 +1,7 @@ """Functions that help us generate and use info.json files. """ import re +import os from pathlib import Path import jsonschema from dotty_dict import dotty @@ -14,7 +15,7 @@ from qmk.keyboard import config_h, rules_mk from qmk.commands import parse_configurator_json from qmk.makefile import parse_rules_mk_file from qmk.math import compute -from qmk.util import maybe_exit +from qmk.util import maybe_exit, truthy true_values = ['1', 'on', 'yes'] false_values = ['0', 'off', 'no'] @@ -262,7 +263,9 @@ def info_json(keyboard, force_layout=None): info_data["community_layouts"] = [force_layout] # Validate - _validate(keyboard, info_data) + # Skip processing if necessary + if not truthy(os.environ.get('SKIP_SCHEMA_VALIDATION'), False): + _validate(keyboard, info_data) # Check that the reported matrix size is consistent with the actual matrix size _check_matrix(info_data) @@ -944,13 +947,14 @@ def merge_info_jsons(keyboard, info_data): _log_error(info_data, "Invalid file %s, root object should be a dictionary." % (str(info_file),)) continue - try: - validate(new_info_data, 'qmk.keyboard.v1') - except jsonschema.ValidationError as e: - json_path = '.'.join([str(p) for p in e.absolute_path]) - cli.log.error('Not including data from file: %s', info_file) - cli.log.error('\t%s: %s', json_path, e.message) - continue + if not truthy(os.environ.get('SKIP_SCHEMA_VALIDATION'), False): + try: + validate(new_info_data, 'qmk.keyboard.v1') + except jsonschema.ValidationError as e: + json_path = '.'.join([str(p) for p in e.absolute_path]) + cli.log.error('Not including data from file: %s', info_file) + cli.log.error('\t%s: %s', json_path, e.message) + continue # Merge layout data in if 'layout_aliases' in new_info_data: diff --git a/lib/python/qmk/util.py b/lib/python/qmk/util.py index b73fab89d12..8f99410e1de 100644 --- a/lib/python/qmk/util.py +++ b/lib/python/qmk/util.py @@ -27,6 +27,27 @@ def maybe_exit_config(should_exit: bool = True, should_reraise: bool = False): maybe_exit_reraise = should_reraise +def truthy(value, value_if_unknown=False): + """Returns True if the value is truthy, False otherwise. + + Deals with: + True: 1, true, t, yes, y, on + False: 0, false, f, no, n, off + """ + if value in {False, True}: + return bool(value) + + test_value = str(value).strip().lower() + + if test_value in {"1", "true", "t", "yes", "y", "on"}: + return True + + if test_value in {"0", "false", "f", "no", "n", "off"}: + return False + + return value_if_unknown + + @contextlib.contextmanager def parallelize(): """Returns a function that can be used in place of a map() call. From 9523ed9e32d89eb518a9c244ce4ebb395763fc85 Mon Sep 17 00:00:00 2001 From: "Eric N. Vander Weele" Date: Fri, 8 Nov 2024 01:12:59 -0500 Subject: [PATCH 104/124] Expose rgb_matrix_update_pwm_buffers to be available in keymaps (#24573) * Expose rgb_matrix_update_pwm_buffers to be available in keymaps Exposing this API enables the examples in the keyboard shutdown/reboot documentation to compile instead of calling `rgb_matrix_driver.flush` directly. * Remove extraneous rgb_matrix_update_pwm_buffers prototype declarations Now that `rgb_matrix_update_pwm_buffers` is public, there isn't the need for local prototype declarations. --- keyboards/bastardkb/charybdis/charybdis.c | 1 - keyboards/bastardkb/dilemma/dilemma.c | 1 - keyboards/miiiw/blackio83/rev_0100/rev_0100.c | 1 - quantum/rgb_matrix/rgb_matrix.h | 1 + 4 files changed, 1 insertion(+), 3 deletions(-) diff --git a/keyboards/bastardkb/charybdis/charybdis.c b/keyboards/bastardkb/charybdis/charybdis.c index 0ee5c3eed97..2251b247581 100644 --- a/keyboards/bastardkb/charybdis/charybdis.c +++ b/keyboards/bastardkb/charybdis/charybdis.c @@ -393,7 +393,6 @@ bool shutdown_kb(bool jump_to_bootloader) { rgblight_setrgb(RGB_RED); #endif // RGBLIGHT_ENABLE #ifdef RGB_MATRIX_ENABLE - void rgb_matrix_update_pwm_buffers(void); rgb_matrix_set_color_all(RGB_RED); rgb_matrix_update_pwm_buffers(); #endif // RGB_MATRIX_ENABLE diff --git a/keyboards/bastardkb/dilemma/dilemma.c b/keyboards/bastardkb/dilemma/dilemma.c index 7c87fdcadd6..b406e265261 100644 --- a/keyboards/bastardkb/dilemma/dilemma.c +++ b/keyboards/bastardkb/dilemma/dilemma.c @@ -354,7 +354,6 @@ bool shutdown_kb(bool jump_to_bootloader) { rgblight_setrgb(RGB_RED); #endif // RGBLIGHT_ENABLE #ifdef RGB_MATRIX_ENABLE - void rgb_matrix_update_pwm_buffers(void); rgb_matrix_set_color_all(RGB_RED); rgb_matrix_update_pwm_buffers(); #endif // RGB_MATRIX_ENABLE diff --git a/keyboards/miiiw/blackio83/rev_0100/rev_0100.c b/keyboards/miiiw/blackio83/rev_0100/rev_0100.c index 18f4c86510e..139bc1aaaef 100644 --- a/keyboards/miiiw/blackio83/rev_0100/rev_0100.c +++ b/keyboards/miiiw/blackio83/rev_0100/rev_0100.c @@ -165,7 +165,6 @@ uint32_t loop_10Hz(uint32_t trigger_time, void *cb_arg) { wait_ms(50); eeconfig_init(); #ifdef RGB_MATRIX_ENABLE - extern void rgb_matrix_update_pwm_buffers(void); for(int i = 0; i < 5; i++) { rgb_matrix_set_color_all(RGB_WHITE); rgb_matrix_update_pwm_buffers(); diff --git a/quantum/rgb_matrix/rgb_matrix.h b/quantum/rgb_matrix/rgb_matrix.h index 842a60c8b7e..33f7e06a639 100644 --- a/quantum/rgb_matrix/rgb_matrix.h +++ b/quantum/rgb_matrix/rgb_matrix.h @@ -212,6 +212,7 @@ void rgb_matrix_decrease_speed_noeeprom(void); led_flags_t rgb_matrix_get_flags(void); void rgb_matrix_set_flags(led_flags_t flags); void rgb_matrix_set_flags_noeeprom(led_flags_t flags); +void rgb_matrix_update_pwm_buffers(void); #ifndef RGBLIGHT_ENABLE # define eeconfig_update_rgblight_current eeconfig_update_rgb_matrix From e31eeb85db481f977dbe7d6d2d9007a9faaeaf3e Mon Sep 17 00:00:00 2001 From: Akshay <32840608+axshae@users.noreply.github.com> Date: Fri, 8 Nov 2024 14:39:35 +0530 Subject: [PATCH 105/124] added support for shorty KB (#24518) * added support for shorty KB Co-authored-by: Ryan Co-authored-by: Joel Challis Co-authored-by: Ryan --- keyboards/shorty/keyboard.json | 48 +++++++++++++++++++++++ keyboards/shorty/keymaps/default/keymap.c | 18 +++++++++ keyboards/shorty/readme.md | 27 +++++++++++++ 3 files changed, 93 insertions(+) create mode 100644 keyboards/shorty/keyboard.json create mode 100644 keyboards/shorty/keymaps/default/keymap.c create mode 100644 keyboards/shorty/readme.md diff --git a/keyboards/shorty/keyboard.json b/keyboards/shorty/keyboard.json new file mode 100644 index 00000000000..158648badd4 --- /dev/null +++ b/keyboards/shorty/keyboard.json @@ -0,0 +1,48 @@ +{ + "manufacturer": "Hawtkeys", + "keyboard_name": "shorty", + "maintainer": "hawtkeys", + "bootloader": "rp2040", + "diode_direction": "ROW2COL", + "encoder": { + "rotary": [ + {"pin_a": "GP28", "pin_b": "GP27"}, + {"pin_a": "GP3", "pin_b": "GP4"} + ] + }, + "features": { + "bootmagic": true, + "encoder": true, + "extrakey": true, + "mousekey": true, + "nkro": true + }, + "matrix_pins": { + "cols": ["GP14", "GP13", "GP12"], + "rows": ["GP11", "GP10", "GP9", "GP29", "GP2"] + }, + "processor": "RP2040", + "url": "", + "usb": { + "device_version": "1.0.0", + "pid": "0x5400", + "vid": "0x5453" + }, + "layouts": { + "LAYOUT": { + "layout": [ + {"matrix": [3, 0], "x": 0, "y": 0}, + {"matrix": [4, 0], "x": 2, "y": 0}, + {"matrix": [0, 0], "x": 0, "y": 1}, + {"matrix": [0, 1], "x": 1, "y": 1}, + {"matrix": [0, 2], "x": 2, "y": 1}, + {"matrix": [1, 0], "x": 0, "y": 2}, + {"matrix": [1, 1], "x": 1, "y": 2}, + {"matrix": [1, 2], "x": 2, "y": 2}, + {"matrix": [2, 0], "x": 0, "y": 3}, + {"matrix": [2, 1], "x": 1, "y": 3}, + {"matrix": [2, 2], "x": 2, "y": 3} + ] + } + } +} diff --git a/keyboards/shorty/keymaps/default/keymap.c b/keyboards/shorty/keymaps/default/keymap.c new file mode 100644 index 00000000000..ef4bbba7ef0 --- /dev/null +++ b/keyboards/shorty/keymaps/default/keymap.c @@ -0,0 +1,18 @@ +// Copyright 2023 QMK +// SPDX-License-Identifier: GPL-2.0-or-later +#include QMK_KEYBOARD_H + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + [0] = LAYOUT( + KC_A, KC_D, + KC_P7, KC_P8, KC_P9, + KC_P4, KC_P5, KC_P6, + KC_P1, KC_P2, KC_P3 + ) +}; + +#if defined(ENCODER_MAP_ENABLE) +const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][NUM_DIRECTIONS] = { + [0] = { ENCODER_CCW_CW(KC_VOLD, KC_VOLU), ENCODER_CCW_CW(MS_WHLD, MS_WHLU) } +}; +#endif diff --git a/keyboards/shorty/readme.md b/keyboards/shorty/readme.md new file mode 100644 index 00000000000..23f023b92ce --- /dev/null +++ b/keyboards/shorty/readme.md @@ -0,0 +1,27 @@ +# Shorty Zero + +![Shorty Zero by hawtkeys.com](https://i.imgur.com/hoMHYLW.png) + +The Shorty Zero is a 3x3 customizable macropad designed for productivity, gaming, and creative workflows, featuring programmable keys and rotary knobs. + +* Keyboard Maintainer: [Hawtkeys](https://github.com/hawtkeys) +* Hardware Supported: Raspberry Pi Pico, Hawtkeys Shorty Zero PCB +* Hardware Availability: [Available @ hawtkeys.com](https://hawtkeys.com) + +Make example for this keyboard (after setting up your build environment): + + make shorty:default + +Flashing example for this keyboard: + + make shorty:default:flash + +See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) and the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information. Brand new to QMK? Start with our [Complete Newbs Guide](https://docs.qmk.fm/#/newbs). + +## Bootloader + +Enter the bootloader in 3 ways: + +* **Bootmagic reset**: Hold down the key at (0,0) in the matrix (usually the top left key or Escape) and plug in the keyboard +* **Physical reset button**: Briefly press the button on the back of the PCB - some may have pads you must short instead +* **Keycode in layout**: Press the key mapped to `QK_BOOT` if it is available \ No newline at end of file From fb3a414a4042006fd374602931c2b9c943059aa8 Mon Sep 17 00:00:00 2001 From: Danny Tan <23428162+zykrah@users.noreply.github.com> Date: Sat, 9 Nov 2024 15:21:52 +1100 Subject: [PATCH 106/124] Add Idyllic Pizza Pad (#24566) * Initial PizzaPad firmware * Updated files to conform to PR checklist * Fix default keymap location * Update keyboard.json * Apply suggestions from code review Co-authored-by: Joel Challis * Update keyboards/idyllic/pizzapad/keymaps/default/keymap.c Co-authored-by: jack --------- Co-authored-by: Joel Challis Co-authored-by: jack --- keyboards/idyllic/pizzapad/keyboard.json | 36 +++++++++++++++++++ .../idyllic/pizzapad/keymaps/default/keymap.c | 12 +++++++ keyboards/idyllic/pizzapad/readme.md | 27 ++++++++++++++ 3 files changed, 75 insertions(+) create mode 100644 keyboards/idyllic/pizzapad/keyboard.json create mode 100644 keyboards/idyllic/pizzapad/keymaps/default/keymap.c create mode 100644 keyboards/idyllic/pizzapad/readme.md diff --git a/keyboards/idyllic/pizzapad/keyboard.json b/keyboards/idyllic/pizzapad/keyboard.json new file mode 100644 index 00000000000..638db198227 --- /dev/null +++ b/keyboards/idyllic/pizzapad/keyboard.json @@ -0,0 +1,36 @@ +{ + "manufacturer": "Zykrah", + "keyboard_name": "Pizza Pad", + "maintainer": "zykrah", + "processor": "RP2040", + "bootloader": "rp2040", + "diode_direction": "COL2ROW", + "dynamic_keymap": { + "layer_count": 6 + }, + "matrix_pins": { + "cols": ["GP1", "GP0", "GP7"], + "rows": ["GP6", "GP29", "GP28"] + }, + "usb": { + "device_version": "0.0.1", + "pid": "0x5050", + "vid": "0x7A79" + }, + "community_layouts": ["ortho_3x3"], + "layouts": { + "LAYOUT_ortho_3x3": { + "layout": [ + {"matrix": [0, 0], "x": 0, "y": 0}, + {"matrix": [0, 1], "x": 1, "y": 0}, + {"matrix": [0, 2], "x": 2, "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} + ] + } + } +} diff --git a/keyboards/idyllic/pizzapad/keymaps/default/keymap.c b/keyboards/idyllic/pizzapad/keymaps/default/keymap.c new file mode 100644 index 00000000000..333b33bc0b4 --- /dev/null +++ b/keyboards/idyllic/pizzapad/keymaps/default/keymap.c @@ -0,0 +1,12 @@ +// Copyright 2024 Zykrah (@zykrah) +// SPDX-License-Identifier: GPL-2.0-or-later + +#include QMK_KEYBOARD_H + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + [0] = LAYOUT_ortho_3x3( + KC_P7, KC_P8, KC_P9, + KC_P4, KC_P5, KC_P6, + KC_P1, KC_P2, KC_P3 + ) +}; diff --git a/keyboards/idyllic/pizzapad/readme.md b/keyboards/idyllic/pizzapad/readme.md new file mode 100644 index 00000000000..04098cb522d --- /dev/null +++ b/keyboards/idyllic/pizzapad/readme.md @@ -0,0 +1,27 @@ +# Pizza Pad PCB + +![Pizza Pad PCB](https://i.imgur.com/eJLuaZY.jpg) + +A 3x3 PCB designed for the Idyllic Pretty Pad. + +* Keyboard Maintainer: Zykrah +* Hardware Supported: Pizza Pad PCB (using a SEEED XIAO RP2040) +* Hardware Availability: [Mechstock](https://mechstock.com.au/) + +Make example for this keyboard (after setting up your build environment): + + make idyllic/pizzapad:default + +Flashing example for this keyboard: + + make idyllic/pizzapad: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 both the `BOOT` and `RESET` buttons at the same time +* **Keycode in layout**: Press the key mapped to `QK_BOOT` if it is available From 10849dac689aafc3c75b9ee55dcb467c399b77d3 Mon Sep 17 00:00:00 2001 From: Danny Tan <23428162+zykrah@users.noreply.github.com> Date: Sat, 9 Nov 2024 15:23:31 +1100 Subject: [PATCH 107/124] Add Fuyu HS (#24567) * Add Fuyu HS * Fix keyboard.json linting * Fix rgbmatrix configuration * Apply suggestions from code review Co-authored-by: Joel Challis --------- Co-authored-by: Joel Challis --- keyboards/zykrah/fuyu_hs/config.h | 21 + keyboards/zykrah/fuyu_hs/keyboard.json | 404 ++++++++++++++++++ .../zykrah/fuyu_hs/keymaps/default/keymap.c | 39 ++ keyboards/zykrah/fuyu_hs/readme.md | 27 ++ 4 files changed, 491 insertions(+) create mode 100644 keyboards/zykrah/fuyu_hs/config.h create mode 100644 keyboards/zykrah/fuyu_hs/keyboard.json create mode 100644 keyboards/zykrah/fuyu_hs/keymaps/default/keymap.c create mode 100644 keyboards/zykrah/fuyu_hs/readme.md diff --git a/keyboards/zykrah/fuyu_hs/config.h b/keyboards/zykrah/fuyu_hs/config.h new file mode 100644 index 00000000000..767cc3f69ac --- /dev/null +++ b/keyboards/zykrah/fuyu_hs/config.h @@ -0,0 +1,21 @@ +/* +Copyright 2024 Zykrah + +This program is free software: you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation, either version 2 of the License, or +(at your option) any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License +along with this program. If not, see . +*/ + +#pragma once + +#define RP2040_BOOTLOADER_DOUBLE_TAP_RESET +#define RP2040_BOOTLOADER_DOUBLE_TAP_RESET_TIMEOUT 500U diff --git a/keyboards/zykrah/fuyu_hs/keyboard.json b/keyboards/zykrah/fuyu_hs/keyboard.json new file mode 100644 index 00000000000..de5530b8dec --- /dev/null +++ b/keyboards/zykrah/fuyu_hs/keyboard.json @@ -0,0 +1,404 @@ +{ + "keyboard_name": "Fuyu Hotswap", + "maintainer": "zykrah", + "manufacturer": "Zykrah", + "processor": "RP2040", + "bootloader": "rp2040", + "usb": { + "device_version": "0.0.1", + "pid": "0x4648", + "vid": "0x7A79" + }, + "features": { + "bootmagic": true, + "extrakey": true, + "mousekey": true, + "nkro": true, + "rgb_matrix": true + }, + "diode_direction": "COL2ROW", + "dynamic_keymap": { + "layer_count": 6 + }, + "matrix_pins": { + "rows": ["GP13", "GP12", "GP11", "GP10", "GP15", "GP14"], + "cols": ["GP29", "GP28", "GP27", "GP26", "GP25", "GP24", "GP23", "GP22", "GP21", "GP20", "GP19", "GP18", "GP17", "GP16", "GP2", "GP1", "GP0"] + }, + "rgb_matrix": { + "animations": { + "alphas_mods": true, + "gradient_up_down": true, + "gradient_left_right": true, + "breathing": true, + "band_sat": true, + "band_val": true, + "band_pinwheel_sat": true, + "band_pinwheel_val": true, + "band_spiral_sat": true, + "band_spiral_val": true, + "cycle_all": true, + "cycle_left_right": true, + "cycle_up_down": true, + "rainbow_moving_chevron": true, + "cycle_out_in": true, + "cycle_out_in_dual": true, + "cycle_pinwheel": true, + "cycle_spiral": true, + "dual_beacon": true, + "rainbow_beacon": true, + "rainbow_pinwheels": true, + "raindrops": true, + "jellybean_raindrops": true, + "hue_breathing": true, + "hue_pendulum": true, + "hue_wave": true, + "pixel_rain": true, + "pixel_flow": true, + "pixel_fractal": true + }, + "default": { + "val": 150 + }, + "driver": "ws2812", + "max_brightness": 200, + "layout": [ + {"x": 112, "y": 32, "flags": 8}, + {"x": 138, "y": 17, "flags": 8}, + {"x": 112, "y": 2, "flags": 8}, + {"x": 86, "y": 17, "flags": 8}, + {"x": 86, "y": 47, "flags": 8}, + {"x": 112, "y": 62, "flags": 8}, + {"x": 138, "y": 47, "flags": 8}, + {"x": 0, "y": 0, "flags": 2}, + {"x": 16, "y": 0, "flags": 2}, + {"x": 32, "y": 0, "flags": 2}, + {"x": 48, "y": 0, "flags": 2}, + {"x": 64, "y": 0, "flags": 2}, + {"x": 80, "y": 0, "flags": 2}, + {"x": 96, "y": 0, "flags": 2}, + {"x": 112, "y": 0, "flags": 2}, + {"x": 128, "y": 0, "flags": 2}, + {"x": 144, "y": 0, "flags": 2}, + {"x": 160, "y": 0, "flags": 2}, + {"x": 176, "y": 0, "flags": 2}, + {"x": 192, "y": 0, "flags": 2}, + {"x": 208, "y": 0, "flags": 2}, + {"x": 208, "y": 16, "flags": 2}, + {"x": 208, "y": 32, "flags": 2}, + {"x": 208, "y": 48, "flags": 2}, + {"x": 208, "y": 64, "flags": 2}, + {"x": 192, "y": 64, "flags": 2}, + {"x": 176, "y": 64, "flags": 2}, + {"x": 160, "y": 64, "flags": 2}, + {"x": 144, "y": 64, "flags": 2}, + {"x": 128, "y": 64, "flags": 2}, + {"x": 112, "y": 64, "flags": 2}, + {"x": 96, "y": 64, "flags": 2}, + {"x": 80, "y": 64, "flags": 2}, + {"x": 64, "y": 64, "flags": 2}, + {"x": 48, "y": 64, "flags": 2}, + {"x": 32, "y": 64, "flags": 2}, + {"x": 16, "y": 64, "flags": 2}, + {"x": 0, "y": 64, "flags": 2}, + {"x": 0, "y": 48, "flags": 2}, + {"x": 0, "y": 32, "flags": 2}, + {"x": 0, "y": 16, "flags": 2} + ] + }, + "url": "https://github.com/zykrah/fuyu", + "ws2812": { + "driver": "vendor", + "pin": "GP3" + }, + "layouts": { + "LAYOUT_all": { + "layout": [ + {"matrix": [0, 0], "x": 0, "y": 0}, + {"matrix": [0, 2], "x": 2, "y": 0}, + {"matrix": [0, 3], "x": 3, "y": 0}, + {"matrix": [0, 4], "x": 4, "y": 0}, + {"matrix": [0, 5], "x": 5, "y": 0}, + {"matrix": [0, 6], "x": 6.5, "y": 0}, + {"matrix": [0, 7], "x": 7.5, "y": 0}, + {"matrix": [0, 8], "x": 8.5, "y": 0}, + {"matrix": [0, 9], "x": 9.5, "y": 0}, + {"matrix": [0, 10], "x": 11, "y": 0}, + {"matrix": [0, 11], "x": 12, "y": 0}, + {"matrix": [0, 12], "x": 13, "y": 0}, + {"matrix": [0, 13], "x": 14, "y": 0}, + {"matrix": [0, 14], "x": 15.25, "y": 0}, + {"matrix": [0, 15], "x": 16.25, "y": 0}, + {"matrix": [0, 16], "x": 17.25, "y": 0}, + {"matrix": [1, 0], "x": 0, "y": 1.25}, + {"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}, + {"matrix": [3, 13], "x": 14, "y": 1.25}, + {"matrix": [1, 14], "x": 15.25, "y": 1.25}, + {"matrix": [1, 15], "x": 16.25, "y": 1.25}, + {"matrix": [1, 16], "x": 17.25, "y": 1.25}, + {"matrix": [2, 0], "x": 0, "y": 2.25, "w": 1.5}, + {"matrix": [2, 1], "x": 1.5, "y": 2.25}, + {"matrix": [2, 2], "x": 2.5, "y": 2.25}, + {"matrix": [2, 3], "x": 3.5, "y": 2.25}, + {"matrix": [2, 4], "x": 4.5, "y": 2.25}, + {"matrix": [2, 5], "x": 5.5, "y": 2.25}, + {"matrix": [2, 6], "x": 6.5, "y": 2.25}, + {"matrix": [2, 7], "x": 7.5, "y": 2.25}, + {"matrix": [2, 8], "x": 8.5, "y": 2.25}, + {"matrix": [2, 9], "x": 9.5, "y": 2.25}, + {"matrix": [2, 10], "x": 10.5, "y": 2.25}, + {"matrix": [2, 11], "x": 11.5, "y": 2.25}, + {"matrix": [2, 12], "x": 12.5, "y": 2.25}, + {"matrix": [2, 13], "x": 13.5, "y": 2.25, "w": 1.5}, + {"matrix": [2, 14], "x": 15.25, "y": 2.25}, + {"matrix": [2, 15], "x": 16.25, "y": 2.25}, + {"matrix": [2, 16], "x": 17.25, "y": 2.25}, + {"matrix": [3, 0], "x": 0, "y": 3.25, "w": 1.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, 12], "x": 12.75, "y": 3.25, "w": 2.25}, + {"matrix": [3, 14], "x": 15.25, "y": 3.25}, + {"matrix": [3, 15], "x": 16.25, "y": 3.25}, + {"matrix": [3, 16], "x": 17.25, "y": 3.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": 1.75}, + {"matrix": [4, 13], "x": 14, "y": 4.25}, + {"matrix": [4, 14], "x": 15.25, "y": 4.25}, + {"matrix": [4, 15], "x": 16.25, "y": 4.25}, + {"matrix": [4, 16], "x": 17.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_numpad": { + "layout": [ + {"matrix": [0, 0], "x": 0, "y": 0}, + {"matrix": [0, 2], "x": 2, "y": 0}, + {"matrix": [0, 3], "x": 3, "y": 0}, + {"matrix": [0, 4], "x": 4, "y": 0}, + {"matrix": [0, 5], "x": 5, "y": 0}, + {"matrix": [0, 6], "x": 6.5, "y": 0}, + {"matrix": [0, 7], "x": 7.5, "y": 0}, + {"matrix": [0, 8], "x": 8.5, "y": 0}, + {"matrix": [0, 9], "x": 9.5, "y": 0}, + {"matrix": [0, 10], "x": 11, "y": 0}, + {"matrix": [0, 11], "x": 12, "y": 0}, + {"matrix": [0, 12], "x": 13, "y": 0}, + {"matrix": [0, 13], "x": 14, "y": 0}, + {"matrix": [0, 14], "x": 15.25, "y": 0}, + {"matrix": [0, 15], "x": 16.25, "y": 0}, + {"matrix": [0, 16], "x": 17.25, "y": 0}, + {"matrix": [1, 0], "x": 0, "y": 1.25}, + {"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": [2, 13], "x": 13.5, "y": 2.25, "w": 1.5}, + {"matrix": [2, 14], "x": 15.25, "y": 2.25}, + {"matrix": [2, 15], "x": 16.25, "y": 2.25}, + {"matrix": [2, 16], "x": 17.25, "y": 2.25}, + {"matrix": [3, 0], "x": 0, "y": 3.25, "w": 1.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, 12], "x": 12.75, "y": 3.25, "w": 2.25}, + {"matrix": [3, 14], "x": 15.25, "y": 3.25}, + {"matrix": [3, 15], "x": 16.25, "y": 3.25}, + {"matrix": [3, 16], "x": 17.25, "y": 3.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, 14], "x": 15.25, "y": 4.25}, + {"matrix": [4, 15], "x": 16.25, "y": 4.25}, + {"matrix": [4, 16], "x": 17.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_numpad": { + "layout": [ + {"matrix": [0, 0], "x": 0, "y": 0}, + {"matrix": [0, 2], "x": 2, "y": 0}, + {"matrix": [0, 3], "x": 3, "y": 0}, + {"matrix": [0, 4], "x": 4, "y": 0}, + {"matrix": [0, 5], "x": 5, "y": 0}, + {"matrix": [0, 6], "x": 6.5, "y": 0}, + {"matrix": [0, 7], "x": 7.5, "y": 0}, + {"matrix": [0, 8], "x": 8.5, "y": 0}, + {"matrix": [0, 9], "x": 9.5, "y": 0}, + {"matrix": [0, 10], "x": 11, "y": 0}, + {"matrix": [0, 11], "x": 12, "y": 0}, + {"matrix": [0, 12], "x": 13, "y": 0}, + {"matrix": [0, 13], "x": 14, "y": 0}, + {"matrix": [0, 14], "x": 15.25, "y": 0}, + {"matrix": [0, 15], "x": 16.25, "y": 0}, + {"matrix": [0, 16], "x": 17.25, "y": 0}, + {"matrix": [1, 0], "x": 0, "y": 1.25}, + {"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": [2, 13], "x": 13.5, "y": 2.25, "w": 1.5}, + {"matrix": [2, 14], "x": 15.25, "y": 2.25}, + {"matrix": [2, 15], "x": 16.25, "y": 2.25}, + {"matrix": [2, 16], "x": 17.25, "y": 2.25}, + {"matrix": [3, 0], "x": 0, "y": 3.25, "w": 1.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, 12], "x": 12.75, "y": 3.25, "w": 2.25}, + {"matrix": [3, 14], "x": 15.25, "y": 3.25}, + {"matrix": [3, 15], "x": 16.25, "y": 3.25}, + {"matrix": [3, 16], "x": 17.25, "y": 3.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, 14], "x": 15.25, "y": 4.25}, + {"matrix": [4, 15], "x": 16.25, "y": 4.25}, + {"matrix": [4, 16], "x": 17.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/zykrah/fuyu_hs/keymaps/default/keymap.c b/keyboards/zykrah/fuyu_hs/keymaps/default/keymap.c new file mode 100644 index 00000000000..e04c98a9fbb --- /dev/null +++ b/keyboards/zykrah/fuyu_hs/keymaps/default/keymap.c @@ -0,0 +1,39 @@ +/* +Copyright 2024 Zykrah + +This program is free software: you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation, either version 2 of the License, or +(at your option) any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License +along with this program. If not, see . +*/ + +#include QMK_KEYBOARD_H + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + + [0] = LAYOUT_all( + KC_ESC, KC_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_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_TRNS, KC_TRNS, KC_TRNS, + 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_TRNS, KC_TRNS, KC_UP, KC_TRNS, + KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, MO(1), KC_RGUI, KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT), + + + [1] = LAYOUT_all( + QK_BOOT, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, 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/zykrah/fuyu_hs/readme.md b/keyboards/zykrah/fuyu_hs/readme.md new file mode 100644 index 00000000000..41c5cded51d --- /dev/null +++ b/keyboards/zykrah/fuyu_hs/readme.md @@ -0,0 +1,27 @@ +# FUYU HOTSWAP + +![FUYU HS 7U](https://i.imgur.com/8zjDNJT.jpg) + +An F12 TKL Hotswappable H87-Compat Type-C PCB for the Geon F1-8K + +* Keyboard Maintainer: [Zykrah](https://github.com/zykrah) +* Hardware Supported: Fuyu HS 7u rev1, Fuyu HS 6.25u rev1 +* Hardware Availability: [Github Repo](https://github.com/zykrah/fuyu), [GEON Store](https://geon.works/products/fuyu-pcb-for-f1-8k), [Cafege](https://cafege.com.au/products/fuyu-8k-pcb) + +Make example for this keyboard (after setting up your build environment): + + make zykrah/fuyu_hs:default + +Flashing example for this keyboard: + + make zykrah/fuyu_hs:default:flash + +See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) and the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information. Brand new to QMK? Start with our [Complete Newbs Guide](https://docs.qmk.fm/#/newbs). + +## Bootloader + +Enter the bootloader in 3 ways: + +* **Bootmagic reset**: Hold down the key at (0,0) in the matrix (usually the top left key or Escape) and plug in the keyboard +* **Physical reset button**: Briefly short the `RST` and `GND` pads on the SWD header twice, or short the `BOOT` header and plug in keyboard +* **Keycode in layout**: Press the key mapped to `QK_BOOT` if it is available From f156e57f8ef6bb825695123ab7cf2eca8d75dace Mon Sep 17 00:00:00 2001 From: Amund Tenstad Date: Sat, 9 Nov 2024 05:24:00 +0100 Subject: [PATCH 108/124] [Keyboard] Add tenstad (#24571) * [Keyboard] Add tenstad * fix: remove settings disabled by default Co-authored-by: Less/Rikki <86894501+lesshonor@users.noreply.github.com> * fix: add serial and transport to json Co-authored-by: Less/Rikki <86894501+lesshonor@users.noreply.github.com> * fix: format json * docs: update img url * fix: delete now-redundant rules.mk * fix: format keymap.json (keeping 'layout' at the top) --------- Co-authored-by: Less/Rikki <86894501+lesshonor@users.noreply.github.com> --- keyboards/handwired/tenstad/keyboard.json | 85 +++++++++++++++++++ .../tenstad/keymaps/default/keymap.json | 55 ++++++++++++ keyboards/handwired/tenstad/readme.md | 19 +++++ 3 files changed, 159 insertions(+) create mode 100644 keyboards/handwired/tenstad/keyboard.json create mode 100644 keyboards/handwired/tenstad/keymaps/default/keymap.json create mode 100644 keyboards/handwired/tenstad/readme.md diff --git a/keyboards/handwired/tenstad/keyboard.json b/keyboards/handwired/tenstad/keyboard.json new file mode 100644 index 00000000000..1220d3b107f --- /dev/null +++ b/keyboards/handwired/tenstad/keyboard.json @@ -0,0 +1,85 @@ +{ + "manufacturer": "Amund Tenstad", + "keyboard_name": "tenstad", + "maintainer": "tenstad", + "bootloader": "rp2040", + "diode_direction": "ROW2COL", + "features": { + "bootmagic": true, + "extrakey": true, + "mousekey": true, + "nkro": true + }, + "matrix_pins": { + "cols": ["GP29", "GP28", "GP27", "GP26", "GP15", "GP14"], + "rows": ["GP3", "GP4", "GP5", "GP6"] + }, + "processor": "RP2040", + "split": { + "enabled": true, + "serial": { + "driver": "vendor" + }, + "transport": { + "protocol": "serial" + } + }, + "url": "https://github.com/tenstad/keyboard", + "usb": { + "device_version": "1.0.0", + "pid": "0x0000", + "vid": "0xFEED" + }, + "layouts": { + "LAYOUT_split_3x6_5": { + "layout": [ + {"matrix": [0, 0], "x": 0, "y": 1.35}, + {"matrix": [0, 1], "x": 1, "y": 0.95}, + {"matrix": [0, 2], "x": 2.35, "y": 0.35}, + {"matrix": [0, 3], "x": 3.35, "y": 0}, + {"matrix": [0, 4], "x": 4.65, "y": 0.4}, + {"matrix": [0, 5], "x": 5.65, "y": 0.4}, + {"matrix": [4, 5], "x": 12.25, "y": 0.4}, + {"matrix": [4, 4], "x": 13.25, "y": 0.4}, + {"matrix": [4, 3], "x": 14.55, "y": 0}, + {"matrix": [4, 2], "x": 15.55, "y": 0.35}, + {"matrix": [4, 1], "x": 16.9, "y": 0.95}, + {"matrix": [4, 0], "x": 17.9, "y": 1.35}, + {"matrix": [1, 0], "x": 0.1, "y": 2.35}, + {"matrix": [1, 1], "x": 1.1, "y": 1.95}, + {"matrix": [1, 2], "x": 2.4, "y": 1.35}, + {"matrix": [1, 3], "x": 3.4, "y": 1}, + {"matrix": [1, 4], "x": 4.65, "y": 1.4}, + {"matrix": [1, 5], "x": 5.65, "y": 1.4}, + {"matrix": [5, 5], "x": 12.25, "y": 1.4}, + {"matrix": [5, 4], "x": 13.25, "y": 1.4}, + {"matrix": [5, 3], "x": 14.5, "y": 1}, + {"matrix": [5, 2], "x": 15.5, "y": 1.35}, + {"matrix": [5, 1], "x": 16.8, "y": 1.95}, + {"matrix": [5, 0], "x": 17.8, "y": 2.35}, + {"matrix": [2, 0], "x": 0.2, "y": 3.35}, + {"matrix": [2, 1], "x": 1.2, "y": 2.95}, + {"matrix": [2, 2], "x": 2.45, "y": 2.35}, + {"matrix": [2, 3], "x": 3.45, "y": 2}, + {"matrix": [2, 4], "x": 4.65, "y": 2.4}, + {"matrix": [2, 5], "x": 5.65, "y": 2.4}, + {"matrix": [6, 5], "x": 12.25, "y": 2.4}, + {"matrix": [6, 4], "x": 13.25, "y": 2.4}, + {"matrix": [6, 3], "x": 14.45, "y": 2}, + {"matrix": [6, 2], "x": 15.45, "y": 2.35}, + {"matrix": [6, 1], "x": 16.7, "y": 2.95}, + {"matrix": [6, 0], "x": 17.7, "y": 3.35}, + {"matrix": [3, 5], "x": 6.85, "y": 3}, + {"matrix": [3, 3], "x": 7.95, "y": 3.35}, + {"matrix": [3, 4], "x": 5.6, "y": 3.95}, + {"matrix": [3, 1], "x": 6.7, "y": 4.1}, + {"matrix": [3, 2], "x": 7.8, "y": 4.45}, + {"matrix": [7, 3], "x": 9.95, "y": 3.35}, + {"matrix": [7, 5], "x": 11.05, "y": 3}, + {"matrix": [7, 2], "x": 10.1, "y": 4.45}, + {"matrix": [7, 1], "x": 11.2, "y": 4.1}, + {"matrix": [7, 4], "x": 12.3, "y": 3.95} + ] + } + } +} diff --git a/keyboards/handwired/tenstad/keymaps/default/keymap.json b/keyboards/handwired/tenstad/keymaps/default/keymap.json new file mode 100644 index 00000000000..4882e307321 --- /dev/null +++ b/keyboards/handwired/tenstad/keymaps/default/keymap.json @@ -0,0 +1,55 @@ +{ + "keyboard": "handwired/tenstad", + "keymap": "default", + "layout": "LAYOUT_split_3x6_5", + "layers": [ + [ + "KC_ESC", + "KC_Q", + "KC_W", + "KC_E", + "KC_R", + "KC_T", + "KC_Y", + "KC_U", + "KC_I", + "KC_O", + "KC_P", + "KC_RBRC", + "KC_TAB", + "KC_A", + "KC_S", + "KC_D", + "KC_F", + "KC_G", + "KC_H", + "KC_J", + "KC_K", + "KC_L", + "KC_GRV", + "KC_QUOT", + "KC_LCTL", + "KC_Z", + "KC_X", + "KC_C", + "KC_V", + "KC_B", + "KC_N", + "KC_M", + "KC_COMM", + "KC_DOT", + "KC_MINS", + "KC_RSFT", + "KC_NO", + "KC_NO", + "KC_TAB", + "KC_NO", + "KC_NO", + "KC_DEL", + "KC_NO", + "KC_BSPC", + "KC_SPC", + "KC_ENT" + ] + ] +} diff --git a/keyboards/handwired/tenstad/readme.md b/keyboards/handwired/tenstad/readme.md new file mode 100644 index 00000000000..8ed97513303 --- /dev/null +++ b/keyboards/handwired/tenstad/readme.md @@ -0,0 +1,19 @@ +# tenstad + +![tenstad](https://i.imgur.com/Lh4TAUF.png) + +[tenstad/keyboard](https://github.com/tenstad/keyboard) - hand-soldered ergonomic split 3x6 keyboard with 5 thumb keys + +* Keyboard Maintainer: [Amund Tenstad](https://github.com/tenstad) +* Hardware Supported: RP2040 Zero +* Hardware Availability: [List of Parts](https://github.com/tenstad/keyboard/blob/main/README.md#parts) from [AliExpress](https://aliexpress.com) + +Make example for this keyboard (after setting up your build environment): + + make handwired/tenstad:default + +Flashing example for this keyboard: + + make handwired/tenstad: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). From b3f5408e7283c8a282fada75dd4e61a93df276e7 Mon Sep 17 00:00:00 2001 From: Ryan Date: Sun, 10 Nov 2024 03:49:11 +1100 Subject: [PATCH 109/124] [docs] Fix dead link to keyboard list in newbs.md (#24579) --- docs/newbs.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/newbs.md b/docs/newbs.md index 64593cbad12..95cde67f0cd 100644 --- a/docs/newbs.md +++ b/docs/newbs.md @@ -4,7 +4,7 @@ Your computer keyboard has a processor inside of it, similar to the one inside y QMK tries to put a lot of power into your hands by making easy things easy, and hard things possible. You don't have to know how to program to create powerful keymaps — you only have to follow a few simple syntax rules. -Not sure if your keyboard can run QMK? If it's a mechanical keyboard you built yourself chances are good it can. We support a [large number of hobbyist boards](https://qmk.fm/keyboards/). If your current keyboard can't run QMK there are a lot of choices out there for boards that do. +Not sure if your keyboard can run QMK? If it's a mechanical keyboard you built yourself chances are good it can. We support a [large number of hobbyist boards](https://browse.qmk.fm/). If your current keyboard can't run QMK there are a lot of choices out there for boards that do. ::: tip Is This Guide For Me? If the thought of programming intimidates you, please [take a look at our online GUI](newbs_building_firmware_configurator) instead. From 3eb172d08ef0b5765cafcf067118563df917fe83 Mon Sep 17 00:00:00 2001 From: Ryan Date: Sun, 10 Nov 2024 06:04:14 +1100 Subject: [PATCH 110/124] [docs] Turn on icons for external links (#24580) --- builddefs/docsgen/.vitepress/config.mts | 2 ++ docs/reference_info_json.md | 2 +- 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/builddefs/docsgen/.vitepress/config.mts b/builddefs/docsgen/.vitepress/config.mts index 54ecae2e86b..5beca70634e 100644 --- a/builddefs/docsgen/.vitepress/config.mts +++ b/builddefs/docsgen/.vitepress/config.mts @@ -41,6 +41,8 @@ export default defineConfig(({ mode }) => { sidebar: sidebar, + externalLinkIcon: true, + socialLinks: [ { icon: { svg: '' }, link: "https://reddit.com/r/olkb" }, { icon: "discord", link: "https://discord.gg/qmk" }, diff --git a/docs/reference_info_json.md b/docs/reference_info_json.md index 82110537a9d..c1061cdf823 100644 --- a/docs/reference_info_json.md +++ b/docs/reference_info_json.md @@ -16,7 +16,7 @@ You can create `info.json` files at every level under `qmk_firmware/keyboards/String Required - * A URL to the keyboard's product page, [QMK.fm/keyboards](https://qmk.fm/keyboards) page, or other page describing information about the keyboard. + * A URL to the keyboard's product page, [QMK Keyboards](https://browse.qmk.fm/) page, or other page describing information about the keyboard. * Example: `"https://clueboard.co"` * `bootloader_instructions` String * Instructions for putting the keyboard into a mode that allows for firmware flashing. From a3cfb1dab7679a774d8aa09f7b609f3302dad73d Mon Sep 17 00:00:00 2001 From: Ryan Date: Sun, 10 Nov 2024 09:10:10 +1100 Subject: [PATCH 111/124] Joystick: add support for 8-way hat switch (#24515) --- docs/features/joystick.md | 51 +++++++++++++++++++++++++++++- quantum/joystick.c | 10 ++++++ quantum/joystick.h | 22 ++++++++++++- tmk_core/protocol/host.c | 4 +++ tmk_core/protocol/report.h | 5 +++ tmk_core/protocol/usb_descriptor.c | 17 ++++++++++ tmk_core/protocol/vusb/vusb.c | 17 ++++++++++ 7 files changed, 124 insertions(+), 2 deletions(-) diff --git a/docs/features/joystick.md b/docs/features/joystick.md index 69db4655d59..cbf6c6daf7e 100644 --- a/docs/features/joystick.md +++ b/docs/features/joystick.md @@ -1,6 +1,6 @@ # Joystick {#joystick} -This feature provides game controller input as a joystick device supporting up to 6 axes and 32 buttons. Axes can be read either from an [ADC-capable input pin](../drivers/adc), or can be virtual, so that its value is provided by your code. +This feature provides game controller input as a joystick device supporting up to 6 axes, 32 buttons and a hat switch. Axes can be read either from an [ADC-capable input pin](../drivers/adc), or can be virtual, so that its value is provided by your code. An analog device such as a [potentiometer](https://en.wikipedia.org/wiki/Potentiometer) found on an analog joystick's axes is based on a voltage divider, where adjusting the movable wiper controls the output voltage which can then be read by the microcontroller's ADC. @@ -37,6 +37,42 @@ By default, two axes and eight buttons are defined, with a reported resolution o You must define at least one button or axis. Also note that the maximum ADC resolution of the supported AVR MCUs is 10-bit, and 12-bit for most STM32 MCUs. ::: +### Hat Switch {#hat-switch} + +To enable the 8-way hat switch, add the following to your `config.h`: + +```c +#define JOYSTICK_HAS_HAT +```` + +The position can be set by calling `joystick_set_hat(value)`. The range of values moves clockwise from the top (ie. north), with the default "center" position represented by a value of `-1`: + +``` + 0 + 7 N 1 + NW .--'--. NE + / \ +6 W | -1 | E 2 + \ / + SW '--.--' SE + 5 S 3 + 4 +``` + +Alternatively you can use these predefined names: + +|Define |Value|Angle| +|------------------------|-----|-----| +|`JOYSTICK_HAT_CENTER` |`-1` | | +|`JOYSTICK_HAT_NORTH` |`0` |0° | +|`JOYSTICK_HAT_NORTHEAST`|`1` |45° | +|`JOYSTICK_HAT_EAST` |`2` |90° | +|`JOYSTICK_HAT_SOUTHEAST`|`3` |135° | +|`JOYSTICK_HAT_SOUTH` |`4` |180° | +|`JOYSTICK_HAT_SOUTHWEST`|`5` |225° | +|`JOYSTICK_HAT_WEST` |`6` |270° | +|`JOYSTICK_HAT_NORTHWEST`|`7` |315° | + ### Axes {#axes} When defining axes for your joystick, you must provide a definition array typically in your `keymap.c`. @@ -149,6 +185,8 @@ Contains the state of the joystick. A bit-packed array containing the joystick button states. The size is calculated as `(JOYSTICK_BUTTON_COUNT - 1) / 8 + 1`. - `int16_t axes[]` An array of analog values for each defined axis. + - `int8_t hat` + The hat switch position. - `bool dirty` Whether the current state needs to be sent to the host. @@ -222,3 +260,14 @@ Set the value of the given axis. The axis to set the value of. - `int16_t value` The value to set. + +--- + +### `void joystick_set_hat(int8_t value)` {#api-joystick-set-hat} + +Set the position of the hat switch. + +#### Arguments {#api-joystick-set-hat-arguments} + + - `int8_t value` + The hat switch position to set. diff --git a/quantum/joystick.c b/quantum/joystick.c index 32f19b2cd99..62893fd1997 100644 --- a/quantum/joystick.c +++ b/quantum/joystick.c @@ -29,6 +29,9 @@ joystick_t joystick_state = { 0 #endif }, +#ifdef JOYSTICK_HAS_HAT + .hat = -1, +#endif .dirty = false, }; @@ -145,6 +148,13 @@ void joystick_set_axis(uint8_t axis, int16_t value) { } } +#ifdef JOYSTICK_HAS_HAT +void joystick_set_hat(int8_t value) { + joystick_state.hat = value; + joystick_state.dirty = true; +} +#endif + void joystick_init(void) { joystick_init_axes(); } diff --git a/quantum/joystick.h b/quantum/joystick.h index 5a69ceac64a..24f80c1ad6f 100644 --- a/quantum/joystick.h +++ b/quantum/joystick.h @@ -52,6 +52,16 @@ #define JOYSTICK_MAX_VALUE ((1L << (JOYSTICK_AXIS_RESOLUTION - 1)) - 1) +#define JOYSTICK_HAT_CENTER -1 +#define JOYSTICK_HAT_NORTH 0 +#define JOYSTICK_HAT_NORTHEAST 1 +#define JOYSTICK_HAT_EAST 2 +#define JOYSTICK_HAT_SOUTHEAST 3 +#define JOYSTICK_HAT_SOUTH 4 +#define JOYSTICK_HAT_SOUTHWEST 5 +#define JOYSTICK_HAT_WEST 6 +#define JOYSTICK_HAT_NORTHWEST 7 + // configure on input_pin of the joystick_axes array entry to NO_PIN // to prevent it from being read from the ADC. This allows outputting forged axis value. #define JOYSTICK_AXIS_VIRTUAL \ @@ -73,7 +83,10 @@ extern joystick_config_t joystick_axes[JOYSTICK_AXIS_COUNT]; typedef struct { uint8_t buttons[(JOYSTICK_BUTTON_COUNT - 1) / 8 + 1]; int16_t axes[JOYSTICK_AXIS_COUNT]; - bool dirty; +#ifdef JOYSTICK_HAS_HAT + int8_t hat; +#endif + bool dirty; } joystick_t; extern joystick_t joystick_state; @@ -129,4 +142,11 @@ void joystick_read_axes(void); */ void joystick_set_axis(uint8_t axis, int16_t value); +/** + * \brief Set the position of the hat switch. + * + * \param value The hat switch position to set. + */ +void joystick_set_hat(int8_t value); + /** \} */ diff --git a/tmk_core/protocol/host.c b/tmk_core/protocol/host.c index 732fbdc37d4..df805c827c2 100644 --- a/tmk_core/protocol/host.c +++ b/tmk_core/protocol/host.c @@ -193,6 +193,10 @@ void host_joystick_send(joystick_t *joystick) { }, # endif +# ifdef JOYSTICK_HAS_HAT + .hat = joystick->hat, +# endif + # if JOYSTICK_BUTTON_COUNT > 0 .buttons = { diff --git a/tmk_core/protocol/report.h b/tmk_core/protocol/report.h index 37c8ea48f1b..d854f51d5c4 100644 --- a/tmk_core/protocol/report.h +++ b/tmk_core/protocol/report.h @@ -246,6 +246,11 @@ typedef struct { joystick_axis_t axes[JOYSTICK_AXIS_COUNT]; #endif +#ifdef JOYSTICK_HAS_HAT + int8_t hat : 4; + uint8_t reserved : 4; +#endif + #if JOYSTICK_BUTTON_COUNT > 0 uint8_t buttons[(JOYSTICK_BUTTON_COUNT - 1) / 8 + 1]; #endif diff --git a/tmk_core/protocol/usb_descriptor.c b/tmk_core/protocol/usb_descriptor.c index e7d12a07d9f..c7fb660b65d 100644 --- a/tmk_core/protocol/usb_descriptor.c +++ b/tmk_core/protocol/usb_descriptor.c @@ -247,6 +247,23 @@ const USB_Descriptor_HIDReport_Datatype_t PROGMEM SharedReport[] = { HID_RI_INPUT(8, HID_IOF_DATA | HID_IOF_VARIABLE | HID_IOF_ABSOLUTE), # endif +# ifdef JOYSTICK_HAS_HAT + // Hat Switch (4 bits) + HID_RI_USAGE(8, 0x39), // Hat Switch + HID_RI_LOGICAL_MINIMUM(8, 0x00), + HID_RI_LOGICAL_MAXIMUM(8, 0x07), + HID_RI_PHYSICAL_MINIMUM(8, 0), + HID_RI_PHYSICAL_MAXIMUM(16, 315), + HID_RI_UNIT(8, 0x14), // Degree, English Rotation + HID_RI_REPORT_COUNT(8, 1), + HID_RI_REPORT_SIZE(8, 4), + HID_RI_INPUT(8, HID_IOF_DATA | HID_IOF_VARIABLE | HID_IOF_ABSOLUTE | HID_IOF_NULLSTATE), + // Padding (4 bits) + HID_RI_REPORT_COUNT(8, 0x04), + HID_RI_REPORT_SIZE(8, 0x01), + HID_RI_INPUT(8, HID_IOF_CONSTANT), +# endif + # if JOYSTICK_BUTTON_COUNT > 0 HID_RI_USAGE_PAGE(8, 0x09), // Button HID_RI_USAGE_MINIMUM(8, 0x01), diff --git a/tmk_core/protocol/vusb/vusb.c b/tmk_core/protocol/vusb/vusb.c index 2a29fe65d90..fdbfcc17dce 100644 --- a/tmk_core/protocol/vusb/vusb.c +++ b/tmk_core/protocol/vusb/vusb.c @@ -621,6 +621,23 @@ const PROGMEM uchar shared_hid_report[] = { 0x81, 0x02, // Input (Data, Variable, Absolute) # endif +# ifdef JOYSTICK_HAS_HAT + // Hat Switch (4 bits) + 0x09, 0x39, // Usage (Hat Switch) + 0x15, 0x00, // Logical Minimum (0) + 0x25, 0x07, // Logical Maximum (7) + 0x35, 0x00, // Physical Minimum (0) + 0x46, 0x3B, 0x01, // Physical Maximum (315) + 0x65, 0x14, // Unit (Degree, English Rotation) + 0x95, 0x01, // Report Count (1) + 0x75, 0x04, // Report Size (4) + 0x81, 0x42, // Input (Data, Variable, Absolute, Null State) + // Padding (4 bits) + 0x95, 0x04, // Report Count (4) + 0x75, 0x01, // Report Size (1) + 0x81, 0x01, // Input (Constant) +# endif + # if JOYSTICK_BUTTON_COUNT > 0 0x05, 0x09, // Usage Page (Button) 0x19, 0x01, // Usage Minimum (Button 1) From 8cbd631fcbd74f3699c756abb3f27c9807825593 Mon Sep 17 00:00:00 2001 From: Duncan Sutherland Date: Sun, 10 Nov 2024 19:11:48 +0000 Subject: [PATCH 112/124] remove "w": 1 from /keyboards/ (#24587) --- .../satisfaction75_hs/keyboard.json | 6 +++--- .../whitefacemountain/ampersand/keyboard.json | 20 +++++++++---------- keyboards/zeix/singa/kohaku/keyboard.json | 8 ++++---- 3 files changed, 17 insertions(+), 17 deletions(-) diff --git a/keyboards/cannonkeys/satisfaction75_hs/keyboard.json b/keyboards/cannonkeys/satisfaction75_hs/keyboard.json index 6e8172ec028..48faa60362b 100644 --- a/keyboards/cannonkeys/satisfaction75_hs/keyboard.json +++ b/keyboards/cannonkeys/satisfaction75_hs/keyboard.json @@ -112,9 +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}, - {"matrix": [5, 11], "x": 11, "y": 5.25, "w": 1}, - {"matrix": [5, 9], "x": 12, "y": 5.25, "w": 1}, + {"matrix": [5, 10], "x": 10, "y": 5.25}, + {"matrix": [5, 11], "x": 11, "y": 5.25}, + {"matrix": [5, 9], "x": 12, "y": 5.25}, {"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/whitefacemountain/ampersand/keyboard.json b/keyboards/whitefacemountain/ampersand/keyboard.json index 04840d05bcd..b0929e2d3c9 100644 --- a/keyboards/whitefacemountain/ampersand/keyboard.json +++ b/keyboards/whitefacemountain/ampersand/keyboard.json @@ -64,13 +64,13 @@ {"label": ".", "matrix": [2, 9], "x": 9.75, "y": 2}, {"label": "/", "matrix": [2, 10], "x": 10.75, "y": 2}, {"label": "Shift", "matrix": [2, 11], "x": 11.75, "y": 2, "w": 1.75}, - {"label": "Ctrl", "matrix": [3, 0], "x": 0, "y": 3, "w": 1}, - {"label": "LAlt", "matrix": [3, 1], "x": 1.75, "y": 3, "w": 1}, - {"label": "LGui", "matrix": [3, 2], "x": 2.75, "y": 3, "w": 1}, + {"label": "Ctrl", "matrix": [3, 0], "x": 0, "y": 3}, + {"label": "LAlt", "matrix": [3, 1], "x": 1.75, "y": 3}, + {"label": "LGui", "matrix": [3, 2], "x": 2.75, "y": 3}, {"label": "Space", "matrix": [3, 5], "x": 3.75, "y": 3, "w": 6}, - {"label": "RGui", "matrix": [3, 8], "x": 9.75, "y": 3, "w": 1}, - {"label": "RAlt", "matrix": [3, 9], "x": 10.75, "y": 3, "w": 1}, - {"label": "RCtrl", "matrix": [3, 11], "x": 12.5, "y": 3, "w": 1} + {"label": "RGui", "matrix": [3, 8], "x": 9.75, "y": 3}, + {"label": "RAlt", "matrix": [3, 9], "x": 10.75, "y": 3}, + {"label": "RCtrl", "matrix": [3, 11], "x": 12.5, "y": 3} ] }, "LAYOUT_split_bars": { @@ -113,14 +113,14 @@ {"label": ".", "matrix": [2, 9], "x": 9.75, "y": 2}, {"label": "/", "matrix": [2, 10], "x": 10.75, "y": 2}, {"label": "Shift", "matrix": [2, 11], "x": 11.75, "y": 2, "w": 1.75}, - {"label": "Ctrl", "matrix": [3, 0], "x": 0, "y": 3, "w": 1}, + {"label": "Ctrl", "matrix": [3, 0], "x": 0, "y": 3}, {"label": "LAlt", "matrix": [3, 1], "x": 1.75, "y": 3, "w": 1.5}, - {"label": "LGui", "matrix": [3, 2], "x": 3.25, "y": 3, "w": 1}, + {"label": "LGui", "matrix": [3, 2], "x": 3.25, "y": 3}, {"label": "Space", "matrix": [3, 3], "x": 4.25, "y": 3, "w": 2.25}, {"label": "Space", "matrix": [3, 7], "x": 6.5, "y": 3, "w": 2.75}, - {"label": "RGui", "matrix": [3, 8], "x": 9.25, "y": 3, "w": 1}, + {"label": "RGui", "matrix": [3, 8], "x": 9.25, "y": 3}, {"label": "RAlt", "matrix": [3, 9], "x": 10.25, "y": 3, "w": 1.5}, - {"label": "RCtrl", "matrix": [3, 11], "x": 12.5, "y": 3, "w": 1} + {"label": "RCtrl", "matrix": [3, 11], "x": 12.5, "y": 3} ] } } diff --git a/keyboards/zeix/singa/kohaku/keyboard.json b/keyboards/zeix/singa/kohaku/keyboard.json index f1ce31fe64d..542bad9c6fc 100644 --- a/keyboards/zeix/singa/kohaku/keyboard.json +++ b/keyboards/zeix/singa/kohaku/keyboard.json @@ -326,7 +326,7 @@ {"matrix": [7, 6], "x": 14, "y": 3}, {"matrix": [7, 7], "x": 15, "y": 3}, {"matrix": [8, 0], "x": 0, "y": 4, "w": 1.5}, - {"matrix": [9, 0], "x": 1.5, "y": 4, "w": 1}, + {"matrix": [9, 0], "x": 1.5, "y": 4}, {"matrix": [8, 1], "x": 2.5, "y": 4, "w": 1.5}, {"matrix": [8, 3], "x": 4, "y": 4, "w": 7}, {"matrix": [8, 5], "x": 11, "y": 4, "w": 1.5}, @@ -397,7 +397,7 @@ {"matrix": [7, 6], "x": 14, "y": 3}, {"matrix": [7, 7], "x": 15, "y": 3}, {"matrix": [8, 0], "x": 0, "y": 4, "w": 1.5}, - {"matrix": [9, 0], "x": 1.5, "y": 4, "w": 1}, + {"matrix": [9, 0], "x": 1.5, "y": 4}, {"matrix": [8, 1], "x": 2.5, "y": 4, "w": 1.5}, {"matrix": [8, 3], "x": 4, "y": 4, "w": 7}, {"matrix": [8, 5], "x": 11, "y": 4, "w": 1.5}, @@ -613,7 +613,7 @@ {"matrix": [7, 6], "x": 14, "y": 3}, {"matrix": [7, 7], "x": 15, "y": 3}, {"matrix": [8, 0], "x": 0, "y": 4, "w": 1.5}, - {"matrix": [9, 0], "x": 1.5, "y": 4, "w": 1}, + {"matrix": [9, 0], "x": 1.5, "y": 4}, {"matrix": [8, 1], "x": 2.5, "y": 4, "w": 1.5}, {"matrix": [8, 3], "x": 4, "y": 4, "w": 7}, {"matrix": [8, 5], "x": 11, "y": 4, "w": 1.5}, @@ -685,7 +685,7 @@ {"matrix": [7, 6], "x": 14, "y": 3}, {"matrix": [7, 7], "x": 15, "y": 3}, {"matrix": [8, 0], "x": 0, "y": 4, "w": 1.5}, - {"matrix": [9, 0], "x": 1.5, "y": 4, "w": 1}, + {"matrix": [9, 0], "x": 1.5, "y": 4}, {"matrix": [8, 1], "x": 2.5, "y": 4, "w": 1.5}, {"matrix": [8, 3], "x": 4, "y": 4, "w": 7}, {"matrix": [8, 5], "x": 11, "y": 4, "w": 1.5}, From 9cd789676059f734a1538833cea6940d9c669b48 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Tue, 12 Nov 2024 02:18:51 +0000 Subject: [PATCH 113/124] Bump JamesIves/github-pages-deploy-action from 4.6.8 to 4.6.9 (#24592) Bumps [JamesIves/github-pages-deploy-action](https://github.com/jamesives/github-pages-deploy-action) from 4.6.8 to 4.6.9. - [Release notes](https://github.com/jamesives/github-pages-deploy-action/releases) - [Commits](https://github.com/jamesives/github-pages-deploy-action/compare/v4.6.8...v4.6.9) --- updated-dependencies: - dependency-name: JamesIves/github-pages-deploy-action dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- .github/workflows/docs.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/docs.yml b/.github/workflows/docs.yml index 42d377fe4a9..e04bcd080b1 100644 --- a/.github/workflows/docs.yml +++ b/.github/workflows/docs.yml @@ -56,7 +56,7 @@ jobs: - name: Deploy if: ${{ github.event_name == 'push' && github.repository == 'qmk/qmk_firmware' }} - uses: JamesIves/github-pages-deploy-action@v4.6.8 + uses: JamesIves/github-pages-deploy-action@v4.6.9 with: token: ${{ secrets.GITHUB_TOKEN }} branch: gh-pages From 3d4da6de29c8635c9cd232ce456d8fec8d31921b Mon Sep 17 00:00:00 2001 From: Ryan Date: Tue, 12 Nov 2024 13:20:56 +1100 Subject: [PATCH 114/124] [docs] Add "edit this page" link at the bottom (#24585) --- builddefs/docsgen/.vitepress/config.mts | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/builddefs/docsgen/.vitepress/config.mts b/builddefs/docsgen/.vitepress/config.mts index 5beca70634e..d2fe2886b21 100644 --- a/builddefs/docsgen/.vitepress/config.mts +++ b/builddefs/docsgen/.vitepress/config.mts @@ -39,6 +39,11 @@ export default defineConfig(({ mode }) => { provider: "local", }, + editLink: { + pattern: 'https://github.com/qmk/qmk_firmware/edit/master/docs/:path' + }, + lastUpdated: true, + sidebar: sidebar, externalLinkIcon: true, From 4757ef281f5cb52668134dfc0b1c8c03445ec2ae Mon Sep 17 00:00:00 2001 From: Druah <54309603+Druah@users.noreply.github.com> Date: Tue, 12 Nov 2024 23:29:12 -0500 Subject: [PATCH 115/124] [Keyboard] Add Majestouch Redux (#24586) * [Keyboard] Add Majestouch Redux * Apply suggestions from code review Co-authored-by: Duncan Sutherland --------- Co-authored-by: Duncan Sutherland --- .../druah/majestouch_redux/keyboard.json | 131 ++++++++++++++++++ .../majestouch_redux/keymaps/default/keymap.c | 32 +++++ keyboards/druah/majestouch_redux/readme.md | 27 ++++ 3 files changed, 190 insertions(+) create mode 100644 keyboards/druah/majestouch_redux/keyboard.json create mode 100644 keyboards/druah/majestouch_redux/keymaps/default/keymap.c create mode 100644 keyboards/druah/majestouch_redux/readme.md diff --git a/keyboards/druah/majestouch_redux/keyboard.json b/keyboards/druah/majestouch_redux/keyboard.json new file mode 100644 index 00000000000..b9ea139bd58 --- /dev/null +++ b/keyboards/druah/majestouch_redux/keyboard.json @@ -0,0 +1,131 @@ +{ + "manufacturer": "FILCO", + "keyboard_name": "Majestouch Redux", + "maintainer": "Druah", + "bootloader": "atmel-dfu", + "build": { + "lto": true + }, + "diode_direction": "COL2ROW", + "features": { + "bootmagic": true, + "extrakey": true, + "mousekey": true, + "nkro": true + }, + "indicators": { + "caps_lock": "C1", + "scroll_lock": "C0" + }, + "matrix_pins": { + "cols": ["A0", "A1", "A2", "F6", "F7", "E6", "F0", "F1", "F2", "B3", "B2", "B1", "F3", "F4", "C5", "C6", "C3"], + "rows": ["C2", "B4", "B5", "F5", "C7", "C4"] + }, + "processor": "at90usb646", + "qmk": { + "locking": { + "enabled": true, + "resync": true + } + }, + "url": "https://druah.moe", + "usb": { + "device_version": "1.0.0", + "pid": "0x0003", + "vid": "0x444E" + }, + "community_layouts": ["tkl_ansi"], + "layouts": { + "LAYOUT_tkl_ansi": { + "layout": [ + {"matrix": [0, 0], "x": 0, "y": 0}, + {"matrix": [0, 2], "x": 2, "y": 0}, + {"matrix": [0, 3], "x": 3, "y": 0}, + {"matrix": [0, 4], "x": 4, "y": 0}, + {"matrix": [0, 5], "x": 5, "y": 0}, + {"matrix": [0, 6], "x": 6.5, "y": 0}, + {"matrix": [0, 7], "x": 7.5, "y": 0}, + {"matrix": [0, 8], "x": 8.5, "y": 0}, + {"matrix": [0, 9], "x": 9.5, "y": 0}, + {"matrix": [0, 10], "x": 11, "y": 0}, + {"matrix": [0, 11], "x": 12, "y": 0}, + {"matrix": [0, 12], "x": 13, "y": 0}, + {"matrix": [0, 13], "x": 14, "y": 0}, + {"matrix": [0, 14], "x": 15.25, "y": 0}, + {"matrix": [0, 15], "x": 16.25, "y": 0}, + {"matrix": [0, 16], "x": 17.25, "y": 0}, + {"matrix": [1, 0], "x": 0, "y": 1.5}, + {"matrix": [1, 1], "x": 1, "y": 1.5}, + {"matrix": [1, 2], "x": 2, "y": 1.5}, + {"matrix": [1, 3], "x": 3, "y": 1.5}, + {"matrix": [1, 4], "x": 4, "y": 1.5}, + {"matrix": [1, 5], "x": 5, "y": 1.5}, + {"matrix": [1, 6], "x": 6, "y": 1.5}, + {"matrix": [1, 7], "x": 7, "y": 1.5}, + {"matrix": [1, 8], "x": 8, "y": 1.5}, + {"matrix": [1, 9], "x": 9, "y": 1.5}, + {"matrix": [1, 10], "x": 10, "y": 1.5}, + {"matrix": [1, 11], "x": 11, "y": 1.5}, + {"matrix": [1, 12], "x": 12, "y": 1.5}, + {"matrix": [1, 13], "x": 13, "y": 1.5, "w": 2}, + {"matrix": [1, 14], "x": 15.25, "y": 1.5}, + {"matrix": [1, 15], "x": 16.25, "y": 1.5}, + {"matrix": [1, 16], "x": 17.25, "y": 1.5}, + {"matrix": [2, 0], "x": 0, "y": 2.5, "w": 1.5}, + {"matrix": [2, 1], "x": 1.5, "y": 2.5}, + {"matrix": [2, 2], "x": 2.5, "y": 2.5}, + {"matrix": [2, 3], "x": 3.5, "y": 2.5}, + {"matrix": [2, 4], "x": 4.5, "y": 2.5}, + {"matrix": [2, 5], "x": 5.5, "y": 2.5}, + {"matrix": [2, 6], "x": 6.5, "y": 2.5}, + {"matrix": [2, 7], "x": 7.5, "y": 2.5}, + {"matrix": [2, 8], "x": 8.5, "y": 2.5}, + {"matrix": [2, 9], "x": 9.5, "y": 2.5}, + {"matrix": [2, 10], "x": 10.5, "y": 2.5}, + {"matrix": [2, 11], "x": 11.5, "y": 2.5}, + {"matrix": [2, 12], "x": 12.5, "y": 2.5}, + {"matrix": [2, 13], "x": 13.5, "y": 2.5, "w": 1.5}, + {"matrix": [2, 14], "x": 15.25, "y": 2.5}, + {"matrix": [2, 15], "x": 16.25, "y": 2.5}, + {"matrix": [2, 16], "x": 17.25, "y": 2.5}, + {"matrix": [3, 0], "x": 0, "y": 3.5, "w": 1.75}, + {"matrix": [3, 1], "x": 1.75, "y": 3.5}, + {"matrix": [3, 2], "x": 2.75, "y": 3.5}, + {"matrix": [3, 3], "x": 3.75, "y": 3.5}, + {"matrix": [3, 4], "x": 4.75, "y": 3.5}, + {"matrix": [3, 5], "x": 5.75, "y": 3.5}, + {"matrix": [3, 6], "x": 6.75, "y": 3.5}, + {"matrix": [3, 7], "x": 7.75, "y": 3.5}, + {"matrix": [3, 8], "x": 8.75, "y": 3.5}, + {"matrix": [3, 9], "x": 9.75, "y": 3.5}, + {"matrix": [3, 10], "x": 10.75, "y": 3.5}, + {"matrix": [3, 11], "x": 11.75, "y": 3.5}, + {"matrix": [3, 13], "x": 12.75, "y": 3.5, "w": 2.25}, + {"matrix": [4, 0], "x": 0, "y": 4.5, "w": 2.25}, + {"matrix": [4, 2], "x": 2.25, "y": 4.5}, + {"matrix": [4, 3], "x": 3.25, "y": 4.5}, + {"matrix": [4, 4], "x": 4.25, "y": 4.5}, + {"matrix": [4, 5], "x": 5.25, "y": 4.5}, + {"matrix": [4, 6], "x": 6.25, "y": 4.5}, + {"matrix": [4, 7], "x": 7.25, "y": 4.5}, + {"matrix": [4, 8], "x": 8.25, "y": 4.5}, + {"matrix": [4, 9], "x": 9.25, "y": 4.5}, + {"matrix": [4, 10], "x": 10.25, "y": 4.5}, + {"matrix": [4, 11], "x": 11.25, "y": 4.5}, + {"matrix": [4, 13], "x": 12.25, "y": 4.5, "w": 2.75}, + {"matrix": [4, 15], "x": 16.25, "y": 4.5}, + {"matrix": [5, 0], "x": 0, "y": 5.5, "w": 1.25}, + {"matrix": [5, 1], "x": 1.25, "y": 5.5, "w": 1.25}, + {"matrix": [5, 2], "x": 2.5, "y": 5.5, "w": 1.25}, + {"matrix": [5, 7], "x": 3.75, "y": 5.5, "w": 6.25}, + {"matrix": [5, 10], "x": 10, "y": 5.5, "w": 1.25}, + {"matrix": [5, 11], "x": 11.25, "y": 5.5, "w": 1.25}, + {"matrix": [5, 12], "x": 12.5, "y": 5.5, "w": 1.25}, + {"matrix": [5, 13], "x": 13.75, "y": 5.5, "w": 1.25}, + {"matrix": [5, 14], "x": 15.25, "y": 5.5}, + {"matrix": [5, 15], "x": 16.25, "y": 5.5}, + {"matrix": [5, 16], "x": 17.25, "y": 5.5} + ] + } + } +} diff --git a/keyboards/druah/majestouch_redux/keymaps/default/keymap.c b/keyboards/druah/majestouch_redux/keymaps/default/keymap.c new file mode 100644 index 00000000000..a3f8be1bbac --- /dev/null +++ b/keyboards/druah/majestouch_redux/keymaps/default/keymap.c @@ -0,0 +1,32 @@ +// Copyright 2024 Druah (@Druah) +// SPDX-License-Identifier: GPL-2.0-or-later + +#include QMK_KEYBOARD_H + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + /* + * ┌───┐ ┌───┬───┬───┬───┐ ┌───┬───┬───┬───┐ ┌───┬───┬───┬───┐┌───┬───┬───┐ + * │Esc│ │F1 │F2 │F3 │F4 │ │F5 │F6 │F7 │F8 │ │F9 │F10│F11│F12││PSc│Scr│Pse│ + * └───┘ └───┴───┴───┴───┘ └───┴───┴───┴───┘ └───┴───┴───┴───┘└───┴───┴───┘ + * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┐┌───┬───┬───┐ + * │ ` │ 1 │ 2 │ 3 │ 4 │ 5 │ 6 │ 7 │ 8 │ 9 │ 0 │ - │ = │ Backsp││Ins│Hom│PgU│ + * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤├───┼───┼───┤ + * │ Tab │ Q │ W │ E │ R │ T │ Y │ U │ I │ O │ P │ [ │ ] │ \ ││Del│End│PgD│ + * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴─────┤└───┴───┴───┘ + * │ Caps │ A │ S │ D │ F │ G │ H │ J │ K │ L │ ; │ ' │ Enter │ + * ├──────┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴────────┤ ┌───┐ + * │ Shift │ Z │ X │ C │ V │ B │ N │ M │ , │ . │ / │ Shift │ │ ↑ │ + * ├────┬───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬────┬────┤┌───┼───┼───┐ + * │Ctrl│GUI │Alt │ │ Alt│ GUI│Menu│Ctrl││ ← │ ↓ │ → │ + * └────┴────┴────┴────────────────────────┴────┴────┴────┴────┘└───┴───┴───┘ + */ + [0] = LAYOUT_tkl_ansi( + 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, KC_APP, KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT + ) +}; diff --git a/keyboards/druah/majestouch_redux/readme.md b/keyboards/druah/majestouch_redux/readme.md new file mode 100644 index 00000000000..19df7d46974 --- /dev/null +++ b/keyboards/druah/majestouch_redux/readme.md @@ -0,0 +1,27 @@ +# Majestouch Redux + +![PCB](https://i.imgur.com/LjoywMI.png) + +A replacement PCB for the FILCO Majestouch TKL line of keyboards (and other keyboards) compatible with [Phantom TKL](https://deskthority.net/wiki/Phantom) PCB spacing + +* Keyboard Maintainer: [Druah](https://github.com/Druah) +* Hardware Supported: Majestouch Redux +* Hardware Availability: Private buy + +Make example for this keyboard (after setting up your build environment): + + make druah/majestouch_redux:default + +Flashing example for this keyboard: + + make druah/majestouch_redux: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 (the Escape/top left key) and plug in the keyboard +* **Physical reset button**: Briefly press the button on the back of the PCB labelled with "RESET" +* **Keycode in layout**: Press the key mapped to `QK_BOOT` if it is available From a8a47c40114c72a042516c1f93384f228685eb3e Mon Sep 17 00:00:00 2001 From: Nick Brassel Date: Thu, 14 Nov 2024 20:43:23 +1100 Subject: [PATCH 116/124] Perform test compiles during `qmk doctor`. (#24282) Co-authored-by: James Young <18669334+noroadsleft@users.noreply.github.com> --- lib/python/qmk/cli/doctor/check.py | 62 +++++++++++++++++++++++++++++- 1 file changed, 60 insertions(+), 2 deletions(-) diff --git a/lib/python/qmk/cli/doctor/check.py b/lib/python/qmk/cli/doctor/check.py index d563811aba9..2804a1d7df1 100644 --- a/lib/python/qmk/cli/doctor/check.py +++ b/lib/python/qmk/cli/doctor/check.py @@ -4,6 +4,8 @@ from enum import Enum import re import shutil from subprocess import DEVNULL, TimeoutExpired +from tempfile import TemporaryDirectory +from pathlib import Path from milc import cli from qmk import submodules @@ -44,7 +46,35 @@ def _check_arm_gcc_version(): version_number = ESSENTIAL_BINARIES['arm-none-eabi-gcc']['output'].strip() cli.log.info('Found arm-none-eabi-gcc version %s', version_number) - return CheckStatus.OK # Right now all known arm versions are ok + # Right now all known ARM versions are ok, so check that it can produce binaries + return _check_arm_gcc_installation() + + +def _check_arm_gcc_installation(): + """Returns OK if the arm-none-eabi-gcc is fully installed and can produce binaries. + """ + with TemporaryDirectory() as temp_dir: + temp_file = Path(temp_dir) / 'test.elf' + + args = ['arm-none-eabi-gcc', '-mcpu=cortex-m0', '-mthumb', '-mno-thumb-interwork', '--specs=nosys.specs', '--specs=nano.specs', '-x', 'c', '-o', str(temp_file), '-'] + result = cli.run(args, stdin=None, stdout=None, stderr=None, input='#include \nint main() { return __NEWLIB__ * __NEWLIB_MINOR__ * __NEWLIB_PATCHLEVEL__; }') + if result.returncode == 0: + cli.log.info('Successfully compiled using arm-none-eabi-gcc') + else: + cli.log.error(f'Failed to compile a simple program with arm-none-eabi-gcc, return code {result.returncode}') + cli.log.error(f'Command: {" ".join(args)}') + return CheckStatus.ERROR + + args = ['arm-none-eabi-size', str(temp_file)] + result = cli.run(args, stdin=None, stdout=None, stderr=None) + if result.returncode == 0: + cli.log.info('Successfully tested arm-none-eabi-binutils using arm-none-eabi-size') + else: + cli.log.error(f'Failed to execute arm-none-eabi-size, perhaps corrupt arm-none-eabi-binutils, return code {result.returncode}') + cli.log.error(f'Command: {" ".join(args)}') + return CheckStatus.ERROR + + return CheckStatus.OK def _check_avr_gcc_version(): @@ -53,7 +83,35 @@ def _check_avr_gcc_version(): version_number = ESSENTIAL_BINARIES['avr-gcc']['output'].strip() cli.log.info('Found avr-gcc version %s', version_number) - return CheckStatus.OK + # Right now all known AVR versions are ok, so check that it can produce binaries + return _check_avr_gcc_installation() + + +def _check_avr_gcc_installation(): + """Returns OK if the avr-gcc is fully installed and can produce binaries. + """ + with TemporaryDirectory() as temp_dir: + temp_file = Path(temp_dir) / 'test.elf' + + args = ['avr-gcc', '-mmcu=atmega32u4', '-x', 'c', '-o', str(temp_file), '-'] + result = cli.run(args, stdin=None, stdout=None, stderr=None, input='int main() { return 0; }') + if result.returncode == 0: + cli.log.info('Successfully compiled using avr-gcc') + else: + cli.log.error(f'Failed to compile a simple program with avr-gcc, return code {result.returncode}') + cli.log.error(f'Command: {" ".join(args)}') + return CheckStatus.ERROR + + args = ['avr-size', str(temp_file)] + result = cli.run(args, stdin=None, stdout=None, stderr=None) + if result.returncode == 0: + cli.log.info('Successfully tested avr-binutils using avr-size') + else: + cli.log.error(f'Failed to execute avr-size, perhaps corrupt avr-binutils, return code {result.returncode}') + cli.log.error(f'Command: {" ".join(args)}') + return CheckStatus.ERROR + + return CheckStatus.OK def _check_avrdude_version(): From 0bda0f47754d01aa904f9831ff58ef760807ab16 Mon Sep 17 00:00:00 2001 From: Nick Brassel Date: Thu, 14 Nov 2024 21:16:52 +1100 Subject: [PATCH 117/124] Revert removal of `QK_OUTPUT_AUTO`, fixup docs to reflect. (#24593) --- .../keycodes/keycodes_0.0.6_connection.hjson | 18 ++++++++----- docs/_aliases.json | 4 ++- docs/_sidebar.json | 4 +-- docs/features/{bluetooth.md => wireless.md} | 24 ++++++++++++----- docs/keycodes.md | 26 ++++++++++++++----- docs/reference_info_json.md | 4 +-- quantum/keycodes.h | 19 +++++++------- tests/test_common/keycode_table.cpp | 1 + 8 files changed, 67 insertions(+), 33 deletions(-) rename docs/features/{bluetooth.md => wireless.md} (53%) diff --git a/data/constants/keycodes/keycodes_0.0.6_connection.hjson b/data/constants/keycodes/keycodes_0.0.6_connection.hjson index 9a1a750f1ae..9be11068254 100644 --- a/data/constants/keycodes/keycodes_0.0.6_connection.hjson +++ b/data/constants/keycodes/keycodes_0.0.6_connection.hjson @@ -7,41 +7,47 @@ "keycodes": { "0x7780": { "group": "connection", - "key": "QK_OUTPUT_NEXT", + "key": "QK_OUTPUT_AUTO", "aliases": [ - "OU_NEXT", "OU_AUTO" ] }, "0x7781": { + "group": "connection", + "key": "QK_OUTPUT_NEXT", + "aliases": [ + "OU_NEXT" + ] + }, + "0x7782": { "group": "connection", "key": "QK_OUTPUT_PREV", "aliases": [ "OU_PREV" ] }, - "0x7782": { + "0x7783": { "group": "connection", "key": "QK_OUTPUT_NONE", "aliases": [ "OU_NONE" ] }, - "0x7783": { + "0x7784": { "group": "connection", "key": "QK_OUTPUT_USB", "aliases": [ "OU_USB" ] }, - "0x7784": { + "0x7785": { "group": "connection", "key": "QK_OUTPUT_2P4GHZ", "aliases": [ "OU_2P4G" ] }, - "0x7785": { + "0x7786": { "group": "connection", "key": "QK_OUTPUT_BLUETOOTH", "aliases": [ diff --git a/docs/_aliases.json b/docs/_aliases.json index f06e032215c..0dfcdea1e2f 100644 --- a/docs/_aliases.json +++ b/docs/_aliases.json @@ -16,6 +16,8 @@ "/tutorial": "/newbs", "/unicode": "/feature_unicode", + "/features/bluetooth": "/features/wireless", + "/adc_driver": "/drivers/adc", "/apa102_driver": "/drivers/apa102", "/audio_driver": "/drivers/audio", @@ -24,7 +26,7 @@ "/feature_auto_shift": "/features/auto_shift", "/feature_autocorrect": "/features/autocorrect", "/feature_backlight": "/features/backlight", - "/feature_bluetooth": "/features/bluetooth", + "/feature_bluetooth": "/features/wireless", "/feature_bootmagic": "/features/bootmagic", "/feature_caps_word": "/features/caps_word", "/feature_combo": "/features/combo", diff --git a/docs/_sidebar.json b/docs/_sidebar.json index d691011d641..7f353ad351d 100644 --- a/docs/_sidebar.json +++ b/docs/_sidebar.json @@ -166,7 +166,6 @@ ] }, { "text": "Audio", "link": "/features/audio" }, - { "text": "Bluetooth", "link": "/features/bluetooth" }, { "text": "Bootmagic", "link": "/features/bootmagic" }, { "text": "Converters", "link": "/feature_converters" }, { "text": "Custom Matrix", "link": "/custom_matrix" }, @@ -179,7 +178,8 @@ { "text": "Pointing Device", "link": "/features/pointing_device" }, { "text": "PS/2 Mouse", "link": "/features/ps2_mouse" }, { "text": "Split Keyboard", "link": "/features/split_keyboard" }, - { "text": "Stenography", "link": "/features/stenography" } + { "text": "Stenography", "link": "/features/stenography" }, + { "text": "Wireless", "link": "/features/wireless" } ] }, { diff --git a/docs/features/bluetooth.md b/docs/features/wireless.md similarity index 53% rename from docs/features/bluetooth.md rename to docs/features/wireless.md index d3634498be4..0d73ad3583e 100644 --- a/docs/features/bluetooth.md +++ b/docs/features/wireless.md @@ -1,4 +1,4 @@ -# Bluetooth +# Wireless / Bluetooth ## Bluetooth Known Supported Hardware @@ -39,8 +39,20 @@ BLUETOOTH_DRIVER = bluefruit_le # or rn42 This is used when multiple keyboard outputs can be selected. Currently this only allows for switching between USB and Bluetooth on keyboards that support both. -| Key | Aliases | Description | -|-----------------------|----------------------|------------------------------------------------| -| `QK_OUTPUT_NEXT` | `OU_NEXT`, `OU_AUTO` | Automatically switch between USB and Bluetooth | -| `QK_OUTPUT_USB` | `OU_USB` | USB only | -| `QK_OUTPUT_BLUETOOTH` | `OU_BT` | Bluetooth only | +| Key | Aliases | Description | +|-----------------------------|-----------|-----------------------------------------------------------------------------------------------| +| `QK_OUTPUT_AUTO` | `OU_AUTO` | Automatically switch to USB when plugged in, otherwise use wireless | +| `QK_OUTPUT_NEXT` | `OU_NEXT` | Cycle forwards through USB, Bluetooth, and 2.4GHz (when available) **(not yet implemented)** | +| `QK_OUTPUT_PREV` | `OU_PREV` | Cycle backwards through USB, Bluetooth, and 2.4GHz (when available) **(not yet implemented)** | +| `QK_OUTPUT_NONE` | `OU_NONE` | Disable all output **(not yet implemented)** | +| `QK_OUTPUT_USB` | `OU_USB` | Output to USB only | +| `QK_OUTPUT_2P4GHZ` | `OU_2P4G` | Output to 2.4GHz only **(not yet implemented)** | +| `QK_OUTPUT_BLUETOOTH` | `OU_BT` | Output to Bluetooth only | +| `QK_BLUETOOTH_PROFILE_NEXT` | `BT_NEXT` | Move to the next Bluetooth profile **(not yet implemented)** | +| `QK_BLUETOOTH_PROFILE_PREV` | `BT_PREV` | Move to the previous Bluetooth profile **(not yet implemented)** | +| `QK_BLUETOOTH_UNPAIR` | `BT_UNPR` | Un-pair the current Bluetooth profile **(not yet implemented)** | +| `QK_BLUETOOTH_PROFILE1` | `BT_PRF1` | Swap to Bluetooth profile #1 **(not yet implemented)** | +| `QK_BLUETOOTH_PROFILE2` | `BT_PRF2` | Swap to Bluetooth profile #2 **(not yet implemented)** | +| `QK_BLUETOOTH_PROFILE3` | `BT_PRF3` | Swap to Bluetooth profile #3 **(not yet implemented)** | +| `QK_BLUETOOTH_PROFILE4` | `BT_PRF4` | Swap to Bluetooth profile #4 **(not yet implemented)** | +| `QK_BLUETOOTH_PROFILE5` | `BT_PRF5` | Swap to Bluetooth profile #5 **(not yet implemented)** | diff --git a/docs/keycodes.md b/docs/keycodes.md index 1210390f54b..3665747a0bf 100644 --- a/docs/keycodes.md +++ b/docs/keycodes.md @@ -290,15 +290,27 @@ See also: [Backlighting](features/backlight) | `QK_BACKLIGHT_DOWN` | `BL_DOWN` | Decrease the backlight level | | `QK_BACKLIGHT_TOGGLE_BREATHING` | `BL_BRTG` | Toggle backlight breathing | -## Bluetooth {#bluetooth} +## Wireless/Bluetooth {#bluetooth} -See also: [Bluetooth](features/bluetooth) +See also: [Wireless](features/wireless) -| Key | Aliases | Description | -|-----------------------|----------------------|------------------------------------------------| -| `QK_OUTPUT_NEXT` | `OU_NEXT`, `OU_AUTO` | Automatically switch between USB and Bluetooth | -| `QK_OUTPUT_USB` | `OU_USB` | USB only | -| `QK_OUTPUT_BLUETOOTH` | `OU_BT` | Bluetooth only | +| Key | Aliases | Description | +|-----------------------------|-----------|-----------------------------------------------------------------------------------------------| +| `QK_OUTPUT_AUTO` | `OU_AUTO` | Automatically switch to USB when plugged in, otherwise use wireless | +| `QK_OUTPUT_NEXT` | `OU_NEXT` | Cycle forwards through USB, Bluetooth, and 2.4GHz (when available) **(not yet implemented)** | +| `QK_OUTPUT_PREV` | `OU_PREV` | Cycle backwards through USB, Bluetooth, and 2.4GHz (when available) **(not yet implemented)** | +| `QK_OUTPUT_NONE` | `OU_NONE` | Disable all output **(not yet implemented)** | +| `QK_OUTPUT_USB` | `OU_USB` | Output to USB only | +| `QK_OUTPUT_2P4GHZ` | `OU_2P4G` | Output to 2.4GHz only **(not yet implemented)** | +| `QK_OUTPUT_BLUETOOTH` | `OU_BT` | Output to Bluetooth only | +| `QK_BLUETOOTH_PROFILE_NEXT` | `BT_NEXT` | Move to the next Bluetooth profile **(not yet implemented)** | +| `QK_BLUETOOTH_PROFILE_PREV` | `BT_PREV` | Move to the previous Bluetooth profile **(not yet implemented)** | +| `QK_BLUETOOTH_UNPAIR` | `BT_UNPR` | Un-pair the current Bluetooth profile **(not yet implemented)** | +| `QK_BLUETOOTH_PROFILE1` | `BT_PRF1` | Swap to Bluetooth profile #1 **(not yet implemented)** | +| `QK_BLUETOOTH_PROFILE2` | `BT_PRF2` | Swap to Bluetooth profile #2 **(not yet implemented)** | +| `QK_BLUETOOTH_PROFILE3` | `BT_PRF3` | Swap to Bluetooth profile #3 **(not yet implemented)** | +| `QK_BLUETOOTH_PROFILE4` | `BT_PRF4` | Swap to Bluetooth profile #4 **(not yet implemented)** | +| `QK_BLUETOOTH_PROFILE5` | `BT_PRF5` | Swap to Bluetooth profile #5 **(not yet implemented)** | ## Caps Word {#caps-word} diff --git a/docs/reference_info_json.md b/docs/reference_info_json.md index c1061cdf823..99ff7b1f7a3 100644 --- a/docs/reference_info_json.md +++ b/docs/reference_info_json.md @@ -177,9 +177,9 @@ Configures the [Backlight](features/backlight) feature. * `pins` Array: Pin * A list of GPIO pins connected to the backlight LEDs (`software` and `timer` drivers only). -## Bluetooth {#bluetooth} +## Wireless/Bluetooth {#bluetooth} -Configures the [Bluetooth](features/bluetooth) feature. +Configures the [Wireless](features/wireless) feature. * `bluetooth` * `driver` String diff --git a/quantum/keycodes.h b/quantum/keycodes.h index 38127bb6da1..51b7eb6c9a4 100644 --- a/quantum/keycodes.h +++ b/quantum/keycodes.h @@ -622,12 +622,13 @@ enum qk_keycode_defines { QK_MACRO_29 = 0x771D, QK_MACRO_30 = 0x771E, QK_MACRO_31 = 0x771F, - QK_OUTPUT_NEXT = 0x7780, - QK_OUTPUT_PREV = 0x7781, - QK_OUTPUT_NONE = 0x7782, - QK_OUTPUT_USB = 0x7783, - QK_OUTPUT_2P4GHZ = 0x7784, - QK_OUTPUT_BLUETOOTH = 0x7785, + QK_OUTPUT_AUTO = 0x7780, + QK_OUTPUT_NEXT = 0x7781, + QK_OUTPUT_PREV = 0x7782, + QK_OUTPUT_NONE = 0x7783, + QK_OUTPUT_USB = 0x7784, + QK_OUTPUT_2P4GHZ = 0x7785, + QK_OUTPUT_BLUETOOTH = 0x7786, QK_BLUETOOTH_PROFILE_NEXT = 0x7790, QK_BLUETOOTH_PROFILE_PREV = 0x7791, QK_BLUETOOTH_UNPAIR = 0x7792, @@ -1309,8 +1310,8 @@ enum qk_keycode_defines { MC_29 = QK_MACRO_29, MC_30 = QK_MACRO_30, MC_31 = QK_MACRO_31, + OU_AUTO = QK_OUTPUT_AUTO, OU_NEXT = QK_OUTPUT_NEXT, - OU_AUTO = QK_OUTPUT_NEXT, OU_PREV = QK_OUTPUT_PREV, OU_NONE = QK_OUTPUT_NONE, OU_USB = QK_OUTPUT_USB, @@ -1494,7 +1495,7 @@ enum qk_keycode_defines { #define IS_AUDIO_KEYCODE(code) ((code) >= QK_AUDIO_ON && (code) <= QK_AUDIO_VOICE_PREVIOUS) #define IS_STENO_KEYCODE(code) ((code) >= QK_STENO_BOLT && (code) <= QK_STENO_COMB_MAX) #define IS_MACRO_KEYCODE(code) ((code) >= QK_MACRO_0 && (code) <= QK_MACRO_31) -#define IS_CONNECTION_KEYCODE(code) ((code) >= QK_OUTPUT_NEXT && (code) <= QK_BLUETOOTH_PROFILE5) +#define IS_CONNECTION_KEYCODE(code) ((code) >= QK_OUTPUT_AUTO && (code) <= QK_BLUETOOTH_PROFILE5) #define IS_BACKLIGHT_KEYCODE(code) ((code) >= QK_BACKLIGHT_ON && (code) <= QK_BACKLIGHT_TOGGLE_BREATHING) #define IS_LED_MATRIX_KEYCODE(code) ((code) >= QK_LED_MATRIX_ON && (code) <= QK_LED_MATRIX_SPEED_DOWN) #define IS_UNDERGLOW_KEYCODE(code) ((code) >= QK_UNDERGLOW_TOGGLE && (code) <= QK_UNDERGLOW_SPEED_DOWN) @@ -1520,7 +1521,7 @@ enum qk_keycode_defines { #define AUDIO_KEYCODE_RANGE QK_AUDIO_ON ... QK_AUDIO_VOICE_PREVIOUS #define STENO_KEYCODE_RANGE QK_STENO_BOLT ... QK_STENO_COMB_MAX #define MACRO_KEYCODE_RANGE QK_MACRO_0 ... QK_MACRO_31 -#define CONNECTION_KEYCODE_RANGE QK_OUTPUT_NEXT ... QK_BLUETOOTH_PROFILE5 +#define CONNECTION_KEYCODE_RANGE QK_OUTPUT_AUTO ... QK_BLUETOOTH_PROFILE5 #define BACKLIGHT_KEYCODE_RANGE QK_BACKLIGHT_ON ... QK_BACKLIGHT_TOGGLE_BREATHING #define LED_MATRIX_KEYCODE_RANGE QK_LED_MATRIX_ON ... QK_LED_MATRIX_SPEED_DOWN #define UNDERGLOW_KEYCODE_RANGE QK_UNDERGLOW_TOGGLE ... QK_UNDERGLOW_SPEED_DOWN diff --git a/tests/test_common/keycode_table.cpp b/tests/test_common/keycode_table.cpp index e4d445de828..a520dd3f2bf 100644 --- a/tests/test_common/keycode_table.cpp +++ b/tests/test_common/keycode_table.cpp @@ -562,6 +562,7 @@ std::map KEYCODE_ID_TABLE = { {QK_MACRO_29, "QK_MACRO_29"}, {QK_MACRO_30, "QK_MACRO_30"}, {QK_MACRO_31, "QK_MACRO_31"}, + {QK_OUTPUT_AUTO, "QK_OUTPUT_AUTO"}, {QK_OUTPUT_NEXT, "QK_OUTPUT_NEXT"}, {QK_OUTPUT_PREV, "QK_OUTPUT_PREV"}, {QK_OUTPUT_NONE, "QK_OUTPUT_NONE"}, From 46236ce3de8385f27e3f13a9921abee7e1e0fa57 Mon Sep 17 00:00:00 2001 From: Ryan Date: Fri, 15 Nov 2024 05:00:02 +1100 Subject: [PATCH 118/124] [docs] Improve halconf/mcuconf code examples (#24597) --- docs/drivers/audio.md | 88 ++++++++++++++++------------ docs/drivers/i2c.md | 21 ++++--- docs/drivers/serial.md | 114 +++++++++++++++++++++---------------- docs/drivers/spi.md | 25 +++++--- docs/drivers/uart.md | 8 ++- docs/drivers/ws2812.md | 44 +++++++++----- docs/features/backlight.md | 44 +++++++++----- docs/features/ps2_mouse.md | 14 +++-- 8 files changed, 222 insertions(+), 136 deletions(-) diff --git a/docs/drivers/audio.md b/docs/drivers/audio.md index c764c97369a..165e61f0655 100644 --- a/docs/drivers/audio.md +++ b/docs/drivers/audio.md @@ -57,27 +57,32 @@ This driver needs one Timer per enabled/used DAC channel, to trigger conversion; Additionally, in the board config, you'll want to make changes to enable the DACs, GPT for Timers 6, 7 and 8: -```c -//halconf.h: -#define HAL_USE_DAC TRUE -#define HAL_USE_GPT TRUE +::: code-group +```c [halconf.h] +#pragma once + +#define HAL_USE_DAC TRUE // [!code focus] +#define HAL_USE_GPT TRUE // [!code focus] + #include_next ``` +```c [mcuconf.h] +#pragma once -```c -// mcuconf.h: #include_next -#undef STM32_DAC_USE_DAC1_CH1 -#define STM32_DAC_USE_DAC1_CH1 TRUE -#undef STM32_DAC_USE_DAC1_CH2 -#define STM32_DAC_USE_DAC1_CH2 TRUE -#undef STM32_GPT_USE_TIM6 -#define STM32_GPT_USE_TIM6 TRUE -#undef STM32_GPT_USE_TIM7 -#define STM32_GPT_USE_TIM7 TRUE -#undef STM32_GPT_USE_TIM8 -#define STM32_GPT_USE_TIM8 TRUE + +#undef STM32_DAC_USE_DAC1_CH1 // [!code focus] +#define STM32_DAC_USE_DAC1_CH1 TRUE // [!code focus] +#undef STM32_DAC_USE_DAC1_CH2 // [!code focus] +#define STM32_DAC_USE_DAC1_CH2 TRUE // [!code focus] +#undef STM32_GPT_USE_TIM6 // [!code focus] +#define STM32_GPT_USE_TIM6 TRUE // [!code focus] +#undef STM32_GPT_USE_TIM7 // [!code focus] +#define STM32_GPT_USE_TIM7 TRUE // [!code focus] +#undef STM32_GPT_USE_TIM8 // [!code focus] +#define STM32_GPT_USE_TIM8 TRUE // [!code focus] ``` +::: ::: tip Note: DAC1 (A4) uses TIM6, DAC2 (A5) uses TIM7, and the audio state timer uses TIM8 (configurable). @@ -95,23 +100,28 @@ only needs one timer (GPTD6, Tim6) to trigger the DAC unit to do a conversion; t Additionally, in the board config, you'll want to make changes to enable the DACs, GPT for Timer 6: -```c -//halconf.h: -#define HAL_USE_DAC TRUE -#define HAL_USE_GPT TRUE +::: code-group +```c [halconf.h] +#pragma once + +#define HAL_USE_DAC TRUE // [!code focus] +#define HAL_USE_GPT TRUE // [!code focus] + #include_next ``` +```c [mcuconf.h] +#pragma once -```c -// mcuconf.h: #include_next -#undef STM32_DAC_USE_DAC1_CH1 -#define STM32_DAC_USE_DAC1_CH1 TRUE -#undef STM32_DAC_USE_DAC1_CH2 -#define STM32_DAC_USE_DAC1_CH2 TRUE -#undef STM32_GPT_USE_TIM6 -#define STM32_GPT_USE_TIM6 TRUE + +#undef STM32_DAC_USE_DAC1_CH1 // [!code focus] +#define STM32_DAC_USE_DAC1_CH1 TRUE // [!code focus] +#undef STM32_DAC_USE_DAC1_CH2 // [!code focus] +#define STM32_DAC_USE_DAC1_CH2 TRUE // [!code focus] +#undef STM32_GPT_USE_TIM6 // [!code focus] +#define STM32_GPT_USE_TIM6 TRUE // [!code focus] ``` +::: ### DAC Config @@ -170,19 +180,25 @@ This driver uses the ChibiOS-PWM system to produce a square-wave on specific out The hardware directly toggles the pin via its alternate function. See your MCU's data-sheet for which pin can be driven by what timer - looking for TIMx_CHy and the corresponding alternate function. A configuration example for the STM32F103C8 would be: -```c -//halconf.h: -#define HAL_USE_PWM TRUE -#define HAL_USE_PAL TRUE + +::: code-group +```c [halconf.h] +#pragma once + +#define HAL_USE_PWM TRUE // [!code focus] +#define HAL_USE_PAL TRUE // [!code focus] + #include_next ``` +```c [mcuconf.h] +#pragma once -```c -// mcuconf.h: #include_next -#undef STM32_PWM_USE_TIM1 -#define STM32_PWM_USE_TIM1 TRUE + +#undef STM32_PWM_USE_TIM1 // [!code focus] +#define STM32_PWM_USE_TIM1 TRUE // [!code focus] ``` +::: If we now target pin A8, looking through the data-sheet of the STM32F103C8, for the timers and alternate functions - TIM1_CH1 = PA8 <- alternate0 diff --git a/docs/drivers/i2c.md b/docs/drivers/i2c.md index 10949ed59e0..c806a090c56 100644 --- a/docs/drivers/i2c.md +++ b/docs/drivers/i2c.md @@ -54,18 +54,25 @@ The ATmega16/32U2 does not possess I2C functionality, and so cannot use this dri You'll need to determine which pins can be used for I2C -- a an example, STM32 parts generally have multiple I2C peripherals, labeled I2C1, I2C2, I2C3 etc. -To enable I2C, modify your board's `halconf.h` to enable I2C: +To enable I2C, modify your board's `halconf.h` to enable I2C, then modify your board's `mcuconf.h` to enable the peripheral you've chosen: -```c -#define HAL_USE_I2C TRUE +::: code-group +```c [halconf.h] +#pragma once + +#define HAL_USE_I2C TRUE // [!code focus] + +#include_next ``` +```c [mcuconf.h] +#pragma once -Then, modify your board's `mcuconf.h` to enable the peripheral you've chosen, for example: +#include_next -```c -#undef STM32_I2C_USE_I2C2 -#define STM32_I2C_USE_I2C2 TRUE +#undef STM32_I2C_USE_I2C2 // [!code focus] +#define STM32_I2C_USE_I2C2 TRUE // [!code focus] ``` +::: |`mcuconf.h` Setting |Description |Default| |----------------------------|----------------------------------------------------------------------------------|-------| diff --git a/docs/drivers/serial.md b/docs/drivers/serial.md index 75d11bc93bc..dda75f629a2 100644 --- a/docs/drivers/serial.md +++ b/docs/drivers/serial.md @@ -12,8 +12,6 @@ The Serial driver powers the [Split Keyboard](../features/split_keyboard) featur Serial in this context should be read as **sending information one bit at a time**, rather than implementing UART/USART/RS485/RS232 standards. ::: -
- ## Bitbang This is the Default driver, absence of configuration assumes this driver. It works by [bit banging](https://en.wikipedia.org/wiki/Bit_banging) a GPIO pin using the CPU. It is therefore not as efficient as a dedicated hardware peripheral, which the Half-duplex and Full-duplex drivers use. @@ -53,11 +51,15 @@ SERIAL_DRIVER = bitbang #define SOFT_SERIAL_PIN D0 // or D1, D2, D3, E6 ``` -3. On ARM platforms you must turn on ChibiOS `PAL_USE_CALLBACKS` feature: +3. On ARM platforms you must turn on ChibiOS PAL callbacks: -* In `halconf.h` add the line `#define PAL_USE_CALLBACKS TRUE`. +```c +#pragma once -
+#define PAL_USE_CALLBACKS TRUE // [!code focus] + +#include_next +``` ## USART Half-duplex @@ -117,8 +119,6 @@ For STM32 MCUs several GPIO configuration options can be changed as well. See th 4. Decide either for `SERIAL`, `SIO`, or `PIO` subsystem. See section ["Choosing a driver subsystem"](#choosing-a-driver-subsystem). -
- ## USART Full-duplex Targeting ARM boards based on ChibiOS where communication is offloaded to an USART hardware device. The advantages over bitbanging are fast, accurate timings and reduced CPU usage; therefore it is advised to choose this driver over all others where possible. Due to its internal design Full-duplex is slightly more efficient than the Half-duplex driver, but Full-duplex should be primarily chosen if Half-duplex operation is not supported by the controller's USART peripheral. @@ -179,38 +179,46 @@ For STM32 MCUs several GPIO configuration options, including the ability for `TX 4. Decide either for `SERIAL`, `SIO`, or `PIO` subsystem. See section ["Choosing a driver subsystem"](#choosing-a-driver-subsystem). -
- ## Choosing a driver subsystem ### The `SERIAL` driver The `SERIAL` Subsystem is supported for the majority of ChibiOS MCUs and should be used whenever supported. Follow these steps in order to activate it: -1. In your keyboards `halconf.h` add: +1. Enable the SERIAL subsystem in the ChibiOS HAL. -```c -#define HAL_USE_SERIAL TRUE -``` + Add the following to your keyboard's `halconf.h`, creating it if necessary: -2. In your keyboards `mcuconf.h`: activate the USART peripheral that is used on your MCU. The shown example is for an STM32 MCU, so this will not work on MCUs by other manufacturers. You can find the correct names in the `mcuconf.h` files of your MCU that ship with ChibiOS. - -Just below `#include_next ` add: + ```c + #pragma once -```c -#include_next + #define HAL_USE_SERIAL TRUE // [!code focus] -#undef STM32_SERIAL_USE_USARTn -#define STM32_SERIAL_USE_USARTn TRUE -``` + #include_next + ``` -Where 'n' matches the peripheral number of your selected USART on the MCU. +2. Activate the USART peripheral that is used on your MCU. The shown example is for an STM32 MCU, so this will not work on MCUs by other manufacturers. You can find the correct names in the `mcuconf.h` files of your MCU that ship with ChibiOS. -3. In you keyboards `config.h`: override the default USART `SERIAL` driver if you use a USART peripheral that does not belong to the default selected `SD1` driver. For instance, if you selected `STM32_SERIAL_USE_USART3` the matching driver would be `SD3`. + Add the following to your keyboard's `mcuconf.h`, creating it if necessary: -```c - #define SERIAL_USART_DRIVER SD3 - ``` + ```c + #pragma once + + #include_next + + #undef STM32_SERIAL_USE_USARTn // [!code focus] + #define STM32_SERIAL_USE_USARTn TRUE // [!code focus] + ``` + + Where *n* matches the peripheral number of your selected USART on the MCU. + +3. Override the default USART `SERIAL` driver if you use a USART peripheral that does not belong to the default selected `SD1` driver. For instance, if you selected `STM32_SERIAL_USE_USART3` the matching driver would be `SD3`. + + Add the following to your keyboard's `config.h`: + + ```c + #define SERIAL_USART_DRIVER SD3 + ``` ### The `SIO` driver @@ -218,31 +226,41 @@ The `SIO` Subsystem was added to ChibiOS with the 21.11 release and is only supp Follow these steps in order to activate it: -1. In your keyboards `halconf.h` add: +1. Enable the SIO subsystem in the ChibiOS HAL. -```c -#define HAL_USE_SIO TRUE -``` + Add the following to your keyboard's `halconf.h`, creating it if necessary: -2. In your keyboards `mcuconf.h:` activate the USART peripheral that is used on your MCU. The shown example is for an STM32 MCU, so this will not work on MCUs by other manufacturers. You can find the correct names in the `mcuconf.h` files of your MCU that ship with ChibiOS. - -Just below `#include_next ` add: + ```c + #pragma once -```c -#include_next + #define HAL_USE_SIO TRUE // [!code focus] -#undef STM32_SIO_USE_USARTn -#define STM32_SIO_USE_USARTn TRUE -``` + #include_next + ``` -Where 'n' matches the peripheral number of your selected USART on the MCU. +2. Activate the USART peripheral that is used on your MCU. The shown example is for an STM32 MCU, so this will not work on MCUs by other manufacturers. You can find the correct names in the `mcuconf.h` files of your MCU that ship with ChibiOS. -3. In the keyboard's `config.h` file: override the default USART `SIO` driver if you use a USART peripheral that does not belong to the default selected `SIOD1` driver. For instance, if you selected `STM32_SERIAL_USE_USART3` the matching driver would be `SIOD3`. + Add the following to your keyboard's `mcuconf.h`, creating it if necessary: + + ```c + #pragma once + + #include_next + + #undef STM32_SIO_USE_USARTn // [!code focus] + #define STM32_SIO_USE_USARTn TRUE // [!code focus] + ``` + + Where *n* matches the peripheral number of your selected USART on the MCU. + +3. Override the default USART `SIO` driver if you use a USART peripheral that does not belong to the default selected `SIOD1` driver. For instance, if you selected `STM32_SERIAL_USE_USART3` the matching driver would be `SIOD3`. + + Add the following to your keyboard's `config.h`: + + ```c + #define SERIAL_USART_DRIVER SIOD3 + ``` -```c - #define SERIAL_USART_DRIVER SIOD3 - ``` - ### The `PIO` driver The `PIO` subsystem is a Raspberry Pi RP2040 specific implementation, using an integrated PIO peripheral and is therefore only available on this MCU. Because of the flexible nature of PIO peripherals, **any** GPIO pin can be used as a `TX` or `RX` pin. Half-duplex and Full-duplex operation modes are fully supported with this driver. Half-duplex uses the built-in pull-ups and GPIO manipulation of the RP2040 to drive the line high by default, thus an external pull-up resistor **is not required**. @@ -254,8 +272,6 @@ Optionally, the PIO peripheral utilized for split communication can be changed w The Serial PIO program uses 2 state machines, 13 instructions and the complete interrupt handler of the PIO peripheral it is running on. -
- ## Advanced Configuration There are several advanced configuration options that can be defined in your keyboards `config.h` file: @@ -265,9 +281,11 @@ There are several advanced configuration options that can be defined in your key If you're having issues or need a higher baudrate with serial communication, you can change the baudrate which in turn controls the communication speed for serial. You want to lower the baudrate if you experience failed transactions. ```c -#define SELECT_SOFT_SERIAL_SPEED {#} +#define SELECT_SOFT_SERIAL_SPEED n ``` +Where *n* is one of: + | Speed | Bitbang | Half-duplex and Full-duplex | | ----- | -------------------------- | --------------------------- | | `0` | 189000 baud (experimental) | 460800 baud | @@ -287,8 +305,6 @@ This is the default time window in milliseconds in which a successful communicat #define SERIAL_USART_TIMEOUT 20 // USART driver timeout. default 20 ``` -
- ## Troubleshooting If you're having issues withe serial communication, you can enable debug messages that will give you insights which part of the communication failed. The enable these messages add to your keyboards `config.h` file: diff --git a/docs/drivers/spi.md b/docs/drivers/spi.md index ddc35de8511..43d2a056d5d 100644 --- a/docs/drivers/spi.md +++ b/docs/drivers/spi.md @@ -32,20 +32,27 @@ You may use more than one slave select pin, not just the `SS` pin. This is usefu You'll need to determine which pins can be used for SPI -- as an example, STM32 parts generally have multiple SPI peripherals, labeled SPI1, SPI2, SPI3 etc. -To enable SPI, modify your board's `halconf.h` to enable SPI: +To enable SPI, modify your board's `halconf.h` to enable SPI, then modify your board's `mcuconf.h` to enable the peripheral you've chosen: -```c -#define HAL_USE_SPI TRUE -#define SPI_USE_WAIT TRUE -#define SPI_SELECT_MODE SPI_SELECT_MODE_PAD +::: code-group +```c [halconf.h] +#pragma once + +#define HAL_USE_SPI TRUE // [!code focus] +#define SPI_USE_WAIT TRUE // [!code focus] +#define SPI_SELECT_MODE SPI_SELECT_MODE_PAD // [!code focus] + +#include_next ``` +```c [mcuconf.h] +#pragma once -Then, modify your board's `mcuconf.h` to enable the peripheral you've chosen, for example: +#include_next -```c -#undef STM32_SPI_USE_SPI2 -#define STM32_SPI_USE_SPI2 TRUE +#undef STM32_SPI_USE_SPI2 // [!code focus] +#define STM32_SPI_USE_SPI2 TRUE // [!code focus] ``` +::: Configuration-wise, you'll need to set up the peripheral as per your MCU's datasheet -- the defaults match the pins for a Proton-C, i.e. STM32F303. diff --git a/docs/drivers/uart.md b/docs/drivers/uart.md index 23f5b3d6e43..7cc68727eec 100644 --- a/docs/drivers/uart.md +++ b/docs/drivers/uart.md @@ -35,8 +35,12 @@ You'll need to determine which pins can be used for UART -- as an example, STM32 To enable UART, modify your board's `mcuconf.h` to enable the peripheral you've chosen, for example: ```c -#undef STM32_SERIAL_USE_USART2 -#define STM32_SERIAL_USE_USART2 TRUE +#pragma once + +#include_next + +#undef STM32_SERIAL_USE_USART2 // [!code focus] +#define STM32_SERIAL_USE_USART2 TRUE // [!code focus] ``` Configuration-wise, you'll need to set up the peripheral as per your MCU's datasheet -- the defaults match the pins for a Proton-C, i.e. STM32F303. diff --git a/docs/drivers/ws2812.md b/docs/drivers/ws2812.md index 61addf1917e..88c096794f2 100644 --- a/docs/drivers/ws2812.md +++ b/docs/drivers/ws2812.md @@ -160,15 +160,23 @@ To configure the DI pin for open drain configuration, add the following to your Depending on the ChibiOS board configuration, you may need to enable SPI at the keyboard level. For STM32, this would look like: -`halconf.h`: -```c -#define HAL_USE_SPI TRUE +::: code-group +```c [halconf.h] +#pragma once + +#define HAL_USE_SPI TRUE // [!code focus] + +#include_next ``` -`mcuconf.h`: -```c -#undef STM32_SPI_USE_SPI1 -#define STM32_SPI_USE_SPI1 TRUE +```c [mcuconf.h] +#pragma once + +#include_next + +#undef STM32_SPI_USE_SPI1 // [!code focus] +#define STM32_SPI_USE_SPI1 TRUE // [!code focus] ``` +::: The following `define`s apply only to the `spi` driver: @@ -213,15 +221,23 @@ The following `#define`s apply only to the PIO driver: Depending on the ChibiOS board configuration, you may need to enable PWM at the keyboard level. For STM32, this would look like: -`halconf.h`: -```c -#define HAL_USE_PWM TRUE +::: code-group +```c [halconf.h] +#pragma once + +#define HAL_USE_PWM TRUE // [!code focus] + +#include_next ``` -`mcuconf.h`: -```c -#undef STM32_PWM_USE_TIM2 -#define STM32_PWM_USE_TIM2 TRUE +```c [mcuconf.h] +#pragma once + +#include_next + +#undef STM32_PWM_USE_TIM2 // [!code focus] +#define STM32_PWM_USE_TIM2 TRUE // [!code focus] ``` +::: The following `#define`s apply only to the `pwm` driver: diff --git a/docs/features/backlight.md b/docs/features/backlight.md index 94726756fdb..20f84ac6b59 100644 --- a/docs/features/backlight.md +++ b/docs/features/backlight.md @@ -161,15 +161,23 @@ Note that the choice of timer may conflict with the [Audio](audio) feature. Depending on the ChibiOS board configuration, you may need to enable PWM at the keyboard level. For STM32, this would look like: -`halconf.h`: -```c -#define HAL_USE_PWM TRUE +::: code-group +```c [halconf.h] +#pragma once + +#define HAL_USE_PWM TRUE // [!code focus] + +#include_next ``` -`mcuconf.h`: -```c -#undef STM32_PWM_USE_TIM4 -#define STM32_PWM_USE_TIM4 TRUE +```c [mcuconf.h] +#pragma once + +#include_next + +#undef STM32_PWM_USE_TIM4 // [!code focus] +#define STM32_PWM_USE_TIM4 TRUE // [!code focus] ``` +::: The following `#define`s apply only to the `pwm` driver: @@ -187,15 +195,23 @@ Refer to the ST datasheet for your particular MCU to determine these values. For Depending on the ChibiOS board configuration, you may need to enable general-purpose timers at the keyboard level. For STM32, this would look like: -`halconf.h`: -```c -#define HAL_USE_GPT TRUE +::: code-group +```c [halconf.h] +#pragma once + +#define HAL_USE_GPT TRUE // [!code focus] + +#include_next ``` -`mcuconf.h`: -```c -#undef STM32_GPT_USE_TIM15 -#define STM32_GPT_USE_TIM15 TRUE +```c [mcuconf.h] +#pragma once + +#include_next + +#undef STM32_GPT_USE_TIM15 // [!code focus] +#define STM32_GPT_USE_TIM15 TRUE // [!code focus] ``` +::: The following `#define`s apply only to the `timer` driver: diff --git a/docs/features/ps2_mouse.md b/docs/features/ps2_mouse.md index 90f4cca8275..52443c3ce29 100644 --- a/docs/features/ps2_mouse.md +++ b/docs/features/ps2_mouse.md @@ -90,18 +90,22 @@ PS2_ENABLE = yes PS2_DRIVER = interrupt ``` -In your keyboard config.h: +In your keyboard `config.h`: ```c #define PS2_CLOCK_PIN A8 #define PS2_DATA_PIN A9 ``` -And in the chibios specifig halconf.h: -```c -#define PAL_USE_CALLBACKS TRUE -``` +And in the ChibiOS specific `halconf.h`: +```c +#pragma once + +#define PAL_USE_CALLBACKS TRUE // [!code focus] + +#include_next +``` ### USART Version {#usart-version} From f4e58eeff4a19bf1e2c38ed860193e455fe8703f Mon Sep 17 00:00:00 2001 From: Amund Tenstad Date: Fri, 15 Nov 2024 19:15:48 +0100 Subject: [PATCH 119/124] docs: move description of host_language from Macros to Language-specific Keycodes (#24584) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-authored-by: フィルターペーパー <76888457+filterpaper@users.noreply.github.com> Co-authored-by: Joel Challis Co-authored-by: Ryan --- docs/feature_macros.md | 33 +-------------------------------- docs/reference_keymap_extras.md | 26 ++++++++++++++++++++++++-- 2 files changed, 25 insertions(+), 34 deletions(-) diff --git a/docs/feature_macros.md b/docs/feature_macros.md index 055bb3ff8f7..b4e37a1ba96 100644 --- a/docs/feature_macros.md +++ b/docs/feature_macros.md @@ -42,38 +42,7 @@ You can define up to 32 macros in a `keymap.json` file, as used by [Configurator ### Selecting Your Host Keyboard Layout -If you type in a language other than English, or use a non-QWERTY layout like Colemak, Dvorak, or Workman, you may have set your computer's input language to match this layout. This presents a challenge when creating macros - you may need to type different keys to get the same letters! To address this you can add the `host_language` key to your `keymap.json`, like so: - -```json -{ - "keyboard": "handwired/my_macropad", - "keymap": "my_keymap", - "host_language": "dvorak", - "macros": [ - ["Hello, World!"] - ], - "layout": "LAYOUT_all", - "layers": [ - ["QK_MACRO_0"] - ] -} -``` - -The current list of available languages is: - -| belgian | bepo | br_abnt2 | canadian_multilingual | -|:-------:|:----:|:--------:|:---------------------:| -| **colemak** | **croatian** | **czech** | **danish** | -| **dvorak_fr** | **dvorak** | **dvp** | **estonian** | -| **finnish** | **fr_ch** | **french_afnor** | **french** | -| **french_osx** | **german_ch** | **german** | **german_osx** | -| **hungarian** | **icelandic** | **italian** | **italian_osx_ansi** | -| **italian_osx_iso** | **jis** | **latvian** | **lithuanian_azerty** | -| **lithuanian_qwerty** | **norman** | **norwegian** | **portuguese** | -| **portuguese_osx_iso** | **romanian** | **serbian_latin** | **slovak** | -| **slovenian** | **spanish_dvorak** | **spanish_latin_america** | **spanish** | -| **swedish** | **turkish_f** | **turkish_q** | **uk** | -| **us_international** | **workman** | **workman_zxcvm** | +If you type in a language other than English, or use a non-QWERTY layout like Colemak, Dvorak, or Workman, you may have set your computer's input language to match this layout. This presents a challenge when creating macros — you may need to type different keys to get the same letters! To address this you can use [language-specific keycodes](reference_keymap_extras). ### Macro Basics diff --git a/docs/reference_keymap_extras.md b/docs/reference_keymap_extras.md index d45183b6c6a..f6b4b8faf68 100644 --- a/docs/reference_keymap_extras.md +++ b/docs/reference_keymap_extras.md @@ -2,9 +2,31 @@ Keyboards are able to support a wide range of languages. However, this support is not actually achieved within the keyboard itself - instead, it sends numerical codes, which the operating system maps to the appropriate characters depending on the user's configured keyboard layout. By default (and per the HID spec), this is the US ANSI layout. For example, when a Swedish person presses the key with the `å` character printed on it, the keyboard is *actually* sending the keycode for `[`. -Obviously, this can get confusing, so QMK provides language-specific keycode aliases for many keyboard layouts. These won't do much on their own - you still have to set the matching keyboard layout in your OS settings. Think of them more as keycap labels for your keymap. +Obviously, this can get confusing, so QMK provides language-specific keycode aliases for many keyboard layouts. These are used in place of the `KC_` prefixed ones. They won't do much on their own - you still have to set the matching keyboard layout in your OS settings. Think of them more as keycap labels for your keymap. The language-specific keycode aliases are defined in the files listed in the [Keycodes Header](#header-files) column below. -Simply `#include` one of the keycode headers below at the top of your `keymap.c`, and assign the keycodes defined in the header in place of the `KC_` prefixed ones. +## Selecting Your Host Keyboard Layout + +To select a host keyboard layout, simply `#include` one of the [keycode headers](#header-files) below at the top of your `keymap.c`. Example: + +```c +#include QMK_KEYBOARD_H + +#include "keymap_japanese.h" // [!code focus] +``` + +Alternatively, if using `keymap.json`, add the `host_language` key as shown in the following example. The available languages are those with a _Sendstring LUT Header_ entry in one of the [Header Files](#header-files) tables. + +```json +{ + "keyboard": "handwired/my_macropad", + "keymap": "my_keymap", + "host_language": "swedish", // [!code focus] + "layout": "LAYOUT_all", + "layers": [ + ["SE_ARNG"] + ] +} +``` ## Sendstring Support From da34d652d40ea033b4173bafad6c164ecbd78971 Mon Sep 17 00:00:00 2001 From: Naoki Katahira Date: Sun, 17 Nov 2024 16:15:45 +0900 Subject: [PATCH 120/124] [Keyboard]Add Lily58 Lite Rev3(lily58/lite_rev3) (#24255) * add Lily58 Lite Rev3 Firmware * fix README * Update README * delete lite_rev3.h * Update keyboards/lily58/lite_rev3/halconf.h Co-authored-by: jack * Update keyboards/lily58/lite_rev3/config.h Co-authored-by: jack * Update keyboards/lily58/lite_rev3/keyboard.json Co-authored-by: jack * Update keyboards/lily58/lite_rev3/keyboard.json Co-authored-by: jack * Update keyboards/lily58/lite_rev3/mcuconf.h Co-authored-by: jack * fix image url * fix SERIAL_DRIVER definition * fix VIA_ENABLE definition disable * fix cols pin * Update keyboards/lily58/lite_rev3/config.h Co-authored-by: Drashna Jaelre * Update keyboards/lily58/lite_rev3/keyboard.json Co-authored-by: jack * delete rules.mk * Update README * Update keyboards/lily58/lite_rev3/readme.md --------- Co-authored-by: jack Co-authored-by: Drashna Jaelre --- keyboards/lily58/lite_rev3/config.h | 14 +++ keyboards/lily58/lite_rev3/halconf.h | 7 ++ keyboards/lily58/lite_rev3/keyboard.json | 104 +++++++++++++++++++++++ keyboards/lily58/lite_rev3/mcuconf.h | 11 +++ keyboards/lily58/lite_rev3/readme.md | 28 ++++++ 5 files changed, 164 insertions(+) create mode 100644 keyboards/lily58/lite_rev3/config.h create mode 100644 keyboards/lily58/lite_rev3/halconf.h create mode 100644 keyboards/lily58/lite_rev3/keyboard.json create mode 100644 keyboards/lily58/lite_rev3/mcuconf.h create mode 100644 keyboards/lily58/lite_rev3/readme.md diff --git a/keyboards/lily58/lite_rev3/config.h b/keyboards/lily58/lite_rev3/config.h new file mode 100644 index 00000000000..9d2d289f5bb --- /dev/null +++ b/keyboards/lily58/lite_rev3/config.h @@ -0,0 +1,14 @@ +// Copyright 2023 yuchi +// SPDX-License-Identifier: GPL-2.0-or-later + +#pragma once +#define RP2040_BOOTLOADER_DOUBLE_TAP_RESET +#define RP2040_BOOTLOADER_DOUBLE_TAP_RESET_TIMEOUT 500U + +#define SERIAL_USART_FULL_DUPLEX +#define SERIAL_USART_TX_PIN GP0 +#define SERIAL_USART_RX_PIN GP1 + +#define I2C_DRIVER I2CD1 +#define I2C1_SDA_PIN GP14 +#define I2C1_SCL_PIN GP15 diff --git a/keyboards/lily58/lite_rev3/halconf.h b/keyboards/lily58/lite_rev3/halconf.h new file mode 100644 index 00000000000..4639740d44e --- /dev/null +++ b/keyboards/lily58/lite_rev3/halconf.h @@ -0,0 +1,7 @@ +// Copyright 2024 QMK +// SPDX-License-Identifier: GPL-2.0-or-later +#pragma once + +#define HAL_USE_I2C TRUE + +#include_next \ No newline at end of file diff --git a/keyboards/lily58/lite_rev3/keyboard.json b/keyboards/lily58/lite_rev3/keyboard.json new file mode 100644 index 00000000000..2073c0661e5 --- /dev/null +++ b/keyboards/lily58/lite_rev3/keyboard.json @@ -0,0 +1,104 @@ +{ + "keyboard_name": "Lily58 Lite Rev3", + "manufacturer": "Liliums", + "maintainer": "yuchi", + "url": "", + "processor": "RP2040", + "bootloader": "rp2040", + "diode_direction": "COL2ROW", + "usb": { + "vid": "0x1209", + "pid": "0x5801", + "device_version": "1.0.0" + }, + "split": { + "enabled": true, + "serial": { + "driver": "vendor" + } + }, + "matrix_pins": { + "cols": ["GP8", "GP7", "GP6", "GP5", "GP4", "GP3"], + "rows": ["GP13", "GP12", "GP11", "GP10", "GP9"] + }, + "features": { + "oled": true, + "bootmagic": true, + "extrakey": true, + "mousekey": true, + "nkro": true + }, + "layouts": { + "LAYOUT": { + "layout": [ + {"matrix": [0, 0], "x": 0, "y": 0.5}, + {"matrix": [0, 1], "x": 1, "y": 0.375}, + {"matrix": [0, 2], "x": 2, "y": 0.125}, + {"matrix": [0, 3], "x": 3, "y": 0}, + {"matrix": [0, 4], "x": 4, "y": 0.125}, + {"matrix": [0, 5], "x": 5, "y": 0.25}, + + {"matrix": [5, 5], "x": 10.5, "y": 0.25}, + {"matrix": [5, 4], "x": 11.5, "y": 0.125}, + {"matrix": [5, 3], "x": 12.5, "y": 0}, + {"matrix": [5, 2], "x": 13.5, "y": 0.125}, + {"matrix": [5, 1], "x": 14.5, "y": 0.375}, + {"matrix": [5, 0], "x": 15.5, "y": 0.5}, + + {"matrix": [1, 0], "x": 0, "y": 1.5}, + {"matrix": [1, 1], "x": 1, "y": 1.375}, + {"matrix": [1, 2], "x": 2, "y": 1.125}, + {"matrix": [1, 3], "x": 3, "y": 1}, + {"matrix": [1, 4], "x": 4, "y": 1.125}, + {"matrix": [1, 5], "x": 5, "y": 1.25}, + + {"matrix": [6, 5], "x": 10.5, "y": 1.25}, + {"matrix": [6, 4], "x": 11.5, "y": 1.125}, + {"matrix": [6, 3], "x": 12.5, "y": 1}, + {"matrix": [6, 2], "x": 13.5, "y": 1.125}, + {"matrix": [6, 1], "x": 14.5, "y": 1.375}, + {"matrix": [6, 0], "x": 15.5, "y": 1.5}, + + {"matrix": [2, 0], "x": 0, "y": 2.5}, + {"matrix": [2, 1], "x": 1, "y": 2.375}, + {"matrix": [2, 2], "x": 2, "y": 2.125}, + {"matrix": [2, 3], "x": 3, "y": 2}, + {"matrix": [2, 4], "x": 4, "y": 2.125}, + {"matrix": [2, 5], "x": 5, "y": 2.25}, + + {"matrix": [7, 5], "x": 10.5, "y": 2.25}, + {"matrix": [7, 4], "x": 11.5, "y": 2.125}, + {"matrix": [7, 3], "x": 12.5, "y": 2}, + {"matrix": [7, 2], "x": 13.5, "y": 2.125}, + {"matrix": [7, 1], "x": 14.5, "y": 2.375}, + {"matrix": [7, 0], "x": 15.5, "y": 2.5}, + + {"matrix": [3, 0], "x": 0, "y": 3.5}, + {"matrix": [3, 1], "x": 1, "y": 3.375}, + {"matrix": [3, 2], "x": 2, "y": 3.125}, + {"matrix": [3, 3], "x": 3, "y": 3}, + {"matrix": [3, 4], "x": 4, "y": 3.125}, + {"matrix": [3, 5], "x": 5, "y": 3.25}, + {"matrix": [4, 5], "x": 6, "y": 2.75}, + + {"matrix": [9, 5], "x": 9.5, "y": 2.75}, + {"matrix": [8, 5], "x": 10.5, "y": 3.25}, + {"matrix": [8, 4], "x": 11.5, "y": 3.125}, + {"matrix": [8, 3], "x": 12.5, "y": 3}, + {"matrix": [8, 2], "x": 13.5, "y": 3.125}, + {"matrix": [8, 1], "x": 14.5, "y": 3.375}, + {"matrix": [8, 0], "x": 15.5, "y": 3.5}, + + {"matrix": [4, 1], "x": 2.5, "y": 4.125}, + {"matrix": [4, 2], "x": 3.5, "y": 4.15}, + {"matrix": [4, 3], "x": 4.5, "y": 4.25}, + {"matrix": [4, 4], "x": 6, "y": 4.25, "h": 1.5}, + + {"matrix": [9, 4], "x": 9.5, "y": 4.25, "h": 1.5}, + {"matrix": [9, 3], "x": 11, "y": 4.25}, + {"matrix": [9, 2], "x": 12, "y": 4.15}, + {"matrix": [9, 1], "x": 13, "y": 4.15} + ] + } + } +} diff --git a/keyboards/lily58/lite_rev3/mcuconf.h b/keyboards/lily58/lite_rev3/mcuconf.h new file mode 100644 index 00000000000..432c72853ac --- /dev/null +++ b/keyboards/lily58/lite_rev3/mcuconf.h @@ -0,0 +1,11 @@ +// Copyright 2024 QMK +// SPDX-License-Identifier: GPL-2.0-or-later +#pragma once + +#include_next + +#undef RP_I2C_USE_I2C0 +#define RP_I2C_USE_I2C0 FALSE + +#undef RP_I2C_USE_I2C1 +#define RP_I2C_USE_I2C1 TRUE diff --git a/keyboards/lily58/lite_rev3/readme.md b/keyboards/lily58/lite_rev3/readme.md new file mode 100644 index 00000000000..54ce6229d1b --- /dev/null +++ b/keyboards/lily58/lite_rev3/readme.md @@ -0,0 +1,28 @@ +# Lily58 Lite Rev3 + +![lily58_lite](https://i.imgur.com/RCx5Xym.jpeg) +![lily58_lite_rev3_pcb](https://i.imgur.com/rIjVjCE.png) + + +* Keyboard Maintainer: [yuchi](https://github.com/kata0510) +* Hardware Supported: RP2040-Zero +* Hardware Availability: [PCB Link](https://github.com/kata0510/Lily58/tree/master/Lite_Rev3) +* Other Information(ja) [Link](https://docs.liliums.net/lily58-lite-rev3/about/) + +Make example for this keyboard (after setting up your build environment): + + make lily58/lite_rev3:default + +Flashing example for this keyboard: + + make lily58/lite_rev3: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 3a6df60ba5ed64a473003aeca85f4cfc0c01c193 Mon Sep 17 00:00:00 2001 From: Amund Tenstad Date: Sun, 17 Nov 2024 16:05:57 +0100 Subject: [PATCH 121/124] docs: fix RWIN alias (#24610) --- docs/feature_advanced_keycodes.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/feature_advanced_keycodes.md b/docs/feature_advanced_keycodes.md index 7f5a10d1c13..18740044f43 100644 --- a/docs/feature_advanced_keycodes.md +++ b/docs/feature_advanced_keycodes.md @@ -11,7 +11,7 @@ These allow you to combine a modifier with a keycode. When pressed, the keydown |`RCTL(kc)`| |Hold Right Control and press `kc` | |`RSFT(kc)`| |Hold Right Shift and press `kc` | |`RALT(kc)`|`ROPT(kc)`, `ALGR(kc)` |Hold Right Alt and press `kc` | -|`RGUI(kc)`|`RCMD(kc)`, `LWIN(kc)` |Hold Right GUI and press `kc` | +|`RGUI(kc)`|`RCMD(kc)`, `RWIN(kc)` |Hold Right GUI and press `kc` | |`LSG(kc)` |`SGUI(kc)`, `SCMD(kc)`, `SWIN(kc)`|Hold Left Shift and GUI and press `kc` | |`LAG(kc)` | |Hold Left Alt and Left GUI and press `kc` | |`RSG(kc)` | |Hold Right Shift and Right GUI and press `kc` | From 0988523851236da07c68e7683261ca8464df5b3a Mon Sep 17 00:00:00 2001 From: russell-myers1 <124931768+russell-myers1@users.noreply.github.com> Date: Tue, 19 Nov 2024 12:37:39 -0800 Subject: [PATCH 122/124] Fix typo in docs/api_development_overview.md (#24620) --- docs/api_development_overview.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/api_development_overview.md b/docs/api_development_overview.md index e55d0341006..eb164bec525 100644 --- a/docs/api_development_overview.md +++ b/docs/api_development_overview.md @@ -4,7 +4,7 @@ This page attempts to introduce developers to the QMK Compiler. It does not go i # Overview -The QMK Compile API consists of a few movings parts: +The QMK Compile API consists of a few moving parts: ![Architecture Diagram](https://raw.githubusercontent.com/qmk/qmk_api/master/docs/architecture.svg) From c843ad1268863849f84dead17c3cea57800879df Mon Sep 17 00:00:00 2001 From: Nick Brassel Date: Wed, 20 Nov 2024 08:59:07 +1100 Subject: [PATCH 123/124] Add Sagittarius encoder support. (#24617) --- .../cannonkeys/sagittarius/keyboard.json | 8 ++++ .../sagittarius/keymaps/default/keymap.c | 7 ++++ .../sagittarius/keymaps/default/rules.mk | 2 + .../cannonkeys/sagittarius/sagittarius.c | 40 +++++++++++++++++++ 4 files changed, 57 insertions(+) create mode 100644 keyboards/cannonkeys/sagittarius/keymaps/default/rules.mk create mode 100644 keyboards/cannonkeys/sagittarius/sagittarius.c diff --git a/keyboards/cannonkeys/sagittarius/keyboard.json b/keyboards/cannonkeys/sagittarius/keyboard.json index 8f83a42984b..e64268ab53a 100644 --- a/keyboards/cannonkeys/sagittarius/keyboard.json +++ b/keyboards/cannonkeys/sagittarius/keyboard.json @@ -60,6 +60,14 @@ "resync": true } }, + "encoder": { + "rotary": [ + {"pin_a": "B12", "pin_b": "B11", "resolution": 2}, + {"pin_a": "B12", "pin_b": "B11", "resolution": 2}, + {"pin_a": "B12", "pin_b": "B11", "resolution": 2}, + {"pin_a": "B12", "pin_b": "B11", "resolution": 2} + ] + }, "layouts": { "LAYOUT_default": { "layout": [ diff --git a/keyboards/cannonkeys/sagittarius/keymaps/default/keymap.c b/keyboards/cannonkeys/sagittarius/keymaps/default/keymap.c index 093895bb99f..a97574c7745 100644 --- a/keyboards/cannonkeys/sagittarius/keymaps/default/keymap.c +++ b/keyboards/cannonkeys/sagittarius/keymaps/default/keymap.c @@ -44,3 +44,10 @@ 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 ) }; + +#if defined(ENCODER_MAP_ENABLE) +const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][NUM_DIRECTIONS] = { + [0] = { ENCODER_CCW_CW(KC_MS_WH_UP, KC_MS_WH_DOWN), ENCODER_CCW_CW(KC_VOLD, KC_VOLU), ENCODER_CCW_CW(UG_HUED, UG_HUEU), ENCODER_CCW_CW(UG_SATD, UG_SATU) }, + [1] = { ENCODER_CCW_CW(UG_VALD, UG_VALU), ENCODER_CCW_CW(UG_SPDD, UG_SPDU), ENCODER_CCW_CW(UG_PREV, UG_NEXT), ENCODER_CCW_CW(KC_RIGHT, KC_LEFT) }, +}; +#endif diff --git a/keyboards/cannonkeys/sagittarius/keymaps/default/rules.mk b/keyboards/cannonkeys/sagittarius/keymaps/default/rules.mk new file mode 100644 index 00000000000..376fe3d8dcd --- /dev/null +++ b/keyboards/cannonkeys/sagittarius/keymaps/default/rules.mk @@ -0,0 +1,2 @@ +ENCODER_ENABLE = yes +ENCODER_MAP_ENABLE = yes diff --git a/keyboards/cannonkeys/sagittarius/sagittarius.c b/keyboards/cannonkeys/sagittarius/sagittarius.c new file mode 100644 index 00000000000..1000f7dd43a --- /dev/null +++ b/keyboards/cannonkeys/sagittarius/sagittarius.c @@ -0,0 +1,40 @@ +// Copyright 2024 Nick Brassel (@tzarc) +// SPDX-License-Identifier: GPL-2.0-or-later +#include QMK_KEYBOARD_H + +#if defined(ENCODER_ENABLE) || defined(ENCODER_MAP_ENABLE) + +# if !defined(ENCODER_SETTLE_PIN_STATE_DELAY_US) +# define ENCODER_SETTLE_PIN_STATE_DELAY_US 2 +# endif + +static pin_t matrix_row_pins[MATRIX_ROWS] = MATRIX_ROW_PINS; + +void encoder_driver_task(void) { + // Set all relevant rows to output, which is different to the matrix expectations + for (uint8_t i = 0; i < 4; i++) { + gpio_set_pin_output(matrix_row_pins[i]); + } + + // Read each encoder + for (uint8_t i = 0; i < 4; i++) { + // Set the row pin low for the corresponding encoder... + for (uint8_t j = 0; j < 4; j++) { + gpio_write_pin(matrix_row_pins[j], (i == j) ? 0 : 1); + } + // ...and let them settle. + wait_us(ENCODER_SETTLE_PIN_STATE_DELAY_US); + + // Run the normal encoder handling + extern void encoder_quadrature_handle_read(uint8_t index, uint8_t pin_a_state, uint8_t pin_b_state); + extern uint8_t encoder_quadrature_read_pin(uint8_t index, bool pad_b); + encoder_quadrature_handle_read(i, encoder_quadrature_read_pin(i, false), encoder_quadrature_read_pin(i, true)); + } + + // Set all rows back to input-high as per matrix expectations + for (uint8_t i = 0; i < 4; i++) { + gpio_set_pin_input_high(matrix_row_pins[i]); + } +} + +#endif // defined(ENCODER_ENABLE) || defined(ENCODER_MAP_ENABLE) From 9c865839819bf9ec3ed573354a53bcbe905080f7 Mon Sep 17 00:00:00 2001 From: Ryan Date: Wed, 20 Nov 2024 09:53:33 +1100 Subject: [PATCH 124/124] Backward compatibility for new RGB keycode handling (#24490) Co-authored-by: Dasky <32983009+daskygit@users.noreply.github.com> --- builddefs/common_features.mk | 4 + docs/features/rgblight.md | 4 + keyboards/inett_studio/sqx/hotswap/config.h | 2 + keyboards/inett_studio/sqx/universal/config.h | 2 + .../kprepublic/bm60hsrgb_ec/rev2/config.h | 2 + keyboards/kprepublic/bm68hsrgb/rev2/config.h | 2 + .../mechlovin/adelais/rgb_led/rev2/config.h | 2 + keyboards/mechlovin/hannah60rgb/rev2/config.h | 2 + keyboards/owlab/voice65/hotswap/config.h | 2 + keyboards/owlab/voice65/soldered/config.h | 2 + keyboards/qwertykeys/qk100/ansi/config.h | 2 + keyboards/work_louder/loop/config.h | 2 + keyboards/work_louder/micro/config.h | 2 + keyboards/work_louder/nano/config.h | 2 + keyboards/work_louder/numpad/config.h | 2 + keyboards/work_louder/work_board/config.h | 2 + quantum/process_keycode/process_underglow.c | 119 +++++++++++++++++- quantum/quantum.c | 4 +- 18 files changed, 154 insertions(+), 5 deletions(-) diff --git a/builddefs/common_features.mk b/builddefs/common_features.mk index 2eb7056b6f6..f5b01de015d 100644 --- a/builddefs/common_features.mk +++ b/builddefs/common_features.mk @@ -456,6 +456,10 @@ ifeq ($(strip $(RGB_MATRIX_ENABLE)), yes) COMMON_VPATH += $(QUANTUM_DIR)/rgb_matrix/animations COMMON_VPATH += $(QUANTUM_DIR)/rgb_matrix/animations/runners POST_CONFIG_H += $(QUANTUM_DIR)/rgb_matrix/post_config.h + + # TODO: Remove this + SRC += $(QUANTUM_DIR)/process_keycode/process_underglow.c + SRC += $(QUANTUM_DIR)/process_keycode/process_rgb_matrix.c SRC += $(QUANTUM_DIR)/color.c SRC += $(QUANTUM_DIR)/rgb_matrix/rgb_matrix.c diff --git a/docs/features/rgblight.md b/docs/features/rgblight.md index 2afc2eb7d09..4322fe796e7 100644 --- a/docs/features/rgblight.md +++ b/docs/features/rgblight.md @@ -59,6 +59,10 @@ Changing the **Value** sets the overall brightness.
## Keycodes +::: warning +These keycodes also simultaneously control [RGB Matrix](rgb_matrix), if enabled. This behaviour is in the process of being deprecated, so during this time it is recommended to additionally include the dedicated RGB Matrix keycodes to your keymap, and add `#define RGB_MATRIX_DISABLE_SHARED_KEYCODES` to `config.h`. +::: + |Key |Aliases |Description | |------------------------------|----------|---------------------------------------------------------------------| |`QK_UNDERGLOW_TOGGLE` |`UG_TOGG` |Toggle RGB lighting on or off | diff --git a/keyboards/inett_studio/sqx/hotswap/config.h b/keyboards/inett_studio/sqx/hotswap/config.h index 4172a72379f..22d2e739cbb 100644 --- a/keyboards/inett_studio/sqx/hotswap/config.h +++ b/keyboards/inett_studio/sqx/hotswap/config.h @@ -20,3 +20,5 @@ #define IS31FL3731_I2C_ADDRESS_1 IS31FL3731_I2C_ADDRESS_GND #define IS31FL3731_I2C_ADDRESS_2 IS31FL3731_I2C_ADDRESS_VCC + +#define RGB_MATRIX_DISABLE_SHARED_KEYCODES diff --git a/keyboards/inett_studio/sqx/universal/config.h b/keyboards/inett_studio/sqx/universal/config.h index 4172a72379f..22d2e739cbb 100644 --- a/keyboards/inett_studio/sqx/universal/config.h +++ b/keyboards/inett_studio/sqx/universal/config.h @@ -20,3 +20,5 @@ #define IS31FL3731_I2C_ADDRESS_1 IS31FL3731_I2C_ADDRESS_GND #define IS31FL3731_I2C_ADDRESS_2 IS31FL3731_I2C_ADDRESS_VCC + +#define RGB_MATRIX_DISABLE_SHARED_KEYCODES diff --git a/keyboards/kprepublic/bm60hsrgb_ec/rev2/config.h b/keyboards/kprepublic/bm60hsrgb_ec/rev2/config.h index b58434efece..ddb8a2525ff 100644 --- a/keyboards/kprepublic/bm60hsrgb_ec/rev2/config.h +++ b/keyboards/kprepublic/bm60hsrgb_ec/rev2/config.h @@ -16,3 +16,5 @@ #pragma once #define IS31FL3733_I2C_ADDRESS_1 IS31FL3733_I2C_ADDRESS_GND_GND + +#define RGB_MATRIX_DISABLE_SHARED_KEYCODES diff --git a/keyboards/kprepublic/bm68hsrgb/rev2/config.h b/keyboards/kprepublic/bm68hsrgb/rev2/config.h index f35697b992e..026cbdcdca0 100644 --- a/keyboards/kprepublic/bm68hsrgb/rev2/config.h +++ b/keyboards/kprepublic/bm68hsrgb/rev2/config.h @@ -17,3 +17,5 @@ #pragma once #define IS31FL3741_I2C_ADDRESS_1 IS31FL3741_I2C_ADDRESS_GND + +#define RGB_MATRIX_DISABLE_SHARED_KEYCODES diff --git a/keyboards/mechlovin/adelais/rgb_led/rev2/config.h b/keyboards/mechlovin/adelais/rgb_led/rev2/config.h index 82b582bfe12..fea263d7fbe 100644 --- a/keyboards/mechlovin/adelais/rgb_led/rev2/config.h +++ b/keyboards/mechlovin/adelais/rgb_led/rev2/config.h @@ -2,3 +2,5 @@ #define IS31FL3731_I2C_ADDRESS_1 IS31FL3731_I2C_ADDRESS_GND #define IS31FL3731_I2C_ADDRESS_2 IS31FL3731_I2C_ADDRESS_SDA + +#define RGB_MATRIX_DISABLE_SHARED_KEYCODES diff --git a/keyboards/mechlovin/hannah60rgb/rev2/config.h b/keyboards/mechlovin/hannah60rgb/rev2/config.h index 82b582bfe12..fea263d7fbe 100644 --- a/keyboards/mechlovin/hannah60rgb/rev2/config.h +++ b/keyboards/mechlovin/hannah60rgb/rev2/config.h @@ -2,3 +2,5 @@ #define IS31FL3731_I2C_ADDRESS_1 IS31FL3731_I2C_ADDRESS_GND #define IS31FL3731_I2C_ADDRESS_2 IS31FL3731_I2C_ADDRESS_SDA + +#define RGB_MATRIX_DISABLE_SHARED_KEYCODES diff --git a/keyboards/owlab/voice65/hotswap/config.h b/keyboards/owlab/voice65/hotswap/config.h index be6b66e58a8..97bde08548e 100644 --- a/keyboards/owlab/voice65/hotswap/config.h +++ b/keyboards/owlab/voice65/hotswap/config.h @@ -18,3 +18,5 @@ along with this program. If not, see . #pragma once #define IS31FL3741_I2C_ADDRESS_1 IS31FL3741_I2C_ADDRESS_GND + +#define RGB_MATRIX_DISABLE_SHARED_KEYCODES diff --git a/keyboards/owlab/voice65/soldered/config.h b/keyboards/owlab/voice65/soldered/config.h index be6b66e58a8..97bde08548e 100644 --- a/keyboards/owlab/voice65/soldered/config.h +++ b/keyboards/owlab/voice65/soldered/config.h @@ -18,3 +18,5 @@ along with this program. If not, see . #pragma once #define IS31FL3741_I2C_ADDRESS_1 IS31FL3741_I2C_ADDRESS_GND + +#define RGB_MATRIX_DISABLE_SHARED_KEYCODES diff --git a/keyboards/qwertykeys/qk100/ansi/config.h b/keyboards/qwertykeys/qk100/ansi/config.h index b78d15782ba..ceba1c798dd 100644 --- a/keyboards/qwertykeys/qk100/ansi/config.h +++ b/keyboards/qwertykeys/qk100/ansi/config.h @@ -30,3 +30,5 @@ along with this program. If not, see . #define I2C1_DUTY_CYCLE FAST_DUTY_CYCLE_2 #define IS31FL3741_I2C_ADDRESS_1 IS31FL3741_I2C_ADDRESS_GND + +#define RGB_MATRIX_DISABLE_SHARED_KEYCODES diff --git a/keyboards/work_louder/loop/config.h b/keyboards/work_louder/loop/config.h index b883b0ff578..5b031c6fc10 100644 --- a/keyboards/work_louder/loop/config.h +++ b/keyboards/work_louder/loop/config.h @@ -18,3 +18,5 @@ along with this program. If not, see . #pragma once #define RGBLIGHT_DI_PIN E6 + +#define RGB_MATRIX_DISABLE_SHARED_KEYCODES diff --git a/keyboards/work_louder/micro/config.h b/keyboards/work_louder/micro/config.h index b9f2d8d87dc..6748a5f5951 100644 --- a/keyboards/work_louder/micro/config.h +++ b/keyboards/work_louder/micro/config.h @@ -9,3 +9,5 @@ #define WORK_LOUDER_LED_PIN_1 B6 #define WORK_LOUDER_LED_PIN_2 B7 #define WORK_LOUDER_LED_PIN_3 B5 + +#define RGB_MATRIX_DISABLE_SHARED_KEYCODES diff --git a/keyboards/work_louder/nano/config.h b/keyboards/work_louder/nano/config.h index 2372f371b99..492931c559c 100644 --- a/keyboards/work_louder/nano/config.h +++ b/keyboards/work_louder/nano/config.h @@ -18,3 +18,5 @@ along with this program. If not, see . #pragma once #define RGBLIGHT_DI_PIN C7 + +#define RGB_MATRIX_DISABLE_SHARED_KEYCODES diff --git a/keyboards/work_louder/numpad/config.h b/keyboards/work_louder/numpad/config.h index cfc27d36124..809c498dbbb 100644 --- a/keyboards/work_louder/numpad/config.h +++ b/keyboards/work_louder/numpad/config.h @@ -5,3 +5,5 @@ #define RGBLIGHT_DI_PIN D2 #define RGBLIGHT_DEFAULT_MODE RGBLIGHT_MODE_STATIC_GRADIENT + 9 + +#define RGB_MATRIX_DISABLE_SHARED_KEYCODES diff --git a/keyboards/work_louder/work_board/config.h b/keyboards/work_louder/work_board/config.h index 6688711bbbc..efd4c529cd8 100644 --- a/keyboards/work_louder/work_board/config.h +++ b/keyboards/work_louder/work_board/config.h @@ -20,3 +20,5 @@ along with this program. If not, see . #define RGBLIGHT_DI_PIN D2 #define RGBLIGHT_DEFAULT_MODE RGBLIGHT_MODE_STATIC_GRADIENT + 9 + +#define RGB_MATRIX_DISABLE_SHARED_KEYCODES diff --git a/quantum/process_keycode/process_underglow.c b/quantum/process_keycode/process_underglow.c index 779672ac076..6104cd02c6c 100644 --- a/quantum/process_keycode/process_underglow.c +++ b/quantum/process_keycode/process_underglow.c @@ -2,87 +2,200 @@ // SPDX-License-Identifier: GPL-2.0-or-later #include "process_underglow.h" -#include "rgblight.h" +#if defined(RGBLIGHT_ENABLE) +# include "rgblight.h" +#endif #include "action_util.h" #include "keycodes.h" #include "modifiers.h" +// TODO: Remove this +#if defined(RGB_MATRIX_ENABLE) && !defined(RGB_MATRIX_DISABLE_SHARED_KEYCODES) +# include "rgb_matrix.h" +#endif + bool process_underglow(uint16_t keycode, keyrecord_t *record) { if (record->event.pressed) { uint8_t shifted = get_mods() & MOD_MASK_SHIFT; switch (keycode) { case QK_UNDERGLOW_TOGGLE: +#if defined(RGBLIGHT_ENABLE) rgblight_toggle(); +#endif + +#if defined(RGB_MATRIX_ENABLE) && !defined(RGB_MATRIX_DISABLE_SHARED_KEYCODES) + rgb_matrix_toggle(); +#endif return false; case QK_UNDERGLOW_MODE_NEXT: +#if defined(RGBLIGHT_ENABLE) if (shifted) { rgblight_step_reverse(); } else { rgblight_step(); } +#endif + +#if defined(RGB_MATRIX_ENABLE) && !defined(RGB_MATRIX_DISABLE_SHARED_KEYCODES) + if (shifted) { + rgb_matrix_step_reverse(); + } else { + rgb_matrix_step(); + } +#endif return false; case QK_UNDERGLOW_MODE_PREVIOUS: +#if defined(RGBLIGHT_ENABLE) if (shifted) { rgblight_step(); } else { rgblight_step_reverse(); } +#endif + +#if defined(RGB_MATRIX_ENABLE) && !defined(RGB_MATRIX_DISABLE_SHARED_KEYCODES) + if (shifted) { + rgb_matrix_step(); + } else { + rgb_matrix_step_reverse(); + } +#endif return false; case QK_UNDERGLOW_HUE_UP: +#if defined(RGBLIGHT_ENABLE) if (shifted) { rgblight_decrease_hue(); } else { rgblight_increase_hue(); } +#endif + +#if defined(RGB_MATRIX_ENABLE) && !defined(RGB_MATRIX_DISABLE_SHARED_KEYCODES) + if (shifted) { + rgb_matrix_decrease_hue(); + } else { + rgb_matrix_increase_hue(); + } +#endif return false; case QK_UNDERGLOW_HUE_DOWN: +#if defined(RGBLIGHT_ENABLE) if (shifted) { rgblight_increase_hue(); } else { rgblight_decrease_hue(); } +#endif + +#if defined(RGB_MATRIX_ENABLE) && !defined(RGB_MATRIX_DISABLE_SHARED_KEYCODES) + if (shifted) { + rgb_matrix_increase_hue(); + } else { + rgb_matrix_decrease_hue(); + } +#endif return false; case QK_UNDERGLOW_SATURATION_UP: +#if defined(RGBLIGHT_ENABLE) if (shifted) { rgblight_decrease_sat(); } else { rgblight_increase_sat(); } +#endif + +#if defined(RGB_MATRIX_ENABLE) && !defined(RGB_MATRIX_DISABLE_SHARED_KEYCODES) + if (shifted) { + rgb_matrix_decrease_sat(); + } else { + rgb_matrix_increase_sat(); + } +#endif return false; case QK_UNDERGLOW_SATURATION_DOWN: +#if defined(RGBLIGHT_ENABLE) if (shifted) { rgblight_increase_sat(); } else { rgblight_decrease_sat(); } +#endif + +#if defined(RGB_MATRIX_ENABLE) && !defined(RGB_MATRIX_DISABLE_SHARED_KEYCODES) + if (shifted) { + rgb_matrix_increase_sat(); + } else { + rgb_matrix_decrease_sat(); + } +#endif return false; case QK_UNDERGLOW_VALUE_UP: +#if defined(RGBLIGHT_ENABLE) if (shifted) { rgblight_decrease_val(); } else { rgblight_increase_val(); } +#endif + +#if defined(RGB_MATRIX_ENABLE) && !defined(RGB_MATRIX_DISABLE_SHARED_KEYCODES) + if (shifted) { + rgb_matrix_decrease_val(); + } else { + rgb_matrix_increase_val(); + } +#endif return false; case QK_UNDERGLOW_VALUE_DOWN: +#if defined(RGBLIGHT_ENABLE) if (shifted) { - rgblight_increase_hue(); + rgblight_increase_val(); } else { - rgblight_decrease_hue(); + rgblight_decrease_val(); } +#endif + +#if defined(RGB_MATRIX_ENABLE) && !defined(RGB_MATRIX_DISABLE_SHARED_KEYCODES) + if (shifted) { + rgb_matrix_increase_val(); + } else { + rgb_matrix_decrease_val(); + } +#endif return false; case QK_UNDERGLOW_SPEED_UP: +#if defined(RGBLIGHT_ENABLE) if (shifted) { rgblight_decrease_speed(); } else { rgblight_increase_speed(); } +#endif + +#if defined(RGB_MATRIX_ENABLE) && !defined(RGB_MATRIX_DISABLE_SHARED_KEYCODES) + if (shifted) { + rgb_matrix_decrease_speed(); + } else { + rgb_matrix_increase_speed(); + } +#endif return false; case QK_UNDERGLOW_SPEED_DOWN: +#if defined(RGBLIGHT_ENABLE) if (shifted) { rgblight_increase_speed(); } else { rgblight_decrease_speed(); } +#endif + +#if defined(RGB_MATRIX_ENABLE) && !defined(RGB_MATRIX_DISABLE_SHARED_KEYCODES) + if (shifted) { + rgb_matrix_increase_speed(); + } else { + rgb_matrix_decrease_speed(); + } +#endif return false; } } diff --git a/quantum/quantum.c b/quantum/quantum.c index 8bfe04e1798..874df1593a2 100644 --- a/quantum/quantum.c +++ b/quantum/quantum.c @@ -60,7 +60,7 @@ # include "process_rgb_matrix.h" #endif -#if defined(RGBLIGHT_ENABLE) +#if defined(RGBLIGHT_ENABLE) || defined(RGB_MATRIX_ENABLE) # include "process_underglow.h" #endif @@ -382,7 +382,7 @@ bool process_record_quantum(keyrecord_t *record) { #ifdef GRAVE_ESC_ENABLE process_grave_esc(keycode, record) && #endif -#if defined(RGBLIGHT_ENABLE) +#if defined(RGBLIGHT_ENABLE) || defined(RGB_MATRIX_ENABLE) process_underglow(keycode, record) && #endif #if defined(RGB_MATRIX_ENABLE)