0.1:关键结构体input_event信息:
struct input_event {
struct timeval time
__u16 type
__u16 code
__s32 value
}
type: 设备类型。可以设置为:
sdk封装的解决思路;
type:EV_REL鼠标设备 0x02
code : rel_x 0x00 表示x轴方向 rel_y 0x01 表示y轴方向 (一次鼠标移动会产生两个input event事件)
value: EV_REL type下有正负表示方向
介绍键盘的code
Type为EV_KEY时,value: 0表示按键抬起。1表示按键按下。(4表示持续按下等?)。
问题:因为会出现一次鼠标移动就有两个事件产生,所以就要判断这一时刻到底是哪个事件
方法:
鼠标事件:
上1
下0
左2
右3
键盘事件:
上103
下108
左105
右106
停28
蓝牙键盘
1:2
2:3
3:4
4:5
5:6
w:17
a:30
s:31
d:32
Linux中输入设备的事件类型有:
EV_SYN 0x00 同步事件
EV_KEY 0x01 按键事件
EV_REL 0x02 相对坐标
EV_ABS 0x03 绝对坐标
EV_MSC 0x04 其它
EV_LED 0x11 LED
EV_SND 0x12 声音
EV_REP 0x14 Repeat
EV_FF 0x15 力反馈
EV_LED LED灯事件
EV_SND 声音事件
EV_REP 重复按键事件
EV_FF 受力事件
EV_PWR 电源事件
EV_FF_STATUS 受力状态事件
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)