DirectFB输入的问题

关于DFB键盘还有鼠标输入怎么能够做到即插即用呢?这个问题困扰了我很长时间,我的想法是

1.对于设备节点如果打不开就用轮询的方式只要设备FD不成功就不断的轮询打开,然后再打开后读写过程中,一旦有读写失败超时一段时间(可能是因为鼠标或者键盘拔出导致的读写失败)后就继续会到轮询打开的地方不断地打开(重新打开键盘或者鼠标)。

2.有一个固定的设备节点即使鼠标或者键盘不插入也存在的节点。如果鼠标或者键盘不存在我们仍然可以打开它,但是读取操作会阻塞。知道有了键盘或者鼠标的时候我们才能从该FD里面读取数据。

 

因为开发板是我们自己一直在裁剪的内核所以裁剪下来的东西比较多。很可能对于一些东西都不支持,观察/dev/input下面没有标准PC上面的mice(13,63),节点,而我从标准PC上cat /dev/input/mice 的时候是有乱码数据读取到终端上显示的。于是可以确定我们的开发板内核没有一个模块,在网上搜索了一下 大概是mousedev这个模块,插入后 mice节点出现,和PC达到了一样的效果,DFB编译ps2mouse驱动后鼠标变得正常。

 

linux读取键盘和虚拟终端有关系,而主设备号为4 ,次设备号为0的就是当前的虚拟终端,如果你现在在tty1上,那么tty0就等于tty1,如果你现在在tty2上那么tty0就等于tty2,于是使用DFB 的keyboard驱动读取/dev/tty0,一切正常。

 

而且键盘和鼠标都能做到即插即用,设备节点一直存在,而且能不能读到数据就是下层驱动可以做到,不用我们关心。使用了第2种方式,没有对DFB代码进行更改。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值