嗨,支持,
我想开发一个带有几个控制按钮和摇杆的游戏手柄。我正在尝试开发它的基础上的HID鼠标的例子。我用物联网开发板制作了一个简单的自制硬件电路板。
作为一个初学者,我已经阅读了HID服务规范、HID的USB设备类定义、HOGP规范等。但是,我仍然有一些问题。
1.在MOUSE示例中,我看到发送到主机的报告存储在normal_key_report_st[6]和extended_key_report_st[1]中。它们是否特别对应于id = 1和2的报告?既然这个例子已经为我们定义了报告id 3报告映射,我如何使用它?我需要扩展数组extended_key_report_st吗?或者像这样新建一个数组并展开REPORT_TYPE enum ?
enum REPORT_TYPE {
NORMAL_REPORT = 0,
EXTENDED_REPORT = 1,
AUXILIARY_REPORT = 2
};
如果是,那么KEY_BUFF_TYPE呢?
enum KEY_BUFF_TYPE {
免费的,
出版社,
释放,
扩展
};
2.我试图通过研究鼠标按键的工作过程来找到答案。我看到他们的密钥0xF400, 0xF401, 0xF402。这些密码是什么意思?我已经阅读了kbd_process_keycode函数。开发人员是否选择一个键码并修改相应的进度功能,或者他正在流动一些键码规则?如果我想开发自己的按钮怎么办?我如何选择键码?我在键盘手册中找到了一些键盘代码的解释,但对于鼠标来说似乎有点不同。
非常感谢!
快乐
顺便说一下,我会说中文。所以无论你说的是英语还是汉语,任何有建议的人都是值得赞赏的。^^
设备:
你有没有看过说明书UM-B-027鼠标参考申请须知?它确实有一些关于参考设计的详细信息,可能会对你有所帮助。
谢谢您的回复,是的,我已经阅读了027手册,但仍然没有显示如何使用报告地图中定义的报告ID 3。示例项目似乎只使用了报告ID 1和2。