madhan7710 发表于 2023-4-9 14:26

绝对鼠标

我正在尝试使用复合键盘并使用 CH55x 使用示例。 默认情况下,鼠标在相对模式下工作并且工作正常。 我希望鼠标在 x,y =16 位的绝对模式下工作。 当我尝试使用许多不同的描述符但没有任何效果时,任何人都可以帮助我正确的设备描述符。 请帮助。
提前致谢。

RISCV29 发表于 2023-4-10 14:21

本帖最后由 RISCV29 于 2023-4-10 14:26 编辑

```
const u8 MOUSE_ReportDescriptor =
{
//=============================================================================
//【鼠标】-顶层集合(报告ID=1,报告长度=6),描述符长度=58
    0x05, 0x01,                // Usage Page (Generic Desktop)
    0x09, 0x02,                // Usage (Mouse)
    0xA1, 0x01,                // Collection (Application)      【通用桌面设备:鼠标】应用集合开始
    0x09, 0x01,                //      Usage (Pointer)      指针设备
    0xA1, 0x00,                //      Collection (Physical)      物理集合开始

    0x85, 0x01,                //                Report ID (1)      报告ID =1
   
    0x05, 0x09,                //                Usage Page (Buttons)用途页为【按键】
    0x19, 0x01,                //                Usage Minimum (01)      用途最小值1
    0x29, 0x03,                //                Usage Maximum (03)用途最大值3(1=左键,2=右键,3=示中键)
    0x15, 0x00,                //                Logical Minimum (0)      逻辑最小值0
    0x25, 0x01,                //                Logical Maximum (1)      逻辑最大值1
    0x75, 0x01,                //                Report Size (1)      字段大小为1bit
    0x95, 0x03,                //                Report Count (3)      这样的字段数量为3
    0x81, 0x02,                //                Input (Data, Var, Abs)输入(变量,数值,绝对值)

    0x75, 0x05,                //                Report Size (5)
    0x95, 0x01,                //                Report Count (1)      填充5个bit,补足一个字节
    0x81, 0x01,                //                Input (Constant) for padding      

    0x05, 0x01,                //                Usage Page (Generic Desktop)      用途页为【通用桌面】
    0x09, 0x30,                //                Usage (X)                        用途为X
    0x09, 0x31,                //                Usage (Y)                        用途为Y

    0x15, 0x00,                //                Logical Minimum (0)             【逻辑最小值=0】
    0x26, 0xff, 0x7f,      //                Logical_Maximum (32767)      【逻辑最大值=32767】
    0x35, 0x00,                //                PHYSICAL_Minimum (0)      【物理最小值=0】
    0x46, 0xff, 0x7f,      //                PHYSICAL_Maximum (32767)      【物理最大值=32767】

    0x75, 0x10,                //                Report Size (16)                【16位量】
    0x95, 0x02,                //                Report Count (2)                【这样的字段数量为2】
    0x81, 0x02,                //                Input (Data, Var, Abs)      【输入(变量,数值,绝对值)】

    0xC0,                //      End Collection (Physical) 物理集合结束
    0xC0,                // End Collection (Application) 应用集合结束
}; ```
网上有很多类似的例子,建议找一些抓包工具通过抓取数据进行分析

chenjun89 发表于 2023-4-12 21:59

当我尝试使用许多不同的描述符但没有任何效果时,任何人都可以帮助我正确的设备描述符。这句话,该怎么理解。

weifeng90 发表于 2023-4-14 08:00

绝对鼠标是什么意思?

huaziforever 发表于 2023-7-29 22:43

绝对鼠标不就是触摸了嘛
页: [1]
查看完整版本: 绝对鼠标