-
-
Notifications
You must be signed in to change notification settings - Fork 39.4k
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
[Bug] Fix mouse-key spamming empty reports #21663
Merged
KarlK90
merged 1 commit into
qmk:develop
from
KarlK90:fix/mouse-key-empty-report-spamming
Aug 2, 2023
Merged
[Bug] Fix mouse-key spamming empty reports #21663
KarlK90
merged 1 commit into
qmk:develop
from
KarlK90:fix/mouse-key-empty-report-spamming
Aug 2, 2023
Conversation
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
KarlK90
changed the title
Fix mouse-key spamming empty reports
[Bug] Fix mouse-key spamming empty reports
Aug 1, 2023
evgeniyp
added a commit
to evgeniyp/qmk_firmware
that referenced
this pull request
Aug 1, 2023
fauxpark
approved these changes
Aug 1, 2023
KarlK90
force-pushed
the
fix/mouse-key-empty-report-spamming
branch
from
August 2, 2023 08:39
cdf24a0
to
2094a1a
Compare
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.
KarlK90
force-pushed
the
fix/mouse-key-empty-report-spamming
branch
from
August 2, 2023 10:10
2094a1a
to
850d3b6
Compare
drashna
approved these changes
Aug 2, 2023
antempus
added a commit
to antempus/qmk_firmware
that referenced
this pull request
Sep 6, 2023
* [Keyboard] Add minidivide (qmk#19870) Co-authored-by: jack <[email protected]> Co-authored-by: Ryan <[email protected]> Co-authored-by: Joel Challis <[email protected]> Co-authored-by: Drashna Jaelre <[email protected]> * 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] <[email protected]> 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 <[email protected]> Co-authored-by: jack <[email protected]> * 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 <[email protected]> * 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 <[email protected]> * Update keymaps --------- Co-authored-by: jack <[email protected]> * 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 <[email protected]> Co-authored-by: Cole Smith <[email protected]> * [Keyboard] Add EC Theca (qmk#21233) Co-authored-by: jack <[email protected]> * [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 <[email protected]> Co-authored-by: Ryan <[email protected]> * Fix paragon keyboard encoder step (qmk#21582) * [Keyboard] Add linworks fave60a (qmk#20795) Co-authored-by: Drashna Jaelre <[email protected]> Co-authored-by: Ryan <[email protected]> Co-authored-by: jack <[email protected]> * [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 <[email protected]> Co-authored-by: Drashna Jaelre <[email protected]> Co-authored-by: Ryan <[email protected]> Co-authored-by: Joel Challis <[email protected]> * 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 <[email protected]> * Move model h controller under ibm/model_m (qmk#21526) * Add Bastion60 PCB to QMK (qmk#21527) Co-authored-by: jack <[email protected]> Co-authored-by: Danny <[email protected]> * Add BastionTKL PCB to QMK (qmk#21530) Co-authored-by: jack <[email protected]> Co-authored-by: Danny <[email protected]> * Add Bastion65 PCB to QMK (qmk#21528) Co-authored-by: jack <[email protected]> * [Keyboard] boardsource/equals (qmk#21230) Co-authored-by: Drashna Jaelre <[email protected]> Co-authored-by: jack <[email protected]> * [Keyboard] Add m1 keyboard (qmk#19799) Co-authored-by: adophoxia <[email protected]> Co-authored-by: Ryan <[email protected]> Co-authored-by: wb-joy <[email protected]> Co-authored-by: Joy Lee <[email protected]> * [Keyboard] Phoenix Project No 1 support (qmk#21068) Co-authored-by: Ryan <[email protected]> Co-authored-by: Joel Challis <[email protected]> Co-authored-by: Drashna Jaelre <[email protected]> * 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 <[email protected]> Co-authored-by: Ryan <[email protected]> Co-authored-by: Thomas Baart <[email protected]> * On-each-release tap dance function (qmk#20255) Co-authored-by: Sergey Vlasov <[email protected]> * 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 <[email protected]> Co-authored-by: Drashna Jaelre <[email protected]> * [Keymap] update colemad crkbd (corne) keyboard (qmk#21515) Co-authored-by: Álvaro Cortés Devesa <[email protected]> * [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 <[email protected]> * 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 <[email protected]> * Clarify custom keycode enum requirement for PRs (qmk#21648) * Add VIA layout for Dactyl Manuform 5x6 (qmk#21649) Co-authored-by: Duncan Sutherland <[email protected]> * 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 <[email protected]> Co-authored-by: Ryan <[email protected]> * [Keyboard] Add Projectd/65/Projectd_65_ansi (qmk#21520) Co-authored-by: Ryan <[email protected]> Co-authored-by: gksygithub <[email protected]> * [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 <[email protected]> Co-authored-by: Ryan <[email protected]> Co-authored-by: jack <[email protected]> Co-authored-by: Joel Challis <[email protected]> Co-authored-by: Joy <[email protected]> Co-authored-by: Joy Lee <[email protected]> * 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 <[email protected]> * 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 <[email protected]> Co-authored-by: Richard Baptist <[email protected]> * [Keymap] Update andrebrait keymap for GMMK Pro (qmk#21668) * [Keymap] submitting janat-t planck keymap (qmk#21619) Co-authored-by: Janat Taerakul <[email protected]> * [keyboard] Graystudio Think6.5 V3 Support Revised (qmk#21560) Co-authored-by: jack <[email protected]> Co-authored-by: Duncan Sutherland <[email protected]> Co-authored-by: Ryan <[email protected]> * 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 <[email protected]> Co-authored-by: Ryan <[email protected]> * Add Scotto34 Keyboard (qmk#20943) Co-authored-by: Albert Y <[email protected]> Co-authored-by: Drashna Jaelre <[email protected]> Co-authored-by: Ryan <[email protected]> * Add ScottoInvader Keyboard (qmk#20941) Co-authored-by: Ryan <[email protected]> * coarse/cordillera: fix backlight config (qmk#21761) * The PoweredByPorridge layout for the Keyboardio Atreus (qmk#21737) Co-authored-by: jack <[email protected]> * [Keymap] add squigglybob splitkb kyria rev2 keymap (qmk#21751) Co-authored-by: Duncan Sutherland <[email protected]> Co-authored-by: jack <[email protected]> * [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 <[email protected]> Co-authored-by: Ryan <[email protected]> Co-authored-by: Duncan Sutherland <[email protected]> * [Keyboard] Add Jelly Evolv (qmk#21407) Co-authored-by: jack <[email protected]> * [Keyboard] Add linworks favepada (qmk#20794) Co-authored-by: Drashna Jaelre <[email protected]> Co-authored-by: Duncan Sutherland <[email protected]> Co-authored-by: jack <[email protected]> * 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 <[email protected]> Co-authored-by: Duncan Sutherland <[email protected]> * 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] <[email protected]> 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 <[email protected]> * 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 <[email protected]> * 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 <[email protected]> --------- Co-authored-by: Joel Challis <[email protected]> * 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 <[email protected]> Co-authored-by: Ryan <[email protected]> Co-authored-by: honorless <[email protected]> * 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 <[email protected]> * 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 <[email protected]> * [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 <[email protected]> * [keyboard] add redragon/k667 (qmk#21417) Co-authored-by: Duncan Sutherland <[email protected]> Co-authored-by: jack <[email protected]> Co-authored-by: Ryan <[email protected]> Co-authored-by: syc <[email protected]> * Add M6-C Keyboard Firmware (qmk#21852) Co-authored-by: Joel Challis <[email protected]> Co-authored-by: Drashna Jaelre <[email protected]> Co-authored-by: Wolf <[email protected]> * Added kiserdesigns keyboard folder and Madeline keyboard (qmk#21857) Co-authored-by: Drashna Jaelre <[email protected]> Co-authored-by: Ryan <[email protected]> * 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] <[email protected]> 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] <[email protected]> Co-authored-by: takashicompany <[email protected]> Co-authored-by: jack <[email protected]> Co-authored-by: Ryan <[email protected]> Co-authored-by: Joel Challis <[email protected]> Co-authored-by: Drashna Jaelre <[email protected]> Co-authored-by: QMK Bot <[email protected]> Co-authored-by: Alabahuy <[email protected]> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: tan-t <[email protected]> Co-authored-by: Stefan Kerkmann <[email protected]> Co-authored-by: James Young <[email protected]> Co-authored-by: Alfredo Colas Gullon <[email protected]> Co-authored-by: Danny <[email protected]> Co-authored-by: Duncan Sutherland <[email protected]> Co-authored-by: Andrew Kannan <[email protected]> Co-authored-by: フィルターペーパー <[email protected]> Co-authored-by: jack <[email protected]> Co-authored-by: Cole Smith <[email protected]> Co-authored-by: Cipulot <[email protected]> Co-authored-by: peepeetee <[email protected]> Co-authored-by: Nebuleon <[email protected]> Co-authored-by: era <[email protected]> Co-authored-by: Yak <[email protected]> Co-authored-by: DUILCHOI <[email protected]> Co-authored-by: Joe Scotto <[email protected]> Co-authored-by: Kumiko as a Service <[email protected]> Co-authored-by: yulei <[email protected]> Co-authored-by: jestercore <[email protected]> Co-authored-by: Less/Rikki <[email protected]> Co-authored-by: Jerome Berclaz <[email protected]> Co-authored-by: cole smith <[email protected]> Co-authored-by: jonylee@hfd <[email protected]> Co-authored-by: adophoxia <[email protected]> Co-authored-by: wb-joy <[email protected]> Co-authored-by: Joy Lee <[email protected]> Co-authored-by: Rico <[email protected]> Co-authored-by: Nick Brassel <[email protected]> Co-authored-by: harveysch <[email protected]> Co-authored-by: Thomas Baart <[email protected]> Co-authored-by: leep-frog <[email protected]> Co-authored-by: Sergey Vlasov <[email protected]> Co-authored-by: Its TLeo <[email protected]> Co-authored-by: Álvaro Cortés <[email protected]> Co-authored-by: Álvaro Cortés Devesa <[email protected]> Co-authored-by: Leon Anavi <[email protected]> Co-authored-by: lalalademaxiya1 <[email protected]> Co-authored-by: 3geek14 <[email protected]> Co-authored-by: Synth and Keys <[email protected]> Co-authored-by: SmollChungus <[email protected]> Co-authored-by: Hugh Rawlinson <[email protected]> Co-authored-by: gskygithub <[email protected]> Co-authored-by: gksygithub <[email protected]> Co-authored-by: Brian McKenna <[email protected]> Co-authored-by: spbgzh <[email protected]> Co-authored-by: HorrorTroll <[email protected]> Co-authored-by: alvicstep <[email protected]> Co-authored-by: mechlovin <[email protected]> Co-authored-by: Richard Baptist <[email protected]> Co-authored-by: Richard Baptist <[email protected]> Co-authored-by: Andre Brait <[email protected]> Co-authored-by: Janat Taerakul <[email protected]> Co-authored-by: Janat Taerakul <[email protected]> Co-authored-by: Yizhen Liu <[email protected]> Co-authored-by: Dane Lipscombe <[email protected]> Co-authored-by: Wilfried JEANNIARD <[email protected]> Co-authored-by: Joe Scotto <[email protected]> Co-authored-by: Powered by Porridge <[email protected]> Co-authored-by: squigglybob <[email protected]> Co-authored-by: studiokestra <[email protected]> Co-authored-by: Pangorin <[email protected]> Co-authored-by: owlab2 <[email protected]> Co-authored-by: Controller Works <[email protected]> Co-authored-by: Thomas Weißschuh <[email protected]> Co-authored-by: patrickxiong <[email protected]> Co-authored-by: HiryKun <[email protected]> Co-authored-by: Andy Smith <[email protected]> Co-authored-by: Adam Price <[email protected]> Co-authored-by: Laneware <[email protected]> Co-authored-by: Lasse Luttermann <[email protected]> Co-authored-by: Andrew Kannan <[email protected]> Co-authored-by: Idan Kamara <[email protected]> Co-authored-by: Jay Greco <[email protected]> Co-authored-by: Frank Ebel <[email protected]> Co-authored-by: ziptyze <[email protected]> Co-authored-by: temp4gh <[email protected]> Co-authored-by: syc <[email protected]> Co-authored-by: Wolf Van Herreweghe <[email protected]> Co-authored-by: Wolf <[email protected]> Co-authored-by: NCKiser <[email protected]>
jesperhellberg
pushed a commit
to jesperhellberg/qmk_firmware
that referenced
this pull request
Sep 9, 2023
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.
philliphall
added a commit
to philliphall/qmk_firmware
that referenced
this pull request
Sep 21, 2023
* [Keyboard] Phoenix Project No 1 support (qmk#21068) Co-authored-by: Ryan <[email protected]> Co-authored-by: Joel Challis <[email protected]> Co-authored-by: Drashna Jaelre <[email protected]> * 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 <[email protected]> Co-authored-by: Ryan <[email protected]> Co-authored-by: Thomas Baart <[email protected]> * On-each-release tap dance function (qmk#20255) Co-authored-by: Sergey Vlasov <[email protected]> * 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 <[email protected]> Co-authored-by: Drashna Jaelre <[email protected]> * [Keymap] update colemad crkbd (corne) keyboard (qmk#21515) Co-authored-by: Álvaro Cortés Devesa <[email protected]> * [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 <[email protected]> * 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 <[email protected]> * Clarify custom keycode enum requirement for PRs (qmk#21648) * Add VIA layout for Dactyl Manuform 5x6 (qmk#21649) Co-authored-by: Duncan Sutherland <[email protected]> * 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 <[email protected]> Co-authored-by: Ryan <[email protected]> * [Keyboard] Add Projectd/65/Projectd_65_ansi (qmk#21520) Co-authored-by: Ryan <[email protected]> Co-authored-by: gksygithub <[email protected]> * [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 <[email protected]> Co-authored-by: Ryan <[email protected]> Co-authored-by: jack <[email protected]> Co-authored-by: Joel Challis <[email protected]> Co-authored-by: Joy <[email protected]> Co-authored-by: Joy Lee <[email protected]> * 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 <[email protected]> * 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 <[email protected]> Co-authored-by: Richard Baptist <[email protected]> * [Keymap] Update andrebrait keymap for GMMK Pro (qmk#21668) * [Keymap] submitting janat-t planck keymap (qmk#21619) Co-authored-by: Janat Taerakul <[email protected]> * [keyboard] Graystudio Think6.5 V3 Support Revised (qmk#21560) Co-authored-by: jack <[email protected]> Co-authored-by: Duncan Sutherland <[email protected]> Co-authored-by: Ryan <[email protected]> * 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 <[email protected]> Co-authored-by: Ryan <[email protected]> * Add Scotto34 Keyboard (qmk#20943) Co-authored-by: Albert Y <[email protected]> Co-authored-by: Drashna Jaelre <[email protected]> Co-authored-by: Ryan <[email protected]> * Add ScottoInvader Keyboard (qmk#20941) Co-authored-by: Ryan <[email protected]> * coarse/cordillera: fix backlight config (qmk#21761) * The PoweredByPorridge layout for the Keyboardio Atreus (qmk#21737) Co-authored-by: jack <[email protected]> * [Keymap] add squigglybob splitkb kyria rev2 keymap (qmk#21751) Co-authored-by: Duncan Sutherland <[email protected]> Co-authored-by: jack <[email protected]> * [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 <[email protected]> Co-authored-by: Ryan <[email protected]> Co-authored-by: Duncan Sutherland <[email protected]> * [Keyboard] Add Jelly Evolv (qmk#21407) Co-authored-by: jack <[email protected]> * [Keyboard] Add linworks favepada (qmk#20794) Co-authored-by: Drashna Jaelre <[email protected]> Co-authored-by: Duncan Sutherland <[email protected]> Co-authored-by: jack <[email protected]> * 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 <[email protected]> Co-authored-by: Duncan Sutherland <[email protected]> * 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] <[email protected]> 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 <[email protected]> * 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 <[email protected]> * 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 <[email protected]> --------- Co-authored-by: Joel Challis <[email protected]> * 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 <[email protected]> Co-authored-by: Ryan <[email protected]> Co-authored-by: honorless <[email protected]> * 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 <[email protected]> * 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 <[email protected]> * [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 <[email protected]> * [keyboard] add redragon/k667 (qmk#21417) Co-authored-by: Duncan Sutherland <[email protected]> Co-authored-by: jack <[email protected]> Co-authored-by: Ryan <[email protected]> Co-authored-by: syc <[email protected]> * Add M6-C Keyboard Firmware (qmk#21852) Co-authored-by: Joel Challis <[email protected]> Co-authored-by: Drashna Jaelre <[email protected]> Co-authored-by: Wolf <[email protected]> * Added kiserdesigns keyboard folder and Madeline keyboard (qmk#21857) Co-authored-by: Drashna Jaelre <[email protected]> Co-authored-by: Ryan <[email protected]> * 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] <[email protected]> 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 <[email protected]> * post zvecr review --------- Co-authored-by: Drashna Jaelre <[email protected]> * 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 <[email protected]> Co-authored-by: Ryan <[email protected]> * [Keyboard] add 1upkeyboards 1upslider8 (qmk#21546) Co-authored-by: Duncan Sutherland <[email protected]> Co-authored-by: jack <[email protected]> Co-authored-by: Drashna Jaelre <[email protected]> * [Keyboard] Adding Treasure TYPE-9 series III (qmk#21748) Co-authored-by: Duncan Sutherland <[email protected]> Co-authored-by: jack <[email protected]> Co-authored-by: Joel Challis <[email protected]> Co-authored-by: Drashna Jaelre <[email protected]> * 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 <[email protected]> * 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 <[email protected]> Co-authored-by: Ryan <[email protected]> Co-authored-by: Drashna Jaelre <[email protected]> Co-authored-by: Joel Challis <[email protected]> * [Keyboard] add Quokka keyboard (qmk#20979) Co-authored-by: Drashna Jaelre <[email protected]> Co-authored-by: Ryan <[email protected]> * apply 66_(ansi|iso) to keyboards (qmk#21834) * Add ScottoSlant Keyboard (qmk#20942) Co-authored-by: Ryan <[email protected]> * Add ScottoMouse Handwired Macropad (qmk#21074) Co-authored-by: Joel Challis <[email protected]> Co-authored-by: Ryan <[email protected]> Co-authored-by: Albert Y <[email protected]> * Add ScottoFly Keyboard (qmk#20939) Co-authored-by: Ryan <[email protected]> * Add ScottoMacrodeck Macropad (qmk#20946) Co-authored-by: Drashna Jaelre <[email protected]> Co-authored-by: Ryan <[email protected]> * Add ScottoLong Keyboard (qmk#20938) Co-authored-by: Ryan <[email protected]> * Add funtions of Encoder and VIA for redragon/k667 (qmk#21917) Co-authored-by: Duncan Sutherland <[email protected]> Co-authored-by: jack <[email protected]> Co-authored-by: Ryan <[email protected]> Co-authored-by: Less/Rikki <[email protected]> Co-authored-by: Joel Challis <[email protected]> Co-authored-by: syc <[email protected]> * [Keyboard] Add rpk-001 keyboard (qmk#21042) Co-authored-by: Joel Challis <[email protected]> Co-authored-by: Drashna Jaelre <[email protected]> Co-authored-by: Duncan Sutherland <[email protected]> Co-authored-by: Joy <[email protected]> * amend 68_(ansi|iso) community_layouts in keyboards/ (qmk#21835) * [Keyboard] Add QCK-75 (qmk#21180) Co-authored-by: Ryan <[email protected]> Co-authored-by: Joel Challis <[email protected]> Co-authored-by: Drashna Jaelre <[email protected]> Co-authored-by: Duncan Sutherland <[email protected]> * 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 <[email protected]> Co-authored-by: Drashna Jaelre <[email protected]> * add dz60v2 keyboard (qmk#21862) Co-authored-by: Duncan Sutherland <[email protected]> Co-authored-by: Less/Rikki <[email protected]> Co-authored-by: Drashna Jaelre <[email protected]> Co-authored-by: Ryan <[email protected]> * add odinmini layout (qmk#21983) Co-authored-by: Ryan <[email protected]> --------- Signed-off-by: dependabot[bot] <[email protected]> Co-authored-by: Rico <[email protected]> Co-authored-by: Ryan <[email protected]> Co-authored-by: Joel Challis <[email protected]> Co-authored-by: Drashna Jaelre <[email protected]> Co-authored-by: QMK Bot <[email protected]> Co-authored-by: Nick Brassel <[email protected]> Co-authored-by: Nebuleon <[email protected]> Co-authored-by: harveysch <[email protected]> Co-authored-by: Thomas Baart <[email protected]> Co-authored-by: leep-frog <[email protected]> Co-authored-by: Sergey Vlasov <[email protected]> Co-authored-by: Duncan Sutherland <[email protected]> Co-authored-by: Stefan Kerkmann <[email protected]> Co-authored-by: era <[email protected]> Co-authored-by: Its TLeo <[email protected]> Co-authored-by: jack <[email protected]> Co-authored-by: Álvaro Cortés <[email protected]> Co-authored-by: Álvaro Cortés Devesa <[email protected]> Co-authored-by: Leon Anavi <[email protected]> Co-authored-by: lalalademaxiya1 <[email protected]> Co-authored-by: 3geek14 <[email protected]> Co-authored-by: James Young <[email protected]> Co-authored-by: Synth and Keys <[email protected]> Co-authored-by: SmollChungus <[email protected]> Co-authored-by: Hugh Rawlinson <[email protected]> Co-authored-by: gskygithub <[email protected]> Co-authored-by: gksygithub <[email protected]> Co-authored-by: Brian McKenna <[email protected]> Co-authored-by: spbgzh <[email protected]> Co-authored-by: jonylee@hfd <[email protected]> Co-authored-by: Joy <[email protected]> Co-authored-by: Joy Lee <[email protected]> Co-authored-by: HorrorTroll <[email protected]> Co-authored-by: alvicstep <[email protected]> Co-authored-by: mechlovin <[email protected]> Co-authored-by: Richard Baptist <[email protected]> Co-authored-by: Richard Baptist <[email protected]> Co-authored-by: Andre Brait <[email protected]> Co-authored-by: Janat Taerakul <[email protected]> Co-authored-by: Janat Taerakul <[email protected]> Co-authored-by: Yizhen Liu <[email protected]> Co-authored-by: Dane Lipscombe <[email protected]> Co-authored-by: Wilfried JEANNIARD <[email protected]> Co-authored-by: Joe Scotto <[email protected]> Co-authored-by: Albert Y <[email protected]> Co-authored-by: Powered by Porridge <[email protected]> Co-authored-by: squigglybob <[email protected]> Co-authored-by: studiokestra <[email protected]> Co-authored-by: Pangorin <[email protected]> Co-authored-by: owlab2 <[email protected]> Co-authored-by: DUILCHOI <[email protected]> Co-authored-by: Controller Works <[email protected]> Co-authored-by: Less/Rikki <[email protected]> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: Thomas Weißschuh <[email protected]> Co-authored-by: patrickxiong <[email protected]> Co-authored-by: HiryKun <[email protected]> Co-authored-by: Andy Smith <[email protected]> Co-authored-by: Adam Price <[email protected]> Co-authored-by: Laneware <[email protected]> Co-authored-by: Lasse Luttermann <[email protected]> Co-authored-by: Andrew Kannan <[email protected]> Co-authored-by: Idan Kamara <[email protected]> Co-authored-by: Jay Greco <[email protected]> Co-authored-by: Frank Ebel <[email protected]> Co-authored-by: ziptyze <[email protected]> Co-authored-by: temp4gh <[email protected]> Co-authored-by: syc <[email protected]> Co-authored-by: Wolf Van Herreweghe <[email protected]> Co-authored-by: Wolf <[email protected]> Co-authored-by: NCKiser <[email protected]> Co-authored-by: Vino Rodrigues <[email protected]> Co-authored-by: Falco Gerritsjans <[email protected]> Co-authored-by: Dasky <[email protected]> Co-authored-by: Luis Garcia <[email protected]> Co-authored-by: TreasureTypes <[email protected]> Co-authored-by: Constantine Karos <[email protected]> Co-authored-by: Yak <[email protected]> Co-authored-by: Moritz Plattner <[email protected]> Co-authored-by: Filip Sund <[email protected]> Co-authored-by: Shandon Anderson <[email protected]> Co-authored-by: ShandonCodes <[email protected]> Co-authored-by: Deddia Permana <[email protected]> Co-authored-by: peepeetee <[email protected]> Co-authored-by: Dan Ford <[email protected]> Co-authored-by: Poring <[email protected]> Co-authored-by: Charles Strahan <[email protected]> Co-authored-by: dztech <[email protected]>
thismarvin
pushed a commit
to thismarvin/qmk_firmware
that referenced
this pull request
Sep 27, 2023
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.
akeep
pushed a commit
to akeep/qmk_firmware
that referenced
this pull request
Oct 2, 2023
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.
csolje
pushed a commit
to csolje/qmk_firmware
that referenced
this pull request
Oct 21, 2023
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.
autoferrit
pushed a commit
to SpaceRockMedia/bastardkb-qmk
that referenced
this pull request
Dec 8, 2023
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.
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Description
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:
mouse_report
has non-zero fields andtmpmr
is a copy of this fields.mouse_report
is set to zero,tmpmr
has now non-zero fields.has_mouse_report_changed
compares the two and evaluates totrue
.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 byregister_mouse
on release of all mouse buttons.Types of Changes
Issues Fixed or Closed by This PR
Checklist