input_event结构描述(来自linux / input.h)

有人可以告诉我什么是由input_event结构使用的数据types的属性?

它在input.h文件中定义如下:

struct input_event { struct timeval time; __u16 type; __u16 code; __s32 value; }; 

但是没有其他的描述! 即使使用Google,也没有什么意思。

我唯一知道的是, time从纪元给出秒或毫秒, value给出按下button的代码。 但是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 

那些是一封信:

 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 

我想解码真正的字母的价值,但我不明白的属性的含义。

请帮忙!

Solutions Collecting From Web of "input_event结构描述(来自linux / input.h)"

struct input_event是在include / linux / input.h中定义的。


5. Linux内核中的事件接口 Documentation / input / input.txt (并修改为提供正确的头文件名):

  • time是时间戳,它返回事件发生的时间。

  • type例如是相对时刻的EV_KEY ,按键或释放的EV_KEY 。 include / linux / input-event-codes.h中定义了更多的类型。

  • code是事件代码,例如REL_XKEY_BACKSPACE ,再一个完整的列表在include / linux / input-event-codes.h中 。

  • value是事件带来的价值。 EV_REL的相对变化, EV_REL绝对新值(操纵杆…),或者EV_KEY的释放为0EV_KEY1 ,自动重复为2

有关指南和示例代码,请执行"linux kernel" "input subsystem"的Web搜索。