Commit Graph
195 Commits
Author SHA1 Message Date
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 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
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
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 d88eda5b37 Merge remote-tracking branch 'origin/develop' into xap 2024-07-05 11:08:24 +00:00
Joel Challis d0e89aecca Align LUFA suspend logic (#24055) 2024-07-05 12:02:39 +01: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
zvecr d364cbefa0 Fix LUFA builds 2024-03-14 11:45:14 +00: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 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
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 62522a1684 Merge remote-tracking branch 'origin/develop' into xap 2023-07-07 11:24:42 +00:00
Ryan 30de598650 tmk_core: remove direct quantum.h includes (#21465) 2023-07-07 21:24:07 +10:00
QMK Bot 91d129ca45 Merge remote-tracking branch 'origin/develop' into xap 2023-06-26 21:56:42 +00:00
Stefan Kerkmann a87c74ebe1 [Bug] Fix non-functional S3 wakeup / resume from suspense (#19780)
* Update ChibiOS-Contrib for USB suspend fixes

* Remove S3 wakup workaround

ChibiOS OTGv1 driver has a remote wakeup bug that prevents the device to
resume it's operation. 02516cbc24 
introduced a hotfix that forcefully restarted the usb driver as a workaround. 
This workaround broke multiple boards which do not use this driver / 
peripheral. With the update of ChibiOS this hotfix is now obsolete.

* Remove restart_usb_driver overrides

they are no longer necessary as the workaround is not needed anymore
for stm32f4

* Remove unused RP_USB_USE_SOF_INTR defines

The SOF interrupt is enabled dynamically by the RP2040 usb driver
2023-06-26 23:55:52 +02:00
QMK Bot ff8d9fa382 Merge remote-tracking branch 'origin/develop' into xap 2023-06-22 14:07:41 +00:00
Ryan aad5746682 Move protocol makefiles into their respective folders (#21332)
* Move protocol makefiles into their respective folders

* Fix USB-USB converter
2023-06-22 15:07:28 +01:00
QMK Bot f202d4a291 Merge remote-tracking branch 'origin/develop' into xap 2023-01-20 16:21:59 +00:00
Ryan cf935d97ae Fix functions with empty params (#19647)
* Fix functions with empty params

* Found a bunch more
2023-01-20 16:21:17 +00:00
zvecr 2f7be506de Remove assumption on XAP interface number 2023-01-16 02:03:41 +00:00
QMK Bot 1af901f991 Merge remote-tracking branch 'origin/develop' into xap 2022-12-08 16:46:05 +00:00
85ee55ff3b Detect host OS based on USB fingerprint (#18463)
Co-authored-by: Drashna Jaelre <drashna@live.com>
Co-authored-by: Nick Brassel <nick@tzarc.org>
2022-12-09 03:45:30 +11:00
Nick Brassel 1d0787d861 Merge remote-tracking branch 'upstream/develop' into xap 2022-11-27 04:39:46 +11:00
Ryan 1e95f7be8f Joystick feature improvements (#19052) 2022-11-27 03:14:45 +11:00
QMK Bot ba7ac46cfd Merge remote-tracking branch 'origin/develop' into xap 2022-10-15 16:54:31 +00:00
Ryan 19e2dd742b LUFA: Consolidate report sending code (#18629) 2022-10-15 12:53:57 -04:00
QMK Bot 9b870630b1 Merge remote-tracking branch 'origin/develop' into xap 2022-10-09 20:09:00 +00:00
nezumee d6d6cdcb4f Make MIDI output endpoint use the out direction (#18654) 2022-10-09 21:08:27 +01:00
QMK Bot cd1cbddd70 Merge remote-tracking branch 'origin/develop' into xap 2022-10-07 02:35:35 +00:00
Ryan 6dbbeea46a Refactor send_extra (#18615) 2022-10-06 19:35:01 -07:00
QMK Bot 2ce2b84d72 Merge remote-tracking branch 'origin/develop' into xap 2022-10-04 22:19:54 +00:00
Ryan 09d3e27710 Refactor more host code (programmable button & digitizer) (#18565) 2022-10-05 09:19:12 +11:00
Drashna Jael're 5db8ab38d9 Merge remote-tracking branch 'origin/develop' into xap 2022-09-29 13:30:12 -07:00
Ryan be8907d634 Further refactoring of joystick feature (#18437) 2022-09-27 18:37:13 +10:00
QMK Bot 2471270b91 Merge remote-tracking branch 'origin/develop' into xap 2022-09-07 18:59:58 +00:00
Ryan f7d2b001bc Move Bluetooth-related function calls up to host/keyboard level (#18274)
* Move Bluetooth-related function calls up to host/keyboard level

* Remove pointless set_output() call

* Move bluetooth (rn42) init to end of keyboard_init()

* Enable SPI/UART for ChibiOS targets

* Some more slight tweaks
2022-09-07 19:59:24 +01:00
QMK Bot a1da56d6bf Merge remote-tracking branch 'origin/develop' into xap 2022-09-02 20:51:11 +00:00