Case study
open-appleremote: Siri Remote protocol reconstruction
Reconstructs first-generation Siri Remote Bluetooth reports for Linux, decoding buttons, touch and tvOS-style gestures. The Python implementation and protocol notes distinguish measured behavior, historical reports and inferred meanings.
- Targets
- Protocol
- Category
- Independent reconstruction cases
- Relationship
- Independent reconstruction project
- Sources reviewed
Requirements & limits
- Prerequisites: Package 0.1.0; live use requires Linux, BlueZ, Python 3.8+ and access to the device’s hidraw interface. The core uses the Python standard library.
- Testing evidence: Project hardware checks cover A1962 with BlueZ 5.72 and Linux 6.17. A1513 is expected but untested; second- and third-generation Siri Remotes are unsupported.
- Limits: The virtual keyboard has not been hardware-tested. Voice is unreleased and checked with synthetic or recorded frames, not live use in this package; it additionally needs libopus and HCI-monitor privileges.
- Limits: Protocol notes label measured, previously reported and guessed facts. The public sample does not reproduce every claim from the larger unpublished capture.
- License: MIT-licensed repository.
About this entry
The description was reviewed against primary sources.
Primary sources
- README.md GitHub · a-funk/open-appleremote · Revision 1e6e190
- docs/PROTOCOL.md GitHub · a-funk/open-appleremote · Revision 1e6e190
- pyproject.toml GitHub · a-funk/open-appleremote · Revision 1e6e190
- LICENSE GitHub · a-funk/open-appleremote · Revision 1e6e190
More in Protocols
- GAMEKB-K17: reconstructing a macropad configuration protocol · Case study
- cooler-lcd: a Thermalright display protocol implementation · Case study
- NJFE: a Soulear camera protocol bridge for desktop inspection · Case study
- hw-harness: scanner USB protocol investigation · Case study
- Roborock Local Server: a self-hosted stand-in for Roborock’s vacuum cloud · Case study
- pypush: a Python client for Apple’s push protocol · Case study