summaryrefslogtreecommitdiff
path: root/tmk_core/protocol/vusb/vusb.c
AgeCommit message (Collapse)Author
2024-01-09Remove console out endpoint (#22304)Joel Challis
2023-11-26V-USB: implement NKRO (#22398)Ryan
2023-11-26V-USB: Add generic `send_report()` function (#22323)Ryan
2023-10-27V-USB: Fix `GET_IDLE/SET_IDLE` (#22332)Ryan
Co-authored-by: Sergey Vlasov <sigprof@gmail.com>
2023-10-25V-USB: Implement `GET_PROTOCOL` and `SET_PROTOCOL` handling (#22324)Ryan
2023-10-23Separate 6KRO and NKRO report structs (#22267)Ryan
2023-07-28Update keyboard report descriptor for USB compliance (#21626)Stefan Kerkmann
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.
2022-12-09Detect host OS based on USB fingerprint (#18463)Ruslan Sayfutdinov
Co-authored-by: Drashna Jaelre <drashna@live.com> Co-authored-by: Nick Brassel <nick@tzarc.org>
2022-11-27Joystick feature improvements (#19052)Ryan
2022-11-12Digitizer feature improvements (#19034)Ryan
2022-10-06Refactor `send_extra` (#18615)Ryan
2022-10-05Refactor more host code (programmable button & digitizer) (#18565)Ryan
2022-09-02Adjust `EXTRAKEY_ENABLE` ifdefs for `send_extra()` (#18249)Ryan
2022-09-02Simplify extrakeys sending at the host driver level (#18230)Ryan
* Simplify extrakeys sending at the host driver level * There are two arguments here * Wrong syntax * Adjust keyboards which use a custom host driver
2022-08-28Switch over MANUFACTURER and PRODUCT to string literals (#18183)Ryan
2022-06-08Add support for large Mouse Reports (#16371)Drashna Jaelre
Co-authored-by: Sergey Vlasov <sigprof@gmail.com> Co-authored-by: Ryan <fauxpark@gmail.com>
2022-02-12Format code according to conventions (#16322)QMK Bot
2021-12-07Remove Deprecated USB Polling comment from vusb.c (#15420)Drashna Jaelre
2021-11-01Fix up issues shown by clang-format of vusb (#15004)Joel Challis
2021-09-15Add Support for USB programmable buttons (#12950)Thomas Weißschuh
2021-08-18Digitizer HID interface : absolute coordinates for mouse cursor (#12851)a-chol
* 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 <fauxpark@gmail.com> * Update tmk_core/protocol/usb_descriptor.c Co-authored-by: Ryan <fauxpark@gmail.com> * 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 <fauxpark@gmail.com> * 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 <nothing@none.com> Co-authored-by: Ryan <fauxpark@gmail.com>
2021-07-16Use string literals for `SERIAL_NUMBER` (#13403)Ryan
2021-06-06[Core] ChibiOS fix O3 and LTO breakage of extra keys and joystick (#12819)Stefan Kerkmann
2021-01-28Add support for 8 buttons to mouse report (#10807)Drashna Jaelre
* 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
2021-01-11Add support for shared EP on V-USB boards (#11103)Ryan
2020-12-21Fix small typo in V-USB configuration descriptor (#11253)Ryan
2020-12-05Omit serial number if not defined (#11104)Ryan
2020-08-29Update vusb to match 3rd endpoint. (#9020)yiancar
* Update vusb to match 3rd endpoint. - With the addition of https://github.com/qmk/v-usb/pull/1 a 3rd endpoint (endpoint4) becomes available. - We can assign mouse/extrakeys to that endpoint as its a desirable feature and leave rawhid and console to compete for the 2nd endpoint. NOTE: The version of vusb.c in future branch is older than master. Just remember that it will need a #error if both raw_hid and console are enabled at the same time. * Final Fixes * Update tmk_core/protocol/vusb/vusb.c * Update tmk_core/protocol/vusb/vusb.c * Update tmk_core/protocol/vusb/usbconfig.h * Update tmk_core/protocol/vusb/usbconfig.h * Update tmk_core/protocol/vusb/usbconfig.h * Update tmk_core/protocol/vusb/usbconfig.h * Updated vusb submodule to latest commit
2020-08-29Additional cleanups for V-USB code (#9310)Ryan
2020-08-29Various tidyups for USB descriptor code (#9005)Ryan
2020-05-302020 May 30 Breaking Changes Update (#9215)James Young
* Branch point for 2020 May 30 Breaking Change * Migrate `ACTION_LAYER_TOGGLE` to `TG()` (#8954) * Migrate `ACTION_MODS_ONESHOT` to `OSM()` (#8957) * Migrate `ACTION_DEFAULT_LAYER_SET` to `DF()` (#8958) * Migrate `ACTION_LAYER_MODS` to `LM()` (#8959) * Migrate `ACTION_MODS_TAP_KEY` to `MT()` (#8968) * Convert V-USB usbdrv to a submodule (#8321) * Unify Tap Hold functions and documentation (#8348) * Changing board names to prevent confusion (#8412) * Move the Keyboardio Model01 to a keyboardio/ subdir (#8499) * Move spaceman keyboards (#8830) * Migrate miscellaneous `fn_actions` entries (#8977) * Migrate `ACTION_MODS_KEY` to chained mod keycodes (#8979) * Organizing my keyboards (plaid, tartan, ergoinu) (#8537) * Refactor Lily58 to use split_common (#6260) * Refactor zinc to use split_common (#7114) * Add a message if bin/qmk doesn't work (#9000) * Fix conflicting types for 'tfp_printf' (#8269) * Fixed RGB_DISABLE_AFTER_TIMEOUT to be seconds based & small internals cleanup (#6480) * Refactor and updates to TKC1800 code (#8472) * Switch to qmk forks for everything (#9019) * audio refactor: replace deprecated PLAY_NOTE_ARRAY (#8484) * Audio enable corrections (2/3) (#8903) * Split HHKB to ANSI and JP layouts and Add VIA support for each (#8582) * Audio enable corrections (Part 4) (#8974) * Fix typo from PR7114 (#9171) * Augment future branch Changelogs (#8978) * Revert "Branch point for 2020 May 30 Breaking Change"
2020-05-21Allow for overriding RAW endpoint usage page and ID. (#8834)Nick Brassel
* Allow for overriding RAW endpoint usage page and ID. * Move usb_descriptor_common.h. * Docs update.
2020-05-14V-USB Interface reorder (#9090)yiancar
2020-05-03Initial vusb console support (#8559)Joel Challis
2020-04-05V-USB: Remove some stuff from usbconfig.h that should not be configurable ↵Ryan
(#8656) * V-USB: Remove some stuff from usbconfig.h that should not be configurable * Clean up some ifdefs * And some more * Even more
2020-04-05V-USB remote wakeup (#7627)Drashna Jaelre
* V-USB remote wakeup Backport from tmk/tmk_keyboard@391c979be751eaf113c8f53c36644a6bb6ff12f6 * Change vusb.c remote wake config as per fauxpark's suggestion
2020-04-01Strip out features to allow minimum firmware sizes (#8645)Joel Challis
2020-04-01Updated V-USB template to allow usbFunctionWriteOut (#8634)yiancar
2020-03-30add hid_raw feature to VUSB (#8380)Takuya Urakawa
* rewrite usbhid feature on vusb * Apply suggestions from code review Co-Authored-By: Ryan <fauxpark@gmail.com> * fix typo * fix typo again * Update tmk_core/protocol/vusb/vusb.c Co-Authored-By: Ryan <fauxpark@gmail.com> * clean up defines Co-authored-by: Ryan <fauxpark@gmail.com>
2020-03-28V-USB: Use structs for USB descriptors (#8572)Ryan
* V-USB: Use structs for USB descriptors * Update usbconfigs * cformat pass
2020-03-26V-USB: Use manufacturer and product strings from config.h (#7797)Ryan
* V-USB: Use manufacturer and product strings from config.h * Update board configs
2020-03-25Run clang-format manually to fix recently changed files (#8552)Joel Challis
2020-02-25Improvements to extrakey HID descriptors (#8156)Ryan
2020-02-12format code according to conventions [skip ci]QMK Bot
2020-02-12Align VUSB HID descriptors with LUFA/ChibiOS (#7675)fauxpark
* Align VUSB HID descriptors with LUFA/ChibiOS * Wrap send_system and send_consumer in ifdefs too * Offset system usages to match LUFA/ChibiOS
2020-02-02format code according to conventions [skip ci]QMK Bot
2020-02-02Dedupe extrakey report struct, and send functions in V-USB & LUFA (#7993)fauxpark
* Dedupe extrakey report struct, and send functions in V-USB & LUFA * Doc comment for consistency * Wrap it in ifdef to prevent unused function error * Do the same for ATSAM
2019-11-25Remove vusb 'reset to bootloader' hid message due to security implications ↵Joel Challis
(#7456)
2019-11-15Add support for configurable polling interval and power usage o… (#7336)fauxpark
* Add support for custom polling interval and power usage on V-USB boards * Use 1ms as default for now
2019-08-30clang-format changesskullY