首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

原创 Paper | USB设备开发:从入门到实践指南(三)

最后再调用input_register_device函数,如果没有意外,一个input事件就注册成功了,我们就可以通过/dev/input/eventX文件来进行通信,上一篇文章中提过,eventX文件的结构体如下所示...文件中,我们通过eventX文件读取到的内容就是这么产生的。...从上面的内容可以知道,如果想要开发Linux下的Switch Pro手柄的客户端,只需要操作eventX文件,并且仔细阅读nintendo_hid_event函数,了解传输数据的数据结构就能实现。...2.2 注册手柄驱动 目前Linux下绝大部分手柄的客户端程序都是通过读取/dev/input/jsX文件获取手柄输入的数据,在上一篇Paper中,我们模拟的XBox手柄就能成功生成/dev/input...Linux驱动中还未实现,从joydev_event可以看出,Linux的手柄驱动仅支持坐标系和按键功能,所以把支持加速度传感器的手柄给禁用了。

12410
您找到你想要的搜索结果了吗?
是的
没有找到

原创 Paper | USB设备开发:从入门到实践指南(二)

下能被正常识别的手柄应该像上面的案例一样,能在/dev/input/目录下生成jsX和eventX文件,因为在Linux上使用手柄的软件都是通过/dev/input/jsX文件来和手柄进行交互的。.../event6 成功加载出eventX文件,但是却没加载出jsX文件,目前认为是nintendo驱动导致的问题。...不过也不能说该驱动毫无用处,如果我们想使用Switch手柄,仍然能通过读取eventX来获取手柄的输入,不过eventX的结构体和jsX的不同,eventX的结构体为input_event,结构体定义如下所示...__u16 type; __u16 code; __s32 value; }; 目前还未对input_event结构体和js_event结构的关系进行进一步研究,猜测jsX的数据是根据eventX...后续文章中,将会对/dev/input/eventX事件进行深入研究,还有会对非HID的USB进行研究学习。

13410

嵌入式输入系统应用编程

常见的输入设备有键盘、鼠标、遥控杆、书写板、触摸屏等等,用户通过这些输入设备与 Linux 系统进行数据交换。 什么是输入系统? 输入设备种类繁多,能否统一它们的接口?...Linux 系统为了统一管理这些输入设备,实现了一套能兼容所有输入设备的框架:输入系统。驱动开发人员基于这套框架开发出程序,应用开发人员就可以使用统一的 API 去使用设备。...有这 几类事件(参考 Linux 内核头文件): ? ② code:表示该类事件下的哪一个事件 比如对于 EV_KEY(按键)类事件,它表示键盘。...1.2.3 调试技巧 确定设备信息 输入设备的设备节点名为/dev/input/eventX(也可能是/dev/eventX,X 表示 0、1、2 等数字)。

1.4K30

嵌入式输入系统框架及调试

常见的输入设备有键盘、鼠标、遥控杆、书写板、触摸屏等等,用户通过这些输入设备与 Linux 系统进行数据交换。 什么是输入系统? 输入设备种类繁多,能否统一它们的接口?...Linux 系统为了统一管理这些输入设备,实现了一套能兼容所有输入设备的框架:输入系统。驱动开发人员基于这套框架开发出程序,应用开发人员就可以使用统一的 API 去使用设备。...有这几类事件(参考 Linux 内核头文件): ② code:表示该类事件下的哪一个事件 比如对于 EV_KEY(按键)类事件,它表示键盘。...7.2.3 调试技巧 确定设备信息 输入设备的设备节点名为/dev/input/eventX(也可能是/dev/eventX,X 表示 0、1、2 等数字)。

80120
领券