From 569b0c70beceb1bbd2b2c5e9cc4f0ff9209995f3 Mon Sep 17 00:00:00 2001 From: Ryan Date: Sun, 3 Mar 2024 04:16:47 +1100 Subject: WS2812 PWM: prefix for DMA defines (#23111) * WS2812 PWM: prefix for DMA defines * Add backward compatibility defines --- docs/ws2812_driver.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) (limited to 'docs') diff --git a/docs/ws2812_driver.md b/docs/ws2812_driver.md index 244d39dbe0..006529cc8a 100644 --- a/docs/ws2812_driver.md +++ b/docs/ws2812_driver.md @@ -208,9 +208,9 @@ The following `#define`s apply only to the `pwm` driver: |`WS2812_PWM_DRIVER` |`PWMD2` |The PWM driver to use | |`WS2812_PWM_CHANNEL` |`2` |The PWM channel to use | |`WS2812_PWM_PAL_MODE` |`2` |The pin alternative function to use | -|`WS2812_DMA_STREAM` |`STM32_DMA1_STREAM2`|The DMA Stream for `TIMx_UP` | -|`WS2812_DMA_CHANNEL` |`2` |The DMA Channel for `TIMx_UP` | -|`WS2812_DMAMUX_ID` |*Not defined* |The DMAMUX configuration for `TIMx_UP` - only required if your MCU has a DMAMUX peripheral| +|`WS2812_PWM_DMA_STREAM` |`STM32_DMA1_STREAM2`|The DMA Stream for `TIMx_UP` | +|`WS2812_PWM_DMA_CHANNEL` |`2` |The DMA Channel for `TIMx_UP` | +|`WS2812_PWM_DMAMUX_ID` |*Not defined* |The DMAMUX configuration for `TIMx_UP` - only required if your MCU has a DMAMUX peripheral| |`WS2812_PWM_COMPLEMENTARY_OUTPUT`|*Not defined* |Whether the PWM output is complementary (`TIMx_CHyN`) | ?> 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. -- cgit v1.2.3 From a2c23e9419478cc49d06634732e626a55eec6d66 Mon Sep 17 00:00:00 2001 From: Joel Challis Date: Tue, 5 Mar 2024 16:59:30 +0000 Subject: Initial 'qmk test-c' functionality (#23038) --- .github/workflows/unit_test.yml | 2 +- docs/cli_commands.md | 36 ++++++++++++++++++++++++++++ lib/python/qmk/cli/__init__.py | 1 + lib/python/qmk/cli/test/__init__.py | 0 lib/python/qmk/cli/test/c.py | 47 +++++++++++++++++++++++++++++++++++++ 5 files changed, 85 insertions(+), 1 deletion(-) create mode 100644 lib/python/qmk/cli/test/__init__.py create mode 100644 lib/python/qmk/cli/test/c.py (limited to 'docs') diff --git a/.github/workflows/unit_test.yml b/.github/workflows/unit_test.yml index eec8c8b5fc..a834053a76 100644 --- a/.github/workflows/unit_test.yml +++ b/.github/workflows/unit_test.yml @@ -32,4 +32,4 @@ jobs: - name: Install dependencies run: pip3 install -r requirements-dev.txt - name: Run tests - run: make test:all + run: qmk test-c diff --git a/docs/cli_commands.md b/docs/cli_commands.md index cf174949af..60268122ca 100644 --- a/docs/cli_commands.md +++ b/docs/cli_commands.md @@ -791,3 +791,39 @@ This command converts a TTF font to an intermediate format for editing, before c This command converts an intermediate font image to the QFF File Format. See the [Quantum Painter](quantum_painter.md?id=quantum-painter-cli) documentation for more information on this command. +## `qmk test-c` + +This command runs the C unit test suite. If you make changes to C code you should ensure this runs successfully. + +**Usage**: + +``` +qmk test-c [-h] [-t TEST] [-l] [-c] [-e ENV] [-j PARALLEL] + +options: + -h, --help show this help message and exit + -t TEST, --test TEST Test to run from the available list. Supports wildcard globs. May be passed multiple times. + -l, --list List available tests. + -c, --clean Remove object files before compiling. + -e ENV, --env ENV Set a variable to be passed to make. May be passed multiple times. + -j PARALLEL, --parallel PARALLEL + Set the number of parallel make jobs; 0 means unlimited. +``` + +**Examples**: + +Run entire test suite: + + qmk test-c + +List available tests: + + qmk test-c --list + +Run matching test: + + qmk test-c --test unicode* + +Run single test: + + qmk test-c --test basic diff --git a/lib/python/qmk/cli/__init__.py b/lib/python/qmk/cli/__init__.py index e4a8166349..6d05a5fc21 100644 --- a/lib/python/qmk/cli/__init__.py +++ b/lib/python/qmk/cli/__init__.py @@ -81,6 +81,7 @@ subcommands = [ 'qmk.cli.new.keymap', 'qmk.cli.painter', 'qmk.cli.pytest', + 'qmk.cli.test.c', 'qmk.cli.userspace.add', 'qmk.cli.userspace.compile', 'qmk.cli.userspace.doctor', diff --git a/lib/python/qmk/cli/test/__init__.py b/lib/python/qmk/cli/test/__init__.py new file mode 100644 index 0000000000..e69de29bb2 diff --git a/lib/python/qmk/cli/test/c.py b/lib/python/qmk/cli/test/c.py new file mode 100644 index 0000000000..7a4e20d5e6 --- /dev/null +++ b/lib/python/qmk/cli/test/c.py @@ -0,0 +1,47 @@ +import fnmatch +import re +from subprocess import DEVNULL + +from milc import cli + +from qmk.commands import find_make, get_make_parallel_args, build_environment + + +@cli.argument('-j', '--parallel', type=int, default=1, help="Set the number of parallel make jobs; 0 means unlimited.") +@cli.argument('-e', '--env', arg_only=True, action='append', default=[], help="Set a variable to be passed to make. May be passed multiple times.") +@cli.argument('-c', '--clean', arg_only=True, action='store_true', help="Remove object files before compiling.") +@cli.argument('-l', '--list', arg_only=True, action='store_true', help='List available tests.') +@cli.argument('-t', '--test', arg_only=True, action='append', default=[], help="Test to run from the available list. Supports wildcard globs. May be passed multiple times.") +@cli.subcommand("QMK C Unit Tests.", hidden=False if cli.config.user.developer else True) +def test_c(cli): + """Run native unit tests. + """ + list_tests = cli.run([find_make(), 'list-tests', 'SILENT=true']) + available_tests = sorted(list_tests.stdout.strip().split()) + + if cli.args.list: + return print("\n".join(available_tests)) + + # expand any wildcards + filtered_tests = set() + for test in cli.args.test: + regex = re.compile(fnmatch.translate(test)) + filtered_tests |= set(filter(regex.match, available_tests)) + + for invalid in filtered_tests - set(available_tests): + cli.log.warning(f'Invalid test provided: {invalid}') + + # convert test names to build targets + targets = list(map(lambda x: f'test:{x}', filtered_tests or ['all'])) + + if cli.args.clean: + targets.insert(0, 'clean') + + # Add in the environment vars + for key, value in build_environment(cli.args.env).items(): + targets.append(f'{key}={value}') + + command = [find_make(), *get_make_parallel_args(cli.config.test_c.parallel), *targets] + + cli.log.info('Compiling tests with {fg_cyan}%s', ' '.join(command)) + return cli.run(command, capture_output=False, stdin=DEVNULL).returncode -- cgit v1.2.3 From 83e6ddbbb4c8e715bfe419c4d7fc0ae305ea5bd5 Mon Sep 17 00:00:00 2001 From: Drashna Jaelre Date: Wed, 6 Mar 2024 03:02:37 -0800 Subject: [Audio] Add support for audio shutdown pin (#22731) Co-authored-by: Ryan --- data/mappings/info_config.hjson | 2 ++ data/schemas/keyboard.jsonschema | 8 +++++ docs/feature_audio.md | 48 ++++++++++++++------------ docs/reference_info_json.md | 7 ++++ keyboards/adafruit/macropad/config.h | 2 -- keyboards/adafruit/macropad/info.json | 5 +++ keyboards/adafruit/macropad/macropad.c | 42 ---------------------- platforms/avr/drivers/audio_pwm_hardware.c | 6 ++-- platforms/chibios/drivers/audio_dac_additive.c | 6 ++-- platforms/chibios/drivers/audio_dac_basic.c | 6 ++-- platforms/chibios/drivers/audio_pwm_hardware.c | 6 ++-- platforms/chibios/drivers/audio_pwm_software.c | 6 ++-- platforms/test/drivers/audio_pwm_hardware.c | 6 ++-- quantum/audio/audio.c | 27 +++++++++++++++ quantum/audio/audio.h | 6 ++-- 15 files changed, 95 insertions(+), 88 deletions(-) delete mode 100644 keyboards/adafruit/macropad/macropad.c (limited to 'docs') diff --git a/data/mappings/info_config.hjson b/data/mappings/info_config.hjson index e2e9569372..c0417b8839 100644 --- a/data/mappings/info_config.hjson +++ b/data/mappings/info_config.hjson @@ -19,6 +19,8 @@ // Audio "AUDIO_DEFAULT_ON": {"info_key": "audio.default.on", "value_type": "bool"}, "AUDIO_DEFAULT_CLICKY_ON": {"info_key": "audio.default.clicky", "value_type": "bool"}, + "AUDIO_POWER_CONTROL_PIN": {"info_key": "audio.power_control.pin"}, + "AUDIO_POWER_CONTROL_PIN_ON_STATE": {"info_key": "audio.power_control.on_state", "value_type": "int" }, "AUDIO_VOICES": {"info_key": "audio.voices", "value_type": "flag"}, "SENDSTRING_BELL": {"info_key": "audio.macro_beep", "value_type": "flag"}, diff --git a/data/schemas/keyboard.jsonschema b/data/schemas/keyboard.jsonschema index 340eb64ba1..5c6788913b 100644 --- a/data/schemas/keyboard.jsonschema +++ b/data/schemas/keyboard.jsonschema @@ -135,6 +135,14 @@ }, "macro_beep": {"type": "boolean"}, "pins": {"$ref": "qmk.definitions.v1#/mcu_pin_array"}, + "power_control": { + "type": "object", + "additionalProperties": false, + "properties": { + "on_state": {"$ref": "qmk.definitions.v1#/bit"}, + "pin": {"$ref": "qmk.definitions.v1#/mcu_pin"} + } + }, "voices": {"type": "boolean"} } }, diff --git a/docs/feature_audio.md b/docs/feature_audio.md index 5227d063c3..05f32e9840 100644 --- a/docs/feature_audio.md +++ b/docs/feature_audio.md @@ -171,29 +171,31 @@ The available keycodes for audio are: ## Audio Config -| Settings | Default | Description | -|---------------------------------|----------------------|-------------------------------------------------------------------------------| -|`AUDIO_PIN` | *Not defined* |Configures the pin that the speaker is connected to. | -|`AUDIO_PIN_ALT` | *Not defined* |Configures the pin for a second speaker or second pin connected to one speaker.| -|`AUDIO_PIN_ALT_AS_NEGATIVE` | *Not defined* |Enables support for one speaker connected to two pins. | -|`AUDIO_INIT_DELAY` | *Not defined* |Enables delay during startup song to accomidate for USB startup issues. | -|`AUDIO_ENABLE_TONE_MULTIPLEXING` | *Not defined* |Enables time splicing/multiplexing to create multiple tones simutaneously. | -|`STARTUP_SONG` | `STARTUP_SOUND` |Plays when the keyboard starts up (audio.c) | -|`GOODBYE_SONG` | `GOODBYE_SOUND` |Plays when you press the QK_BOOT key (quantum.c) | -|`AG_NORM_SONG` | `AG_NORM_SOUND` |Plays when you press AG_NORM (process_magic.c) | -|`AG_SWAP_SONG` | `AG_SWAP_SOUND` |Plays when you press AG_SWAP (process_magic.c) | -|`CG_NORM_SONG` | `AG_NORM_SOUND` |Plays when you press CG_NORM (process_magic.c) | -|`CG_SWAP_SONG` | `AG_SWAP_SOUND` |Plays when you press CG_SWAP (process_magic.c) | -|`MUSIC_ON_SONG` | `MUSIC_ON_SOUND` |Plays when music mode is activated (process_music.c) | -|`MUSIC_OFF_SONG` | `MUSIC_OFF_SOUND` |Plays when music mode is deactivated (process_music.c) | -|`MIDI_ON_SONG` | `MUSIC_ON_SOUND` |Plays when midi mode is activated (process_music.c) | -|`MIDI_OFF_SONG` | `MUSIC_OFF_SOUND` |Plays when midi mode is deactivated (process_music.c) | -|`CHROMATIC_SONG` | `CHROMATIC_SOUND` |Plays when the chromatic music mode is selected (process_music.c) | -|`GUITAR_SONG` | `GUITAR_SOUND` |Plays when the guitar music mode is selected (process_music.c) | -|`VIOLIN_SONG` | `VIOLIN_SOUND` |Plays when the violin music mode is selected (process_music.c) | -|`MAJOR_SONG` | `MAJOR_SOUND` |Plays when the major music mode is selected (process_music.c) | -|`DEFAULT_LAYER_SONGS` | *Not defined* |Plays song when switched default layers with [`set_single_persistent_default_layer(layer)`](ref_functions.md#setting-the-persistent-default-layer)(quantum.c) | -|`SENDSTRING_BELL` | *Not defined* |Plays chime when the "enter" ("\a") character is sent (send_string.c) | +| Settings | Default | Description | +|----------------------------------|----------------------|---------------------------------------------------------------------------------------------| +|`AUDIO_PIN` | *Not defined* |Configures the pin that the speaker is connected to. | +|`AUDIO_PIN_ALT` | *Not defined* |Configures the pin for a second speaker or second pin connected to one speaker. | +|`AUDIO_PIN_ALT_AS_NEGATIVE` | *Not defined* |Enables support for one speaker connected to two pins. | +|`AUDIO_INIT_DELAY` | *Not defined* |Enables delay during startup song to accomidate for USB startup issues. | +|`AUDIO_ENABLE_TONE_MULTIPLEXING` | *Not defined* |Enables time splicing/multiplexing to create multiple tones simutaneously. | +|`AUDIO_POWER_CONTROL_PIN` | *Not defined* |Enables power control code to enable or cut off power to speaker (such as with PAM8302 amp). | +|`AUDIO_POWER_CONTROL_PIN_ON_STATE`| `1` |The state of the audio power control pin when audio is "on" - `1` for high, `0` for low. | +|`STARTUP_SONG` | `STARTUP_SOUND` |Plays when the keyboard starts up (audio.c) | +|`GOODBYE_SONG` | `GOODBYE_SOUND` |Plays when you press the QK_BOOT key (quantum.c) | +|`AG_NORM_SONG` | `AG_NORM_SOUND` |Plays when you press AG_NORM (process_magic.c) | +|`AG_SWAP_SONG` | `AG_SWAP_SOUND` |Plays when you press AG_SWAP (process_magic.c) | +|`CG_NORM_SONG` | `AG_NORM_SOUND` |Plays when you press CG_NORM (process_magic.c) | +|`CG_SWAP_SONG` | `AG_SWAP_SOUND` |Plays when you press CG_SWAP (process_magic.c) | +|`MUSIC_ON_SONG` | `MUSIC_ON_SOUND` |Plays when music mode is activated (process_music.c) | +|`MUSIC_OFF_SONG` | `MUSIC_OFF_SOUND` |Plays when music mode is deactivated (process_music.c) | +|`MIDI_ON_SONG` | `MUSIC_ON_SOUND` |Plays when midi mode is activated (process_music.c) | +|`MIDI_OFF_SONG` | `MUSIC_OFF_SOUND` |Plays when midi mode is deactivated (process_music.c) | +|`CHROMATIC_SONG` | `CHROMATIC_SOUND` |Plays when the chromatic music mode is selected (process_music.c) | +|`GUITAR_SONG` | `GUITAR_SOUND` |Plays when the guitar music mode is selected (process_music.c) | +|`VIOLIN_SONG` | `VIOLIN_SOUND` |Plays when the violin music mode is selected (process_music.c) | +|`MAJOR_SONG` | `MAJOR_SOUND` |Plays when the major music mode is selected (process_music.c) | +|`DEFAULT_LAYER_SONGS` | *Not defined* |Plays song when switched default layers with [`set_single_persistent_default_layer(layer)`](ref_functions.md#setting-the-persistent-default-layer)(quantum.c). | +|`SENDSTRING_BELL` | *Not defined* |Plays chime when the "enter" ("\a") character is sent (send_string.c) | ## Tempo the 'speed' at which SONGs are played is dictated by the set Tempo, which is measured in beats-per-minute. Note lengths are defined relative to that. diff --git a/docs/reference_info_json.md b/docs/reference_info_json.md index 796db1f244..b715c14041 100644 --- a/docs/reference_info_json.md +++ b/docs/reference_info_json.md @@ -123,10 +123,17 @@ Configures the [Audio](feature_audio.md) feature. * Default: `false` * `pins` (Required) * The GPIO pin(s) connected to the speaker(s). + * `power_control` + * `on_state` + * The logical GPIO state required to turn the speaker on. + * Default: `1` (on = high) + * `pin` + * The GPIO pin connected to speaker power circuit. * `voices` * Use multiple audio voices. * Default: `false` + ## Backlight :id=backlight Configures the [Backlight](feature_backlight.md) feature. diff --git a/keyboards/adafruit/macropad/config.h b/keyboards/adafruit/macropad/config.h index 7f2e9ab6f9..725530a512 100644 --- a/keyboards/adafruit/macropad/config.h +++ b/keyboards/adafruit/macropad/config.h @@ -48,5 +48,3 @@ #define AUDIO_PWM_CHANNEL RP2040_PWM_CHANNEL_A #define AUDIO_INIT_DELAY #define AUDIO_CLICKY - -#define SPEAKER_SHUTDOWN GP14 diff --git a/keyboards/adafruit/macropad/info.json b/keyboards/adafruit/macropad/info.json index 0facf7e0f6..295af78339 100644 --- a/keyboards/adafruit/macropad/info.json +++ b/keyboards/adafruit/macropad/info.json @@ -8,6 +8,11 @@ "pid": "0x0108", "device_version": "0.0.1" }, + "audio": { + "power_control": { + "pin": "GP14" + } + }, "encoder": { "rotary": [ {"pin_a": "GP18", "pin_b": "GP17"} diff --git a/keyboards/adafruit/macropad/macropad.c b/keyboards/adafruit/macropad/macropad.c deleted file mode 100644 index 5c1d2ba593..0000000000 --- a/keyboards/adafruit/macropad/macropad.c +++ /dev/null @@ -1,42 +0,0 @@ -/* Copyright 2022 Jose Pablo 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 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 AUDIO_ENABLE -void keyboard_pre_init_kb(void) { - // ensure pin is set and enabled pre-audio init - setPinOutput(SPEAKER_SHUTDOWN); - writePinHigh(SPEAKER_SHUTDOWN); - keyboard_pre_init_user(); -} - -void keyboard_post_init_kb(void) { - // set pin based on active status - writePin(SPEAKER_SHUTDOWN, audio_is_on()); - keyboard_post_init_user(); -} - -void audio_on_user(void) { - writePinHigh(SPEAKER_SHUTDOWN); -} - -void audio_off_user(void) { - // needs a delay or it runs right after play note. - wait_ms(200); - writePinLow(SPEAKER_SHUTDOWN); -} -#endif diff --git a/platforms/avr/drivers/audio_pwm_hardware.c b/platforms/avr/drivers/audio_pwm_hardware.c index d484fba00f..16264cf0a2 100644 --- a/platforms/avr/drivers/audio_pwm_hardware.c +++ b/platforms/avr/drivers/audio_pwm_hardware.c @@ -213,7 +213,7 @@ void channel_2_stop(void) { } #endif -void audio_driver_initialize(void) { +void audio_driver_initialize_impl(void) { #ifdef AUDIO1_PIN_SET channel_1_stop(); gpio_set_pin_output(AUDIO1_PIN); @@ -254,7 +254,7 @@ void audio_driver_initialize(void) { #endif } -void audio_driver_stop(void) { +void audio_driver_stop_impl(void) { #ifdef AUDIO1_PIN_SET channel_1_stop(); #endif @@ -264,7 +264,7 @@ void audio_driver_stop(void) { #endif } -void audio_driver_start(void) { +void audio_driver_start_impl(void) { #ifdef AUDIO1_PIN_SET channel_1_start(); if (playing_note) { diff --git a/platforms/chibios/drivers/audio_dac_additive.c b/platforms/chibios/drivers/audio_dac_additive.c index d6fde42b68..8e29053301 100644 --- a/platforms/chibios/drivers/audio_dac_additive.c +++ b/platforms/chibios/drivers/audio_dac_additive.c @@ -303,7 +303,7 @@ static const DACConfig dac_conf = {.init = AUDIO_DAC_OFF_VALUE, .datamode = DAC_ */ static const DACConversionGroup dac_conv_cfg = {.num_channels = 1U, .end_cb = dac_end, .error_cb = dac_error, .trigger = DAC_TRG(0b000)}; -void audio_driver_initialize(void) { +void audio_driver_initialize_impl(void) { if ((AUDIO_PIN == A4) || (AUDIO_PIN_ALT == A4)) { palSetLineMode(A4, PAL_MODE_INPUT_ANALOG); dacStart(&DACD1, &dac_conf); @@ -350,11 +350,11 @@ void audio_driver_initialize(void) { gptStart(&GPTD6, &gpt6cfg1); } -void audio_driver_stop(void) { +void audio_driver_stop_impl(void) { state = OUTPUT_SHOULD_STOP; } -void audio_driver_start(void) { +void audio_driver_start_impl(void) { gptStartContinuous(&GPTD6, 2U); for (uint8_t i = 0; i < AUDIO_MAX_SIMULTANEOUS_TONES; i++) { diff --git a/platforms/chibios/drivers/audio_dac_basic.c b/platforms/chibios/drivers/audio_dac_basic.c index 9a3f3fea1f..99b938e610 100644 --- a/platforms/chibios/drivers/audio_dac_basic.c +++ b/platforms/chibios/drivers/audio_dac_basic.c @@ -190,7 +190,7 @@ static void gpt_audio_state_cb(GPTDriver *gptp) { } } -void audio_driver_initialize(void) { +void audio_driver_initialize_impl(void) { if ((AUDIO_PIN == A4) || (AUDIO_PIN_ALT == A4)) { palSetPadMode(GPIOA, 4, PAL_MODE_INPUT_ANALOG); dacStart(&DACD1, &dac_conf_ch1); @@ -223,7 +223,7 @@ void audio_driver_initialize(void) { gptStart(&AUDIO_STATE_TIMER, &gptStateUpdateCfg); } -void audio_driver_stop(void) { +void audio_driver_stop_impl(void) { if ((AUDIO_PIN == A4) || (AUDIO_PIN_ALT == A4)) { gptStopTimer(&GPTD6); @@ -241,7 +241,7 @@ void audio_driver_stop(void) { gptStopTimer(&AUDIO_STATE_TIMER); } -void audio_driver_start(void) { +void audio_driver_start_impl(void) { if ((AUDIO_PIN == A4) || (AUDIO_PIN_ALT == A4)) { dacStartConversion(&DACD1, &dac_conv_grp_ch1, (dacsample_t *)dac_buffer_1, AUDIO_DAC_BUFFER_SIZE); } diff --git a/platforms/chibios/drivers/audio_pwm_hardware.c b/platforms/chibios/drivers/audio_pwm_hardware.c index 21b5c6892c..1ba7ec13bc 100644 --- a/platforms/chibios/drivers/audio_pwm_hardware.c +++ b/platforms/chibios/drivers/audio_pwm_hardware.c @@ -87,7 +87,7 @@ static void audio_callback(virtual_timer_t *vtp, void *p) { chSysUnlockFromISR(); } -void audio_driver_initialize(void) { +void audio_driver_initialize_impl(void) { pwmStart(&AUDIO_PWM_DRIVER, &pwmCFG); // connect the AUDIO_PIN to the PWM hardware @@ -100,7 +100,7 @@ void audio_driver_initialize(void) { chVTObjectInit(&audio_vt); } -void audio_driver_start(void) { +void audio_driver_start_impl(void) { channel_1_stop(); channel_1_start(); @@ -115,7 +115,7 @@ void audio_driver_start(void) { } } -void audio_driver_stop(void) { +void audio_driver_stop_impl(void) { channel_1_stop(); chVTReset(&audio_vt); } diff --git a/platforms/chibios/drivers/audio_pwm_software.c b/platforms/chibios/drivers/audio_pwm_software.c index 663a9eca16..f48323900b 100644 --- a/platforms/chibios/drivers/audio_pwm_software.c +++ b/platforms/chibios/drivers/audio_pwm_software.c @@ -121,7 +121,7 @@ GPTConfig gptCFG = { .callback = gpt_callback, }; -void audio_driver_initialize(void) { +void audio_driver_initialize_impl(void) { pwmStart(&AUDIO_PWM_DRIVER, &pwmCFG); palSetLineMode(AUDIO_PIN, PAL_MODE_OUTPUT_PUSHPULL); @@ -138,7 +138,7 @@ void audio_driver_initialize(void) { gptStart(&AUDIO_STATE_TIMER, &gptCFG); } -void audio_driver_start(void) { +void audio_driver_start_impl(void) { channel_1_stop(); channel_1_start(); @@ -147,7 +147,7 @@ void audio_driver_start(void) { } } -void audio_driver_stop(void) { +void audio_driver_stop_impl(void) { channel_1_stop(); gptStopTimer(&AUDIO_STATE_TIMER); } diff --git a/platforms/test/drivers/audio_pwm_hardware.c b/platforms/test/drivers/audio_pwm_hardware.c index 336e4f5844..3a0384117a 100644 --- a/platforms/test/drivers/audio_pwm_hardware.c +++ b/platforms/test/drivers/audio_pwm_hardware.c @@ -15,6 +15,6 @@ #include "audio.h" -void audio_driver_initialize(void) {} -void audio_driver_start() {} -void audio_driver_stop() {} +void audio_driver_initialize_impl(void) {} +void audio_driver_start_impl() {} +void audio_driver_stop_impl() {} diff --git a/quantum/audio/audio.c b/quantum/audio/audio.c index c1a1500493..b2611c5f09 100644 --- a/quantum/audio/audio.c +++ b/quantum/audio/audio.c @@ -20,6 +20,7 @@ #include "debug.h" #include "wait.h" #include "util.h" +#include "gpio.h" /* audio system: * @@ -121,6 +122,32 @@ static bool audio_initialized = false; static bool audio_driver_stopped = true; audio_config_t audio_config; +#ifndef AUDIO_POWER_CONTROL_PIN_ON_STATE +# define AUDIO_POWER_CONTROL_PIN_ON_STATE 1 +#endif + +void audio_driver_initialize(void) { +#ifdef AUDIO_POWER_CONTROL_PIN + gpio_set_pin_output_push_pull(AUDIO_POWER_CONTROL_PIN); + gpio_write_pin(AUDIO_POWER_CONTROL_PIN, !AUDIO_POWER_CONTROL_PIN_ON_STATE); +#endif + audio_driver_initialize_impl(); +} + +void audio_driver_stop(void) { + audio_driver_stop_impl(); +#ifdef AUDIO_POWER_CONTROL_PIN + gpio_write_pin(AUDIO_POWER_CONTROL_PIN, !AUDIO_POWER_CONTROL_PIN_ON_STATE); +#endif +} + +void audio_driver_start(void) { +#ifdef AUDIO_POWER_CONTROL_PIN + gpio_write_pin(AUDIO_POWER_CONTROL_PIN, AUDIO_POWER_CONTROL_PIN_ON_STATE); +#endif + audio_driver_start_impl(); +} + void eeconfig_update_audio_current(void) { eeconfig_update_audio(audio_config.raw); } diff --git a/quantum/audio/audio.h b/quantum/audio/audio.h index eb0bedc6f9..054331d6f3 100644 --- a/quantum/audio/audio.h +++ b/quantum/audio/audio.h @@ -215,9 +215,9 @@ void audio_startup(void); // hardware interface // implementation in the driver_avr/arm_* respective parts -void audio_driver_initialize(void); -void audio_driver_start(void); -void audio_driver_stop(void); +void audio_driver_initialize_impl(void); +void audio_driver_start_impl(void); +void audio_driver_stop_impl(void); /** * @brief get the number of currently active tones -- cgit v1.2.3 From c0dbe9a33662a651fb91afb2e4810bae3f6a825e Mon Sep 17 00:00:00 2001 From: Drashna Jaelre Date: Sat, 9 Mar 2024 21:34:41 -0800 Subject: Add utility functions for Pointing Device Auto Mouse feature (#23144) * Make is_auto_mouse_active() available globally * Add mouse key tracker functions for auto mouse layer --- docs/feature_pointing_device.md | 3 +++ quantum/pointing_device/pointing_device_auto_mouse.c | 20 +++++++++++++++++++- quantum/pointing_device/pointing_device_auto_mouse.h | 4 +++- 3 files changed, 25 insertions(+), 2 deletions(-) (limited to 'docs') diff --git a/docs/feature_pointing_device.md b/docs/feature_pointing_device.md index b091dec08b..f55b308286 100644 --- a/docs/feature_pointing_device.md +++ b/docs/feature_pointing_device.md @@ -780,6 +780,9 @@ There are several functions that allow for more advanced interaction with the au | `get_auto_mouse_timeout(void)` | Return the current timeout for turing off the layer | | `uint16_t` | | `set_auto_mouse_debounce(uint16_t timeout)` | Change/set the debounce for preventing layer activation | | `void`(None) | | `get_auto_mouse_debounce(void)` | Return the current debounce for preventing layer activation | | `uint8_t` | +| `is_auto_mouse_active(void)` | Returns the active state of the auto mouse layer (eg if the layer has been triggered)| | `bool` | +| `get_auto_mouse_key_tracker(void)` | Gets the current count for the auto mouse key tracker. | | `int8_t` | +| `set_auto_mouse_key_tracker(int8_t key_tracker)` | Sets/Overrides the current count for the auto mouse key tracker. | | `void`(None) | _NOTES:_ - _Due to the nature of how some functions work, the `auto_mouse_trigger_reset`, and `auto_mouse_layer_off` functions should never be called in the `layer_state_set_*` stack as this can cause indefinite loops._ diff --git a/quantum/pointing_device/pointing_device_auto_mouse.c b/quantum/pointing_device/pointing_device_auto_mouse.c index 1b11fffedb..d9f924e258 100644 --- a/quantum/pointing_device/pointing_device_auto_mouse.c +++ b/quantum/pointing_device/pointing_device_auto_mouse.c @@ -45,7 +45,7 @@ static inline bool layer_hold_check(void) { } /* check all layer activation criteria */ -static inline bool is_auto_mouse_active(void) { +bool is_auto_mouse_active(void) { return auto_mouse_context.status.is_activated || auto_mouse_context.status.mouse_key_tracker || layer_hold_check(); } @@ -98,6 +98,15 @@ bool get_auto_mouse_toggle(void) { return auto_mouse_context.status.is_toggled; } +/** + * @brief get key tracker value + * + * @return bool of current layer_toggled state + */ +int8_t get_auto_mouse_key_tracker(void) { + return auto_mouse_context.status.mouse_key_tracker; +} + /** * @brief Reset auto mouse context * @@ -163,6 +172,15 @@ void set_auto_mouse_debounce(uint8_t debounce) { auto_mouse_reset(); } +/** + * @brief Changes the timeout for the mouse auto layer to be disabled + * + * @param key_tracker + */ +void set_auto_mouse_key_tracker(int8_t key_tracker) { + auto_mouse_context.status.mouse_key_tracker = key_tracker; +} + /** * @brief toggle mouse layer setting * diff --git a/quantum/pointing_device/pointing_device_auto_mouse.h b/quantum/pointing_device/pointing_device_auto_mouse.h index 904f18b68e..a596c065a3 100644 --- a/quantum/pointing_device/pointing_device_auto_mouse.h +++ b/quantum/pointing_device/pointing_device_auto_mouse.h @@ -81,9 +81,11 @@ void set_auto_mouse_timeout(uint16_t timeout); // set l uint16_t get_auto_mouse_timeout(void); // get layer timeout void set_auto_mouse_debounce(uint8_t debounce); // set debounce uint8_t get_auto_mouse_debounce(void); // get debounce +void set_auto_mouse_key_tracker(int8_t key_tracker); // set key tracker +int8_t get_auto_mouse_key_tracker(void); // get key tracker void auto_mouse_layer_off(void); // disable target layer if appropriate (DO NOT USE in layer_state_set stack!!) layer_state_t remove_auto_mouse_layer(layer_state_t state, bool force); // remove auto mouse target layer from state if appropriate (can be forced) - +bool is_auto_mouse_active(void); // check if target layer is active /* ----------For custom pointing device activation----------------------------------------------------------- */ bool auto_mouse_activation(report_mouse_t mouse_report); // handles pointing device trigger conditions for target layer activation (overwritable) -- cgit v1.2.3 From 23b7a02ebe2e6df738baa624c17e821c1573b69b Mon Sep 17 00:00:00 2001 From: Ryan Date: Sun, 17 Mar 2024 19:23:14 +1100 Subject: LED drivers: add support for IS31FL3236 (#23264) --- builddefs/common_features.mk | 16 ++- data/schemas/keyboard.jsonschema | 2 + docs/reference_info_json.md | 2 +- drivers/led/issi/is31fl3236-mono.c | 168 +++++++++++++++++++++++++++++++ drivers/led/issi/is31fl3236-mono.h | 101 +++++++++++++++++++ drivers/led/issi/is31fl3236.c | 172 ++++++++++++++++++++++++++++++++ drivers/led/issi/is31fl3236.h | 103 +++++++++++++++++++ quantum/led_matrix/led_matrix_drivers.c | 8 ++ quantum/led_matrix/led_matrix_drivers.h | 2 + quantum/rgb_matrix/rgb_matrix_drivers.c | 8 ++ quantum/rgb_matrix/rgb_matrix_drivers.h | 2 + 11 files changed, 581 insertions(+), 3 deletions(-) create mode 100644 drivers/led/issi/is31fl3236-mono.c create mode 100644 drivers/led/issi/is31fl3236-mono.h create mode 100644 drivers/led/issi/is31fl3236.c create mode 100644 drivers/led/issi/is31fl3236.h (limited to 'docs') diff --git a/builddefs/common_features.mk b/builddefs/common_features.mk index 7227a5558e..49197dc91e 100644 --- a/builddefs/common_features.mk +++ b/builddefs/common_features.mk @@ -340,7 +340,7 @@ LED_MATRIX_DRIVER := snled27351 endif LED_MATRIX_ENABLE ?= no -VALID_LED_MATRIX_TYPES := is31fl3218 is31fl3729 is31fl3731 is31fl3733 is31fl3736 is31fl3737 is31fl3741 is31fl3742a is31fl3743a is31fl3745 is31fl3746a snled27351 custom +VALID_LED_MATRIX_TYPES := is31fl3218 is31fl3236 is31fl3729 is31fl3731 is31fl3733 is31fl3736 is31fl3737 is31fl3741 is31fl3742a is31fl3743a is31fl3745 is31fl3746a snled27351 custom ifeq ($(strip $(LED_MATRIX_ENABLE)), yes) ifeq ($(filter $(LED_MATRIX_DRIVER),$(VALID_LED_MATRIX_TYPES)),) @@ -365,6 +365,12 @@ ifeq ($(strip $(LED_MATRIX_ENABLE)), yes) SRC += is31fl3218-mono.c endif + ifeq ($(strip $(LED_MATRIX_DRIVER)), is31fl3236) + I2C_DRIVER_REQUIRED = yes + COMMON_VPATH += $(DRIVER_PATH)/led/issi + SRC += is31fl3236-mono.c + endif + ifeq ($(strip $(LED_MATRIX_DRIVER)), is31fl3729) I2C_DRIVER_REQUIRED = yes COMMON_VPATH += $(DRIVER_PATH)/led/issi @@ -443,7 +449,7 @@ endif RGB_MATRIX_ENABLE ?= no -VALID_RGB_MATRIX_TYPES := aw20216s is31fl3218 is31fl3729 is31fl3731 is31fl3733 is31fl3736 is31fl3737 is31fl3741 is31fl3742a is31fl3743a is31fl3745 is31fl3746a snled27351 ws2812 custom +VALID_RGB_MATRIX_TYPES := aw20216s is31fl3218 is31fl3236 is31fl3729 is31fl3731 is31fl3733 is31fl3736 is31fl3737 is31fl3741 is31fl3742a is31fl3743a is31fl3745 is31fl3746a snled27351 ws2812 custom ifeq ($(strip $(RGB_MATRIX_ENABLE)), yes) ifeq ($(filter $(RGB_MATRIX_DRIVER),$(VALID_RGB_MATRIX_TYPES)),) $(call CATASTROPHIC_ERROR,Invalid RGB_MATRIX_DRIVER,RGB_MATRIX_DRIVER="$(RGB_MATRIX_DRIVER)" is not a valid matrix type) @@ -474,6 +480,12 @@ ifeq ($(strip $(RGB_MATRIX_ENABLE)), yes) SRC += is31fl3218.c endif + ifeq ($(strip $(RGB_MATRIX_DRIVER)), is31fl3236) + I2C_DRIVER_REQUIRED = yes + COMMON_VPATH += $(DRIVER_PATH)/led/issi + SRC += is31fl3236.c + endif + ifeq ($(strip $(RGB_MATRIX_DRIVER)), is31fl3729) I2C_DRIVER_REQUIRED = yes COMMON_VPATH += $(DRIVER_PATH)/led/issi diff --git a/data/schemas/keyboard.jsonschema b/data/schemas/keyboard.jsonschema index 5c6788913b..25aaabcf4a 100644 --- a/data/schemas/keyboard.jsonschema +++ b/data/schemas/keyboard.jsonschema @@ -453,6 +453,7 @@ "enum": [ "custom", "is31fl3218", + "is31fl3236", "is31fl3729", "is31fl3731", "is31fl3733", @@ -535,6 +536,7 @@ "aw20216s", "custom", "is31fl3218", + "is31fl3236", "is31fl3729", "is31fl3731", "is31fl3733", diff --git a/docs/reference_info_json.md b/docs/reference_info_json.md index b715c14041..e6bc34e79e 100644 --- a/docs/reference_info_json.md +++ b/docs/reference_info_json.md @@ -640,7 +640,7 @@ Configures the [RGB Matrix](feature_rgb_matrix.md) feature. * The default animation speed. * Default: `128` * `driver` (Required) - * The driver to use. Must be one of `aw20216s`, `custom`, `is31fl3218`, `is31fl3729`, `is31fl3731`, `is31fl3733`, `is31fl3736`, `is31fl3737`, `is31fl3741`, `is31fl3742a`, `is31fl3743a`, `is31fl3745`, `is31fl3746a`, `snled27351`, `ws2812`. + * 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` * The number of hue adjustment steps. * Default: `8` diff --git a/drivers/led/issi/is31fl3236-mono.c b/drivers/led/issi/is31fl3236-mono.c new file mode 100644 index 0000000000..b80245a1dc --- /dev/null +++ b/drivers/led/issi/is31fl3236-mono.c @@ -0,0 +1,168 @@ +// Copyright 2024 QMK +// SPDX-License-Identifier: GPL-2.0-or-later + +#include "is31fl3236-mono.h" +#include "i2c_master.h" +#include "gpio.h" + +#define IS31FL3236_PWM_REGISTER_COUNT 36 +#define IS31FL3236_LED_CONTROL_REGISTER_COUNT 36 + +#ifndef IS31FL3236_I2C_TIMEOUT +# define IS31FL3236_I2C_TIMEOUT 100 +#endif + +#ifndef IS31FL3236_I2C_PERSISTENCE +# define IS31FL3236_I2C_PERSISTENCE 0 +#endif + +#ifndef IS31FL3236_PWM_FREQUENCY +# define IS31FL3236_PWM_FREQUENCY IS31FL3236_PWM_FREQUENCY_3K_HZ // OFS - IS31FL3236A only +#endif + +const uint8_t i2c_addresses[IS31FL3236_DRIVER_COUNT] = { + IS31FL3236_I2C_ADDRESS_1, +#ifdef IS31FL3236_I2C_ADDRESS_2 + IS31FL3236_I2C_ADDRESS_2, +# ifdef IS31FL3236_I2C_ADDRESS_3 + IS31FL3236_I2C_ADDRESS_3, +# ifdef IS31FL3236_I2C_ADDRESS_4 + IS31FL3236_I2C_ADDRESS_4, +# endif +# endif +#endif +}; + +typedef struct is31fl3236_driver_t { + uint8_t pwm_buffer[IS31FL3236_PWM_REGISTER_COUNT]; + bool pwm_buffer_dirty; + uint8_t led_control_buffer[IS31FL3236_LED_CONTROL_REGISTER_COUNT]; + bool led_control_buffer_dirty; +} PACKED is31fl3236_driver_t; + +is31fl3236_driver_t driver_buffers[IS31FL3236_DRIVER_COUNT] = {{ + .pwm_buffer = {0}, + .pwm_buffer_dirty = false, + .led_control_buffer = {0}, + .led_control_buffer_dirty = false, +}}; + +void is31fl3236_write_register(uint8_t index, uint8_t reg, uint8_t data) { +#if IS31FL3236_I2C_PERSISTENCE > 0 + for (uint8_t i = 0; i < IS31FL3236_I2C_PERSISTENCE; i++) { + if (i2c_write_register(i2c_addresses[index] << 1, reg, &data, 1, IS31FL3236_I2C_TIMEOUT) == I2C_STATUS_SUCCESS) break; + } +#else + i2c_write_register(i2c_addresses[index] << 1, reg, &data, 1, IS31FL3236_I2C_TIMEOUT); +#endif +} + +void is31fl3236_write_pwm_buffer(uint8_t index) { +#if IS31FL3236_I2C_PERSISTENCE > 0 + for (uint8_t i = 0; i < IS31FL3236_I2C_PERSISTENCE; i++) { + if (i2c_write_register(i2c_addresses[index] << 1, IS31FL3236_REG_PWM, driver_buffers[index].pwm_buffer, 36, IS31FL3236_I2C_TIMEOUT) == I2C_STATUS_SUCCESS) break; + } +#else + i2c_write_register(i2c_addresses[index] << 1, IS31FL3236_REG_PWM, driver_buffers[index].pwm_buffer, 36, IS31FL3236_I2C_TIMEOUT); +#endif +} + +void is31fl3236_init_drivers(void) { + i2c_init(); + +#if defined(IS31FL3236_SDB_PIN) + gpio_set_pin_output(IS31FL3236_SDB_PIN); + gpio_write_pin_high(IS31FL3236_SDB_PIN); +#endif + + for (uint8_t i = 0; i < IS31FL3236_DRIVER_COUNT; i++) { + is31fl3236_init(i); + } + + for (uint8_t i = 0; i < IS31FL3236_LED_COUNT; i++) { + is31fl3236_set_led_control_register(i, true); + } + + for (uint8_t i = 0; i < IS31FL3236_DRIVER_COUNT; i++) { + is31fl3236_update_led_control_registers(i); + } +} + +void is31fl3236_init(uint8_t index) { + // In case we ever want to reinitialize (?) + is31fl3236_write_register(index, IS31FL3236_REG_RESET, 0x00); + + // Turn off software shutdown + is31fl3236_write_register(index, IS31FL3236_REG_SHUTDOWN, 0x01); + + // Set all PWM values to zero + for (uint8_t i = 0; i < IS31FL3236_PWM_REGISTER_COUNT; i++) { + is31fl3236_write_register(index, IS31FL3236_REG_PWM + i, 0x00); + } + + // turn off all LEDs in the LED control register + for (uint8_t i = 0; i < IS31FL3236_LED_CONTROL_REGISTER_COUNT; i++) { + is31fl3236_write_register(index, IS31FL3236_REG_LED_CONTROL + i, 0x00); + } + + // Set PWM frequency (IS31FL3236A) + is31fl3236_write_register(index, IS31FL3236_REG_PWM_FREQUENCY, IS31FL3236_PWM_FREQUENCY); + + // Load PWM registers and LED Control register data + is31fl3236_write_register(index, IS31FL3236_REG_UPDATE, 0x01); +} + +void is31fl3236_set_value(int index, uint8_t value) { + is31fl3236_led_t led; + + if (index < IS31FL3236_LED_COUNT) { + memcpy_P(&led, (&g_is31fl3236_leds[index]), sizeof(led)); + + if (driver_buffers[led.driver].pwm_buffer[led.v] == value) { + return; + } + + driver_buffers[led.driver].pwm_buffer[led.v] = value; + driver_buffers[led.driver].pwm_buffer_dirty = true; + } +} + +void is31fl3236_set_value_all(uint8_t value) { + for (uint8_t i = 0; i < IS31FL3236_LED_COUNT; i++) { + is31fl3236_set_value(i, value); + } +} + +void is31fl3236_set_led_control_register(uint8_t index, bool value) { + is31fl3236_led_t led; + memcpy_P(&led, (&g_is31fl3236_leds[index]), sizeof(led)); + + driver_buffers[led.driver].led_control_buffer[led.v] = value ? 0x01 : 0x00; + driver_buffers[led.driver].led_control_buffer_dirty = true; +} + +void is31fl3236_update_pwm_buffers(uint8_t index) { + if (driver_buffers[index].pwm_buffer_dirty) { + is31fl3236_write_pwm_buffer(index); + // Load PWM registers and LED Control register data + is31fl3236_write_register(index, IS31FL3236_REG_UPDATE, 0x01); + + driver_buffers[index].pwm_buffer_dirty = false; + } +} + +void is31fl3236_update_led_control_registers(uint8_t index) { + if (driver_buffers[index].led_control_buffer_dirty) { + for (uint8_t i = 0; i < IS31FL3236_LED_CONTROL_REGISTER_COUNT; i++) { + is31fl3236_write_register(index, IS31FL3236_REG_LED_CONTROL + i, driver_buffers[index].led_control_buffer[i]); + } + + driver_buffers[index].led_control_buffer_dirty = false; + } +} + +void is31fl3236_flush(void) { + for (uint8_t i = 0; i < IS31FL3236_DRIVER_COUNT; i++) { + is31fl3236_update_pwm_buffers(i); + } +} diff --git a/drivers/led/issi/is31fl3236-mono.h b/drivers/led/issi/is31fl3236-mono.h new file mode 100644 index 0000000000..90735bb1aa --- /dev/null +++ b/drivers/led/issi/is31fl3236-mono.h @@ -0,0 +1,101 @@ +// Copyright 2024 QMK +// SPDX-License-Identifier: GPL-2.0-or-later + +#pragma once + +#include +#include +#include "progmem.h" +#include "util.h" + +#define IS31FL3236_REG_SHUTDOWN 0x00 +#define IS31FL3236_REG_PWM 0x01 +#define IS31FL3236_REG_UPDATE 0x25 +#define IS31FL3236_REG_LED_CONTROL 0x26 +#define IS31FL3236_REG_GLOBAL_CONTROL 0x4A +#define IS31FL3236_REG_PWM_FREQUENCY 0x4B +#define IS31FL3236_REG_RESET 0x4F + +#define IS31FL3236_I2C_ADDRESS_GND 0x3C +#define IS31FL3236_I2C_ADDRESS_SCL 0x3D +#define IS31FL3236_I2C_ADDRESS_SDA 0x3E +#define IS31FL3236_I2C_ADDRESS_VCC 0x3F + +#if defined(LED_MATRIX_IS31FL3236) +# define IS31FL3236_LED_COUNT LED_MATRIX_LED_COUNT +#endif + +#if defined(IS31FL3236_I2C_ADDRESS_4) +# define IS31FL3236_DRIVER_COUNT 4 +#elif defined(IS31FL3236_I2C_ADDRESS_3) +# define IS31FL3236_DRIVER_COUNT 3 +#elif defined(IS31FL3236_I2C_ADDRESS_2) +# define IS31FL3236_DRIVER_COUNT 2 +#elif defined(IS31FL3236_I2C_ADDRESS_1) +# define IS31FL3236_DRIVER_COUNT 1 +#endif + +typedef struct is31fl3236_led_t { + uint8_t driver : 2; + uint8_t v; +} PACKED is31fl3236_led_t; + +extern const is31fl3236_led_t PROGMEM g_is31fl3236_leds[IS31FL3236_LED_COUNT]; + +void is31fl3236_init_drivers(void); + +void is31fl3236_init(uint8_t index); + +void is31fl3236_write_register(uint8_t index, uint8_t reg, uint8_t data); + +void is31fl3236_set_value(int index, uint8_t value); + +void is31fl3236_set_value_all(uint8_t value); + +void is31fl3236_set_led_control_register(uint8_t index, bool value); + +void is31fl3236_update_pwm_buffers(uint8_t index); + +void is31fl3236_update_led_control_registers(uint8_t index); + +void is31fl3236_flush(void); + +#define IS31FL3236_PWM_FREQUENCY_3K_HZ 0b0 +#define IS31FL3236_PWM_FREQUENCY_22K_HZ 0b1 + +#define OUT1 0x00 +#define OUT2 0x01 +#define OUT3 0x02 +#define OUT4 0x03 +#define OUT5 0x04 +#define OUT6 0x05 +#define OUT7 0x06 +#define OUT8 0x07 +#define OUT9 0x08 +#define OUT10 0x09 +#define OUT11 0x0A +#define OUT12 0x0B +#define OUT13 0x0C +#define OUT14 0x0D +#define OUT15 0x0E +#define OUT16 0x0F +#define OUT17 0x10 +#define OUT18 0x11 +#define OUT19 0x12 +#define OUT20 0x13 +#define OUT21 0x14 +#define OUT22 0x15 +#define OUT23 0x16 +#define OUT24 0x17 +#define OUT25 0x18 +#define OUT26 0x19 +#define OUT27 0x1A +#define OUT28 0x1B +#define OUT29 0x1C +#define OUT30 0x1D +#define OUT31 0x1E +#define OUT32 0x1F +#define OUT33 0x20 +#define OUT34 0x21 +#define OUT35 0x22 +#define OUT36 0x23 diff --git a/drivers/led/issi/is31fl3236.c b/drivers/led/issi/is31fl3236.c new file mode 100644 index 0000000000..b8aa9c34b1 --- /dev/null +++ b/drivers/led/issi/is31fl3236.c @@ -0,0 +1,172 @@ +// Copyright 2024 QMK +// SPDX-License-Identifier: GPL-2.0-or-later + +#include "is31fl3236.h" +#include "i2c_master.h" +#include "gpio.h" + +#define IS31FL3236_PWM_REGISTER_COUNT 36 +#define IS31FL3236_LED_CONTROL_REGISTER_COUNT 36 + +#ifndef IS31FL3236_I2C_TIMEOUT +# define IS31FL3236_I2C_TIMEOUT 100 +#endif + +#ifndef IS31FL3236_I2C_PERSISTENCE +# define IS31FL3236_I2C_PERSISTENCE 0 +#endif + +#ifndef IS31FL3236_PWM_FREQUENCY +# define IS31FL3236_PWM_FREQUENCY IS31FL3236_PWM_FREQUENCY_3K_HZ // OFS - IS31FL3236A only +#endif + +const uint8_t i2c_addresses[IS31FL3236_DRIVER_COUNT] = { + IS31FL3236_I2C_ADDRESS_1, +#ifdef IS31FL3236_I2C_ADDRESS_2 + IS31FL3236_I2C_ADDRESS_2, +# ifdef IS31FL3236_I2C_ADDRESS_3 + IS31FL3236_I2C_ADDRESS_3, +# ifdef IS31FL3236_I2C_ADDRESS_4 + IS31FL3236_I2C_ADDRESS_4, +# endif +# endif +#endif +}; + +typedef struct is31fl3236_driver_t { + uint8_t pwm_buffer[IS31FL3236_PWM_REGISTER_COUNT]; + bool pwm_buffer_dirty; + uint8_t led_control_buffer[IS31FL3236_LED_CONTROL_REGISTER_COUNT]; + bool led_control_buffer_dirty; +} PACKED is31fl3236_driver_t; + +is31fl3236_driver_t driver_buffers[IS31FL3236_DRIVER_COUNT] = {{ + .pwm_buffer = {0}, + .pwm_buffer_dirty = false, + .led_control_buffer = {0}, + .led_control_buffer_dirty = false, +}}; + +void is31fl3236_write_register(uint8_t index, uint8_t reg, uint8_t data) { +#if IS31FL3236_I2C_PERSISTENCE > 0 + for (uint8_t i = 0; i < IS31FL3236_I2C_PERSISTENCE; i++) { + if (i2c_write_register(i2c_addresses[index] << 1, reg, &data, 1, IS31FL3236_I2C_TIMEOUT) == I2C_STATUS_SUCCESS) break; + } +#else + i2c_write_register(i2c_addresses[index] << 1, reg, &data, 1, IS31FL3236_I2C_TIMEOUT); +#endif +} + +void is31fl3236_write_pwm_buffer(uint8_t index) { +#if IS31FL3236_I2C_PERSISTENCE > 0 + for (uint8_t i = 0; i < IS31FL3236_I2C_PERSISTENCE; i++) { + if (i2c_write_register(i2c_addresses[index] << 1, IS31FL3236_REG_PWM, driver_buffers[index].pwm_buffer, 36, IS31FL3236_I2C_TIMEOUT) == I2C_STATUS_SUCCESS) break; + } +#else + i2c_write_register(i2c_addresses[index] << 1, IS31FL3236_REG_PWM, driver_buffers[index].pwm_buffer, 36, IS31FL3236_I2C_TIMEOUT); +#endif +} + +void is31fl3236_init_drivers(void) { + i2c_init(); + +#if defined(IS31FL3236_SDB_PIN) + gpio_set_pin_output(IS31FL3236_SDB_PIN); + gpio_write_pin_high(IS31FL3236_SDB_PIN); +#endif + + for (uint8_t i = 0; i < IS31FL3236_DRIVER_COUNT; i++) { + is31fl3236_init(i); + } + + for (uint8_t i = 0; i < IS31FL3236_LED_COUNT; i++) { + is31fl3236_set_led_control_register(i, true, true, true); + } + + for (uint8_t i = 0; i < IS31FL3236_DRIVER_COUNT; i++) { + is31fl3236_update_led_control_registers(i); + } +} + +void is31fl3236_init(uint8_t index) { + // In case we ever want to reinitialize (?) + is31fl3236_write_register(index, IS31FL3236_REG_RESET, 0x00); + + // Turn off software shutdown + is31fl3236_write_register(index, IS31FL3236_REG_SHUTDOWN, 0x01); + + // Set all PWM values to zero + for (uint8_t i = 0; i < IS31FL3236_PWM_REGISTER_COUNT; i++) { + is31fl3236_write_register(index, IS31FL3236_REG_PWM + i, 0x00); + } + + // turn off all LEDs in the LED control register + for (uint8_t i = 0; i < IS31FL3236_LED_CONTROL_REGISTER_COUNT; i++) { + is31fl3236_write_register(index, IS31FL3236_REG_LED_CONTROL + i, 0x00); + } + + // Set PWM frequency (IS31FL3236A) + is31fl3236_write_register(index, IS31FL3236_REG_PWM_FREQUENCY, IS31FL3236_PWM_FREQUENCY); + + // Load PWM registers and LED Control register data + is31fl3236_write_register(index, IS31FL3236_REG_UPDATE, 0x01); +} + +void is31fl3236_set_color(int index, uint8_t red, uint8_t green, uint8_t blue) { + is31fl3236_led_t led; + + if (index < IS31FL3236_LED_COUNT) { + memcpy_P(&led, (&g_is31fl3236_leds[index]), sizeof(led)); + + if (driver_buffers[led.driver].pwm_buffer[led.r] == red && driver_buffers[led.driver].pwm_buffer[led.g] == green && driver_buffers[led.driver].pwm_buffer[led.b] == blue) { + return; + } + + driver_buffers[led.driver].pwm_buffer[led.r] = red; + driver_buffers[led.driver].pwm_buffer[led.g] = green; + driver_buffers[led.driver].pwm_buffer[led.b] = blue; + driver_buffers[led.driver].pwm_buffer_dirty = true; + } +} + +void is31fl3236_set_color_all(uint8_t red, uint8_t green, uint8_t blue) { + for (uint8_t i = 0; i < IS31FL3236_LED_COUNT; i++) { + is31fl3236_set_color(i, red, green, blue); + } +} + +void is31fl3236_set_led_control_register(uint8_t index, bool red, bool green, bool blue) { + is31fl3236_led_t led; + memcpy_P(&led, (&g_is31fl3236_leds[index]), sizeof(led)); + + driver_buffers[led.driver].led_control_buffer[led.r] = red ? 0x01 : 0x00; + driver_buffers[led.driver].led_control_buffer[led.g] = green ? 0x01 : 0x00; + driver_buffers[led.driver].led_control_buffer[led.b] = blue ? 0x01 : 0x00; + driver_buffers[led.driver].led_control_buffer_dirty = true; +} + +void is31fl3236_update_pwm_buffers(uint8_t index) { + if (driver_buffers[index].pwm_buffer_dirty) { + is31fl3236_write_pwm_buffer(index); + // Load PWM registers and LED Control register data + is31fl3236_write_register(index, IS31FL3236_REG_UPDATE, 0x01); + + driver_buffers[index].pwm_buffer_dirty = false; + } +} + +void is31fl3236_update_led_control_registers(uint8_t index) { + if (driver_buffers[index].led_control_buffer_dirty) { + for (uint8_t i = 0; i < IS31FL3236_LED_CONTROL_REGISTER_COUNT; i++) { + is31fl3236_write_register(index, IS31FL3236_REG_LED_CONTROL + i, driver_buffers[index].led_control_buffer[i]); + } + + driver_buffers[index].led_control_buffer_dirty = false; + } +} + +void is31fl3236_flush(void) { + for (uint8_t i = 0; i < IS31FL3236_DRIVER_COUNT; i++) { + is31fl3236_update_pwm_buffers(i); + } +} diff --git a/drivers/led/issi/is31fl3236.h b/drivers/led/issi/is31fl3236.h new file mode 100644 index 0000000000..1e490796b2 --- /dev/null +++ b/drivers/led/issi/is31fl3236.h @@ -0,0 +1,103 @@ +// Copyright 2024 QMK +// SPDX-License-Identifier: GPL-2.0-or-later + +#pragma once + +#include +#include +#include "progmem.h" +#include "util.h" + +#define IS31FL3236_REG_SHUTDOWN 0x00 +#define IS31FL3236_REG_PWM 0x01 +#define IS31FL3236_REG_UPDATE 0x25 +#define IS31FL3236_REG_LED_CONTROL 0x26 +#define IS31FL3236_REG_GLOBAL_CONTROL 0x4A +#define IS31FL3236_REG_PWM_FREQUENCY 0x4B +#define IS31FL3236_REG_RESET 0x4F + +#define IS31FL3236_I2C_ADDRESS_GND 0x3C +#define IS31FL3236_I2C_ADDRESS_SCL 0x3D +#define IS31FL3236_I2C_ADDRESS_SDA 0x3E +#define IS31FL3236_I2C_ADDRESS_VCC 0x3F + +#if defined(RGB_MATRIX_IS31FL3236) +# define IS31FL3236_LED_COUNT RGB_MATRIX_LED_COUNT +#endif + +#if defined(IS31FL3236_I2C_ADDRESS_4) +# define IS31FL3236_DRIVER_COUNT 4 +#elif defined(IS31FL3236_I2C_ADDRESS_3) +# define IS31FL3236_DRIVER_COUNT 3 +#elif defined(IS31FL3236_I2C_ADDRESS_2) +# define IS31FL3236_DRIVER_COUNT 2 +#elif defined(IS31FL3236_I2C_ADDRESS_1) +# define IS31FL3236_DRIVER_COUNT 1 +#endif + +typedef struct is31fl3236_led_t { + uint8_t driver : 2; + uint8_t r; + uint8_t g; + uint8_t b; +} PACKED is31fl3236_led_t; + +extern const is31fl3236_led_t PROGMEM g_is31fl3236_leds[IS31FL3236_LED_COUNT]; + +void is31fl3236_init_drivers(void); + +void is31fl3236_init(uint8_t index); + +void is31fl3236_write_register(uint8_t index, uint8_t reg, uint8_t data); + +void is31fl3236_set_color(int index, uint8_t red, uint8_t green, uint8_t blue); + +void is31fl3236_set_color_all(uint8_t red, uint8_t green, uint8_t blue); + +void is31fl3236_set_led_control_register(uint8_t index, bool red, bool green, bool blue); + +void is31fl3236_update_pwm_buffers(uint8_t index); + +void is31fl3236_update_led_control_registers(uint8_t index); + +void is31fl3236_flush(void); + +#define IS31FL3236_PWM_FREQUENCY_3K_HZ 0b0 +#define IS31FL3236_PWM_FREQUENCY_22K_HZ 0b1 + +#define OUT1 0x00 +#define OUT2 0x01 +#define OUT3 0x02 +#define OUT4 0x03 +#define OUT5 0x04 +#define OUT6 0x05 +#define OUT7 0x06 +#define OUT8 0x07 +#define OUT9 0x08 +#define OUT10 0x09 +#define OUT11 0x0A +#define OUT12 0x0B +#define OUT13 0x0C +#define OUT14 0x0D +#define OUT15 0x0E +#define OUT16 0x0F +#define OUT17 0x10 +#define OUT18 0x11 +#define OUT19 0x12 +#define OUT20 0x13 +#define OUT21 0x14 +#define OUT22 0x15 +#define OUT23 0x16 +#define OUT24 0x17 +#define OUT25 0x18 +#define OUT26 0x19 +#define OUT27 0x1A +#define OUT28 0x1B +#define OUT29 0x1C +#define OUT30 0x1D +#define OUT31 0x1E +#define OUT32 0x1F +#define OUT33 0x20 +#define OUT34 0x21 +#define OUT35 0x22 +#define OUT36 0x23 diff --git a/quantum/led_matrix/led_matrix_drivers.c b/quantum/led_matrix/led_matrix_drivers.c index 2e80bd0375..bd4852e939 100644 --- a/quantum/led_matrix/led_matrix_drivers.c +++ b/quantum/led_matrix/led_matrix_drivers.c @@ -33,6 +33,14 @@ const led_matrix_driver_t led_matrix_driver = { .set_value_all = is31fl3218_set_value_all, }; +#elif defined(LED_MATRIX_IS31FL3236) +const led_matrix_driver_t led_matrix_driver = { + .init = is31fl3236_init_drivers, + .flush = is31fl3236_flush, + .set_value = is31fl3236_set_value, + .set_value_all = is31fl3236_set_value_all, +}; + #elif defined(LED_MATRIX_IS31FL3729) const led_matrix_driver_t led_matrix_driver = { .init = is31fl3729_init_drivers, diff --git a/quantum/led_matrix/led_matrix_drivers.h b/quantum/led_matrix/led_matrix_drivers.h index a961784a62..60354e4677 100644 --- a/quantum/led_matrix/led_matrix_drivers.h +++ b/quantum/led_matrix/led_matrix_drivers.h @@ -7,6 +7,8 @@ #if defined(LED_MATRIX_IS31FL3218) # include "is31fl3218-mono.h" +#elif defined(LED_MATRIX_IS31FL3236) +# include "is31fl3236-mono.h" #elif defined(LED_MATRIX_IS31FL3729) # include "is31fl3729-mono.h" #elif defined(LED_MATRIX_IS31FL3731) diff --git a/quantum/rgb_matrix/rgb_matrix_drivers.c b/quantum/rgb_matrix/rgb_matrix_drivers.c index 95d1e884f0..729dcdb439 100644 --- a/quantum/rgb_matrix/rgb_matrix_drivers.c +++ b/quantum/rgb_matrix/rgb_matrix_drivers.c @@ -36,6 +36,14 @@ const rgb_matrix_driver_t rgb_matrix_driver = { .set_color_all = is31fl3218_set_color_all, }; +#elif defined(RGB_MATRIX_IS31FL3236) +const rgb_matrix_driver_t rgb_matrix_driver = { + .init = is31fl3236_init_drivers, + .flush = is31fl3236_flush, + .set_color = is31fl3236_set_color, + .set_color_all = is31fl3236_set_color_all, +}; + #elif defined(RGB_MATRIX_IS31FL3729) const rgb_matrix_driver_t rgb_matrix_driver = { .init = is31fl3729_init_drivers, diff --git a/quantum/rgb_matrix/rgb_matrix_drivers.h b/quantum/rgb_matrix/rgb_matrix_drivers.h index a24cb03a18..1ea5f0817d 100644 --- a/quantum/rgb_matrix/rgb_matrix_drivers.h +++ b/quantum/rgb_matrix/rgb_matrix_drivers.h @@ -7,6 +7,8 @@ #if defined(RGB_MATRIX_AW20216S) # include "aw20216s.h" +#elif defined(RGB_MATRIX_IS31FL3236) +# include "is31fl3236.h" #elif defined(RGB_MATRIX_IS31FL3218) # include "is31fl3218.h" #elif defined(RGB_MATRIX_IS31FL3729) -- cgit v1.2.3 From 583cde398a28e429485b440de38a2ed9ec528830 Mon Sep 17 00:00:00 2001 From: Ryan Date: Fri, 22 Mar 2024 17:04:13 +1100 Subject: Un-`extern` RGBLight `led[]` array (#23322) --- docs/feature_rgblight.md | 15 ----- keyboards/hineybush/hbcp/hbcp.c | 5 +- keyboards/hineybush/hbcp/keymaps/hiney/keymap.c | 50 ++------------ keyboards/neson_design/nico/info.json | 3 +- keyboards/neson_design/nico/nico.c | 90 ------------------------- keyboards/neson_design/nico/rules.mk | 1 - keyboards/snes_macropad/snes_macropad.c | 16 ----- quantum/rgblight/rgblight.c | 18 ++--- quantum/rgblight/rgblight.h | 7 -- 9 files changed, 17 insertions(+), 188 deletions(-) delete mode 100644 keyboards/neson_design/nico/nico.c (limited to 'docs') diff --git a/docs/feature_rgblight.md b/docs/feature_rgblight.md index b7ba075731..a6a89d1d00 100644 --- a/docs/feature_rgblight.md +++ b/docs/feature_rgblight.md @@ -356,27 +356,12 @@ Usually lighting layers apply their configured brightness once activated. If you If you need to change your RGB lighting in code, for example in a macro to change the color whenever you switch layers, QMK provides a set of functions to assist you. See [`rgblight.h`](https://github.com/qmk/qmk_firmware/blob/master/quantum/rgblight/rgblight.h) for the full list, but the most commonly used functions include: -### Utility Functions -|Function |Description | -|--------------------------------------------|-------------------------------------------------------------------| -|`sethsv(hue, sat, val, ledbuf)` |Set ledbuf to the given HSV value | -|`sethsv_raw(hue, sat, val, ledbuf)` |Set ledbuf to the given HSV value without RGBLIGHT_LIMIT_VAL check | -|`setrgb(r, g, b, ledbuf)` |Set ledbuf to the given RGB value where `r`/`g`/`b` | - ### Low level Functions |Function |Description | |--------------------------------------------|-------------------------------------------| |`rgblight_set()` |Flush out led buffers to LEDs | |`rgblight_set_clipping_range(pos, num)` |Set clipping Range. see [Clipping Range](#clipping-range) | -Example: -```c -sethsv(HSV_WHITE, (rgb_led_t *)&led[0]); // led 0 -sethsv(HSV_RED, (rgb_led_t *)&led[1]); // led 1 -sethsv(HSV_GREEN, (rgb_led_t *)&led[2]); // led 2 -rgblight_set(); // Utility functions do not call rgblight_set() automatically, so they need to be called explicitly. -``` - ### Effects and Animations Functions #### effect range setting |Function |Description | diff --git a/keyboards/hineybush/hbcp/hbcp.c b/keyboards/hineybush/hbcp/hbcp.c index 5b22c69007..e422b46fdc 100644 --- a/keyboards/hineybush/hbcp/hbcp.c +++ b/keyboards/hineybush/hbcp/hbcp.c @@ -82,12 +82,9 @@ void keyboard_post_init_user(void) { __attribute__ ((weak)) void hbcp_sethsv_range(uint8_t hue, uint8_t sat, uint8_t val, uint8_t start, uint8_t end) { - rgb_led_t tmp_led; - sethsv_raw(hue, sat, val, &tmp_led); for (uint8_t i = start; i < end; i++) { - led[i] = tmp_led; + rgblight_sethsv_at(hue, sat, val, i); } - rgblight_set(); } #endif diff --git a/keyboards/hineybush/hbcp/keymaps/hiney/keymap.c b/keyboards/hineybush/hbcp/keymaps/hiney/keymap.c index 2311d4020f..2d73326c9a 100644 --- a/keyboards/hineybush/hbcp/keymaps/hiney/keymap.c +++ b/keyboards/hineybush/hbcp/keymaps/hiney/keymap.c @@ -15,13 +15,6 @@ */ #include QMK_KEYBOARD_H -// Defines the keycodes used by our macros in process_record_user -enum custom_keycodes { - QMKBEST = SAFE_RANGE, - ALTCUT, - QMKURL -}; - const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { [0] = LAYOUT_wkl( /* Base */ @@ -45,55 +38,24 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { ), }; -bool process_record_user(uint16_t keycode, keyrecord_t *record) { - switch (keycode) { - case ALTCUT: - if (record->event.pressed) { - // when keycode QMKBEST is pressed - send_string_with_delay_P(PSTR(SS_TAP(X_TAB)SS_TAP(X_T)SS_TAP(X_V)SS_TAP(X_B)), 20); // altium macro - } else { - // when keycode QMKBEST is released - } - break; - case QMKURL: - if (record->event.pressed) { - // when keycode QMKURL is pressed - SEND_STRING("https://qmk.fm/" SS_TAP(X_ENTER)); - } else { - // when keycode QMKURL is released - } - break; - } - return true; -} - -void matrix_init_user(void) { - -} - -void matrix_scan_user(void) { - -} - #ifdef RGBLIGHT_ENABLE // The first three LEDs are used as indicators for CAPS_LOCK, NUM_LOCK and SCROLL_LOCK. bool led_update_user(led_t led_state) { if (led_state.caps_lock) { - sethsv_raw(HSV_SOFT_RED, (rgb_led_t *)&led[0]); + rgblight_sethsv_at(HSV_SOFT_RED, 0); } else { - sethsv(HSV_BLACK, (rgb_led_t *)&led[0]); + rgblight_sethsv_at(HSV_BLACK, 0); } if (led_state.num_lock) { - sethsv_raw(HSV_WARM_WHITE, (rgb_led_t *)&led[1]); + rgblight_sethsv_at(HSV_WARM_WHITE, 1); } else { - sethsv(HSV_BLACK, (rgb_led_t *)&led[1]); + rgblight_sethsv_at(HSV_BLACK, 1); } if (led_state.scroll_lock) { - sethsv_raw(HSV_SOFT_BLUE, (rgb_led_t *)&led[2]); + rgblight_sethsv_at(HSV_SOFT_BLUE, 2); } else { - sethsv(HSV_BLACK, (rgb_led_t *)&led[2]); + rgblight_sethsv_at(HSV_BLACK, 2); } - rgblight_set(); return false; } diff --git a/keyboards/neson_design/nico/info.json b/keyboards/neson_design/nico/info.json index 1c86d9a1ae..477ac3ba7c 100644 --- a/keyboards/neson_design/nico/info.json +++ b/keyboards/neson_design/nico/info.json @@ -25,8 +25,7 @@ "pin": "B0" }, "rgblight": { - "led_count": 5, - "driver": "custom" + "led_count": 5 }, "url": "", "usb": { diff --git a/keyboards/neson_design/nico/nico.c b/keyboards/neson_design/nico/nico.c deleted file mode 100644 index 0738a3ee98..0000000000 --- a/keyboards/neson_design/nico/nico.c +++ /dev/null @@ -1,90 +0,0 @@ -/** - * @file nico.c - * - Copyright 2023 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 . - */ - -#include "quantum.h" -#include "ws2812.h" -#ifdef RGBLIGHT_ENABLE - -static bool alert = false; -static bool backup = false; -static rgb_led_t caps_led; -static uint16_t last_ticks = 0; - -#define ALERT_INTERVAL 500 -#define ALERM_LED_R 0xFF -#define ALERM_LED_G 0xA5 -#define ALERM_LED_B 0x00 -//golden 0xFF, 0xD9, 0x00 - -void housekeeping_task_kb(void) -{ - if (host_keyboard_led_state().caps_lock) { - if (!backup) { - caps_led.r = led[4].r; - caps_led.g = led[4].g; - caps_led.b = led[4].b; - backup = true; - } - if(alert) { - led[4].r = ALERM_LED_G; - led[4].g = ALERM_LED_R; - led[4].b = ALERM_LED_B; - } else { - led[4].r = 0; - led[4].g = 0; - led[4].b = 0; - } - if (timer_elapsed(last_ticks) > ALERT_INTERVAL) { - alert = !alert; - last_ticks = timer_read(); - } - ws2812_setleds(led, RGBLIGHT_LED_COUNT); - } else { - if (backup) { - led[4].r = caps_led.r; - led[4].g = caps_led.g; - led[4].b = caps_led.b; - backup = false; - ws2812_setleds(led, RGBLIGHT_LED_COUNT); - } - } - housekeeping_task_user(); -} - -void setleds_custom(rgb_led_t *start_led, uint16_t num_leds) -{ - start_led[2].r = start_led[0].r; - start_led[2].g = start_led[0].g; - start_led[2].b = start_led[0].b; - - start_led[3].r = start_led[1].r; - start_led[3].g = start_led[1].g; - start_led[3].b = start_led[1].b; - - uint8_t tmp = start_led[4].g; - start_led[4].g = start_led[4].r; - start_led[4].r = tmp; - ws2812_setleds(start_led, RGBLIGHT_LED_COUNT); -} - -const rgblight_driver_t rgblight_driver = { - .init = ws2812_init, - .setleds = setleds_custom, -}; -#endif \ No newline at end of file diff --git a/keyboards/neson_design/nico/rules.mk b/keyboards/neson_design/nico/rules.mk index 9a69649289..e69de29bb2 100644 --- a/keyboards/neson_design/nico/rules.mk +++ b/keyboards/neson_design/nico/rules.mk @@ -1 +0,0 @@ -WS2812_DRIVER_REQUIRED = yes diff --git a/keyboards/snes_macropad/snes_macropad.c b/keyboards/snes_macropad/snes_macropad.c index 9f4f410fa3..74fa434fb2 100644 --- a/keyboards/snes_macropad/snes_macropad.c +++ b/keyboards/snes_macropad/snes_macropad.c @@ -86,22 +86,6 @@ static void setupForFlashing(void) { // Force data to be rendered oled_render_dirty(true); - - // Set alternating backlight colors - const uint8_t max = 20; - rgblight_mode_noeeprom(RGBLIGHT_MODE_STATIC_LIGHT); - for (size_t i = 0; i < RGBLIGHT_LED_COUNT; ++i) { - rgb_led_t *led_ = (rgb_led_t *)&led[i]; - switch (i % 2) { - case 0: - setrgb(max, 0, max, led_); - break; - case 1: - setrgb(0, max, max, led_); - break; - } - } - rgblight_set(); } bool process_record_kb(uint16_t keycode, keyrecord_t *record) { diff --git a/quantum/rgblight/rgblight.c b/quantum/rgblight/rgblight.c index 28b58feea6..b17a501eef 100644 --- a/quantum/rgblight/rgblight.c +++ b/quantum/rgblight/rgblight.c @@ -145,6 +145,15 @@ __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 RGBW + led1->w = 0; +#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); @@ -155,15 +164,6 @@ 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 setrgb(uint8_t r, uint8_t g, uint8_t b, rgb_led_t *led1) { - led1->r = r; - led1->g = g; - led1->b = b; -#ifdef RGBW - led1->w = 0; -#endif -} - void rgblight_check_config(void) { /* Add some out of bound checks for RGB light config */ diff --git a/quantum/rgblight/rgblight.h b/quantum/rgblight/rgblight.h index 9e2b073776..0ed67ff6e3 100644 --- a/quantum/rgblight/rgblight.h +++ b/quantum/rgblight/rgblight.h @@ -240,8 +240,6 @@ void rgblight_unblink_all_but_layer(uint8_t layer); #endif -extern rgb_led_t led[RGBLIGHT_LED_COUNT]; - extern const uint8_t RGBLED_BREATHING_INTERVALS[4] PROGMEM; extern const uint8_t RGBLED_RAINBOW_MOOD_INTERVALS[3] PROGMEM; extern const uint8_t RGBLED_RAINBOW_SWIRL_INTERVALS[3] PROGMEM; @@ -290,11 +288,6 @@ typedef struct _rgblight_ranges_t { extern rgblight_ranges_t rgblight_ranges; -/* === Utility Functions ===*/ -void sethsv(uint8_t hue, uint8_t sat, uint8_t val, rgb_led_t *led1); -void sethsv_raw(uint8_t hue, uint8_t sat, uint8_t val, rgb_led_t *led1); // without RGBLIGHT_LIMIT_VAL check -void setrgb(uint8_t r, uint8_t g, uint8_t b, rgb_led_t *led1); - /* === Low level Functions === */ void rgblight_set(void); void rgblight_set_clipping_range(uint8_t start_pos, uint8_t num_leds); -- cgit v1.2.3 From 2a25e79760a7c760e1fbda0ad21f1c9b6f7ec0b1 Mon Sep 17 00:00:00 2001 From: Ryan Date: Fri, 5 Apr 2024 01:16:27 +1100 Subject: Remove deprecated quantum keycodes (#23407) --- docs/feature_sequencer.md | 2 +- .../bpiphany/ghost_squid/keymaps/default/keymap.c | 2 +- .../kd83a_bfg_edition/keymaps/default/keymap.c | 2 +- .../kd83a_bfg_edition/keymaps/via/keymap.c | 2 +- .../kd87a_bfg_edition/keymaps/default/keymap.c | 2 +- .../kd87a_bfg_edition/keymaps/via/keymap.c | 2 +- keyboards/durgod/dgk6x/dgk6x.c | 2 +- .../dgk6x/galaxy/keymaps/default/keymap.json | 2 +- .../durgod/dgk6x/galaxy/keymaps/via/keymap.json | 2 +- .../dgk6x/hades_ansi/keymaps/default/keymap.json | 2 +- .../dgk6x/hades_ansi/keymaps/via/keymap.json | 2 +- .../dgk6x/hades_iso/keymaps/default/keymap.json | 2 +- .../durgod/dgk6x/hades_iso/keymaps/via/keymap.json | 2 +- .../durgod/dgk6x/venus/keymaps/default/keymap.json | 2 +- .../durgod/dgk6x/venus/keymaps/via/keymap.json | 2 +- keyboards/durgod/k310/k310.c | 2 +- keyboards/durgod/k310/keymaps/default/keymap.json | 2 +- keyboards/durgod/k310/keymaps/via/keymap.c | 2 +- keyboards/durgod/k320/k320.c | 2 +- keyboards/durgod/k320/keymaps/default/keymap.json | 2 +- keyboards/durgod/k320/keymaps/via/keymap.c | 2 +- keyboards/feker/ik75/keymaps/default/keymap.c | 2 +- keyboards/feker/ik75/keymaps/via/keymap.c | 2 +- .../flashquark/horizon_z/keymaps/default/keymap.c | 2 +- .../flashquark/horizon_z/keymaps/via/keymap.c | 2 +- keyboards/for_science/keymaps/default/keymap.c | 2 +- .../frooastboard/walnut/keymaps/default/keymap.c | 2 +- .../walnut/keymaps/default_ansi/keymap.c | 2 +- .../walnut/keymaps/default_iso/keymap.c | 2 +- keyboards/frooastboard/walnut/keymaps/via/keymap.c | 2 +- .../handwired/polly40/keymaps/default/keymap.c | 2 +- .../handwired/riblee_f401/keymaps/default/keymap.c | 2 +- .../handwired/riblee_f411/keymaps/default/keymap.c | 2 +- keyboards/jadookb/jkb65/keymaps/default/keymap.c | 2 +- keyboards/jadookb/jkb65/keymaps/via/keymap.c | 2 +- keyboards/jukaie/jk01/keymaps/default/keymap.c | 2 +- keyboards/jukaie/jk01/keymaps/via/keymap.c | 2 +- keyboards/kiwikeebs/macro/keymaps/default/keymap.c | 2 +- keyboards/kiwikeebs/macro/keymaps/via/keymap.c | 2 +- .../kiwikeebs/macro_v2/keymaps/default/keymap.c | 2 +- keyboards/kiwikeebs/macro_v2/keymaps/via/keymap.c | 2 +- keyboards/longnald/corin/keymaps/default/keymap.c | 4 +- keyboards/miller/gm862/keymaps/default/keymap.c | 2 +- keyboards/miller/gm862/keymaps/via/keymap.c | 2 +- keyboards/monsgeek/m5/keymaps/default/keymap.c | 2 +- .../senselessclay/had60/keymaps/default/keymap.c | 4 +- keyboards/senselessclay/had60/keymaps/iso/keymap.c | 4 +- keyboards/senselessclay/had60/keymaps/via/keymap.c | 4 +- .../teleport/native/ansi/keymaps/default/keymap.c | 2 +- .../teleport/native/ansi/keymaps/perfmode/keymap.c | 2 +- .../teleport/native/ansi/keymaps/via/keymap.c | 2 +- .../teleport/native/iso/keymaps/default/keymap.c | 2 +- .../teleport/native/iso/keymaps/perfmode/keymap.c | 2 +- keyboards/teleport/native/iso/keymaps/via/keymap.c | 2 +- keyboards/teleport/tkl/keymaps/ansi/keymap.c | 2 +- keyboards/teleport/tkl/keymaps/default/keymap.c | 2 +- keyboards/teleport/tkl/keymaps/iso/keymap.c | 2 +- keyboards/teleport/tkl/keymaps/via/keymap.c | 2 +- keyboards/viendi8l/keymaps/default/keymap.c | 2 +- keyboards/viendi8l/keymaps/via/keymap.c | 2 +- .../vitamins_included/keymaps/default/keymap.c | 7 +-- .../yandrstudio/buff67v3/keymaps/default/keymap.c | 2 +- .../yandrstudio/buff67v3/keymaps/via/keymap.c | 2 +- .../yandrstudio/nz64/keymaps/default/keymap.c | 2 +- keyboards/yandrstudio/nz64/keymaps/via/keymap.c | 2 +- .../yandrstudio/nz67v2/keymaps/default/keymap.c | 2 +- keyboards/yandrstudio/nz67v2/keymaps/via/keymap.c | 2 +- .../yandrstudio/wave75/keymaps/default/keymap.c | 2 +- keyboards/yandrstudio/wave75/keymaps/via/keymap.c | 2 +- .../yandrstudio/yr6095/keymaps/default/keymap.c | 2 +- keyboards/yandrstudio/yr6095/keymaps/via/keymap.c | 2 +- .../yushakobo/quick17/keymaps/default/keymap.c | 2 +- keyboards/yushakobo/quick17/keymaps/via/keymap.c | 2 +- quantum/quantum_keycodes_legacy.h | 53 ---------------------- 74 files changed, 78 insertions(+), 134 deletions(-) (limited to 'docs') diff --git a/docs/feature_sequencer.md b/docs/feature_sequencer.md index 87a277400a..3af55197c5 100644 --- a/docs/feature_sequencer.md +++ b/docs/feature_sequencer.md @@ -44,7 +44,7 @@ While the tempo defines the absolute speed at which the sequencer goes through t |-------------------------------|---------|---------------------------------------------------| |`QK_SEQUENCER_ON` |`SQ_ON` |Start the step sequencer | |`QK_SEQUENCER_OFF` |`SQ_OFF` |Stop the step sequencer | -|`QK_SEQUENCER_TOGGLE` |`SQ_TOG` |Toggle the step sequencer playback | +|`QK_SEQUENCER_TOGGLE` |`SQ_TOGG`|Toggle the step sequencer playback | |`QK_SEQUENCER_STEPS_ALL` |`SQ_SALL`|Enable all the steps | |`QK_SEQUENCER_STEPS_CLEAR` |`SQ_SCLR`|Disable all the steps | |`QK_SEQUENCER_TEMPO_DOWN` |`SQ_TMPD`|Decrease the tempo | diff --git a/keyboards/bpiphany/ghost_squid/keymaps/default/keymap.c b/keyboards/bpiphany/ghost_squid/keymaps/default/keymap.c index f53bdd8337..52305bba74 100644 --- a/keyboards/bpiphany/ghost_squid/keymaps/default/keymap.c +++ b/keyboards/bpiphany/ghost_squid/keymaps/default/keymap.c @@ -53,7 +53,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { /* Layer 1: Function layer */ [_MD] = LAYOUT_fullsize_iso( - _______, _______, _______, _______, _______, KC_MPLY, KC_MSTP, KC_MPRV, KC_MNXT, GUI_TOG, KC_MUTE, KC_VOLD, KC_VOLU, _______, _______, QK_BOOT, + _______, _______, _______, _______, _______, KC_MPLY, KC_MSTP, KC_MPRV, KC_MNXT, GU_TOGG, KC_MUTE, KC_VOLD, KC_VOLU, _______, _______, QK_BOOT, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, diff --git a/keyboards/darkproject/kd83a_bfg_edition/keymaps/default/keymap.c b/keyboards/darkproject/kd83a_bfg_edition/keymaps/default/keymap.c index 78324c6942..0d426d3c9a 100644 --- a/keyboards/darkproject/kd83a_bfg_edition/keymaps/default/keymap.c +++ b/keyboards/darkproject/kd83a_bfg_edition/keymaps/default/keymap.c @@ -51,7 +51,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_TRNS, KC_TRNS, TO(Win), KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, TO(Mac), KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, RGB_VAI, KC_TRNS, - KC_TRNS, GUI_TOG, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, RGB_SPD, RGB_VAD, RGB_SPI), + KC_TRNS, GU_TOGG, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, RGB_SPD, RGB_VAD, RGB_SPI), [Macfn] = LAYOUT( QK_BOOT, KC_F1, KC_F2, KC_F3, KC_F4, KC_TRNS, KC_TRNS, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_TRNS, RGB_MOD, diff --git a/keyboards/darkproject/kd83a_bfg_edition/keymaps/via/keymap.c b/keyboards/darkproject/kd83a_bfg_edition/keymaps/via/keymap.c index 78324c6942..0d426d3c9a 100644 --- a/keyboards/darkproject/kd83a_bfg_edition/keymaps/via/keymap.c +++ b/keyboards/darkproject/kd83a_bfg_edition/keymaps/via/keymap.c @@ -51,7 +51,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_TRNS, KC_TRNS, TO(Win), KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, TO(Mac), KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, RGB_VAI, KC_TRNS, - KC_TRNS, GUI_TOG, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, RGB_SPD, RGB_VAD, RGB_SPI), + KC_TRNS, GU_TOGG, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, RGB_SPD, RGB_VAD, RGB_SPI), [Macfn] = LAYOUT( QK_BOOT, KC_F1, KC_F2, KC_F3, KC_F4, KC_TRNS, KC_TRNS, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_TRNS, RGB_MOD, diff --git a/keyboards/darkproject/kd87a_bfg_edition/keymaps/default/keymap.c b/keyboards/darkproject/kd87a_bfg_edition/keymaps/default/keymap.c index 4abb1bdc91..5f475caa1b 100644 --- a/keyboards/darkproject/kd87a_bfg_edition/keymaps/default/keymap.c +++ b/keyboards/darkproject/kd87a_bfg_edition/keymaps/default/keymap.c @@ -51,7 +51,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_TRNS, KC_TRNS, TO(Win), KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, RGB_MOD, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, TO(Mac), KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, RGB_VAI, - KC_TRNS, GUI_TOG, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, RGB_SPD, RGB_VAD, RGB_SPI), + KC_TRNS, GU_TOGG, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, RGB_SPD, RGB_VAD, RGB_SPI), [Macfn] = LAYOUT_tkl_ansi( QK_BOOT, KC_F1, KC_F2, KC_F3, KC_F4, KC_TRNS, KC_TRNS, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_TRNS, KC_TRNS, KC_TRNS, diff --git a/keyboards/darkproject/kd87a_bfg_edition/keymaps/via/keymap.c b/keyboards/darkproject/kd87a_bfg_edition/keymaps/via/keymap.c index 71fbfa4ff2..300855c452 100644 --- a/keyboards/darkproject/kd87a_bfg_edition/keymaps/via/keymap.c +++ b/keyboards/darkproject/kd87a_bfg_edition/keymaps/via/keymap.c @@ -51,7 +51,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_TRNS, KC_TRNS, TO(Win), KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, RGB_MOD, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, TO(Mac), KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, RGB_VAI, - KC_TRNS, GUI_TOG, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, RGB_SPD, RGB_VAD, RGB_SPI), + KC_TRNS, GU_TOGG, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, RGB_SPD, RGB_VAD, RGB_SPI), [Macfn] = LAYOUT_tkl_ansi( QK_BOOT, KC_F1, KC_F2, KC_F3, KC_F4, KC_TRNS, KC_TRNS, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_TRNS, KC_TRNS, KC_TRNS, diff --git a/keyboards/durgod/dgk6x/dgk6x.c b/keyboards/durgod/dgk6x/dgk6x.c index 649821c5f2..b7f1da778d 100644 --- a/keyboards/durgod/dgk6x/dgk6x.c +++ b/keyboards/durgod/dgk6x/dgk6x.c @@ -41,7 +41,7 @@ void led_init_ports(void) { #ifndef WINLOCK_DISABLED bool process_record_kb(uint16_t keycode, keyrecord_t *record) { switch (keycode) { - case GUI_TOG: + case GU_TOGG: if (record->event.pressed) { // Toggle LED on key press togglePin(LED_WIN_LOCK_PIN); diff --git a/keyboards/durgod/dgk6x/galaxy/keymaps/default/keymap.json b/keyboards/durgod/dgk6x/galaxy/keymaps/default/keymap.json index c40cfac303..83b285786d 100644 --- a/keyboards/durgod/dgk6x/galaxy/keymaps/default/keymap.json +++ b/keyboards/durgod/dgk6x/galaxy/keymaps/default/keymap.json @@ -17,7 +17,7 @@ "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", - "KC_TRNS", "GUI_TOG", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "MO(3)", "KC_TRNS", "KC_TRNS", "KC_TRNS" + "KC_TRNS", "GU_TOGG", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "MO(3)", "KC_TRNS", "KC_TRNS", "KC_TRNS" ], [ "KC_TRNS", "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_RMOD","RGB_MOD", "RGB_TOG", diff --git a/keyboards/durgod/dgk6x/galaxy/keymaps/via/keymap.json b/keyboards/durgod/dgk6x/galaxy/keymaps/via/keymap.json index e8073ff800..7cd7bd3d32 100644 --- a/keyboards/durgod/dgk6x/galaxy/keymaps/via/keymap.json +++ b/keyboards/durgod/dgk6x/galaxy/keymaps/via/keymap.json @@ -17,7 +17,7 @@ "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", - "KC_TRNS", "GUI_TOG", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "MO(3)", "KC_TRNS", "KC_TRNS", "KC_TRNS" + "KC_TRNS", "GU_TOGG", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "MO(3)", "KC_TRNS", "KC_TRNS", "KC_TRNS" ], [ "KC_TRNS", "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_RMOD","RGB_MOD", "RGB_TOG", diff --git a/keyboards/durgod/dgk6x/hades_ansi/keymaps/default/keymap.json b/keyboards/durgod/dgk6x/hades_ansi/keymaps/default/keymap.json index e3b969149a..fc2a11b35c 100644 --- a/keyboards/durgod/dgk6x/hades_ansi/keymaps/default/keymap.json +++ b/keyboards/durgod/dgk6x/hades_ansi/keymaps/default/keymap.json @@ -15,7 +15,7 @@ "KC_TRNS", "KC_TRNS", "KC_UP", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_PSCR", "KC_SCRL", "KC_PAUS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_LEFT", "KC_DOWN", "KC_RIGHT", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_INS", "KC_END", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", - "KC_TRNS", "GUI_TOG", "KC_TRNS", "KC_TRNS", "KC_TRNS", "MO(3)", "KC_TRNS", "KC_APP", "KC_TRNS", "KC_TRNS" + "KC_TRNS", "GU_TOGG", "KC_TRNS", "KC_TRNS", "KC_TRNS", "MO(3)", "KC_TRNS", "KC_APP", "KC_TRNS", "KC_TRNS" ], [ "KC_TRNS", "KC_MPLY", "KC_MSTP", "KC_MPRV", "KC_MNXT", "KC_VOLD", "KC_VOLU", "KC_MUTE", "KC_TRNS", "KC_TRNS", "KC_TRNS", "RGB_TOG", "RGB_MOD", "RGB_RMOD", "KC_TRNS", diff --git a/keyboards/durgod/dgk6x/hades_ansi/keymaps/via/keymap.json b/keyboards/durgod/dgk6x/hades_ansi/keymaps/via/keymap.json index 7c25f6efb0..82c3d52832 100644 --- a/keyboards/durgod/dgk6x/hades_ansi/keymaps/via/keymap.json +++ b/keyboards/durgod/dgk6x/hades_ansi/keymaps/via/keymap.json @@ -15,7 +15,7 @@ "KC_TRNS", "KC_TRNS", "KC_UP", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_PSCR", "KC_SCRL", "KC_PAUS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_LEFT", "KC_DOWN", "KC_RIGHT", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_INS", "KC_END", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", - "KC_TRNS", "GUI_TOG", "KC_TRNS", "KC_TRNS", "KC_TRNS", "MO(3)", "KC_TRNS", "KC_APP", "KC_TRNS", "KC_TRNS" + "KC_TRNS", "GU_TOGG", "KC_TRNS", "KC_TRNS", "KC_TRNS", "MO(3)", "KC_TRNS", "KC_APP", "KC_TRNS", "KC_TRNS" ], [ "KC_TRNS", "KC_MPLY", "KC_MSTP", "KC_MPRV", "KC_MNXT", "KC_VOLD", "KC_VOLU", "KC_MUTE", "KC_TRNS", "KC_TRNS", "KC_TRNS", "RGB_TOG", "RGB_MOD", "RGB_RMOD", "KC_TRNS", diff --git a/keyboards/durgod/dgk6x/hades_iso/keymaps/default/keymap.json b/keyboards/durgod/dgk6x/hades_iso/keymaps/default/keymap.json index 774c010206..f3ecd2cc9b 100644 --- a/keyboards/durgod/dgk6x/hades_iso/keymaps/default/keymap.json +++ b/keyboards/durgod/dgk6x/hades_iso/keymaps/default/keymap.json @@ -15,7 +15,7 @@ "KC_TRNS", "KC_TRNS", "KC_UP", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_PSCR", "KC_SCRL", "KC_PAUS", "KC_TRNS", "KC_TRNS", "KC_LEFT", "KC_DOWN", "KC_RIGHT", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_INS", "KC_END", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", - "KC_TRNS", "GUI_TOG", "KC_TRNS", "KC_TRNS", "KC_TRNS", "MO(3)", "KC_TRNS", "KC_APP", "KC_TRNS", "KC_TRNS" + "KC_TRNS", "GU_TOGG", "KC_TRNS", "KC_TRNS", "KC_TRNS", "MO(3)", "KC_TRNS", "KC_APP", "KC_TRNS", "KC_TRNS" ], [ "KC_TRNS", "KC_MPLY", "KC_MSTP", "KC_MPRV", "KC_MNXT", "KC_VOLD", "KC_VOLU", "KC_MUTE", "KC_TRNS", "KC_TRNS", "KC_TRNS", "RGB_TOG", "RGB_MOD", "RGB_RMOD", "KC_TRNS", diff --git a/keyboards/durgod/dgk6x/hades_iso/keymaps/via/keymap.json b/keyboards/durgod/dgk6x/hades_iso/keymaps/via/keymap.json index c9d5e7b843..cffa5affd9 100644 --- a/keyboards/durgod/dgk6x/hades_iso/keymaps/via/keymap.json +++ b/keyboards/durgod/dgk6x/hades_iso/keymaps/via/keymap.json @@ -15,7 +15,7 @@ "KC_TRNS", "KC_TRNS", "KC_UP", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_PSCR", "KC_SCRL", "KC_PAUS", "KC_TRNS", "KC_TRNS", "KC_LEFT", "KC_DOWN", "KC_RIGHT", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_INS", "KC_END", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", - "KC_TRNS", "GUI_TOG", "KC_TRNS", "KC_TRNS", "KC_TRNS", "MO(3)", "KC_TRNS", "KC_APP", "KC_TRNS", "KC_TRNS" + "KC_TRNS", "GU_TOGG", "KC_TRNS", "KC_TRNS", "KC_TRNS", "MO(3)", "KC_TRNS", "KC_APP", "KC_TRNS", "KC_TRNS" ], [ "KC_TRNS", "KC_MPLY", "KC_MSTP", "KC_MPRV", "KC_MNXT", "KC_VOLD", "KC_VOLU", "KC_MUTE", "KC_TRNS", "KC_TRNS", "KC_TRNS", "RGB_TOG", "RGB_MOD", "RGB_RMOD", "KC_TRNS", diff --git a/keyboards/durgod/dgk6x/venus/keymaps/default/keymap.json b/keyboards/durgod/dgk6x/venus/keymaps/default/keymap.json index e7ef2e9d4b..ff3f85d9e4 100644 --- a/keyboards/durgod/dgk6x/venus/keymaps/default/keymap.json +++ b/keyboards/durgod/dgk6x/venus/keymaps/default/keymap.json @@ -15,7 +15,7 @@ "KC_TRNS", "KC_TRNS", "KC_UP", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_PSCR", "KC_INS", "KC_HOME", "KC_END", "KC_DEL", "KC_TRNS", "KC_LEFT", "KC_DOWN", "KC_RIGHT","KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_PGUP", "KC_PGDN", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", - "KC_TRNS", "GUI_TOG", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "MO(3)", "KC_TRNS" + "KC_TRNS", "GU_TOGG", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "MO(3)", "KC_TRNS" ], [ "KC_TRNS", "KC_MPLY", "KC_MSTP", "KC_MPRV", "KC_MNXT", "KC_MUTE", "KC_VOLD", "KC_VOLU", "KC_TRNS", "KC_TRNS", "KC_TRNS", "RGB_TOG", "RGB_MOD", "RGB_RMOD", diff --git a/keyboards/durgod/dgk6x/venus/keymaps/via/keymap.json b/keyboards/durgod/dgk6x/venus/keymaps/via/keymap.json index fd45625534..0243dc33dd 100644 --- a/keyboards/durgod/dgk6x/venus/keymaps/via/keymap.json +++ b/keyboards/durgod/dgk6x/venus/keymaps/via/keymap.json @@ -15,7 +15,7 @@ "KC_TRNS", "KC_TRNS", "KC_UP", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_PSCR", "KC_INS", "KC_HOME", "KC_END", "KC_DEL", "KC_TRNS", "KC_LEFT", "KC_DOWN", "KC_RIGHT","KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_PGUP", "KC_PGDN", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", - "KC_TRNS", "GUI_TOG", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "MO(3)", "KC_TRNS" + "KC_TRNS", "GU_TOGG", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "MO(3)", "KC_TRNS" ], [ "KC_TRNS", "KC_MPLY", "KC_MSTP", "KC_MPRV", "KC_MNXT", "KC_MUTE", "KC_VOLD", "KC_VOLU", "KC_TRNS", "KC_TRNS", "KC_TRNS", "RGB_TOG", "RGB_MOD", "RGB_RMOD", diff --git a/keyboards/durgod/k310/k310.c b/keyboards/durgod/k310/k310.c index cf2b618158..a88100be20 100644 --- a/keyboards/durgod/k310/k310.c +++ b/keyboards/durgod/k310/k310.c @@ -55,7 +55,7 @@ void led_init_ports(void) { #ifndef WINLOCK_DISABLED bool process_record_kb(uint16_t keycode, keyrecord_t *record) { switch (keycode) { - case GUI_TOG: + case GU_TOGG: if (record->event.pressed) { // Toggle LED on key press togglePin(LED_WIN_LOCK_PIN); diff --git a/keyboards/durgod/k310/keymaps/default/keymap.json b/keyboards/durgod/k310/keymaps/default/keymap.json index 7b9c0e7efb..1731eca6ed 100644 --- a/keyboards/durgod/k310/keymaps/default/keymap.json +++ b/keyboards/durgod/k310/keymaps/default/keymap.json @@ -17,7 +17,7 @@ "_______", "_______", "_______", "_______", "_______", "_______", "_______", "_______", "_______", "_______", "_______", "_______", "_______", "_______", "_______", "_______", "_______", "_______", "_______", "_______", "_______", "_______", "_______", "_______", "_______", "_______", "_______", "_______", "_______", "_______", "_______", "_______", "_______", "_______", "_______", "_______", "_______", "_______", "_______", "_______", "_______", "_______", "_______", "_______", "_______", "_______", "_______", "_______", "_______", "_______", "_______", "_______", "_______", "_______", "_______", "_______", - "_______", "GUI_TOG", "_______", "_______", "_______", "_______", "_______", "_______", "_______", "_______", "_______", "_______", "_______" + "_______", "GU_TOGG", "_______", "_______", "_______", "_______", "_______", "_______", "_______", "_______", "_______", "_______", "_______" ] ], "author": "tylert", diff --git a/keyboards/durgod/k310/keymaps/via/keymap.c b/keyboards/durgod/k310/keymaps/via/keymap.c index c2f0ebd65f..11d50c9382 100644 --- a/keyboards/durgod/k310/keymaps/via/keymap.c +++ b/keyboards/durgod/k310/keymaps/via/keymap.c @@ -71,7 +71,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, GUI_TOG, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ + _______, GU_TOGG, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ ), [_LAYER3] = LAYOUT_all( /* Layer 3 */ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, diff --git a/keyboards/durgod/k320/k320.c b/keyboards/durgod/k320/k320.c index 98527ba1b5..c1b9701d7b 100644 --- a/keyboards/durgod/k320/k320.c +++ b/keyboards/durgod/k320/k320.c @@ -55,7 +55,7 @@ void led_init_ports(void) { #ifndef WINLOCK_DISABLED bool process_record_kb(uint16_t keycode, keyrecord_t *record) { switch (keycode) { - case GUI_TOG: + case GU_TOGG: if (record->event.pressed) { // Toggle LED on key press togglePin(LED_WIN_LOCK_PIN); diff --git a/keyboards/durgod/k320/keymaps/default/keymap.json b/keyboards/durgod/k320/keymaps/default/keymap.json index f3bc38a49b..ba474f4044 100644 --- a/keyboards/durgod/k320/keymaps/default/keymap.json +++ b/keyboards/durgod/k320/keymaps/default/keymap.json @@ -17,7 +17,7 @@ "_______", "_______", "_______", "_______", "_______", "_______", "_______", "_______", "_______", "_______", "_______", "_______", "_______", "_______", "_______", "_______", "_______", "_______", "_______", "_______", "_______", "_______", "_______", "_______", "_______", "_______", "_______", "_______", "_______", "_______", "_______", "_______", "_______", "_______", "_______", "_______", "_______", "_______", "_______", "_______", "_______", "_______", "_______", "_______", "_______", - "_______", "GUI_TOG", "_______", "_______", "_______", "_______", "_______", "_______", "_______", "_______", "_______" + "_______", "GU_TOGG", "_______", "_______", "_______", "_______", "_______", "_______", "_______", "_______", "_______" ] ], "author": "tylert", diff --git a/keyboards/durgod/k320/keymaps/via/keymap.c b/keyboards/durgod/k320/keymaps/via/keymap.c index f91e752a29..7597089d0c 100644 --- a/keyboards/durgod/k320/keymaps/via/keymap.c +++ b/keyboards/durgod/k320/keymaps/via/keymap.c @@ -71,7 +71,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, GUI_TOG, _______, _______, _______, _______, _______, _______, _______, _______, _______ + _______, GU_TOGG, _______, _______, _______, _______, _______, _______, _______, _______, _______ ), [_LAYER3] = LAYOUT_all( /* Layer 3 */ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, diff --git a/keyboards/feker/ik75/keymaps/default/keymap.c b/keyboards/feker/ik75/keymaps/default/keymap.c index f6ca00552e..0ba5c774db 100644 --- a/keyboards/feker/ik75/keymaps/default/keymap.c +++ b/keyboards/feker/ik75/keymaps/default/keymap.c @@ -97,7 +97,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_PSCR, _______, _______, _______, RGB_HUI, _______, _______, KC_SCRL, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RGB_SAI, _______, _______, _______, _______, _______, _______, KC_NUM, _______, _______, _______, _______, _______, RGB_VAI, RGB_SAD, - _______, GUI_TOG, _______, _______, _______, _______, _______, _______, RGB_VAD, _______ + _______, GU_TOGG, _______, _______, _______, _______, _______, _______, RGB_VAD, _______ ), }; diff --git a/keyboards/feker/ik75/keymaps/via/keymap.c b/keyboards/feker/ik75/keymaps/via/keymap.c index e9a221cb3f..71c82c2e2d 100644 --- a/keyboards/feker/ik75/keymaps/via/keymap.c +++ b/keyboards/feker/ik75/keymaps/via/keymap.c @@ -99,7 +99,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_PSCR, _______, _______, _______, RGB_HUI, _______, _______, KC_SCRL, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RGB_SAI, _______, _______, _______, _______, _______, _______, KC_NUM, _______, _______, _______, _______, _______, RGB_VAI, RGB_SAD, - _______, GUI_TOG, _______, _______, _______, _______, _______, _______, RGB_VAD, _______ + _______, GU_TOGG, _______, _______, _______, _______, _______, _______, RGB_VAD, _______ ), /* diff --git a/keyboards/flashquark/horizon_z/keymaps/default/keymap.c b/keyboards/flashquark/horizon_z/keymaps/default/keymap.c index 1ab95c54a5..5b8838c3b2 100755 --- a/keyboards/flashquark/horizon_z/keymaps/default/keymap.c +++ b/keyboards/flashquark/horizon_z/keymaps/default/keymap.c @@ -30,6 +30,6 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { 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 , KC_TRNS, RGB_TOG, KC_UP, RGB_MOD, KC_TRNS, KC_TRNS, KC_CALC, KC_TRNS, KC_INS, KC_TRNS, KC_PSCR, KC_SCRL, KC_PAUS, QK_BOOT , KC_TRNS, KC_LEFT, KC_DOWN, KC_RIGHT, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_HOME, KC_PGUP, KC_TRNS, - KC_MPRV, KC_VOLD, KC_VOLU, KC_MUTE, KC_TRNS, KC_TRNS, MAGIC_TOGGLE_NKRO, KC_TRNS, KC_TRNS, KC_END, KC_PGDN, KC_MNXT, + KC_MPRV, KC_VOLD, KC_VOLU, KC_MUTE, KC_TRNS, KC_TRNS, NK_TOGG, KC_TRNS, KC_TRNS, KC_END, KC_PGDN, KC_MNXT, 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/flashquark/horizon_z/keymaps/via/keymap.c b/keyboards/flashquark/horizon_z/keymaps/via/keymap.c index 1ab95c54a5..5b8838c3b2 100755 --- a/keyboards/flashquark/horizon_z/keymaps/via/keymap.c +++ b/keyboards/flashquark/horizon_z/keymaps/via/keymap.c @@ -30,6 +30,6 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { 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 , KC_TRNS, RGB_TOG, KC_UP, RGB_MOD, KC_TRNS, KC_TRNS, KC_CALC, KC_TRNS, KC_INS, KC_TRNS, KC_PSCR, KC_SCRL, KC_PAUS, QK_BOOT , KC_TRNS, KC_LEFT, KC_DOWN, KC_RIGHT, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_HOME, KC_PGUP, KC_TRNS, - KC_MPRV, KC_VOLD, KC_VOLU, KC_MUTE, KC_TRNS, KC_TRNS, MAGIC_TOGGLE_NKRO, KC_TRNS, KC_TRNS, KC_END, KC_PGDN, KC_MNXT, + KC_MPRV, KC_VOLD, KC_VOLU, KC_MUTE, KC_TRNS, KC_TRNS, NK_TOGG, KC_TRNS, KC_TRNS, KC_END, KC_PGDN, KC_MNXT, 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/for_science/keymaps/default/keymap.c b/keyboards/for_science/keymaps/default/keymap.c index 7da986a029..15b1a01d47 100644 --- a/keyboards/for_science/keymaps/default/keymap.c +++ b/keyboards/for_science/keymaps/default/keymap.c @@ -84,7 +84,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { ), [_FUNCT] = LAYOUT_split_4x5_3( - QK_BOOT, _______, _______, _______, LOCK, MAC_LCK, _______, _______, _______, MAGIC_SWAP_LALT_LGUI, + QK_BOOT, _______, _______, _______, LOCK, MAC_LCK, _______, _______, _______, AG_LSWP, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, diff --git a/keyboards/frooastboard/walnut/keymaps/default/keymap.c b/keyboards/frooastboard/walnut/keymaps/default/keymap.c index 195b3c150b..57058d5de7 100644 --- a/keyboards/frooastboard/walnut/keymaps/default/keymap.c +++ b/keyboards/frooastboard/walnut/keymaps/default/keymap.c @@ -16,5 +16,5 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, RGB_SAI, RGB_HUI, RGB_SPI, 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, GUI_TOG, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, RGB_RMOD,RGB_VAD, RGB_MOD) + KC_TRNS, GU_TOGG, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, RGB_RMOD,RGB_VAD, RGB_MOD) }; diff --git a/keyboards/frooastboard/walnut/keymaps/default_ansi/keymap.c b/keyboards/frooastboard/walnut/keymaps/default_ansi/keymap.c index f28645cf2f..b9abd07d7d 100644 --- a/keyboards/frooastboard/walnut/keymaps/default_ansi/keymap.c +++ b/keyboards/frooastboard/walnut/keymaps/default_ansi/keymap.c @@ -16,5 +16,5 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, RGB_SAI, RGB_HUI, RGB_SPI, 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, RGB_VAI, - KC_TRNS, GUI_TOG, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, RGB_RMOD,RGB_VAD, RGB_MOD) + KC_TRNS, GU_TOGG, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, RGB_RMOD,RGB_VAD, RGB_MOD) }; diff --git a/keyboards/frooastboard/walnut/keymaps/default_iso/keymap.c b/keyboards/frooastboard/walnut/keymaps/default_iso/keymap.c index f42b67db2d..e6dd393f15 100644 --- a/keyboards/frooastboard/walnut/keymaps/default_iso/keymap.c +++ b/keyboards/frooastboard/walnut/keymaps/default_iso/keymap.c @@ -16,5 +16,5 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, RGB_SAI, RGB_HUI, RGB_SPI, KC_TRNS, 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, GUI_TOG, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, RGB_RMOD,RGB_VAD, RGB_MOD) + KC_TRNS, GU_TOGG, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, RGB_RMOD,RGB_VAD, RGB_MOD) }; diff --git a/keyboards/frooastboard/walnut/keymaps/via/keymap.c b/keyboards/frooastboard/walnut/keymaps/via/keymap.c index f502205761..1fdc5a100d 100644 --- a/keyboards/frooastboard/walnut/keymaps/via/keymap.c +++ b/keyboards/frooastboard/walnut/keymaps/via/keymap.c @@ -16,5 +16,5 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, 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, GUI_TOG, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, RGB_RMOD,RGB_VAD, RGB_MOD) + KC_TRNS, GU_TOGG, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, RGB_RMOD,RGB_VAD, RGB_MOD) }; \ No newline at end of file diff --git a/keyboards/handwired/polly40/keymaps/default/keymap.c b/keyboards/handwired/polly40/keymaps/default/keymap.c index a89e438ae8..b1ef23bc28 100644 --- a/keyboards/handwired/polly40/keymaps/default/keymap.c +++ b/keyboards/handwired/polly40/keymaps/default/keymap.c @@ -28,7 +28,7 @@ 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, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_ENT, - KC_PSCR, KC_MPLY, KC_VOLD, KC_VOLU, LSG(KC_S), MAGIC_TOGGLE_NKRO, KC_COMM, KC_DOT, KC_SLSH, KC_PGUP, _______, + KC_PSCR, KC_MPLY, KC_VOLD, KC_VOLU, LSG(KC_S), NK_TOGG, KC_COMM, KC_DOT, KC_SLSH, KC_PGUP, _______, KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_PGDN, _______ ), diff --git a/keyboards/handwired/riblee_f401/keymaps/default/keymap.c b/keyboards/handwired/riblee_f401/keymaps/default/keymap.c index d3fadcace2..f39f439c50 100644 --- a/keyboards/handwired/riblee_f401/keymaps/default/keymap.c +++ b/keyboards/handwired/riblee_f401/keymaps/default/keymap.c @@ -160,7 +160,7 @@ 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, DB_TOGG, _______, _______, _______, _______, _______, _______, _______, _______, KC_DEL, _______, _______, MU_NEXT, AU_ON, AU_OFF, AG_NORM, AG_SWAP, QWERTY, COLEMAK, DVORAK, _______, _______, - _______, _______, _______, _______, _______, _______, NK_TOGG, LCG_SWP, LCG_NRM, _______, _______, _______, + _______, _______, _______, _______, _______, _______, NK_TOGG, CG_LSWP, CG_LNRM, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ ) diff --git a/keyboards/handwired/riblee_f411/keymaps/default/keymap.c b/keyboards/handwired/riblee_f411/keymaps/default/keymap.c index c1ff5682fc..74308a1c19 100644 --- a/keyboards/handwired/riblee_f411/keymaps/default/keymap.c +++ b/keyboards/handwired/riblee_f411/keymaps/default/keymap.c @@ -160,7 +160,7 @@ 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, DB_TOGG, _______, _______, _______, _______, _______, _______, _______, _______, KC_DEL, _______, _______, MU_NEXT, AU_ON, AU_OFF, AG_NORM, AG_SWAP, QWERTY, COLEMAK, DVORAK, _______, _______, - _______, _______, _______, _______, _______, _______, NK_TOGG, LCG_SWP, LCG_NRM, _______, _______, _______, + _______, _______, _______, _______, _______, _______, NK_TOGG, CG_LSWP, CG_LNRM, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ ) diff --git a/keyboards/jadookb/jkb65/keymaps/default/keymap.c b/keyboards/jadookb/jkb65/keymaps/default/keymap.c index 22016cea76..14055736cd 100644 --- a/keyboards/jadookb/jkb65/keymaps/default/keymap.c +++ b/keyboards/jadookb/jkb65/keymaps/default/keymap.c @@ -32,6 +32,6 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { _______, RGB_RMOD, RGB_HUI, RGB_MOD, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RGB_HUD, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RGB_VAI, _______, - MAGIC_UNNO_GUI,MAGIC_NO_GUI, _______, RGB_TOG, _______, MO(2), RGB_SPD, RGB_VAD, RGB_SPI + GU_ON, GU_OFF, _______, RGB_TOG, _______, MO(2), RGB_SPD, RGB_VAD, RGB_SPI ) }; diff --git a/keyboards/jadookb/jkb65/keymaps/via/keymap.c b/keyboards/jadookb/jkb65/keymaps/via/keymap.c index 950410d1af..d96f2bbce3 100644 --- a/keyboards/jadookb/jkb65/keymaps/via/keymap.c +++ b/keyboards/jadookb/jkb65/keymaps/via/keymap.c @@ -32,7 +32,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { _______, RGB_RMOD, RGB_HUI, RGB_MOD, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RGB_HUD, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RGB_VAI, _______, - MAGIC_UNNO_GUI,MAGIC_NO_GUI, _______, RGB_TOG, _______, MO(2), RGB_SPD, RGB_VAD, RGB_SPI + GU_ON, GU_OFF, _______, RGB_TOG, _______, MO(2), RGB_SPD, RGB_VAD, RGB_SPI ), [2] = LAYOUT_65_ansi_blocker( QK_BOOT, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, diff --git a/keyboards/jukaie/jk01/keymaps/default/keymap.c b/keyboards/jukaie/jk01/keymaps/default/keymap.c index bdf509a8e8..156fb77d69 100644 --- a/keyboards/jukaie/jk01/keymaps/default/keymap.c +++ b/keyboards/jukaie/jk01/keymaps/default/keymap.c @@ -51,7 +51,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_TRNS, KC_TRNS, TO(Win), KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, TO(Mac), KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, RGB_VAI, KC_TRNS, - KC_TRNS, GUI_TOG, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, RGB_SPD, RGB_VAD, RGB_SPI), + KC_TRNS, GU_TOGG, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, RGB_SPD, RGB_VAD, RGB_SPI), [Macfn] = LAYOUT( QK_BOOT, KC_F1, KC_F2, KC_F3, KC_F4, KC_TRNS, KC_TRNS, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_TRNS, RGB_MOD, diff --git a/keyboards/jukaie/jk01/keymaps/via/keymap.c b/keyboards/jukaie/jk01/keymaps/via/keymap.c index bdf509a8e8..156fb77d69 100644 --- a/keyboards/jukaie/jk01/keymaps/via/keymap.c +++ b/keyboards/jukaie/jk01/keymaps/via/keymap.c @@ -51,7 +51,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_TRNS, KC_TRNS, TO(Win), KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, TO(Mac), KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, RGB_VAI, KC_TRNS, - KC_TRNS, GUI_TOG, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, RGB_SPD, RGB_VAD, RGB_SPI), + KC_TRNS, GU_TOGG, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, RGB_SPD, RGB_VAD, RGB_SPI), [Macfn] = LAYOUT( QK_BOOT, KC_F1, KC_F2, KC_F3, KC_F4, KC_TRNS, KC_TRNS, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_TRNS, RGB_MOD, diff --git a/keyboards/kiwikeebs/macro/keymaps/default/keymap.c b/keyboards/kiwikeebs/macro/keymaps/default/keymap.c index b7f98c68ca..77c3603f8a 100644 --- a/keyboards/kiwikeebs/macro/keymaps/default/keymap.c +++ b/keyboards/kiwikeebs/macro/keymaps/default/keymap.c @@ -31,7 +31,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { ), [_FN1] = LAYOUT( QK_BOOT, KC_UP, _______, - KC_LEFT, KC_DOWN, KC_RGHT, MAGIC_TOGGLE_NKRO + KC_LEFT, KC_DOWN, KC_RGHT, NK_TOGG ), [_FN2] = LAYOUT( _______, _______, _______, diff --git a/keyboards/kiwikeebs/macro/keymaps/via/keymap.c b/keyboards/kiwikeebs/macro/keymaps/via/keymap.c index 0641efab59..4aa89cab95 100644 --- a/keyboards/kiwikeebs/macro/keymaps/via/keymap.c +++ b/keyboards/kiwikeebs/macro/keymaps/via/keymap.c @@ -29,6 +29,6 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { ), [_FN] = LAYOUT( QK_BOOT, KC_UP, _______, - KC_LEFT, KC_DOWN, KC_RGHT, MAGIC_TOGGLE_NKRO + KC_LEFT, KC_DOWN, KC_RGHT, NK_TOGG ) }; diff --git a/keyboards/kiwikeebs/macro_v2/keymaps/default/keymap.c b/keyboards/kiwikeebs/macro_v2/keymaps/default/keymap.c index bfe8208a8b..0c66b20c91 100644 --- a/keyboards/kiwikeebs/macro_v2/keymaps/default/keymap.c +++ b/keyboards/kiwikeebs/macro_v2/keymaps/default/keymap.c @@ -31,7 +31,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { ), [_FN1] = LAYOUT( QK_BOOT, KC_UP, _______, - KC_LEFT, KC_DOWN, KC_RGHT, MAGIC_TOGGLE_NKRO + KC_LEFT, KC_DOWN, KC_RGHT, NK_TOGG ), [_FN2] = LAYOUT( _______, _______, _______, diff --git a/keyboards/kiwikeebs/macro_v2/keymaps/via/keymap.c b/keyboards/kiwikeebs/macro_v2/keymaps/via/keymap.c index 0641efab59..4aa89cab95 100644 --- a/keyboards/kiwikeebs/macro_v2/keymaps/via/keymap.c +++ b/keyboards/kiwikeebs/macro_v2/keymaps/via/keymap.c @@ -29,6 +29,6 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { ), [_FN] = LAYOUT( QK_BOOT, KC_UP, _______, - KC_LEFT, KC_DOWN, KC_RGHT, MAGIC_TOGGLE_NKRO + KC_LEFT, KC_DOWN, KC_RGHT, NK_TOGG ) }; diff --git a/keyboards/longnald/corin/keymaps/default/keymap.c b/keyboards/longnald/corin/keymaps/default/keymap.c index a16bfde7c2..9fcdaa222f 100644 --- a/keyboards/longnald/corin/keymaps/default/keymap.c +++ b/keyboards/longnald/corin/keymaps/default/keymap.c @@ -34,9 +34,9 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { ), [2] = LAYOUT_64_ansi( KC_NO, RGB_TOG, RGB_M_P, RGB_M_B, RGB_M_G, RGB_M_SW, RGB_M_SN, KC_NO, KC_NO, RGB_HUD, RGB_HUI, RGB_VAD, RGB_VAI, KC_NO, - KC_NO, KC_NO, LAG_NRM, 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, AG_LNRM, 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_NO, KC_NO, LAG_SWP, 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, AG_LSWP, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, MO(3), KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO ), [3] = LAYOUT_64_ansi( diff --git a/keyboards/miller/gm862/keymaps/default/keymap.c b/keyboards/miller/gm862/keymaps/default/keymap.c index 07b3acee9b..2eb134f53d 100644 --- a/keyboards/miller/gm862/keymaps/default/keymap.c +++ b/keyboards/miller/gm862/keymaps/default/keymap.c @@ -12,6 +12,6 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { 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 , KC_TRNS, RGB_TOG, KC_UP, RGB_MOD, KC_TRNS, KC_TRNS, KC_CALC, KC_TRNS, KC_INS, KC_TRNS, KC_PSCR, KC_SCRL, KC_PAUS, QK_BOOT , KC_TRNS, KC_LEFT, KC_DOWN, KC_RIGHT, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_HOME, KC_PGUP, KC_TRNS, - KC_MPRV, KC_VOLD, KC_VOLU, KC_MUTE, KC_TRNS, KC_TRNS, MAGIC_TOGGLE_NKRO, KC_TRNS, KC_TRNS, KC_END, KC_PGDN, KC_MNXT, + KC_MPRV, KC_VOLD, KC_VOLU, KC_MUTE, KC_TRNS, KC_TRNS, NK_TOGG, KC_TRNS, KC_TRNS, KC_END, KC_PGDN, KC_MNXT, 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/miller/gm862/keymaps/via/keymap.c b/keyboards/miller/gm862/keymaps/via/keymap.c index 07b3acee9b..2eb134f53d 100644 --- a/keyboards/miller/gm862/keymaps/via/keymap.c +++ b/keyboards/miller/gm862/keymaps/via/keymap.c @@ -12,6 +12,6 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { 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 , KC_TRNS, RGB_TOG, KC_UP, RGB_MOD, KC_TRNS, KC_TRNS, KC_CALC, KC_TRNS, KC_INS, KC_TRNS, KC_PSCR, KC_SCRL, KC_PAUS, QK_BOOT , KC_TRNS, KC_LEFT, KC_DOWN, KC_RIGHT, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_HOME, KC_PGUP, KC_TRNS, - KC_MPRV, KC_VOLD, KC_VOLU, KC_MUTE, KC_TRNS, KC_TRNS, MAGIC_TOGGLE_NKRO, KC_TRNS, KC_TRNS, KC_END, KC_PGDN, KC_MNXT, + KC_MPRV, KC_VOLD, KC_VOLU, KC_MUTE, KC_TRNS, KC_TRNS, NK_TOGG, KC_TRNS, KC_TRNS, KC_END, KC_PGDN, KC_MNXT, 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/monsgeek/m5/keymaps/default/keymap.c b/keyboards/monsgeek/m5/keymaps/default/keymap.c index 28c433736c..6fe98a89d6 100644 --- a/keyboards/monsgeek/m5/keymaps/default/keymap.c +++ b/keyboards/monsgeek/m5/keymaps/default/keymap.c @@ -51,7 +51,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { _______, _______,TG(WIN_WASD),_______,_______,_______,_______, _______, _______, DF(MAC_B),_______,_______, _______, RGB_MOD, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RGB_TOG, _______, _______, RGB_HUI, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RGB_VAI, _______, _______, _______, _______, - _______, GUI_TOG, _______, _______, _______, _______, _______, _______, RGB_SAD, RGB_VAD, RGB_SAI, _______, _______), + _______, GU_TOGG, _______, _______, _______, _______, _______, _______, RGB_SAD, RGB_VAD, RGB_SAI, _______, _______), [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_PSCR, KC_SCRL, KC_PAUS, KC_CALC, KC_MUTE, KC_VOLD, KC_VOLU, diff --git a/keyboards/senselessclay/had60/keymaps/default/keymap.c b/keyboards/senselessclay/had60/keymaps/default/keymap.c index 5f9d524766..9c70873acf 100644 --- a/keyboards/senselessclay/had60/keymaps/default/keymap.c +++ b/keyboards/senselessclay/had60/keymaps/default/keymap.c @@ -30,8 +30,8 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_VOLD, KC_VOLU, KC_MUTE, KC_END, KC_PGDN, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS), [2] = LAYOUT_all( - MAGIC_NO_GUI, KC_TRNS, 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, - MAGIC_UNNO_GUI, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_UP, KC_TRNS, KC_TRNS, + GU_OFF, KC_TRNS, 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, + GU_ON, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_UP, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_LEFT, 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_DOWN, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS) diff --git a/keyboards/senselessclay/had60/keymaps/iso/keymap.c b/keyboards/senselessclay/had60/keymaps/iso/keymap.c index 3c1323050e..0324df5e87 100644 --- a/keyboards/senselessclay/had60/keymaps/iso/keymap.c +++ b/keyboards/senselessclay/had60/keymaps/iso/keymap.c @@ -30,8 +30,8 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_VOLD, KC_VOLU, KC_MUTE, KC_END, KC_PGDN, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS), [2] = LAYOUT_all( - MAGIC_NO_GUI, KC_TRNS, 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, - MAGIC_UNNO_GUI, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_UP, KC_TRNS, KC_TRNS, + GU_OFF, KC_TRNS, 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, + GU_ON, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_UP, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_LEFT, 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_DOWN, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS) diff --git a/keyboards/senselessclay/had60/keymaps/via/keymap.c b/keyboards/senselessclay/had60/keymaps/via/keymap.c index ed21d8bad5..11ec292b6c 100644 --- a/keyboards/senselessclay/had60/keymaps/via/keymap.c +++ b/keyboards/senselessclay/had60/keymaps/via/keymap.c @@ -37,8 +37,8 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_VOLD, KC_VOLU, KC_MUTE, KC_END, KC_PGDN, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS), [_2] = LAYOUT_all( - MAGIC_NO_GUI, KC_TRNS, 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, - MAGIC_UNNO_GUI, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_UP, KC_TRNS, KC_TRNS, + GU_OFF, KC_TRNS, 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, + GU_ON, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_UP, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_LEFT, 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_DOWN, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS), diff --git a/keyboards/teleport/native/ansi/keymaps/default/keymap.c b/keyboards/teleport/native/ansi/keymaps/default/keymap.c index 2780fdda7d..60983df435 100644 --- a/keyboards/teleport/native/ansi/keymaps/default/keymap.c +++ b/keyboards/teleport/native/ansi/keymaps/default/keymap.c @@ -46,7 +46,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, RGB_RMOD, 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, KC_TRNS, 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, MAGIC_TOGGLE_NKRO,KC_TRNS, 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, TG(GAME),KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS ) }; diff --git a/keyboards/teleport/native/ansi/keymaps/perfmode/keymap.c b/keyboards/teleport/native/ansi/keymaps/perfmode/keymap.c index e34f0f9d16..aa5c7a0f99 100644 --- a/keyboards/teleport/native/ansi/keymaps/perfmode/keymap.c +++ b/keyboards/teleport/native/ansi/keymaps/perfmode/keymap.c @@ -131,7 +131,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_TRNS, RGB_M_P, RGB_M_2, RGB_M_3, RGB_M_4, RGB_M_5, RGB_M_6, RGB_M_7, RGB_M_8, RGB_M_9, RGB_M_0, 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, KC_TRNS, KC_TRNS, 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, MAGIC_TOGGLE_NKRO,KC_TRNS, 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, TG(GAME),KC_TRNS, TO(PERF), KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS ), diff --git a/keyboards/teleport/native/ansi/keymaps/via/keymap.c b/keyboards/teleport/native/ansi/keymaps/via/keymap.c index 95a5bc58b1..17c566d47c 100644 --- a/keyboards/teleport/native/ansi/keymaps/via/keymap.c +++ b/keyboards/teleport/native/ansi/keymaps/via/keymap.c @@ -46,7 +46,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, RGB_RMOD, 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, KC_TRNS, 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, MAGIC_TOGGLE_NKRO,KC_TRNS, 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, TG(GAME),KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS ), }; diff --git a/keyboards/teleport/native/iso/keymaps/default/keymap.c b/keyboards/teleport/native/iso/keymaps/default/keymap.c index b6f2e7ab82..68105f0a02 100644 --- a/keyboards/teleport/native/iso/keymaps/default/keymap.c +++ b/keyboards/teleport/native/iso/keymaps/default/keymap.c @@ -46,7 +46,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, RGB_RMOD, 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, RGB_MOD, KC_TRNS, 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, MAGIC_TOGGLE_NKRO,KC_TRNS, KC_TRNS, 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, TG(GAME),KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS ), }; diff --git a/keyboards/teleport/native/iso/keymaps/perfmode/keymap.c b/keyboards/teleport/native/iso/keymaps/perfmode/keymap.c index ca311edf5e..96018a2fb8 100644 --- a/keyboards/teleport/native/iso/keymaps/perfmode/keymap.c +++ b/keyboards/teleport/native/iso/keymaps/perfmode/keymap.c @@ -131,7 +131,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_TRNS, RGB_M_P, RGB_M_2, RGB_M_3, RGB_M_4, RGB_M_5, RGB_M_6, RGB_M_7, RGB_M_8, RGB_M_9, RGB_M_0, 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, KC_TRNS, 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, MAGIC_TOGGLE_NKRO,KC_TRNS, KC_TRNS, 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, TG(GAME),KC_TRNS, TO(PERF), KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS ), diff --git a/keyboards/teleport/native/iso/keymaps/via/keymap.c b/keyboards/teleport/native/iso/keymaps/via/keymap.c index b6f2e7ab82..68105f0a02 100644 --- a/keyboards/teleport/native/iso/keymaps/via/keymap.c +++ b/keyboards/teleport/native/iso/keymaps/via/keymap.c @@ -46,7 +46,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, RGB_RMOD, 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, RGB_MOD, KC_TRNS, 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, MAGIC_TOGGLE_NKRO,KC_TRNS, KC_TRNS, 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, TG(GAME),KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS ), }; diff --git a/keyboards/teleport/tkl/keymaps/ansi/keymap.c b/keyboards/teleport/tkl/keymaps/ansi/keymap.c index ed8255aaf2..735270fb0b 100644 --- a/keyboards/teleport/tkl/keymaps/ansi/keymap.c +++ b/keyboards/teleport/tkl/keymaps/ansi/keymap.c @@ -20,7 +20,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, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, MAGIC_TOGGLE_NKRO, 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, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS ) }; diff --git a/keyboards/teleport/tkl/keymaps/default/keymap.c b/keyboards/teleport/tkl/keymaps/default/keymap.c index 76a4fc7aa6..0568b79c77 100644 --- a/keyboards/teleport/tkl/keymaps/default/keymap.c +++ b/keyboards/teleport/tkl/keymaps/default/keymap.c @@ -21,7 +21,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, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, MAGIC_TOGGLE_NKRO, KC_TRNS, KC_TRNS, 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, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS ) }; diff --git a/keyboards/teleport/tkl/keymaps/iso/keymap.c b/keyboards/teleport/tkl/keymaps/iso/keymap.c index fdadd4ea24..d5de75f130 100644 --- a/keyboards/teleport/tkl/keymaps/iso/keymap.c +++ b/keyboards/teleport/tkl/keymaps/iso/keymap.c @@ -20,7 +20,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, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, MAGIC_TOGGLE_NKRO, KC_TRNS, 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, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS ) }; diff --git a/keyboards/teleport/tkl/keymaps/via/keymap.c b/keyboards/teleport/tkl/keymaps/via/keymap.c index 76a4fc7aa6..0568b79c77 100644 --- a/keyboards/teleport/tkl/keymaps/via/keymap.c +++ b/keyboards/teleport/tkl/keymaps/via/keymap.c @@ -21,7 +21,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, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, MAGIC_TOGGLE_NKRO, KC_TRNS, KC_TRNS, 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, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS ) }; diff --git a/keyboards/viendi8l/keymaps/default/keymap.c b/keyboards/viendi8l/keymaps/default/keymap.c index 0a2f96c20b..40ac1fb898 100755 --- a/keyboards/viendi8l/keymaps/default/keymap.c +++ b/keyboards/viendi8l/keymaps/default/keymap.c @@ -43,7 +43,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_MINS, KC_F7, KC_F8, KC_F9, KC_TAB, XXXXXXX, KC_PGUP, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_INS, XXXXXXX, KC_PSCR, XXXXXXX, XXXXXXX, KC_DEL, KC_EQL, KC_F4, KC_F5, KC_F6, _______, KC_HOME, KC_PGDN, KC_END, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_F1, KC_F2, KC_F3, XXXXXXX, XXXXXXX, KC_LPRN, KC_RPRN, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_MUTE, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, _______, - XXXXXXX, KC_CALC, KC_CALC, KC_DEL, XXXXXXX, GUI_TOG, KC_SLEP, XXXXXXX, XXXXXXX, _______, XXXXXXX, XXXXXXX, XXXXXXX + XXXXXXX, KC_CALC, KC_CALC, KC_DEL, XXXXXXX, GU_TOGG, KC_SLEP, XXXXXXX, XXXXXXX, _______, XXXXXXX, XXXXXXX, XXXXXXX ) }; diff --git a/keyboards/viendi8l/keymaps/via/keymap.c b/keyboards/viendi8l/keymaps/via/keymap.c index 59adaa6241..4989ba89db 100755 --- a/keyboards/viendi8l/keymaps/via/keymap.c +++ b/keyboards/viendi8l/keymaps/via/keymap.c @@ -43,7 +43,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_MINS, KC_F7, KC_F8, KC_F9, KC_TAB, XXXXXXX, KC_PGUP, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_INS, XXXXXXX, KC_PSCR, XXXXXXX, XXXXXXX, KC_DEL, KC_EQL, KC_F4, KC_F5, KC_F6, _______, KC_HOME, KC_PGDN, KC_END, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_F1, KC_F2, KC_F3, XXXXXXX, XXXXXXX, KC_LPRN, KC_RPRN, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_MUTE, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, _______, - XXXXXXX, KC_CALC, KC_CALC, KC_DEL, XXXXXXX, GUI_TOG, KC_SLEP, XXXXXXX, XXXXXXX, _______, XXXXXXX, XXXXXXX, XXXXXXX + XXXXXXX, KC_CALC, KC_CALC, KC_DEL, XXXXXXX, GU_TOGG, KC_SLEP, XXXXXXX, XXXXXXX, _______, XXXXXXX, XXXXXXX, XXXXXXX ), [3] = LAYOUT_all( diff --git a/keyboards/vitamins_included/keymaps/default/keymap.c b/keyboards/vitamins_included/keymaps/default/keymap.c index 59903b1a6f..0f90fe22bd 100644 --- a/keyboards/vitamins_included/keymaps/default/keymap.c +++ b/keyboards/vitamins_included/keymaps/default/keymap.c @@ -1,8 +1,5 @@ #include QMK_KEYBOARD_H -#define TG_NKRO MAGIC_TOGGLE_NKRO - - // Layer names enum layer_names { @@ -94,7 +91,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_TILD, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, KC_DEL, KC_DEL, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_UNDS, KC_PLUS, KC_LCBR, KC_RCBR, KC_PIPE, QK_BOOT, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12,S(KC_NUHS),S(KC_NUBS),_______,_______,_______, - TG_NKRO, _______, _______, _______, _______, _______, _______, _______, KC_MNXT, KC_VOLD, KC_VOLU, KC_MPLY + NK_TOGG, _______, _______, _______, _______, _______, _______, _______, KC_MNXT, KC_VOLD, KC_VOLU, KC_MPLY ), /* Raise @@ -111,7 +108,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { [_RAISE] = LAYOUT_ortho_4x12( KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_DEL, KC_DEL, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_MINS, KC_EQL, KC_LBRC, KC_RBRC, KC_BSLS, - _______, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_NUHS, KC_NUBS, _______, TG_NKRO, QK_BOOT, + _______, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_NUHS, KC_NUBS, _______, NK_TOGG, QK_BOOT, _______, _______, _______, _______, _______, _______, _______, _______, KC_MNXT, KC_VOLD, KC_VOLU, KC_MPLY ), diff --git a/keyboards/yandrstudio/buff67v3/keymaps/default/keymap.c b/keyboards/yandrstudio/buff67v3/keymaps/default/keymap.c index 276c073889..d802dd3c05 100644 --- a/keyboards/yandrstudio/buff67v3/keymaps/default/keymap.c +++ b/keyboards/yandrstudio/buff67v3/keymaps/default/keymap.c @@ -25,7 +25,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { [1] = LAYOUT( KC_GRV, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_DEL, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, 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_HUI, RGB_HUD, RGB_SAI, RGB_SAD, KC_TRNS, KC_TRNS, KC_TRNS, GUI_TOG,KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, KC_TRNS, KC_TRNS, KC_TRNS, GU_TOGG,KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, RGB_TOG, RGB_MOD, RGB_RMOD,RGB_VAI, RGB_VAD, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, 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/yandrstudio/buff67v3/keymaps/via/keymap.c b/keyboards/yandrstudio/buff67v3/keymaps/via/keymap.c index 7ee3017117..2d60e61302 100644 --- a/keyboards/yandrstudio/buff67v3/keymaps/via/keymap.c +++ b/keyboards/yandrstudio/buff67v3/keymaps/via/keymap.c @@ -27,7 +27,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, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, 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_VAI, RGB_VAD, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, - KC_TRNS, GUI_TOG,KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS), + KC_TRNS, GU_TOGG,KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS), [2] = 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_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, 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/yandrstudio/nz64/keymaps/default/keymap.c b/keyboards/yandrstudio/nz64/keymaps/default/keymap.c index 3ecbcf8362..9283a3f975 100644 --- a/keyboards/yandrstudio/nz64/keymaps/default/keymap.c +++ b/keyboards/yandrstudio/nz64/keymaps/default/keymap.c @@ -26,7 +26,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { [1] = LAYOUT( KC_GRV , KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_DEL, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, - KC_TRNS, URGB_K, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, KC_TRNS, KC_TRNS, KC_TRNS, GUI_TOG, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, URGB_K, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, KC_TRNS, KC_TRNS, KC_TRNS, GU_TOGG, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, RGB_TOG, RGB_MOD, RGB_RMOD,RGB_VAI, RGB_VAD, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, 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/yandrstudio/nz64/keymaps/via/keymap.c b/keyboards/yandrstudio/nz64/keymaps/via/keymap.c index 284a06cacd..c981711818 100644 --- a/keyboards/yandrstudio/nz64/keymaps/via/keymap.c +++ b/keyboards/yandrstudio/nz64/keymaps/via/keymap.c @@ -26,7 +26,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { [1] = LAYOUT( KC_GRV , KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_DEL, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, - KC_TRNS, URGB_K, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, KC_TRNS, KC_TRNS, KC_TRNS, GUI_TOG, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, URGB_K, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, KC_TRNS, KC_TRNS, KC_TRNS, GU_TOGG, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, RGB_TOG, RGB_MOD, RGB_RMOD,RGB_VAI, RGB_VAD, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, 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( diff --git a/keyboards/yandrstudio/nz67v2/keymaps/default/keymap.c b/keyboards/yandrstudio/nz67v2/keymaps/default/keymap.c index f1069c37db..522b8d1043 100644 --- a/keyboards/yandrstudio/nz67v2/keymaps/default/keymap.c +++ b/keyboards/yandrstudio/nz67v2/keymaps/default/keymap.c @@ -26,7 +26,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, 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, URGB_K, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, KC_TRNS, KC_TRNS, KC_TRNS, GUI_TOG, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, URGB_K, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, KC_TRNS, KC_TRNS, KC_TRNS, GU_TOGG, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, RGB_TOG, RGB_MOD, RGB_RMOD, RGB_VAI, RGB_VAD, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, 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/yandrstudio/nz67v2/keymaps/via/keymap.c b/keyboards/yandrstudio/nz67v2/keymaps/via/keymap.c index 52e0d15c8e..d417fdb8ba 100644 --- a/keyboards/yandrstudio/nz67v2/keymaps/via/keymap.c +++ b/keyboards/yandrstudio/nz67v2/keymaps/via/keymap.c @@ -26,7 +26,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, 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, URGB_K, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, KC_TRNS, KC_TRNS, KC_TRNS, GUI_TOG, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, URGB_K, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, KC_TRNS, KC_TRNS, KC_TRNS, GU_TOGG, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, RGB_TOG, RGB_MOD, RGB_RMOD, RGB_VAI, RGB_VAD, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, 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( diff --git a/keyboards/yandrstudio/wave75/keymaps/default/keymap.c b/keyboards/yandrstudio/wave75/keymaps/default/keymap.c index d9201d06cf..766d1421e1 100644 --- a/keyboards/yandrstudio/wave75/keymaps/default/keymap.c +++ b/keyboards/yandrstudio/wave75/keymaps/default/keymap.c @@ -30,5 +30,5 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, CG_TOGG, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, - KC_TRNS, GUI_TOG, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS) + KC_TRNS, GU_TOGG, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS) }; diff --git a/keyboards/yandrstudio/wave75/keymaps/via/keymap.c b/keyboards/yandrstudio/wave75/keymaps/via/keymap.c index 47b133af1e..56f2c6229d 100644 --- a/keyboards/yandrstudio/wave75/keymaps/via/keymap.c +++ b/keyboards/yandrstudio/wave75/keymaps/via/keymap.c @@ -30,7 +30,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, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, CG_TOGG, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, - KC_TRNS, GUI_TOG, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS), + KC_TRNS, GU_TOGG, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS), [2] = 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_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, 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/yandrstudio/yr6095/keymaps/default/keymap.c b/keyboards/yandrstudio/yr6095/keymaps/default/keymap.c index 3347731f2b..812270b13b 100644 --- a/keyboards/yandrstudio/yr6095/keymaps/default/keymap.c +++ b/keyboards/yandrstudio/yr6095/keymaps/default/keymap.c @@ -27,5 +27,5 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, RGB_TOG, RGB_MOD, RGB_RMOD, RGB_VAI, RGB_VAD, KC_TRNS, CG_TOGG, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, - KC_TRNS, GUI_TOG, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS) + KC_TRNS, GU_TOGG, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS) }; diff --git a/keyboards/yandrstudio/yr6095/keymaps/via/keymap.c b/keyboards/yandrstudio/yr6095/keymaps/via/keymap.c index 7bb2ef6265..50b4ed8d35 100644 --- a/keyboards/yandrstudio/yr6095/keymaps/via/keymap.c +++ b/keyboards/yandrstudio/yr6095/keymaps/via/keymap.c @@ -27,7 +27,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, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, RGB_TOG, RGB_MOD, RGB_RMOD, RGB_VAI, RGB_VAD, KC_TRNS, CG_TOGG, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, - KC_TRNS, GUI_TOG, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS), + KC_TRNS, GU_TOGG, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS), [2] = LAYOUT_all( KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, diff --git a/keyboards/yushakobo/quick17/keymaps/default/keymap.c b/keyboards/yushakobo/quick17/keymaps/default/keymap.c index d1b27cd94e..134f48965d 100644 --- a/keyboards/yushakobo/quick17/keymaps/default/keymap.c +++ b/keyboards/yushakobo/quick17/keymaps/default/keymap.c @@ -40,7 +40,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { [_FN] = LAYOUT( KC_ESC, KC_LANG,KC_NO, RGB_TOG,KC_MNXT,KC_VOLU, KC_CAPS,KC_NUM, KC_NO, RGB_MOD,KC_MPRV,KC_VOLD, - CG_NORM,LCG_SWP,EE_CLR, QK_BOOT, TO(0), KC_MUTE + CG_NORM,CG_LSWP,EE_CLR, QK_BOOT, TO(0), KC_MUTE ) }; diff --git a/keyboards/yushakobo/quick17/keymaps/via/keymap.c b/keyboards/yushakobo/quick17/keymaps/via/keymap.c index d1b27cd94e..134f48965d 100644 --- a/keyboards/yushakobo/quick17/keymaps/via/keymap.c +++ b/keyboards/yushakobo/quick17/keymaps/via/keymap.c @@ -40,7 +40,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { [_FN] = LAYOUT( KC_ESC, KC_LANG,KC_NO, RGB_TOG,KC_MNXT,KC_VOLU, KC_CAPS,KC_NUM, KC_NO, RGB_MOD,KC_MPRV,KC_VOLD, - CG_NORM,LCG_SWP,EE_CLR, QK_BOOT, TO(0), KC_MUTE + CG_NORM,CG_LSWP,EE_CLR, QK_BOOT, TO(0), KC_MUTE ) }; diff --git a/quantum/quantum_keycodes_legacy.h b/quantum/quantum_keycodes_legacy.h index 260ac1c8a4..51ec77bae0 100644 --- a/quantum/quantum_keycodes_legacy.h +++ b/quantum/quantum_keycodes_legacy.h @@ -3,56 +3,3 @@ // clang-format off // Deprecated Quantum keycodes -#define SH_TG QK_SWAP_HANDS_TOGGLE -#define SQ_TOG QK_SEQUENCER_TOGGLE - -#define MAGIC_SWAP_CONTROL_CAPSLOCK QK_MAGIC_SWAP_CONTROL_CAPS_LOCK -#define MAGIC_UNSWAP_CONTROL_CAPSLOCK QK_MAGIC_UNSWAP_CONTROL_CAPS_LOCK -#define MAGIC_TOGGLE_CONTROL_CAPSLOCK QK_MAGIC_TOGGLE_CONTROL_CAPS_LOCK -#define MAGIC_UNCAPSLOCK_TO_CONTROL QK_MAGIC_CAPS_LOCK_AS_CONTROL_OFF -#define MAGIC_CAPSLOCK_TO_CONTROL QK_MAGIC_CAPS_LOCK_AS_CONTROL_ON -#define MAGIC_SWAP_LALT_LGUI QK_MAGIC_SWAP_LALT_LGUI -#define MAGIC_UNSWAP_LALT_LGUI QK_MAGIC_UNSWAP_LALT_LGUI -#define MAGIC_SWAP_RALT_RGUI QK_MAGIC_SWAP_RALT_RGUI -#define MAGIC_UNSWAP_RALT_RGUI QK_MAGIC_UNSWAP_RALT_RGUI -#define MAGIC_UNNO_GUI QK_MAGIC_GUI_ON -#define MAGIC_NO_GUI QK_MAGIC_GUI_OFF -#define MAGIC_TOGGLE_GUI QK_MAGIC_TOGGLE_GUI -#define MAGIC_SWAP_GRAVE_ESC QK_MAGIC_SWAP_GRAVE_ESC -#define MAGIC_UNSWAP_GRAVE_ESC QK_MAGIC_UNSWAP_GRAVE_ESC -#define MAGIC_SWAP_BACKSLASH_BACKSPACE QK_MAGIC_SWAP_BACKSLASH_BACKSPACE -#define MAGIC_UNSWAP_BACKSLASH_BACKSPACE QK_MAGIC_UNSWAP_BACKSLASH_BACKSPACE -#define MAGIC_TOGGLE_BACKSLASH_BACKSPACE QK_MAGIC_TOGGLE_BACKSLASH_BACKSPACE -#define MAGIC_HOST_NKRO QK_MAGIC_NKRO_ON -#define MAGIC_UNHOST_NKRO QK_MAGIC_NKRO_OFF -#define MAGIC_TOGGLE_NKRO QK_MAGIC_TOGGLE_NKRO -#define MAGIC_SWAP_ALT_GUI QK_MAGIC_SWAP_ALT_GUI -#define MAGIC_UNSWAP_ALT_GUI QK_MAGIC_UNSWAP_ALT_GUI -#define MAGIC_TOGGLE_ALT_GUI QK_MAGIC_TOGGLE_ALT_GUI -#define MAGIC_SWAP_LCTL_LGUI QK_MAGIC_SWAP_LCTL_LGUI -#define MAGIC_UNSWAP_LCTL_LGUI QK_MAGIC_UNSWAP_LCTL_LGUI -#define MAGIC_SWAP_RCTL_RGUI QK_MAGIC_SWAP_RCTL_RGUI -#define MAGIC_UNSWAP_RCTL_RGUI QK_MAGIC_UNSWAP_RCTL_RGUI -#define MAGIC_SWAP_CTL_GUI QK_MAGIC_SWAP_CTL_GUI -#define MAGIC_UNSWAP_CTL_GUI QK_MAGIC_UNSWAP_CTL_GUI -#define MAGIC_TOGGLE_CTL_GUI QK_MAGIC_TOGGLE_CTL_GUI -#define MAGIC_EE_HANDS_LEFT QK_MAGIC_EE_HANDS_LEFT -#define MAGIC_EE_HANDS_RIGHT QK_MAGIC_EE_HANDS_RIGHT -#define MAGIC_SWAP_ESCAPE_CAPSLOCK QK_MAGIC_SWAP_ESCAPE_CAPS_LOCK -#define MAGIC_UNSWAP_ESCAPE_CAPSLOCK QK_MAGIC_UNSWAP_ESCAPE_CAPS_LOCK -#define MAGIC_TOGGLE_ESCAPE_CAPSLOCK QK_MAGIC_TOGGLE_ESCAPE_CAPS_LOCK - -#define LCG_SWP QK_MAGIC_SWAP_LCTL_LGUI -#define LCG_NRM QK_MAGIC_UNSWAP_LCTL_LGUI -#define RCG_SWP QK_MAGIC_SWAP_RCTL_RGUI -#define RCG_NRM QK_MAGIC_UNSWAP_RCTL_RGUI -#define LAG_SWP QK_MAGIC_SWAP_LALT_LGUI -#define LAG_NRM QK_MAGIC_UNSWAP_LALT_LGUI -#define RAG_SWP QK_MAGIC_SWAP_RALT_RGUI -#define RAG_NRM QK_MAGIC_UNSWAP_RALT_RGUI -#define GUI_ON QK_MAGIC_GUI_ON -#define GUI_OFF QK_MAGIC_GUI_OFF -#define GUI_TOG QK_MAGIC_TOGGLE_GUI - -#define X(i) UM(i) -#define XP(i, j) UP(i, j) -- cgit v1.2.3 From b99143fdd2637f573bb8c2632a38b84acc1945a0 Mon Sep 17 00:00:00 2001 From: NoOne2246 Date: Tue, 9 Apr 2024 04:55:42 +1000 Subject: Oneshot locked mods split transaction (#23434) --- docs/feature_split_keyboard.md | 2 +- quantum/split_common/transactions.c | 5 +++++ quantum/split_common/transport.h | 1 + 3 files changed, 7 insertions(+), 1 deletion(-) (limited to 'docs') diff --git a/docs/feature_split_keyboard.md b/docs/feature_split_keyboard.md index 59159cb3fa..99c252d03e 100644 --- a/docs/feature_split_keyboard.md +++ b/docs/feature_split_keyboard.md @@ -266,7 +266,7 @@ This enables syncing of the Host LED status (caps lock, num lock, etc) between b #define SPLIT_MODS_ENABLE ``` -This enables transmitting modifier state (normal, weak and oneshot) to the non primary side of the split keyboard. The purpose of this feature is to support cosmetic use of modifer state (e.g. displaying status on an OLED screen). +This enables transmitting modifier state (normal, weak, oneshot and oneshot locked) to the non primary side of the split keyboard. The purpose of this feature is to support cosmetic use of modifer state (e.g. displaying status on an OLED screen). ```c #define SPLIT_WPM_ENABLE diff --git a/quantum/split_common/transactions.c b/quantum/split_common/transactions.c index 33bc9e9f57..decf5e5ede 100644 --- a/quantum/split_common/transactions.c +++ b/quantum/split_common/transactions.c @@ -419,6 +419,10 @@ static bool mods_handlers_master(matrix_row_t master_matrix[], matrix_row_t slav if (!mods_need_sync && new_mods.oneshot_mods != split_shmem->mods.oneshot_mods) { mods_need_sync = true; } + new_mods.oneshot_locked_mods = get_oneshot_locked_mods(); + if (!mods_need_sync && new_mods.oneshot_locked_mods != split_shmem->mods.oneshot_locked_mods) { + mods_need_sync = true; + } # endif // NO_ACTION_ONESHOT bool okay = true; @@ -442,6 +446,7 @@ static void mods_handlers_slave(matrix_row_t master_matrix[], matrix_row_t slave set_weak_mods(mods.weak_mods); # ifndef NO_ACTION_ONESHOT set_oneshot_mods(mods.oneshot_mods); + set_oneshot_locked_mods(mods.oneshot_locked_mods); # endif } diff --git a/quantum/split_common/transport.h b/quantum/split_common/transport.h index 4f6b968fa8..fbd87ca312 100644 --- a/quantum/split_common/transport.h +++ b/quantum/split_common/transport.h @@ -101,6 +101,7 @@ typedef struct _split_mods_sync_t { uint8_t weak_mods; # ifndef NO_ACTION_ONESHOT uint8_t oneshot_mods; + uint8_t oneshot_locked_mods; # endif // NO_ACTION_ONESHOT } split_mods_sync_t; #endif // SPLIT_MODS_ENABLE -- cgit v1.2.3 From 52d3ef0fe4bd860420893e364be36c155f4ba300 Mon Sep 17 00:00:00 2001 From: Ryan Date: Thu, 11 Apr 2024 14:14:02 +1000 Subject: Add new set of keycodes for LED Matrix (#23432) --- data/constants/keycodes/keycodes_0.0.4.hjson | 0 .../keycodes/keycodes_0.0.4_lighting.hjson | 67 ++++++++++++++++++++++ docs/feature_led_matrix.md | 21 +++---- docs/keycodes.md | 16 ++++++ quantum/keycodes.h | 20 +++++++ tests/test_common/keycode_table.cpp | 9 +++ 6 files changed, 123 insertions(+), 10 deletions(-) create mode 100644 data/constants/keycodes/keycodes_0.0.4.hjson create mode 100644 data/constants/keycodes/keycodes_0.0.4_lighting.hjson (limited to 'docs') diff --git a/data/constants/keycodes/keycodes_0.0.4.hjson b/data/constants/keycodes/keycodes_0.0.4.hjson new file mode 100644 index 0000000000..e69de29bb2 diff --git a/data/constants/keycodes/keycodes_0.0.4_lighting.hjson b/data/constants/keycodes/keycodes_0.0.4_lighting.hjson new file mode 100644 index 0000000000..d7b27230f3 --- /dev/null +++ b/data/constants/keycodes/keycodes_0.0.4_lighting.hjson @@ -0,0 +1,67 @@ +{ + "keycodes": { + "0x7810": { + "group": "led_matrix", + "key": "QK_LED_MATRIX_ON", + "aliases": [ + "LM_ON" + ] + }, + "0x7811": { + "group": "led_matrix", + "key": "QK_LED_MATRIX_OFF", + "aliases": [ + "LM_OFF" + ] + }, + "0x7812": { + "group": "led_matrix", + "key": "QK_LED_MATRIX_TOGGLE", + "aliases": [ + "LM_TOGG" + ] + }, + "0x7813": { + "group": "led_matrix", + "key": "QK_LED_MATRIX_MODE_NEXT", + "aliases": [ + "LM_NEXT" + ] + }, + "0x7814": { + "group": "led_matrix", + "key": "QK_LED_MATRIX_MODE_PREVIOUS", + "aliases": [ + "LM_PREV" + ] + }, + "0x7815": { + "group": "led_matrix", + "key": "QK_LED_MATRIX_BRIGHTNESS_UP", + "aliases": [ + "LM_BRIU" + ] + }, + "0x7816": { + "group": "led_matrix", + "key": "QK_LED_MATRIX_BRIGHTNESS_DOWN", + "aliases": [ + "LM_BRID" + ] + }, + "0x7817": { + "group": "led_matrix", + "key": "QK_LED_MATRIX_SPEED_UP", + "aliases": [ + "LM_SPDU" + ] + }, + "0x7818": { + "group": "led_matrix", + "key": "QK_LED_MATRIX_SPEED_DOWN", + "aliases": [ + "LM_SPDD" + ] + } + } +} diff --git a/docs/feature_led_matrix.md b/docs/feature_led_matrix.md index 3a3a9dbf84..83357ab14e 100644 --- a/docs/feature_led_matrix.md +++ b/docs/feature_led_matrix.md @@ -217,16 +217,17 @@ As mentioned earlier, the center of the keyboard by default is expected to be `{ ## Keycodes :id=keycodes -All LED matrix keycodes are currently shared with the [Backlight feature](feature_backlight.md). - -| Key | Aliases | Description | -|-------------------------|-----------|-------------------------------| -| `QK_BACKLIGHT_TOGGLE` | `BL_TOGG` | Toggle LED Matrix on or off | -| `QK_BACKLIGHT_STEP` | `BL_STEP` | Cycle through modes | -| `QK_BACKLIGHT_ON` | `BL_ON` | Turn on LED Matrix | -| `QK_BACKLIGHT_OFF` | `BL_OFF` | Turn off LED Matrix | -| `QK_BACKLIGHT_UP` | `BL_UP` | Increase the brightness level | -| `QK_BACKLIGHT_DOWN` | `BL_DOWN` | Decrease the brightness level | +|Key |Aliases |Description | +|-------------------------------|---------|-----------------------------------| +|`QK_LED_MATRIX_ON` |`LM_ON` |Turn on LED Matrix | +|`QK_LED_MATRIX_OFF` |`LM_OFF` |Turn off LED Matrix | +|`QK_LED_MATRIX_TOGGLE` |`LM_TOGG`|Toggle LED Matrix on or off | +|`QK_LED_MATRIX_MODE_NEXT` |`LM_NEXT`|Cycle through animations | +|`QK_LED_MATRIX_MODE_PREVIOUS` |`LM_PREV`|Cycle through animations in reverse| +|`QK_LED_MATRIX_BRIGHTNESS_UP` |`LM_BRIU`|Increase the brightness level | +|`QK_LED_MATRIX_BRIGHTNESS_DOWN`|`LM_BRID`|Decrease the brightness level | +|`QK_LED_MATRIX_SPEED_UP` |`LM_SPDU`|Increase the animation speed | +|`QK_LED_MATRIX_SPEED_DOWN` |`LM_SPDD`|Decrease the animation speed | ## LED Matrix Effects :id=led-matrix-effects diff --git a/docs/keycodes.md b/docs/keycodes.md index 65762234a4..9d722216a9 100644 --- a/docs/keycodes.md +++ b/docs/keycodes.md @@ -398,6 +398,22 @@ See also: [Leader Key](feature_leader_key.md) |---------|------------------------| |`QK_LEAD`|Begins a leader sequence| +## LED Matrix :id=led-matrix + +See also: [LED Matrix](feature_led_matrix.md) + +|Key |Aliases |Description | +|-------------------------------|---------|-----------------------------------| +|`QK_LED_MATRIX_ON` |`LM_ON` |Turn on LED Matrix | +|`QK_LED_MATRIX_OFF` |`LM_OFF` |Turn off LED Matrix | +|`QK_LED_MATRIX_TOGGLE` |`LM_TOGG`|Toggle LED Matrix on or off | +|`QK_LED_MATRIX_MODE_NEXT` |`LM_NEXT`|Cycle through animations | +|`QK_LED_MATRIX_MODE_PREVIOUS` |`LM_PREV`|Cycle through animations in reverse| +|`QK_LED_MATRIX_BRIGHTNESS_UP` |`LM_BRIU`|Increase the brightness level | +|`QK_LED_MATRIX_BRIGHTNESS_DOWN`|`LM_BRID`|Decrease the brightness level | +|`QK_LED_MATRIX_SPEED_UP` |`LM_SPDU`|Increase the animation speed | +|`QK_LED_MATRIX_SPEED_DOWN` |`LM_SPDD`|Decrease the animation speed | + ## Magic Keycodes :id=magic-keycodes See also: [Magic Keycodes](keycodes_magic.md) diff --git a/quantum/keycodes.h b/quantum/keycodes.h index 69d62b5731..da1012cf12 100644 --- a/quantum/keycodes.h +++ b/quantum/keycodes.h @@ -627,6 +627,15 @@ enum qk_keycode_defines { QK_BACKLIGHT_UP = 0x7804, QK_BACKLIGHT_STEP = 0x7805, QK_BACKLIGHT_TOGGLE_BREATHING = 0x7806, + QK_LED_MATRIX_ON = 0x7810, + QK_LED_MATRIX_OFF = 0x7811, + QK_LED_MATRIX_TOGGLE = 0x7812, + QK_LED_MATRIX_MODE_NEXT = 0x7813, + QK_LED_MATRIX_MODE_PREVIOUS = 0x7814, + QK_LED_MATRIX_BRIGHTNESS_UP = 0x7815, + QK_LED_MATRIX_BRIGHTNESS_DOWN = 0x7816, + QK_LED_MATRIX_SPEED_UP = 0x7817, + QK_LED_MATRIX_SPEED_DOWN = 0x7818, RGB_TOG = 0x7820, RGB_MODE_FORWARD = 0x7821, RGB_MODE_REVERSE = 0x7822, @@ -1281,6 +1290,15 @@ enum qk_keycode_defines { BL_UP = QK_BACKLIGHT_UP, BL_STEP = QK_BACKLIGHT_STEP, BL_BRTG = QK_BACKLIGHT_TOGGLE_BREATHING, + LM_ON = QK_LED_MATRIX_ON, + LM_OFF = QK_LED_MATRIX_OFF, + LM_TOGG = QK_LED_MATRIX_TOGGLE, + LM_NEXT = QK_LED_MATRIX_MODE_NEXT, + LM_PREV = QK_LED_MATRIX_MODE_PREVIOUS, + LM_BRIU = QK_LED_MATRIX_BRIGHTNESS_UP, + LM_BRID = QK_LED_MATRIX_BRIGHTNESS_DOWN, + LM_SPDU = QK_LED_MATRIX_SPEED_UP, + LM_SPDD = QK_LED_MATRIX_SPEED_DOWN, RGB_MOD = RGB_MODE_FORWARD, RGB_RMOD = RGB_MODE_REVERSE, RGB_M_P = RGB_MODE_PLAIN, @@ -1416,6 +1434,7 @@ enum qk_keycode_defines { #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_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_RGB_KEYCODE(code) ((code) >= RGB_TOG && (code) <= RGB_MODE_TWINKLE) #define IS_QUANTUM_KEYCODE(code) ((code) >= QK_BOOTLOADER && (code) <= QK_ALT_REPEAT_KEY) #define IS_KB_KEYCODE(code) ((code) >= QK_KB_0 && (code) <= QK_KB_31) @@ -1438,6 +1457,7 @@ enum qk_keycode_defines { #define STENO_KEYCODE_RANGE QK_STENO_BOLT ... QK_STENO_COMB_MAX #define MACRO_KEYCODE_RANGE QK_MACRO_0 ... QK_MACRO_31 #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 RGB_KEYCODE_RANGE RGB_TOG ... RGB_MODE_TWINKLE #define QUANTUM_KEYCODE_RANGE QK_BOOTLOADER ... QK_ALT_REPEAT_KEY #define KB_KEYCODE_RANGE QK_KB_0 ... QK_KB_31 diff --git a/tests/test_common/keycode_table.cpp b/tests/test_common/keycode_table.cpp index 29f7c710a0..06064e77f9 100644 --- a/tests/test_common/keycode_table.cpp +++ b/tests/test_common/keycode_table.cpp @@ -569,6 +569,15 @@ std::map KEYCODE_ID_TABLE = { {QK_BACKLIGHT_UP, "QK_BACKLIGHT_UP"}, {QK_BACKLIGHT_STEP, "QK_BACKLIGHT_STEP"}, {QK_BACKLIGHT_TOGGLE_BREATHING, "QK_BACKLIGHT_TOGGLE_BREATHING"}, + {QK_LED_MATRIX_ON, "QK_LED_MATRIX_ON"}, + {QK_LED_MATRIX_OFF, "QK_LED_MATRIX_OFF"}, + {QK_LED_MATRIX_TOGGLE, "QK_LED_MATRIX_TOGGLE"}, + {QK_LED_MATRIX_MODE_NEXT, "QK_LED_MATRIX_MODE_NEXT"}, + {QK_LED_MATRIX_MODE_PREVIOUS, "QK_LED_MATRIX_MODE_PREVIOUS"}, + {QK_LED_MATRIX_BRIGHTNESS_UP, "QK_LED_MATRIX_BRIGHTNESS_UP"}, + {QK_LED_MATRIX_BRIGHTNESS_DOWN, "QK_LED_MATRIX_BRIGHTNESS_DOWN"}, + {QK_LED_MATRIX_SPEED_UP, "QK_LED_MATRIX_SPEED_UP"}, + {QK_LED_MATRIX_SPEED_DOWN, "QK_LED_MATRIX_SPEED_DOWN"}, {RGB_TOG, "RGB_TOG"}, {RGB_MODE_FORWARD, "RGB_MODE_FORWARD"}, {RGB_MODE_REVERSE, "RGB_MODE_REVERSE"}, -- cgit v1.2.3 From 16cca527a6b46c2aa365428d7d1e214509068c4a Mon Sep 17 00:00:00 2001 From: Joel Challis Date: Wed, 24 Apr 2024 19:33:52 +0100 Subject: Fix WAIT_FOR_USB handling (#23598) --- data/mappings/info_rules.hjson | 2 +- data/schemas/keyboard.jsonschema | 2 +- docs/config_options.md | 2 +- docs/ja/config_options.md | 2 +- docs/reference_info_json.md | 2 +- keyboards/converter/hp_46010a/keyboard.json | 3 ++- keyboards/converter/hp_46010a/rules.mk | 1 - keyboards/geekboards/macropad_v2/config.h | 2 -- keyboards/geekboards/macropad_v2/keyboard.json | 3 ++- keyboards/ristretto/keyboard.json | 3 ++- keyboards/ristretto/rules.mk | 1 - tmk_core/protocol.mk | 4 ++++ tmk_core/protocol/chibios/chibios.c | 7 ++++++- tmk_core/protocol/lufa/lufa.c | 7 ++++++- 14 files changed, 27 insertions(+), 14 deletions(-) delete mode 100644 keyboards/ristretto/rules.mk (limited to 'docs') diff --git a/data/mappings/info_rules.hjson b/data/mappings/info_rules.hjson index 35e2e8dfc0..5d08be2fc1 100644 --- a/data/mappings/info_rules.hjson +++ b/data/mappings/info_rules.hjson @@ -44,7 +44,7 @@ "SPLIT_TRANSPORT": {"info_key": "split.transport.protocol", "to_c": false}, "STENO_ENABLE": {"info_key": "stenography.enabled", "value_type": "bool"}, "STENO_PROTOCOL": {"info_key": "stenography.protocol"}, - "WAIT_FOR_USB": {"info_key": "usb.wait_for", "value_type": "bool"}, + "USB_WAIT_FOR_ENUMERATION": {"info_key": "usb.wait_for_enumeration", "value_type": "bool"}, "WEAR_LEVELING_DRIVER": {"info_key": "eeprom.wear_leveling.driver"}, "WS2812_DRIVER": {"info_key": "ws2812.driver"}, diff --git a/data/schemas/keyboard.jsonschema b/data/schemas/keyboard.jsonschema index f3116fd271..24f7fec9ab 100644 --- a/data/schemas/keyboard.jsonschema +++ b/data/schemas/keyboard.jsonschema @@ -894,7 +894,7 @@ } }, "suspend_wakeup_delay": {"$ref": "qmk.definitions.v1#/unsigned_int"}, - "wait_for": {"type": "boolean"} + "wait_for_enumeration": {"type": "boolean"} } }, "qmk": { diff --git a/docs/config_options.md b/docs/config_options.md index 045d9c0747..fca80e54fd 100644 --- a/docs/config_options.md +++ b/docs/config_options.md @@ -446,7 +446,7 @@ Use these to enable or disable building certain features. The more you have enab * Allows replacing the standard matrix scanning routine with a custom one. * `DEBOUNCE_TYPE` * Allows replacing the standard key debouncing routine with an alternative or custom one. -* `WAIT_FOR_USB` +* `USB_WAIT_FOR_ENUMERATION` * Forces the keyboard to wait for a USB connection to be established before it starts up * `NO_USB_STARTUP_CHECK` * Disables usb suspend check after keyboard startup. Usually the keyboard waits for the host to wake it up before any tasks are performed. This is useful for split keyboards as one half will not get a wakeup call but must send commands to the master. diff --git a/docs/ja/config_options.md b/docs/ja/config_options.md index a349081d6a..6cc1b6bfcd 100644 --- a/docs/ja/config_options.md +++ b/docs/ja/config_options.md @@ -378,7 +378,7 @@ QMK での全ての利用可能な設定にはデフォルトがあります。 * 標準マトリックス走査ルーチンを独自のものに置き換えることができます。 * `DEBOUNCE_TYPE` * 標準キーデバウンスルーチンを代替または独自のものに置き換えることができます。 -* `WAIT_FOR_USB` +* `USB_WAIT_FOR_ENUMERATION` * キーボードが起動する前に、USB 接続が確立されるのをキーボードに待機させます * `NO_USB_STARTUP_CHECK` * キーボードの起動後の usb サスペンドチェックを無効にします。通常、キーボードはタスクが実行される前にホストがウェイク アップするのを待ちます。分割キーボードは半分はウェイクアップコールを取得できませんが、マスタにコマンドを送信する必要があるため、役に立ちます。 diff --git a/docs/reference_info_json.md b/docs/reference_info_json.md index e6bc34e79e..6f0b84c414 100644 --- a/docs/reference_info_json.md +++ b/docs/reference_info_json.md @@ -833,7 +833,7 @@ Configures the [Stenography](feature_stenography.md) feature. * `suspend_wakeup_delay` * The amount of time to wait after sending a wakeup packet, in milliseconds. * Default: `0` (disabled) - * `wait_for` + * `wait_for_enumeration` * Force the keyboard to wait for USB enumeration before starting up. * Default: `false` diff --git a/keyboards/converter/hp_46010a/keyboard.json b/keyboards/converter/hp_46010a/keyboard.json index 0296bda5e9..4519306981 100644 --- a/keyboards/converter/hp_46010a/keyboard.json +++ b/keyboards/converter/hp_46010a/keyboard.json @@ -6,7 +6,8 @@ "usb": { "vid": "0xFEED", "pid": "0x6060", - "device_version": "0.0.1" + "device_version": "0.0.1", + "wait_for_enumeration": true }, "processor": "atmega32u4", "bootloader": "halfkay", diff --git a/keyboards/converter/hp_46010a/rules.mk b/keyboards/converter/hp_46010a/rules.mk index 3c6124d20a..857395fb40 100644 --- a/keyboards/converter/hp_46010a/rules.mk +++ b/keyboards/converter/hp_46010a/rules.mk @@ -1,4 +1,3 @@ -WAIT_FOR_USB = yes CUSTOM_MATRIX = yes SRC = matrix.c diff --git a/keyboards/geekboards/macropad_v2/config.h b/keyboards/geekboards/macropad_v2/config.h index dca98f0c95..e452c886f6 100644 --- a/keyboards/geekboards/macropad_v2/config.h +++ b/keyboards/geekboards/macropad_v2/config.h @@ -21,5 +21,3 @@ #define WS2812_PWM_PAL_MODE 1 #define WS2812_PWM_DMA_STREAM STM32_DMA1_STREAM3 #define WS2812_PWM_DMA_CHANNEL 3 - -#define WAIT_FOR_USB diff --git a/keyboards/geekboards/macropad_v2/keyboard.json b/keyboards/geekboards/macropad_v2/keyboard.json index 035a83c157..54d779570a 100644 --- a/keyboards/geekboards/macropad_v2/keyboard.json +++ b/keyboards/geekboards/macropad_v2/keyboard.json @@ -6,7 +6,8 @@ "usb": { "vid": "0x0483", "pid": "0xA372", - "device_version": "0.0.2" + "device_version": "0.0.2", + "wait_for_enumeration": true }, "qmk": { "tap_keycode_delay": 10 diff --git a/keyboards/ristretto/keyboard.json b/keyboards/ristretto/keyboard.json index b28f3c1dc1..e8e812b7d2 100644 --- a/keyboards/ristretto/keyboard.json +++ b/keyboards/ristretto/keyboard.json @@ -6,7 +6,8 @@ "usb": { "vid": "0x666B", "pid": "0x7273", - "device_version": "0.0.1" + "device_version": "0.0.1", + "wait_for_enumeration": true }, "features": { "bootmagic": false, diff --git a/keyboards/ristretto/rules.mk b/keyboards/ristretto/rules.mk deleted file mode 100644 index 908e5e972e..0000000000 --- a/keyboards/ristretto/rules.mk +++ /dev/null @@ -1 +0,0 @@ -WAIT_FOR_USB = yes diff --git a/tmk_core/protocol.mk b/tmk_core/protocol.mk index fd5342d637..796b4e8787 100644 --- a/tmk_core/protocol.mk +++ b/tmk_core/protocol.mk @@ -66,6 +66,10 @@ ifeq ($(strip $(NO_USB_STARTUP_CHECK)), yes) OPT_DEFS += -DNO_USB_STARTUP_CHECK endif +ifeq ($(strip $(USB_WAIT_FOR_ENUMERATION)), yes) + OPT_DEFS += -DUSB_WAIT_FOR_ENUMERATION +endif + ifeq ($(strip $(JOYSTICK_SHARED_EP)), yes) OPT_DEFS += -DJOYSTICK_SHARED_EP SHARED_EP_ENABLE = yes diff --git a/tmk_core/protocol/chibios/chibios.c b/tmk_core/protocol/chibios/chibios.c index a02097785f..a249af8d38 100644 --- a/tmk_core/protocol/chibios/chibios.c +++ b/tmk_core/protocol/chibios/chibios.c @@ -51,6 +51,11 @@ #define USB_GETSTATUS_REMOTE_WAKEUP_ENABLED (2U) +#ifdef WAIT_FOR_USB +// TODO: Remove backwards compatibility with old define +# define USB_WAIT_FOR_ENUMERATION +#endif + /* ------------------------- * TMK host driver defs * ------------------------- @@ -143,7 +148,7 @@ void protocol_pre_init(void) { /* Wait until USB is active */ while (true) { -#if defined(WAIT_FOR_USB) +#if defined(USB_WAIT_FOR_ENUMERATION) if (USB_DRIVER.state == USB_ACTIVE) { driver = &chibios_driver; break; diff --git a/tmk_core/protocol/lufa/lufa.c b/tmk_core/protocol/lufa/lufa.c index d6f0c69b6b..2142b04460 100644 --- a/tmk_core/protocol/lufa/lufa.c +++ b/tmk_core/protocol/lufa/lufa.c @@ -67,6 +67,11 @@ # include "raw_hid.h" #endif +#ifdef WAIT_FOR_USB +// TODO: Remove backwards compatibility with old define +# define USB_WAIT_FOR_ENUMERATION +#endif + uint8_t keyboard_idle = 0; /* 0: Boot Protocol, 1: Report Protocol(default) */ uint8_t keyboard_protocol = 1; @@ -807,7 +812,7 @@ void protocol_pre_init(void) { /* wait for USB startup & debug output */ -#ifdef WAIT_FOR_USB +#ifdef USB_WAIT_FOR_ENUMERATION while (USB_DeviceState != DEVICE_STATE_Configured) { # if defined(INTERRUPT_CONTROL_ENDPOINT) ; -- cgit v1.2.3 From d333a25868039292a327a141dc90c0015b7fd017 Mon Sep 17 00:00:00 2001 From: Joel Challis Date: Fri, 26 Apr 2024 05:41:22 +0100 Subject: Add audio driver to keyboard.json schema (#23616) --- data/mappings/info_rules.hjson | 1 + data/schemas/keyboard.jsonschema | 4 ++++ docs/reference_info_json.md | 2 ++ keyboards/adafruit/macropad/keyboard.json | 1 + keyboards/adafruit/macropad/rules.mk | 1 - keyboards/arrowmechanics/wings/keyboard.json | 3 +++ keyboards/arrowmechanics/wings/rules.mk | 1 - keyboards/boardsource/equals/48/keyboard.json | 3 +++ keyboards/boardsource/equals/48/rules.mk | 1 - keyboards/boardsource/equals/60/keyboard.json | 3 +++ keyboards/boardsource/equals/60/rules.mk | 1 - keyboards/boardsource/unicorne/keyboard.json | 3 +++ keyboards/boardsource/unicorne/rules.mk | 1 - keyboards/custommk/cmk11/keyboard.json | 3 +++ keyboards/custommk/cmk11/rules.mk | 1 - keyboards/custommk/ergostrafer/keyboard.json | 3 +++ keyboards/custommk/ergostrafer/rules.mk | 1 - keyboards/custommk/evo70_r2/keyboard.json | 3 +++ keyboards/custommk/evo70_r2/rules.mk | 2 -- keyboards/handwired/macroboard/f411/keyboard.json | 3 +++ keyboards/handwired/macroboard/f411/rules.mk | 1 - keyboards/handwired/tractyl_manuform/5x6_right/f303/keyboard.json | 3 +++ keyboards/handwired/tractyl_manuform/5x6_right/f303/rules.mk | 1 - keyboards/handwired/tractyl_manuform/5x6_right/f411/keyboard.json | 3 +++ keyboards/handwired/tractyl_manuform/5x6_right/f411/rules.mk | 1 - keyboards/nack/keyboard.json | 3 +++ keyboards/nack/rules.mk | 1 - keyboards/planck/ez/info.json | 3 +++ keyboards/planck/ez/rules.mk | 2 -- keyboards/quokka/keyboard.json | 3 +++ keyboards/quokka/rules.mk | 1 - keyboards/rgbkb/sol3/rev1/keyboard.json | 3 +++ keyboards/rgbkb/sol3/rules.mk | 1 - keyboards/tzarc/djinn/info.json | 3 +++ keyboards/tzarc/djinn/rules.mk | 2 -- keyboards/yanghu/unicorne/info.json | 3 +++ keyboards/yanghu/unicorne/rules.mk | 2 -- keyboards/zsa/moonlander/keyboard.json | 3 +++ keyboards/zsa/moonlander/rules.mk | 1 - 39 files changed, 59 insertions(+), 22 deletions(-) delete mode 100644 keyboards/custommk/cmk11/rules.mk delete mode 100644 keyboards/custommk/ergostrafer/rules.mk delete mode 100644 keyboards/handwired/macroboard/f411/rules.mk delete mode 100644 keyboards/nack/rules.mk (limited to 'docs') diff --git a/data/mappings/info_rules.hjson b/data/mappings/info_rules.hjson index 5d08be2fc1..97611bcf58 100644 --- a/data/mappings/info_rules.hjson +++ b/data/mappings/info_rules.hjson @@ -11,6 +11,7 @@ // invalid: Default `false`. Set to `true` to generate errors when a value exists // replace_with: use with a key marked deprecated or invalid to designate a replacement + "AUDIO_DRIVER": {"info_key": "audio.driver"}, "BACKLIGHT_DRIVER": {"info_key": "backlight.driver"}, "BLUETOOTH_DRIVER": {"info_key": "bluetooth.driver"}, "BOARD": {"info_key": "board"}, diff --git a/data/schemas/keyboard.jsonschema b/data/schemas/keyboard.jsonschema index 24f7fec9ab..585c64777f 100644 --- a/data/schemas/keyboard.jsonschema +++ b/data/schemas/keyboard.jsonschema @@ -133,6 +133,10 @@ "clicky": {"type": "boolean"} } }, + "driver": { + "type": "string", + "enum": ["dac_additive", "dac_basic", "pwm_software", "pwm_hardware"] + }, "macro_beep": {"type": "boolean"}, "pins": {"$ref": "qmk.definitions.v1#/mcu_pin_array"}, "power_control": { diff --git a/docs/reference_info_json.md b/docs/reference_info_json.md index 6f0b84c414..d1dc5d3bea 100644 --- a/docs/reference_info_json.md +++ b/docs/reference_info_json.md @@ -118,6 +118,8 @@ Configures the [Audio](feature_audio.md) feature. * `clicky` * The default audio clicky enabled state. * Default: `true` + * `driver` + * The driver to use. Must be one of `dac_additive`, `dac_basic`, `pwm_software`, `pwm_hardware`. * `macro_beep` * Play a short beep for `\a` (ASCII `BEL`) characters in Send String macros. * Default: `false` diff --git a/keyboards/adafruit/macropad/keyboard.json b/keyboards/adafruit/macropad/keyboard.json index 86601c0167..94f2673f98 100644 --- a/keyboards/adafruit/macropad/keyboard.json +++ b/keyboards/adafruit/macropad/keyboard.json @@ -19,6 +19,7 @@ "oled": true }, "audio": { + "driver": "pwm_hardware", "power_control": { "pin": "GP14" } diff --git a/keyboards/adafruit/macropad/rules.mk b/keyboards/adafruit/macropad/rules.mk index 1630b74cea..d7ca5b3b90 100644 --- a/keyboards/adafruit/macropad/rules.mk +++ b/keyboards/adafruit/macropad/rules.mk @@ -1,2 +1 @@ -AUDIO_DRIVER = pwm_hardware OLED_TRANSPORT = spi diff --git a/keyboards/arrowmechanics/wings/keyboard.json b/keyboards/arrowmechanics/wings/keyboard.json index fca38314c9..0f1e6696f7 100644 --- a/keyboards/arrowmechanics/wings/keyboard.json +++ b/keyboards/arrowmechanics/wings/keyboard.json @@ -17,6 +17,9 @@ "mousekey": true, "rgb_matrix": true }, + "audio": { + "driver": "pwm_hardware" + }, "matrix_pins": { "cols": ["GP8", "GP9", "GP10", "GP11", "GP12", "GP13", "GP14", "GP15", "GP16"], "rows": ["GP22", "GP21", "GP20", "GP19", "GP18", "GP17"] diff --git a/keyboards/arrowmechanics/wings/rules.mk b/keyboards/arrowmechanics/wings/rules.mk index 22ce54190c..161ec22b16 100644 --- a/keyboards/arrowmechanics/wings/rules.mk +++ b/keyboards/arrowmechanics/wings/rules.mk @@ -1,2 +1 @@ SERIAL_DRIVER = vendor -AUDIO_DRIVER = pwm_hardware diff --git a/keyboards/boardsource/equals/48/keyboard.json b/keyboards/boardsource/equals/48/keyboard.json index 5b63355931..13bc0d80ab 100644 --- a/keyboards/boardsource/equals/48/keyboard.json +++ b/keyboards/boardsource/equals/48/keyboard.json @@ -10,6 +10,9 @@ "cols": ["GP0", "GP1", "GP2", "GP3", "GP4", "GP5", "GP6", "GP7", "GP8", "GP9", "GP10", "GP11"], "rows": ["GP12", "GP13", "GP16", "GP17"] }, + "audio": { + "driver": "pwm_hardware" + }, "ws2812": { "driver": "vendor", "pin": "GP21" diff --git a/keyboards/boardsource/equals/48/rules.mk b/keyboards/boardsource/equals/48/rules.mk index 2f75fc139f..ec94c118ee 100644 --- a/keyboards/boardsource/equals/48/rules.mk +++ b/keyboards/boardsource/equals/48/rules.mk @@ -1,2 +1 @@ -AUDIO_DRIVER = pwm_hardware QUANTUM_PAINTER_DRIVERS += st7735_spi diff --git a/keyboards/boardsource/equals/60/keyboard.json b/keyboards/boardsource/equals/60/keyboard.json index 3bc1f49be3..63cb4717e5 100644 --- a/keyboards/boardsource/equals/60/keyboard.json +++ b/keyboards/boardsource/equals/60/keyboard.json @@ -10,6 +10,9 @@ "cols": ["GP0", "GP1", "GP2", "GP3", "GP4", "GP5", "GP6", "GP7", "GP8", "GP9", "GP10", "GP11"], "rows": ["GP12", "GP13", "GP16", "GP17", "GP18"] }, + "audio": { + "driver": "pwm_hardware" + }, "ws2812": { "driver": "vendor", "pin": "GP21" diff --git a/keyboards/boardsource/equals/60/rules.mk b/keyboards/boardsource/equals/60/rules.mk index 2f75fc139f..ec94c118ee 100644 --- a/keyboards/boardsource/equals/60/rules.mk +++ b/keyboards/boardsource/equals/60/rules.mk @@ -1,2 +1 @@ -AUDIO_DRIVER = pwm_hardware QUANTUM_PAINTER_DRIVERS += st7735_spi diff --git a/keyboards/boardsource/unicorne/keyboard.json b/keyboards/boardsource/unicorne/keyboard.json index 6afbcc044c..4fb63de9e3 100644 --- a/keyboards/boardsource/unicorne/keyboard.json +++ b/keyboards/boardsource/unicorne/keyboard.json @@ -32,6 +32,9 @@ "pid": "0x7563", "vid": "0x4273" }, + "audio": { + "driver": "pwm_hardware" + }, "ws2812": { "driver": "vendor", "pin": "GP29" diff --git a/keyboards/boardsource/unicorne/rules.mk b/keyboards/boardsource/unicorne/rules.mk index d123b2a2fa..48b30dcd51 100644 --- a/keyboards/boardsource/unicorne/rules.mk +++ b/keyboards/boardsource/unicorne/rules.mk @@ -1,3 +1,2 @@ SERIAL_DRIVER = vendor -AUDIO_DRIVER = pwm_hardware POINTING_DEVICE_DRIVER = analog_joystick diff --git a/keyboards/custommk/cmk11/keyboard.json b/keyboards/custommk/cmk11/keyboard.json index d831351aa7..9a853063ba 100644 --- a/keyboards/custommk/cmk11/keyboard.json +++ b/keyboards/custommk/cmk11/keyboard.json @@ -18,6 +18,9 @@ "nkro": true, "rgb_matrix": true }, + "audio": { + "driver": "pwm_hardware" + }, "matrix_pins": { "cols": ["B0", "A1", "A2", "A3", "A6", "B10"], "rows": ["A5", "A4"] diff --git a/keyboards/custommk/cmk11/rules.mk b/keyboards/custommk/cmk11/rules.mk deleted file mode 100644 index 72f75f4367..0000000000 --- a/keyboards/custommk/cmk11/rules.mk +++ /dev/null @@ -1 +0,0 @@ -AUDIO_DRIVER = pwm_hardware diff --git a/keyboards/custommk/ergostrafer/keyboard.json b/keyboards/custommk/ergostrafer/keyboard.json index a1283114c8..4f23417415 100644 --- a/keyboards/custommk/ergostrafer/keyboard.json +++ b/keyboards/custommk/ergostrafer/keyboard.json @@ -17,6 +17,9 @@ "encoder": true, "audio": true }, + "audio": { + "driver": "pwm_hardware" + }, "matrix_pins": { "cols": ["B0", "A1", "A2", "A3", "A6", "B6", "B10"], "rows": ["C13", "C14", "C15", "B1", "A7", "A5"] diff --git a/keyboards/custommk/ergostrafer/rules.mk b/keyboards/custommk/ergostrafer/rules.mk deleted file mode 100644 index 72f75f4367..0000000000 --- a/keyboards/custommk/ergostrafer/rules.mk +++ /dev/null @@ -1 +0,0 @@ -AUDIO_DRIVER = pwm_hardware diff --git a/keyboards/custommk/evo70_r2/keyboard.json b/keyboards/custommk/evo70_r2/keyboard.json index dea56ed257..5f10d6705d 100644 --- a/keyboards/custommk/evo70_r2/keyboard.json +++ b/keyboards/custommk/evo70_r2/keyboard.json @@ -51,6 +51,9 @@ "twinkle": true } }, + "audio": { + "driver": "pwm_hardware" + }, "ws2812": { "driver": "pwm", "pin": "A10" diff --git a/keyboards/custommk/evo70_r2/rules.mk b/keyboards/custommk/evo70_r2/rules.mk index 193fe4f1a4..3961343ce4 100644 --- a/keyboards/custommk/evo70_r2/rules.mk +++ b/keyboards/custommk/evo70_r2/rules.mk @@ -1,5 +1,3 @@ -AUDIO_DRIVER = pwm_hardware - # project specific files SRC += matrix.c diff --git a/keyboards/handwired/macroboard/f411/keyboard.json b/keyboards/handwired/macroboard/f411/keyboard.json index 03a8aadc1b..8b1155d774 100644 --- a/keyboards/handwired/macroboard/f411/keyboard.json +++ b/keyboards/handwired/macroboard/f411/keyboard.json @@ -9,6 +9,9 @@ "rows": ["A15", "B3", "B4", "B5", "B7"] }, "diode_direction": "COL2ROW", + "audio": { + "driver": "pwm_hardware" + }, "ws2812": { "driver": "pwm" }, diff --git a/keyboards/handwired/macroboard/f411/rules.mk b/keyboards/handwired/macroboard/f411/rules.mk deleted file mode 100644 index 72f75f4367..0000000000 --- a/keyboards/handwired/macroboard/f411/rules.mk +++ /dev/null @@ -1 +0,0 @@ -AUDIO_DRIVER = pwm_hardware diff --git a/keyboards/handwired/tractyl_manuform/5x6_right/f303/keyboard.json b/keyboards/handwired/tractyl_manuform/5x6_right/f303/keyboard.json index 000d8f0dd7..499390c610 100644 --- a/keyboards/handwired/tractyl_manuform/5x6_right/f303/keyboard.json +++ b/keyboards/handwired/tractyl_manuform/5x6_right/f303/keyboard.json @@ -12,6 +12,9 @@ "led_count": 20, "split_count": [10, 10] }, + "audio": { + "driver": "dac_additive" + }, "ws2812": { "pin": "A6", "driver": "pwm" diff --git a/keyboards/handwired/tractyl_manuform/5x6_right/f303/rules.mk b/keyboards/handwired/tractyl_manuform/5x6_right/f303/rules.mk index 23f790a1ad..22915ec000 100644 --- a/keyboards/handwired/tractyl_manuform/5x6_right/f303/rules.mk +++ b/keyboards/handwired/tractyl_manuform/5x6_right/f303/rules.mk @@ -1,4 +1,3 @@ # KEYBOARD_SHARED_EP = yes SERIAL_DRIVER = usart -AUDIO_DRIVER = dac_additive diff --git a/keyboards/handwired/tractyl_manuform/5x6_right/f411/keyboard.json b/keyboards/handwired/tractyl_manuform/5x6_right/f411/keyboard.json index 73c13e8e31..7182ee1701 100644 --- a/keyboards/handwired/tractyl_manuform/5x6_right/f411/keyboard.json +++ b/keyboards/handwired/tractyl_manuform/5x6_right/f411/keyboard.json @@ -15,6 +15,9 @@ "build": { "debounce_type": "asym_eager_defer_pk" }, + "audio": { + "driver": "pwm_hardware" + }, "ws2812": { "pin": "A1", "driver": "pwm" diff --git a/keyboards/handwired/tractyl_manuform/5x6_right/f411/rules.mk b/keyboards/handwired/tractyl_manuform/5x6_right/f411/rules.mk index e75692030f..f26cbbced1 100644 --- a/keyboards/handwired/tractyl_manuform/5x6_right/f411/rules.mk +++ b/keyboards/handwired/tractyl_manuform/5x6_right/f411/rules.mk @@ -2,4 +2,3 @@ KEYBOARD_SHARED_EP = yes MOUSE_SHARED_EP = yes SERIAL_DRIVER = usart -AUDIO_DRIVER = pwm_hardware diff --git a/keyboards/nack/keyboard.json b/keyboards/nack/keyboard.json index 6a3b6db3ad..cd08aac0af 100644 --- a/keyboards/nack/keyboard.json +++ b/keyboards/nack/keyboard.json @@ -17,6 +17,9 @@ "rgb_matrix": true, "unicode": true }, + "audio": { + "driver": "dac_basic" + }, "ws2812": { "pin": "B5", "driver": "spi" diff --git a/keyboards/nack/rules.mk b/keyboards/nack/rules.mk deleted file mode 100644 index 72354402a6..0000000000 --- a/keyboards/nack/rules.mk +++ /dev/null @@ -1 +0,0 @@ -AUDIO_DRIVER = dac_basic diff --git a/keyboards/planck/ez/info.json b/keyboards/planck/ez/info.json index 4244b4d83d..f7b2a8f8a1 100644 --- a/keyboards/planck/ez/info.json +++ b/keyboards/planck/ez/info.json @@ -75,6 +75,9 @@ "rows": ["A10", "A9", "A8", "B15", "C13", "C14", "C15", "A2"] }, "diode_direction": "COL2ROW", + "audio": { + "driver": "dac_additive" + }, "encoder": { "rotary": [ {"pin_a": "B12", "pin_b": "B13"} diff --git a/keyboards/planck/ez/rules.mk b/keyboards/planck/ez/rules.mk index 6cdb6ed4c2..ef20f95b65 100644 --- a/keyboards/planck/ez/rules.mk +++ b/keyboards/planck/ez/rules.mk @@ -1,5 +1,3 @@ -AUDIO_DRIVER = dac_additive - RGBLIGHT_SUPPORTED = no BAKCLIGHT_SUPPORTED = no diff --git a/keyboards/quokka/keyboard.json b/keyboards/quokka/keyboard.json index 0c34b0ee65..094e3e496e 100644 --- a/keyboards/quokka/keyboard.json +++ b/keyboards/quokka/keyboard.json @@ -13,6 +13,9 @@ "oled": true, "rgb_matrix": true }, + "audio": { + "driver": "pwm_hardware" + }, "matrix_pins": { "cols": ["GP8", "GP7", "GP6", "GP5", "GP4"], "rows": ["GP10", "GP19", "GP20", "GP18"] diff --git a/keyboards/quokka/rules.mk b/keyboards/quokka/rules.mk index c53818be73..161ec22b16 100644 --- a/keyboards/quokka/rules.mk +++ b/keyboards/quokka/rules.mk @@ -1,2 +1 @@ -AUDIO_DRIVER = pwm_hardware SERIAL_DRIVER = vendor diff --git a/keyboards/rgbkb/sol3/rev1/keyboard.json b/keyboards/rgbkb/sol3/rev1/keyboard.json index 3b8b7d060c..83e0a7a927 100644 --- a/keyboards/rgbkb/sol3/rev1/keyboard.json +++ b/keyboards/rgbkb/sol3/rev1/keyboard.json @@ -24,6 +24,9 @@ "twinkle": true } }, + "audio": { + "driver": "dac_additive" + }, "ws2812": { "pin": "B5", "driver": "pwm" diff --git a/keyboards/rgbkb/sol3/rules.mk b/keyboards/rgbkb/sol3/rules.mk index bf22130a55..0c48b5d30e 100644 --- a/keyboards/rgbkb/sol3/rules.mk +++ b/keyboards/rgbkb/sol3/rules.mk @@ -14,7 +14,6 @@ CONSOLE_ENABLE = no # Console for debug COMMAND_ENABLE = no # Commands for debug and configuration NKRO_ENABLE = yes # Enable N-Key Rollover AUDIO_ENABLE = yes # Audio output -AUDIO_DRIVER = dac_additive DYNAMIC_MACRO_ENABLE = yes DIP_SWITCH_ENABLE = yes diff --git a/keyboards/tzarc/djinn/info.json b/keyboards/tzarc/djinn/info.json index fddee1c21f..be0710ebef 100644 --- a/keyboards/tzarc/djinn/info.json +++ b/keyboards/tzarc/djinn/info.json @@ -31,6 +31,9 @@ "rows": ["B13", "B14", "B15", "C6", "C7", "C8"], "cols": ["C0", "C1", "C2", "C3", "A0", "A1", "A2"] }, + "audio": { + "driver": "pwm_software" + }, "backlight": { "pin": "A7", "levels": 4 diff --git a/keyboards/tzarc/djinn/rules.mk b/keyboards/tzarc/djinn/rules.mk index 5a4589a86f..78912d16d0 100644 --- a/keyboards/tzarc/djinn/rules.mk +++ b/keyboards/tzarc/djinn/rules.mk @@ -4,8 +4,6 @@ SERIAL_DRIVER = usart CIE1931_CURVE = yes -AUDIO_DRIVER = pwm_software - QUANTUM_PAINTER_DRIVERS = ili9341_spi SRC += \ diff --git a/keyboards/yanghu/unicorne/info.json b/keyboards/yanghu/unicorne/info.json index 504df68fb0..1b890dcaba 100644 --- a/keyboards/yanghu/unicorne/info.json +++ b/keyboards/yanghu/unicorne/info.json @@ -18,6 +18,9 @@ "oled": true, "rgblight": true }, + "audio": { + "driver": "pwm_hardware" + }, "rgblight": { "led_count": 8, "animations": { diff --git a/keyboards/yanghu/unicorne/rules.mk b/keyboards/yanghu/unicorne/rules.mk index 13cbb6b1e7..96852c8abf 100644 --- a/keyboards/yanghu/unicorne/rules.mk +++ b/keyboards/yanghu/unicorne/rules.mk @@ -1,3 +1 @@ -AUDIO_DRIVER = pwm_hardware - DEFAULT_FOLDER = yanghu/unicorne/f411 diff --git a/keyboards/zsa/moonlander/keyboard.json b/keyboards/zsa/moonlander/keyboard.json index 233cb46bba..08864fe2d7 100644 --- a/keyboards/zsa/moonlander/keyboard.json +++ b/keyboards/zsa/moonlander/keyboard.json @@ -22,6 +22,9 @@ "rgb_matrix": true, "swap_hands": true }, + "audio": { + "driver": "dac_additive" + }, "dynamic_keymap": { "layer_count": 8 }, diff --git a/keyboards/zsa/moonlander/rules.mk b/keyboards/zsa/moonlander/rules.mk index 4637558489..10928ea061 100644 --- a/keyboards/zsa/moonlander/rules.mk +++ b/keyboards/zsa/moonlander/rules.mk @@ -1,4 +1,3 @@ -AUDIO_DRIVER = dac_additive CUSTOM_MATRIX = lite # project specific files -- cgit v1.2.3 From 0ff53b24984e88f385638e47ea076b4d2945c0c6 Mon Sep 17 00:00:00 2001 From: Ryan Date: Sun, 28 Apr 2024 00:36:54 +1000 Subject: Rename `RGBW` define to `WS2812_RGBW` (#23585) --- data/mappings/info_config.hjson | 3 ++- data/schemas/keyboard.jsonschema | 6 +++++- docs/config_options.md | 2 +- docs/feature_rgblight.md | 2 +- docs/reference_info_json.md | 6 +++--- docs/ws2812_driver.md | 22 ++++++++++++++++++++++ keyboards/ergodox_ez/config.h | 2 -- keyboards/ergodox_ez/info.json | 3 ++- keyboards/ergodox_ez/shine/rgblight_custom.c | 4 ++-- keyboards/handwired/tennie/config.h | 2 -- keyboards/handwired/tennie/keyboard.json | 3 ++- keyboards/oddforge/vea/ws2812_custom.c | 2 +- keyboards/rgbkb/pan/pan.c | 2 +- keyboards/westfoxtrot/aanzee/config.h | 2 -- keyboards/westfoxtrot/aanzee/keyboard.json | 3 ++- platforms/avr/drivers/ws2812_i2c.c | 2 +- .../drivers/vendor/RP/RP2040/ws2812_vendor.c | 6 +++--- platforms/chibios/drivers/ws2812_bitbang.c | 2 +- platforms/chibios/drivers/ws2812_pwm.c | 8 ++++---- platforms/chibios/drivers/ws2812_spi.c | 4 ++-- quantum/color.c | 2 +- quantum/color.h | 4 ++-- quantum/rgb_matrix/rgb_matrix_drivers.c | 2 +- quantum/rgblight/rgblight.c | 18 +++++++++--------- 24 files changed, 68 insertions(+), 44 deletions(-) (limited to 'docs') diff --git a/data/mappings/info_config.hjson b/data/mappings/info_config.hjson index c0417b8839..b61ca04071 100644 --- a/data/mappings/info_config.hjson +++ b/data/mappings/info_config.hjson @@ -164,7 +164,6 @@ "RGBLIGHT_DEFAULT_SAT": {"info_key": "rgblight.default.sat", "value_type": "int"}, "RGBLIGHT_DEFAULT_VAL": {"info_key": "rgblight.default.val", "value_type": "int"}, "RGBLIGHT_DEFAULT_SPD": {"info_key": "rgblight.default.speed", "value_type": "int"}, - "RGBW": {"info_key": "rgblight.rgbw", "value_type": "flag"}, // Secure "SECURE_IDLE_TIMEOUT": {"info_key": "secure.idle_timeout", "value_type": "int"}, @@ -215,6 +214,7 @@ "WS2812_DI_PIN": {"info_key": "ws2812.pin"}, "WS2812_I2C_ADDRESS": {"info_key": "ws2812.i2c_address", "value_type": "hex"}, "WS2812_I2C_TIMEOUT": {"info_key": "ws2812.i2c_timeout", "value_type": "int"}, + "WS2812_RGBW": {"info_key": "ws2812.rgbw", "value_type": "flag"}, "LAYOUTS": {"info_key": "layout_aliases", "value_type": "mapping"}, @@ -229,6 +229,7 @@ "PREVENT_STUCK_MODIFIERS": {"info_key": "_invalid.prevent_stuck_mods", "invalid": true}, "QMK_KEYS_PER_SCAN": {"info_key": "qmk.keys_per_scan", "value_type": "int", "deprecated": true}, "RGB_DI_PIN": {"info_key": "rgblight.pin", "invalid": true, "replace_with": "WS2812_DI_PIN or APA102_DI_PIN"}, + "RGBW": {"info_key": "rgblight.rgbw", "invalid": true, "replace_with": "WS2812_RGBW"}, "RGB_DISABLE_WHEN_USB_SUSPENDED": {"info_key": "_invalid.rgb_matrix_sleep", "invalid": true, "replace_with": "RGB_MATRIX_SLEEP"}, "RGBLIGHT_ANIMATIONS": {"info_key": "_invalid.rgblight.animations.all", "value_type": "flag", "invalid": true}, "TAPPING_FORCE_HOLD": {"info_key": "tapping.force_hold", "value_type": "flag", "deprecated": true}, diff --git a/data/schemas/keyboard.jsonschema b/data/schemas/keyboard.jsonschema index 585c64777f..de01809b43 100644 --- a/data/schemas/keyboard.jsonschema +++ b/data/schemas/keyboard.jsonschema @@ -661,7 +661,10 @@ "$ref": "qmk.definitions.v1#/mcu_pin", "$comment": "Deprecated: use ws2812.pin instead" }, - "rgbw": {"type": "boolean"}, + "rgbw": { + "type": "boolean", + "$comment": "Deprecated: use ws2812.rgbw instead" + }, "saturation_steps": {"$ref": "qmk.definitions.v1#/unsigned_int"}, "sleep": {"type": "boolean"}, "split": {"type": "boolean"}, @@ -937,6 +940,7 @@ "enum": ["bitbang", "custom", "i2c", "pwm", "spi", "vendor"] }, "pin": {"$ref": "qmk.definitions.v1#/mcu_pin"}, + "rgbw": {"type": "boolean"}, "i2c_address": {"$ref": "qmk.definitions.v1#/hex_number_2d"}, "i2c_timeout": {"$ref": "qmk.definitions.v1#/unsigned_int"} } diff --git a/docs/config_options.md b/docs/config_options.md index fca80e54fd..046429a587 100644 --- a/docs/config_options.md +++ b/docs/config_options.md @@ -237,7 +237,7 @@ If you define these options you will enable the associated feature, which may in * units to step when in/decreasing saturation * `#define RGBLIGHT_VAL_STEP 12` * units to step when in/decreasing value (brightness) -* `#define RGBW` +* `#define WS2812_RGBW` * Enables RGBW LED support ## Mouse Key Options diff --git a/docs/feature_rgblight.md b/docs/feature_rgblight.md index a6a89d1d00..ae37ceca92 100644 --- a/docs/feature_rgblight.md +++ b/docs/feature_rgblight.md @@ -6,7 +6,7 @@ QMK has the ability to control RGB LEDs attached to your keyboard. This is commo Some keyboards come with RGB LEDs preinstalled. Others must have them installed after the fact. See the [Hardware Modification](#hardware-modification) section for information on adding RGB lighting to your keyboard. -Currently QMK supports the following addressable LEDs (however, the white LED in RGBW variants is not supported): +Currently QMK supports the following addressable LEDs: * WS2811, WS2812, WS2812B, WS2812C, etc. * SK6812, SK6812MINI, SK6805 diff --git a/docs/reference_info_json.md b/docs/reference_info_json.md index d1dc5d3bea..5b06e9a326 100644 --- a/docs/reference_info_json.md +++ b/docs/reference_info_json.md @@ -588,9 +588,6 @@ Configures the [RGB Lighting](feature_rgblight.md) feature. * `max_brightness` * The maximum value which the HSV "V" component is scaled to, from 0 to 255. * Default: `255` - * `rgbw` - * Enable RGBW LEDs. - * Default: `false` * `saturation_steps` * The number of saturation adjustment steps. * Default: `17` @@ -855,3 +852,6 @@ Configures the [WS2812](ws2812_driver.md) driver. * `i2c_timeout` * The I²C timeout in milliseconds (`i2c` driver only). * Default: `100` (100 ms) + * `rgbw` + * Enable RGBW LEDs. + * Default: `false` diff --git a/docs/ws2812_driver.md b/docs/ws2812_driver.md index 006529cc8a..8851c042f0 100644 --- a/docs/ws2812_driver.md +++ b/docs/ws2812_driver.md @@ -33,6 +33,7 @@ Add the following to your `config.h`: |`WS2812_T0H` |`350` |The length of a "0" bit's high phase in nanoseconds | |`WS2812_TRST_US` |`280` |The length of the reset phase in microseconds | |`WS2812_BYTE_ORDER`|`WS2812_BYTE_ORDER_GRB`|The byte order of the RGB data | +|`WS2812_RGBW` |*Not defined* |Enables RGBW support (except `i2c` driver) | ### Timing Adjustment :id=timing-adjustment @@ -58,6 +59,27 @@ Where the byte order may be one of: |`RGB` |WS2812B-2020 | |`BGR` |TM1812 | +### RGBW Support :id=rgbw-support + +Rendering the color white with RGB LEDs is typically inconsistent due to inherent variations between each individual LED die. However, some WS2812 variants (such as SK6812RGBW) also possess a white LED along with the red, green, and blue channels, which allows for a more accurate white to be displayed. + +QMK can automatically convert the RGB data to be sent to the LEDs to mix in the white channel: + +``` +w = min(r, g, b) +r -= w +g -= w +b -= w +``` + +Thus, an RGB triplet of `255,255,255` will simply turn on the white LED fully (`0,0,0,255`). + +To enable RGBW conversion, add the following to your `config.h`: + +```c +#define WS2812_RGBW +``` + ## Driver Configuration :id=driver-configuration Driver selection can be configured in `rules.mk` as `WS2812_DRIVER`, or in `info.json` as `ws2812.driver`. Valid values are `bitbang` (default), `i2c`, `spi`, `pwm`, `vendor`, or `custom`. See below for information on individual drivers. diff --git a/keyboards/ergodox_ez/config.h b/keyboards/ergodox_ez/config.h index 8209c21dba..3688e00785 100644 --- a/keyboards/ergodox_ez/config.h +++ b/keyboards/ergodox_ez/config.h @@ -73,8 +73,6 @@ along with this program. If not, see . /* fix space cadet rollover issue */ #define DISABLE_SPACE_CADET_ROLLOVER -#define RGBW - /* * The debounce filtering reports a key/switch change directly, * without any extra delay. After that the debounce logic will filter diff --git a/keyboards/ergodox_ez/info.json b/keyboards/ergodox_ez/info.json index f2495a409c..a560e97a0b 100644 --- a/keyboards/ergodox_ez/info.json +++ b/keyboards/ergodox_ez/info.json @@ -27,7 +27,8 @@ "debounce_type": "sym_eager_pr" }, "ws2812": { - "pin": "D7" + "pin": "D7", + "rgbw": true }, "rgb_matrix": { "animations": { diff --git a/keyboards/ergodox_ez/shine/rgblight_custom.c b/keyboards/ergodox_ez/shine/rgblight_custom.c index feac50cba0..29060e76fc 100644 --- a/keyboards/ergodox_ez/shine/rgblight_custom.c +++ b/keyboards/ergodox_ez/shine/rgblight_custom.c @@ -25,7 +25,7 @@ void setleds_custom(rgb_led_t *led, uint16_t led_num) { uint16_t length = 0; int i = 0; int j = 0; -# ifdef RGBW +# ifdef WS2812_RGBW int bytes_per_led = 4; # else int bytes_per_led = 3; @@ -52,7 +52,7 @@ void setleds_custom(rgb_led_t *led, uint16_t led_num) { data[j++] = data_byte[0]; data[j++] = data_byte[1]; data[j++] = data_byte[2]; -#ifdef RGBW +#ifdef WS2812_RGBW data[j++] = data_byte[3]; #endif } diff --git a/keyboards/handwired/tennie/config.h b/keyboards/handwired/tennie/config.h index 7c77f53a82..dcbcfeaaa8 100644 --- a/keyboards/handwired/tennie/config.h +++ b/keyboards/handwired/tennie/config.h @@ -17,8 +17,6 @@ along with this program. If not, see . #pragma once -#define RGBW - /* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */ #define LOCKING_SUPPORT_ENABLE /* Locking resynchronize hack */ diff --git a/keyboards/handwired/tennie/keyboard.json b/keyboards/handwired/tennie/keyboard.json index 34e6676c95..36c1266d50 100644 --- a/keyboards/handwired/tennie/keyboard.json +++ b/keyboards/handwired/tennie/keyboard.json @@ -26,7 +26,8 @@ } }, "ws2812": { - "pin": "D1" + "pin": "D1", + "rgbw": true }, "features": { "bootmagic": true, diff --git a/keyboards/oddforge/vea/ws2812_custom.c b/keyboards/oddforge/vea/ws2812_custom.c index a037b88b3e..317f98130b 100644 --- a/keyboards/oddforge/vea/ws2812_custom.c +++ b/keyboards/oddforge/vea/ws2812_custom.c @@ -1,7 +1,7 @@ #include "ws2812.h" #include "i2c_master.h" -#ifdef RGBW +#ifdef WS2812_RGBW # error "RGBW not supported" #endif diff --git a/keyboards/rgbkb/pan/pan.c b/keyboards/rgbkb/pan/pan.c index 191ff1ac1f..401831e0e2 100644 --- a/keyboards/rgbkb/pan/pan.c +++ b/keyboards/rgbkb/pan/pan.c @@ -42,7 +42,7 @@ static inline void setled(int i, uint8_t r, uint8_t g, uint8_t b) { rgb_matrix_ws2812_array[i].g = g; rgb_matrix_ws2812_array[i].b = b; } -# ifdef RGBW +# ifdef WS2812_RGBW convert_rgb_to_rgbw(&rgb_matrix_ws2812_array[i]); # endif } diff --git a/keyboards/westfoxtrot/aanzee/config.h b/keyboards/westfoxtrot/aanzee/config.h index c024f9d8d9..cd1f84bc1f 100644 --- a/keyboards/westfoxtrot/aanzee/config.h +++ b/keyboards/westfoxtrot/aanzee/config.h @@ -17,8 +17,6 @@ along with this program. If not, see . #pragma once -#define RGBW - /* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */ #define LOCKING_SUPPORT_ENABLE /* Locking resynchronize hack */ diff --git a/keyboards/westfoxtrot/aanzee/keyboard.json b/keyboards/westfoxtrot/aanzee/keyboard.json index 7a12a3e52e..898fe9e62b 100644 --- a/keyboards/westfoxtrot/aanzee/keyboard.json +++ b/keyboards/westfoxtrot/aanzee/keyboard.json @@ -52,7 +52,8 @@ } }, "ws2812": { - "pin": "E6" + "pin": "E6", + "rgbw": true }, "processor": "atmega32u4", "bootloader": "atmel-dfu", diff --git a/platforms/avr/drivers/ws2812_i2c.c b/platforms/avr/drivers/ws2812_i2c.c index 60b466c32a..86a5ac8394 100644 --- a/platforms/avr/drivers/ws2812_i2c.c +++ b/platforms/avr/drivers/ws2812_i2c.c @@ -1,7 +1,7 @@ #include "ws2812.h" #include "i2c_master.h" -#ifdef RGBW +#ifdef WS2812_RGBW # error "RGBW not supported" #endif diff --git a/platforms/chibios/drivers/vendor/RP/RP2040/ws2812_vendor.c b/platforms/chibios/drivers/vendor/RP/RP2040/ws2812_vendor.c index 95a827e4b8..41a5311719 100644 --- a/platforms/chibios/drivers/vendor/RP/RP2040/ws2812_vendor.c +++ b/platforms/chibios/drivers/vendor/RP/RP2040/ws2812_vendor.c @@ -161,7 +161,7 @@ static void ws2812_dma_callback(void* p, uint32_t ct) { // FIFO is already empty. rtcnt_t time_to_completion = (pio_sm_get_tx_fifo_level(pio, STATE_MACHINE) + 1) * MAX(WS2812_T1H + WS2812_T1L, WS2812_T0H + WS2812_T0L); -#if defined(RGBW) +#if defined(WS2812_RGBW) time_to_completion *= 32; #else time_to_completion *= 24; @@ -222,7 +222,7 @@ void ws2812_init(void) { sm_config_set_sideset(&config, 1, false, false); #endif -#if defined(RGBW) +#if defined(WS2812_RGBW) sm_config_set_out_shift(&config, false, true, 32); #else sm_config_set_out_shift(&config, false, true, 24); @@ -270,7 +270,7 @@ void ws2812_setleds(rgb_led_t* ledarray, uint16_t leds) { sync_ws2812_transfer(); for (int i = 0; i < leds; i++) { -#if defined(RGBW) +#if defined(WS2812_RGBW) WS2812_BUFFER[i] = rgbw8888_to_u32(ledarray[i].r, ledarray[i].g, ledarray[i].b, ledarray[i].w); #else WS2812_BUFFER[i] = rgbw8888_to_u32(ledarray[i].r, ledarray[i].g, ledarray[i].b, 0); diff --git a/platforms/chibios/drivers/ws2812_bitbang.c b/platforms/chibios/drivers/ws2812_bitbang.c index 9ed6bacd5a..96378ec0ac 100644 --- a/platforms/chibios/drivers/ws2812_bitbang.c +++ b/platforms/chibios/drivers/ws2812_bitbang.c @@ -101,7 +101,7 @@ void ws2812_setleds(rgb_led_t *ledarray, uint16_t leds) { sendByte(ledarray[i].r); #endif -#ifdef RGBW +#ifdef WS2812_RGBW sendByte(ledarray[i].w); #endif } diff --git a/platforms/chibios/drivers/ws2812_pwm.c b/platforms/chibios/drivers/ws2812_pwm.c index 7dc3414ead..1e9d2ebb41 100644 --- a/platforms/chibios/drivers/ws2812_pwm.c +++ b/platforms/chibios/drivers/ws2812_pwm.c @@ -16,7 +16,7 @@ /* Adapted from https://github.com/joewa/WS2812-LED-Driver_ChibiOS/ */ -#ifdef RGBW +#ifdef WS2812_RGBW # define WS2812_CHANNELS 4 #else # define WS2812_CHANNELS 3 @@ -262,7 +262,7 @@ # define WS2812_BLUE_BIT(led, bit) WS2812_BIT((led), 0, (bit)) #endif -#ifdef RGBW +#ifdef WS2812_RGBW /** * @brief Determine the index in @ref ws2812_frame_buffer "the frame buffer" of a given white bit * @@ -381,7 +381,7 @@ void ws2812_write_led_rgbw(uint16_t led_number, uint8_t r, uint8_t g, uint8_t b, ws2812_frame_buffer[WS2812_RED_BIT(led_number, bit)] = ((r >> bit) & 0x01) ? WS2812_DUTYCYCLE_1 : WS2812_DUTYCYCLE_0; ws2812_frame_buffer[WS2812_GREEN_BIT(led_number, bit)] = ((g >> bit) & 0x01) ? WS2812_DUTYCYCLE_1 : WS2812_DUTYCYCLE_0; ws2812_frame_buffer[WS2812_BLUE_BIT(led_number, bit)] = ((b >> bit) & 0x01) ? WS2812_DUTYCYCLE_1 : WS2812_DUTYCYCLE_0; -#ifdef RGBW +#ifdef WS2812_RGBW ws2812_frame_buffer[WS2812_WHITE_BIT(led_number, bit)] = ((w >> bit) & 0x01) ? WS2812_DUTYCYCLE_1 : WS2812_DUTYCYCLE_0; #endif } @@ -390,7 +390,7 @@ 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 RGBW +#ifdef WS2812_RGBW ws2812_write_led_rgbw(i, ledarray[i].r, ledarray[i].g, ledarray[i].b, ledarray[i].w); #else ws2812_write_led(i, ledarray[i].r, ledarray[i].g, ledarray[i].b); diff --git a/platforms/chibios/drivers/ws2812_spi.c b/platforms/chibios/drivers/ws2812_spi.c index 5b990ccaa0..ad2e87781c 100644 --- a/platforms/chibios/drivers/ws2812_spi.c +++ b/platforms/chibios/drivers/ws2812_spi.c @@ -76,7 +76,7 @@ #endif #define BYTES_FOR_LED_BYTE 4 -#ifdef RGBW +#ifdef WS2812_RGBW # define WS2812_CHANNELS 4 #else # define WS2812_CHANNELS 3 @@ -131,7 +131,7 @@ static void set_led_color_rgb(rgb_led_t color, int pos) { for (int j = 0; j < 4; j++) tx_start[BYTES_FOR_LED * pos + BYTES_FOR_LED_BYTE * 2 + j] = get_protocol_eq(color.r, j); #endif -#ifdef RGBW +#ifdef WS2812_RGBW for (int j = 0; j < 4; j++) tx_start[BYTES_FOR_LED * pos + BYTES_FOR_LED_BYTE * 4 + j] = get_protocol_eq(color.w, j); #endif diff --git a/quantum/color.c b/quantum/color.c index 395383f428..96d548a33c 100644 --- a/quantum/color.c +++ b/quantum/color.c @@ -109,7 +109,7 @@ RGB hsv_to_rgb_nocie(HSV hsv) { return hsv_to_rgb_impl(hsv, false); } -#ifdef RGBW +#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 diff --git a/quantum/color.h b/quantum/color.h index 00a3bfb3f8..b6a9dd0641 100644 --- a/quantum/color.h +++ b/quantum/color.h @@ -96,7 +96,7 @@ typedef struct PACKED rgb_led_t { uint8_t g; uint8_t r; #endif -#ifdef RGBW +#ifdef WS2812_RGBW uint8_t w; #endif } rgb_led_t; @@ -111,6 +111,6 @@ typedef struct PACKED HSV { RGB hsv_to_rgb(HSV hsv); RGB hsv_to_rgb_nocie(HSV hsv); -#ifdef RGBW +#ifdef WS2812_RGBW void convert_rgb_to_rgbw(rgb_led_t *led); #endif diff --git a/quantum/rgb_matrix/rgb_matrix_drivers.c b/quantum/rgb_matrix/rgb_matrix_drivers.c index 4370996d0e..db3a2ef9e0 100644 --- a/quantum/rgb_matrix/rgb_matrix_drivers.c +++ b/quantum/rgb_matrix/rgb_matrix_drivers.c @@ -185,7 +185,7 @@ static inline void setled(int i, uint8_t r, uint8_t g, uint8_t b) { rgb_matrix_ws2812_array[i].r = r; rgb_matrix_ws2812_array[i].g = g; rgb_matrix_ws2812_array[i].b = b; -# ifdef RGBW +# ifdef WS2812_RGBW convert_rgb_to_rgbw(&rgb_matrix_ws2812_array[i]); # endif } diff --git a/quantum/rgblight/rgblight.c b/quantum/rgblight/rgblight.c index 62137c020b..b0f2dfdc1d 100644 --- a/quantum/rgblight/rgblight.c +++ b/quantum/rgblight/rgblight.c @@ -149,7 +149,7 @@ 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 RGBW +#ifdef WS2812_RGBW led1->w = 0; #endif } @@ -652,7 +652,7 @@ void rgblight_setrgb(uint8_t r, uint8_t g, uint8_t b) { led[i].r = r; led[i].g = g; led[i].b = b; -#ifdef RGBW +#ifdef WS2812_RGBW led[i].w = 0; #endif } @@ -667,7 +667,7 @@ void rgblight_setrgb_at(uint8_t r, uint8_t g, uint8_t b, uint8_t index) { led[index].r = r; led[index].g = g; led[index].b = b; -#ifdef RGBW +#ifdef WS2812_RGBW led[index].w = 0; #endif rgblight_set(); @@ -704,7 +704,7 @@ void rgblight_setrgb_range(uint8_t r, uint8_t g, uint8_t b, uint8_t start, uint8 led[i].r = r; led[i].g = g; led[i].b = b; -#ifdef RGBW +#ifdef WS2812_RGBW led[i].w = 0; #endif } @@ -905,7 +905,7 @@ void rgblight_set(void) { led[i].r = 0; led[i].g = 0; led[i].b = 0; -#ifdef RGBW +#ifdef WS2812_RGBW led[i].w = 0; #endif } @@ -933,7 +933,7 @@ void rgblight_set(void) { start_led = led + rgblight_ranges.clipping_start_pos; #endif -#ifdef RGBW +#ifdef WS2812_RGBW for (uint8_t i = 0; i < num_leds; i++) { convert_rgb_to_rgbw(&start_led[i]); } @@ -1263,7 +1263,7 @@ void rgblight_effect_snake(animation_status_t *anim) { ledp->r = 0; ledp->g = 0; ledp->b = 0; -# ifdef RGBW +# ifdef WS2812_RGBW ledp->w = 0; # endif for (j = 0; j < RGBLIGHT_EFFECT_SNAKE_LENGTH; j++) { @@ -1323,7 +1323,7 @@ void rgblight_effect_knight(animation_status_t *anim) { led[i].r = 0; led[i].g = 0; led[i].b = 0; -# ifdef RGBW +# ifdef WS2812_RGBW led[i].w = 0; # endif } @@ -1337,7 +1337,7 @@ void rgblight_effect_knight(animation_status_t *anim) { led[cur].r = 0; led[cur].g = 0; led[cur].b = 0; -# ifdef RGBW +# ifdef WS2812_RGBW led[cur].w = 0; # endif } -- cgit v1.2.3 From dc2db0c1d4d3168c07ad5c0c36998c9d91df29c7 Mon Sep 17 00:00:00 2001 From: James Young <18669334+noroadsleft@users.noreply.github.com> Date: Mon, 29 Apr 2024 20:04:04 -0700 Subject: MechKeys ACR60 Layout Updates (#23309) --- docs/ChangeLog/20240526/PR23309.md | 35 + keyboards/mechkeys/acr60/keyboard.json | 1464 +++++++++++++++++++++++++++- keyboards/mechkeys/acr60/matrix_diagram.md | 57 ++ 3 files changed, 1527 insertions(+), 29 deletions(-) create mode 100644 docs/ChangeLog/20240526/PR23309.md create mode 100644 keyboards/mechkeys/acr60/matrix_diagram.md (limited to 'docs') diff --git a/docs/ChangeLog/20240526/PR23309.md b/docs/ChangeLog/20240526/PR23309.md new file mode 100644 index 0000000000..b5ca5f1e4d --- /dev/null +++ b/docs/ChangeLog/20240526/PR23309.md @@ -0,0 +1,35 @@ +# MechKeys ACR60 Layout Updates + +This PR removed and changed some of the layouts that were configured for +the ACR60. If you use one of the following layouts, you will need to +update your keymap: + +- [`LAYOUT_hhkb`](#layout-hhkb) +- [`LAYOUT_true_hhkb`](#layout-true-hhkb) +- [`LAYOUT_directional`](#layout-directional) +- [`LAYOUT_mitchsplit`](#layout-mitchsplit) + +## `LAYOUT_hhkb` :id=layout-hhkb + +1. Change your layout macro to `LAYOUT_60_hhkb`. +2. Remove any keycodes for the key between Left Shift and QWERTY Z. + +## `LAYOUT_true_hhkb` :id=layout-true-hhkb + +1. Change your layout macro to `LAYOUT_60_true_hhkb`. +2. Remove any keycodes for the key between Left Shift and QWERTY Z. + +## `LAYOUT_directional` :id=layout-directional + +1. Change your layout macro to `LAYOUT_60_ansi_arrow_split_bs`. +2. Remove any keycodes for the key between Left Shift and QWERTY Z. +3. Remove any keycodes for the keys immediately before *and* after the +1.25u key of Split Spacebar. + +If you need split spacebars, you may implement +`LAYOUT_60_ansi_arrow_split_space_split_bs` and change your layout to +it, removing the keycode between Left Shift and QWERTY Z. + +## `LAYOUT_mitchsplit` :id=layout-mitchsplit + +1. Use `LAYOUT_60_ansi_split_space_split_rshift`. diff --git a/keyboards/mechkeys/acr60/keyboard.json b/keyboards/mechkeys/acr60/keyboard.json index f2d618b8bd..916a750b96 100644 --- a/keyboards/mechkeys/acr60/keyboard.json +++ b/keyboards/mechkeys/acr60/keyboard.json @@ -53,8 +53,10 @@ }, "processor": "atmega32u4", "bootloader": "atmel-dfu", + "community_layouts": ["60_ansi", "60_ansi_split_bs_rshift", "60_ansi_tsangan", "60_tsangan_hhkb", "60_ansi_wkl", "60_ansi_wkl_split_bs_rshift", "60_ansi_arrow", "64_ansi", "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", "64_iso"], "layout_aliases": { - "LAYOUT_2_shifts": "LAYOUT_all" + "LAYOUT_2_shifts": "LAYOUT_all", + "LAYOUT_mitchsplit": "LAYOUT_60_ansi_split_space_split_rshift" }, "layouts": { "LAYOUT_all": { @@ -133,7 +135,76 @@ {"matrix": [4, 14], "x": 14, "y": 4} ] }, - "LAYOUT": { + "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, 14], "x": 13, "y": 0, "w": 2}, + + {"matrix": [1, 0], "x": 0, "y": 1, "w": 1.5}, + {"matrix": [1, 2], "x": 1.5, "y": 1}, + {"matrix": [1, 3], "x": 2.5, "y": 1}, + {"matrix": [1, 4], "x": 3.5, "y": 1}, + {"matrix": [1, 5], "x": 4.5, "y": 1}, + {"matrix": [1, 6], "x": 5.5, "y": 1}, + {"matrix": [1, 7], "x": 6.5, "y": 1}, + {"matrix": [1, 8], "x": 7.5, "y": 1}, + {"matrix": [1, 9], "x": 8.5, "y": 1}, + {"matrix": [1, 10], "x": 9.5, "y": 1}, + {"matrix": [1, 11], "x": 10.5, "y": 1}, + {"matrix": [1, 12], "x": 11.5, "y": 1}, + {"matrix": [1, 13], "x": 12.5, "y": 1}, + {"matrix": [1, 14], "x": 13.5, "y": 1, "w": 1.5}, + + {"matrix": [2, 0], "x": 0, "y": 2, "w": 1.75}, + {"matrix": [2, 2], "x": 1.75, "y": 2}, + {"matrix": [2, 3], "x": 2.75, "y": 2}, + {"matrix": [2, 4], "x": 3.75, "y": 2}, + {"matrix": [2, 5], "x": 4.75, "y": 2}, + {"matrix": [2, 6], "x": 5.75, "y": 2}, + {"matrix": [2, 7], "x": 6.75, "y": 2}, + {"matrix": [2, 8], "x": 7.75, "y": 2}, + {"matrix": [2, 9], "x": 8.75, "y": 2}, + {"matrix": [2, 10], "x": 9.75, "y": 2}, + {"matrix": [2, 11], "x": 10.75, "y": 2}, + {"matrix": [2, 12], "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, 13], "x": 12.25, "y": 3, "w": 2.75}, + + {"matrix": [4, 0], "x": 0, "y": 4, "w": 1.25}, + {"matrix": [4, 1], "x": 1.25, "y": 4, "w": 1.25}, + {"matrix": [4, 3], "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, 13], "x": 12.5, "y": 4, "w": 1.25}, + {"matrix": [4, 14], "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}, @@ -180,8 +251,7 @@ {"matrix": [2, 12], "x": 11.75, "y": 2}, {"matrix": [2, 13], "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, 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}, @@ -198,17 +268,82 @@ {"matrix": [4, 0], "x": 0, "y": 4, "w": 1.25}, {"matrix": [4, 1], "x": 1.25, "y": 4, "w": 1.25}, {"matrix": [4, 3], "x": 2.5, "y": 4, "w": 1.25}, - {"matrix": [4, 4], "x": 3.75, "y": 4, "w": 2.25}, - {"matrix": [4, 6], "x": 6, "y": 4, "w": 1.25}, - {"matrix": [4, 8], "x": 7.25, "y": 4, "w": 2.75}, - {"matrix": [4, 10], "x": 10, "y": 4}, - {"matrix": [4, 11], "x": 11, "y": 4}, - {"matrix": [4, 12], "x": 12, "y": 4}, - {"matrix": [4, 13], "x": 13, "y": 4}, - {"matrix": [4, 14], "x": 14, "y": 4} + {"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, 13], "x": 12.5, "y": 4, "w": 1.25}, + {"matrix": [4, 14], "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, 14], "x": 13, "y": 0, "w": 2}, + + {"matrix": [1, 0], "x": 0, "y": 1, "w": 1.5}, + {"matrix": [1, 2], "x": 1.5, "y": 1}, + {"matrix": [1, 3], "x": 2.5, "y": 1}, + {"matrix": [1, 4], "x": 3.5, "y": 1}, + {"matrix": [1, 5], "x": 4.5, "y": 1}, + {"matrix": [1, 6], "x": 5.5, "y": 1}, + {"matrix": [1, 7], "x": 6.5, "y": 1}, + {"matrix": [1, 8], "x": 7.5, "y": 1}, + {"matrix": [1, 9], "x": 8.5, "y": 1}, + {"matrix": [1, 10], "x": 9.5, "y": 1}, + {"matrix": [1, 11], "x": 10.5, "y": 1}, + {"matrix": [1, 12], "x": 11.5, "y": 1}, + {"matrix": [1, 13], "x": 12.5, "y": 1}, + {"matrix": [1, 14], "x": 13.5, "y": 1, "w": 1.5}, + + {"matrix": [2, 0], "x": 0, "y": 2, "w": 1.75}, + {"matrix": [2, 2], "x": 1.75, "y": 2}, + {"matrix": [2, 3], "x": 2.75, "y": 2}, + {"matrix": [2, 4], "x": 3.75, "y": 2}, + {"matrix": [2, 5], "x": 4.75, "y": 2}, + {"matrix": [2, 6], "x": 5.75, "y": 2}, + {"matrix": [2, 7], "x": 6.75, "y": 2}, + {"matrix": [2, 8], "x": 7.75, "y": 2}, + {"matrix": [2, 9], "x": 8.75, "y": 2}, + {"matrix": [2, 10], "x": 9.75, "y": 2}, + {"matrix": [2, 11], "x": 10.75, "y": 2}, + {"matrix": [2, 12], "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, 13], "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, 3], "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": 12.5, "y": 4}, + {"matrix": [4, 14], "x": 13.5, "y": 4, "w": 1.5} ] }, - "LAYOUT_hhkb": { + "LAYOUT_60_tsangan_hhkb": { "layout": [ {"matrix": [0, 0], "x": 0, "y": 0}, {"matrix": [0, 1], "x": 1, "y": 0}, @@ -255,8 +390,7 @@ {"matrix": [2, 12], "x": 11.75, "y": 2}, {"matrix": [2, 13], "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, 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}, @@ -270,14 +404,82 @@ {"matrix": [3, 13], "x": 12.25, "y": 3, "w": 1.75}, {"matrix": [3, 14], "x": 14, "y": 3}, + {"matrix": [4, 0], "x": 0, "y": 4, "w": 1.5}, {"matrix": [4, 1], "x": 1.5, "y": 4}, {"matrix": [4, 3], "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": 12.5, "y": 4} + {"matrix": [4, 13], "x": 12.5, "y": 4}, + {"matrix": [4, 14], "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, 14], "x": 13, "y": 0, "w": 2}, + + {"matrix": [1, 0], "x": 0, "y": 1, "w": 1.5}, + {"matrix": [1, 2], "x": 1.5, "y": 1}, + {"matrix": [1, 3], "x": 2.5, "y": 1}, + {"matrix": [1, 4], "x": 3.5, "y": 1}, + {"matrix": [1, 5], "x": 4.5, "y": 1}, + {"matrix": [1, 6], "x": 5.5, "y": 1}, + {"matrix": [1, 7], "x": 6.5, "y": 1}, + {"matrix": [1, 8], "x": 7.5, "y": 1}, + {"matrix": [1, 9], "x": 8.5, "y": 1}, + {"matrix": [1, 10], "x": 9.5, "y": 1}, + {"matrix": [1, 11], "x": 10.5, "y": 1}, + {"matrix": [1, 12], "x": 11.5, "y": 1}, + {"matrix": [1, 13], "x": 12.5, "y": 1}, + {"matrix": [1, 14], "x": 13.5, "y": 1, "w": 1.5}, + + {"matrix": [2, 0], "x": 0, "y": 2, "w": 1.75}, + {"matrix": [2, 2], "x": 1.75, "y": 2}, + {"matrix": [2, 3], "x": 2.75, "y": 2}, + {"matrix": [2, 4], "x": 3.75, "y": 2}, + {"matrix": [2, 5], "x": 4.75, "y": 2}, + {"matrix": [2, 6], "x": 5.75, "y": 2}, + {"matrix": [2, 7], "x": 6.75, "y": 2}, + {"matrix": [2, 8], "x": 7.75, "y": 2}, + {"matrix": [2, 9], "x": 8.75, "y": 2}, + {"matrix": [2, 10], "x": 9.75, "y": 2}, + {"matrix": [2, 11], "x": 10.75, "y": 2}, + {"matrix": [2, 12], "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, 13], "x": 12.25, "y": 3, "w": 2.75}, + + {"matrix": [4, 0], "x": 0, "y": 4, "w": 1.5}, + {"matrix": [4, 3], "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, 14], "x": 13.5, "y": 4, "w": 1.5} ] }, - "LAYOUT_true_hhkb": { + "LAYOUT_60_ansi_wkl_split_bs_rshift": { "layout": [ {"matrix": [0, 0], "x": 0, "y": 0}, {"matrix": [0, 1], "x": 1, "y": 0}, @@ -324,8 +526,7 @@ {"matrix": [2, 12], "x": 11.75, "y": 2}, {"matrix": [2, 13], "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, 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}, @@ -339,14 +540,14 @@ {"matrix": [3, 13], "x": 12.25, "y": 3, "w": 1.75}, {"matrix": [3, 14], "x": 14, "y": 3}, - {"matrix": [4, 1], "x": 1.5, "y": 4}, + {"matrix": [4, 0], "x": 0, "y": 4, "w": 1.5}, {"matrix": [4, 3], "x": 2.5, "y": 4, "w": 1.5}, - {"matrix": [4, 6], "x": 4, "y": 4, "w": 6}, - {"matrix": [4, 10], "x": 10, "y": 4, "w": 1.5}, - {"matrix": [4, 11], "x": 11.5, "y": 4} + {"matrix": [4, 6], "x": 4, "y": 4, "w": 7}, + {"matrix": [4, 11], "x": 11, "y": 4, "w": 1.5}, + {"matrix": [4, 14], "x": 13.5, "y": 4, "w": 1.5} ] }, - "LAYOUT_directional": { + "LAYOUT_60_ansi_arrow": { "layout": [ {"matrix": [0, 0], "x": 0, "y": 0}, {"matrix": [0, 1], "x": 1, "y": 0}, @@ -361,8 +562,7 @@ {"matrix": [0, 10], "x": 10, "y": 0}, {"matrix": [0, 11], "x": 11, "y": 0}, {"matrix": [0, 12], "x": 12, "y": 0}, - {"matrix": [0, 13], "x": 13, "y": 0}, - {"matrix": [0, 14], "x": 14, "y": 0}, + {"matrix": [0, 14], "x": 13, "y": 0, "w": 2}, {"matrix": [1, 0], "x": 0, "y": 1, "w": 1.5}, {"matrix": [1, 2], "x": 1.5, "y": 1}, @@ -393,8 +593,7 @@ {"matrix": [2, 12], "x": 11.75, "y": 2}, {"matrix": [2, 13], "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, 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}, @@ -408,6 +607,1213 @@ {"matrix": [3, 13], "x": 13, "y": 3}, {"matrix": [3, 14], "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, 3], "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}, + {"matrix": [4, 11], "x": 11, "y": 4}, + {"matrix": [4, 12], "x": 12, "y": 4}, + {"matrix": [4, 13], "x": 13, "y": 4}, + {"matrix": [4, 14], "x": 14, "y": 4} + ] + }, + "LAYOUT_60_ansi_arrow_split_bs": { + "layout": [ + {"matrix": [0, 0], "x": 0, "y": 0}, + {"matrix": [0, 1], "x": 1, "y": 0}, + {"matrix": [0, 2], "x": 2, "y": 0}, + {"matrix": [0, 3], "x": 3, "y": 0}, + {"matrix": [0, 4], "x": 4, "y": 0}, + {"matrix": [0, 5], "x": 5, "y": 0}, + {"matrix": [0, 6], "x": 6, "y": 0}, + {"matrix": [0, 7], "x": 7, "y": 0}, + {"matrix": [0, 8], "x": 8, "y": 0}, + {"matrix": [0, 9], "x": 9, "y": 0}, + {"matrix": [0, 10], "x": 10, "y": 0}, + {"matrix": [0, 11], "x": 11, "y": 0}, + {"matrix": [0, 12], "x": 12, "y": 0}, + {"matrix": [0, 13], "x": 13, "y": 0}, + {"matrix": [0, 14], "x": 14, "y": 0}, + + {"matrix": [1, 0], "x": 0, "y": 1, "w": 1.5}, + {"matrix": [1, 2], "x": 1.5, "y": 1}, + {"matrix": [1, 3], "x": 2.5, "y": 1}, + {"matrix": [1, 4], "x": 3.5, "y": 1}, + {"matrix": [1, 5], "x": 4.5, "y": 1}, + {"matrix": [1, 6], "x": 5.5, "y": 1}, + {"matrix": [1, 7], "x": 6.5, "y": 1}, + {"matrix": [1, 8], "x": 7.5, "y": 1}, + {"matrix": [1, 9], "x": 8.5, "y": 1}, + {"matrix": [1, 10], "x": 9.5, "y": 1}, + {"matrix": [1, 11], "x": 10.5, "y": 1}, + {"matrix": [1, 12], "x": 11.5, "y": 1}, + {"matrix": [1, 13], "x": 12.5, "y": 1}, + {"matrix": [1, 14], "x": 13.5, "y": 1, "w": 1.5}, + + {"matrix": [2, 0], "x": 0, "y": 2, "w": 1.75}, + {"matrix": [2, 2], "x": 1.75, "y": 2}, + {"matrix": [2, 3], "x": 2.75, "y": 2}, + {"matrix": [2, 4], "x": 3.75, "y": 2}, + {"matrix": [2, 5], "x": 4.75, "y": 2}, + {"matrix": [2, 6], "x": 5.75, "y": 2}, + {"matrix": [2, 7], "x": 6.75, "y": 2}, + {"matrix": [2, 8], "x": 7.75, "y": 2}, + {"matrix": [2, 9], "x": 8.75, "y": 2}, + {"matrix": [2, 10], "x": 9.75, "y": 2}, + {"matrix": [2, 11], "x": 10.75, "y": 2}, + {"matrix": [2, 12], "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, 12], "x": 11.25, "y": 3, "w": 1.75}, + {"matrix": [3, 13], "x": 13, "y": 3}, + {"matrix": [3, 14], "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, 3], "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}, + {"matrix": [4, 11], "x": 11, "y": 4}, + {"matrix": [4, 12], "x": 12, "y": 4}, + {"matrix": [4, 13], "x": 13, "y": 4}, + {"matrix": [4, 14], "x": 14, "y": 4} + ] + }, + "LAYOUT_64_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, 14], "x": 13, "y": 0, "w": 2}, + + {"matrix": [1, 0], "x": 0, "y": 1, "w": 1.5}, + {"matrix": [1, 2], "x": 1.5, "y": 1}, + {"matrix": [1, 3], "x": 2.5, "y": 1}, + {"matrix": [1, 4], "x": 3.5, "y": 1}, + {"matrix": [1, 5], "x": 4.5, "y": 1}, + {"matrix": [1, 6], "x": 5.5, "y": 1}, + {"matrix": [1, 7], "x": 6.5, "y": 1}, + {"matrix": [1, 8], "x": 7.5, "y": 1}, + {"matrix": [1, 9], "x": 8.5, "y": 1}, + {"matrix": [1, 10], "x": 9.5, "y": 1}, + {"matrix": [1, 11], "x": 10.5, "y": 1}, + {"matrix": [1, 12], "x": 11.5, "y": 1}, + {"matrix": [1, 13], "x": 12.5, "y": 1}, + {"matrix": [1, 14], "x": 13.5, "y": 1, "w": 1.5}, + + {"matrix": [2, 0], "x": 0, "y": 2, "w": 1.75}, + {"matrix": [2, 2], "x": 1.75, "y": 2}, + {"matrix": [2, 3], "x": 2.75, "y": 2}, + {"matrix": [2, 4], "x": 3.75, "y": 2}, + {"matrix": [2, 5], "x": 4.75, "y": 2}, + {"matrix": [2, 6], "x": 5.75, "y": 2}, + {"matrix": [2, 7], "x": 6.75, "y": 2}, + {"matrix": [2, 8], "x": 7.75, "y": 2}, + {"matrix": [2, 9], "x": 8.75, "y": 2}, + {"matrix": [2, 10], "x": 9.75, "y": 2}, + {"matrix": [2, 11], "x": 10.75, "y": 2}, + {"matrix": [2, 12], "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}, + {"matrix": [3, 2], "x": 2, "y": 3}, + {"matrix": [3, 3], "x": 3, "y": 3}, + {"matrix": [3, 4], "x": 4, "y": 3}, + {"matrix": [3, 5], "x": 5, "y": 3}, + {"matrix": [3, 6], "x": 6, "y": 3}, + {"matrix": [3, 7], "x": 7, "y": 3}, + {"matrix": [3, 8], "x": 8, "y": 3}, + {"matrix": [3, 9], "x": 9, "y": 3}, + {"matrix": [3, 10], "x": 10, "y": 3}, + {"matrix": [3, 11], "x": 11, "y": 3}, + {"matrix": [3, 12], "x": 12, "y": 3}, + {"matrix": [3, 13], "x": 13, "y": 3}, + {"matrix": [3, 14], "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, 3], "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}, + {"matrix": [4, 11], "x": 11, "y": 4}, + {"matrix": [4, 12], "x": 12, "y": 4}, + {"matrix": [4, 13], "x": 13, "y": 4}, + {"matrix": [4, 14], "x": 14, "y": 4} + ] + }, + "LAYOUT_64_ansi_split_bs": { + "layout": [ + {"matrix": [0, 0], "x": 0, "y": 0}, + {"matrix": [0, 1], "x": 1, "y": 0}, + {"matrix": [0, 2], "x": 2, "y": 0}, + {"matrix": [0, 3], "x": 3, "y": 0}, + {"matrix": [0, 4], "x": 4, "y": 0}, + {"matrix": [0, 5], "x": 5, "y": 0}, + {"matrix": [0, 6], "x": 6, "y": 0}, + {"matrix": [0, 7], "x": 7, "y": 0}, + {"matrix": [0, 8], "x": 8, "y": 0}, + {"matrix": [0, 9], "x": 9, "y": 0}, + {"matrix": [0, 10], "x": 10, "y": 0}, + {"matrix": [0, 11], "x": 11, "y": 0}, + {"matrix": [0, 12], "x": 12, "y": 0}, + {"matrix": [0, 13], "x": 13, "y": 0}, + {"matrix": [0, 14], "x": 14, "y": 0}, + + {"matrix": [1, 0], "x": 0, "y": 1, "w": 1.5}, + {"matrix": [1, 2], "x": 1.5, "y": 1}, + {"matrix": [1, 3], "x": 2.5, "y": 1}, + {"matrix": [1, 4], "x": 3.5, "y": 1}, + {"matrix": [1, 5], "x": 4.5, "y": 1}, + {"matrix": [1, 6], "x": 5.5, "y": 1}, + {"matrix": [1, 7], "x": 6.5, "y": 1}, + {"matrix": [1, 8], "x": 7.5, "y": 1}, + {"matrix": [1, 9], "x": 8.5, "y": 1}, + {"matrix": [1, 10], "x": 9.5, "y": 1}, + {"matrix": [1, 11], "x": 10.5, "y": 1}, + {"matrix": [1, 12], "x": 11.5, "y": 1}, + {"matrix": [1, 13], "x": 12.5, "y": 1}, + {"matrix": [1, 14], "x": 13.5, "y": 1, "w": 1.5}, + + {"matrix": [2, 0], "x": 0, "y": 2, "w": 1.75}, + {"matrix": [2, 2], "x": 1.75, "y": 2}, + {"matrix": [2, 3], "x": 2.75, "y": 2}, + {"matrix": [2, 4], "x": 3.75, "y": 2}, + {"matrix": [2, 5], "x": 4.75, "y": 2}, + {"matrix": [2, 6], "x": 5.75, "y": 2}, + {"matrix": [2, 7], "x": 6.75, "y": 2}, + {"matrix": [2, 8], "x": 7.75, "y": 2}, + {"matrix": [2, 9], "x": 8.75, "y": 2}, + {"matrix": [2, 10], "x": 9.75, "y": 2}, + {"matrix": [2, 11], "x": 10.75, "y": 2}, + {"matrix": [2, 12], "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}, + {"matrix": [3, 2], "x": 2, "y": 3}, + {"matrix": [3, 3], "x": 3, "y": 3}, + {"matrix": [3, 4], "x": 4, "y": 3}, + {"matrix": [3, 5], "x": 5, "y": 3}, + {"matrix": [3, 6], "x": 6, "y": 3}, + {"matrix": [3, 7], "x": 7, "y": 3}, + {"matrix": [3, 8], "x": 8, "y": 3}, + {"matrix": [3, 9], "x": 9, "y": 3}, + {"matrix": [3, 10], "x": 10, "y": 3}, + {"matrix": [3, 11], "x": 11, "y": 3}, + {"matrix": [3, 12], "x": 12, "y": 3}, + {"matrix": [3, 13], "x": 13, "y": 3}, + {"matrix": [3, 14], "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, 3], "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}, + {"matrix": [4, 11], "x": 11, "y": 4}, + {"matrix": [4, 12], "x": 12, "y": 4}, + {"matrix": [4, 13], "x": 13, "y": 4}, + {"matrix": [4, 14], "x": 14, "y": 4} + ] + }, + "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": [0, 14], "x": 14, "y": 0}, + + {"matrix": [1, 0], "x": 0, "y": 1, "w": 1.5}, + {"matrix": [1, 2], "x": 1.5, "y": 1}, + {"matrix": [1, 3], "x": 2.5, "y": 1}, + {"matrix": [1, 4], "x": 3.5, "y": 1}, + {"matrix": [1, 5], "x": 4.5, "y": 1}, + {"matrix": [1, 6], "x": 5.5, "y": 1}, + {"matrix": [1, 7], "x": 6.5, "y": 1}, + {"matrix": [1, 8], "x": 7.5, "y": 1}, + {"matrix": [1, 9], "x": 8.5, "y": 1}, + {"matrix": [1, 10], "x": 9.5, "y": 1}, + {"matrix": [1, 11], "x": 10.5, "y": 1}, + {"matrix": [1, 12], "x": 11.5, "y": 1}, + {"matrix": [1, 13], "x": 12.5, "y": 1}, + {"matrix": [1, 14], "x": 13.5, "y": 1, "w": 1.5}, + + {"matrix": [2, 0], "x": 0, "y": 2, "w": 1.75}, + {"matrix": [2, 2], "x": 1.75, "y": 2}, + {"matrix": [2, 3], "x": 2.75, "y": 2}, + {"matrix": [2, 4], "x": 3.75, "y": 2}, + {"matrix": [2, 5], "x": 4.75, "y": 2}, + {"matrix": [2, 6], "x": 5.75, "y": 2}, + {"matrix": [2, 7], "x": 6.75, "y": 2}, + {"matrix": [2, 8], "x": 7.75, "y": 2}, + {"matrix": [2, 9], "x": 8.75, "y": 2}, + {"matrix": [2, 10], "x": 9.75, "y": 2}, + {"matrix": [2, 11], "x": 10.75, "y": 2}, + {"matrix": [2, 12], "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, 13], "x": 12.25, "y": 3, "w": 1.75}, + {"matrix": [3, 14], "x": 14, "y": 3}, + + {"matrix": [4, 1], "x": 1.5, "y": 4}, + {"matrix": [4, 3], "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": 12.5, "y": 4} + ] + }, + "LAYOUT_60_true_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": [0, 14], "x": 14, "y": 0}, + + {"matrix": [1, 0], "x": 0, "y": 1, "w": 1.5}, + {"matrix": [1, 2], "x": 1.5, "y": 1}, + {"matrix": [1, 3], "x": 2.5, "y": 1}, + {"matrix": [1, 4], "x": 3.5, "y": 1}, + {"matrix": [1, 5], "x": 4.5, "y": 1}, + {"matrix": [1, 6], "x": 5.5, "y": 1}, + {"matrix": [1, 7], "x": 6.5, "y": 1}, + {"matrix": [1, 8], "x": 7.5, "y": 1}, + {"matrix": [1, 9], "x": 8.5, "y": 1}, + {"matrix": [1, 10], "x": 9.5, "y": 1}, + {"matrix": [1, 11], "x": 10.5, "y": 1}, + {"matrix": [1, 12], "x": 11.5, "y": 1}, + {"matrix": [1, 13], "x": 12.5, "y": 1}, + {"matrix": [1, 14], "x": 13.5, "y": 1, "w": 1.5}, + + {"matrix": [2, 0], "x": 0, "y": 2, "w": 1.75}, + {"matrix": [2, 2], "x": 1.75, "y": 2}, + {"matrix": [2, 3], "x": 2.75, "y": 2}, + {"matrix": [2, 4], "x": 3.75, "y": 2}, + {"matrix": [2, 5], "x": 4.75, "y": 2}, + {"matrix": [2, 6], "x": 5.75, "y": 2}, + {"matrix": [2, 7], "x": 6.75, "y": 2}, + {"matrix": [2, 8], "x": 7.75, "y": 2}, + {"matrix": [2, 9], "x": 8.75, "y": 2}, + {"matrix": [2, 10], "x": 9.75, "y": 2}, + {"matrix": [2, 11], "x": 10.75, "y": 2}, + {"matrix": [2, 12], "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, 13], "x": 12.25, "y": 3, "w": 1.75}, + {"matrix": [3, 14], "x": 14, "y": 3}, + + {"matrix": [4, 1], "x": 1.5, "y": 4}, + {"matrix": [4, 3], "x": 2.5, "y": 4, "w": 1.5}, + {"matrix": [4, 6], "x": 4, "y": 4, "w": 6}, + {"matrix": [4, 10], "x": 10, "y": 4, "w": 1.5}, + {"matrix": [4, 11], "x": 11.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, 14], "x": 13, "y": 0, "w": 2}, + + {"matrix": [1, 0], "x": 0, "y": 1, "w": 1.5}, + {"matrix": [1, 2], "x": 1.5, "y": 1}, + {"matrix": [1, 3], "x": 2.5, "y": 1}, + {"matrix": [1, 4], "x": 3.5, "y": 1}, + {"matrix": [1, 5], "x": 4.5, "y": 1}, + {"matrix": [1, 6], "x": 5.5, "y": 1}, + {"matrix": [1, 7], "x": 6.5, "y": 1}, + {"matrix": [1, 8], "x": 7.5, "y": 1}, + {"matrix": [1, 9], "x": 8.5, "y": 1}, + {"matrix": [1, 10], "x": 9.5, "y": 1}, + {"matrix": [1, 11], "x": 10.5, "y": 1}, + {"matrix": [1, 12], "x": 11.5, "y": 1}, + {"matrix": [1, 13], "x": 12.5, "y": 1}, + + {"matrix": [2, 0], "x": 0, "y": 2, "w": 1.75}, + {"matrix": [2, 2], "x": 1.75, "y": 2}, + {"matrix": [2, 3], "x": 2.75, "y": 2}, + {"matrix": [2, 4], "x": 3.75, "y": 2}, + {"matrix": [2, 5], "x": 4.75, "y": 2}, + {"matrix": [2, 6], "x": 5.75, "y": 2}, + {"matrix": [2, 7], "x": 6.75, "y": 2}, + {"matrix": [2, 8], "x": 7.75, "y": 2}, + {"matrix": [2, 9], "x": 8.75, "y": 2}, + {"matrix": [2, 10], "x": 9.75, "y": 2}, + {"matrix": [2, 11], "x": 10.75, "y": 2}, + {"matrix": [2, 12], "x": 11.75, "y": 2}, + {"matrix": [1, 14], "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, 13], "x": 12.25, "y": 3, "w": 2.75}, + + {"matrix": [4, 0], "x": 0, "y": 4, "w": 1.25}, + {"matrix": [4, 1], "x": 1.25, "y": 4, "w": 1.25}, + {"matrix": [4, 3], "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, 13], "x": 12.5, "y": 4, "w": 1.25}, + {"matrix": [4, 14], "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": [0, 14], "x": 14, "y": 0}, + + {"matrix": [1, 0], "x": 0, "y": 1, "w": 1.5}, + {"matrix": [1, 2], "x": 1.5, "y": 1}, + {"matrix": [1, 3], "x": 2.5, "y": 1}, + {"matrix": [1, 4], "x": 3.5, "y": 1}, + {"matrix": [1, 5], "x": 4.5, "y": 1}, + {"matrix": [1, 6], "x": 5.5, "y": 1}, + {"matrix": [1, 7], "x": 6.5, "y": 1}, + {"matrix": [1, 8], "x": 7.5, "y": 1}, + {"matrix": [1, 9], "x": 8.5, "y": 1}, + {"matrix": [1, 10], "x": 9.5, "y": 1}, + {"matrix": [1, 11], "x": 10.5, "y": 1}, + {"matrix": [1, 12], "x": 11.5, "y": 1}, + {"matrix": [1, 13], "x": 12.5, "y": 1}, + + {"matrix": [2, 0], "x": 0, "y": 2, "w": 1.75}, + {"matrix": [2, 2], "x": 1.75, "y": 2}, + {"matrix": [2, 3], "x": 2.75, "y": 2}, + {"matrix": [2, 4], "x": 3.75, "y": 2}, + {"matrix": [2, 5], "x": 4.75, "y": 2}, + {"matrix": [2, 6], "x": 5.75, "y": 2}, + {"matrix": [2, 7], "x": 6.75, "y": 2}, + {"matrix": [2, 8], "x": 7.75, "y": 2}, + {"matrix": [2, 9], "x": 8.75, "y": 2}, + {"matrix": [2, 10], "x": 9.75, "y": 2}, + {"matrix": [2, 11], "x": 10.75, "y": 2}, + {"matrix": [2, 12], "x": 11.75, "y": 2}, + {"matrix": [1, 14], "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, 13], "x": 12.25, "y": 3, "w": 1.75}, + {"matrix": [3, 14], "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, 3], "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, 13], "x": 12.5, "y": 4, "w": 1.25}, + {"matrix": [4, 14], "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, 14], "x": 13, "y": 0, "w": 2}, + + {"matrix": [1, 0], "x": 0, "y": 1, "w": 1.5}, + {"matrix": [1, 2], "x": 1.5, "y": 1}, + {"matrix": [1, 3], "x": 2.5, "y": 1}, + {"matrix": [1, 4], "x": 3.5, "y": 1}, + {"matrix": [1, 5], "x": 4.5, "y": 1}, + {"matrix": [1, 6], "x": 5.5, "y": 1}, + {"matrix": [1, 7], "x": 6.5, "y": 1}, + {"matrix": [1, 8], "x": 7.5, "y": 1}, + {"matrix": [1, 9], "x": 8.5, "y": 1}, + {"matrix": [1, 10], "x": 9.5, "y": 1}, + {"matrix": [1, 11], "x": 10.5, "y": 1}, + {"matrix": [1, 12], "x": 11.5, "y": 1}, + {"matrix": [1, 13], "x": 12.5, "y": 1}, + + {"matrix": [2, 0], "x": 0, "y": 2, "w": 1.75}, + {"matrix": [2, 2], "x": 1.75, "y": 2}, + {"matrix": [2, 3], "x": 2.75, "y": 2}, + {"matrix": [2, 4], "x": 3.75, "y": 2}, + {"matrix": [2, 5], "x": 4.75, "y": 2}, + {"matrix": [2, 6], "x": 5.75, "y": 2}, + {"matrix": [2, 7], "x": 6.75, "y": 2}, + {"matrix": [2, 8], "x": 7.75, "y": 2}, + {"matrix": [2, 9], "x": 8.75, "y": 2}, + {"matrix": [2, 10], "x": 9.75, "y": 2}, + {"matrix": [2, 11], "x": 10.75, "y": 2}, + {"matrix": [2, 12], "x": 11.75, "y": 2}, + {"matrix": [1, 14], "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, 13], "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, 3], "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": 12.5, "y": 4}, + {"matrix": [4, 14], "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": [0, 14], "x": 14, "y": 0}, + + {"matrix": [1, 0], "x": 0, "y": 1, "w": 1.5}, + {"matrix": [1, 2], "x": 1.5, "y": 1}, + {"matrix": [1, 3], "x": 2.5, "y": 1}, + {"matrix": [1, 4], "x": 3.5, "y": 1}, + {"matrix": [1, 5], "x": 4.5, "y": 1}, + {"matrix": [1, 6], "x": 5.5, "y": 1}, + {"matrix": [1, 7], "x": 6.5, "y": 1}, + {"matrix": [1, 8], "x": 7.5, "y": 1}, + {"matrix": [1, 9], "x": 8.5, "y": 1}, + {"matrix": [1, 10], "x": 9.5, "y": 1}, + {"matrix": [1, 11], "x": 10.5, "y": 1}, + {"matrix": [1, 12], "x": 11.5, "y": 1}, + {"matrix": [1, 13], "x": 12.5, "y": 1}, + + {"matrix": [2, 0], "x": 0, "y": 2, "w": 1.75}, + {"matrix": [2, 2], "x": 1.75, "y": 2}, + {"matrix": [2, 3], "x": 2.75, "y": 2}, + {"matrix": [2, 4], "x": 3.75, "y": 2}, + {"matrix": [2, 5], "x": 4.75, "y": 2}, + {"matrix": [2, 6], "x": 5.75, "y": 2}, + {"matrix": [2, 7], "x": 6.75, "y": 2}, + {"matrix": [2, 8], "x": 7.75, "y": 2}, + {"matrix": [2, 9], "x": 8.75, "y": 2}, + {"matrix": [2, 10], "x": 9.75, "y": 2}, + {"matrix": [2, 11], "x": 10.75, "y": 2}, + {"matrix": [2, 12], "x": 11.75, "y": 2}, + {"matrix": [1, 14], "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, 13], "x": 12.25, "y": 3, "w": 1.75}, + {"matrix": [3, 14], "x": 14, "y": 3}, + + {"matrix": [4, 0], "x": 0, "y": 4, "w": 1.5}, + {"matrix": [4, 1], "x": 1.5, "y": 4}, + {"matrix": [4, 3], "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": 12.5, "y": 4}, + {"matrix": [4, 14], "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, 14], "x": 13, "y": 0, "w": 2}, + + {"matrix": [1, 0], "x": 0, "y": 1, "w": 1.5}, + {"matrix": [1, 2], "x": 1.5, "y": 1}, + {"matrix": [1, 3], "x": 2.5, "y": 1}, + {"matrix": [1, 4], "x": 3.5, "y": 1}, + {"matrix": [1, 5], "x": 4.5, "y": 1}, + {"matrix": [1, 6], "x": 5.5, "y": 1}, + {"matrix": [1, 7], "x": 6.5, "y": 1}, + {"matrix": [1, 8], "x": 7.5, "y": 1}, + {"matrix": [1, 9], "x": 8.5, "y": 1}, + {"matrix": [1, 10], "x": 9.5, "y": 1}, + {"matrix": [1, 11], "x": 10.5, "y": 1}, + {"matrix": [1, 12], "x": 11.5, "y": 1}, + {"matrix": [1, 13], "x": 12.5, "y": 1}, + + {"matrix": [2, 0], "x": 0, "y": 2, "w": 1.75}, + {"matrix": [2, 2], "x": 1.75, "y": 2}, + {"matrix": [2, 3], "x": 2.75, "y": 2}, + {"matrix": [2, 4], "x": 3.75, "y": 2}, + {"matrix": [2, 5], "x": 4.75, "y": 2}, + {"matrix": [2, 6], "x": 5.75, "y": 2}, + {"matrix": [2, 7], "x": 6.75, "y": 2}, + {"matrix": [2, 8], "x": 7.75, "y": 2}, + {"matrix": [2, 9], "x": 8.75, "y": 2}, + {"matrix": [2, 10], "x": 9.75, "y": 2}, + {"matrix": [2, 11], "x": 10.75, "y": 2}, + {"matrix": [2, 12], "x": 11.75, "y": 2}, + {"matrix": [1, 14], "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, 13], "x": 12.25, "y": 3, "w": 2.75}, + + {"matrix": [4, 0], "x": 0, "y": 4, "w": 1.5}, + {"matrix": [4, 3], "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, 14], "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": [0, 14], "x": 14, "y": 0}, + + {"matrix": [1, 0], "x": 0, "y": 1, "w": 1.5}, + {"matrix": [1, 2], "x": 1.5, "y": 1}, + {"matrix": [1, 3], "x": 2.5, "y": 1}, + {"matrix": [1, 4], "x": 3.5, "y": 1}, + {"matrix": [1, 5], "x": 4.5, "y": 1}, + {"matrix": [1, 6], "x": 5.5, "y": 1}, + {"matrix": [1, 7], "x": 6.5, "y": 1}, + {"matrix": [1, 8], "x": 7.5, "y": 1}, + {"matrix": [1, 9], "x": 8.5, "y": 1}, + {"matrix": [1, 10], "x": 9.5, "y": 1}, + {"matrix": [1, 11], "x": 10.5, "y": 1}, + {"matrix": [1, 12], "x": 11.5, "y": 1}, + {"matrix": [1, 13], "x": 12.5, "y": 1}, + + {"matrix": [2, 0], "x": 0, "y": 2, "w": 1.75}, + {"matrix": [2, 2], "x": 1.75, "y": 2}, + {"matrix": [2, 3], "x": 2.75, "y": 2}, + {"matrix": [2, 4], "x": 3.75, "y": 2}, + {"matrix": [2, 5], "x": 4.75, "y": 2}, + {"matrix": [2, 6], "x": 5.75, "y": 2}, + {"matrix": [2, 7], "x": 6.75, "y": 2}, + {"matrix": [2, 8], "x": 7.75, "y": 2}, + {"matrix": [2, 9], "x": 8.75, "y": 2}, + {"matrix": [2, 10], "x": 9.75, "y": 2}, + {"matrix": [2, 11], "x": 10.75, "y": 2}, + {"matrix": [2, 12], "x": 11.75, "y": 2}, + {"matrix": [1, 14], "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, 13], "x": 12.25, "y": 3, "w": 1.75}, + {"matrix": [3, 14], "x": 14, "y": 3}, + + {"matrix": [4, 0], "x": 0, "y": 4, "w": 1.5}, + {"matrix": [4, 3], "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, 14], "x": 13.5, "y": 4, "w": 1.5} + ] + }, + "LAYOUT_60_iso_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, 14], "x": 13, "y": 0, "w": 2}, + + {"matrix": [1, 0], "x": 0, "y": 1, "w": 1.5}, + {"matrix": [1, 2], "x": 1.5, "y": 1}, + {"matrix": [1, 3], "x": 2.5, "y": 1}, + {"matrix": [1, 4], "x": 3.5, "y": 1}, + {"matrix": [1, 5], "x": 4.5, "y": 1}, + {"matrix": [1, 6], "x": 5.5, "y": 1}, + {"matrix": [1, 7], "x": 6.5, "y": 1}, + {"matrix": [1, 8], "x": 7.5, "y": 1}, + {"matrix": [1, 9], "x": 8.5, "y": 1}, + {"matrix": [1, 10], "x": 9.5, "y": 1}, + {"matrix": [1, 11], "x": 10.5, "y": 1}, + {"matrix": [1, 12], "x": 11.5, "y": 1}, + {"matrix": [1, 13], "x": 12.5, "y": 1}, + + {"matrix": [2, 0], "x": 0, "y": 2, "w": 1.75}, + {"matrix": [2, 2], "x": 1.75, "y": 2}, + {"matrix": [2, 3], "x": 2.75, "y": 2}, + {"matrix": [2, 4], "x": 3.75, "y": 2}, + {"matrix": [2, 5], "x": 4.75, "y": 2}, + {"matrix": [2, 6], "x": 5.75, "y": 2}, + {"matrix": [2, 7], "x": 6.75, "y": 2}, + {"matrix": [2, 8], "x": 7.75, "y": 2}, + {"matrix": [2, 9], "x": 8.75, "y": 2}, + {"matrix": [2, 10], "x": 9.75, "y": 2}, + {"matrix": [2, 11], "x": 10.75, "y": 2}, + {"matrix": [2, 12], "x": 11.75, "y": 2}, + {"matrix": [1, 14], "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, 12], "x": 11.25, "y": 3, "w": 1.75}, + {"matrix": [3, 13], "x": 13, "y": 3}, + {"matrix": [3, 14], "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, 3], "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}, + {"matrix": [4, 11], "x": 11, "y": 4}, + {"matrix": [4, 12], "x": 12, "y": 4}, + {"matrix": [4, 13], "x": 13, "y": 4}, + {"matrix": [4, 14], "x": 14, "y": 4} + ] + }, + "LAYOUT_60_iso_arrow_split_bs": { + "layout": [ + {"matrix": [0, 0], "x": 0, "y": 0}, + {"matrix": [0, 1], "x": 1, "y": 0}, + {"matrix": [0, 2], "x": 2, "y": 0}, + {"matrix": [0, 3], "x": 3, "y": 0}, + {"matrix": [0, 4], "x": 4, "y": 0}, + {"matrix": [0, 5], "x": 5, "y": 0}, + {"matrix": [0, 6], "x": 6, "y": 0}, + {"matrix": [0, 7], "x": 7, "y": 0}, + {"matrix": [0, 8], "x": 8, "y": 0}, + {"matrix": [0, 9], "x": 9, "y": 0}, + {"matrix": [0, 10], "x": 10, "y": 0}, + {"matrix": [0, 11], "x": 11, "y": 0}, + {"matrix": [0, 12], "x": 12, "y": 0}, + {"matrix": [0, 13], "x": 13, "y": 0}, + {"matrix": [0, 14], "x": 14, "y": 0}, + + {"matrix": [1, 0], "x": 0, "y": 1, "w": 1.5}, + {"matrix": [1, 2], "x": 1.5, "y": 1}, + {"matrix": [1, 3], "x": 2.5, "y": 1}, + {"matrix": [1, 4], "x": 3.5, "y": 1}, + {"matrix": [1, 5], "x": 4.5, "y": 1}, + {"matrix": [1, 6], "x": 5.5, "y": 1}, + {"matrix": [1, 7], "x": 6.5, "y": 1}, + {"matrix": [1, 8], "x": 7.5, "y": 1}, + {"matrix": [1, 9], "x": 8.5, "y": 1}, + {"matrix": [1, 10], "x": 9.5, "y": 1}, + {"matrix": [1, 11], "x": 10.5, "y": 1}, + {"matrix": [1, 12], "x": 11.5, "y": 1}, + {"matrix": [1, 13], "x": 12.5, "y": 1}, + + {"matrix": [2, 0], "x": 0, "y": 2, "w": 1.75}, + {"matrix": [2, 2], "x": 1.75, "y": 2}, + {"matrix": [2, 3], "x": 2.75, "y": 2}, + {"matrix": [2, 4], "x": 3.75, "y": 2}, + {"matrix": [2, 5], "x": 4.75, "y": 2}, + {"matrix": [2, 6], "x": 5.75, "y": 2}, + {"matrix": [2, 7], "x": 6.75, "y": 2}, + {"matrix": [2, 8], "x": 7.75, "y": 2}, + {"matrix": [2, 9], "x": 8.75, "y": 2}, + {"matrix": [2, 10], "x": 9.75, "y": 2}, + {"matrix": [2, 11], "x": 10.75, "y": 2}, + {"matrix": [2, 12], "x": 11.75, "y": 2}, + {"matrix": [1, 14], "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, 12], "x": 11.25, "y": 3, "w": 1.75}, + {"matrix": [3, 13], "x": 13, "y": 3}, + {"matrix": [3, 14], "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, 3], "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}, + {"matrix": [4, 11], "x": 11, "y": 4}, + {"matrix": [4, 12], "x": 12, "y": 4}, + {"matrix": [4, 13], "x": 13, "y": 4}, + {"matrix": [4, 14], "x": 14, "y": 4} + ] + }, + "LAYOUT_64_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, 14], "x": 13, "y": 0, "w": 2}, + + {"matrix": [1, 0], "x": 0, "y": 1, "w": 1.5}, + {"matrix": [1, 2], "x": 1.5, "y": 1}, + {"matrix": [1, 3], "x": 2.5, "y": 1}, + {"matrix": [1, 4], "x": 3.5, "y": 1}, + {"matrix": [1, 5], "x": 4.5, "y": 1}, + {"matrix": [1, 6], "x": 5.5, "y": 1}, + {"matrix": [1, 7], "x": 6.5, "y": 1}, + {"matrix": [1, 8], "x": 7.5, "y": 1}, + {"matrix": [1, 9], "x": 8.5, "y": 1}, + {"matrix": [1, 10], "x": 9.5, "y": 1}, + {"matrix": [1, 11], "x": 10.5, "y": 1}, + {"matrix": [1, 12], "x": 11.5, "y": 1}, + {"matrix": [1, 13], "x": 12.5, "y": 1}, + + {"matrix": [2, 0], "x": 0, "y": 2, "w": 1.75}, + {"matrix": [2, 2], "x": 1.75, "y": 2}, + {"matrix": [2, 3], "x": 2.75, "y": 2}, + {"matrix": [2, 4], "x": 3.75, "y": 2}, + {"matrix": [2, 5], "x": 4.75, "y": 2}, + {"matrix": [2, 6], "x": 5.75, "y": 2}, + {"matrix": [2, 7], "x": 6.75, "y": 2}, + {"matrix": [2, 8], "x": 7.75, "y": 2}, + {"matrix": [2, 9], "x": 8.75, "y": 2}, + {"matrix": [2, 10], "x": 9.75, "y": 2}, + {"matrix": [2, 11], "x": 10.75, "y": 2}, + {"matrix": [2, 12], "x": 11.75, "y": 2}, + {"matrix": [1, 14], "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}, + {"matrix": [3, 1], "x": 1, "y": 3}, + {"matrix": [3, 2], "x": 2, "y": 3}, + {"matrix": [3, 3], "x": 3, "y": 3}, + {"matrix": [3, 4], "x": 4, "y": 3}, + {"matrix": [3, 5], "x": 5, "y": 3}, + {"matrix": [3, 6], "x": 6, "y": 3}, + {"matrix": [3, 7], "x": 7, "y": 3}, + {"matrix": [3, 8], "x": 8, "y": 3}, + {"matrix": [3, 9], "x": 9, "y": 3}, + {"matrix": [3, 10], "x": 10, "y": 3}, + {"matrix": [3, 11], "x": 11, "y": 3}, + {"matrix": [3, 12], "x": 12, "y": 3}, + {"matrix": [3, 13], "x": 13, "y": 3}, + {"matrix": [3, 14], "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, 3], "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}, + {"matrix": [4, 11], "x": 11, "y": 4}, + {"matrix": [4, 12], "x": 12, "y": 4}, + {"matrix": [4, 13], "x": 13, "y": 4}, + {"matrix": [4, 14], "x": 14, "y": 4} + ] + }, + "LAYOUT_64_iso_split_bs": { + "layout": [ + {"matrix": [0, 0], "x": 0, "y": 0}, + {"matrix": [0, 1], "x": 1, "y": 0}, + {"matrix": [0, 2], "x": 2, "y": 0}, + {"matrix": [0, 3], "x": 3, "y": 0}, + {"matrix": [0, 4], "x": 4, "y": 0}, + {"matrix": [0, 5], "x": 5, "y": 0}, + {"matrix": [0, 6], "x": 6, "y": 0}, + {"matrix": [0, 7], "x": 7, "y": 0}, + {"matrix": [0, 8], "x": 8, "y": 0}, + {"matrix": [0, 9], "x": 9, "y": 0}, + {"matrix": [0, 10], "x": 10, "y": 0}, + {"matrix": [0, 11], "x": 11, "y": 0}, + {"matrix": [0, 12], "x": 12, "y": 0}, + {"matrix": [0, 13], "x": 13, "y": 0}, + {"matrix": [0, 14], "x": 14, "y": 0}, + + {"matrix": [1, 0], "x": 0, "y": 1, "w": 1.5}, + {"matrix": [1, 2], "x": 1.5, "y": 1}, + {"matrix": [1, 3], "x": 2.5, "y": 1}, + {"matrix": [1, 4], "x": 3.5, "y": 1}, + {"matrix": [1, 5], "x": 4.5, "y": 1}, + {"matrix": [1, 6], "x": 5.5, "y": 1}, + {"matrix": [1, 7], "x": 6.5, "y": 1}, + {"matrix": [1, 8], "x": 7.5, "y": 1}, + {"matrix": [1, 9], "x": 8.5, "y": 1}, + {"matrix": [1, 10], "x": 9.5, "y": 1}, + {"matrix": [1, 11], "x": 10.5, "y": 1}, + {"matrix": [1, 12], "x": 11.5, "y": 1}, + {"matrix": [1, 13], "x": 12.5, "y": 1}, + + {"matrix": [2, 0], "x": 0, "y": 2, "w": 1.75}, + {"matrix": [2, 2], "x": 1.75, "y": 2}, + {"matrix": [2, 3], "x": 2.75, "y": 2}, + {"matrix": [2, 4], "x": 3.75, "y": 2}, + {"matrix": [2, 5], "x": 4.75, "y": 2}, + {"matrix": [2, 6], "x": 5.75, "y": 2}, + {"matrix": [2, 7], "x": 6.75, "y": 2}, + {"matrix": [2, 8], "x": 7.75, "y": 2}, + {"matrix": [2, 9], "x": 8.75, "y": 2}, + {"matrix": [2, 10], "x": 9.75, "y": 2}, + {"matrix": [2, 11], "x": 10.75, "y": 2}, + {"matrix": [2, 12], "x": 11.75, "y": 2}, + {"matrix": [1, 14], "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}, + {"matrix": [3, 1], "x": 1, "y": 3}, + {"matrix": [3, 2], "x": 2, "y": 3}, + {"matrix": [3, 3], "x": 3, "y": 3}, + {"matrix": [3, 4], "x": 4, "y": 3}, + {"matrix": [3, 5], "x": 5, "y": 3}, + {"matrix": [3, 6], "x": 6, "y": 3}, + {"matrix": [3, 7], "x": 7, "y": 3}, + {"matrix": [3, 8], "x": 8, "y": 3}, + {"matrix": [3, 9], "x": 9, "y": 3}, + {"matrix": [3, 10], "x": 10, "y": 3}, + {"matrix": [3, 11], "x": 11, "y": 3}, + {"matrix": [3, 12], "x": 12, "y": 3}, + {"matrix": [3, 13], "x": 13, "y": 3}, + {"matrix": [3, 14], "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, 3], "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}, + {"matrix": [4, 11], "x": 11, "y": 4}, + {"matrix": [4, 12], "x": 12, "y": 4}, + {"matrix": [4, 13], "x": 13, "y": 4}, + {"matrix": [4, 14], "x": 14, "y": 4} + ] + }, + "LAYOUT_abnt2": { + "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, 14], "x": 13, "y": 0, "w": 2}, + + {"matrix": [1, 0], "x": 0, "y": 1, "w": 1.5}, + {"matrix": [1, 2], "x": 1.5, "y": 1}, + {"matrix": [1, 3], "x": 2.5, "y": 1}, + {"matrix": [1, 4], "x": 3.5, "y": 1}, + {"matrix": [1, 5], "x": 4.5, "y": 1}, + {"matrix": [1, 6], "x": 5.5, "y": 1}, + {"matrix": [1, 7], "x": 6.5, "y": 1}, + {"matrix": [1, 8], "x": 7.5, "y": 1}, + {"matrix": [1, 9], "x": 8.5, "y": 1}, + {"matrix": [1, 10], "x": 9.5, "y": 1}, + {"matrix": [1, 11], "x": 10.5, "y": 1}, + {"matrix": [1, 12], "x": 11.5, "y": 1}, + {"matrix": [1, 13], "x": 12.5, "y": 1}, + + {"matrix": [2, 0], "x": 0, "y": 2, "w": 1.75}, + {"matrix": [2, 2], "x": 1.75, "y": 2}, + {"matrix": [2, 3], "x": 2.75, "y": 2}, + {"matrix": [2, 4], "x": 3.75, "y": 2}, + {"matrix": [2, 5], "x": 4.75, "y": 2}, + {"matrix": [2, 6], "x": 5.75, "y": 2}, + {"matrix": [2, 7], "x": 6.75, "y": 2}, + {"matrix": [2, 8], "x": 7.75, "y": 2}, + {"matrix": [2, 9], "x": 8.75, "y": 2}, + {"matrix": [2, 10], "x": 9.75, "y": 2}, + {"matrix": [2, 11], "x": 10.75, "y": 2}, + {"matrix": [2, 12], "x": 11.75, "y": 2}, + {"matrix": [1, 14], "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}, + {"matrix": [3, 1], "x": 1, "y": 3}, + {"matrix": [3, 2], "x": 2, "y": 3}, + {"matrix": [3, 3], "x": 3, "y": 3}, + {"matrix": [3, 4], "x": 4, "y": 3}, + {"matrix": [3, 5], "x": 5, "y": 3}, + {"matrix": [3, 6], "x": 6, "y": 3}, + {"matrix": [3, 7], "x": 7, "y": 3}, + {"matrix": [3, 8], "x": 8, "y": 3}, + {"matrix": [3, 9], "x": 9, "y": 3}, + {"matrix": [3, 10], "x": 10, "y": 3}, + {"matrix": [3, 11], "x": 11, "y": 3}, + {"matrix": [3, 12], "x": 12, "y": 3}, + {"matrix": [3, 13], "x": 13, "y": 3, "w": 2}, + + {"matrix": [4, 0], "x": 0, "y": 4, "w": 1.25}, + {"matrix": [4, 1], "x": 1.25, "y": 4, "w": 1.25}, + {"matrix": [4, 3], "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, 13], "x": 12.5, "y": 4, "w": 1.25}, + {"matrix": [4, 14], "x": 13.75, "y": 4, "w": 1.25} + ] + }, + "LAYOUT": { + "layout": [ + {"matrix": [0, 0], "x": 0, "y": 0}, + {"matrix": [0, 1], "x": 1, "y": 0}, + {"matrix": [0, 2], "x": 2, "y": 0}, + {"matrix": [0, 3], "x": 3, "y": 0}, + {"matrix": [0, 4], "x": 4, "y": 0}, + {"matrix": [0, 5], "x": 5, "y": 0}, + {"matrix": [0, 6], "x": 6, "y": 0}, + {"matrix": [0, 7], "x": 7, "y": 0}, + {"matrix": [0, 8], "x": 8, "y": 0}, + {"matrix": [0, 9], "x": 9, "y": 0}, + {"matrix": [0, 10], "x": 10, "y": 0}, + {"matrix": [0, 11], "x": 11, "y": 0}, + {"matrix": [0, 12], "x": 12, "y": 0}, + {"matrix": [0, 13], "x": 13, "y": 0}, + {"matrix": [0, 14], "x": 14, "y": 0}, + + {"matrix": [1, 0], "x": 0, "y": 1, "w": 1.5}, + {"matrix": [1, 2], "x": 1.5, "y": 1}, + {"matrix": [1, 3], "x": 2.5, "y": 1}, + {"matrix": [1, 4], "x": 3.5, "y": 1}, + {"matrix": [1, 5], "x": 4.5, "y": 1}, + {"matrix": [1, 6], "x": 5.5, "y": 1}, + {"matrix": [1, 7], "x": 6.5, "y": 1}, + {"matrix": [1, 8], "x": 7.5, "y": 1}, + {"matrix": [1, 9], "x": 8.5, "y": 1}, + {"matrix": [1, 10], "x": 9.5, "y": 1}, + {"matrix": [1, 11], "x": 10.5, "y": 1}, + {"matrix": [1, 12], "x": 11.5, "y": 1}, + {"matrix": [1, 13], "x": 12.5, "y": 1}, + {"matrix": [1, 14], "x": 13.5, "y": 1, "w": 1.5}, + + {"matrix": [2, 0], "x": 0, "y": 2, "w": 1.75}, + {"matrix": [2, 2], "x": 1.75, "y": 2}, + {"matrix": [2, 3], "x": 2.75, "y": 2}, + {"matrix": [2, 4], "x": 3.75, "y": 2}, + {"matrix": [2, 5], "x": 4.75, "y": 2}, + {"matrix": [2, 6], "x": 5.75, "y": 2}, + {"matrix": [2, 7], "x": 6.75, "y": 2}, + {"matrix": [2, 8], "x": 7.75, "y": 2}, + {"matrix": [2, 9], "x": 8.75, "y": 2}, + {"matrix": [2, 10], "x": 9.75, "y": 2}, + {"matrix": [2, 11], "x": 10.75, "y": 2}, + {"matrix": [2, 12], "x": 11.75, "y": 2}, + {"matrix": [2, 13], "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, 13], "x": 12.25, "y": 3, "w": 1.75}, + {"matrix": [3, 14], "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, 3], "x": 2.5, "y": 4, "w": 1.25}, @@ -421,7 +1827,7 @@ {"matrix": [4, 14], "x": 14, "y": 4} ] }, - "LAYOUT_mitchsplit": { + "LAYOUT_60_ansi_split_space_split_rshift": { "layout": [ {"matrix": [0, 0], "x": 0, "y": 0}, {"matrix": [0, 1], "x": 1, "y": 0}, diff --git a/keyboards/mechkeys/acr60/matrix_diagram.md b/keyboards/mechkeys/acr60/matrix_diagram.md new file mode 100644 index 0000000000..27a38030af --- /dev/null +++ b/keyboards/mechkeys/acr60/matrix_diagram.md @@ -0,0 +1,57 @@ +# Matrix Diagram for MechKeys ACR60 + +``` + ┌───────┐ + 2u Backspace │0E │ + └───────┘ +┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┐ +│00 │01 │02 │03 │04 │05 │06 │07 │08 │09 │0A │0B │0C │0D │0E │ +├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┤ ┌─────┐ +│10 │12 │13 │14 │15 │16 │17 │18 │19 │1A │1B │1C │1D │1E │ │ │ +├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴─────┤ ┌──┴┐2D │ ISO Enter +│20 │22 │23 │24 │25 │26 │27 │28 │29 │2A │2B │2C │2D │ │1E │ │ +└──────┴───┴───┴───┴───┴───┴───┴───┴───┴───┴───┴───┴────────┘ └───┴────┘ +Shift Row Options: +┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┐ +│30 │31 │32 │33 │34 │35 │36 │37 │38 │39 │3A │3B │3C │3D │3E │ +└───┴───┴───┴───┴───┴───┴───┴───┴───┴───┴───┴───┴───┴───┴───┘ +┌───────┐ ┌───────┐ +│30 │ 2u LShift 2u RShift │3D │ +└───────┘ └───────┘ +┌────┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬──────┬───┐ +│30 │31 │32 │33 │34 │35 │36 │37 │38 │39 │3A │3B │3D │3E │ Standard with Split Shifts +└────┴───┴───┴───┴───┴───┴───┴───┴───┴───┴───┴───┴──────┴───┘ 1.25u/1u LShift + 1u/1.75u/1u RShift +┌────────┐ ┌───┬──────────┐ +│30 │ 2.25u LShift │3B │3D │ 2.75u RShift +└────────┘ └───┴──────────┘ + ┌──────┬───┬───┐ + │3C │3D │3E │ 1.75u/1u/1u RShift + └──────┴───┴───┘ +Bottom Row Options: +┌────┬────┬────┬────────┬────┬──────────┬───┬───┬───┬───┬───┐ +│40 │41 │43 │44 │46 │48 │4A │4B │4C │4D │4E │ 5x 1u Mods +└────┴────┴────┴────────┴────┴──────────┴───┴───┴───┴───┴───┘ + Split Spacebar + [2.25/1.25/2.75] or [2.75/1.25/2.25] + ┌──────────┬────┬────────┐ + │44 │46 │48 │ + └──────────┴────┴────────┘ +┌────┬────┬────┬────────────────────────┬────┬────┬────┬────┐ ┐ +│40 │41 │43 │46 │4A │4B │4D │4E │ ├─ Standard +└────┴────┴────┴────────────────────────┴────┴────┴────┴────┘ │ or +┌─────┬───┬─────┬───────────────────────┬─────┬───┬───┬─────┐ │ Infinity/True HHKB +│40 │41 │43 │46 │4A │4B │4D │4E │ │ (same matrix) +└─────┴───┴─────┴───────────────────────┴─────┴───┴───┴─────┘ ┘ +┌─────┬───┬────┬────────────────────────┬───┬───┬───┬───┬───┐ +│40 │41 │43 │46 │4A │4B │4C │4D │4E │ +└─────┴───┴────┴────────────────────────┴───┴───┴───┴───┴───┘ +┌─────┬─────┬───────────────────────────┬───┬───┬───┬───┬───┐ +│40 │41 │46 │4A │4B │4C │4D │4E │ LWKL +└─────┴─────┴───────────────────────────┴───┴───┴───┴───┴───┘ +┌─────┬───┬─────┬───────────────────────────┬─────┬───┬─────┐ +│40 │41 │43 │46 │4B │4D │4E │ Tsangan/WKL/HHKB +└─────┴───┴─────┴───────────────────────────┴─────┴───┴─────┘ +┌─────┬───┬─────┬───────────────────────────┬───┬───┬───┬───┐ +│40 │41 │43 │46 │4B │4C │4D │4E │ Tsangan Arrow +└─────┴───┴─────┴───────────────────────────┴───┴───┴───┴───┘ +``` -- cgit v1.2.3 From 1fc4bfa3132d77bf21dbed71f63cdd1a06e04cf2 Mon Sep 17 00:00:00 2001 From: Pavel Kroupa <63880977+Tabonx@users.noreply.github.com> Date: Wed, 1 May 2024 08:53:30 +0200 Subject: Add MacOS Czech ISO and ANSI keymaps #23346 (#23412) --- .../extras/keycodes_czech_mac_ansi_0.0.1.hjson | 580 +++++++++++++++++++++ .../extras/keycodes_czech_mac_iso_0.0.1.hjson | 580 +++++++++++++++++++++ docs/reference_keymap_extras.md | 2 + quantum/keymap_extras/keymap_czech_mac_ansi.h | 162 ++++++ quantum/keymap_extras/keymap_czech_mac_iso.h | 162 ++++++ quantum/keymap_extras/sendstring_czech_mac_ansi.h | 120 +++++ quantum/keymap_extras/sendstring_czech_mac_iso.h | 120 +++++ 7 files changed, 1726 insertions(+) create mode 100644 data/constants/keycodes/extras/keycodes_czech_mac_ansi_0.0.1.hjson create mode 100644 data/constants/keycodes/extras/keycodes_czech_mac_iso_0.0.1.hjson create mode 100644 quantum/keymap_extras/keymap_czech_mac_ansi.h create mode 100644 quantum/keymap_extras/keymap_czech_mac_iso.h create mode 100644 quantum/keymap_extras/sendstring_czech_mac_ansi.h create mode 100644 quantum/keymap_extras/sendstring_czech_mac_iso.h (limited to 'docs') diff --git a/data/constants/keycodes/extras/keycodes_czech_mac_ansi_0.0.1.hjson b/data/constants/keycodes/extras/keycodes_czech_mac_ansi_0.0.1.hjson new file mode 100644 index 0000000000..d0eb554126 --- /dev/null +++ b/data/constants/keycodes/extras/keycodes_czech_mac_ansi_0.0.1.hjson @@ -0,0 +1,580 @@ +{ + "aliases": { +/* + * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬─────┐ + * │ \ │ + │ ě │ š │ č │ ř │ ž │ ý │ á │ í │ é │ = │ ' │ │ + * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬───┤ + * │ │ Q │ W │ E │ R │ T │ Y │ U │ I │ O │ P │ ú │ ) │ ¨ │ + * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴───┤ + * │ │ A │ S │ D │ F │ G │ H │ J │ K │ L │ ů │ § │ │ + * ├──────┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴──────┤ + * │ │ Z │ X │ C │ V │ B │ N │ M │ , │ . │ - │ │ + * ├─────┬──┴─┬─┴───┼───┴───┴───┴───┴───┴───┼───┴─┬─┴──┬─────┤ + * │ │ │ │ │ │ │ │ + * └─────┴────┴─────┴───────────────────────┴─────┴────┴─────┘ + */ + "KC_GRV": { + "key": "CZ_BSLS", + "label": "\\", + } + "KC_1": { + "key": "CZ_PLUS", + "label": "+", + } + "KC_2": { + "key": "CZ_ECAR", + "label": "ě", + } + "KC_3": { + "key": "CZ_SCAR", + "label": "š", + } + "KC_4": { + "key": "CZ_CCAR", + "label": "č", + } + "KC_5": { + "key": "CZ_RCAR", + "label": "ř", + } + "KC_6": { + "key": "CZ_ZCAR", + "label": "ž", + } + "KC_7": { + "key": "CZ_YACU", + "label": "ý", + } + "KC_8": { + "key": "CZ_AACU", + "label": "á", + } + "KC_9": { + "key": "CZ_IACU", + "label": "í", + } + "KC_0": { + "key": "CZ_EACU", + "label": "é", + } + "KC_MINS": { + "key": "CZ_EQL", + "label": "=", + } + "KC_EQL": { + "key": "CZ_ACUT", + "label": "' (dead)", + } + "KC_Q": { + "key": "CZ_Q", + "label": "Q", + } + "KC_W": { + "key": "CZ_W", + "label": "W", + } + "KC_E": { + "key": "CZ_E", + "label": "E", + } + "KC_R": { + "key": "CZ_R", + "label": "R", + } + "KC_T": { + "key": "CZ_T", + "label": "T", + } + "KC_Y": { + "key": "CZ_Z", + "label": "Z", + } + "KC_U": { + "key": "CZ_U", + "label": "U", + } + "KC_I": { + "key": "CZ_I", + "label": "I", + } + "KC_O": { + "key": "CZ_O", + "label": "O", + } + "KC_P": { + "key": "CZ_P", + "label": "P", + } + "KC_LBRC": { + "key": "CZ_UACU", + "label": "ú", + } + "KC_RBRC": { + "key": "CZ_RPRN", + "label": ")", + } + "KC_NUHS": { + "key": "CZ_DIAE", + "label": "¨ (dead)", + } + "KC_A": { + "key": "CZ_A", + "label": "A", + } + "KC_S": { + "key": "CZ_S", + "label": "S", + } + "KC_D": { + "key": "CZ_D", + "label": "D", + } + "KC_F": { + "key": "CZ_F", + "label": "F", + } + "KC_G": { + "key": "CZ_G", + "label": "G", + } + "KC_H": { + "key": "CZ_H", + "label": "H", + } + "KC_J": { + "key": "CZ_J", + "label": "J", + } + "KC_K": { + "key": "CZ_K", + "label": "K", + } + "KC_L": { + "key": "CZ_L", + "label": "L", + } + "KC_SCLN": { + "key": "CZ_URNG", + "label": "ů", + } + "KC_QUOT": { + "key": "CZ_SECT", + "label": "§", + } + "KC_Z": { + "key": "CZ_Y", + "label": "Y", + } + "KC_X": { + "key": "CZ_X", + "label": "X", + } + "KC_C": { + "key": "CZ_C", + "label": "C", + } + "KC_V": { + "key": "CZ_V", + "label": "V", + } + "KC_B": { + "key": "CZ_B", + "label": "B", + } + "KC_N": { + "key": "CZ_N", + "label": "N", + } + "KC_M": { + "key": "CZ_M", + "label": "M", + } + "KC_COMM": { + "key": "CZ_COMM", + "label": ",", + } + "KC_DOT": { + "key": "CZ_DOT", + "label": ".", + } + "KC_SLSH": { + "key": "CZ_MINS", + "label": "-", + } +/* Shifted symbols + * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬─────┐ + * │ | │ 1 │ 2 │ 3 │ 4 │ 5 │ 6 │ 7 │ 8 │ 9 │ 0 │ % │ ˇ │ │ + * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬───┤ + * │ │ │ │ │ │ │ │ │ │ │ │ / │ ( │ ` │ + * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴───┤ + * │ │ │ │ │ │ │ │ │ │ │ " │ ! │ │ + * ├──────┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴──────┤ + * │ │ │ │ │ │ │ │ │ ? │ : │ _ │ │ + * ├─────┬──┴─┬─┴───┼───┴───┴───┴───┴───┴───┼───┴─┬─┴──┬─────┤ + * │ │ │ │ │ │ │ │ + * └─────┴────┴─────┴───────────────────────┴─────┴────┴─────┘ + */ + "S(CZ_BSLS)": { + "key": "CZ_PIPE", + "label": "|", + } + "S(CZ_PLUS)": { + "key": "CZ_1", + "label": "1", + } + "S(CZ_ECAR)": { + "key": "CZ_2", + "label": "2", + } + "S(CZ_SCAR)": { + "key": "CZ_3", + "label": "3", + } + "S(CZ_CCAR)": { + "key": "CZ_4", + "label": "4", + } + "S(CZ_RCAR)": { + "key": "CZ_5", + "label": "5", + } + "S(CZ_ZCAR)": { + "key": "CZ_6", + "label": "6", + } + "S(CZ_YACU)": { + "key": "CZ_7", + "label": "7", + } + "S(CZ_AACU)": { + "key": "CZ_8", + "label": "8", + } + "S(CZ_IACU)": { + "key": "CZ_9", + "label": "9", + } + "S(CZ_EACU)": { + "key": "CZ_0", + "label": "0", + } + "S(CZ_EQL)": { + "key": "CZ_PERC", + "label": "%", + } + "S(CZ_ACUT)": { + "key": "CZ_CARN", + "label": "ˇ (dead)", + } + "S(CZ_UACU)": { + "key": "CZ_SLSH", + "label": "/", + } + "S(CZ_RPRN)": { + "key": "CZ_LPRN", + "label": "(", + } + "S(CZ_DIAE)": { + "key": "CZ_GRV", + "label": "`", + } + "S(CZ_URNG)": { + "key": "CZ_DQUO", + "label": "\"", + } + "S(CZ_SECT)": { + "key": "CZ_EXLM", + "label": "!", + } + "S(CZ_COMM)": { + "key": "CZ_QUES", + "label": "?", + } + "S(CZ_DOT)": { + "key": "CZ_COLN", + "label": ":", + } + "S(CZ_MINS)": { + "key": "CZ_UNDS", + "label": "_", + } +/* Alted symbols + * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬─────┐ + * │ │ │ @ │ # │ $ │ ~ │ ^ │ & │ * │ { │ } │ ° │ ^ │ │ + * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬───┤ + * │ │ │ ė │ ę │ € │ │ │ │ │ │ │ [ │ ] │ │ + * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴───┤ + * │ │ ą │ ß │ ∂ │ │ │ ‘ │ ’ │ │ ł │ ; │ ' │ │ + * ├──────┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴──────┤ + * │ │ │ │ │ │ │ ‚ │ │ < │ > │ – │ │ + * ├─────┬──┴─┬─┴───┼───┴───┴───┴───┴───┴───┼───┴─┬─┴──┬─────┤ + * │ │ │ │ │ │ │ │ + * └─────┴────┴─────┴───────────────────────┴─────┴────┴─────┘ + */ + "A(CZ_ECAR)": { + "key": "CZ_AT", + "label": "@", + } + "A(CZ_SCAR)": { + "key": "CZ_HASH", + "label": "#", + } + "A(CZ_CCAR)": { + "key": "CZ_DLR", + "label": "$", + } + "A(CZ_RCAR)": { + "key": "CZ_TILD", + "label": "~", + } + "A(CZ_ZCAR)": { + "key": "CZ_CIRC", + "label": "^", + } + "A(CZ_YACU)": { + "key": "CZ_AMPR", + "label": "&", + } + "A(CZ_AACU)": { + "key": "CZ_ASTR", + "label": "*", + } + "A(CZ_IACU)": { + "key": "CZ_LCBR", + "label": "{", + } + "A(CZ_EACU)": { + "key": "CZ_RCBR", + "label": "}", + } + "A(CZ_EQL)": { + "key": "CZ_RNGA", + "label": "° (dead)", + } + "A(CZ_ACUT)": { + "key": "CZ_DCIR", + "label": "^ (dead)", + } + "A(CZ_W)": { + "key": "CZ_LEDT", + "label": "ė", + } + "A(CZ_E)": { + "key": "CZ_LEOG", + "label": "ę", + } + "A(CZ_R)": { + "key": "CZ_EURO", + "label": "€", + } + "A(CZ_Z)": { + "key": "CZ_LZDT", + "label": "ż", + } + "A(CZ_UACU)": { + "key": "CZ_LBRC", + "label": "[", + } + "A(CZ_RPRN)": { + "key": "CZ_RBRC", + "label": "]", + } + "A(CZ_A)": { + "key": "CZ_LAOG", + "label": "ą", + } + "A(CZ_S)": { + "key": "CZ_SS", + "label": "ß", + } + "A(CZ_D)": { + "key": "CZ_PDIF", + "label": "∂", + } + "A(CZ_H)": { + "key": "CZ_LSQU", + "label": "‘", + } + "A(CZ_J)": { + "key": "CZ_RSQU", + "label": "’", + } + "A(CZ_L)": { + "key": "CZ_LLST", + "label": "ł", + } + "A(CZ_URNG)": { + "key": "CZ_SCLN", + "label": ";", + } + "A(CZ_SECT)": { + "key": "CZ_QUOT", + "label": "'", + } + "A(CZ_N)": { + "key": "CZ_SLQU", + "label": "‚", + } + "A(CZ_COMM)": { + "key": "CZ_LABK", + "label": "<", + } + "A(CZ_DOT)": { + "key": "CZ_RABK", + "label": ">", + } + "A(CZ_MINS)": { + "key": "CZ_NDSH", + "label": "–", + } +/* Shift+Alted symbols + * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬─────┐ + * │ │ ¬ │ • │ ≠ │ £ │ ◊ │ † │ ¶ │ ÷ │ « │ » │ , │ - │ │ + * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬───┤ + * │ │ │ Ė │ Ę │ ® │ ™ │ Ż │ │ │ │ │ ‹ │ › │ " │ + * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴───┤ + * │ │ Ą │ ∑ │ ∆ │ │ │ “ │ ” │ │ Ł │ … │ ~ │ │ + * ├──────┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴──────┤ + * │ │ │ │ © │ √ │ │ „ │ │ ≤ │ ≥ │ — │ │ + * ├─────┬──┴─┬─┴───┼───┴───┴───┴───┴───┴───┼───┴─┬─┴──┬─────┤ + * │ │ │ │ │ │ │ │ + * └─────┴────┴─────┴───────────────────────┴─────┴────┴─────┘ + */ + "S(A(CZ_1))": { + "key": "CZ_NOT", + "label": "¬", + } + "S(A(CZ_2))": { + "key": "CZ_BULT", + "label": "•", + } + "S(A(CZ_3))": { + "key": "CZ_NEQL", + "label": "≠", + } + "S(A(CZ_4))": { + "key": "CZ_PND", + "label": "£", + } + "S(A(CZ_5))": { + "key": "CZ_LOZN", + "label": "◊", + } + "S(A(CZ_6))": { + "key": "CZ_DAGG", + "label": "†", + } + "S(A(CZ_7))": { + "key": "CZ_PARA", + "label": "¶", + } + "S(A(CZ_8))": { + "key": "CZ_DIV", + "label": "÷", + } + "S(A(CZ_9))": { + "key": "CZ_LDAQ", + "label": "«", + } + "S(A(CZ_0))": { + "key": "CZ_RDAQ", + "label": "»", + } + "S(A(CZ_EQL))": { + "key": "CZ_DCOM", + "label": ", (dead)", + } + "S(A(CZ_ACUT))": { + "key": "CZ_DHPN", + "label": "- (dead)", + } + "S(A(CZ_W))": { + "key": "CZ_CEDT", + "label": "Ė", + } + "S(A(CZ_E))": { + "key": "CZ_CEOG", + "label": "Ę", + } + "S(A(CZ_R))": { + "key": "CZ_REGD", + "label": "®", + } + "S(A(CZ_T))": { + "key": "CZ_TM", + "label": "™", + } + "S(A(CZ_Z))": { + "key": "CZ_CZDT", + "label": "Ż", + } + "S(A(CZ_UACU))": { + "key": "CZ_LSAQ", + "label": "‹", + } + "S(A(CZ_RPRN))": { + "key": "CZ_RSAQ", + "label": "›", + } + "S(A(CZ_DIAE))": { + "key": "CZ_DDQT", + "label": "\" (dead)", + } + "S(A(CZ_A))": { + "key": "CZ_CAOG", + "label": "Ą", + } + "S(A(CZ_S))": { + "key": "CZ_NARS", + "label": "∑", + } + "S(A(CZ_D))": { + "key": "CZ_INCR", + "label": "∆", + } + "S(A(CZ_H))": { + "key": "CZ_LDQU", + "label": "“", + } + "S(A(CZ_J))": { + "key": "CZ_RDQU", + "label": "”", + } + "S(A(CZ_L))": { + "key": "CZ_CLST", + "label": "Ł", + } + "S(A(CZ_URNG))": { + "key": "CZ_ELLP", + "label": "…", + } + "S(A(CZ_SECT))": { + "key": "CZ_DTIL", + "label": "~ (dead)", + } + "S(A(CZ_C))": { + "key": "CZ_COPY", + "label": "©", + } + "S(A(CZ_V))": { + "key": "CZ_SQRT", + "label": "√", + } + "S(A(CZ_N))": { + "key": "CZ_DLQU", + "label": "„", + } + "S(A(CZ_COMM))": { + "key": "CZ_LEQL", + "label": "≤", + } + "S(A(CZ_DOT))": { + "key": "CZ_GEQL", + "label": "≥", + } + "S(A(CZ_MINS))": { + "key": "CZ_MDSH", + "label": "—", + } + } +} diff --git a/data/constants/keycodes/extras/keycodes_czech_mac_iso_0.0.1.hjson b/data/constants/keycodes/extras/keycodes_czech_mac_iso_0.0.1.hjson new file mode 100644 index 0000000000..5158ea16d8 --- /dev/null +++ b/data/constants/keycodes/extras/keycodes_czech_mac_iso_0.0.1.hjson @@ -0,0 +1,580 @@ +{ + "aliases": { +/* + * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬─────┐ + * │ │ + │ ě │ š │ č │ ř │ ž │ ý │ á │ í │ é │ = │ ' │ │ + * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬───┤ + * │ │ Q │ W │ E │ R │ T │ Z │ U │ I │ O │ P │ ú │ ) │ │ + * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┐ │ + * │ │ A │ S │ D │ F │ G │ H │ J │ K │ L │ ů │ § │ ¨ │ │ + * ├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┴──┤ + * │ │ \ │ Y │ X │ C │ V │ B │ N │ M │ , │ . │ - │ │ + * ├────┴┬──┴─┬─┴───┼───┴───┴───┴───┴───┴───┼───┴─┬─┴──┬─────┤ + * │ │ │ │ │ │ │ │ + * └─────┴────┴─────┴───────────────────────┴─────┴────┴─────┘ + */ + "KC_1": { + "key": "CZ_PLUS", + "label": "+", + } + "KC_2": { + "key": "CZ_ECAR", + "label": "ě", + } + "KC_3": { + "key": "CZ_SCAR", + "label": "š", + } + "KC_4": { + "key": "CZ_CCAR", + "label": "č", + } + "KC_5": { + "key": "CZ_RCAR", + "label": "ř", + } + "KC_6": { + "key": "CZ_ZCAR", + "label": "ž", + } + "KC_7": { + "key": "CZ_YACU", + "label": "ý", + } + "KC_8": { + "key": "CZ_AACU", + "label": "á", + } + "KC_9": { + "key": "CZ_IACU", + "label": "í", + } + "KC_0": { + "key": "CZ_EACU", + "label": "é", + } + "KC_MINS": { + "key": "CZ_EQL", + "label": "=", + } + "KC_EQL": { + "key": "CZ_ACUT", + "label": "' (dead)", + } + "KC_Q": { + "key": "CZ_Q", + "label": "Q", + } + "KC_W": { + "key": "CZ_W", + "label": "W", + } + "KC_E": { + "key": "CZ_E", + "label": "E", + } + "KC_R": { + "key": "CZ_R", + "label": "R", + } + "KC_T": { + "key": "CZ_T", + "label": "T", + } + "KC_Y": { + "key": "CZ_Z", + "label": "Z", + } + "KC_U": { + "key": "CZ_U", + "label": "U", + } + "KC_I": { + "key": "CZ_I", + "label": "I", + } + "KC_O": { + "key": "CZ_O", + "label": "O", + } + "KC_P": { + "key": "CZ_P", + "label": "P", + } + "KC_LBRC": { + "key": "CZ_UACU", + "label": "ú", + } + "KC_RBRC": { + "key": "CZ_RPRN", + "label": ")", + } + "KC_A": { + "key": "CZ_A", + "label": "A", + } + "KC_S": { + "key": "CZ_S", + "label": "S", + } + "KC_D": { + "key": "CZ_D", + "label": "D", + } + "KC_F": { + "key": "CZ_F", + "label": "F", + } + "KC_G": { + "key": "CZ_G", + "label": "G", + } + "KC_H": { + "key": "CZ_H", + "label": "H", + } + "KC_J": { + "key": "CZ_J", + "label": "J", + } + "KC_K": { + "key": "CZ_K", + "label": "K", + } + "KC_L": { + "key": "CZ_L", + "label": "L", + } + "KC_SCLN": { + "key": "CZ_URNG", + "label": "ů", + } + "KC_QUOT": { + "key": "CZ_SECT", + "label": "§", + } + "KC_NUHS": { + "key": "CZ_DIAE", + "label": "¨ (dead)", + } + "KC_NUBS": { + "key": "CZ_BSLS", + "label": "\\", + } + "KC_Z": { + "key": "CZ_Y", + "label": "Y", + } + "KC_X": { + "key": "CZ_X", + "label": "X", + } + "KC_C": { + "key": "CZ_C", + "label": "C", + } + "KC_V": { + "key": "CZ_V", + "label": "V", + } + "KC_B": { + "key": "CZ_B", + "label": "B", + } + "KC_N": { + "key": "CZ_N", + "label": "N", + } + "KC_M": { + "key": "CZ_M", + "label": "M", + } + "KC_COMM": { + "key": "CZ_COMM", + "label": ",", + } + "KC_DOT": { + "key": "CZ_DOT", + "label": ".", + } + "KC_SLSH": { + "key": "CZ_MINS", + "label": "-", + } +/* Shifted symbols + * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬─────┐ + * │ │ 1 │ 2 │ 3 │ 4 │ 5 │ 6 │ 7 │ 8 │ 9 │ 0 │ % │ ˇ │ │ + * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬───┤ + * │ │ │ │ │ │ │ │ │ │ │ │ / │ ( │ │ + * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┐ │ + * │ │ │ │ │ │ │ │ │ │ │ " │ ! │ ` │ │ + * ├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┴──┤ + * │ │ | │ │ │ │ │ │ │ │ ? │ : │ _ │ │ + * ├────┴┬──┴─┬─┴───┼───┴───┴───┴───┴───┴───┼───┴─┬─┴──┬─────┤ + * │ │ │ │ │ │ │ │ + * └─────┴────┴─────┴───────────────────────┴─────┴────┴─────┘ + */ + "S(CZ_PLUS)": { + "key": "CZ_1", + "label": "1", + } + "S(CZ_ECAR)": { + "key": "CZ_2", + "label": "2", + } + "S(CZ_SCAR)": { + "key": "CZ_3", + "label": "3", + } + "S(CZ_CCAR)": { + "key": "CZ_4", + "label": "4", + } + "S(CZ_RCAR)": { + "key": "CZ_5", + "label": "5", + } + "S(CZ_ZCAR)": { + "key": "CZ_6", + "label": "6", + } + "S(CZ_YACU)": { + "key": "CZ_7", + "label": "7", + } + "S(CZ_AACU)": { + "key": "CZ_8", + "label": "8", + } + "S(CZ_IACU)": { + "key": "CZ_9", + "label": "9", + } + "S(CZ_EACU)": { + "key": "CZ_0", + "label": "0", + } + "S(CZ_EQL)": { + "key": "CZ_PERC", + "label": "%", + } + "S(CZ_ACUT)": { + "key": "CZ_CARN", + "label": "ˇ (dead)", + } + "S(CZ_UACU)": { + "key": "CZ_SLSH", + "label": "/", + } + "S(CZ_RPRN)": { + "key": "CZ_LPRN", + "label": "(", + } + "S(CZ_URNG)": { + "key": "CZ_DQUO", + "label": "\"", + } + "S(CZ_SECT)": { + "key": "CZ_EXLM", + "label": "!", + } + "S(CZ_DIAE)": { + "key": "CZ_GRV", + "label": "`", + } + "S(CZ_BSLS)": { + "key": "CZ_PIPE", + "label": "|", + } + "S(CZ_COMM)": { + "key": "CZ_QUES", + "label": "?", + } + "S(CZ_DOT)": { + "key": "CZ_COLN", + "label": ":", + } + "S(CZ_MINS)": { + "key": "CZ_UNDS", + "label": "_", + } +/* Alted symbols + * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬─────┐ + * │ │ │ @ │ # │ $ │ ~ │ ^ │ & │ * │ { │ } │ ° │ ^ │ │ + * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬───┤ + * │ │ │ ė │ ę │ € │ │ ż │ │ │ │ │ [ │ ] │ │ + * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┐ │ + * │ │ ą │ ß │ ∂ │ │ │ ‘ │ ’ │ │ ł │ ; │ ' │ │ │ + * ├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┴──┤ + * │ │ │ │ │ │ │ │ ‚ │ │ < │ > │ – │ │ + * ├────┴┬──┴─┬─┴───┼───┴───┴───┴───┴───┴───┼───┴─┬─┴──┬─────┤ + * │ │ │ │ │ │ │ │ + * └─────┴────┴─────┴───────────────────────┴─────┴────┴─────┘ + */ + "A(CZ_ECAR)": { + "key": "CZ_AT", + "label": "@", + } + "A(CZ_SCAR)": { + "key": "CZ_HASH", + "label": "#", + } + "A(CZ_CCAR)": { + "key": "CZ_DLR", + "label": "$", + } + "A(CZ_RCAR)": { + "key": "CZ_TILD", + "label": "~", + } + "A(CZ_ZCAR)": { + "key": "CZ_CIRC", + "label": "^", + } + "A(CZ_YACU)": { + "key": "CZ_AMPR", + "label": "&", + } + "A(CZ_AACU)": { + "key": "CZ_ASTR", + "label": "*", + } + "A(CZ_IACU)": { + "key": "CZ_LCBR", + "label": "{", + } + "A(CZ_EACU)": { + "key": "CZ_RCBR", + "label": "}", + } + "A(CZ_EQL)": { + "key": "CZ_RNGA", + "label": "° (dead)", + } + "A(CZ_ACUT)": { + "key": "CZ_DCIR", + "label": "^ (dead)", + } + "A(CZ_W)": { + "key": "CZ_LEDT", + "label": "ė", + } + "A(CZ_E)": { + "key": "CZ_LEOG", + "label": "ę", + } + "A(CZ_R)": { + "key": "CZ_EURO", + "label": "€", + } + "A(CZ_Z)": { + "key": "CZ_LZDT", + "label": "ż", + } + "A(CZ_UACU)": { + "key": "CZ_LBRC", + "label": "[", + } + "A(CZ_RPRN)": { + "key": "CZ_RBRC", + "label": "]", + } + "A(CZ_A)": { + "key": "CZ_LAOG", + "label": "ą", + } + "A(CZ_S)": { + "key": "CZ_SS", + "label": "ß", + } + "A(CZ_D)": { + "key": "CZ_PDIF", + "label": "∂", + } + "A(CZ_H)": { + "key": "CZ_LSQU", + "label": "‘", + } + "A(CZ_J)": { + "key": "CZ_RSQU", + "label": "’", + } + "A(CZ_L)": { + "key": "CZ_LLST", + "label": "ł", + } + "A(CZ_URNG)": { + "key": "CZ_SCLN", + "label": ";", + } + "A(CZ_SECT)": { + "key": "CZ_QUOT", + "label": "'", + } + "A(CZ_N)": { + "key": "CZ_SLQU", + "label": "‚", + } + "A(CZ_COMM)": { + "key": "CZ_LABK", + "label": "<", + } + "A(CZ_DOT)": { + "key": "CZ_RABK", + "label": ">", + } + "A(CZ_MINS)": { + "key": "CZ_NDSH", + "label": "–", + } +/* Shift+Alted symbols + * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬─────┐ + * │ │ ¬ │ • │ ≠ │ £ │ ◊ │ † │ ¶ │ ÷ │ « │ » │ , │ - │ │ + * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬───┤ + * │ │ │ Ė │ Ę │ ® │ ™ │ Ż │ │ │ │ │ ‹ │ › │ │ + * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┐ │ + * │ │ Ą │ ∑ │ ∆ │ │ │ “ │ ” │ │ Ł │ … │ ~ │ " │ │ + * ├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┴──┤ + * │ │ │ │ │ © │ √ │ │ „ │ │ ≤ │ ≥ │ — │ │ + * ├────┴┬──┴─┬─┴───┼───┴───┴───┴───┴───┴───┼───┴─┬─┴──┬─────┤ + * │ │ │ │ │ │ │ │ + * └─────┴────┴─────┴───────────────────────┴─────┴────┴─────┘ + */ + "S(A(CZ_1))": { + "key": "CZ_NOT", + "label": "¬", + } + "S(A(CZ_2))": { + "key": "CZ_BULT", + "label": "•", + } + "S(A(CZ_3))": { + "key": "CZ_NEQL", + "label": "≠", + } + "S(A(CZ_4))": { + "key": "CZ_PND", + "label": "£", + } + "S(A(CZ_5))": { + "key": "CZ_LOZN", + "label": "◊", + } + "S(A(CZ_6))": { + "key": "CZ_DAGG", + "label": "†", + } + "S(A(CZ_7))": { + "key": "CZ_PARA", + "label": "¶", + } + "S(A(CZ_8))": { + "key": "CZ_DIV", + "label": "÷", + } + "S(A(CZ_9))": { + "key": "CZ_LDAQ", + "label": "«", + } + "S(A(CZ_0))": { + "key": "CZ_RDAQ", + "label": "»", + } + "S(A(CZ_EQL))": { + "key": "CZ_DCOM", + "label": ", (dead)", + } + "S(A(CZ_ACUT))": { + "key": "CZ_DHPN", + "label": "- (dead)", + } + "S(A(CZ_W))": { + "key": "CZ_CEDT", + "label": "Ė", + } + "S(A(CZ_E))": { + "key": "CZ_CEOG", + "label": "Ę", + } + "S(A(CZ_R))": { + "key": "CZ_REGD", + "label": "®", + } + "S(A(CZ_T))": { + "key": "CZ_TM", + "label": "™", + } + "S(A(CZ_Z))": { + "key": "CZ_CZDT", + "label": "Ż", + } + "S(A(CZ_UACU))": { + "key": "CZ_LSAQ", + "label": "‹", + } + "S(A(CZ_RPRN))": { + "key": "CZ_RSAQ", + "label": "›", + } + "S(A(CZ_A))": { + "key": "CZ_CAOG", + "label": "Ą", + } + "S(A(CZ_S))": { + "key": "CZ_NARS", + "label": "∑", + } + "S(A(CZ_D))": { + "key": "CZ_INCR", + "label": "∆", + } + "S(A(CZ_H))": { + "key": "CZ_LDQU", + "label": "“", + } + "S(A(CZ_J))": { + "key": "CZ_RDQU", + "label": "”", + } + "S(A(CZ_L))": { + "key": "CZ_CLST", + "label": "Ł", + } + "S(A(CZ_URNG))": { + "key": "CZ_ELLP", + "label": "…", + } + "S(A(CZ_SECT))": { + "key": "CZ_DTIL", + "label": "~ (dead)", + } + "S(A(CZ_DIAE))": { + "key": "CZ_DDQT", + "label": "\" (dead)", + } + "S(A(CZ_C))": { + "key": "CZ_COPY", + "label": "©", + } + "S(A(CZ_V))": { + "key": "CZ_SQRT", + "label": "√", + } + "S(A(CZ_N))": { + "key": "CZ_DLQU", + "label": "„", + } + "S(A(CZ_COMM))": { + "key": "CZ_LEQL", + "label": "≤", + } + "S(A(CZ_DOT))": { + "key": "CZ_GEQL", + "label": "≥", + } + "S(A(CZ_MINS))": { + "key": "CZ_MDSH", + "label": "—", + } + } +} diff --git a/docs/reference_keymap_extras.md b/docs/reference_keymap_extras.md index cf2ab28876..191e0d4ea8 100644 --- a/docs/reference_keymap_extras.md +++ b/docs/reference_keymap_extras.md @@ -23,6 +23,8 @@ These headers are located in [`quantum/keymap_extras/`](https://github.com/qmk/q |Canadian Multilingual (CSA) |`keymap_canadian_multilingual.h` |`sendstring_canadian_multilingual.h`| |Croatian |`keymap_croatian.h` |`sendstring_croatian.h` | |Czech |`keymap_czech.h` |`sendstring_czech.h` | +|Czech (macOS, ANSI) |`keymap_czech_mac_ansi.h` |`sendstring_czech_mac_ansi.h` | +|Czech (macOS, ISO) |`keymap_czech_mac_iso.h` |`sendstring_czech_mac_iso.h` | |Danish |`keymap_danish.h` |`sendstring_danish.h` | |Dutch (Belgium) |`keymap_belgian.h` |`sendstring_belgian.h` | |English (Ireland) |`keymap_irish.h` | | diff --git a/quantum/keymap_extras/keymap_czech_mac_ansi.h b/quantum/keymap_extras/keymap_czech_mac_ansi.h new file mode 100644 index 0000000000..ac2f078d98 --- /dev/null +++ b/quantum/keymap_extras/keymap_czech_mac_ansi.h @@ -0,0 +1,162 @@ +// Copyright 2024 QMK +// SPDX-License-Identifier: GPL-2.0-or-later + +/******************************************************************************* + 88888888888 888 d8b .d888 d8b 888 d8b + 888 888 Y8P d88P" Y8P 888 Y8P + 888 888 888 888 + 888 88888b. 888 .d8888b 888888 888 888 .d88b. 888 .d8888b + 888 888 "88b 888 88K 888 888 888 d8P Y8b 888 88K + 888 888 888 888 "Y8888b. 888 888 888 88888888 888 "Y8888b. + 888 888 888 888 X88 888 888 888 Y8b. 888 X88 + 888 888 888 888 88888P' 888 888 888 "Y8888 888 88888P' + 888 888 + 888 888 + 888 888 + .d88b. .d88b. 88888b. .d88b. 888d888 8888b. 888888 .d88b. .d88888 + d88P"88b d8P Y8b 888 "88b d8P Y8b 888P" "88b 888 d8P Y8b d88" 888 + 888 888 88888888 888 888 88888888 888 .d888888 888 88888888 888 888 + Y88b 888 Y8b. 888 888 Y8b. 888 888 888 Y88b. Y8b. Y88b 888 + "Y88888 "Y8888 888 888 "Y8888 888 "Y888888 "Y888 "Y8888 "Y88888 + 888 + Y8b d88P + "Y88P" +*******************************************************************************/ + +#pragma once +#include "keycodes.h" +// clang-format off + +// Aliases +#define CZ_BSLS KC_GRV // (backslash) +#define CZ_PLUS KC_1 // + +#define CZ_ECAR KC_2 // ě +#define CZ_SCAR KC_3 // š +#define CZ_CCAR KC_4 // č +#define CZ_RCAR KC_5 // ř +#define CZ_ZCAR KC_6 // ž +#define CZ_YACU KC_7 // ý +#define CZ_AACU KC_8 // á +#define CZ_IACU KC_9 // í +#define CZ_EACU KC_0 // é +#define CZ_EQL KC_MINS // = +#define CZ_ACUT KC_EQL // ' (dead) +#define CZ_Q KC_Q // Q +#define CZ_W KC_W // W +#define CZ_E KC_E // E +#define CZ_R KC_R // R +#define CZ_T KC_T // T +#define CZ_Z KC_Y // Z +#define CZ_U KC_U // U +#define CZ_I KC_I // I +#define CZ_O KC_O // O +#define CZ_P KC_P // P +#define CZ_UACU KC_LBRC // ú +#define CZ_RPRN KC_RBRC // ) +#define CZ_DIAE KC_NUHS // ¨ (dead) +#define CZ_A KC_A // A +#define CZ_S KC_S // S +#define CZ_D KC_D // D +#define CZ_F KC_F // F +#define CZ_G KC_G // G +#define CZ_H KC_H // H +#define CZ_J KC_J // J +#define CZ_K KC_K // K +#define CZ_L KC_L // L +#define CZ_URNG KC_SCLN // ů +#define CZ_SECT KC_QUOT // § +#define CZ_Y KC_Z // Y +#define CZ_X KC_X // X +#define CZ_C KC_C // C +#define CZ_V KC_V // V +#define CZ_B KC_B // B +#define CZ_N KC_N // N +#define CZ_M KC_M // M +#define CZ_COMM KC_COMM // , +#define CZ_DOT KC_DOT // . +#define CZ_MINS KC_SLSH // - +#define CZ_PIPE S(CZ_BSLS) // | +#define CZ_1 S(CZ_PLUS) // 1 +#define CZ_2 S(CZ_ECAR) // 2 +#define CZ_3 S(CZ_SCAR) // 3 +#define CZ_4 S(CZ_CCAR) // 4 +#define CZ_5 S(CZ_RCAR) // 5 +#define CZ_6 S(CZ_ZCAR) // 6 +#define CZ_7 S(CZ_YACU) // 7 +#define CZ_8 S(CZ_AACU) // 8 +#define CZ_9 S(CZ_IACU) // 9 +#define CZ_0 S(CZ_EACU) // 0 +#define CZ_PERC S(CZ_EQL) // % +#define CZ_CARN S(CZ_ACUT) // ˇ (dead) +#define CZ_SLSH S(CZ_UACU) // / +#define CZ_LPRN S(CZ_RPRN) // ( +#define CZ_GRV S(CZ_DIAE) // ` +#define CZ_DQUO S(CZ_URNG) // " +#define CZ_EXLM S(CZ_SECT) // ! +#define CZ_QUES S(CZ_COMM) // ? +#define CZ_COLN S(CZ_DOT) // : +#define CZ_UNDS S(CZ_MINS) // _ +#define CZ_AT A(CZ_ECAR) // @ +#define CZ_HASH A(CZ_SCAR) // # +#define CZ_DLR A(CZ_CCAR) // $ +#define CZ_TILD A(CZ_RCAR) // ~ +#define CZ_CIRC A(CZ_ZCAR) // ^ +#define CZ_AMPR A(CZ_YACU) // & +#define CZ_ASTR A(CZ_AACU) // * +#define CZ_LCBR A(CZ_IACU) // { +#define CZ_RCBR A(CZ_EACU) // } +#define CZ_RNGA A(CZ_EQL) // ° (dead) +#define CZ_DCIR A(CZ_ACUT) // ^ (dead) +#define CZ_LEDT A(CZ_W) // ė +#define CZ_LEOG A(CZ_E) // ę +#define CZ_EURO A(CZ_R) // € +#define CZ_LZDT A(CZ_Z) // ż +#define CZ_LBRC A(CZ_UACU) // [ +#define CZ_RBRC A(CZ_RPRN) // ] +#define CZ_LAOG A(CZ_A) // ą +#define CZ_SS A(CZ_S) // ß +#define CZ_PDIF A(CZ_D) // ∂ +#define CZ_LSQU A(CZ_H) // ‘ +#define CZ_RSQU A(CZ_J) // ’ +#define CZ_LLST A(CZ_L) // ł +#define CZ_SCLN A(CZ_URNG) // ; +#define CZ_QUOT A(CZ_SECT) // ' +#define CZ_SLQU A(CZ_N) // ‚ +#define CZ_LABK A(CZ_COMM) // < +#define CZ_RABK A(CZ_DOT) // > +#define CZ_NDSH A(CZ_MINS) // – +#define CZ_NOT S(A(CZ_1)) // ¬ +#define CZ_BULT S(A(CZ_2)) // • +#define CZ_NEQL S(A(CZ_3)) // ≠ +#define CZ_PND S(A(CZ_4)) // £ +#define CZ_LOZN S(A(CZ_5)) // ◊ +#define CZ_DAGG S(A(CZ_6)) // † +#define CZ_PARA S(A(CZ_7)) // ¶ +#define CZ_DIV S(A(CZ_8)) // ÷ +#define CZ_LDAQ S(A(CZ_9)) // « +#define CZ_RDAQ S(A(CZ_0)) // » +#define CZ_DCOM S(A(CZ_EQL)) // , (dead) +#define CZ_DHPN S(A(CZ_ACUT)) // - (dead) +#define CZ_CEDT S(A(CZ_W)) // Ė +#define CZ_CEOG S(A(CZ_E)) // Ę +#define CZ_REGD S(A(CZ_R)) // ® +#define CZ_TM S(A(CZ_T)) // ™ +#define CZ_CZDT S(A(CZ_Z)) // Ż +#define CZ_LSAQ S(A(CZ_UACU)) // ‹ +#define CZ_RSAQ S(A(CZ_RPRN)) // › +#define CZ_DDQT S(A(CZ_DIAE)) // " (dead) +#define CZ_CAOG S(A(CZ_A)) // Ą +#define CZ_NARS S(A(CZ_S)) // ∑ +#define CZ_INCR S(A(CZ_D)) // ∆ +#define CZ_LDQU S(A(CZ_H)) // “ +#define CZ_RDQU S(A(CZ_J)) // ” +#define CZ_CLST S(A(CZ_L)) // Ł +#define CZ_ELLP S(A(CZ_URNG)) // … +#define CZ_DTIL S(A(CZ_SECT)) // ~ (dead) +#define CZ_COPY S(A(CZ_C)) // © +#define CZ_SQRT S(A(CZ_V)) // √ +#define CZ_DLQU S(A(CZ_N)) // „ +#define CZ_LEQL S(A(CZ_COMM)) // ≤ +#define CZ_GEQL S(A(CZ_DOT)) // ≥ +#define CZ_MDSH S(A(CZ_MINS)) // — + diff --git a/quantum/keymap_extras/keymap_czech_mac_iso.h b/quantum/keymap_extras/keymap_czech_mac_iso.h new file mode 100644 index 0000000000..4b56e15df1 --- /dev/null +++ b/quantum/keymap_extras/keymap_czech_mac_iso.h @@ -0,0 +1,162 @@ +// Copyright 2024 QMK +// SPDX-License-Identifier: GPL-2.0-or-later + +/******************************************************************************* + 88888888888 888 d8b .d888 d8b 888 d8b + 888 888 Y8P d88P" Y8P 888 Y8P + 888 888 888 888 + 888 88888b. 888 .d8888b 888888 888 888 .d88b. 888 .d8888b + 888 888 "88b 888 88K 888 888 888 d8P Y8b 888 88K + 888 888 888 888 "Y8888b. 888 888 888 88888888 888 "Y8888b. + 888 888 888 888 X88 888 888 888 Y8b. 888 X88 + 888 888 888 888 88888P' 888 888 888 "Y8888 888 88888P' + 888 888 + 888 888 + 888 888 + .d88b. .d88b. 88888b. .d88b. 888d888 8888b. 888888 .d88b. .d88888 + d88P"88b d8P Y8b 888 "88b d8P Y8b 888P" "88b 888 d8P Y8b d88" 888 + 888 888 88888888 888 888 88888888 888 .d888888 888 88888888 888 888 + Y88b 888 Y8b. 888 888 Y8b. 888 888 888 Y88b. Y8b. Y88b 888 + "Y88888 "Y8888 888 888 "Y8888 888 "Y888888 "Y888 "Y8888 "Y88888 + 888 + Y8b d88P + "Y88P" +*******************************************************************************/ + +#pragma once +#include "keycodes.h" +// clang-format off + +// Aliases +#define CZ_PLUS KC_1 // + +#define CZ_ECAR KC_2 // ě +#define CZ_SCAR KC_3 // š +#define CZ_CCAR KC_4 // č +#define CZ_RCAR KC_5 // ř +#define CZ_ZCAR KC_6 // ž +#define CZ_YACU KC_7 // ý +#define CZ_AACU KC_8 // á +#define CZ_IACU KC_9 // í +#define CZ_EACU KC_0 // é +#define CZ_EQL KC_MINS // = +#define CZ_ACUT KC_EQL // ' (dead) +#define CZ_Q KC_Q // Q +#define CZ_W KC_W // W +#define CZ_E KC_E // E +#define CZ_R KC_R // R +#define CZ_T KC_T // T +#define CZ_Z KC_Y // Z +#define CZ_U KC_U // U +#define CZ_I KC_I // I +#define CZ_O KC_O // O +#define CZ_P KC_P // P +#define CZ_UACU KC_LBRC // ú +#define CZ_RPRN KC_RBRC // ) +#define CZ_A KC_A // A +#define CZ_S KC_S // S +#define CZ_D KC_D // D +#define CZ_F KC_F // F +#define CZ_G KC_G // G +#define CZ_H KC_H // H +#define CZ_J KC_J // J +#define CZ_K KC_K // K +#define CZ_L KC_L // L +#define CZ_URNG KC_SCLN // ů +#define CZ_SECT KC_QUOT // § +#define CZ_DIAE KC_NUHS // ¨ (dead) +#define CZ_BSLS KC_NUBS // (backslash) +#define CZ_Y KC_Z // Y +#define CZ_X KC_X // X +#define CZ_C KC_C // C +#define CZ_V KC_V // V +#define CZ_B KC_B // B +#define CZ_N KC_N // N +#define CZ_M KC_M // M +#define CZ_COMM KC_COMM // , +#define CZ_DOT KC_DOT // . +#define CZ_MINS KC_SLSH // - +#define CZ_1 S(CZ_PLUS) // 1 +#define CZ_2 S(CZ_ECAR) // 2 +#define CZ_3 S(CZ_SCAR) // 3 +#define CZ_4 S(CZ_CCAR) // 4 +#define CZ_5 S(CZ_RCAR) // 5 +#define CZ_6 S(CZ_ZCAR) // 6 +#define CZ_7 S(CZ_YACU) // 7 +#define CZ_8 S(CZ_AACU) // 8 +#define CZ_9 S(CZ_IACU) // 9 +#define CZ_0 S(CZ_EACU) // 0 +#define CZ_PERC S(CZ_EQL) // % +#define CZ_CARN S(CZ_ACUT) // ˇ (dead) +#define CZ_SLSH S(CZ_UACU) // / +#define CZ_LPRN S(CZ_RPRN) // ( +#define CZ_DQUO S(CZ_URNG) // " +#define CZ_EXLM S(CZ_SECT) // ! +#define CZ_GRV S(CZ_DIAE) // ` +#define CZ_PIPE S(CZ_BSLS) // | +#define CZ_QUES S(CZ_COMM) // ? +#define CZ_COLN S(CZ_DOT) // : +#define CZ_UNDS S(CZ_MINS) // _ +#define CZ_AT A(CZ_ECAR) // @ +#define CZ_HASH A(CZ_SCAR) // # +#define CZ_DLR A(CZ_CCAR) // $ +#define CZ_TILD A(CZ_RCAR) // ~ +#define CZ_CIRC A(CZ_ZCAR) // ^ +#define CZ_AMPR A(CZ_YACU) // & +#define CZ_ASTR A(CZ_AACU) // * +#define CZ_LCBR A(CZ_IACU) // { +#define CZ_RCBR A(CZ_EACU) // } +#define CZ_RNGA A(CZ_EQL) // ° (dead) +#define CZ_DCIR A(CZ_ACUT) // ^ (dead) +#define CZ_LEDT A(CZ_W) // ė +#define CZ_LEOG A(CZ_E) // ę +#define CZ_EURO A(CZ_R) // € +#define CZ_LZDT A(CZ_Z) // ż +#define CZ_LBRC A(CZ_UACU) // [ +#define CZ_RBRC A(CZ_RPRN) // ] +#define CZ_LAOG A(CZ_A) // ą +#define CZ_SS A(CZ_S) // ß +#define CZ_PDIF A(CZ_D) // ∂ +#define CZ_LSQU A(CZ_H) // ‘ +#define CZ_RSQU A(CZ_J) // ’ +#define CZ_LLST A(CZ_L) // ł +#define CZ_SCLN A(CZ_URNG) // ; +#define CZ_QUOT A(CZ_SECT) // ' +#define CZ_SLQU A(CZ_N) // ‚ +#define CZ_LABK A(CZ_COMM) // < +#define CZ_RABK A(CZ_DOT) // > +#define CZ_NDSH A(CZ_MINS) // – +#define CZ_NOT S(A(CZ_1)) // ¬ +#define CZ_BULT S(A(CZ_2)) // • +#define CZ_NEQL S(A(CZ_3)) // ≠ +#define CZ_PND S(A(CZ_4)) // £ +#define CZ_LOZN S(A(CZ_5)) // ◊ +#define CZ_DAGG S(A(CZ_6)) // † +#define CZ_PARA S(A(CZ_7)) // ¶ +#define CZ_DIV S(A(CZ_8)) // ÷ +#define CZ_LDAQ S(A(CZ_9)) // « +#define CZ_RDAQ S(A(CZ_0)) // » +#define CZ_DCOM S(A(CZ_EQL)) // , (dead) +#define CZ_DHPN S(A(CZ_ACUT)) // - (dead) +#define CZ_CEDT S(A(CZ_W)) // Ė +#define CZ_CEOG S(A(CZ_E)) // Ę +#define CZ_REGD S(A(CZ_R)) // ® +#define CZ_TM S(A(CZ_T)) // ™ +#define CZ_CZDT S(A(CZ_Z)) // Ż +#define CZ_LSAQ S(A(CZ_UACU)) // ‹ +#define CZ_RSAQ S(A(CZ_RPRN)) // › +#define CZ_CAOG S(A(CZ_A)) // Ą +#define CZ_NARS S(A(CZ_S)) // ∑ +#define CZ_INCR S(A(CZ_D)) // ∆ +#define CZ_LDQU S(A(CZ_H)) // “ +#define CZ_RDQU S(A(CZ_J)) // ” +#define CZ_CLST S(A(CZ_L)) // Ł +#define CZ_ELLP S(A(CZ_URNG)) // … +#define CZ_DTIL S(A(CZ_SECT)) // ~ (dead) +#define CZ_DDQT S(A(CZ_DIAE)) // " (dead) +#define CZ_COPY S(A(CZ_C)) // © +#define CZ_SQRT S(A(CZ_V)) // √ +#define CZ_DLQU S(A(CZ_N)) // „ +#define CZ_LEQL S(A(CZ_COMM)) // ≤ +#define CZ_GEQL S(A(CZ_DOT)) // ≥ +#define CZ_MDSH S(A(CZ_MINS)) // — + diff --git a/quantum/keymap_extras/sendstring_czech_mac_ansi.h b/quantum/keymap_extras/sendstring_czech_mac_ansi.h new file mode 100644 index 0000000000..a60faa3237 --- /dev/null +++ b/quantum/keymap_extras/sendstring_czech_mac_ansi.h @@ -0,0 +1,120 @@ +/* Copyright 2024 Tabonx + * + * 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 . + */ + +// Sendstring lookup tables for macOS Czech ANSI layouts + +#pragma once + +#include "keymap_czech_mac_ansi.h" +#include "send_string.h" + +// clang-format off + +const uint8_t ascii_to_shift_lut[16] PROGMEM = { + KCLUT_ENTRY(0, 0, 0, 0, 0, 0, 0, 0), + KCLUT_ENTRY(0, 0, 0, 0, 0, 0, 0, 0), + KCLUT_ENTRY(0, 0, 0, 0, 0, 0, 0, 0), + KCLUT_ENTRY(0, 0, 0, 0, 0, 0, 0, 0), + + KCLUT_ENTRY(0, 1, 1, 0, 0, 1, 0, 0), + KCLUT_ENTRY(1, 0, 0, 0, 0, 0, 0, 1), + KCLUT_ENTRY(1, 1, 1, 1, 1, 1, 1, 1), + KCLUT_ENTRY(1, 1, 1, 0, 0, 0, 0, 1), + KCLUT_ENTRY(0, 1, 1, 1, 1, 1, 1, 1), + KCLUT_ENTRY(1, 1, 1, 1, 1, 1, 1, 1), + KCLUT_ENTRY(1, 1, 1, 1, 1, 1, 1, 1), + KCLUT_ENTRY(1, 1, 1, 0, 0, 0, 0, 1), + KCLUT_ENTRY(1, 0, 0, 0, 0, 0, 0, 0), + KCLUT_ENTRY(1, 0, 0, 0, 0, 0, 0, 0), + KCLUT_ENTRY(0, 0, 0, 0, 0, 0, 0, 0), + KCLUT_ENTRY(0, 0, 0, 0, 1, 0, 0, 0) +}; + +const uint8_t ascii_to_altgr_lut[16] PROGMEM = { + KCLUT_ENTRY(0, 0, 0, 0, 0, 0, 0, 0), + KCLUT_ENTRY(0, 0, 0, 0, 0, 0, 0, 0), + KCLUT_ENTRY(0, 0, 0, 0, 0, 0, 0, 0), + KCLUT_ENTRY(0, 0, 0, 0, 0, 0, 0, 0), + + KCLUT_ENTRY(0, 0, 0, 1, 1, 0, 1, 1), + KCLUT_ENTRY(0, 0, 1, 0, 0, 0, 0, 0), + KCLUT_ENTRY(0, 0, 0, 0, 0, 0, 0, 0), + KCLUT_ENTRY(0, 0, 0, 1, 1, 0, 1, 0), + KCLUT_ENTRY(1, 0, 0, 0, 0, 0, 0, 0), + KCLUT_ENTRY(0, 0, 0, 0, 0, 0, 0, 0), + KCLUT_ENTRY(0, 0, 0, 0, 0, 0, 0, 0), + KCLUT_ENTRY(0, 0, 0, 1, 0, 1, 1, 0), + KCLUT_ENTRY(0, 0, 0, 0, 0, 0, 0, 0), + KCLUT_ENTRY(0, 0, 0, 0, 0, 0, 0, 0), + KCLUT_ENTRY(0, 0, 0, 0, 0, 0, 0, 0), + KCLUT_ENTRY(0, 0, 0, 1, 0, 1, 1, 0), +}; + +const uint8_t ascii_to_dead_lut[16] PROGMEM = { + KCLUT_ENTRY(0, 0, 0, 0, 0, 0, 0, 0), + KCLUT_ENTRY(0, 0, 0, 0, 0, 0, 0, 0), + KCLUT_ENTRY(0, 0, 0, 0, 0, 0, 0, 0), + KCLUT_ENTRY(0, 0, 0, 0, 0, 0, 0, 0), + + KCLUT_ENTRY(0, 0, 0, 0, 0, 0, 0, 0), + KCLUT_ENTRY(0, 0, 0, 0, 0, 0, 0, 0), + KCLUT_ENTRY(0, 0, 0, 0, 0, 0, 0, 0), + KCLUT_ENTRY(0, 0, 0, 0, 0, 0, 0, 0), + KCLUT_ENTRY(0, 0, 0, 0, 0, 0, 0, 0), + KCLUT_ENTRY(0, 0, 0, 0, 0, 0, 0, 0), + KCLUT_ENTRY(0, 0, 0, 0, 0, 0, 0, 0), + KCLUT_ENTRY(0, 0, 0, 0, 0, 0, 0, 0), + KCLUT_ENTRY(0, 0, 0, 0, 0, 0, 0, 0), + KCLUT_ENTRY(0, 0, 0, 0, 0, 0, 0, 0), + KCLUT_ENTRY(0, 0, 0, 0, 0, 0, 0, 0), + KCLUT_ENTRY(0, 0, 0, 0, 0, 0, 0, 0) +}; + +const uint8_t ascii_to_keycode_lut[128] PROGMEM = { + // NUL SOH STX ETX EOT ENQ ACK BEL + XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, + // BS TAB LF VT FF CR SO SI + KC_BSPC, KC_TAB, KC_ENT, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, + // DLE DC1 DC2 DC3 DC4 NAK SYN ETB + XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, + // CAN EM SUB ESC FS GS RS US + XXXXXXX, XXXXXXX, XXXXXXX, KC_ESC, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, + + // ! " # $ % & ' + KC_SPC, CZ_SECT, CZ_URNG, CZ_SCAR, CZ_CCAR, CZ_EQL, CZ_YACU, CZ_SECT, + // ( ) * + , - . / + CZ_RPRN, CZ_RPRN, CZ_AACU, CZ_PLUS, CZ_COMM, CZ_MINS, CZ_DOT, CZ_UACU, + // 0 1 2 3 4 5 6 7 + CZ_EACU, CZ_PLUS, CZ_ECAR, CZ_SCAR, CZ_CCAR, CZ_RCAR, CZ_ZCAR, CZ_YACU, + // 8 9 : ; < = > ? + CZ_AACU, CZ_IACU, CZ_DOT, CZ_URNG, CZ_COMM, CZ_EQL, CZ_DOT, CZ_COMM, + // @ A B C D E F G + CZ_ECAR, CZ_A, CZ_B, CZ_C, CZ_D, CZ_E, CZ_F, CZ_G, + // H I J K L M N O + CZ_H, CZ_I, CZ_J, CZ_K, CZ_L, CZ_M, CZ_N, CZ_O, + // P Q R S T U V W + CZ_P, CZ_Q, CZ_R, CZ_S, CZ_T, CZ_U, CZ_V, CZ_W, + // X Y Z [ \ ] ^ _ + CZ_X, CZ_Y, CZ_Z, CZ_UACU, CZ_BSLS, CZ_RPRN, CZ_ZCAR, CZ_MINS, + // ` a b c d e f g + CZ_DIAE, CZ_A, CZ_B, CZ_C, CZ_D, CZ_E, CZ_F, CZ_G, + // h i j k l m n o + CZ_H, CZ_I, CZ_J, CZ_K, CZ_L, CZ_M, CZ_N, CZ_O, + // p q r s t u v w + CZ_P, CZ_Q, CZ_R, CZ_S, CZ_T, CZ_U, CZ_V, CZ_W, + // x y z { | } ~ DEL + CZ_X, CZ_Y, CZ_Z, CZ_IACU, CZ_BSLS, CZ_EACU, CZ_RCAR, KC_DEL +}; diff --git a/quantum/keymap_extras/sendstring_czech_mac_iso.h b/quantum/keymap_extras/sendstring_czech_mac_iso.h new file mode 100644 index 0000000000..9d47087da0 --- /dev/null +++ b/quantum/keymap_extras/sendstring_czech_mac_iso.h @@ -0,0 +1,120 @@ +/* Copyright 2024 Tabonx + * + * 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 . + */ + +// Sendstring lookup tables for macOS Czech ISO layouts + +#pragma once + +#include "keymap_czech_mac_iso.h" +#include "send_string.h" + +// clang-format off + +const uint8_t ascii_to_shift_lut[16] PROGMEM = { + KCLUT_ENTRY(0, 0, 0, 0, 0, 0, 0, 0), + KCLUT_ENTRY(0, 0, 0, 0, 0, 0, 0, 0), + KCLUT_ENTRY(0, 0, 0, 0, 0, 0, 0, 0), + KCLUT_ENTRY(0, 0, 0, 0, 0, 0, 0, 0), + + KCLUT_ENTRY(0, 1, 1, 0, 0, 1, 0, 0), + KCLUT_ENTRY(1, 0, 0, 0, 0, 0, 0, 1), + KCLUT_ENTRY(1, 1, 1, 1, 1, 1, 1, 1), + KCLUT_ENTRY(1, 1, 1, 0, 0, 0, 0, 1), + KCLUT_ENTRY(0, 1, 1, 1, 1, 1, 1, 1), + KCLUT_ENTRY(1, 1, 1, 1, 1, 1, 1, 1), + KCLUT_ENTRY(1, 1, 1, 1, 1, 1, 1, 1), + KCLUT_ENTRY(1, 1, 1, 0, 0, 0, 0, 1), + KCLUT_ENTRY(1, 0, 0, 0, 0, 0, 0, 0), + KCLUT_ENTRY(1, 0, 0, 0, 0, 0, 0, 0), + KCLUT_ENTRY(0, 0, 0, 0, 0, 0, 0, 0), + KCLUT_ENTRY(0, 0, 0, 0, 1, 0, 0, 0) +}; + +const uint8_t ascii_to_altgr_lut[16] PROGMEM = { + KCLUT_ENTRY(0, 0, 0, 0, 0, 0, 0, 0), + KCLUT_ENTRY(0, 0, 0, 0, 0, 0, 0, 0), + KCLUT_ENTRY(0, 0, 0, 0, 0, 0, 0, 0), + KCLUT_ENTRY(0, 0, 0, 0, 0, 0, 0, 0), + + KCLUT_ENTRY(0, 0, 0, 1, 1, 0, 1, 1), + KCLUT_ENTRY(0, 0, 1, 0, 0, 0, 0, 0), + KCLUT_ENTRY(0, 0, 0, 0, 0, 0, 0, 0), + KCLUT_ENTRY(0, 0, 0, 1, 1, 0, 1, 0), + KCLUT_ENTRY(1, 0, 0, 0, 0, 0, 0, 0), + KCLUT_ENTRY(0, 0, 0, 0, 0, 0, 0, 0), + KCLUT_ENTRY(0, 0, 0, 0, 0, 0, 0, 0), + KCLUT_ENTRY(0, 0, 0, 1, 0, 1, 1, 0), + KCLUT_ENTRY(0, 0, 0, 0, 0, 0, 0, 0), + KCLUT_ENTRY(0, 0, 0, 0, 0, 0, 0, 0), + KCLUT_ENTRY(0, 0, 0, 0, 0, 0, 0, 0), + KCLUT_ENTRY(0, 0, 0, 1, 0, 1, 1, 0), +}; + +const uint8_t ascii_to_dead_lut[16] PROGMEM = { + KCLUT_ENTRY(0, 0, 0, 0, 0, 0, 0, 0), + KCLUT_ENTRY(0, 0, 0, 0, 0, 0, 0, 0), + KCLUT_ENTRY(0, 0, 0, 0, 0, 0, 0, 0), + KCLUT_ENTRY(0, 0, 0, 0, 0, 0, 0, 0), + + KCLUT_ENTRY(0, 0, 0, 0, 0, 0, 0, 0), + KCLUT_ENTRY(0, 0, 0, 0, 0, 0, 0, 0), + KCLUT_ENTRY(0, 0, 0, 0, 0, 0, 0, 0), + KCLUT_ENTRY(0, 0, 0, 0, 0, 0, 0, 0), + KCLUT_ENTRY(0, 0, 0, 0, 0, 0, 0, 0), + KCLUT_ENTRY(0, 0, 0, 0, 0, 0, 0, 0), + KCLUT_ENTRY(0, 0, 0, 0, 0, 0, 0, 0), + KCLUT_ENTRY(0, 0, 0, 0, 0, 0, 0, 0), + KCLUT_ENTRY(0, 0, 0, 0, 0, 0, 0, 0), + KCLUT_ENTRY(0, 0, 0, 0, 0, 0, 0, 0), + KCLUT_ENTRY(0, 0, 0, 0, 0, 0, 0, 0), + KCLUT_ENTRY(0, 0, 0, 0, 0, 0, 0, 0) +}; + +const uint8_t ascii_to_keycode_lut[128] PROGMEM = { + // NUL SOH STX ETX EOT ENQ ACK BEL + XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, + // BS TAB LF VT FF CR SO SI + KC_BSPC, KC_TAB, KC_ENT, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, + // DLE DC1 DC2 DC3 DC4 NAK SYN ETB + XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, + // CAN EM SUB ESC FS GS RS US + XXXXXXX, XXXXXXX, XXXXXXX, KC_ESC, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, + + // ! " # $ % & ' + KC_SPC, CZ_SECT, CZ_URNG, CZ_SCAR, CZ_CCAR, CZ_EQL, CZ_YACU, CZ_SECT, + // ( ) * + , - . / + CZ_RPRN, CZ_RPRN, CZ_AACU, CZ_PLUS, CZ_COMM, CZ_MINS, CZ_DOT, CZ_UACU, + // 0 1 2 3 4 5 6 7 + CZ_EACU, CZ_PLUS, CZ_ECAR, CZ_SCAR, CZ_CCAR, CZ_RCAR, CZ_ZCAR, CZ_YACU, + // 8 9 : ; < = > ? + CZ_AACU, CZ_IACU, CZ_DOT, CZ_URNG, CZ_COMM, CZ_EQL, CZ_DOT, CZ_COMM, + // @ A B C D E F G + CZ_ECAR, CZ_A, CZ_B, CZ_C, CZ_D, CZ_E, CZ_F, CZ_G, + // H I J K L M N O + CZ_H, CZ_I, CZ_J, CZ_K, CZ_L, CZ_M, CZ_N, CZ_O, + // P Q R S T U V W + CZ_P, CZ_Q, CZ_R, CZ_S, CZ_T, CZ_U, CZ_V, CZ_W, + // X Y Z [ \ ] ^ _ + CZ_X, CZ_Y, CZ_Z, CZ_UACU, CZ_BSLS, CZ_RPRN, CZ_ZCAR, CZ_MINS, + // ` a b c d e f g + CZ_DIAE, CZ_A, CZ_B, CZ_C, CZ_D, CZ_E, CZ_F, CZ_G, + // h i j k l m n o + CZ_H, CZ_I, CZ_J, CZ_K, CZ_L, CZ_M, CZ_N, CZ_O, + // p q r s t u v w + CZ_P, CZ_Q, CZ_R, CZ_S, CZ_T, CZ_U, CZ_V, CZ_W, + // x y z { | } ~ DEL + CZ_X, CZ_Y, CZ_Z, CZ_IACU, CZ_BSLS, CZ_EACU, CZ_RCAR, KC_DEL +}; -- cgit v1.2.3 From ef0734b7a6b2a7650f2170631d840dbca7106bbd Mon Sep 17 00:00:00 2001 From: Joel Challis Date: Fri, 10 May 2024 11:54:44 +0100 Subject: Remove 'split.transport.protocol=serial_usart' (#23668) --- data/schemas/keyboard.jsonschema | 2 +- docs/reference_info_json.md | 2 +- keyboards/era/sirind/tomak/keyboard.json | 1 - keyboards/keychron/q11/info.json | 1 - 4 files changed, 2 insertions(+), 4 deletions(-) (limited to 'docs') diff --git a/data/schemas/keyboard.jsonschema b/data/schemas/keyboard.jsonschema index de01809b43..b699f86277 100644 --- a/data/schemas/keyboard.jsonschema +++ b/data/schemas/keyboard.jsonschema @@ -805,7 +805,7 @@ "properties": { "protocol": { "type": "string", - "enum": ["custom", "i2c", "serial", "serial_usart"] + "enum": ["custom", "i2c", "serial"] }, "sync": { "type": "object", diff --git a/docs/reference_info_json.md b/docs/reference_info_json.md index 5b06e9a326..8a2ded95f7 100644 --- a/docs/reference_info_json.md +++ b/docs/reference_info_json.md @@ -739,7 +739,7 @@ Configures the [Split Keyboard](feature_split_keyboard.md) feature. * Default: `1` * `transport` * `protocol` - * The split transport protocol to use. Must be one of `custom`, `i2c`, `serial`, `serial_usart`. + * The split transport protocol to use. Must be one of `custom`, `i2c`, `serial`. * `sync` * `activity` * Mirror the activity timestamps to the secondary half. diff --git a/keyboards/era/sirind/tomak/keyboard.json b/keyboards/era/sirind/tomak/keyboard.json index 58025e67a1..1d0d5b79b2 100644 --- a/keyboards/era/sirind/tomak/keyboard.json +++ b/keyboards/era/sirind/tomak/keyboard.json @@ -183,7 +183,6 @@ } }, "transport": { - "protocol": "serial_usart", "sync": { "indicators": true, "layer_state": true, diff --git a/keyboards/keychron/q11/info.json b/keyboards/keychron/q11/info.json index db70d2b7b6..51a8e5937e 100755 --- a/keyboards/keychron/q11/info.json +++ b/keyboards/keychron/q11/info.json @@ -54,7 +54,6 @@ } }, "transport": { - "protocol": "serial_usart", "sync" :{ "matrix_state": true } -- cgit v1.2.3 From 249f1706f16a118e05b597614a85435153308056 Mon Sep 17 00:00:00 2001 From: James Young <18669334+noroadsleft@users.noreply.github.com> Date: Sun, 26 May 2024 13:45:29 -0700 Subject: noroadsleft's 0.25.0 Changelogs and Touch-Ups (#23793) * Modify PR23309 changelog Adds a direct link to the pull request. * Add PR23329 changelog * Update keyboard aliases file Updates the legacy keyboard aliases for the JJ40 and JJ50, which have been moved again for version 0.25.0. * Minor touch-up for JJ40 rev1 readme --- data/mappings/keyboard_aliases.hjson | 4 ++-- docs/ChangeLog/20240526/PR23309.md | 2 +- docs/ChangeLog/20240526/PR23329.md | 13 +++++++++++++ keyboards/kprepublic/jj40/rev1/readme.md | 2 +- 4 files changed, 17 insertions(+), 4 deletions(-) create mode 100644 docs/ChangeLog/20240526/PR23329.md (limited to 'docs') diff --git a/data/mappings/keyboard_aliases.hjson b/data/mappings/keyboard_aliases.hjson index 7421b8bfac..57585aae92 100644 --- a/data/mappings/keyboard_aliases.hjson +++ b/data/mappings/keyboard_aliases.hjson @@ -306,13 +306,13 @@ "target": "jacky_studio/piggy60/rev1" }, "jj40": { - "target": "kprepublic/jj40" + "target": "kprepublic/jj40/rev1" }, "jj4x4": { "target": "kprepublic/jj4x4" }, "jj50": { - "target": "kprepublic/jj50" + "target": "kprepublic/jj50/rev1" }, "jm60": { "target": "kbdfans/jm60" diff --git a/docs/ChangeLog/20240526/PR23309.md b/docs/ChangeLog/20240526/PR23309.md index b5ca5f1e4d..1270e74d93 100644 --- a/docs/ChangeLog/20240526/PR23309.md +++ b/docs/ChangeLog/20240526/PR23309.md @@ -1,4 +1,4 @@ -# MechKeys ACR60 Layout Updates +# MechKeys ACR60 Layout Updates ([#23309](https://github.com/qmk/qmk_firmware/pull/23309)) This PR removed and changed some of the layouts that were configured for the ACR60. If you use one of the following layouts, you will need to diff --git a/docs/ChangeLog/20240526/PR23329.md b/docs/ChangeLog/20240526/PR23329.md new file mode 100644 index 0000000000..78dc609c09 --- /dev/null +++ b/docs/ChangeLog/20240526/PR23329.md @@ -0,0 +1,13 @@ +# P3D Spacey Layout Updates ([#23329](https://github.com/qmk/qmk_firmware/pull/23329)) + +This PR removed the `LAYOUT` macro that was configured for the Spacey. +If you have a keymap for this keyboard, you will need to update your +keymap using the following steps: + +1. Change your layout macro to `LAYOUT_all`. +2. Remove the two `KC_NO` keycodes following the Space and Delete keys + on the bottom row. +3. Move the keycode for the encoder pushbutton (customarily Mute) to the + end of the top row, after the customary Backspace key. +4. Move the keycode for the Right Arrow to the end of the Shift row, + after the Down Arrow key. diff --git a/keyboards/kprepublic/jj40/rev1/readme.md b/keyboards/kprepublic/jj40/rev1/readme.md index 12d65869da..49f644849e 100644 --- a/keyboards/kprepublic/jj40/rev1/readme.md +++ b/keyboards/kprepublic/jj40/rev1/readme.md @@ -5,7 +5,7 @@ A compact 40% (12x4) ortholinear keyboard kit made and KPRepublic on AliExpress. * Keyboard Maintainer: [QMK Community](https://github.com/qmk) -* Hardware Supported: JJ40 rev1 (Atmega32A) +* Hardware Supported: JJ40 rev1 (ATmega32A) * Hardware Availability: [AliExpress](https://www.aliexpress.com/store/product/jj40-Custom-Mechanical-Keyboard-40-PCB-programmed-40-planck-layouts-bface-firmware-gh40/3034003_32828781103.html) Make example for this keyboard (after setting up your build environment): -- cgit v1.2.3 From c9f9cb25103817aa05da494a4551ed235a750d4c Mon Sep 17 00:00:00 2001 From: Joel Challis Date: Tue, 28 May 2024 02:48:48 +0100 Subject: 2024 Q2 changelog (#23794) Co-authored-by: James Young <18669334+noroadsleft@users.noreply.github.com> Co-authored-by: Nick Brassel --- docs/ChangeLog/20240526.md | 334 +++++++++++++++++++++++++++++++++++++ docs/ChangeLog/20240526/PR23309.md | 35 ---- docs/ChangeLog/20240526/PR23329.md | 13 -- docs/_summary.md | 2 +- docs/breaking_changes.md | 20 +-- docs/breaking_changes_history.md | 1 + util/list-moved-keyboards.sh | 11 ++ 7 files changed, 357 insertions(+), 59 deletions(-) create mode 100644 docs/ChangeLog/20240526.md delete mode 100644 docs/ChangeLog/20240526/PR23309.md delete mode 100644 docs/ChangeLog/20240526/PR23329.md create mode 100755 util/list-moved-keyboards.sh (limited to 'docs') diff --git a/docs/ChangeLog/20240526.md b/docs/ChangeLog/20240526.md new file mode 100644 index 0000000000..4cf185234c --- /dev/null +++ b/docs/ChangeLog/20240526.md @@ -0,0 +1,334 @@ +# QMK Breaking Changes - 2024 May 26 Changelog + +## Notable Features :id=notable-features + +May 2024 brings about another heavy maintenance release of QMK. Of the 209 PRs created this breaking changes cycle against the `develop` branch, 174 behind-the-scenes PRs (83%!) were aimed at converting, consolidating, and cleaning up keyboards and their configuration data. Not the most glamorous work, but it means QMK is in a much more manageable spot than what it was 3 months prior. The work steadily continues! + +## Changes Requiring User Action :id=changes-requiring-user-action + +### Updated Keyboard Codebases :id=updated-keyboard-codebases + +One note with updated keyboard names -- historical keyboard names are still considered valid when using [External Userspace](newbs_external_userspace.md) for builds. If you're already using External Userspace, you do not need to move your keymap inside your repository. + +| Old Keyboard Name | New Keyboard Name | +|------------------------------|-----------------------------------| +| adkb96 | adkb96/rev1 | +| canary/canary60rgb | canary/canary60rgb/v1 | +| handwired/meck_tkl | handwired/meck_tkl/blackpill_f401 | +| handwired/qc60 | handwired/qc60/proto | +| handwired/stef9998/split_5x7 | handwired/stef9998/split_5x7/rev1 | +| junco | junco/rev1 | +| keaboard | keaboard/rev1 | +| kprepublic/jj40 | kprepublic/jj40/rev1 | +| kprepublic/jj50 | kprepublic/jj50/rev1 | +| melgeek/mj65 | melgeek/mj65/rev3 | +| melgeek/mojo68 | melgeek/mojo68/rev1 | +| melgeek/mojo75 | melgeek/mojo75/rev1 | +| melgeek/tegic | melgeek/tegic/rev1 | +| melgeek/z70ultra | melgeek/z70ultra/rev1 | +| miiiw/blackio83 | miiiw/blackio83/rev_0100 | +| murcielago | murcielago/rev1 | +| polilla | polilla/rev1 | +| qwertyydox | qwertyydox/rev1 | +| spaceholdings/nebula68b | spaceholdings/nebula68b/solder | +| splitty | splitty/rev1 | +| xiudi/xd004 | xiudi/xd004/v1 | + +### Remove deprecated quantum keycodes ([#23407](https://github.com/qmk/qmk_firmware/pull/23407)) + +A bunch of legacy keycodes have been removed -- check [the affected keycodes](https://github.com/qmk/qmk_firmware/blob/70e34e491c297231a3f987fd69760d38e79dbfa4/quantum/quantum_keycodes_legacy.h) if you run into compilation problems, as it'll show you what the problematic keycodes should be replaced with. + +The latest of these were officially deprecated within QMK in the August 2023 breaking changes -- the new keycodes are the way forward. + +### P3D Spacey Layout Updates ([#23329](https://github.com/qmk/qmk_firmware/pull/23329)) :id=spacey-layout-updates + +This PR removed the `LAYOUT` macro that was configured for the Spacey. +If you have a keymap for this keyboard, you will need to update your +keymap using the following steps: + +1. Change your layout macro to `LAYOUT_all`. +2. Remove the two `KC_NO` keycodes following the Space and Delete keys + on the bottom row. +3. Move the keycode for the encoder pushbutton (customarily Mute) to the + end of the top row, after the customary Backspace key. +4. Move the keycode for the Right Arrow to the end of the Shift row, + after the Down Arrow key. + +### MechKeys ACR60 Layout Updates ([#23309](https://github.com/qmk/qmk_firmware/pull/23309)) :id=acr60-layout-updates + +This PR removed and changed some of the layouts that were configured for the ACR60. If you use one of the following layouts, you will need to update your keymap: + +- [`LAYOUT_hhkb`](#layout-hhkb) +- [`LAYOUT_true_hhkb`](#layout-true-hhkb) +- [`LAYOUT_directional`](#layout-directional) +- [`LAYOUT_mitchsplit`](#layout-mitchsplit) + +#### `LAYOUT_hhkb` :id=acr60-layout-hhkb + +1. Change your layout macro to `LAYOUT_60_hhkb`. +1. Remove any keycodes for the key between Left Shift and QWERTY Z. + +#### `LAYOUT_true_hhkb` :id=acr60-layout-true-hhkb + +1. Change your layout macro to `LAYOUT_60_true_hhkb`. +1. Remove any keycodes for the key between Left Shift and QWERTY Z. + +#### `LAYOUT_directional` :id=acr60-layout-directional + +1. Change your layout macro to `LAYOUT_60_ansi_arrow_split_bs`. +1. Remove any keycodes for the key between Left Shift and QWERTY Z. +1. Remove any keycodes for the keys immediately before *and* after the 1.25u key of Split Spacebar. + +If you need split spacebars, you may implement `LAYOUT_60_ansi_arrow_split_space_split_bs` and change your layout to it, removing the keycode between Left Shift and QWERTY Z. + +#### `LAYOUT_mitchsplit` :id=acr60-layout-mitchsplit + +1. Use `LAYOUT_60_ansi_split_space_split_rshift`. + +## Notable core changes :id=notable-core + +### Introduction of `keyboard.json` ([22891](https://github.com/qmk/qmk_firmware/pull/22891)) :id=keyboard-json + +One longer term goal of QMK is increased maintainability. +As part of the continued push towards [Data Driven Configuration](data_driven_config.md), the build system has been updated to simplify the existing codebase, and power future workflows. + +The `keyboard.json` configuration file allows the support of a single data file for keyboard level config. + +Additionally, +* `info.json` now represents potential fragments of config that can be shared across keyboard revisions. +* `rules.mk` is now optional - Completely blank files are no longer required. +* Currently supported keyboards have been migrated to reflect this change. + +Backwards compatibility of the old system has been maintained, but will be removed in a future breaking changes cycle. + +### Refactor ChibiOS USB endpoints to be fully async ([#21656](https://github.com/qmk/qmk_firmware/pull/21656)) + +For most users, this change will mean suspend and resume on ARM-based boards works correctly. Others will notice that their keyboard now works correctly in BIOS/UEFI. + +Essentially, changes were made in the internals of how QMK interacts with USB for ARM-based devices. Before this change, whenever a packet was attempted to be sent from the keyboard to the host machine, QMK would wait for the transmission to complete. After this change, those packets are queued and sent when opportune; this results in much better "correctness" as far as the USB protocol is concerned, and means far less likelihood of failure scenarios such as "stuck keys" or "random lockups" and the like. + +Compliance checks were run against QMK firmwares for the most popular ARM microcontrollers, as well as suspend/resume tests. As far as we can tell, a whole host of hard-to-reproduce issues are mitigated by this change. + +## Full changelist :id=full-changelist + +Core: +* Refactor vusb to protocol use pre/post task ([#14944](https://github.com/qmk/qmk_firmware/pull/14944)) +* Refactor ChibiOS USB endpoints to be fully async ([#21656](https://github.com/qmk/qmk_firmware/pull/21656)) +* Infer eeconfig identifiers ([#22135](https://github.com/qmk/qmk_firmware/pull/22135)) +* [Audio] Add support for audio shutdown pin ([#22731](https://github.com/qmk/qmk_firmware/pull/22731)) +* Enable 'keyboard.json' as a build target ([#22891](https://github.com/qmk/qmk_firmware/pull/22891)) +* Remove unuseful layer_on() call ([#23055](https://github.com/qmk/qmk_firmware/pull/23055)) +* Add init function to RGBLight driver struct ([#23076](https://github.com/qmk/qmk_firmware/pull/23076)) +* Add utility functions for Pointing Device Auto Mouse feature ([#23144](https://github.com/qmk/qmk_firmware/pull/23144)) +* Remove midi_ep_task from ChibiOS ([#23162](https://github.com/qmk/qmk_firmware/pull/23162)) +* LED drivers: add support for IS31FL3236 ([#23264](https://github.com/qmk/qmk_firmware/pull/23264)) +* Un-`extern` RGBLight `led[]` array ([#23322](https://github.com/qmk/qmk_firmware/pull/23322)) +* Update I2C API usage in keyboard code ([#23360](https://github.com/qmk/qmk_firmware/pull/23360)) +* Update GPIO expander API naming ([#23375](https://github.com/qmk/qmk_firmware/pull/23375)) +* Remove deprecated quantum keycodes ([#23407](https://github.com/qmk/qmk_firmware/pull/23407)) +* Add MacOS Czech ISO and ANSI keymaps #23346 ([#23412](https://github.com/qmk/qmk_firmware/pull/23412)) +* Rename `process_{led,rgb}_matrix()` ([#23422](https://github.com/qmk/qmk_firmware/pull/23422)) +* Separate keycode handling for LED Matrix and Backlight ([#23426](https://github.com/qmk/qmk_firmware/pull/23426)) +* Add new set of keycodes for LED Matrix ([#23432](https://github.com/qmk/qmk_firmware/pull/23432)) +* Oneshot locked mods split transaction ([#23434](https://github.com/qmk/qmk_firmware/pull/23434)) +* Bodge consolidation. ([#23448](https://github.com/qmk/qmk_firmware/pull/23448)) +* LED Matrix: replace backlight keycodes with newly added ones ([#23455](https://github.com/qmk/qmk_firmware/pull/23455)) +* Add new set of keycodes for RGB Matrix ([#23463](https://github.com/qmk/qmk_firmware/pull/23463)) +* Refactoring successive press() release() calls into tap_key() calls ([#23573](https://github.com/qmk/qmk_firmware/pull/23573)) +* Rename `RGBW` define to `WS2812_RGBW` ([#23585](https://github.com/qmk/qmk_firmware/pull/23585)) +* Normalise RGBLight (underglow) keycodes ([#23656](https://github.com/qmk/qmk_firmware/pull/23656)) +* split_util: rename `usbIsActive` to `usb_bus_detected` ([#23657](https://github.com/qmk/qmk_firmware/pull/23657)) +* Insert delay between shifted chars in send_string_with_delay for AVR ([#23673](https://github.com/qmk/qmk_firmware/pull/23673)) +* Remove useless `LED/RGB_MATRIX_ENABLE` ifdefs ([#23726](https://github.com/qmk/qmk_firmware/pull/23726)) + +CLI: +* Some metadata on QGF/QFF files ([#20101](https://github.com/qmk/qmk_firmware/pull/20101)) +* `qmk new-keyboard` - detach community layout when selecting "none of the above" ([#20405](https://github.com/qmk/qmk_firmware/pull/20405)) +* Initial `qmk test-c` functionality ([#23038](https://github.com/qmk/qmk_firmware/pull/23038)) +* Reject duplicate matrix locations in LAYOUT macros ([#23273](https://github.com/qmk/qmk_firmware/pull/23273)) +* Align 'qmk lint' argument handling ([#23297](https://github.com/qmk/qmk_firmware/pull/23297)) +* Produce warning if keyboard is not configured via `keyboard.json` ([#23321](https://github.com/qmk/qmk_firmware/pull/23321)) + +Submodule updates: +* Update ChibiOS submodules. ([#23405](https://github.com/qmk/qmk_firmware/pull/23405)) + +Keyboards: +* Move `SPLIT_KEYBOARD` to data driven ([#21410](https://github.com/qmk/qmk_firmware/pull/21410)) +* Change to `development_board` ([#21695](https://github.com/qmk/qmk_firmware/pull/21695)) +* Add solid_reactive effects for MIIIW BlackIO83 ([#22251](https://github.com/qmk/qmk_firmware/pull/22251)) +* Migrate content where only parent info.json exists ([#22895](https://github.com/qmk/qmk_firmware/pull/22895)) +* Remove redundant disabling of features ([#22926](https://github.com/qmk/qmk_firmware/pull/22926)) +* Update ScottoAlp handwired keyboard to 12 column layout ([#22962](https://github.com/qmk/qmk_firmware/pull/22962)) +* Overhaul ploopyco devices ([#22967](https://github.com/qmk/qmk_firmware/pull/22967)) +* Add rp2040_ce option to lotus58 ([#23185](https://github.com/qmk/qmk_firmware/pull/23185)) +* Migrate features from rules.mk to data driven - 0-9 ([#23202](https://github.com/qmk/qmk_firmware/pull/23202)) +* Change default RGB effect for momokai keypads to solid white ([#23217](https://github.com/qmk/qmk_firmware/pull/23217)) +* Migrate annepro2 away from custom matrix ([#23221](https://github.com/qmk/qmk_firmware/pull/23221)) +* Update BAMFK-1 ([#23236](https://github.com/qmk/qmk_firmware/pull/23236)) +* Migrate features from rules.mk to data driven - ABCD ([#23247](https://github.com/qmk/qmk_firmware/pull/23247)) +* Migrate features from rules.mk to data driven - EFGH ([#23248](https://github.com/qmk/qmk_firmware/pull/23248)) +* Remove 60_ansi_arrow_split_bs_7u_spc Community Layout ([#23259](https://github.com/qmk/qmk_firmware/pull/23259)) +* Migrate features from rules.mk to data driven - IJK ([#23276](https://github.com/qmk/qmk_firmware/pull/23276)) +* Migrate features from rules.mk to data driven - LMN ([#23277](https://github.com/qmk/qmk_firmware/pull/23277)) +* Migrate features from rules.mk to data driven - OPQR ([#23285](https://github.com/qmk/qmk_firmware/pull/23285)) +* Migrate features from rules.mk to data driven - ST ([#23286](https://github.com/qmk/qmk_firmware/pull/23286)) +* Migrate features from rules.mk to data driven - UVWXYZ ([#23287](https://github.com/qmk/qmk_firmware/pull/23287)) +* Swift65 Hotswap Layout Name Standardization ([#23288](https://github.com/qmk/qmk_firmware/pull/23288)) +* Swift65 Solder Layout Name Standardization ([#23289](https://github.com/qmk/qmk_firmware/pull/23289)) +* Migrate build target markers to keyboard.json ([#23293](https://github.com/qmk/qmk_firmware/pull/23293)) +* KPRepublic JJ50 rev1 Refactor ([#23294](https://github.com/qmk/qmk_firmware/pull/23294)) +* KPRepublic JJ40 rev1 Refactor ([#23299](https://github.com/qmk/qmk_firmware/pull/23299)) +* Migrate features and LTO from rules.mk to data driven ([#23302](https://github.com/qmk/qmk_firmware/pull/23302)) +* Add RGB lighting for the PetruziaMini ([#23305](https://github.com/qmk/qmk_firmware/pull/23305)) +* Migrate features and LTO from rules.mk to data driven ([#23307](https://github.com/qmk/qmk_firmware/pull/23307)) +* MechKeys ACR60 Layout Updates ([#23309](https://github.com/qmk/qmk_firmware/pull/23309)) +* Remove RGBLight `led[]` references ([#23311](https://github.com/qmk/qmk_firmware/pull/23311)) +* Reduce firmware size of helix/rev3 ([#23324](https://github.com/qmk/qmk_firmware/pull/23324)) +* P3D Spacey Layout Updates ([#23329](https://github.com/qmk/qmk_firmware/pull/23329)) +* Data-Driven Keyboard Conversions: 0-9 ([#23357](https://github.com/qmk/qmk_firmware/pull/23357)) +* Update GPIO API usage in keyboard code ([#23361](https://github.com/qmk/qmk_firmware/pull/23361)) +* Remove "w": 1 from keyboards/ ([#23367](https://github.com/qmk/qmk_firmware/pull/23367)) +* Remove `quantum.h` includes from keyboard custom `matrix.c`s ([#23371](https://github.com/qmk/qmk_firmware/pull/23371)) +* refactor: mechwild/bbs ([#23373](https://github.com/qmk/qmk_firmware/pull/23373)) +* Remove 'NO_USB_STARTUP_CHECK = no' from keyboards ([#23376](https://github.com/qmk/qmk_firmware/pull/23376)) +* Remove completely redundant DEFAULT_FOLDER from keyboards ([#23377](https://github.com/qmk/qmk_firmware/pull/23377)) +* Miscellaneous keyboard.json migrations ([#23378](https://github.com/qmk/qmk_firmware/pull/23378)) +* Data-Driven Keyboard Conversions: A ([#23379](https://github.com/qmk/qmk_firmware/pull/23379)) +* refactor: flehrad/bigswitch ([#23384](https://github.com/qmk/qmk_firmware/pull/23384)) +* add second encoder to matrix info of arrowmechanics/wings ([#23390](https://github.com/qmk/qmk_firmware/pull/23390)) +* Change the VID and PID of the file kb38 info.json ([#23393](https://github.com/qmk/qmk_firmware/pull/23393)) +* Remove `quantum.h` includes from keyboard code ([#23394](https://github.com/qmk/qmk_firmware/pull/23394)) +* [ UPDATE 15PAD & 6PAD ] ([#23397](https://github.com/qmk/qmk_firmware/pull/23397)) +* Remove more unnecessary `quantum.h` includes ([#23402](https://github.com/qmk/qmk_firmware/pull/23402)) +* KB name change to Part.1-75-HS ([#23403](https://github.com/qmk/qmk_firmware/pull/23403)) +* Tidy up keyboards/zvecr ([#23418](https://github.com/qmk/qmk_firmware/pull/23418)) +* "features.split" is not a valid key ([#23419](https://github.com/qmk/qmk_firmware/pull/23419)) +* Migrate build target markers to keyboard.json - YZ ([#23421](https://github.com/qmk/qmk_firmware/pull/23421)) +* refactor: mechwild/waka60 ([#23423](https://github.com/qmk/qmk_firmware/pull/23423)) +* Convert some AVR GPIO operations to macros ([#23424](https://github.com/qmk/qmk_firmware/pull/23424)) +* Data-Driven Keyboard Conversions: B ([#23425](https://github.com/qmk/qmk_firmware/pull/23425)) +* Tidy up default layer handling in keymaps ([#23436](https://github.com/qmk/qmk_firmware/pull/23436)) +* Added Chapter1 ([#23452](https://github.com/qmk/qmk_firmware/pull/23452)) +* Data-driven Keyboard Conversions: C ([#23453](https://github.com/qmk/qmk_firmware/pull/23453)) +* Migrate build target markers to keyboard.json - X ([#23460](https://github.com/qmk/qmk_firmware/pull/23460)) +* Data-Driven Keyboard Conversions: D ([#23461](https://github.com/qmk/qmk_firmware/pull/23461)) +* Miscellaneous keyboard.json migrations ([#23486](https://github.com/qmk/qmk_firmware/pull/23486)) +* Migrate build target markers to keyboard.json - 0AB ([#23488](https://github.com/qmk/qmk_firmware/pull/23488)) +* Migrate build target markers to keyboard.json - W ([#23511](https://github.com/qmk/qmk_firmware/pull/23511)) +* Data-Driven Keyboard Conversions: E ([#23512](https://github.com/qmk/qmk_firmware/pull/23512)) +* Migrate build target markers to keyboard.json - TUV ([#23514](https://github.com/qmk/qmk_firmware/pull/23514)) +* Migrate build target markers to keyboard.json - DE ([#23515](https://github.com/qmk/qmk_firmware/pull/23515)) +* Data-Driven Keyboard Conversions: F ([#23516](https://github.com/qmk/qmk_firmware/pull/23516)) +* Data-Driven Keyboard Conversions: G ([#23522](https://github.com/qmk/qmk_firmware/pull/23522)) +* Data-Driven Keyboard Conversions: H, Part 1 ([#23524](https://github.com/qmk/qmk_firmware/pull/23524)) +* Data-Driven Keyboard Conversions: H, Part 2 ([#23525](https://github.com/qmk/qmk_firmware/pull/23525)) +* Migrate build target markers to keyboard.json - C ([#23529](https://github.com/qmk/qmk_firmware/pull/23529)) +* Data-Driven Keyboard Conversions: H, Part 3 ([#23530](https://github.com/qmk/qmk_firmware/pull/23530)) +* Migrate build target markers to keyboard.json - S ([#23532](https://github.com/qmk/qmk_firmware/pull/23532)) +* Data-Driven Keyboard Conversions: I ([#23533](https://github.com/qmk/qmk_firmware/pull/23533)) +* Migrate build target markers to keyboard.json - FG ([#23534](https://github.com/qmk/qmk_firmware/pull/23534)) +* Migrate build target markers to keyboard.json - HI ([#23540](https://github.com/qmk/qmk_firmware/pull/23540)) +* Remove *_SUPPORTED = yes ([#23541](https://github.com/qmk/qmk_firmware/pull/23541)) +* Migrate build target markers to keyboard.json - R ([#23542](https://github.com/qmk/qmk_firmware/pull/23542)) +* Data-Driven Keyboard Conversions: J ([#23547](https://github.com/qmk/qmk_firmware/pull/23547)) +* Data-Driven Keyboard Conversions: K, Part 1 ([#23556](https://github.com/qmk/qmk_firmware/pull/23556)) +* Tidy use of raw hid within keyboards ([#23557](https://github.com/qmk/qmk_firmware/pull/23557)) +* Data-Driven Keyboard Conversions: K, Part 2 ([#23562](https://github.com/qmk/qmk_firmware/pull/23562)) +* Migrate build target markers to keyboard.json - OQ ([#23564](https://github.com/qmk/qmk_firmware/pull/23564)) +* Migrate build target markers to keyboard.json - P ([#23565](https://github.com/qmk/qmk_firmware/pull/23565)) +* Data-Driven Keyboard Conversions: K, Part 3 ([#23566](https://github.com/qmk/qmk_firmware/pull/23566)) +* Data-Driven Keyboard Conversions: K, Part 4 ([#23567](https://github.com/qmk/qmk_firmware/pull/23567)) +* Data-Driven Keyboard Conversions: K, Part 5 ([#23569](https://github.com/qmk/qmk_firmware/pull/23569)) +* Data-Driven Keyboard Conversions: L ([#23576](https://github.com/qmk/qmk_firmware/pull/23576)) +* Migrate build target markers to keyboard.json - JK ([#23588](https://github.com/qmk/qmk_firmware/pull/23588)) +* Migrate build target markers to keyboard.json - N ([#23589](https://github.com/qmk/qmk_firmware/pull/23589)) +* Data-Driven Keyboard Conversions: M, Part 1 ([#23590](https://github.com/qmk/qmk_firmware/pull/23590)) +* Add haptic driver to keyboard.json schema ([#23591](https://github.com/qmk/qmk_firmware/pull/23591)) +* Migrate build target markers to keyboard.json - Keychron ([#23593](https://github.com/qmk/qmk_firmware/pull/23593)) +* Remove RGBLIGHT_SPLIT in rules.mk ([#23599](https://github.com/qmk/qmk_firmware/pull/23599)) +* Data-Driven Keyboard Conversions: M, Part 2 ([#23601](https://github.com/qmk/qmk_firmware/pull/23601)) +* Align NO_SUSPEND_POWER_DOWN keyboard config ([#23606](https://github.com/qmk/qmk_firmware/pull/23606)) +* Migrate build target markers to keyboard.json - L ([#23607](https://github.com/qmk/qmk_firmware/pull/23607)) +* Migrate build target markers to keyboard.json - Misc ([#23609](https://github.com/qmk/qmk_firmware/pull/23609)) +* Migrate build target markers to keyboard.json - Misc ([#23612](https://github.com/qmk/qmk_firmware/pull/23612)) +* Data-Driven Keyboard Conversions: M, Part 3 ([#23614](https://github.com/qmk/qmk_firmware/pull/23614)) +* Add audio driver to keyboard.json schema ([#23616](https://github.com/qmk/qmk_firmware/pull/23616)) +* Data-Driven Keyboard Conversions: BastardKB ([#23622](https://github.com/qmk/qmk_firmware/pull/23622)) +* Data-Driven Keyboard Conversions: Mechlovin ([#23624](https://github.com/qmk/qmk_firmware/pull/23624)) +* Migrate build target markers to keyboard.json - BM ([#23627](https://github.com/qmk/qmk_firmware/pull/23627)) +* gh80_3000 - Enable indicator LED functionality ([#23633](https://github.com/qmk/qmk_firmware/pull/23633)) +* Iris keymap update ([#23635](https://github.com/qmk/qmk_firmware/pull/23635)) +* Migrate build target markers to keyboard.json - Misc ([#23653](https://github.com/qmk/qmk_firmware/pull/23653)) +* Add via support for craftwalk ([#23658](https://github.com/qmk/qmk_firmware/pull/23658)) +* Align RGBKB keyboards to current standards ([#23663](https://github.com/qmk/qmk_firmware/pull/23663)) +* Remove 'split.transport.protocol=serial_usart' ([#23668](https://github.com/qmk/qmk_firmware/pull/23668)) +* Remove redundant keymap templates ([#23685](https://github.com/qmk/qmk_firmware/pull/23685)) +* Change all RGB mode keycodes to short aliases ([#23691](https://github.com/qmk/qmk_firmware/pull/23691)) +* Adjust keycode alignment around `QK_BOOT` ([#23697](https://github.com/qmk/qmk_firmware/pull/23697)) +* Remove RGB keycodes from boards with no RGB config ([#23709](https://github.com/qmk/qmk_firmware/pull/23709)) +* Miscellaneous Data-Driven Keyboard Conversions ([#23712](https://github.com/qmk/qmk_firmware/pull/23712)) +* Delete trivial keymap readmes ([#23714](https://github.com/qmk/qmk_firmware/pull/23714)) +* Migrate `LOCKING_*_ENABLE` to Data-Driven: 0-9 ([#23716](https://github.com/qmk/qmk_firmware/pull/23716)) +* Add media key support to Riot Pad ([#23719](https://github.com/qmk/qmk_firmware/pull/23719)) +* Migrate `LOCKING_*_ENABLE` to Data-Driven: A-C, Part 1 ([#23745](https://github.com/qmk/qmk_firmware/pull/23745)) +* Migrate `LOCKING_*_ENABLE` to Data-Driven: A-C, Part 2 ([#23746](https://github.com/qmk/qmk_firmware/pull/23746)) +* Migrate `LOCKING_*_ENABLE` to Data-Driven: A-C, Part 3 ([#23747](https://github.com/qmk/qmk_firmware/pull/23747)) +* Migrate `LOCKING_*_ENABLE` to Data-Driven: D, Part 1 ([#23749](https://github.com/qmk/qmk_firmware/pull/23749)) +* Migrate `LOCKING_*_ENABLE` to Data-Driven: D, Part 2 ([#23750](https://github.com/qmk/qmk_firmware/pull/23750)) +* Migrate `LOCKING_*_ENABLE` to Data-Driven: E ([#23751](https://github.com/qmk/qmk_firmware/pull/23751)) +* Move VIA config to keymap level ([#23754](https://github.com/qmk/qmk_firmware/pull/23754)) +* Migrate `LOCKING_*_ENABLE` to Data-Driven: F ([#23757](https://github.com/qmk/qmk_firmware/pull/23757)) +* Migrate `LOCKING_*_ENABLE` to Data-Driven: G ([#23758](https://github.com/qmk/qmk_firmware/pull/23758)) +* Migrate `LOCKING_*_ENABLE` to Data-Driven: H, Part 1 ([#23759](https://github.com/qmk/qmk_firmware/pull/23759)) +* Remove includes of config.h ([#23760](https://github.com/qmk/qmk_firmware/pull/23760)) +* Migrate `LOCKING_*_ENABLE` to Data-Driven: H, Part 2 ([#23762](https://github.com/qmk/qmk_firmware/pull/23762)) +* Migrate `LOCKING_*_ENABLE` to Data-Driven: H, Part 3 ([#23763](https://github.com/qmk/qmk_firmware/pull/23763)) +* Migrate `LOCKING_*_ENABLE` to Data-Driven: H, Part 4 ([#23764](https://github.com/qmk/qmk_firmware/pull/23764)) +* Migrate `LOCKING_*_ENABLE` to Data-Driven: I-J ([#23767](https://github.com/qmk/qmk_firmware/pull/23767)) +* Migrate `LOCKING_*_ENABLE` to Data-Driven: K, Part 1 ([#23768](https://github.com/qmk/qmk_firmware/pull/23768)) +* Migrate `LOCKING_*_ENABLE` to Data-Driven: K, Part 2 ([#23769](https://github.com/qmk/qmk_firmware/pull/23769)) +* Migrate `LOCKING_*_ENABLE` to Data-Driven: K, Part 3 ([#23770](https://github.com/qmk/qmk_firmware/pull/23770)) +* Migrate `LOCKING_*_ENABLE` to Data-Driven: L ([#23771](https://github.com/qmk/qmk_firmware/pull/23771)) +* Migrate `LOCKING_*_ENABLE` to Data-Driven: M, Part 1 ([#23772](https://github.com/qmk/qmk_firmware/pull/23772)) +* Migrate `LOCKING_*_ENABLE` to Data-Driven: M, Part 2 ([#23773](https://github.com/qmk/qmk_firmware/pull/23773)) +* Migrate `LOCKING_*_ENABLE` to Data-Driven: N ([#23774](https://github.com/qmk/qmk_firmware/pull/23774)) +* Migrate `LOCKING_*_ENABLE` to Data-Driven: O ([#23778](https://github.com/qmk/qmk_firmware/pull/23778)) +* Migrate `LOCKING_*_ENABLE` to Data-Driven: P, Part 1 ([#23779](https://github.com/qmk/qmk_firmware/pull/23779)) +* Migrate `LOCKING_*_ENABLE` to Data-Driven: P, Part 2 ([#23780](https://github.com/qmk/qmk_firmware/pull/23780)) +* Migrate `LOCKING_*_ENABLE` to Data-Driven: Q-R ([#23781](https://github.com/qmk/qmk_firmware/pull/23781)) +* Migrate `LOCKING_*_ENABLE` to Data-Driven: S, Part 1 ([#23783](https://github.com/qmk/qmk_firmware/pull/23783)) +* Migrate `LOCKING_*_ENABLE` to Data-Driven: S, Part 2 ([#23784](https://github.com/qmk/qmk_firmware/pull/23784)) +* Migrate `LOCKING_*_ENABLE` to Data-Driven: T ([#23785](https://github.com/qmk/qmk_firmware/pull/23785)) +* Migrate `LOCKING_*_ENABLE` to Data-Driven: U-V ([#23786](https://github.com/qmk/qmk_firmware/pull/23786)) +* Remove some useless code from keymaps ([#23787](https://github.com/qmk/qmk_firmware/pull/23787)) +* Migrate `LOCKING_*_ENABLE` to Data-Driven: W, Part 1 ([#23788](https://github.com/qmk/qmk_firmware/pull/23788)) +* Migrate `LOCKING_*_ENABLE` to Data-Driven: W, Part 2 ([#23789](https://github.com/qmk/qmk_firmware/pull/23789)) +* Migrate `LOCKING_*_ENABLE` to Data-Driven: X-Z ([#23790](https://github.com/qmk/qmk_firmware/pull/23790)) +* Update GPIO macros in keymaps ([#23792](https://github.com/qmk/qmk_firmware/pull/23792)) +* noroadsleft's 0.25.0 Changelogs and Touch-Ups ([#23793](https://github.com/qmk/qmk_firmware/pull/23793)) + +Keyboard fixes: +* Fix mapping of GUI/ALT for Win/Mac layers ([#22662](https://github.com/qmk/qmk_firmware/pull/22662)) +* Adding standard keymap for wave keyboard to fix #22695 ([#22741](https://github.com/qmk/qmk_firmware/pull/22741)) +* Fixup qk100 (firmware size) ([#23169](https://github.com/qmk/qmk_firmware/pull/23169)) +* Fixup mechlovin/octagon ([#23179](https://github.com/qmk/qmk_firmware/pull/23179)) +* Fix up scanning for Djinn, post-asyncUSB. ([#23188](https://github.com/qmk/qmk_firmware/pull/23188)) +* Fixup annepro2 ([#23206](https://github.com/qmk/qmk_firmware/pull/23206)) +* Fixed keychron q1v1 led config for iso layout ([#23222](https://github.com/qmk/qmk_firmware/pull/23222)) +* Fixes for idobao vendor keymaps ([#23246](https://github.com/qmk/qmk_firmware/pull/23246)) +* Fixup work_board ([#23266](https://github.com/qmk/qmk_firmware/pull/23266)) +* Linworks FAve 87H Keymap Refactor/Bugfix ([#23292](https://github.com/qmk/qmk_firmware/pull/23292)) +* Align encoder layout validation with encoder.h logic ([#23330](https://github.com/qmk/qmk_firmware/pull/23330)) +* 0xcb/splaytoraid: remove `CONVERT_TO` at keyboard level ([#23395](https://github.com/qmk/qmk_firmware/pull/23395)) +* 40percentclub/gherkin: remove `CONVERT_TO` at keyboard level ([#23396](https://github.com/qmk/qmk_firmware/pull/23396)) +* Fix spaceholdings/nebula68b ([#23399](https://github.com/qmk/qmk_firmware/pull/23399)) +* Fix failing keyboards on develop ([#23406](https://github.com/qmk/qmk_firmware/pull/23406)) +* Corrections to split keyboard migrations ([#23462](https://github.com/qmk/qmk_firmware/pull/23462)) +* Fix iris via keymap ([#23652](https://github.com/qmk/qmk_firmware/pull/23652)) +* xiudi/xd75 - Fix backlight compilation issues ([#23655](https://github.com/qmk/qmk_firmware/pull/23655)) + +Bugs: +* WS2812 PWM: prefix for DMA defines ([#23111](https://github.com/qmk/qmk_firmware/pull/23111)) +* Fix rgblight init ([#23335](https://github.com/qmk/qmk_firmware/pull/23335)) +* Fix WAIT_FOR_USB handling ([#23598](https://github.com/qmk/qmk_firmware/pull/23598)) +* Fix PS/2 Trackpoint mouse clicks (#22265) ([#23694](https://github.com/qmk/qmk_firmware/pull/23694)) diff --git a/docs/ChangeLog/20240526/PR23309.md b/docs/ChangeLog/20240526/PR23309.md deleted file mode 100644 index 1270e74d93..0000000000 --- a/docs/ChangeLog/20240526/PR23309.md +++ /dev/null @@ -1,35 +0,0 @@ -# MechKeys ACR60 Layout Updates ([#23309](https://github.com/qmk/qmk_firmware/pull/23309)) - -This PR removed and changed some of the layouts that were configured for -the ACR60. If you use one of the following layouts, you will need to -update your keymap: - -- [`LAYOUT_hhkb`](#layout-hhkb) -- [`LAYOUT_true_hhkb`](#layout-true-hhkb) -- [`LAYOUT_directional`](#layout-directional) -- [`LAYOUT_mitchsplit`](#layout-mitchsplit) - -## `LAYOUT_hhkb` :id=layout-hhkb - -1. Change your layout macro to `LAYOUT_60_hhkb`. -2. Remove any keycodes for the key between Left Shift and QWERTY Z. - -## `LAYOUT_true_hhkb` :id=layout-true-hhkb - -1. Change your layout macro to `LAYOUT_60_true_hhkb`. -2. Remove any keycodes for the key between Left Shift and QWERTY Z. - -## `LAYOUT_directional` :id=layout-directional - -1. Change your layout macro to `LAYOUT_60_ansi_arrow_split_bs`. -2. Remove any keycodes for the key between Left Shift and QWERTY Z. -3. Remove any keycodes for the keys immediately before *and* after the -1.25u key of Split Spacebar. - -If you need split spacebars, you may implement -`LAYOUT_60_ansi_arrow_split_space_split_bs` and change your layout to -it, removing the keycode between Left Shift and QWERTY Z. - -## `LAYOUT_mitchsplit` :id=layout-mitchsplit - -1. Use `LAYOUT_60_ansi_split_space_split_rshift`. diff --git a/docs/ChangeLog/20240526/PR23329.md b/docs/ChangeLog/20240526/PR23329.md deleted file mode 100644 index 78dc609c09..0000000000 --- a/docs/ChangeLog/20240526/PR23329.md +++ /dev/null @@ -1,13 +0,0 @@ -# P3D Spacey Layout Updates ([#23329](https://github.com/qmk/qmk_firmware/pull/23329)) - -This PR removed the `LAYOUT` macro that was configured for the Spacey. -If you have a keymap for this keyboard, you will need to update your -keymap using the following steps: - -1. Change your layout macro to `LAYOUT_all`. -2. Remove the two `KC_NO` keycodes following the Space and Delete keys - on the bottom row. -3. Move the keycode for the encoder pushbutton (customarily Mute) to the - end of the top row, after the customary Backspace key. -4. Move the keycode for the Right Arrow to the end of the Shift row, - after the Down Arrow key. diff --git a/docs/_summary.md b/docs/_summary.md index fb584955ce..adf48cec85 100644 --- a/docs/_summary.md +++ b/docs/_summary.md @@ -138,7 +138,7 @@ * Breaking Changes * [Overview](breaking_changes.md) * [My Pull Request Was Flagged](breaking_changes_instructions.md) - * [Most Recent ChangeLog](ChangeLog/20240225.md "QMK v0.24.0 - 2024 Feb 25") + * [Most Recent ChangeLog](ChangeLog/20240526.md "QMK v0.25.0 - 2024 May 26") * [Past Breaking Changes](breaking_changes_history.md) * C Development diff --git a/docs/breaking_changes.md b/docs/breaking_changes.md index b60118cd64..1c0b1bafce 100644 --- a/docs/breaking_changes.md +++ b/docs/breaking_changes.md @@ -10,25 +10,25 @@ Practically, this means QMK merges the `develop` branch into the `master` branch ## What has been included in past Breaking Changes? +* [2024 May 26](ChangeLog/20240526.md) * [2024 Feb 25](ChangeLog/20240225.md) * [2023 Nov 26](ChangeLog/20231126.md) -* [2023 Aug 27](ChangeLog/20230827.md) * [Older Breaking Changes](breaking_changes_history.md) ## When is the next Breaking Change? -The next Breaking Change is scheduled for May 26, 2024. +The next Breaking Change is scheduled for August 25, 2024. ### Important Dates -* 2024 Feb 25 - `develop` is tagged with a new release version. Each push to `master` is subsequently merged to `develop` by GitHub actions. -* 2024 Apr 28 - `develop` closed to new PRs. -* 2024 Apr 28 - Call for testers. -* 2024 May 5 - Last day for merges -- after this point `develop` is locked for testing and accepts only bugfixes -* 2024 May 19 - `develop` is locked, only critical bugfix PRs merged. -* 2024 May 23 - `master` is locked, no PRs merged. -* 2024 May 26 - Merge `develop` to `master`. -* 2024 May 26 - `master` is unlocked. PRs can be merged again. +* 2024 May 26 - `develop` is tagged with a new release version. Each push to `master` is subsequently merged to `develop` by GitHub actions. +* 2024 Jul 28 - `develop` closed to new PRs. +* 2024 Jul 28 - Call for testers. +* 2024 Aug 4 - Last day for merges -- after this point `develop` is locked for testing and accepts only bugfixes +* 2024 Aug 18 - `develop` is locked, only critical bugfix PRs merged. +* 2024 Aug 22 - `master` is locked, no PRs merged. +* 2024 Aug 25 - Merge `develop` to `master`. +* 2024 Aug 25 - `master` is unlocked. PRs can be merged again. ## What changes will be included? diff --git a/docs/breaking_changes_history.md b/docs/breaking_changes_history.md index 6e304685b5..6f0f25be0e 100644 --- a/docs/breaking_changes_history.md +++ b/docs/breaking_changes_history.md @@ -2,6 +2,7 @@ This page links to all previous changelogs from the QMK Breaking Changes process. +* [2024 May 26](ChangeLog/20240526.md) - version 0.25.0 * [2024 Feb 25](ChangeLog/20240225.md) - version 0.24.0 * [2023 Nov 26](ChangeLog/20231126.md) - version 0.23.0 * [2023 Aug 27](ChangeLog/20230827.md) - version 0.22.0 diff --git a/util/list-moved-keyboards.sh b/util/list-moved-keyboards.sh new file mode 100755 index 0000000000..1a39f512a2 --- /dev/null +++ b/util/list-moved-keyboards.sh @@ -0,0 +1,11 @@ +#!/usr/bin/env bash + +echo "This might take a while... let it sit." >&2 + +git cherry upstream/master upstream/develop | awk '{print $2}' | while read sha1; do + git diff --name-status -M25 ${sha1}^..${sha1} | grep 'keyboards/' | grep '^R' | grep -E '(info|keyboard).json' +done | sed -e 's@keyboards/@@g' -e 's@/info.json@@g' -e 's@/keyboard.json@@g' | sort -k+2 | while IFS=$'\n' read line; do + if [[ $(echo $line | awk '{print $2}') != $(echo $line | awk '{print $3}') ]]; then + echo $line + fi +done | sort -k+2 | awk '{printf "| %s | %s |\n", $2, $3}' | column -t | sort -- cgit v1.2.3