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.