抑郁症健康,内容丰富有趣,生活中的好帮手!
抑郁症健康 > linux输入子系统之按键驱动

linux输入子系统之按键驱动

时间:2019-02-17 14:45:43

相关推荐

上一节中,我们讲解了Linux input子系统的框架,到内核源码里详细分析了输入子系统的分离分层的框架等。

上一节文章链接:/lwj103862095/article/details/17733993

这一节,我们来以输入子系统的框架来写一个按键驱动。

问:怎么写符合输入子系统框架的驱动程序?

答:

1. 分配一个input_dev结构体

2. 设置

3. 注册

4. 硬件相关的代码,比如在中断服务程序里上报事件

问:如何分配input_dev结构体?

答:使用input_allocate_device函数

input_dev结构体的重要成员

struct input_dev {const char *name;const char *phys;const char *uniq;struct input_id id;unsigned long evbit[NBITS(EV_MAX)]; // 表示能产生哪类事件unsigned long keybit[NBITS(KEY_MAX)]; // 表示能产生哪些按键unsigned long relbit[NBITS(REL_MAX)]; // 表示能产生哪些相对位移事件, x,y,滚轮unsigned long absbit[NBITS(ABS_MAX)]; // 表示能产生哪些绝对位移事件, x,yunsigned long mscbit[BITS_TO_LONGS(MSC_CNT)];unsigned long ledbit[BITS_TO_LONGS(LED_CNT)];unsigned long sndbit[BITS_TO_LONGS(SND_CNT)];unsigned long ffbit[BITS_TO_LONGS(FF_CNT)];...}

问:第二步的设置,应该怎么设置,应该设置什么?

答:举例,在此按键驱动里

</

如果觉得《linux输入子系统之按键驱动》对你有帮助,请点赞、收藏,并留下你的观点哦!

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。