melta101
melta101
DIIDevHeads IoT Integration Server
Created by melta101 on 7/31/2024 in #middleware-and-os
How to convert relative cursor movement to absolute position for BLE HID using Zephyr?
Hey @MCU, MPU & Firmware @Helper Guys, i have a slight logic problem, So i built a BLE HID device using zephyr which tags input from a console and send BLE HID packets to the connected device All well and good...for now The problem arises here, where the HID report is based of the relative position of the cursor, but my client requires a way to give it through Absolute position of a device(Main eg: phone) Could anyone help how we can give absolute movement from relative movement(Even external(PC based) code implementation is Okay) My HID report is 0x05, 0x01, /* Usage Page (Generic Desktop Ctrls) / 0x09, 0x02, / Usage (Mouse) / 0xA1, 0x01, / Collection (Application) / 0x85, 0x01, / Report Id (1) / 0x09, 0x01, / Usage (Pointer) / 0xA1, 0x00, / Collection (Physical) / 0x05, 0x09, / Usage Page (Button) / 0x19, 0x01, / Usage Minimum (0x01) / 0x29, 0x03, / Usage Maximum (0x03) / 0x15, 0x00, / Logical Minimum (0) / 0x25, 0x01, / Logical Maximum (1) / 0x95, 0x03, / Report Count (3) / 0x75, 0x01, / Report Size (1) / 0x81, 0x02, / Input (Data,Var,Abs,No Wrap,Linear,...) / 0x95, 0x01, / Report Count (1) / 0x75, 0x05, / Report Size (5) / 0x81, 0x03, / Input (Const,Var,Abs,No Wrap,Linear,...) / 0x05, 0x01, / Usage Page (Generic Desktop Ctrls) / 0x09, 0x30, / Usage (X) / 0x09, 0x31, / Usage (Y) / 0x15, 0x81, / Logical Minimum (129) / 0x25, 0x7F, / Logical Maximum (127) / 0x75, 0x08, / Report Size (8) / 0x95, 0x02, / Report Count (2) / 0x81, 0x06, / Input (Data,Var,Rel,No Wrap,Linear,...) / {I have tried 0x81, 0x02 for Abs but it didnt register in my phone as a HID device for some reason} 0xC0, / End Collection / 0xC0, / End Collection */
15 replies