CoreDevice
HID
Send remote HID button, keyboard, digitizer, scroll, and touch reports.
HID is a CoreDevice service reached through RSD and RemoteXPC. The client connects to com.apple.coredevice.hid.indigo.
Use It For
- Connect through the iOS 17+ CoreDevice tunnel.
- Call the typed CoreDevice client methods.
- Use the matching tool command when one is registered.
Feature Flag
[dependencies]
idevice = { version = "0.1.64", features = ["usbmuxd", "display_stream"] }Service Names
| Path | Value |
|---|---|
| RSD | com.apple.coredevice.hid.indigo |
Rust Example
use idevice::{
RsdService,
core_device::{ButtonState, IndigoHidClient},
};
let mut client: IndigoHidClient<_> = rsd_handshake
.connect(&mut rsd_provider)
.await?;
client.send_button(0x0c, 0xcd, ButtonState::Down).await?;CLI Equivalent
idevice-tools hid tap 100 200
idevice-tools hid button homeCommon Errors
| Error | What to check |
|---|---|
| RSD service not found | The connected device did not advertise the CoreDevice service name. |
| RemoteXPC error | Check the CoreDevice action and payload shape used by the client. |
| Tunnel unavailable | Create the iOS 17+ tunnel before connecting to CoreDevice services over USB. |