OpenEdv-开源电子网

 找回密码
 立即注册
正点原子全套STM32/Linux/FPGA开发资料,上千讲STM32视频教程免费下载...
查看: 5068|回复: 5

关于“ input子系统“,应用程序如何确定eventX

[复制链接]

20

主题

122

帖子

0

精华

高级会员

Rank: 4

积分
635
金钱
635
注册时间
2014-6-20
在线时间
168 小时
发表于 2020-5-22 10:54:32 | 显示全部楼层 |阅读模式
1金钱
本帖最后由 Fliger 于 2020-5-28 08:33 编辑

学习 input子系统时,遇到这样一个问题:
拿左神的按键上报例程举例:
例程中说  "当我们向Linux内核成功注册input_dev设备以后,会在/dev/input目录下生成一个名为“eventX(X=0….n)”的文件,这个/dev/input/eventX就是对应的input设备文件。"
左神在编写测试应用程序时,直接给出了keyinput.ko的设备文件对应的是/dev/input/event0,那么这个event0是怎么确定的?
如果有第二个按键key2.ko的话,insmod后,该驱动对应的就是/dev/input/event1, 那如果先加载key2.ko,再加载keyinput.ko, 两个设备对应的event编号会则会变成key2.ko的设备文件对应的是/dev/input/event0
keyinput.ko的设备文件对应的是/dev/input/event1
我们在编写应用测试程序时,要如何不被驱动加载的顺序所干扰,动态的确定 open 哪个 eventX 呢?




正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

20

主题

122

帖子

0

精华

高级会员

Rank: 4

积分
635
金钱
635
注册时间
2014-6-20
在线时间
168 小时
 楼主| 发表于 2020-5-28 19:58:31 | 显示全部楼层
回复

使用道具 举报

2

主题

712

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
2178
金钱
2178
注册时间
2018-8-27
在线时间
258 小时
发表于 2020-5-29 10:17:51 | 显示全部楼层

可以通过open设备文件获取该设备的支持的输入事件类型来确定是不是你想要打开的设备。
一般是不会说一个按键写一个驱动,另一个按键又写一个驱动这样子搞,肯定都是对应一个驱动文件。
森罗万象
回复

使用道具 举报

20

主题

122

帖子

0

精华

高级会员

Rank: 4

积分
635
金钱
635
注册时间
2014-6-20
在线时间
168 小时
 楼主| 发表于 2020-5-29 17:31:08 | 显示全部楼层
xiaotaotao 发表于 2020-5-29 10:17
可以通过open设备文件获取该设备的支持的输入事件类型来确定是不是你想要打开的设备。
一般是不会说一个 ...

嗯,我这个举例不对,应该是 按键\鼠标\触摸板等多种不同类型的input设备

大神,能具体说一下吗?怎么获取设备支持的输入事件类型呢?
这么说 应用程序需要穷举出所有已经加载的/dev/input/evnetX,然后获取事件类型?
回复

使用道具 举报

2

主题

712

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
2178
金钱
2178
注册时间
2018-8-27
在线时间
258 小时
发表于 2020-5-29 18:13:47 | 显示全部楼层
Fliger 发表于 2020-5-29 17:31
嗯,我这个举例不对,应该是 按键\鼠标\触摸板等多种不同类型的input设备

大神,能具体说一下吗?怎么获取 ...

这个很简单地  我告诉可以这样做  具体怎么做你自己去看咯
森罗万象
回复

使用道具 举报

2

主题

5

帖子

0

精华

新手入门

积分
18
金钱
18
注册时间
2019-5-8
在线时间
3 小时
发表于 2020-11-9 09:11:30 | 显示全部楼层
我找到了一篇文章,你可以看看
https://blog.csdn.net/weixin_30527323/article/details/98230442
应用层可以通过ioctl获取我们编写设备的时候定义的设备名
回复

使用道具 举报

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

本版积分规则



关闭

原子哥极力推荐上一条 /2 下一条

正点原子公众号

QQ|手机版|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2024-11-25 18:58

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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