Controlador de dispositivo de cliente de ratón USB
Finalidad
Da soporte al dispositivo de ratón Universal Serial Bus (USB).
Sintaxis
#include <sys/usbdi.h>Descripción
El controlador de dispositivo de cliente de ratón USB consta de un programa de fondo que interactúa con el controlador del sistema USB (USBD) y un programa frontal que interactúa con una aplicación AIX® como la aplicación de servidor X. El controlador de cliente no tiene conocimiento del hardware del adaptador USB subyacente. En su lugar, el controlador de cliente envía solicitudes de control al ratón USB a través de USBD y recibe sucesos de entrada a través de USBD. El controlador del cliente USB del ratón da soporte a la conexión de varios dispositivos USB del ratón. Cada dispositivo se enumera en el Gestor de datos de objeto (ODM) y se marca como disponible. El controlador de cliente trata todos los dispositivos del ratón como un único dispositivo lógico. Los sucesos de entrada de todos los dispositivos se envían a un único anillo de entrada.
Se crea un archivo especial de dispositivo para cada dispositivo de ratón USB. Hasta que haya al menos un dispositivo de ratón USB que esté marcado como disponible, una aplicación (normalmente la aplicación de servidor X) puede abrir cualquiera de los archivos especiales del ratón USB porque el controlador del cliente ignora la especificación de número menor. Dispositivo de ratón USB que se añade y configura después de que la operación abierta se añada automáticamente al conjunto abierto. Los archivos especiales de dispositivo (por ejemplo, /dev/mouse0, /dev/mouse1, etc.) se crean para cada dispositivo de ratón USB.
El método de configuración USBD proporciona un tratamiento especial para el ratón debido a las reglas de configuración y ordenación estrictas del subsistema de gráficos. Cuando un controlador de host USB y un adaptador de gráficos están marcados disponibles, y no hay ningún ratón existente, el USBD asegura que al menos una instancia de ratón USB esté definida. El controlador de cliente de ratón USB utiliza la operación USBD_OPEN_DEVICE_EXT ioctl para abrir el dispositivo que genera un descriptor de contexto válido incluso cuando no hay ningún ratón USB conectado al sistema. La operación USBD_OPEN_DEVICE_EXT devuelve el código de error EAGAIN si no hay ningún dispositivo de ratón y el controlador de cliente trata el dispositivo como desconectado. Cuando se conecta un ratón USB, el USBD realiza una operación de retorno de llamada de reconexión al cliente del ratón y el dispositivo se inicializa para que los sucesos de entrada fluyan a la aplicación de servidor X.
Las siguientes operaciones de ioctl del controlador de dispositivo de entrada se utilizan para las operaciones de ratón USB:
| Operación | Descripción |
|---|---|
| IOCINFO | Devuelve una estructura devinfo , que se define en el archivo de cabecera sys/devinfo.h , que describe el dispositivo. El primer campo de la estructura (devtype) se establece en DD_INPUT; el resto de la estructura se establece en cero. |
| MQUERYID | Consulta el identificador del dispositivo del ratón. |
| MREGRING | Registra el anillo de entrada. |
| MREGRINGEXT | Registra el anillo de entrada ampliado. |
| MORFL | Vacila el anillo de entrada. |
| UMBRAL | Establece el umbral de informe del ratón. |
| RESOLUCIÓN | Establece la resolución del ratón. |
| MSCALE | Establece el factor de escala del ratón. |
| MSAMPLERATE | Establece la tasa de muestreo del ratón. |