有人可以告诉我input_event结构使用的数据类型的属性是什么?
在input.h文件中定义如下:
struct input_event {
struct timeval time;
__u16 type;
__u16 code;
__s32 value;
};
但没有其他描述!即使是谷歌搜索也没有给我带来任何有趣
我唯一知道的是time
给出了纪元的秒或毫秒,而value
给出了按下按钮的代码。但即使value
财产的价值对我来说也不是很清楚。在我的程序中,每次击键都会产生六个事件。以下事件是按ENTER键的响应:
type=4,code=4,value=458792
type=1,code=28,value=1
type=0,code=0,value=0
type=4,code=4,value=458792
type=1,code=28,value=0
type=0,code=0,value=0
那些是a
来信:
type=4,code=4,value=458756
type=1,code=30,value=1
type=0,code=0,value=0
atype=4,code=4,value=458756
type=1,code=30,value=0
type=0,code=0,value=0
我想将值解码为真实的字母,但我不明白属性的含义。
请帮忙!
答案 0 :(得分:42)
其中struct input_event
在include/linux/input.h中定义。
来自 5。 Linux内核Documentation/input/input.txt中的事件接口(并进行了修改以提供正确的头文件名):
time
是时间戳,它返回事件发生的时间。
type
例如EV_REL
表示相对时刻,EV_KEY
表示按键或
发布。 include/linux/input-event-codes.h中定义了更多类型。
code
是事件代码,例如REL_X
或KEY_BACKSPACE
,也是完整的
列表位于include/linux/input-event-codes.h。
value
是事件带来的值。要么相对改变
EV_REL
,EV_ABS
(操纵杆......)的绝对新值,或0
的{{1}}
发布,EV_KEY
表示按键,1
表示自动重复。
对于指南和示例代码,请对"linux kernel" "input subsystem"
进行网络搜索。