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):
timees la marca de tiempo, devuelve la hora a la que ocurrió el evento.typees, por ejemplo,EV_RELpara el momento relativo,EV_KEYpara una pulsación de tecla o liberación. Se definen más tipos en include/linux/input-event-codes.h .codees uncodeevento, por ejemplo,REL_XoKEY_BACKSPACE, nuevamente, una lista completa se encuentra en include/linux/input-event-codes.h .valuees el valor que lleva el evento. Ya sea un cambio relativo paraEV_REL, un nuevo valor absoluto paraEV_ABS(joysticks ...), o0paraEV_KEYpara el lanzamiento,1para la pulsación de teclas y2para el autoreeat.
Para obtener guías y código de ejemplo, realice una búsqueda en la web del "linux kernel" "input subsystem" .