I used the BLE_HID_mouse example and adapted some lines to get the mousewheel data as 4th byte:
#define MOUSE_DATA_LEN (4u) //instead of 3
abMouseData[3u] = bScrollWheel_value; (I tested 120 or -120)
Also in the BLE component HID-profile I changed:
- "Human interface device"
- "Boot mouse input report: Boot mouse input report value" from 3 to 4 bytes to include the extra wheelvalue byte
- "Report In: Report value" also from 3 to 4 bytes to include the wheel byte
No errors, and I even see in cysmart on my PC that the 4th byte is being transmitted and it's received correctly.
But it doesn't seem to scroll, what am I doing wrong, maybe a Bug in version 3.1 SP3 or some characteristics needs to be reported?
Found the solution myself:
- In the BLE-component in reportmap added the "wheel" parameter after the X & Y and below put "report count" on 3 instead of 2
Also important on Android: always go to All aplications and under the Bluetooth App. clean Cache and delete data.