如何读取ARM开发板按键信息(在linux *** 作系统环境下,按键已经有驱动,并且做成了devbuttons设备)?

如何读取ARM开发板按键信息(在linux *** 作系统环境下,按键已经有驱动,并且做成了devbuttons设备)?,第1张

定时器处理程序,查询按键是否被按下,如果是按下的,把状态记录到缓冲区,然后开启定时器延时去抖,设定一个时间,如果发现没有被按下,就认为抬起,开启相应中断,函数key_timer_handler

仔细看下这个头文件input.h 和结构体 input_event 的描述吧,对你应该有帮助;

/*

* The event structure itself

*/

struct input_event {

struct timeval time

__u16 type

__u16 code

__s32 value

}

里面有关于type、code、value值的介绍;

理解这个之后,你就明白什么时候代表按下鼠标左键,什么时候松开鼠标左键,什么时候按下鼠标右键、什么时候松开鼠标右键;

/*

* Event types

*/

......

#define EV_KEY 0x01

......

/*

* Keys and buttons , code values

*/

....

#define BTN_MOUSE 0x110

#define BTN_LEFT 0x110

#define BTN_RIGHT 0x111

#define BTN_MIDDLE 0x112

#define BTN_SIDE 0x113

#define BTN_EXTRA 0x114

#define BTN_FORWARD 0x115

#define BTN_BACK 0x116

#define BTN_TASK 0x117

.....


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/8289405.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-15
下一篇 2023-04-15

发表评论

登录后才能评论

评论列表(0条)

保存