首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往
您找到你想要的搜索结果了吗?
是的
没有找到

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

第二个问题:为什么上一篇文章中模拟的Switch Pro手柄只创建了/dev/input/eventX却没有/dev/input/jsX? 关于该问题,我们就需要加深一点对内核input驱动的了解。...最后再调用input_register_device函数,如果没有意外,一个input事件就注册成功了,我们就可以通过/dev/input/eventX文件来进行通信,上一篇文章中提过,eventX文件的结构体如下所示...struct timeval time; __u16 type; __u16 code; __s32 value; }; 如果我们按了手柄的一个按键,那么这个时候读取eventX...文件中,我们通过eventX文件读取到的内容就是这么产生的。...从上面的内容可以知道,如果想要开发Linux下的Switch Pro手柄的客户端,只需要操作eventX文件,并且仔细阅读nintendo_hid_event函数,了解传输数据的数据结构就能实现。

10010

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

ubuntu成功适配到了hid_nintendo驱动,但是却报了一堆的错误,猜测是这些错误导致手柄驱动注册失败,在Linux下能被正常识别的手柄应该像上面的案例一样,能在/dev/input/目录下生成jsX和eventX.../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进行研究学习。

8210

扫码

添加站长 进交流群

领取专属 10元无门槛券

手把手带您无忧上云

扫码加入开发者社群

热门标签

活动推荐

    运营活动

    活动名称
    广告关闭
    领券