subsistema de entrada Linux proporciona el dispositivo de entrada de cuadro de la unidad, tal como un ratón, un teclado, un dispositivo de entrada del panel táctil pertenece. documentación de Linux en cuanto subsistema de entrada en Documentation /directorio de entrada, código del núcleo de entrada y input.c input.h en. En este artículo no se refiere a los detalles
implementaciones de entrada, tales input_dev- > Grab, y una temporización de los eventos clave. 1.
input_handle, input_handler, input_dev
input_handle, input_handler, subsistema de entrada es input_dev las tres estructuras de datos más importantes.
l input_handler aplicación superior para la adquisición de los eventos de entrada. nodo superior abierto dispositivo de entrada de dispositivo de aplicación, entonces el nodo lee y escribe información para obtener el movimiento del ratón, la información del teclado, o similares. Aquí la función de operación de archivo se proporciona por un input_handler nodo del dispositivo.
l input_dev representa el dispositivo específico, tal como un ratón, teclado, y así sucesivamente.
l Para un Linux equipo
, puede estar unido a más de un ratón, varios teclados. Cada ratón puede controlar el movimiento del cursor, cada teclado se puede utilizar normalmente. Este subsistema de entrada, configurado como una pluralidad de input_dev input_handle asociado, capaz de adquirir simultáneamente una pluralidad de mensajes de entrada desde input_dev. Mientras tanto, el dispositivo de Linux puede tener una pluralidad de nodos de entrada simultáneamente asociados con un dispositivo en particular, de modo que cualquier aplicación por un nodo de dispositivo, toda la información de entrada tal como un ratón Keyihuode dispositivo específico, teclado o similar. Así, entre input_dev y input_handler se asocia con muchas relaciones, y estas relaciones se representan por input_handle.
input_handle establece una asociación entre
1.1 manipulador con el dev contiene un puntero input_dev, y una input_handler puntero, que son capaces de establecer una asociación entre un controlador y dev-uno. En input_handler, hay una lista de todos h_list input_handle, y el punto en el mango asociado controlador mediante el cual se puede encontrar toda la dev asociada con el handler. Del mismo modo, en input_dev, también hay una lista de todos h_list input_handle, señalando el manejador asociado dev puede encontrar todos ellos relacionados con el mango prog. Y entre las dos listas por input_handle, input_handler y input_dev establecer una estructura de red compleja.
entonces, las reglas de asociación entre input_handler y input_dev lo que es? Es decir, en qué circunstancias que asociar, y cuando no asociarse? Esto requiere un mecanismo de adaptación entre controlador y dev.
input_handler tiene dos punteros, id_table y la lista negra, que lista negra es una lista negra, todo a juego dev se verá obligado a filtrar, y cualquiera y id_table en un partido que se dev asociada con el handler.
const struct input_device_id * id_table;
const struct input_device_id * lista negra;
struct {input_device_id
kernel_ulong_t banderas;
__u16 BusType;
__u16 proveedor;
__u16 producto;
__ versión u16;
kernel_ulong_t evbit [INPUT_DEVICE_ID_EV_MAX /BITS_PER_LONG + 1];
kernel_ulong_t keybit [INPUT_DEVICE_ID_KEY_MAX /BITS_PER_LONG + 1];
kernel_ulong_t relbit [INPUT_DEVICE_ID_REL_MAX /BITS_PER_LONG + 1];
kernel_ulong_t absbit [INPUT_DEVICE_ID_ABS_MAX /BITS_PER_LONG + 1];
kernel_ulong_t mscbit [INPUT_DEVICE_ID_MSC_MAX /BITS_PER_LONG + 1];
kernel_ulong_t ledbit [INPUT_DEVICE_ID_LED_MAX /BITS_PER_LONG + 1];
kernel_ulong_t sndbit [INPUT_DEVICE_ID_SND_MAX /BITS_PER_LONG + 1];
kernel_ulong_t ffbit [INPUT_DEVICE_ID_FF_MAX /BITS_PER_LONG + 1];
kernel_ulong_t swbit [INPUT_DEVICE_ID_SW_MAX /BITS_PER_LONG + 1];
kernel_ulong_t driver_info;
};
en este cuerpo estructural, banderas contiene algunas máscaras:
#define INPUT_DEVICE_ID_MATCH_BUS 1
Entre los muchos miembros de la familia de MCU, los MCU de la serie MCS-51 ocupan la medida y el con
Administrar el rendimiento de un host Linux a menudo parece algo mágico. Muchos a
La instalación de Linux es un poco aterradora para los principiantes: las partici
JFS fue desarrollado por IBM y apareció originalmente en el sistema operativo AIX, que proporciona u
U disco de instalación de habilidades de Linux
Introducción al método de configuración del servidor VPN bajo el sistema operativo Linux
Comparación de ext4 y ext3 en Linux
No se encontró la solución para './mysql-bin.index' (Código de error: 13)
Administración y mantenimiento de sistemas Linux - comando ls
Ver archivos y tamaños de carpeta en Linux
Ubuntu establece un método IP estática
Administración y mantenimiento del sistema Linux -date command
Cómo reinstalar Linux en el sistema operativo Linux
Análisis en profundidad de la solución Hot Standby de sistema dual solo para software
Cómo instalar el controlador de la instalación de la unidad de ordenador
¿Cómo quita Win8 el hardware de forma poco segura y elimina rápidamente el disco de U
Sistema Win8 usando el código de error 0130Z110S002 de la banca en línea CCB ¿cómo hacerlo?
¿Qué sistema es mejor para los estudiantes universitarios: windows 7
Algunas habilidades de red sencillas y prácticas para Windows XP.
Tres modos de potencia pueden enfriar la computadora
Win8 modificó el color de fondo para el color arena de frijol mungo