Commit Graph
200 Commits
Author SHA1 Message Date
QMK Bot 358cfa289b Merge remote-tracking branch 'origin/develop' into xap 2026-08-24 23:20:01 +00:00
Joel Challis 8b783cad10 Align USB endpoint buffers to fix RP2040 Plover HID issues (#26417) 2026-08-25 00:19:22 +01:00
QMK Bot abba7c7c2c Merge remote-tracking branch 'origin/develop' into xap 2026-08-13 06:53:41 +00:00
bc744bbcaa Fix ChibiOS virtual serial short packet receive (#26356)
* Core: fix ChibiOS virtual serial short packet receive

Signed-off-by: Giridhar <giridharpavan593@gmail.com>

* Add handwired/onekey virtser test keymap

---------

Signed-off-by: Giridhar <giridharpavan593@gmail.com>
Co-authored-by: Giridhar <giridharpavan593@gmail.com>
Co-authored-by: zvecr <git@zvecr.com>
2026-08-12 23:52:49 -07:00
Nick Brassel 2a7bfe58a6 Merge remote-tracking branch 'upstream/develop' into xap 2026-06-15 09:56:10 +10:00
Nick Brassel 92dc82ae08 Plover HID cleanup. (#26262) 2026-06-15 08:33:35 +10:00
Nick Brassel 4dddfa1129 Merge remote-tracking branch 'upstream/develop' into xap 2026-06-14 12:54:32 +10:00
b64014d5df Custom plover HID report type (#26018)
Co-authored-by: Nick Brassel <nick@tzarc.org>
Co-authored-by: dnaq <dnaq@users.noreply.github.com>
2026-06-14 12:38:34 +10:00
zvecr 0150b7b71f clang-format-19 formatting fixes 2025-12-12 21:00:35 +00:00
QMK Bot a95ec7a6f9 Merge remote-tracking branch 'origin/develop' into xap 2025-11-30 19:26:33 +00:00
QMK Bot ee60542bd6 Merge remote-tracking branch 'origin/master' into develop 2025-11-30 19:25:52 +00:00
QMK Bot 6ed61c65dd [CI] Format code according to conventions (#25827)
Format code according to conventions
2025-11-30 19:25:13 +00:00
QMK Bot 19bcb53e1d Merge remote-tracking branch 'origin/develop' into xap 2025-11-11 12:37:58 +00:00
Stefan KerkmannandSergey Vlasov c68e4dec10 [Core] suspend: suppress wake up keypress (#23389)
* suspend: suppress wake up keypress

Waking the host from suspend is done by pressing any key on the
keyboard, the regular key codes assigned to the keys are not important
and must not be sent - otherwise they usually end up in password prompts
as ghost characters that have to be deleted again. This commit adds
suppression for all keys pressed at the time of wake up. Once a key is
released it functions as a regular key again.

Signed-off-by: Stefan Kerkmann <karlk90@pm.me>

* suspend: update wake up matrix after wake up delay

If USB_SUSPEND_WAKEUP_DELAY is set, the keyboard sleeps during wake up -
which can be up to multiple seconds. To handle key presses and releases
in that time frame we have to handle the following cases:

1. Key not pressed before suspend, and not pressed after wakeup → do
   nothing (normal case).
2. Key not pressed before suspend, but pressed after wakeup → set the
   wakeup_matrix bit to 1 (so that the press and release events would be
   suppressed).
3. Key pressed before suspend, but not pressed after wakeup → do nothing
   (the release event will be generated on the first matrix_task() call
   after the wakeup).
4. Key pressed before suspend, and still pressed after wakeup → do
   nothing (the release event will be generated some time later).

Signed-off-by: Stefan Kerkmann <karlk90@pm.me>
Co-authored-by: Sergey Vlasov <sigprof@gmail.com>

* keyboards: anavi: macropad8: disable snake and rgb_test effects

...to shrink the binary size.
2025-11-11 23:35:03 +11:00
QMK Bot ef9c3810c1 Merge remote-tracking branch 'origin/develop' into xap 2025-06-27 07:18:04 +00:00
Joel Challis bc5c5e3251 Align sleep_led logic (#25395) 2025-06-27 08:17:28 +01:00
QMK Bot 3326ddf700 Merge remote-tracking branch 'origin/develop' into xap 2025-06-18 09:45:58 +00:00
Xelus22 096696d86d [Bug] Fix usb_endpoint_interface_lut multiple def compile err (#25378) 2025-06-18 10:44:49 +01:00
zvecr a9f676948b Merge remote-tracking branch 'origin/develop' into xap 2025-05-12 12:06:53 +01:00
Joel Challis 88c094908b Add raw_hid support to host driver (#25255) 2025-05-12 08:38:48 +10:00
Nick Brassel 0d6dbe4a5f Merge remote-tracking branch 'upstream/develop' into xap 2025-04-22 14:58:42 +10:00
Joel Challis b5f8f4d6a2 Align ChibiOS USB_WAIT_FOR_ENUMERATION implementation (#25184) 2025-04-22 14:31:42 +10:00
QMK Bot d5451bd909 Merge remote-tracking branch 'origin/develop' into xap 2024-12-15 17:43:17 +00:00
Stefan Kerkmann 8e6bfbfdc2 [Core] chibios: usb_main: remove OTG sof workaround (#24259)
chibios: usb_main: remove OTG sof workaround

With the update of ChibiOS and ChibiOS-Contrib containing fixes for the
OTGv1 LLD the workaround is not necessarry anymore.

Signed-off-by: Stefan Kerkmann <karlk90@pm.me>
2024-12-15 18:42:43 +01:00
QMK Bot 595e339f57 Merge remote-tracking branch 'origin/develop' into xap 2024-10-18 07:57:41 +00:00
Stefan Kerkmann 3f9d464412 [Core] usb_device_state: consolidate usb state handling across 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 <karlk90@pm.me>

* 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 <karlk90@pm.me>

* keyboards: fix oversize warnings

Signed-off-by: Stefan Kerkmann <karlk90@pm.me>

---------

Signed-off-by: Stefan Kerkmann <karlk90@pm.me>
2024-10-18 09:57:08 +02:00
QMK Bot 2dd1638e74 Merge remote-tracking branch 'origin/develop' into xap 2024-07-04 02:13:30 +00:00
Drashna Jaelre bdca9318f9 Change suspend condition check order on ChibiOS (#24020) 2024-07-04 12:13:00 +10:00
Nick Brassel 22f78171a2 Merge remote-tracking branch 'upstream/develop' into xap 2024-06-04 20:27:25 +10:00
Stefan KerkmannandRyan 8253697a63 [FIX] ChibiOS: USB Digitizer and Joystick IN endpoint compilation (#23854)
Co-authored-by: Ryan <fauxpark@gmail.com>
2024-06-03 22:35:46 +10:00
Nick Brassel 6aacdb0b76 Merge remote-tracking branch 'upstream/develop' into xap 2024-05-02 20:48:16 +10:00
Joel Challis 16cca527a6 Fix WAIT_FOR_USB handling (#23598) 2024-04-24 19:33:52 +01:00
QMK Bot b7285db208 Merge remote-tracking branch 'origin/develop' into xap 2024-03-29 03:41:31 +00:00
Robin CarlierandJoel Challis 42a725e355 Remove midi_ep_task from ChibiOS (#23162)
Co-authored-by: Joel Challis <git@zvecr.com>
2024-03-28 20:40:41 -07:00
zvecr b43031ae00 Merge remote-tracking branch 'origin/develop' into xap 2024-03-14 10:59:03 +00:00
Joel Challis 63dd131d81 Refactor vusb to protocol use pre/post task (#14944) 2024-03-14 21:45:12 +11:00
zvecr 9a6f0873fb format 2024-03-13 00:40:27 +00:00
zvecr 52adf283ed Merge remote-tracking branch 'origin/develop' into xap 2024-02-29 02:07:27 +00:00
Stefan Kerkmann 0e02b0c41e [Core] Refactor ChibiOS USB endpoints to be fully async (#21656) 2024-02-28 22:00:27 +11:00
zvecr 2ae5b27fad Merge remote-tracking branch 'origin/develop' into xap 2024-01-09 14:25:05 +00:00
Joel Challis b6b3efc14b Remove console out endpoint (#22304) 2024-01-09 14:01:34 +00:00
zvecr 60cf8ba553 Merge remote-tracking branch 'origin/develop' into xap 2023-11-01 01:19:30 +00:00
Stefan Kerkmann 5856d5e13b [Maintenance] USB HID control packet as struct (#21688)
* ChibiOS: USB HID control request as dedicated struct

Instead of accessing the raw USB setup packet and documenting the values
as the corresponding USB HID control request fields we introduce a
struct that allows direct access to the fields. This is safer and self
documenting.

* Rename usb_request.h to usb_types.h

In the future all shared USB data types can live in this file.
2023-10-27 18:44:58 +02:00
QMK Bot 8f95479846 Merge remote-tracking branch 'origin/develop' into xap 2023-10-23 04:44:20 +00:00
Ryan 0c160e1fba Separate 6KRO and NKRO report structs (#22267) 2023-10-23 15:43:46 +11:00
QMK Bot e06d31ff4a Merge remote-tracking branch 'origin/develop' into xap 2023-08-27 02:52:55 +00:00
Drashna JaelreandJoel Challis 25331be316 Revert changes to ChibiOS Suspend Code (#21830)
* Partially revert #19780

* Finish

* Get teensy 3.5/3.6 board files too

* fix lint issue

* Revert "[Bug] Restore usb suspend wakeup delay (#21676)"

This reverts commit e8e989fd7a.

* Apply suggestions from code review

Co-authored-by: Joel Challis <git@zvecr.com>

---------

Co-authored-by: Joel Challis <git@zvecr.com>
2023-08-27 03:52:12 +01:00
QMK Bot ad7e73d67a Merge remote-tracking branch 'origin/develop' into xap 2023-08-02 22:43:41 +00:00
Stefan Kerkmann e8e989fd7a [Bug] Restore usb suspend wakeup delay (#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
2023-08-02 23:42:57 +01:00
QMK Bot 91d129ca45 Merge remote-tracking branch 'origin/develop' into xap 2023-06-26 21:56:42 +00:00