sirve que para inputs basics array c++ c linux input structure

que - struct c++



descripciĆ³n de la estructura input_event(de linux/input.h) (1)

¿Puede alguien decirme cuáles son las propiedades de los tipos de datos utilizados por la estructura input_event?

Se define de la siguiente manera en el archivo input.h:

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

¡Pero no hay otras descripciones! Incluso el google no me dio nada interesante.

Lo único que sé es que el time da segundos o milisegundos desde la época y el value da el código del botón presionado. Pero incluso el valor de la propiedad de value no es realmente claro para mí. En mi programa cada pulsación genera seis eventos. Los siguientes eventos son la respuesta para presionar la tecla 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

y esos son para a carta:

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

Me gustaría descifrar el valor de la letra real, pero no entiendo el significado de las propiedades.

¡Por favor ayuda!


La struct input_event se struct input_event , entre otros, en include/linux/input.h .

Desde 5. Interfaz de evento en el kernel de Linux Documentation/input/input.txt (y modificado para proporcionar los nombres de archivo de encabezado correctos):

  • time es la marca de tiempo, devuelve la hora a la que ocurrió el evento.

  • type es, por ejemplo, EV_REL para el momento relativo, EV_KEY para una pulsación de tecla o liberación. Se definen más tipos en include/linux/input-event-codes.h .

  • code es un code evento, por ejemplo, REL_X o KEY_BACKSPACE , nuevamente, una lista completa se encuentra en include/linux/input-event-codes.h .

  • value es el valor que lleva el evento. Ya sea un cambio relativo para EV_REL , un nuevo valor absoluto para EV_ABS (joysticks ...), o 0 para EV_KEY para el lanzamiento, 1 para la pulsación de teclas y 2 para el autoreeat.

Para obtener guías y código de ejemplo, realice una búsqueda en la web del "linux kernel" "input subsystem" .