-
-
Notifications
You must be signed in to change notification settings - Fork 39.6k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
On-each-release tap dance function #20255
Conversation
Thank you for your contribution! |
This CR is still ready for review. What is the best way to get eyes on it? |
@@ -56,20 +59,37 @@ typedef struct { | |||
void (*layer_function)(uint8_t); | |||
} tap_dance_dual_role_t; | |||
|
|||
# define ACTION_TAP_DANCE_DOUBLE(kc1, kc2) \ | |||
{ .fn = {tap_dance_pair_on_each_tap, tap_dance_pair_finished, tap_dance_pair_reset}, .user_data = (void *)&((tap_dance_pair_t){kc1, kc2}), } | |||
# ifndef TAP_DANCE_ON_EACH_RELEASE |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This is ... messy, at best.
If anything, I'd say that this should just have the on_each_release option, and just have the ifdef in the function (as it is in the c file).
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Yea, I was thinking of the same approach initially, but I was trying to ensure that this feature didn't affect the memory usage for keyboards that didn't use that functionality, hence why I went with this implementation instead.
But, as you mentioned, the implementation turned out less than ideal; in the newest commit, I removed the macro-conditionals such that the new function parameter is always present. There's no need for the TAP_DANCE_ON_EACH_RELEASE
anymore (since the function added in the c
file will check for NULL
).
Thanks for the initial review and comments, and let me know what you think of the changes.
@@ -88,6 +88,10 @@ static inline void process_tap_dance_action_on_each_tap(tap_dance_action_t *acti | |||
_process_tap_dance_action_fn(&action->state, action->user_data, action->fn.on_each_tap); | |||
} | |||
|
|||
static inline void process_tap_dance_action_on_each_release(tap_dance_action_t *action) { | |||
_process_tap_dance_action_fn(&action->state, action->user_data, action->fn.on_each_release); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This function checks if on_each_release
is null btw (see here)
@@ -41,6 +41,7 @@ typedef struct { | |||
tap_dance_user_fn_t on_each_tap; | |||
tap_dance_user_fn_t on_dance_finished; | |||
tap_dance_user_fn_t on_reset; | |||
tap_dance_user_fn_t on_each_release; |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I added this at the end so existing user code that uses positional initialization doesn't break. For example, the following will still compile even though only three of the four arguments are provided:
{ .fn = {user_fn_on_each_tap, user_fn_on_dance_finished, user_fn_on_dance_reset}, ... }
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Could you add to the tap dances tests, as well?
They're located in tests/tap_dance
.
@drashna I just added tests, but the CI build is failing. Seems like an issue with merging from the |
Apparently you merged something wrong into your branch. Undo that merge by resetting to the last good commit: git reset --hard a607f962086fed74b29e9cd3950fec8765a66b9c Then try merging with the actual state of the git fetch upstream
git merge upstream/develop The automatic merge would fail, because there were some other changes to |
61f4bd7
to
a607f96
Compare
2d4bba5
to
a607f96
Compare
d68e265
to
29b3589
Compare
Co-authored-by: Sergey Vlasov <sigprof@gmail.com>
@sigprof suggestion accepted. Back to you |
@@ -158,6 +162,7 @@ bool process_tap_dance(uint16_t keycode, keyrecord_t *record) { | |||
process_tap_dance_action_on_each_tap(action); | |||
active_td = action->state.finished ? 0 : keycode; | |||
} else { | |||
process_tap_dance_action_on_each_release(action); | |||
if (action->state.finished) { | |||
process_tap_dance_action_on_reset(action); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I suspect that the following change would be needed to fix the corner case when the on_each_release
callback does state->finished = true;
to finish the tap dance early (this kind of usage currently works for on_each_tap
and is somewhat documented).
process_tap_dance_action_on_reset(action); | |
process_tap_dance_action_on_reset(action); | |
if (active_td == keycode) { | |
active_td = 0; | |
} |
But I don't have time to test this just now (this would probably need another test to make sure that there are no superfluous finished
calls after the tap dance timer expires).
And using reset_tap_dance(state);
in on_each_release()
would work properly anyway, because it resets active_td
and clears the whole state
(so the duplicate call of the reset
callback won't happen); but it's not equivalent to state->finished = true;
when used in the on_each_tap
callback, so probably both cases should be supported.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I just added your change and another test function that verifies the expected behavior. Let me know if there are any other cases you think should be added.
c1e17eb
to
29ac6ae
Compare
@sigprof I made changes for the comment you made earlier. Mind re-reviewing and/or merging? |
* [Keyboard] Add minidivide (qmk#19870) Co-authored-by: jack <0x6a73@protonmail.com> Co-authored-by: Ryan <fauxpark@gmail.com> Co-authored-by: Joel Challis <git@zvecr.com> Co-authored-by: Drashna Jaelre <drashna@live.com> * Fix jaykeeb indicator state and pins (qmk#21466) * Bump JamesIves/github-pages-deploy-action from 4.4.2 to 4.4.3 (qmk#21518) Bumps [JamesIves/github-pages-deploy-action](https://github.com/jamesives/github-pages-deploy-action) from 4.4.2 to 4.4.3. - [Release notes](https://github.com/jamesives/github-pages-deploy-action/releases) - [Commits](JamesIves/github-pages-deploy-action@v4.4.2...v4.4.3) --- updated-dependencies: - dependency-name: JamesIves/github-pages-deploy-action dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * Prepare ymdk/ymd75 for rev4 (qmk#21484) * [Keyboard] add mothwing (qmk#19342) Co-authored-by: Ryan <fauxpark@gmail.com> Co-authored-by: jack <0x6a73@protonmail.com> * Eliminate `TMK_COMMON_*` in makefiles (qmk#21517) * quantum: remove direct `quantum.h` includes (qmk#21507) * [Core] Update ChibiOS-Contrib (qmk#21553) * AliceH66 Pianoforte Hotswap Touch-Up (qmk#21542) * [refactor] rename LAYOUT_tkl_ansi to LAYOUT_tkl_f13_ansi * [enhancement] enable Community Layout support * [chore] correct layout data Correct the position of the spacebar. * GMMK2 65% ANSI Touch-Up (qmk#21544) * [chore] correct layout data * [chore] rename LAYOUT to LAYOUT_65_ansi_blocker Also adds a layout alias so as to not have to edit the user keymaps. * [enhancement] enable Community Layout support * Keychron V4 Touch-Up (qmk#21545) * Keychron V4 ANSI: rename LAYOUT_ansi_61 to LAYOUT_60_ansi * Keychron V4 ANSI: enable Community Layout support * Keychron V4 ISO: correct layout data Move position [3, 1] up by 0.25u. * Keychron V4 ISO: rename LAYOUT_iso_62 to LAYOUT_60_iso * Keychron V4 ISO: enable Community Layout support * Fix compilation of lily58 rgb_state_reader (qmk#21502) * HolySwitch Lightweight65 Community Layout Support (qmk#21550) * [chore] rename LAYOUT to LAYOUT_65_ansi_blocker * [enhancement] enable Community Layout support * Automata02 Alisaie Touch-Up (qmk#21552) * [style] friendly-format info.json * [chore] remove key labels from info.json * [chore] correct layout data Fix a misleading Configurator implementation, and incorrect key sizes and positioning on the bottom row. * [chore] re-add key labels to info.json * Move files to rev1 folder, add rev2 (qmk#21563) Co-authored-by: Duncan Sutherland <dunk2k_2000@hotmail.com> * Amend layout and matrix positions for `dactyl_cc` (qmk#21523) * Spruce up `dactyl_lightcycle` and `dactyl_maximus` layouts (qmk#21519) * Add Bastion75 PCB to QMK (qmk#21529) * Add Bastion75 to QMK * Remove blank layers * Apply suggestions from code review Co-authored-by: jack <0x6a73@protonmail.com> * Update keymaps --------- Co-authored-by: jack <0x6a73@protonmail.com> * Document the right location for indicator functions (qmk#21512) * Rename `dactyl_manuform` variant `3x5_3` (qmk#21015) * haptic: naming cleanups (qmk#21551) * backlight: split AVR PWM and timer drivers (qmk#21540) * Fix backlight support for some boards (qmk#21554) * [Keyboard] Add boardsource/unicorne (qmk#21510) Co-authored-by: Drashna Jaelre <drashna@live.com> Co-authored-by: Cole Smith <smithcole@protonmail.com> * [Keyboard] Add EC Theca (qmk#21233) Co-authored-by: jack <0x6a73@protonmail.com> * [Bug] Fix compilation error when Split Watchdog enabled (qmk#21543) * Revert "[Bug] Fix compilation error when Split Watchdog enabled" (qmk#21572) * kinesis: remove stacked split layouts (qmk#21569) * Fix VS code live share extension link (qmk#21585) * Allow the user to select one tone for the additive DAC (qmk#21591) Previously, if the user tried to use `#define AUDIO_MAX_SIMULTANEOUS_TONES 1` to conserve CPU time, their firmware would fail to build with this error: ``` platforms/chibios/drivers/audio_dac_additive.c:91:73: error: excess elements in array initializer [-Werror] 91 | static float active_tones_snapshot[AUDIO_MAX_SIMULTANEOUS_TONES] = {0, 0}; | ^ ``` This also affected the preset `#define AUDIO_DAC_QUALITY_VERY_HIGH`, which called up only one simultaneous tone at 88200 Hz. * [Keyboard] Update ERA65 PCB (qmk#21592) * Raw HID: documentation improvements (qmk#21596) * Add Nyquistpad (qmk#21578) Co-authored-by: jack <0x6a73@protonmail.com> Co-authored-by: Ryan <fauxpark@gmail.com> * Fix paragon keyboard encoder step (qmk#21582) * [Keyboard] Add linworks fave60a (qmk#20795) Co-authored-by: Drashna Jaelre <drashna@live.com> Co-authored-by: Ryan <fauxpark@gmail.com> Co-authored-by: jack <0x6a73@protonmail.com> * [Keyboard] Delete jscotto directory (qmk#21157) * Add Caps Lock indicator for Kyechron S1 white backlight version (qmk#21559) * [Keyboard] Add nico (qmk#20686) Co-authored-by: jack <0x6a73@protonmail.com> Co-authored-by: Drashna Jaelre <drashna@live.com> Co-authored-by: Ryan <fauxpark@gmail.com> Co-authored-by: Joel Challis <git@zvecr.com> * Fix ik75 scroll lock and windows lock status LEDs (qmk#20380) * [keyboard] tominabox1/le_chiffre refactor pt 1 (qmk#21567) Co-authored-by: Duncan Sutherland <dunk2k_2000@hotmail.com> * Move model h controller under ibm/model_m (qmk#21526) * Add Bastion60 PCB to QMK (qmk#21527) Co-authored-by: jack <0x6a73@protonmail.com> Co-authored-by: Danny <nooges@users.noreply.github.com> * Add BastionTKL PCB to QMK (qmk#21530) Co-authored-by: jack <0x6a73@protonmail.com> Co-authored-by: Danny <nooges@users.noreply.github.com> * Add Bastion65 PCB to QMK (qmk#21528) Co-authored-by: jack <0x6a73@protonmail.com> * [Keyboard] boardsource/equals (qmk#21230) Co-authored-by: Drashna Jaelre <drashna@live.com> Co-authored-by: jack <0x6A73@pm.me> * [Keyboard] Add m1 keyboard (qmk#19799) Co-authored-by: adophoxia <100170946+adophoxia@users.noreply.github.com> Co-authored-by: Ryan <fauxpark@gmail.com> Co-authored-by: wb-joy <chang.li@westberrytech.com> Co-authored-by: Joy Lee <joylee.lc@foxmail.com> * [Keyboard] Phoenix Project No 1 support (qmk#21068) Co-authored-by: Ryan <fauxpark@gmail.com> Co-authored-by: Joel Challis <git@zvecr.com> Co-authored-by: Drashna Jaelre <drashna@live.com> * Revert "Equals keyboard" (qmk#21622) * Fix stuck note with square wave in additive DAC (qmk#21589) * [Keyboard] Add splitkb.com's Aurora Sofle v2 (qmk#21499) Co-authored-by: Drashna Jaelre <drashna@live.com> Co-authored-by: Ryan <fauxpark@gmail.com> Co-authored-by: Thomas Baart <mail@thomasbaart.nl> * On-each-release tap dance function (qmk#20255) Co-authored-by: Sergey Vlasov <sigprof@gmail.com> * Reduce needless precision in audio note frequency calculation (qmk#21496) * Remove needless precision in additive DAC sample generation (qmk#21498) * Amend documented `RGBLIGHT_HUE_STEP` default value (qmk#21617) * helix/rev3_4rows, helix/rev3_5rows: Fix build with converters (qmk#21608) The code for Helix rev3 boards could not be built with, e.g., `CONVERT_TO=rp2040_ce` due to invalid `#include <stdio.h>` in the keyboard level `config.h` (apparently the AVR version of that file contains guards against usage in assembly code, which was hiding the bug). Move `#include <stdio.h>` to the C sources which need it. * Unicode: move keycode aliases to a separate header (qmk#21613) * Unify MIDI note calculation with the audio feature's algorithm (qmk#21588) * [Keyboard] Add STM32f3 Discovery onekey (qmk#21625) * [Keyboard] Add Divine keyboard (qmk#21593) * Update keyboard report descriptor for USB compliance (qmk#21626) Running the "HID Tests" suite of the USB 3 Command Verifier (USB3CV) tool resulted in the following error: (HID: 3.2.61) The report descriptor returned in response to a GetDescriptor(Report) must be compliant with the HID specification. Byte Number: 37h ( 55d) Data Field: 91 02 Mnemonic: Output Value: (Variable) Errors: Error: LOGICAL MAX MUST be bounded by Report Size The error stems from the fact that logical minimum and maximum are global items, which means that the next item in a report descriptor inherits the value from the previously set value. In this case the status leds item inherited the logical minimum (=0) and maximum (=255) from the keycodes item. As the status leds set a report size of 1 bit, wich can only hold a boolean, it becomes clear that this range would never fit. The fix is straightforward, we just define a appropriate logical maximum (=1), the mismatch is solved and our keyboard now passes the compliance tests. Defining the logical minimum is redundant in this case but is kept to form a logical block. * [Keyboard] add itstleo40 PCB (qmk#21536) Co-authored-by: jack <0x6a73@protonmail.com> Co-authored-by: Drashna Jaelre <drashna@live.com> * [Keymap] update colemad crkbd (corne) keyboard (qmk#21515) Co-authored-by: Álvaro Cortés Devesa <alvarocortesdevesa@Alvaros-MacBook-Pro.local> * [Keyboard] Add ANAVI Macro Pad 12 (qmk#21547) * Updated info.json of c2 pro (qmk#21581) * quantum.h: clean up process_keycode includes (qmk#21579) * Bluetooth: driver naming cleanups (qmk#21624) * LED Matrix: driver naming cleanups (qmk#21580) * Correct "less than" to "up to" in squeezing_avr?id=layers (qmk#21639) * CLI: Improve error messages when layout key matrix row/col is OOB (qmk#21640) * Fix layout offsets for a handful of boards (qmk#21636) * keycode aliases: work around ChibiOS ch.h include guard (qmk#21497) * Remove old OLED API code (qmk#21651) * AMJKeyboard AMJ84 Develop Touch-Up (qmk#21645) * [style] refactor default keymap, phase 1 - grid-align keycodes - use QMK-native keycode aliases - update box drawings * [refactor] refactor default keymap, phase 2 - move position [5, 8] to the top row - update keycode grid alignment * [refactor] refactor default keymap, phase 3 - remove matrix position [5, 9] * Remove layout aliases from keyboard_aliases.hjson (qmk#21658) * Keychron Q11 ISO: Fix left Shift breakage due to a wrong matrix mask (qmk#21655) Keychron Q11 uses `matrix_mask` to mask away the matrix location used for `SPLIT_HAND_MATRIX_GRID` (otherwise the keyboard will constantly generate a wakeup request whenever the host enters suspend). However, the value of `matrix_mask` is actually chosen to mask away all unused locations, but it was apparently generated for the ANSI board and therefore masks away the left Shift key on the ISO board, breaking the functionality of that key. Fix `matrix_mask` to make the masking work as intended: - Set the `[4, 1]` bit to 1; this is the matrix location for the ISO left Shift. - Set the `[2, 5]` bit to 0; this is actually the matrix location which corresponds to `#define SPLIT_HAND_MATRIX_GRID A2, A15` on the left side, which was intended to be masked; apparently the wakeup problem does not happen due to `SPLIT_HAND_MATRIX_GRID_LOW_IS_RIGHT`, so the left half actually has that matrix location open. On the right side `A2, A15` is `[9, 6]`, which was masked off correctly. * Fix Dynamic Macro Compilation for avr-gcc 5.4.0 + Linux (qmk#21653) Co-authored-by: Joel Challis <git@zvecr.com> * Automata02 Alisaie Develop Touch-Up (qmk#21630) * Fix mouse-key spamming empty reports (qmk#21663) Problem: `mousekey_task` spams empty hid reports with when a mouse key is pressed, causing resource exhaustion in the USB mouse endpoint. Cause: The check whether or not to send a new mouse report would always evaluate to true if a mouse key is pressed: 1. `mouse_report` has non-zero fields and `tmpmr` is a copy of this fields. 2. `mouse_report` is set to zero, `tmpmr` has now non-zero fields. 3. `has_mouse_report_changed` compares the two and evaluates to true 4. a mouse report is sent. Fix: The check condition of `has_mouse_report_changed` will evaluate any empty record as unchanged, as mouse report data is relative and doesn't need to return to zero. An empty report will still be send by `register_mouse` on release of all mouse buttons. * audio: Don't play the first note of zero-note melodies (qmk#21661) * [Keyboard] Add Bento Box macropad (qmk#20521) * [Bug] Restore usb suspend wakeup delay (qmk#21676) * Respect USB_SUSPEND_WAKEUP_DELAY on wakeup This delay wasn't honored after removing `restart_usb_driver` from the suspend and wakeup handling. It is now re-introduced in the appropriate spot, namely after issuing a remote wakeup to a sleeping host. * Remove old, unused and commented testing code * moondrop/dash75: fix keymap (qmk#21680) * [Keyboard] Add PW88 keyboard (qmk#21482) Co-authored-by: Drashna Jaelre <drashna@live.com> * Clarify custom keycode enum requirement for PRs (qmk#21648) * Add VIA layout for Dactyl Manuform 5x6 (qmk#21649) Co-authored-by: Duncan Sutherland <dunk2k_2000@hotmail.com> * haptic: further naming cleanups (qmk#21682) * Contributing docs: add note to make sure repo is up to date (qmk#21694) * Fix `binepad/bn009` and `durgod/dgk6x/hades_ansi` keymaps (qmk#21701) * doio/kb38: fix layout (qmk#21704) * Remove more legacy config.h options (qmk#21709) * Tidy up encoder in matrix references (qmk#21718) * [Keyboard] Update usb.* of `dactyl_lightcycle` (qmk#21462) * [Keyboard] add laneware `raindrop` keyboard (qmk#21277) Co-authored-by: Sergey Vlasov <sigprof@gmail.com> Co-authored-by: Ryan <fauxpark@gmail.com> * [Keyboard] Add Projectd/65/Projectd_65_ansi (qmk#21520) Co-authored-by: Ryan <fauxpark@gmail.com> Co-authored-by: gksygithub <106651989+gksygithub@users.noreply.github.com> * [Keymap] Add Via keymap for CXT Studio (qmk#21675) * [Keyboard] fix json for nemui65 (qmk#21629) * [Keyboard] Update USB settings for dactyl_maximus (qmk#21666) * [Keyboard] Add mk47 keyboard (qmk#19797) Co-authored-by: Drashna Jaelre <drashna@live.com> Co-authored-by: Ryan <fauxpark@gmail.com> Co-authored-by: jack <0x6a73@protonmail.com> Co-authored-by: Joel Challis <git@zvecr.com> Co-authored-by: Joy <chang.li@westberrytech.com> Co-authored-by: Joy Lee <joylee.lc@foxmail.com> * correct keymap file name for tkl_f13_jis layout (qmk#21631) * [Keyboard] Refactor Caticorn PCB (qmk#21644) * Kintwin controller for kinesis keyboard, split layout (qmk#21614) Co-authored-by: Ryan <fauxpark@gmail.com> * Fix `keyboard` field for some JSON keymaps (qmk#21752) * [Keyboard] Add Shostudio Arc (qmk#21733) * [Keymap] Update rpbaptist crkbd (qmk#21674) Co-authored-by: Drashna Jaelre <drashna@live.com> Co-authored-by: Richard Baptist <richard@remote.com> * [Keymap] Update andrebrait keymap for GMMK Pro (qmk#21668) * [Keymap] submitting janat-t planck keymap (qmk#21619) Co-authored-by: Janat Taerakul <jtaerakul@indeed.com> * [keyboard] Graystudio Think6.5 V3 Support Revised (qmk#21560) Co-authored-by: jack <0x6a73@protonmail.com> Co-authored-by: Duncan Sutherland <dunk2k_2000@hotmail.com> Co-authored-by: Ryan <fauxpark@gmail.com> * Remove invalid config option from kikoslab/kl90 (qmk#21708) * [Keyboard] Add Chouchou keyboard (qmk#21699) * OLED: driver naming cleanups (qmk#21710) * Update usb information for dactyl_cc (qmk#21612) * rgblight: driver selection cleanups (qmk#21558) * [Keyboard] add willoucom/keypad (qmk#21714) * Add ScottoErgo Keyboard (qmk#20944) Co-authored-by: Drashna Jaelre <drashna@live.com> Co-authored-by: Ryan <fauxpark@gmail.com> * Add Scotto34 Keyboard (qmk#20943) Co-authored-by: Albert Y <76888457+filterpaper@users.noreply.github.com> Co-authored-by: Drashna Jaelre <drashna@live.com> Co-authored-by: Ryan <fauxpark@gmail.com> * Add ScottoInvader Keyboard (qmk#20941) Co-authored-by: Ryan <fauxpark@gmail.com> * coarse/cordillera: fix backlight config (qmk#21761) * The PoweredByPorridge layout for the Keyboardio Atreus (qmk#21737) Co-authored-by: jack <0x6a73@protonmail.com> * [Keymap] add squigglybob splitkb kyria rev2 keymap (qmk#21751) Co-authored-by: Duncan Sutherland <dunk2k_2000@hotmail.com> Co-authored-by: jack <0x6a73@protonmail.com> * [Bug] Fix compilation error for APA on ChibiOS (qmk#21773) * Add Galatea rev3 keyboard (qmk#21758) * Adding support for TAN67 PCB (qmk#21003) Co-authored-by: Drashna Jaelre <drashna@live.com> Co-authored-by: Ryan <fauxpark@gmail.com> Co-authored-by: Duncan Sutherland <dunk2k_2000@hotmail.com> * [Keyboard] Add Jelly Evolv (qmk#21407) Co-authored-by: jack <0x6a73@protonmail.com> * [Keyboard] Add linworks favepada (qmk#20794) Co-authored-by: Drashna Jaelre <drashna@live.com> Co-authored-by: Duncan Sutherland <dunk2k_2000@hotmail.com> Co-authored-by: jack <0x6a73@protonmail.com> * Initial support for ALT v2 (qmk#21754) * Initial support for CTRL v2 (qmk#21755) * Initial support for SHIFT v2 (qmk#21756) * Align SENSE75 with recent Drop additions (qmk#21757) * Fix drop/shift/v2 compilation (qmk#21800) * [Keyboard] Add city42 (qmk#21727) Co-authored-by: Joel Challis <git@zvecr.com> Co-authored-by: Duncan Sutherland <dunk2k_2000@hotmail.com> * fix: restore indicators to jellybean_raindrops (qmk#21792) After qmk#21169, rgb_matrix_indicators() was limited to running on the final render iteration. Since the jellybean_raindrops animation immediately returns false after updating a single LED, the iteration count no longer ends up high enough to render non-advanced indicators. This change also brings jellybean_raindrops more in line with raindrops. * Simplfy RGB/LED matrix effect logic (qmk#21703) * RGB Matrix: driver naming cleanups (qmk#21594) * Fix keyboards with old RGB driver names (qmk#21815) * [Doc] Improve magic keycode section (qmk#21787) * Fix keyboards with old RGB driver names (qmk#21817) * keychron/c2_pro/ansi/white: Fix column 19 in the custom matrix (qmk#21805) Although `keychron/c2_pro/ansi/rgb` and `keychron/c2_pro/ansi/white` use the same custom matrix code, the matrix layouts are slightly different; in particular, only the `keychron/c2_pro/ansi/white` board actually uses column 19. However, the handling of column 19 in the custom matrix code was broken, therefore that column did not work. Looks like the custom matrix code assumes that `SHIFT_COL_END` refers to the last column connected to the shift register, and not to the column past that; so the value of `SHIFT_COL_END` needs to be changed from 19 to 18 (columns 11...18 are connected to the shift register, and column 19 is connected to the C14 pin). Also the code which was determining `SIZE_T` and `UNSELECT_ALL_COL` had an off-by-one bug when counting the required number of bits (again due to the confusion on the `SHIFT_COL_END` meaning); this had been fixed too (the actual behavior of that part of the code did not change, because both the old and the new version select the 8 bit variant). * Fix infinite recursion in lxxt encoder logic (qmk#21819) * Bump tj-actions/changed-files from 37 to 38 (qmk#21822) Bumps [tj-actions/changed-files](https://github.com/tj-actions/changed-files) from 37 to 38. - [Release notes](https://github.com/tj-actions/changed-files/releases) - [Changelog](https://github.com/tj-actions/changed-files/blob/main/HISTORY.md) - [Commits](tj-actions/changed-files@v37...v38) --- updated-dependencies: - dependency-name: tj-actions/changed-files dependency-type: direct:production update-type: version-update:semver-major ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * Generalize AVR -Werror=array-bounds workaround (qmk#21798) GCC 13 needs the same workaround as GCC 12. To avoid having to maintain an ever-growing list of broken versions apply the workaround wherever it can be used. If at some point a fixed version of GCC is released the workaround can be disabled for those fixed versions. See qmk#17064 * Move RGBLight animations to data driven (qmk#21635) * Move RGBLight animations to data driven, 0-9 * Move RGBLight animations to data driven, A * Move RGBLight animations to data driven, B * Move RGBLight animations to data driven, C * Move RGBLight animations to data driven, D * Move RGBLight animations to data driven, E * Move RGBLight animations to data driven, F * Move RGBLight animations to data driven, G * Move RGBLight animations to data driven, H * Move RGBLight animations to data driven, handwired * Move RGBLight animations to data driven, I * Move RGBLight animations to data driven, J * Move RGBLight animations to data driven, K * Move RGBLight animations to data driven, L * Move RGBLight animations to data driven, M * Move RGBLight animations to data driven, N * Move RGBLight animations to data driven, O * Move RGBLight animations to data driven, P * Move RGBLight animations to data driven, Q * Move RGBLight animations to data driven, R * Move RGBLight animations to data driven, S * Move RGBLight animations to data driven, T * Move RGBLight animations to data driven, U * Move RGBLight animations to data driven, V * Move RGBLight animations to data driven, W * Move RGBLight animations to data driven, X * Move RGBLight animations to data driven, Y * Move RGBLight animations to data driven, Z * Fix incorrect placement * Fix build failures and mismatches * converter/ibm_terminal: Fix F0_BREAK state transition (qmk#21824) * Remove `led_matrix.hue_steps` and `led_matrix.sat_steps` from schema (qmk#21827) * Add "apm32-dfu" in keyboard.jsonschema (qmk#21842) * Corrected duration example, should be number not string (qmk#21839) * Rework info.json reference (qmk#21324) * Rework info.json reference * Apply suggestions from code review Co-authored-by: Sergey Vlasov <sigprof@gmail.com> * Update backlight.pins description * Add rgblight.driver and lowercase other driver names * Remove `split.main` and `split.matrix_grid` for now as they are not working yet --------- Co-authored-by: Sergey Vlasov <sigprof@gmail.com> * Revert changes to ChibiOS Suspend Code (qmk#21830) * Partially revert qmk#19780 * Finish * Get teensy 3.5/3.6 board files too * fix lint issue * Revert "[Bug] Restore usb suspend wakeup delay (qmk#21676)" This reverts commit e8e989f. * Apply suggestions from code review Co-authored-by: Joel Challis <git@zvecr.com> --------- Co-authored-by: Joel Challis <git@zvecr.com> * Add *_MATRIX_LED_COUNT generation (qmk#21110) * Unicode, Unicodemap and UCIS refactor (qmk#21659) * Clean up Unicode API usage in user keymaps (qmk#21849) * Breaking changes changelog, 2023q3 version (qmk#21848) Co-authored-by: James Young <18669334+noroadsleft@users.noreply.github.com> Co-authored-by: Ryan <fauxpark@gmail.com> Co-authored-by: honorless <86894501+lesshonor@users.noreply.github.com> * Remove develop notice. * Fix compilation of dynamic_keymap.c without VIA (qmk#21858) * fix 60_hhkb ASCII diagram (qmk#21813) * chore(ferris/test): visually format keymap (qmk#21851) ... and set all keys to printable characters (as described in the keymap's readme) * fix 60_jis keymap.c (qmk#21820) * Fix invalid encoder_map declaration (qmk#21868) * Update keymap.c to add encoder (qmk#21469) * Update keymap.c to add encoder * Fix build --------- Co-authored-by: zvecr <git@zvecr.com> * doio/kb16: Added timeout option for OLED boot logo. (qmk#21823) * Revert "fix 60_hhkb ASCII diagram (qmk#21813)" (qmk#21869) This reverts commit af2d6ea. * CannonKeys Meetup Pad 2023 (qmk#21806) Co-authored-by: Ryan <fauxpark@gmail.com> * [keyboard] add sweeq, a ferris/sweep variant with diodes (qmk#21597) * Update macOS install script (qmk#21854) * Abko AK84BT Layout Touch-Up (qmk#21876) * [refactor] rename LAYOUT_75_ansi to LAYOUT * [enhancement] touch-up layout * AH Haven65 Community Layout support (qmk#21880) * [refactor] rename LAYOUT to LAYOUT_65_ansi_blocker * [enhancement] enable Community Layout support * nullbitsco/snap: fix broken keymaps (qmk#21877) * chore: ignore virtual environment directory (qmk#20905) * Add 1upkeyboards Super16v3 (qmk#21665) Co-authored-by: Duncan Sutherland <dunk2k_2000@hotmail.com> * [keyboard] add redragon/k667 (qmk#21417) Co-authored-by: Duncan Sutherland <dunk2k_2000@hotmail.com> Co-authored-by: jack <0x6a73@protonmail.com> Co-authored-by: Ryan <fauxpark@gmail.com> Co-authored-by: syc <squall_sha@163.com> * Add M6-C Keyboard Firmware (qmk#21852) Co-authored-by: Joel Challis <git@zvecr.com> Co-authored-by: Drashna Jaelre <drashna@live.com> Co-authored-by: Wolf <contact@vwolf.be> * Added kiserdesigns keyboard folder and Madeline keyboard (qmk#21857) Co-authored-by: Drashna Jaelre <drashna@live.com> Co-authored-by: Ryan <fauxpark@gmail.com> * redragon/k667: Remove 2 layer VIA restriction (qmk#21889) * AH Haven80 Community Layout support (qmk#21885) * [enhancement] correct layout data * [refactor] rename LAYOUT to LAYOUT_tkl_f13_ansi_tsangan * [enhancement] enable Community Layout support * Haven80 Solder: add LAYOUT_tkl_f13_ansi_tsangan_split_bs_rshift [enhancement] * Haven80 Solder: add LAYOUT_tkl_f13_iso_tsangan_split_bs_rshift [enhancement] * Haven80 Solder: add LAYOUT_tkl_f13_iso_tsangan [enhancement] * Haven80 Solder: extend Community Layout support [enhancement] * ANAVI Macro Pad 12: rename LAYOUT to LAYOUT_ortho_4x3 (qmk#21886) [refactor] * Chosfox CF81: correct layout data (qmk#21902) * Auto-label data-driven efforts (qmk#21900) * CannonKeys Bastion75 Layout Additions (qmk#21899) * [docs] add layout/matrix diagram * [refactor] rename LAYOUT to LAYOUT_all * [enhancement] add LAYOUT_ansi_blocker_split_bs * [enhancement] add LAYOUT_ansi_blocker * [enhancement] add LAYOUT_ansi_blocker_tsangan_split_bs * [enhancement] add LAYOUT_ansi_blocker_tsangan * [enhancement] add LAYOUT_iso_blocker_split_bs * [enhancement] add LAYOUT_iso_blocker * [enhancement] add LAYOUT_iso_blocker_tsangan_split_bs * [enhancement] add LAYOUT_iso_blocker_tsangan * CannonKeys Bastion60 Layout Additions (qmk#21887) * [bugfix] correct LAYOUT_60_iso_tsangan key order * [docs] add layout/matrix diagram * [enhancement] add LAYOUT_60_tsangan_hhkb * [enhancement] add LAYOUT_60_ansi_tsangan * [enhancement] add LAYOUT_60_iso * [enhancement] add LAYOUT_60_iso_split_bs_rshift * [enhancement] add LAYOUT_60_iso_tsangan_split_bs_rshift * [enhancement] add LAYOUT_60_hhkb * [enhancement] extend Community Layout support * CannonKeys Bastion65 Layout Additions (qmk#21888) * [docs] add layout/matrix diagram * [refactor] rename LAYOUT to LAYOUT_all * [enhancement] add LAYOUT_65_ansi_blocker_split_bs * [enhancement] add LAYOUT_65_ansi_blocker * [enhancement] add LAYOUT_65_ansi_blocker_tsangan_split_bs * [enhancement] add LAYOUT_65_ansi_blocker_tsangan * [enhancement] add LAYOUT_65_iso_blocker_split_bs * [enhancement] add LAYOUT_65_iso_blocker * [enhancement] add LAYOUT_65_iso_blocker_tsangan_split_bs * [enhancement] add LAYOUT_65_iso_blocker_tsangan * [enhancement] enable Community Layout support * CannonKeys BastionTKL Layout Additions (qmk#21901) * [docs] add layout/matrix diagram * [enhancement] add LAYOUT_tkl_ansi_split_bs_rshift * [enhancement] add LAYOUT_tkl_ansi_tsangan_split_bs_rshift * [enhancement] add LAYOUT_tkl_ansi_tsangan * [enhancement] add LAYOUT_tkl_f13_ansi_tsangan * [enhancement] add LAYOUT_tkl_f13_ansi_split_bs_rshift * [enhancement] add LAYOUT_tkl_f13_ansi * [enhancement] correct LAYOUT_tkl_iso key order * [enhancement] add LAYOUT_tkl_iso_split_bs_rshift * [enhancement] add LAYOUT_tkl_iso_tsangan_split_bs_rshift * [enhancement] add LAYOUT_tkl_iso_tsangan * [enhancement] add LAYOUT_tkl_f13_iso_split_bs_rshift * [enhancement] add LAYOUT_tkl_f13_iso * [enhancement] add LAYOUT_tkl_f13_iso_tsangan_split_bs_rshift * [enhancement] add LAYOUT_tkl_f13_iso_tsangan * [enhancement] extend Community Layout support * Bump actions/checkout from 3 to 4 (qmk#21907) Bumps [actions/checkout](https://github.com/actions/checkout) from 3 to 4. - [Release notes](https://github.com/actions/checkout/releases) - [Changelog](https://github.com/actions/checkout/blob/main/CHANGELOG.md) - [Commits](actions/checkout@v3...v4) --- updated-dependencies: - dependency-name: actions/checkout dependency-type: direct:production update-type: version-update:semver-major ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * GMMK2 65% ISO: Correct layout data (qmk#21925) Correct key sizes/positioning on the right side of the board. --------- Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: takashicompany <t@kashi.company> Co-authored-by: jack <0x6a73@protonmail.com> Co-authored-by: Ryan <fauxpark@gmail.com> Co-authored-by: Joel Challis <git@zvecr.com> Co-authored-by: Drashna Jaelre <drashna@live.com> Co-authored-by: QMK Bot <hello@qmk.fm> Co-authored-by: Alabahuy <rezzaadio@gmail.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: tan-t <22813443+tan-t@users.noreply.github.com> Co-authored-by: Stefan Kerkmann <karlk90@pm.me> Co-authored-by: James Young <18669334+noroadsleft@users.noreply.github.com> Co-authored-by: Alfredo Colas Gullon <57442104+LyricPants66133@users.noreply.github.com> Co-authored-by: Danny <nooges@users.noreply.github.com> Co-authored-by: Duncan Sutherland <dunk2k_2000@hotmail.com> Co-authored-by: Andrew Kannan <andrew.kannan@gmail.com> Co-authored-by: フィルターペーパー <76888457+filterpaper@users.noreply.github.com> Co-authored-by: jack <0x6A73@pm.me> Co-authored-by: Cole Smith <smithcole@protonmail.com> Co-authored-by: Cipulot <40441626+Cipulot@users.noreply.github.com> Co-authored-by: peepeetee <43021794+peepeetee@users.noreply.github.com> Co-authored-by: Nebuleon <2391500+Nebuleon@users.noreply.github.com> Co-authored-by: era <73109780+eerraa@users.noreply.github.com> Co-authored-by: Yak <68242321+yakMM@users.noreply.github.com> Co-authored-by: DUILCHOI <48977039+duilchoi@users.noreply.github.com> Co-authored-by: Joe Scotto <contact@joescotto.com> Co-authored-by: Kumiko as a Service <Dreista@users.noreply.github.com> Co-authored-by: yulei <yuleiz@gmail.com> Co-authored-by: jestercore <33821148+jestercore@users.noreply.github.com> Co-authored-by: Less/Rikki <86894501+lesshonor@users.noreply.github.com> Co-authored-by: Jerome Berclaz <jerome@percipient.ai> Co-authored-by: cole smith <38364556+daysgobye@users.noreply.github.com> Co-authored-by: jonylee@hfd <108282809+jonylee1986@users.noreply.github.com> Co-authored-by: adophoxia <100170946+adophoxia@users.noreply.github.com> Co-authored-by: wb-joy <chang.li@westberrytech.com> Co-authored-by: Joy Lee <joylee.lc@foxmail.com> Co-authored-by: Rico <95101980+mymakercorner@users.noreply.github.com> Co-authored-by: Nick Brassel <nick@tzarc.org> Co-authored-by: harveysch <126267034+harveysch@users.noreply.github.com> Co-authored-by: Thomas Baart <mail@thomasbaart.nl> Co-authored-by: leep-frog <66687468+leep-frog@users.noreply.github.com> Co-authored-by: Sergey Vlasov <sigprof@gmail.com> Co-authored-by: Its TLeo <134472524+ItsTLeo@users.noreply.github.com> Co-authored-by: Álvaro Cortés <alvarocortesdevesa@gmail.com> Co-authored-by: Álvaro Cortés Devesa <alvarocortesdevesa@Alvaros-MacBook-Pro.local> Co-authored-by: Leon Anavi <leon@anavi.org> Co-authored-by: lalalademaxiya1 <66767061+lalalademaxiya1@users.noreply.github.com> Co-authored-by: 3geek14 <nerd.of.pi@gmail.com> Co-authored-by: Synth and Keys <117340582+Synth-and-Keys@users.noreply.github.com> Co-authored-by: SmollChungus <38044391+SmollChungus@users.noreply.github.com> Co-authored-by: Hugh Rawlinson <hughrawlinson@users.noreply.github.com> Co-authored-by: gskygithub <106651989+gskygithub@users.noreply.github.com> Co-authored-by: gksygithub <106651989+gksygithub@users.noreply.github.com> Co-authored-by: Brian McKenna <brian@brianmckenna.org> Co-authored-by: spbgzh <72414103+spbgzh@users.noreply.github.com> Co-authored-by: HorrorTroll <sonicvipduc@gmail.com> Co-authored-by: alvicstep <alvicstep@gmail.com> Co-authored-by: mechlovin <57231893+mechlovin@users.noreply.github.com> Co-authored-by: Richard Baptist <rpbaptist@users.noreply.github.com> Co-authored-by: Richard Baptist <richard@remote.com> Co-authored-by: Andre Brait <andrebrait@gmail.com> Co-authored-by: Janat Taerakul <janat.taerakul@gmail.com> Co-authored-by: Janat Taerakul <jtaerakul@indeed.com> Co-authored-by: Yizhen Liu <62583086+edwardslau@users.noreply.github.com> Co-authored-by: Dane Lipscombe <danelipscombe@gmail.com> Co-authored-by: Wilfried JEANNIARD <willou.com@gmail.com> Co-authored-by: Joe Scotto <8194147+joe-scotto@users.noreply.github.com> Co-authored-by: Powered by Porridge <11315349+PoweredByPorridge@users.noreply.github.com> Co-authored-by: squigglybob <squigglybob@users.noreply.github.com> Co-authored-by: studiokestra <74369928+studiokestra@users.noreply.github.com> Co-authored-by: Pangorin <68218885+Pangorin@users.noreply.github.com> Co-authored-by: owlab2 <64054049+lizhenmingdirk@users.noreply.github.com> Co-authored-by: Controller Works <103382872+controller-works@users.noreply.github.com> Co-authored-by: Thomas Weißschuh <thomas@t-8ch.de> Co-authored-by: patrickxiong <patrick.xiong@gmail.com> Co-authored-by: HiryKun <1951086367@qq.com> Co-authored-by: Andy Smith <andysmithfal@users.noreply.github.com> Co-authored-by: Adam Price <komidore64@gmail.com> Co-authored-by: Laneware <68452738+Laneware@users.noreply.github.com> Co-authored-by: Lasse Luttermann <lasse.luttermann@gmail.com> Co-authored-by: Andrew Kannan <andrew.kannan@klaviyo.com> Co-authored-by: Idan Kamara <i@idank.me> Co-authored-by: Jay Greco <jayv.greco@gmail.com> Co-authored-by: Frank Ebel <git@ebel.page> Co-authored-by: ziptyze <mwcordier@gmail.com> Co-authored-by: temp4gh <temp4bbs@163.com> Co-authored-by: syc <squall_sha@163.com> Co-authored-by: Wolf Van Herreweghe <wolfvanh@gmail.com> Co-authored-by: Wolf <contact@vwolf.be> Co-authored-by: NCKiser <37519411+NCKiser@users.noreply.github.com>
Co-authored-by: Sergey Vlasov <sigprof@gmail.com>
* [Keyboard] Phoenix Project No 1 support (qmk#21068) Co-authored-by: Ryan <fauxpark@gmail.com> Co-authored-by: Joel Challis <git@zvecr.com> Co-authored-by: Drashna Jaelre <drashna@live.com> * Revert "Equals keyboard" (qmk#21622) * Fix stuck note with square wave in additive DAC (qmk#21589) * [Keyboard] Add splitkb.com's Aurora Sofle v2 (qmk#21499) Co-authored-by: Drashna Jaelre <drashna@live.com> Co-authored-by: Ryan <fauxpark@gmail.com> Co-authored-by: Thomas Baart <mail@thomasbaart.nl> * On-each-release tap dance function (qmk#20255) Co-authored-by: Sergey Vlasov <sigprof@gmail.com> * Reduce needless precision in audio note frequency calculation (qmk#21496) * Remove needless precision in additive DAC sample generation (qmk#21498) * Amend documented `RGBLIGHT_HUE_STEP` default value (qmk#21617) * helix/rev3_4rows, helix/rev3_5rows: Fix build with converters (qmk#21608) The code for Helix rev3 boards could not be built with, e.g., `CONVERT_TO=rp2040_ce` due to invalid `#include <stdio.h>` in the keyboard level `config.h` (apparently the AVR version of that file contains guards against usage in assembly code, which was hiding the bug). Move `#include <stdio.h>` to the C sources which need it. * Unicode: move keycode aliases to a separate header (qmk#21613) * Unify MIDI note calculation with the audio feature's algorithm (qmk#21588) * [Keyboard] Add STM32f3 Discovery onekey (qmk#21625) * [Keyboard] Add Divine keyboard (qmk#21593) * Update keyboard report descriptor for USB compliance (qmk#21626) Running the "HID Tests" suite of the USB 3 Command Verifier (USB3CV) tool resulted in the following error: (HID: 3.2.61) The report descriptor returned in response to a GetDescriptor(Report) must be compliant with the HID specification. Byte Number: 37h ( 55d) Data Field: 91 02 Mnemonic: Output Value: (Variable) Errors: Error: LOGICAL MAX MUST be bounded by Report Size The error stems from the fact that logical minimum and maximum are global items, which means that the next item in a report descriptor inherits the value from the previously set value. In this case the status leds item inherited the logical minimum (=0) and maximum (=255) from the keycodes item. As the status leds set a report size of 1 bit, wich can only hold a boolean, it becomes clear that this range would never fit. The fix is straightforward, we just define a appropriate logical maximum (=1), the mismatch is solved and our keyboard now passes the compliance tests. Defining the logical minimum is redundant in this case but is kept to form a logical block. * [Keyboard] add itstleo40 PCB (qmk#21536) Co-authored-by: jack <0x6a73@protonmail.com> Co-authored-by: Drashna Jaelre <drashna@live.com> * [Keymap] update colemad crkbd (corne) keyboard (qmk#21515) Co-authored-by: Álvaro Cortés Devesa <alvarocortesdevesa@Alvaros-MacBook-Pro.local> * [Keyboard] Add ANAVI Macro Pad 12 (qmk#21547) * Updated info.json of c2 pro (qmk#21581) * quantum.h: clean up process_keycode includes (qmk#21579) * Bluetooth: driver naming cleanups (qmk#21624) * LED Matrix: driver naming cleanups (qmk#21580) * Correct "less than" to "up to" in squeezing_avr?id=layers (qmk#21639) * CLI: Improve error messages when layout key matrix row/col is OOB (qmk#21640) * Fix layout offsets for a handful of boards (qmk#21636) * keycode aliases: work around ChibiOS ch.h include guard (qmk#21497) * Remove old OLED API code (qmk#21651) * AMJKeyboard AMJ84 Develop Touch-Up (qmk#21645) * [style] refactor default keymap, phase 1 - grid-align keycodes - use QMK-native keycode aliases - update box drawings * [refactor] refactor default keymap, phase 2 - move position [5, 8] to the top row - update keycode grid alignment * [refactor] refactor default keymap, phase 3 - remove matrix position [5, 9] * Remove layout aliases from keyboard_aliases.hjson (qmk#21658) * Keychron Q11 ISO: Fix left Shift breakage due to a wrong matrix mask (qmk#21655) Keychron Q11 uses `matrix_mask` to mask away the matrix location used for `SPLIT_HAND_MATRIX_GRID` (otherwise the keyboard will constantly generate a wakeup request whenever the host enters suspend). However, the value of `matrix_mask` is actually chosen to mask away all unused locations, but it was apparently generated for the ANSI board and therefore masks away the left Shift key on the ISO board, breaking the functionality of that key. Fix `matrix_mask` to make the masking work as intended: - Set the `[4, 1]` bit to 1; this is the matrix location for the ISO left Shift. - Set the `[2, 5]` bit to 0; this is actually the matrix location which corresponds to `#define SPLIT_HAND_MATRIX_GRID A2, A15` on the left side, which was intended to be masked; apparently the wakeup problem does not happen due to `SPLIT_HAND_MATRIX_GRID_LOW_IS_RIGHT`, so the left half actually has that matrix location open. On the right side `A2, A15` is `[9, 6]`, which was masked off correctly. * Fix Dynamic Macro Compilation for avr-gcc 5.4.0 + Linux (qmk#21653) Co-authored-by: Joel Challis <git@zvecr.com> * Automata02 Alisaie Develop Touch-Up (qmk#21630) * Fix mouse-key spamming empty reports (qmk#21663) Problem: `mousekey_task` spams empty hid reports with when a mouse key is pressed, causing resource exhaustion in the USB mouse endpoint. Cause: The check whether or not to send a new mouse report would always evaluate to true if a mouse key is pressed: 1. `mouse_report` has non-zero fields and `tmpmr` is a copy of this fields. 2. `mouse_report` is set to zero, `tmpmr` has now non-zero fields. 3. `has_mouse_report_changed` compares the two and evaluates to true 4. a mouse report is sent. Fix: The check condition of `has_mouse_report_changed` will evaluate any empty record as unchanged, as mouse report data is relative and doesn't need to return to zero. An empty report will still be send by `register_mouse` on release of all mouse buttons. * audio: Don't play the first note of zero-note melodies (qmk#21661) * [Keyboard] Add Bento Box macropad (qmk#20521) * [Bug] Restore usb suspend wakeup delay (qmk#21676) * Respect USB_SUSPEND_WAKEUP_DELAY on wakeup This delay wasn't honored after removing `restart_usb_driver` from the suspend and wakeup handling. It is now re-introduced in the appropriate spot, namely after issuing a remote wakeup to a sleeping host. * Remove old, unused and commented testing code * moondrop/dash75: fix keymap (qmk#21680) * [Keyboard] Add PW88 keyboard (qmk#21482) Co-authored-by: Drashna Jaelre <drashna@live.com> * Clarify custom keycode enum requirement for PRs (qmk#21648) * Add VIA layout for Dactyl Manuform 5x6 (qmk#21649) Co-authored-by: Duncan Sutherland <dunk2k_2000@hotmail.com> * haptic: further naming cleanups (qmk#21682) * Contributing docs: add note to make sure repo is up to date (qmk#21694) * Fix `binepad/bn009` and `durgod/dgk6x/hades_ansi` keymaps (qmk#21701) * doio/kb38: fix layout (qmk#21704) * Remove more legacy config.h options (qmk#21709) * Tidy up encoder in matrix references (qmk#21718) * [Keyboard] Update usb.* of `dactyl_lightcycle` (qmk#21462) * [Keyboard] add laneware `raindrop` keyboard (qmk#21277) Co-authored-by: Sergey Vlasov <sigprof@gmail.com> Co-authored-by: Ryan <fauxpark@gmail.com> * [Keyboard] Add Projectd/65/Projectd_65_ansi (qmk#21520) Co-authored-by: Ryan <fauxpark@gmail.com> Co-authored-by: gksygithub <106651989+gksygithub@users.noreply.github.com> * [Keymap] Add Via keymap for CXT Studio (qmk#21675) * [Keyboard] fix json for nemui65 (qmk#21629) * [Keyboard] Update USB settings for dactyl_maximus (qmk#21666) * [Keyboard] Add mk47 keyboard (qmk#19797) Co-authored-by: Drashna Jaelre <drashna@live.com> Co-authored-by: Ryan <fauxpark@gmail.com> Co-authored-by: jack <0x6a73@protonmail.com> Co-authored-by: Joel Challis <git@zvecr.com> Co-authored-by: Joy <chang.li@westberrytech.com> Co-authored-by: Joy Lee <joylee.lc@foxmail.com> * correct keymap file name for tkl_f13_jis layout (qmk#21631) * [Keyboard] Refactor Caticorn PCB (qmk#21644) * Kintwin controller for kinesis keyboard, split layout (qmk#21614) Co-authored-by: Ryan <fauxpark@gmail.com> * Fix `keyboard` field for some JSON keymaps (qmk#21752) * [Keyboard] Add Shostudio Arc (qmk#21733) * [Keymap] Update rpbaptist crkbd (qmk#21674) Co-authored-by: Drashna Jaelre <drashna@live.com> Co-authored-by: Richard Baptist <richard@remote.com> * [Keymap] Update andrebrait keymap for GMMK Pro (qmk#21668) * [Keymap] submitting janat-t planck keymap (qmk#21619) Co-authored-by: Janat Taerakul <jtaerakul@indeed.com> * [keyboard] Graystudio Think6.5 V3 Support Revised (qmk#21560) Co-authored-by: jack <0x6a73@protonmail.com> Co-authored-by: Duncan Sutherland <dunk2k_2000@hotmail.com> Co-authored-by: Ryan <fauxpark@gmail.com> * Remove invalid config option from kikoslab/kl90 (qmk#21708) * [Keyboard] Add Chouchou keyboard (qmk#21699) * OLED: driver naming cleanups (qmk#21710) * Update usb information for dactyl_cc (qmk#21612) * rgblight: driver selection cleanups (qmk#21558) * [Keyboard] add willoucom/keypad (qmk#21714) * Add ScottoErgo Keyboard (qmk#20944) Co-authored-by: Drashna Jaelre <drashna@live.com> Co-authored-by: Ryan <fauxpark@gmail.com> * Add Scotto34 Keyboard (qmk#20943) Co-authored-by: Albert Y <76888457+filterpaper@users.noreply.github.com> Co-authored-by: Drashna Jaelre <drashna@live.com> Co-authored-by: Ryan <fauxpark@gmail.com> * Add ScottoInvader Keyboard (qmk#20941) Co-authored-by: Ryan <fauxpark@gmail.com> * coarse/cordillera: fix backlight config (qmk#21761) * The PoweredByPorridge layout for the Keyboardio Atreus (qmk#21737) Co-authored-by: jack <0x6a73@protonmail.com> * [Keymap] add squigglybob splitkb kyria rev2 keymap (qmk#21751) Co-authored-by: Duncan Sutherland <dunk2k_2000@hotmail.com> Co-authored-by: jack <0x6a73@protonmail.com> * [Bug] Fix compilation error for APA on ChibiOS (qmk#21773) * Add Galatea rev3 keyboard (qmk#21758) * Adding support for TAN67 PCB (qmk#21003) Co-authored-by: Drashna Jaelre <drashna@live.com> Co-authored-by: Ryan <fauxpark@gmail.com> Co-authored-by: Duncan Sutherland <dunk2k_2000@hotmail.com> * [Keyboard] Add Jelly Evolv (qmk#21407) Co-authored-by: jack <0x6a73@protonmail.com> * [Keyboard] Add linworks favepada (qmk#20794) Co-authored-by: Drashna Jaelre <drashna@live.com> Co-authored-by: Duncan Sutherland <dunk2k_2000@hotmail.com> Co-authored-by: jack <0x6a73@protonmail.com> * Initial support for ALT v2 (qmk#21754) * Initial support for CTRL v2 (qmk#21755) * Initial support for SHIFT v2 (qmk#21756) * Align SENSE75 with recent Drop additions (qmk#21757) * Fix drop/shift/v2 compilation (qmk#21800) * [Keyboard] Add city42 (qmk#21727) Co-authored-by: Joel Challis <git@zvecr.com> Co-authored-by: Duncan Sutherland <dunk2k_2000@hotmail.com> * fix: restore indicators to jellybean_raindrops (qmk#21792) After qmk#21169, rgb_matrix_indicators() was limited to running on the final render iteration. Since the jellybean_raindrops animation immediately returns false after updating a single LED, the iteration count no longer ends up high enough to render non-advanced indicators. This change also brings jellybean_raindrops more in line with raindrops. * Simplfy RGB/LED matrix effect logic (qmk#21703) * RGB Matrix: driver naming cleanups (qmk#21594) * Fix keyboards with old RGB driver names (qmk#21815) * [Doc] Improve magic keycode section (qmk#21787) * Fix keyboards with old RGB driver names (qmk#21817) * keychron/c2_pro/ansi/white: Fix column 19 in the custom matrix (qmk#21805) Although `keychron/c2_pro/ansi/rgb` and `keychron/c2_pro/ansi/white` use the same custom matrix code, the matrix layouts are slightly different; in particular, only the `keychron/c2_pro/ansi/white` board actually uses column 19. However, the handling of column 19 in the custom matrix code was broken, therefore that column did not work. Looks like the custom matrix code assumes that `SHIFT_COL_END` refers to the last column connected to the shift register, and not to the column past that; so the value of `SHIFT_COL_END` needs to be changed from 19 to 18 (columns 11...18 are connected to the shift register, and column 19 is connected to the C14 pin). Also the code which was determining `SIZE_T` and `UNSELECT_ALL_COL` had an off-by-one bug when counting the required number of bits (again due to the confusion on the `SHIFT_COL_END` meaning); this had been fixed too (the actual behavior of that part of the code did not change, because both the old and the new version select the 8 bit variant). * Fix infinite recursion in lxxt encoder logic (qmk#21819) * Bump tj-actions/changed-files from 37 to 38 (qmk#21822) Bumps [tj-actions/changed-files](https://github.com/tj-actions/changed-files) from 37 to 38. - [Release notes](https://github.com/tj-actions/changed-files/releases) - [Changelog](https://github.com/tj-actions/changed-files/blob/main/HISTORY.md) - [Commits](tj-actions/changed-files@v37...v38) --- updated-dependencies: - dependency-name: tj-actions/changed-files dependency-type: direct:production update-type: version-update:semver-major ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * Generalize AVR -Werror=array-bounds workaround (qmk#21798) GCC 13 needs the same workaround as GCC 12. To avoid having to maintain an ever-growing list of broken versions apply the workaround wherever it can be used. If at some point a fixed version of GCC is released the workaround can be disabled for those fixed versions. See qmk#17064 * Move RGBLight animations to data driven (qmk#21635) * Move RGBLight animations to data driven, 0-9 * Move RGBLight animations to data driven, A * Move RGBLight animations to data driven, B * Move RGBLight animations to data driven, C * Move RGBLight animations to data driven, D * Move RGBLight animations to data driven, E * Move RGBLight animations to data driven, F * Move RGBLight animations to data driven, G * Move RGBLight animations to data driven, H * Move RGBLight animations to data driven, handwired * Move RGBLight animations to data driven, I * Move RGBLight animations to data driven, J * Move RGBLight animations to data driven, K * Move RGBLight animations to data driven, L * Move RGBLight animations to data driven, M * Move RGBLight animations to data driven, N * Move RGBLight animations to data driven, O * Move RGBLight animations to data driven, P * Move RGBLight animations to data driven, Q * Move RGBLight animations to data driven, R * Move RGBLight animations to data driven, S * Move RGBLight animations to data driven, T * Move RGBLight animations to data driven, U * Move RGBLight animations to data driven, V * Move RGBLight animations to data driven, W * Move RGBLight animations to data driven, X * Move RGBLight animations to data driven, Y * Move RGBLight animations to data driven, Z * Fix incorrect placement * Fix build failures and mismatches * converter/ibm_terminal: Fix F0_BREAK state transition (qmk#21824) * Remove `led_matrix.hue_steps` and `led_matrix.sat_steps` from schema (qmk#21827) * Add "apm32-dfu" in keyboard.jsonschema (qmk#21842) * Corrected duration example, should be number not string (qmk#21839) * Rework info.json reference (qmk#21324) * Rework info.json reference * Apply suggestions from code review Co-authored-by: Sergey Vlasov <sigprof@gmail.com> * Update backlight.pins description * Add rgblight.driver and lowercase other driver names * Remove `split.main` and `split.matrix_grid` for now as they are not working yet --------- Co-authored-by: Sergey Vlasov <sigprof@gmail.com> * Revert changes to ChibiOS Suspend Code (qmk#21830) * Partially revert qmk#19780 * Finish * Get teensy 3.5/3.6 board files too * fix lint issue * Revert "[Bug] Restore usb suspend wakeup delay (qmk#21676)" This reverts commit e8e989f. * Apply suggestions from code review Co-authored-by: Joel Challis <git@zvecr.com> --------- Co-authored-by: Joel Challis <git@zvecr.com> * Add *_MATRIX_LED_COUNT generation (qmk#21110) * Unicode, Unicodemap and UCIS refactor (qmk#21659) * Clean up Unicode API usage in user keymaps (qmk#21849) * Breaking changes changelog, 2023q3 version (qmk#21848) Co-authored-by: James Young <18669334+noroadsleft@users.noreply.github.com> Co-authored-by: Ryan <fauxpark@gmail.com> Co-authored-by: honorless <86894501+lesshonor@users.noreply.github.com> * Remove develop notice. * Fix compilation of dynamic_keymap.c without VIA (qmk#21858) * fix 60_hhkb ASCII diagram (qmk#21813) * chore(ferris/test): visually format keymap (qmk#21851) ... and set all keys to printable characters (as described in the keymap's readme) * fix 60_jis keymap.c (qmk#21820) * Fix invalid encoder_map declaration (qmk#21868) * Update keymap.c to add encoder (qmk#21469) * Update keymap.c to add encoder * Fix build --------- Co-authored-by: zvecr <git@zvecr.com> * doio/kb16: Added timeout option for OLED boot logo. (qmk#21823) * Revert "fix 60_hhkb ASCII diagram (qmk#21813)" (qmk#21869) This reverts commit af2d6ea. * CannonKeys Meetup Pad 2023 (qmk#21806) Co-authored-by: Ryan <fauxpark@gmail.com> * [keyboard] add sweeq, a ferris/sweep variant with diodes (qmk#21597) * Update macOS install script (qmk#21854) * Abko AK84BT Layout Touch-Up (qmk#21876) * [refactor] rename LAYOUT_75_ansi to LAYOUT * [enhancement] touch-up layout * AH Haven65 Community Layout support (qmk#21880) * [refactor] rename LAYOUT to LAYOUT_65_ansi_blocker * [enhancement] enable Community Layout support * nullbitsco/snap: fix broken keymaps (qmk#21877) * chore: ignore virtual environment directory (qmk#20905) * Add 1upkeyboards Super16v3 (qmk#21665) Co-authored-by: Duncan Sutherland <dunk2k_2000@hotmail.com> * [keyboard] add redragon/k667 (qmk#21417) Co-authored-by: Duncan Sutherland <dunk2k_2000@hotmail.com> Co-authored-by: jack <0x6a73@protonmail.com> Co-authored-by: Ryan <fauxpark@gmail.com> Co-authored-by: syc <squall_sha@163.com> * Add M6-C Keyboard Firmware (qmk#21852) Co-authored-by: Joel Challis <git@zvecr.com> Co-authored-by: Drashna Jaelre <drashna@live.com> Co-authored-by: Wolf <contact@vwolf.be> * Added kiserdesigns keyboard folder and Madeline keyboard (qmk#21857) Co-authored-by: Drashna Jaelre <drashna@live.com> Co-authored-by: Ryan <fauxpark@gmail.com> * redragon/k667: Remove 2 layer VIA restriction (qmk#21889) * AH Haven80 Community Layout support (qmk#21885) * [enhancement] correct layout data * [refactor] rename LAYOUT to LAYOUT_tkl_f13_ansi_tsangan * [enhancement] enable Community Layout support * Haven80 Solder: add LAYOUT_tkl_f13_ansi_tsangan_split_bs_rshift [enhancement] * Haven80 Solder: add LAYOUT_tkl_f13_iso_tsangan_split_bs_rshift [enhancement] * Haven80 Solder: add LAYOUT_tkl_f13_iso_tsangan [enhancement] * Haven80 Solder: extend Community Layout support [enhancement] * ANAVI Macro Pad 12: rename LAYOUT to LAYOUT_ortho_4x3 (qmk#21886) [refactor] * Chosfox CF81: correct layout data (qmk#21902) * Auto-label data-driven efforts (qmk#21900) * CannonKeys Bastion75 Layout Additions (qmk#21899) * [docs] add layout/matrix diagram * [refactor] rename LAYOUT to LAYOUT_all * [enhancement] add LAYOUT_ansi_blocker_split_bs * [enhancement] add LAYOUT_ansi_blocker * [enhancement] add LAYOUT_ansi_blocker_tsangan_split_bs * [enhancement] add LAYOUT_ansi_blocker_tsangan * [enhancement] add LAYOUT_iso_blocker_split_bs * [enhancement] add LAYOUT_iso_blocker * [enhancement] add LAYOUT_iso_blocker_tsangan_split_bs * [enhancement] add LAYOUT_iso_blocker_tsangan * CannonKeys Bastion60 Layout Additions (qmk#21887) * [bugfix] correct LAYOUT_60_iso_tsangan key order * [docs] add layout/matrix diagram * [enhancement] add LAYOUT_60_tsangan_hhkb * [enhancement] add LAYOUT_60_ansi_tsangan * [enhancement] add LAYOUT_60_iso * [enhancement] add LAYOUT_60_iso_split_bs_rshift * [enhancement] add LAYOUT_60_iso_tsangan_split_bs_rshift * [enhancement] add LAYOUT_60_hhkb * [enhancement] extend Community Layout support * CannonKeys Bastion65 Layout Additions (qmk#21888) * [docs] add layout/matrix diagram * [refactor] rename LAYOUT to LAYOUT_all * [enhancement] add LAYOUT_65_ansi_blocker_split_bs * [enhancement] add LAYOUT_65_ansi_blocker * [enhancement] add LAYOUT_65_ansi_blocker_tsangan_split_bs * [enhancement] add LAYOUT_65_ansi_blocker_tsangan * [enhancement] add LAYOUT_65_iso_blocker_split_bs * [enhancement] add LAYOUT_65_iso_blocker * [enhancement] add LAYOUT_65_iso_blocker_tsangan_split_bs * [enhancement] add LAYOUT_65_iso_blocker_tsangan * [enhancement] enable Community Layout support * CannonKeys BastionTKL Layout Additions (qmk#21901) * [docs] add layout/matrix diagram * [enhancement] add LAYOUT_tkl_ansi_split_bs_rshift * [enhancement] add LAYOUT_tkl_ansi_tsangan_split_bs_rshift * [enhancement] add LAYOUT_tkl_ansi_tsangan * [enhancement] add LAYOUT_tkl_f13_ansi_tsangan * [enhancement] add LAYOUT_tkl_f13_ansi_split_bs_rshift * [enhancement] add LAYOUT_tkl_f13_ansi * [enhancement] correct LAYOUT_tkl_iso key order * [enhancement] add LAYOUT_tkl_iso_split_bs_rshift * [enhancement] add LAYOUT_tkl_iso_tsangan_split_bs_rshift * [enhancement] add LAYOUT_tkl_iso_tsangan * [enhancement] add LAYOUT_tkl_f13_iso_split_bs_rshift * [enhancement] add LAYOUT_tkl_f13_iso * [enhancement] add LAYOUT_tkl_f13_iso_tsangan_split_bs_rshift * [enhancement] add LAYOUT_tkl_f13_iso_tsangan * [enhancement] extend Community Layout support * Bump actions/checkout from 3 to 4 (qmk#21907) Bumps [actions/checkout](https://github.com/actions/checkout) from 3 to 4. - [Release notes](https://github.com/actions/checkout/releases) - [Changelog](https://github.com/actions/checkout/blob/main/CHANGELOG.md) - [Commits](actions/checkout@v3...v4) --- updated-dependencies: - dependency-name: actions/checkout dependency-type: direct:production update-type: version-update:semver-major ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * GMMK2 65% ISO: Correct layout data (qmk#21925) Correct key sizes/positioning on the right side of the board. * [Docs] Improve contrast for warnings in dark mode (qmk#21928) * GMMK2 96% ANSI: Correct layout data (qmk#21937) [enhancement] * Cipulot EC Theca Community Layout Support (qmk#21913) * Alias `LAYOUT_all` as `LAYOUT_tkl_ansi` The data for `LAYOUT_all` and `LAYOUT_tkl_ansi` is identical, so alias the former to the latter to reduce redundancy. [refactor] * Rename `LAYOUT_tkl_ansi_tsangan_wkl` to `LAYOUT_tkl_ansi_wkl` [refactor] * Enable Community Layout support [enhancement] * customMK EVO70 R2 Layout Additions (qmk#21916) * Rename `LAYOUT` to `LAYOUT_all` [refactor] * Add layout/matrix diagram [docs] * Correct layout data Reduce the gap between the encoder/macro section and the alphanumeric section by 0.25u. [enhancement] * Add `LAYOUT_ansi_blocker` [enhancement] * Add `LAYOUT_iso_blocker` [enhancement] * Fix redundant `layout_aliases` keys per dunk2k [bugfix] * [Keyboard] Add Binepad Pixie (qmk#21524) * Add Binepad Pixie * Post waffle87 and drashna review recommendations applied * Post-drashna code review suggestions applied Co-authored-by: Drashna Jaelre <drashna@live.com> * post zvecr review --------- Co-authored-by: Drashna Jaelre <drashna@live.com> * dnworks FRLTKL Community Layout support (qmk#21922) * Add layout/matrix diagram [docs] * Rename `LAYOUT` to `LAYOUT_all` [refactor] * Add `LAYOUT_tkl_nofrow_iso_split_bs_rshift` [enhancement] * Add `LAYOUT_tkl_nofrow_iso` [enhancement] * Add `LAYOUT_tkl_nofrow_iso_tsangan_split_bs_rshift` [enhancement] * Add `LAYOUT_tkl_nofrow_iso_tsangan` [enhancement] * Add `LAYOUT_tkl_nofrow_iso_wkl_split_bs_rshift` [enhancement] * Add `LAYOUT_tkl_nofrow_iso_wkl` [enhancement] * Add `LAYOUT_tkl_nofrow_ansi_split_bs_rshift` [enhancement] * Add `LAYOUT_tkl_nofrow_ansi` [enhancement] * Add `LAYOUT_tkl_nofrow_ansi_tsangan_split_bs_rshift` [enhancement] * Add `LAYOUT_tkl_nofrow_ansi_tsangan` [enhancement] * Add `LAYOUT_tkl_nofrow_ansi_wkl_split_bs_rshift` [enhancement] * Add `LAYOUT_tkl_nofrow_ansi_wkl` [enhancement] * Enable Community Layout support [enhancement] * Repair malformed links in keyboard README files (qmk#21969) * Remove oversize binaries (qmk#21976) This stops a situation where a user could end up flashing oversize firmware soft bricking hardware. * Drewkeys Mercury65 Layout Additions (qmk#21924) * Rename `LAYOUT` to `LAYOUT_all` [refactor] * Add layout/matrix diagram [docs] * Correct `LAYOUT_all` data Correct the order of the Up arrow and End keys. [enhancement] * Tidy-up `info.json` formatting - add line breaks between physical rows - remove trailing spaces [style] * Add `LAYOUT_iso_blocker_split_bs` [enhancement] * Add `LAYOUT_iso_blocker_tsangan_split_bs` [enhancement] * Add `LAYOUT_ansi_blocker_split_bs` [enhancement] * Add `LAYOUT_ansi_blocker_tsangan_split_bs` [enhancement] * Gray Studio Think65 v3 Layout Additions (qmk#21930) * Add layout/matrix diagram [docs] * Format `info.json` as strict JSON [style] * Add `LAYOUT_all` [enhancement] * Refactor keymaps to use `LAYOUT_all` Refactor the `default` and `via` keymaps to use the `LAYOUT_all` macro. - change second Left Shift key to `KC_NUBS` - insert `KC_NUHS` keycode - update keycode grid alignment - remove trailing whitespace [refactor] * Rename `LAYOUT_65_blocker` to `LAYOUT_ansi_blocker` [refactor] * Rename `LAYOUT_65_iso_blocker` to `LAYOUT_iso_blocker` [refactor] * Correct `LAYOUT_iso_blocker` matrix data The Quote key was mapped as [1, 14] instead of [2, 12]. [bugfix] * Add `LAYOUT_ansi_blocker_split_bs` [enhancement] * Add `LAYOUT_ansi_blocker_tsangan_split_bs` [enhancement] * Add `LAYOUT_ansi_blocker_tsangan` [enhancement] * Add `LAYOUT_iso_blocker_split_bs` [enhancement] * Add `LAYOUT_iso_blocker_tsangan_split_bs` [enhancement] * Add `LAYOUT_iso_blocker_tsangan` [enhancement] * Handwired ScottoKeebs Configurator Updates (qmk#21990) * ScottoKeebs ScottoAlp: Correct layout data [enhancement] * ScottoKeebs ScottoCMD: Correct layout data [enhancement] * ScottoKeebs ScottoErgo: Correct layout data Add hand separation and vertical stagger to the layout data. [enhancement] * ScottoKeebs ScottoFrog: Correct layout data [enhancement] * ScottoKeebs ScottoGame: Correct layout data [enhancement] * ScottoKeebs ScottoInvader: Correct layout data [enhancement] * ScottoKeebs ScottoNum: Correct layout data [enhancement] * ScottoKeebs ScottoSplit: Correct layout data [enhancement] * ScottoKeebs ScottoStarter: Correct layout data [enhancement] * Inland MK47 Community Layout Support (qmk#21998) * Rename `LAYOUT` to `LAYOUT_planck_mit` [refactor] * Enable Community Layout support [enhancement] * Touch-up keymaps - grid-align keycodes [style] * Jaykeeb Sebelas: Standardize Layout Names (qmk#21999) * Rename `LAYOUT_65_ansi_blocker` to `LAYOUT_ansi_blocker` [refactor] * Rename `LAYOUT_65_ansi_blocker_split_bs` to `LAYOUT_ansi_blocker_split_bs` [refactor] * Rename `LAYOUT_65_ansi_blocker_tsangan` to `LAYOUT_ansi_blocker_tsangan` [refactor] * Rename `LAYOUT_65_ansi_blocker_tsangan_split_bs` to `LAYOUT_ansi_blocker_tsangan_split_bs` [refactor] * Keebio NyquistPad Layout Updates (qmk#22000) * Rename `LAYOUT` to `LAYOUT_ortho_5x6` [refactor] * Add `LAYOUT_ortho_5x6_1x2u` [enhancement] * Kibou Suisei Layout Addition (qmk#22001) * Add layout/matrix diagram [docs] * Rename `LAYOUT` to `LAYOUT_65_ansi_blocker_tsangan_wkl_split_bs` [refactor] * Add `LAYOUT_65_ansi_blocker_tsangan_wkl` [enhancement] * Kopibeng XT87 Layout Additions & Touch-Up (qmk#22002) * Add `LAYOUT_tkl_ansi_wkl_split_bs_rshift` [enhancement] * Add `LAYOUT_tkl_ansi_wkl` [enhancement] * Add `LAYOUT_tkl_iso_wkl_split_bs_rshift` [enhancement] * Add `LAYOUT_tkl_iso_wkl` [enhancement] * Correct layout data Correct key positioning on the function row. [enhancement] * Friendly-format `info.json` [style] * Move ISO Enter to Home Row Corrects the implementation of the ISO Community Layouts. [bugfix] * Update to 'peterfalken' userspace configurations (qmk#21836) * Krado Industries Promenade Layout Additions (qmk#22014) * Add layout/matrix diagram [docs] * Rename `LAYOUT` to `LAYOUT_all` [refactor] * Correct key order [bugfix] * Add `LAYOUT_2x2u` [enhancement] * Add `LAYOUT_2x3u` [enhancement] * Add `LAYOUT_6u_space` [enhancement] * Add `LAYOUT_7u_space` [enhancement] * Touch-up `via` keymap Update keycode grid alignment to match the `default` keymap. [style] * Linworks Fave60a Community Layout Support (qmk#22015) * Friendly-format `info.json` [style] * Correct layout data [chore] * Add layout/matrix diagram [docs] * Rename `LAYOUT` to `LAYOUT_60_tsangan_hhkb` [refactor] * Add `LAYOUT_60_ansi_tsangan` [enhancement] * Enable Community Layout support [enhancement] * Maze Studio Jocker 1800 Layout Additions (qmk#22016) * Add layout/matrix diagram [docs] * Rename `LAYOUT` to `LAYOUT_ansi_split_bs` [refactor] * Add `LAYOUT_ansi` [enhancement] * Add `LAYOUT_ansi_wkl_split_bs` [enhancement] * Add `LAYOUT_ansi_wkl` [enhancement] * Mechlovin Zed65 910 Layout Standardization (qmk#22018) * Add layout/matrix diagram [docs] * Rename `LAYOUT_65_iso_tsangan_split_bs` to `LAYOUT_iso_split_bs` [refactor] * Rename `LAYOUT_65_ansi_tsangan` to `LAYOUT_ansi` [refactor] * Rename `LAYOUT_65_ansi_blocker_tsangan` to `LAYOUT_ansi_blocker_tsangan` [refactor] * Rename `LAYOUT_65_ansi_tsangan_split_bs` to `LAYOUT_all` [refactor] * Mode M256-WS Community Layout Support (qmk#22020) * Add layout/matrix diagram [docs] * Rename `LAYOUT` to `LAYOUT_all` [refactor] * Add `LAYOUT_65_ansi_blocker_split_bs` [enhancement] * Add `LAYOUT_65_ansi_blocker` [enhancement] * Add `LAYOUT_65_ansi_blocker_tsangan_split_bs` [enhancement] * Add `LAYOUT_65_ansi_blocker_tsangan` [enhancement] * Add `LAYOUT_65_iso_blocker_split_bs` [enhancement] * Add `LAYOUT_65_iso_blocker` [enhancement] * patch `LAYOUT_65_iso_blocker_split_bs` * patch `LAYOUT_65_iso_blocker` * Add `LAYOUT_65_iso_blocker_tsangan_split_bs` [enhancement] * Add `LAYOUT_65_iso_blocker_tsangan` [enhancement] * Enable Community Layout support [enhancement] * Mode M256-WH Community Layout Support (qmk#22019) * Add layout/matrix diagram [docs] * Rename `LAYOUT` to `LAYOUT_65_ansi_blocker` [refactor] * Add `LAYOUT_65_ansi_blocker_tsangan` [enhancement] * Enable Community Layout support [enhancement] * MonsGeek M1: Correct layout data (qmk#22026) Apply vertical offset to the arrow keys. [chore] * `qmk format-json`: Add an in-place mode to format json command (qmk#21610) * QVEX Tech Lynepad2 Layout Update (qmk#22030) * Add layout/matrix diagram [docs] * Update layout data Update layout data to disambiguate the key/joystick/thumbpad functions in Configurator. [chore] * OwLab Jelly Evolv Solder Layout Additions (qmk#22029) * Add layout/matrix diagram [docs] * Friendly-format `info.json` [style] * Rename `LAYOUT` to `LAYOUT_all` [refactor] * Add `LAYOUT_ansi_blocker` [enhancement] * Add `LAYOUT_ansi_blocker_split_bs` [enhancement] * Add `LAYOUT_ansi_blocker_tsangan_split_bs` [enhancement] * Add `LAYOUT_ansi_blocker_tsangan` [enhancement] * Add `LAYOUT_iso_blocker` [enhancement] * Add `LAYOUT_iso_blocker_split_bs` [enhancement] * Add `LAYOUT_iso_blocker_tsangan_split_bs` [enhancement] * Add `LAYOUT_iso_blocker_tsangan` [enhancement] * Nix Studio Lilith Layout Additions (qmk#22028) * Add layout/matrix diagram [docs] * Sort keys in `info.json` [style] * Add `LAYOUT_65_ansi_blocker_split_bs` [enhancement] * Add `LAYOUT_65_ansi_blocker_tsangan` [enhancement] * Add `LAYOUT_65_iso_blocker_split_bs` [enhancement] * Add `LAYOUT_65_iso_blocker_tsangan_split_bs` [enhancement] * Extend Community Layout support [enhancement] * Neson Design Nico Layout Additions (qmk#22027) * Add layout/matrix diagram [docs] * Rename `LAYOUT` to `LAYOUT_65_xt_ansi_blocker_split_bs` [refactor] * Add `LAYOUT_65_xt_ansi_blocker` [enhancement] * Add `LAYOUT_65_xt_ansi_blocker_tsangan` [enhancement] * Add `LAYOUT_65_xt_ansi_blocker_tsangan_split_bs` [enhancement] * Touch-up keymaps - grid-align keycodes - use four-space indent - use QMK-native keycode aliases [refactor] * Update `via` keymap Update the `via` keymaps to have the same key assignments as the `default` keymap, which is more fleshed out. [chore] * [Keyboard] Add splitkb.com's Aurora Helix (qmk#21871) Co-authored-by: Less/Rikki <86894501+lesshonor@users.noreply.github.com> Co-authored-by: Ryan <fauxpark@gmail.com> * [Keyboard] add 1upkeyboards 1upslider8 (qmk#21546) Co-authored-by: Duncan Sutherland <dunk2k_2000@hotmail.com> Co-authored-by: jack <0x6a73@protonmail.com> Co-authored-by: Drashna Jaelre <drashna@live.com> * [Keyboard] Adding Treasure TYPE-9 series III (qmk#21748) Co-authored-by: Duncan Sutherland <dunk2k_2000@hotmail.com> Co-authored-by: jack <0x6a73@protonmail.com> Co-authored-by: Joel Challis <git@zvecr.com> Co-authored-by: Drashna Jaelre <drashna@live.com> * Raindrop Layout Updates (qmk#22032) * Add layout/matrix diagram [docs] * Rename `LAYOUT_all` to `LAYOUT_64_ansi_split_bs` [refactor] * Add `LAYOUT_60_ansi_split_bs_rshift` [enhancement] * Rico Phoenix Project No. 1 Layout Additions (qmk#22035) * Add layout/matrix diagram [docs] * Rename `LAYOUT` to `LAYOUT_all` [refactor] * Add `LAYOUT_65_ansi_rwkl_split_bs` [enhancement] * Add `LAYOUT_65_ansi_rwkl` [enhancement] * Add `LAYOUT_65_ansi_wkl_split_bs` [enhancement] * Add `LAYOUT_65_ansi_wkl` [enhancement] * Add `LAYOUT_65_iso_rwkl_split_bs` [enhancement] * Add `LAYOUT_65_iso_rwkl` [enhancement] * Add `LAYOUT_65_iso_wkl_split_bs` [enhancement] * Add `LAYOUT_65_iso_wkl` [enhancement] * RuckerMachine RM Fullsize Layout Additions (qmk#22036) * Add layout/matrix diagram [docs] * Rename `LAYOUT` to `LAYOUT_all` [refactor] * Add `LAYOUT_fullsize_108_ansi` [enhancement] * Add `LAYOUT_fullsize_108_ansi_tsangan` [enhancement] * Sho Studios ARC Layout Addition (qmk#22037) * Add layout/matrix diagram [docs] * Format `info.json` Apply four-space indent. [style] * Add `LAYOUT_ansi_split_bs` [enhancement] * Move Digitizer to "Software Features" (qmk#22031) * Add missing gpio and chibios defs to uart.h (qmk#22033) * Fix paragon encoder pinout for soldered version (qmk#22043) * geistmaschine/macropod: fix issues waking up after suspend on apple devices (qmk#22023) * Add all RGB Matrix Animations to city42 (qmk#21992) * Viktus Styrka Topre Layout Standardization and Touch-Up (qmk#22044) * Add layout/matrix diagram [docs] * Alias `LAYOUT_all` to `LAYOUT_split_6u` `LAYOUT_all` and `LAYOUT_split_6u` represent the same matrix positions and sequence, so implement the former as an alias. [refactor] * Touch-up keymaps - grid-align keycodes - use QMK-native keycode aliases [chore] * Friendly-format `info.json` [style] * Correct layout data Correct key sizes/positioning on the bottom row. [chore] * Rename `LAYOUT_2u_6u` to `LAYOUT_65_xt_ansi_blocker` [refactor] * Rename `LAYOUT_2u_7u` to `LAYOUT_65_xt_ansi_blocker_tsangan` [refactor] * Rename `LAYOUT_split_6u` to `LAYOUT_65_xt_ansi_blocker_split_bs` [refactor] * Rename `LAYOUT_split_7u` to `LAYOUT_65_xt_ansi_blocker_tsangan_split_bs` [refactor] * Wolf Neely65 Touch-Up (qmk#22045) * Add layout/matrix diagram [docs] * Friendly-format `info.json` [style] * Touch-up keymaps - grid-align keycodes - use QMK-native keycode aliases [refactor] * Fix keymaps Fix keycodes being assigned out of order with respect to `info.json`. - move XT function keys to left side - move keycodes for position [2, 14] from Home Row to Number Row [bugfix] * Rename `LAYOUT` to `LAYOUT_65_xt_ansi_blocker_tsangan_wkl_split_bs` [refactor] * Add `LAYOUT_65_xt_ansi_blocker_tsangan_wkl` [enhancement] * Wolf Silhouette Community Layout Support (qmk#22052) * Add layout/matrix diagram [docs] * Friendly-format `info.json` [style] * Touch-up layout data Move the ISO Hash key to the main key area. [chore] * Rename `LAYOUT` to `LAYOUT_all` [refactor] * Add `LAYOUT_tkl_nofrow_ansi_split_bs_rshift` [enhancement] * Add `LAYOUT_tkl_nofrow_ansi` [enhancement] * Add `LAYOUT_tkl_nofrow_ansi_tsangan_split_bs_rshift` [enhancement] * Add `LAYOUT_tkl_nofrow_ansi_tsangan` [enhancement] * Add `LAYOUT_tkl_nofrow_ansi_wkl_split_bs_rshift` [enhancement] * Add `LAYOUT_tkl_nofrow_ansi_wkl` [enhancement] * Add `LAYOUT_tkl_nofrow_iso_split_bs_rshift` [enhancement] * Add `LAYOUT_tkl_nofrow_iso` [enhancement] * Add `LAYOUT_tkl_nofrow_iso_tsangan_split_bs_rshift` [enhancement] * Add `LAYOUT_tkl_nofrow_iso_tsangan` [enhancement] * Add `LAYOUT_tkl_nofrow_iso_wkl_split_bs_rshift` [enhancement] * Add `LAYOUT_tkl_nofrow_iso_wkl` [enhancement] * Enable Community Layout support [enhancement] * Wolf Ziggurat Layout Additions (qmk#22053) * Add layout/matrix diagram [docs] * Friendly-format `info.json` [style] * Touch-up layout data Move the ISO Hash key to the main key area. [chore] * Rename `LAYOUT` to `LAYOUT_all` [refactor] * Add `LAYOUT_65_xt_ansi_blocker_tsangan_split_bs` [enhancement] * Add `LAYOUT_65_xt_ansi_blocker_tsangan` [enhancement] * Add `LAYOUT_65_xt_iso_blocker_tsangan_split_bs` [enhancement] * Add `LAYOUT_65_xt_iso_blocker_tsangan` [enhancement] * Adding support for the Pteron56 (PCB) keyboard (qmk#21731) * Add missing gpio include to ps2 vendor (qmk#22063) * [Keyboard] Add riot pad (qmk#22060) Co-authored-by: ShandonCodes <shandon@shandon.codes> * DZTech Pluto Community Layout support (qmk#22069) * Add layout/matrix diagram [docs] * Friendly-format `info.json` - apply four-space indent - sort JSON keys in layout objects [style] * Correct `LAYOUT_all` data Correct key sizes/positions of: - ANSI Backslash [1, 13] - ANSI Enter [1, 14] - Fn [3, 13] [chore] * Correct `LAYOUT_iso` data Correct position of Fn key [3, 13]. [chore] * Add `LAYOUT_tkl_nofrow_ansi_split_bs_rshift` [enhancement] * Add `LAYOUT_tkl_nofrow_ansi` [enhancement] * Add `LAYOUT_tkl_nofrow_ansi_tsangan_split_bs_rshift` [enhancement] * Add `LAYOUT_tkl_nofrow_ansi_tsangan` [enhancement] * Add `LAYOUT_tkl_nofrow_ansi_wkl_split_bs_rshift` [enhancement] * Add `LAYOUT_tkl_nofrow_ansi_wkl` [enhancement] * Add `LAYOUT_tkl_nofrow_iso_split_bs_rshift` [enhancement] * Add `LAYOUT_tkl_nofrow_iso` [enhancement] * Add `LAYOUT_tkl_nofrow_iso_tsangan_split_bs_rshift` [enhancement] * Add `LAYOUT_tkl_nofrow_iso_tsangan` [enhancement] * Add `LAYOUT_tkl_nofrow_iso_wkl_split_bs_rshift` [enhancement] * Add `LAYOUT_tkl_nofrow_iso_wkl` [enhancement] * Enable Community Layout support [enhancement] * Touch-up keymaps Update keycode grid alignment. [style] * Ubest VN Community Layout Support (qmk#22070) * Add layout/matrix diagram [docs] * Rename `LAYOUT` to `LAYOUT_all` [refactor] * Add `LAYOUT_65_ansi_split_bs` [enhancement] * Add `LAYOUT_65_ansi` [enhancement] * Add `LAYOUT_65_iso_split_bs` [enhancement] * Add `LAYOUT_65_iso` [enhancement] * Enable Community Layout support [enhancement] * Touch-up keymaps - apply four-space indent - grid-align keycodes [style] * Add OLED logo DP3000 macropad (qmk#21936) * SapuSeven MacroPad12: rename LAYOUT to LAYOUT_ortho_3x4 (qmk#22081) * Alchemist Keyboards OGRN Layout Addition (qmk#22080) * Add layout/matrix diagram [docs] * Friendly-format `info.json` [style] * Add `LAYOUT_ortho_5x4` [enhancement] * Touch-up keymaps - update grid-alignment (layer-to-layer consistency) - fix box drawings [style] * Extend Community Layout support Add `ortho_5x4` to supported Community Layouts. [enhancement] * amend 96_(ansi|iso) community_layouts in keyboards/ (qmk#22066) * Restrict "feature" and "animation" keys (qmk#21895) * [Keyboard] Momokai Aurora (qmk#20419) Co-authored-by: Albert Y <76888457+filterpaper@users.noreply.github.com> Co-authored-by: Ryan <fauxpark@gmail.com> Co-authored-by: Drashna Jaelre <drashna@live.com> Co-authored-by: Joel Challis <git@zvecr.com> * [Keyboard] add Quokka keyboard (qmk#20979) Co-authored-by: Drashna Jaelre <drashna@live.com> Co-authored-by: Ryan <fauxpark@gmail.com> * apply 66_(ansi|iso) to keyboards (qmk#21834) * Add ScottoSlant Keyboard (qmk#20942) Co-authored-by: Ryan <fauxpark@gmail.com> * Add ScottoMouse Handwired Macropad (qmk#21074) Co-authored-by: Joel Challis <git@zvecr.com> Co-authored-by: Ryan <fauxpark@gmail.com> Co-authored-by: Albert Y <76888457+filterpaper@users.noreply.github.com> * Add ScottoFly Keyboard (qmk#20939) Co-authored-by: Ryan <fauxpark@gmail.com> * Add ScottoMacrodeck Macropad (qmk#20946) Co-authored-by: Drashna Jaelre <drashna@live.com> Co-authored-by: Ryan <fauxpark@gmail.com> * Add ScottoLong Keyboard (qmk#20938) Co-authored-by: Ryan <fauxpark@gmail.com> * Add funtions of Encoder and VIA for redragon/k667 (qmk#21917) Co-authored-by: Duncan Sutherland <dunk2k_2000@hotmail.com> Co-authored-by: jack <0x6a73@protonmail.com> Co-authored-by: Ryan <fauxpark@gmail.com> Co-authored-by: Less/Rikki <86894501+lesshonor@users.noreply.github.com> Co-authored-by: Joel Challis <git@zvecr.com> Co-authored-by: syc <squall_sha@163.com> * [Keyboard] Add rpk-001 keyboard (qmk#21042) Co-authored-by: Joel Challis <git@zvecr.com> Co-authored-by: Drashna Jaelre <drashna@live.com> Co-authored-by: Duncan Sutherland <dunk2k_2000@hotmail.com> Co-authored-by: Joy <chang.li@westberrytech.com> * amend 68_(ansi|iso) community_layouts in keyboards/ (qmk#21835) * [Keyboard] Add QCK-75 (qmk#21180) Co-authored-by: Ryan <fauxpark@gmail.com> Co-authored-by: Joel Challis <git@zvecr.com> Co-authored-by: Drashna Jaelre <drashna@live.com> Co-authored-by: Duncan Sutherland <dunk2k_2000@hotmail.com> * Quarkeys Studio Z67 Solder Community Layout Support (qmk#22095) * Quarkeys Studio Z67 Hotswap Community Layout Support (qmk#22096) * kimiko: mirror encoder pins between halves (qmk#21728) * Keychron q9 plus (qmk#21399) Co-authored-by: Ryan <fauxpark@gmail.com> Co-authored-by: Drashna Jaelre <drashna@live.com> * add dz60v2 keyboard (qmk#21862) Co-authored-by: Duncan Sutherland <dunk2k_2000@hotmail.com> Co-authored-by: Less/Rikki <86894501+lesshonor@users.noreply.github.com> Co-authored-by: Drashna Jaelre <drashna@live.com> Co-authored-by: Ryan <fauxpark@gmail.com> * add odinmini layout (qmk#21983) Co-authored-by: Ryan <fauxpark@gmail.com> --------- Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: Rico <95101980+mymakercorner@users.noreply.github.com> Co-authored-by: Ryan <fauxpark@gmail.com> Co-authored-by: Joel Challis <git@zvecr.com> Co-authored-by: Drashna Jaelre <drashna@live.com> Co-authored-by: QMK Bot <hello@qmk.fm> Co-authored-by: Nick Brassel <nick@tzarc.org> Co-authored-by: Nebuleon <2391500+Nebuleon@users.noreply.github.com> Co-authored-by: harveysch <126267034+harveysch@users.noreply.github.com> Co-authored-by: Thomas Baart <mail@thomasbaart.nl> Co-authored-by: leep-frog <66687468+leep-frog@users.noreply.github.com> Co-authored-by: Sergey Vlasov <sigprof@gmail.com> Co-authored-by: Duncan Sutherland <dunk2k_2000@hotmail.com> Co-authored-by: Stefan Kerkmann <karlk90@pm.me> Co-authored-by: era <73109780+eerraa@users.noreply.github.com> Co-authored-by: Its TLeo <134472524+ItsTLeo@users.noreply.github.com> Co-authored-by: jack <0x6a73@protonmail.com> Co-authored-by: Álvaro Cortés <alvarocortesdevesa@gmail.com> Co-authored-by: Álvaro Cortés Devesa <alvarocortesdevesa@Alvaros-MacBook-Pro.local> Co-authored-by: Leon Anavi <leon@anavi.org> Co-authored-by: lalalademaxiya1 <66767061+lalalademaxiya1@users.noreply.github.com> Co-authored-by: 3geek14 <nerd.of.pi@gmail.com> Co-authored-by: James Young <18669334+noroadsleft@users.noreply.github.com> Co-authored-by: Synth and Keys <117340582+Synth-and-Keys@users.noreply.github.com> Co-authored-by: SmollChungus <38044391+SmollChungus@users.noreply.github.com> Co-authored-by: Hugh Rawlinson <hughrawlinson@users.noreply.github.com> Co-authored-by: gskygithub <106651989+gskygithub@users.noreply.github.com> Co-authored-by: gksygithub <106651989+gksygithub@users.noreply.github.com> Co-authored-by: Brian McKenna <brian@brianmckenna.org> Co-authored-by: spbgzh <72414103+spbgzh@users.noreply.github.com> Co-authored-by: jonylee@hfd <108282809+jonylee1986@users.noreply.github.com> Co-authored-by: Joy <chang.li@westberrytech.com> Co-authored-by: Joy Lee <joylee.lc@foxmail.com> Co-authored-by: HorrorTroll <sonicvipduc@gmail.com> Co-authored-by: alvicstep <alvicstep@gmail.com> Co-authored-by: mechlovin <57231893+mechlovin@users.noreply.github.com> Co-authored-by: Richard Baptist <rpbaptist@users.noreply.github.com> Co-authored-by: Richard Baptist <richard@remote.com> Co-authored-by: Andre Brait <andrebrait@gmail.com> Co-authored-by: Janat Taerakul <janat.taerakul@gmail.com> Co-authored-by: Janat Taerakul <jtaerakul@indeed.com> Co-authored-by: Yizhen Liu <62583086+edwardslau@users.noreply.github.com> Co-authored-by: Dane Lipscombe <danelipscombe@gmail.com> Co-authored-by: Wilfried JEANNIARD <willou.com@gmail.com> Co-authored-by: Joe Scotto <8194147+joe-scotto@users.noreply.github.com> Co-authored-by: Albert Y <76888457+filterpaper@users.noreply.github.com> Co-authored-by: Powered by Porridge <11315349+PoweredByPorridge@users.noreply.github.com> Co-authored-by: squigglybob <squigglybob@users.noreply.github.com> Co-authored-by: studiokestra <74369928+studiokestra@users.noreply.github.com> Co-authored-by: Pangorin <68218885+Pangorin@users.noreply.github.com> Co-authored-by: owlab2 <64054049+lizhenmingdirk@users.noreply.github.com> Co-authored-by: DUILCHOI <48977039+duilchoi@users.noreply.github.com> Co-authored-by: Controller Works <103382872+controller-works@users.noreply.github.com> Co-authored-by: Less/Rikki <86894501+lesshonor@users.noreply.github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: Thomas Weißschuh <thomas@t-8ch.de> Co-authored-by: patrickxiong <patrick.xiong@gmail.com> Co-authored-by: HiryKun <1951086367@qq.com> Co-authored-by: Andy Smith <andysmithfal@users.noreply.github.com> Co-authored-by: Adam Price <komidore64@gmail.com> Co-authored-by: Laneware <68452738+Laneware@users.noreply.github.com> Co-authored-by: Lasse Luttermann <lasse.luttermann@gmail.com> Co-authored-by: Andrew Kannan <andrew.kannan@klaviyo.com> Co-authored-by: Idan Kamara <i@idank.me> Co-authored-by: Jay Greco <jayv.greco@gmail.com> Co-authored-by: Frank Ebel <git@ebel.page> Co-authored-by: ziptyze <mwcordier@gmail.com> Co-authored-by: temp4gh <temp4bbs@163.com> Co-authored-by: syc <squall_sha@163.com> Co-authored-by: Wolf Van Herreweghe <wolfvanh@gmail.com> Co-authored-by: Wolf <contact@vwolf.be> Co-authored-by: NCKiser <37519411+NCKiser@users.noreply.github.com> Co-authored-by: Vino Rodrigues <366673+vinorodrigues@users.noreply.github.com> Co-authored-by: Falco Gerritsjans <FalcoG@users.noreply.github.com> Co-authored-by: Dasky <32983009+daskygit@users.noreply.github.com> Co-authored-by: Luis Garcia <luis@bitjester.com> Co-authored-by: TreasureTypes <73436366+TreasureTypes@users.noreply.github.com> Co-authored-by: Constantine Karos <36245370+karosc@users.noreply.github.com> Co-authored-by: Yak <68242321+yakMM@users.noreply.github.com> Co-authored-by: Moritz Plattner <moritz.plattner@gmx.net> Co-authored-by: Filip Sund <filip.sund@gmail.com> Co-authored-by: Shandon Anderson <CheeseL0ver@users.noreply.github.com> Co-authored-by: ShandonCodes <shandon@shandon.codes> Co-authored-by: Deddia Permana <deddiapermana97@gmail.com> Co-authored-by: peepeetee <43021794+peepeetee@users.noreply.github.com> Co-authored-by: Dan Ford <dan-github2@dlford.co> Co-authored-by: Poring <97579443+PoringH@users.noreply.github.com> Co-authored-by: Charles Strahan <charles@cstrahan.com> Co-authored-by: dztech <moyi4681@users.noreply.github.com>
Co-authored-by: Sergey Vlasov <sigprof@gmail.com>
Co-authored-by: Sergey Vlasov <sigprof@gmail.com>
Co-authored-by: Sergey Vlasov <sigprof@gmail.com>
Co-authored-by: Sergey Vlasov <sigprof@gmail.com>
Description
The current tap dance logic only provides a hook for every key tap, but not for every key release in the dance. This PR adds another hook function that is called for every key release in the tap dance. It is only enabled when the
TAP_DANCE_ON_EACH_RELEASE
variable is defined inconfig.h
(which will prevent any effects on current users).Types of Changes
Issues Fixed or Closed by This PR
Checklist