硬汉嵌入式论坛

 找回密码
 立即注册
查看: 5637|回复: 2
收起左侧

[ThreadX全家桶] USBX HID鼠标设备小坑

[复制链接]

4

主题

31

回帖

43

积分

新手上路

积分
43
发表于 2021-6-12 01:49:26 | 显示全部楼层 |阅读模式
  1.   /* Initialize the hid class parameters for the device. */
  2.   hid_parameter.ux_device_class_hid_parameter_report_address = USBD_Get_Device_HID_MOUSE_ReportDesc();

  3.   hid_parameter.ux_device_class_hid_parameter_report_length = USBD_HID_MOUSE_REPORT_DESC_SIZE;

  4.   hid_parameter.ux_device_class_hid_parameter_report_id = UX_FALSE;

  5.   hid_parameter.ux_device_class_hid_parameter_callback = app_usbx_device_thread_hid_callback;

  6.   /* Initialize the device hid class. The class is connected with interface 0 */
  7.   ret = ux_device_stack_class_register(_ux_system_slave_class_hid_name,
  8.                                        ux_device_class_hid_entry, 1, 4,
  9.                                        (VOID *)&hid_parameter);
复制代码
ux_device_class_hid_parameter_report_id  参数会影响设备上报数据, 例如鼠标上报4个参数BYTE1 BYTE2 BYTE3 BYTE4
定义分别是:
BYTE1 --
       |--bit7:   1   表示   Y   坐标的变化量超出-256   ~   255的范围,0表示没有溢出
       |--bit6:   1   表示   X   坐标的变化量超出-256   ~   255的范围,0表示没有溢出
       |--bit5:   Y   坐标变化的符号位,1表示负数,即鼠标向下移动
       |--bit4:   X   坐标变化的符号位,1表示负数,即鼠标向左移动
       |--bit3:     恒为1
       |--bit2:     1表示中键按下
       |--bit1:     1表示右键按下
       |--bit0:     1表示左键按下
BYTE2 -- X坐标变化量,与byte的bit4组成9位符号数,负数表示向左移,正数表右移。用补码表示变化量
BYTE3 -- Y坐标变化量,与byte的bit5组成9位符号数,负数表示向下移,正数表上移。用补码表示变化量
BYTE4 -- 滚轮变化。


ux_device_class_hid_parameter_report_id = UX_TRUE时, BYTE1 会被赋值成为 (UCHAR)(hid_event->ux_device_class_hid_event_report_id), 并且数据缓冲区会往后移一位;
设置为UX_FALSE时, 数据才是正常的顺序

1

1

2

2

3

3
回复

使用道具 举报

1万

主题

7万

回帖

11万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
115812
QQ
发表于 2021-6-12 10:02:51 | 显示全部楼层
谢谢楼主分享。
回复

使用道具 举报

681

主题

3487

回帖

5555

积分

论坛元老

积分
5555
发表于 2021-6-15 09:01:14 | 显示全部楼层
貌似有些复杂,不怎么懂哟
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|小黑屋|Archiver|手机版|硬汉嵌入式论坛

GMT+8, 2025-5-20 13:07 , Processed in 1.176800 second(s), 27 queries .

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2023, Tencent Cloud.

快速回复 返回顶部 返回列表