summaryrefslogtreecommitdiff
path: root/tmk_core/protocol/report.c
AgeCommit message (Collapse)Author
2023-10-23Separate 6KRO and NKRO report structs (#22267)Ryan
2023-10-14Prep work for NKRO report separation (#22268)Ryan
* Clean up some keyboard/userspace code * Rename `KEYBOARD_REPORT_BITS` -> `NKRO_REPORT_BITS` * Add some missing includes * Use `PACKED` define for report types * Fix incorrect function signatures for FlexRAM EEPROM driver
2023-08-02Fix mouse-key spamming empty reports (#21663)Stefan Kerkmann
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.
2022-03-14[Core] Move `has_mouse_report_changed` function to `report.c` (#16543)Drashna Jaelre
* Move 'has_mouse_report_changed' checkto report.c * change mousekeys to use memcpy * fix linting issues
2021-10-28Relocate protocol files within tmk_core/common/ (#14972)Joel Challis
* Relocate non platform files within tmk_core/common/ * clang