Post

Replies

Boosts

Views

Activity

iOS requirements for HID over GATT
I am developing a virtual Bluetooth HID keyboard device on my Win desktop that connects to my iPad over bluetooth and advertises itself as a keyboard to control the iPad. It works very well already on Android, but not on iOS. I can see in Packet Logger that it reads well as a HID device, reads the report map and HID information correctly, which data is all valid. It doesn't subscribe to the report's Client Characteristic Configuration, just silently quitting and the keyboard does not work. I can post more information if needed, but my question in short is what are the requirements for iOS to accept a HID over GATT as a keyboard peripheral. I feel like I am close.
3
1
392
Jan ’25
Bluetooth HID Button Release Not Working on iPad for Bluetooth Pointer
I am developing a Bluetooth pointer device to control an iPad using HID. Most functionality works well, including mouse movement and button presses. However, I am encountering a strange issue with button releases. For the HID descriptor for the iPad I defined the following: 0501 0902 A101 8503 0509 // Mouse Buttons 1901 2902 // 2 buttons 1500 2501 9502 // Report count for two buttons 7501 8102 9501 7506 // Padding 8103 0501 0901 A100 1500 // Min value 26FF7F // Max value (0...32767) 0930 0931 7510 9502 8102 // Absolute coordinate pointer C0 Do you see an issue with the descriptor? Example packages sent over bluetooth: 0xA103 01 4F3A FB50 // 01 is a left button click, works well, an icon is clicked on iPad. 0xA103 00 4F3A FB50 // 00 should be a left button release, package is sent and received, but button is NOT released, but held on the iPad! The mouse coordinates are updated well, however, I expect the button to be released when sending 0xA103 00 4F3A FB50, but it is held down instead. Perhaps there is a special requirement for iOS to make this work? It is close to be fully functioning.
0
0
337
Dec ’24