打印
[USB芯片]

绝对鼠标

[复制链接]
949|4
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
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[MOUSE_SIZ_REPORT_DESC] =
{
//=============================================================================
//【鼠标】-顶层集合(报告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 | 只看该作者
绝对鼠标是什么意思?

使用特权

评论回复
5
huaziforever| | 2023-7-29 22:43 | 只看该作者
绝对鼠标不就是触摸了嘛

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

2

主题

9

帖子

0

粉丝