Repository navigation
Expose the eject button over gRPC and carry it on the Indigo transport - #16
Merged
Merged
Conversation
Author
|
Supersedes #1 — add soft keyboard hid button. Much smaller than the original: upstream independently landed the same Consumer usage |
rubu
marked this pull request as ready for review
September 28, 2026 14:48
Author
|
https://github.com/appetizeio/idb/pull/1/changes was what I reverse engineered from the |
iOS toggles the software keyboard on HID Consumer usage 0xB8, which the button table already describes, but it was not reachable over the wire: HIDButtonType had no value for it and the HID handler no mapping. The legacy Indigo source is given alongside the usage so the button works on either transport. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
rubu
force-pushed
the
sync/01-framebuffer-stream
branch
from
September 28, 2026 15:31
a21c4ec to
e1a8968
Compare
rubu
force-pushed
the
sync/02-eject-button
branch
from
September 28, 2026 15:31
4fd7639 to
5d66beb
Compare
weiyin
approved these changes
Sep 28, 2026
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.
SimulatorHIDButton.ejectalready carries Consumer usage0x0C/0xB8, but it was unreachable over the wire —HIDButtonTypehad no value for it andHidMethodHandlerno mapping. This adds both, and gives the identity the legacy Indigo source alongside the usage so the button works on either transport.What the usage does. iOS toggles the software keyboard on it, the same as a hardware keyboard's eject key. Confirmed by tracing DeviceHub's "Toggle Software Keyboard" menu item: it emits
0xC/0xB8as a Button event to keyboard focus, andUIKeyboard setMinimized:flips immediately after.Worth knowing: the toggle changes whether the keyboard is minimized, but the resting state depends on whether iOS has a keyboard device registered. idb injects key events into
dtuhidd's existing virtual service without registering a device, so typing does not dismiss the keyboard the way it does under DeviceHub. That is out of scope here — it would need HID service registration overcom.apple.coredevice.feature.remote.universalhidservice.Stacked on #15.
🤖 Generated with Claude Code