fix(hid): improve composite keyboard and mouse support on iPadOS - #2
Open
s-qin wants to merge 1 commit into
Open
fix(hid): improve composite keyboard and mouse support on iPadOS#2s-qin wants to merge 1 commit into
s-qin wants to merge 1 commit into
Conversation
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
fix(hid): improve composite keyboard and mouse support on iPadOS
Problem
The BLE advertisement classified the peripheral as a plain HID keyboard (
Appearance 0x03C1, HID Keyboard) while the device is actually a keyboard + mouse composite HID peripheral. iPadOS then did not expose its native pointer unless AssistiveTouch was enabled.Observed behavior (before the fix, real hardware)
kbd_subscribed=true,mouse_subscribed=true— both HID report subscriptions activeFix
guest/openspan_ble.py: change the advertisement Appearance from0x03C1 (HID Keyboard)to0x03C0 (Generic HID)— the peripheral is a keyboard + mouse composite, so it is advertised as generic human interface. No report-map / HID descriptor / GATT changes: mouse reports already worked; this is a compatibility classification fix made as a single-point minimal change.Validation
Manually tested on real hardware (fresh BLE re-pair after the change):
Note: the wording describes observed iPadOS compatibility behavior on real hardware tests, not internal iPadOS behavior claims.
No CI pipeline configured in this repository (no .github/workflows); static checks passed (python -m py_compile, git diff --check).