这些小活动你都参加了吗?快来围观一下吧!>>
电子产品世界 » 论坛首页 » DIY与开源设计 » 电子DIY » Let'sDo第1期任务手势翻页笔——总结

共3条 1/1 1 跳转至

Let'sDo第1期任务手势翻页笔——总结

助工
2024-08-02 08:54:05     打赏

通过课程2我们了解了通过AJ7620U2模块可以实现9种手势的识别;解下来我们需要利用手势来实现PPT的翻页。这些指令需要通过USB发送给主机(即PC);而往主机首先需要知道是什么设备进行插入,会发送询问命令,从机则会返回,所以我们需要修改设备配置描述符与设备报告描述符,从而让主机知道待会儿会有个虚拟键盘设备。

        这个时候我们需要先了解Human Interface Devices (HID) Specifications and Tools(人机接口规范与工具)了。这是有个文档的。

对应的链接也在这里:https://www.usb.org/hid

大家有时间可以仔细的看一下。

image.png

接下来,我们需要知道的是PPT的翻页,对应的键盘按键是:PageUp(上翻)、PageDown(下翻),F5(从头播放)、ESC(退出全屏)等;对应的Usage ID是:

image.png



对应的链接如下:https://www.usb.org/sites/default/files/hut1_5.pdf

 通过链接可以找到我们任意想要的虚拟键盘任意键的ID。

所以,我们将AJ7620U2模块识别出的手势与之对应;代码如下:

Case PAJ_UP: hid_event.ux_device_class_hid_event_buffer[2] = 0x4B; break;  //Keyboard PageUp

case PAJ_DOWN: hid_event.ux_device_class_hid_event_buffer[2] = 0x4E; break;  //Keyboard PageDown  

case PAJ_LEFT: hid_event.ux_device_class_hid_event_buffer[2] = 0x3E; break;  //Keyboard Esc  

case PAJ_RIGHT: hid_event.ux_device_class_hid_event_buffer[2] = 0x29; break;  //Keyboard F5  

case PAJ_FORWARD: hid_event.ux_device_class_hid_event_buffer[2] = 0x4A; break;  //Keyboard Home  

case PAJ_BACKWARD: hid_event.ux_device_class_hid_event_buffer[2] = 0x4D; break;  //Keyboard End  

case PAJ_CLOCKWISE: hid_event.ux_device_class_hid_event_buffer[2] = 0x50; break;  //Keyboard LeftArrow

case PAJ_COUNT_CLOCKWISE: hid_event.ux_device_class_hid_event_buffer[2] = 0x4F;     break;  //Keyboard RightArrow  

接下来是结果演示,如下视频:https://www.bilibili.com/video/BV1dJvvezEj3/?vd_source=935e83c155686718e188c55b2b17f772

基本功能是没问题的。回头有时间再琢磨琢磨做其他功能和组合键。因为这些手势代表的是虚拟键盘,跟PPT无关,其他界面也是同样可以发挥作用的。以后再看看吧。。。



助工
2024-08-02 09:15:20     打赏
2楼

HID Usage Tables.pdf

HID Usage Tables 对应的文档


专家
2024-08-09 04:19:01     打赏
3楼

谢谢分享


共3条 1/1 1 跳转至

回复

匿名不能发帖!请先 [ 登陆 注册 ]