900字范文,内容丰富有趣,生活中的好帮手!
900字范文 > linux输入子系统之按键驱动

linux输入子系统之按键驱动

时间:2019-12-23 02:02:05

相关推荐

linux输入子系统之按键驱动

上一节中,我们讲解了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)];...}

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

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

</

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