-
-
Notifications
You must be signed in to change notification settings - Fork 40.1k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Bluetooth API: add system and led state support #21643
Conversation
remaining build failures seem to be ws2812 related in keymaps/userspace, not related to the PR |
Is there any reason why this can not be merged or is only the review outstanding? |
Also, there's a merge conflict. |
PR rebased. Keyboard specifics removed, waiting on CI to pick up any failures and will follow up with patches |
syncing issues? |
The LED state is not really a singular thing. Each keyboard interface has its own. This is not as much of an issue on Windows, where shift, lock and indicator state is shared across all connected keyboards - if you press Caps Lock, the host will tell all keyboards to turn the Caps Lock LED on, including both the 6KRO and NKRO interfaces of a QMK-based keyboard. However macOS tracks this state separately for each connected device and interface. If you press Caps Lock, the LED turns on, but it is only for the 6KRO interface. If you then press |
I see, not surprised. However, that seems like a general issue not relevant to this PR. This one just enables state transmission over Bluetooth ( also, iirc most bluetooth HID modules do 6KRO - so, the syncing issue maybe not be triggered?) |
Read what I said again. It's not about that. If you have a QMK keyboard with NKRO and Bluetooth enabled, what you have, from macOS's point of view at least, is three different keyboards in a single physical device, which do not sync the LED state when you switch between 6KRO, NKRO and Bluetooth. |
Is there any actual problem with the LED state introduced here? Also for Bluetooth another use case which may be considered here is when USB and Bluetooth are connected to completely different hosts. |
The host will only send LED updates when it needs to. It doesn't know when the keyboard switches between 6KRO/NKRO/Bluetooth/anything else. |
The USB protocol code would maintain its This leaves the 6KRO/NKRO case, but that part may be handled inside the USB driver (or even the Bluetooth driver, if some Bluetooth implementation would have NKRO support). |
broken userspace fixed on |
Merge conflicts. Why don't we just get |
The merge conflicts appear to be on layout/userspace - will drop those since they're not really relevant to the PR. |
expose hooks for drivers to pick up
Thank you for your contribution! |
Is the last word here that this is basically not wanted until the ```keyboard_led_state```` is reworked? |
I'd prefer to get the |
Thank you for your contribution! |
Thank you for your contribution! |
expose hooks for drivers to pick up
Implementation currently doing nothing, it's up to the bt drivers to implement it
Implementation example: SonixQMK#292
Description
Types of Changes
Issues Fixed or Closed by This PR
Checklist