BLE Mouse does not function correctly in iOS 13.2.3

Hi Guys,
I found some unexpected behaviour with HID Mouse (CY8CKIT-042-BLE-A Bluetooth® Low Energy 4.2 Compliant Pioneer Kit) on iOS 13.2.3. So device is scanned by iOS and I can successfully connect ( I used Settings / Accessibility / Touch / AssistiveTouch / Device). But in result I did not see any pointer and buttons activity.
The mouse used HID Report Protocol and Report Map describes simple 3 bottons mouse. So HID Descriptor looks:
Usage Page (Generic Desktop) 05 01

Usage (Mouse) 09 02

Collection (Application) A1 01

Usage (Pointer) 09 01

Collection (Physical) A1 00

Report Id (1) 85 01

Usage Page (Button) 05 09

Usage Minimum (Button 1) 19 01

Usage Maximum (Button 3) 29 03

Logical minimum (0) 15 00

Logical maximum (1) 25 01

Report Count (3) 95 03

Report Size (1) 75 01

Input (Data,Value,Absolute,Bit Field) 81 02

Report Count (1) 95 01

Report Size (5) 75 05

Input (Constant,Value,Absolute,Bit Field) 81 03

Usage Page (Generic Desktop) 05 01

Usage (X) 09 30

Usage (Y) 09 31

Logical minimum (-127) 15 81

Logical maximum (127) 25 7F

Report Size (8) 75 08

Report Count (2) 95 02

Input (Data,Value,Relative,Bit Field) 81 06

End Collection C0
End Collection C0


After connection I see (in air log) that BLE Mouse sends Report notifications (3 bytes: button, X, Y), but iOS does not show the pointer.

The following things should help to understand what is going on:

1. if I add one more byte Report Id in Report notification (REPORT_ID, BUTTON, X, Y) - Mouse start works correctly.
2. if I memove "Report Id (1)" item from Report Map - Mouse start works correctly.
So from this observation, I can assume that something wrong with iOS if we have declared Report Id in single Collection Report Map.

Also if we have multiple report (collection) in Report Map (Mouse/Keyboard) and each of them have Report Id, I do not see any problem.
I suppose REPORT_ID in single Collection Report Map (as described above) - is valid case (does not violate any spec) and can be used in different mouse Vendors.
Any insights would be really helpful.
Thanks and Regards,
Nazar

Replies

Hi Nazar,

I encounter a somehow similar issue using MI dual mode mouse via bluetooth. The side buttons work well via USB dongle but not via bluetooth. I did some research and found that, the Mouse/HID descriptor send invalid code for the 2 side buttons. Might you know how I can solve this issue?