aboutsummaryrefslogtreecommitdiff
path: root/tmk_core/protocol/vusb
Commit message (Collapse)AuthorAgeFilesLines
* Align sleep_led logic (#25395)Joel Challis6 days1-22/+2
|
* Add `compiler_support.h` (#25274)Pablo Martínez2025-05-221-1/+2
|
* Add raw_hid support to host driver (#25255)Joel Challis2025-05-121-8/+14
|
* High resolution scrolling (without feature report parsing) (#24423)eynsai2025-04-231-2/+26
| | | | | | | * hires scrolling without feature report parsing * fix valid range for exponent * fix incorrect minimum exponent value documentation
* Joystick: add support for 8-way hat switch (#24515)Ryan2024-11-091-0/+17
|
* [Core] `usb_device_state`: consolidate usb state handling across ↵Stefan Kerkmann2024-10-181-24/+20
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | implementations (#24258) * usb_device_state: add idle_rate, led and protocol Previously all usb drivers and platform implementations (expect for our oddball atsam) tracked the same two global variables: - keyboard_protocol: to indicate if we are in report or boot protocol - keyboard_idle: for the idle_rate of the keyboard endpoint And a local variable that was exposed trough some indirection: - keyboard_led_state: for the currently set indicator leds (caps lock etc.) These have all been moved into the usb_device_state struct wich is accessible by getters and setters. This reduces code duplication and centralizes the state management across platforms and drivers. Signed-off-by: Stefan Kerkmann <[email protected]> * usb_device_state: reset protocol on reset The usb hid specification section 7.2.6 states: When initialized, all devices default to report protocol. However the host should not make any assumptions about the device’s state and should set the desired protocol whenever initializing a device. Thus on reset we should always do exactly that. Signed-off-by: Stefan Kerkmann <[email protected]> * keyboards: fix oversize warnings Signed-off-by: Stefan Kerkmann <[email protected]> --------- Signed-off-by: Stefan Kerkmann <[email protected]>
* Merge remote-tracking branch 'origin/master' into developQMK Bot2024-10-151-1/+1
|\
| * Digitizer: fix units tag in report descriptor (#24482)0.26.9Ryan2024-10-151-1/+1
| |
* | Extended wheel reports (#24422)eynsai2024-10-061-8/+22
|/ | | extended wheel reports
* Refactor vusb to protocol use pre/post task (#14944)Joel Challis2024-03-142-25/+15
|
* Align VUSB suspend protocol logic (#22688)Joel Challis2024-02-011-38/+51
|
* Remove console out endpoint (#22304)Joel Challis2024-01-092-18/+0
|
* V-USB: implement NKRO (#22398)Ryan2023-11-261-4/+45
|
* V-USB: Add generic `send_report()` function (#22323)Ryan2023-11-263-92/+53
|
* V-USB: Fix `GET_IDLE/SET_IDLE` (#22332)Ryan2023-10-271-16/+12
| | | | Co-authored-by: Sergey Vlasov <[email protected]>
* V-USB: Implement `GET_PROTOCOL` and `SET_PROTOCOL` handling (#22324)Ryan2023-10-251-24/+38
|
* Separate 6KRO and NKRO report structs (#22267)Ryan2023-10-231-1/+7
|
* Update keyboard report descriptor for USB compliance (#21626)Stefan Kerkmann2023-07-281-0/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | 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.
* Move protocol makefiles into their respective folders (#21332)Ryan2023-06-221-0/+17
| | | | | * Move protocol makefiles into their respective folders * Fix USB-USB converter
* Detect host OS based on USB fingerprint (#18463)Ruslan Sayfutdinov2022-12-091-0/+7
| | | | Co-authored-by: Drashna Jaelre <[email protected]> Co-authored-by: Nick Brassel <[email protected]>
* Joystick feature improvements (#19052)Ryan2022-11-271-3/+74
|
* Digitizer feature improvements (#19034)Ryan2022-11-121-13/+11
|
* Refactor `send_extra` (#18615)Ryan2022-10-061-11/+3
|
* Refactor more host code (programmable button & digitizer) (#18565)Ryan2022-10-051-10/+3
|
* Adjust `EXTRAKEY_ENABLE` ifdefs for `send_extra()` (#18249)Ryan2022-09-021-2/+2
|
* Simplify extrakeys sending at the host driver level (#18230)Ryan2022-09-021-15/+2
| | | | | | | | | * Simplify extrakeys sending at the host driver level * There are two arguments here * Wrong syntax * Adjust keyboards which use a custom host driver
* Switch over MANUFACTURER and PRODUCT to string literals (#18183)Ryan2022-08-282-8/+6
|
* Add support for large Mouse Reports (#16371)Drashna Jaelre2022-06-081-1/+15
| | | | Co-authored-by: Sergey Vlasov <[email protected]> Co-authored-by: Ryan <[email protected]>
* VUSB - Use correct endpoint poll for VIA (#16691)0.16.6Joel Challis2022-03-191-1/+1
|
* Format code according to conventions (#16322)QMK Bot2022-02-123-179/+187
|
* Remove Deprecated USB Polling comment from vusb.c (#15420)Drashna Jaelre2021-12-071-1/+0
|
* Revert to old init order for host driver (#15029)Joel Challis2021-11-021-2/+3
| | | * Partially revert 14888
* Fix up issues shown by clang-format of vusb (#15004)Joel Challis2021-11-011-2/+3
|
* Begin to carve out platform/protocol API - Migrate keyboard_* calls (#14888)Joel Challis2021-10-241-7/+0
|
* Add Support for USB programmable buttons (#12950)Thomas Weißschuh2021-09-151-1/+35
|
* Begin to carve out platform/protocol API - Single main loop (#13843)Joel Challis2021-08-181-45/+44
| | | | | * Begin to carve out platform/protocol API * Fix up after rebase
* Digitizer HID interface : absolute coordinates for mouse cursor (#12851)a-chol2021-08-181-1/+47
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * Add digitizer HID interface for setting the mouse cursor position at absolute screen coordinates. Tested on Pro Micro, Proton C and Blackpill. * Update docs/feature_digitizer.md Co-authored-by: Ryan <[email protected]> * Update tmk_core/protocol/usb_descriptor.c Co-authored-by: Ryan <[email protected]> * Add missing copyrights Add V-USB support * Add support for digitizer dedicated endpoint for lufa and chibios. Fix formatting issues Move digitizer_task definition to the feature's base implementation file * Run cformat on modified files * Change digitizer report usage to Digitizer instead of Pen to avoid pointer disappearing on Windows. * Update tmk_core/protocol/vusb/vusb.c Co-authored-by: Ryan <[email protected]> * Run cformat from docker image * Remove send_digitizer from host_driver_t and instead rely on the declaration being the interface to the implementation in each HW-specific usb implementation. * Fix build : send_digitizer shouldn't be static in vusb and add weak-linkage implementation for tests without usb implementation * Change digitizer user interface to match pointing device's * Update documentation with new API Co-authored-by: a-chol <[email protected]> Co-authored-by: Ryan <[email protected]>
* Avoid LTO conficts on arm_atsam (#13676)Joel Challis2021-07-241-1/+1
|
* Use string literals for `SERIAL_NUMBER` (#13403)Ryan2021-07-161-2/+2
|
* [Core] ChibiOS fix O3 and LTO breakage of extra keys and joystick (#12819)Stefan Kerkmann2021-06-061-1/+2
|
* Fixup housekeeping from being invoked twice per loop. (#12933)Nick Brassel2021-05-181-2/+1
|
* Refactor of USB code within split_common (#11890)Joel Challis2021-02-281-0/+24
| | | | | | | | | | | * Initial refactor of usb code within split_common * Add headers * Correct disable condition * Format * Align func name
* Format code according to conventions (#12046)0.12.3github-actions[bot]2021-02-271-2/+2
| | | Co-authored-by: QMK Bot <[email protected]>
* Fix build for attiny85-based boards. (#12044)0.12.2Nick Brassel2021-02-281-0/+2
|
* Merge remote-tracking branch 'upstream/master' into developfauxpark2021-02-252-17/+40
|\
| * V-USB suspend refactor (#11891)0.11.69Ryan2021-02-252-17/+40
| |
* | Refactor platform logic within print.h (#11863)Joel Challis2021-02-141-6/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * Remove GCC check from debug * Remove platform logic from common.mk * Refactor platform logic within print.h * restore debug.c format * headers * Rename function pointer type * review comments * Update tmk_core/common/printf.c Co-authored-by: Nick Brassel <[email protected]> * Format Co-authored-by: Nick Brassel <[email protected]>
* | Add support for 8 buttons to mouse report (#10807)Drashna Jaelre2021-01-281-7/+3
|/ | | | | | | | | | | | | | | | | | | | | * Add support for 8 buttons to mouse report This includes support for 8 buttons in mousekeys. However, this does move the keys around due to the fact that the last mousekey keycode is already 0xFF, so any past that would not work with register_code and the like, breaking them for tap hold keys, encoders, and other features. * Update mouse key docs * Add changes based on feedback * Fix VUSB report size comment Because drashna red gud * Fix typo in action.c * Fix IS_MOUSE_BUTTON check * Change start range for mousekeys so that the end is 0xFF properly * condense mousekeys check
* Add support for shared EP on V-USB boards (#11103)0.11.43Ryan2021-01-112-40/+104
|
* V-USB: Fix initial dropped keypress (#11263)0.11.18Ryan2020-12-231-3/+2
|