绝对鼠标
我正在尝试使用复合键盘并使用 CH55x 使用示例。 默认情况下,鼠标在相对模式下工作并且工作正常。 我希望鼠标在 x,y =16 位的绝对模式下工作。 当我尝试使用许多不同的描述符但没有任何效果时,任何人都可以帮助我正确的设备描述符。 请帮助。提前致谢。 本帖最后由 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) 应用集合结束
}; ```
网上有很多类似的例子,建议找一些抓包工具通过抓取数据进行分析
当我尝试使用许多不同的描述符但没有任何效果时,任何人都可以帮助我正确的设备描述符。这句话,该怎么理解。 绝对鼠标是什么意思? 绝对鼠标不就是触摸了嘛
页:
[1]