Please tell me the scroll up/down command for mouse development.

I am developing a simple BLE mouse using ble_app_hids_mouse of SDK17.1.0.
I found out through devzone that left mouse button click sends (1, 0, 0) and right button click sends (2, 0, 0).
Of course, I need to send release data (0, 0, 0) in pairs.

report_map_data is:

/////// Mouse //////////////////////////////////////////////////////////////////
        0x05, 0x01, // Usage Page (Generic Desktop)
        0x09, 0x02, // Usage (Mouse)
        0xA1, 0x01, // Collection (Application)

        // Report ID 1: Mouse buttons + scroll/pan
        0x85, INPUT_REPORT_REF_BUTTONS_ID,       // Report Id 2

        0x09, 0x01,       // Usage (Pointer)
        0xA1, 0x00,       // Collection (Physical)
        0x95, 0x05,       // Report Count (3)
        0x75, 0x01,       // Report Size (1)
        0x05, 0x09,       // Usage Page (Buttons)
        0x19, 0x01,       // Usage Minimum (01)
        0x29, 0x05,       // Usage Maximum (05)
        0x15, 0x00,       // Logical Minimum (0)
        0x25, 0x01,       // Logical Maximum (1)
        0x81, 0x02,       // Input (Data, Variable, Absolute)
        0x95, 0x01,       // Report Count (1)
        0x75, 0x03,       // Report Size (3)
        0x81, 0x01,       // Input (Constant) for padding
        0x75, 0x08,       // Report Size (8)
        0x95, 0x01,       // Report Count (1)
        0x05, 0x01,       // Usage Page (Generic Desktop)
        0x09, 0x38,       // Usage (Wheel)
        0x15, 0x81,       // Logical Minimum (-127)
        0x25, 0x7F,       // Logical Maximum (127)
        0x81, 0x06,       // Input (Data, Variable, Relative)
        0x05, 0x0C,       // Usage Page (Consumer)
        0x0A, 0x38, 0x02, // Usage (AC Pan)
        0x95, 0x01,       // Report Count (1)
        0x81, 0x06,       // Input (Data,Value,Relative,Bit Field)
        0xC0,             // End Collection (Physical)

        // Report ID 2: Mouse motion
        0x85, INPUT_REP_REF_MOVEMENT_ID,       // Report Id 3
        0x09, 0x01,       // Usage (Pointer)
        0xA1, 0x00,       // Collection (Physical)
        0x75, 0x0C,       // Report Size (12)
        0x95, 0x02,       // Report Count (2)
        0x05, 0x01,       // Usage Page (Generic Desktop)
        0x09, 0x30,       // Usage (X)
        0x09, 0x31,       // Usage (Y)
        0x16, 0x01, 0xF8, // Logical maximum (2047)
        0x26, 0xFF, 0x07, // Logical minimum (-2047)

        0x81, 0x06,       // Input (Data, Variable, Relative)

        0xC0,             // End Collection (Physical)
        0xC0,             // End Collection (Application)

For Example;

https://devzone.nordicsemi.com/f/nordic-q-a/38429/how-to-create-an-hid-mouse-application-using-nrf52dk-board-and-few-extra-buttons/148258

So far, it works fine.

However, I need to send additional scroll up and scroll down data, but I don't know how.

I searched the internet for a long time but couldn't find it.
I want to send the following data.
scroll up = ?
scroll down = ?
scroll left = (0, 0, 0x01)
scroll right = (0, 0, 0xFF)

If possible,
zoom in = ?
zoom out = ?

I don't know where to find this information. Thanks,

Best Regards,

YIM.

Related