arm shell 获取本地键盘输入值_linux下获取按键响应事件【转】

1、问题

通过一个死循环将读取键盘对应的设备文件将触发键盘事件在屏幕上打印出来,按esc退出程序

代码是在unbuntu10.04编译执行通过的

2、input_event描述

在Linux内核中,input设备用input_dev结构体描述,使用input子系统实现输入设备驱动的时候,驱动的核心工作就是向系统报告按键、触摸屏、键盘、鼠标等输入事件(event,通过input_event结构体描述),不再需要关心文件操作接口,因为Input子系统已经完成了文件操作接口

linux/input.h 这个文件定义了event事件的结构体,API和标准按键的编码等;

struct input_event {

struct timeval time;  //按键时间

__u16 type; //事件类型

__u16 code; //要模拟成什么按键

__s32 value;//是按下还是释放

};

type,指事件类型,常见的事件类型有:

EV_KEY, 按键事件,如键盘的按键(按下哪个键),鼠标的左键右键(是非击下)等;

EV_REL, 相对坐标,主要是指鼠标的移动事件(相对位移);

EV_ABS, 绝对坐标,主要指触摸屏的移动事件

code:事件的代码.

如果事件的类型代码是EV_KEY,该代码code为设备键盘代码.0~127为键盘上的按键代码

关于按键代码的定义,部分如下所示:

#define KEY_RESERVED  0

#define KEY_ESC  1

#define KEY_1  2

#define KEY_2  3

#define KEY_3  4

#define KEY_4  5

#define KEY_5  6

#define KEY_6  7

#define KEY_7  8

#define KEY_8  9

#define KEY_9  10

#define KEY_0  11

#define KEY_MINUS  12

#define KEY_EQUAL  13

#define KEY_BACKSPACE  14

#define KEY_TAB  15

#define KEY_Q  16

#define KEY_W  17

#define KEY_E  18

#define KEY_R  19

#define KEY_T  20

value&#x

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值