HAL_INPUT

NOMBRE
SINOPSIS
DESCRIPCION
ESPECIFICACIONES DE ENTRADA
CARACTERISTICAS DEL DISPOSITIVO SOPORTADAS
PINES Y PARAMETROS HAL
PERMISOS Y UDEV
ERRORES
VER TAMBIEN

NOMBRE

hal_input - controla los pines HAL con cualquier dispositivo de entrada de Linux, incluidos los dispositivos USB HID

SINOPSIS

loadusr hal_input [-KRAL] inputspec ...

DESCRIPCION

hal_input es una interfaz entre HAL y cualquier dispositivo de entrada de Linux, incluido dispositivos USB HID. Para cada dispositivo nombrado, hal_input crea los pines correspondientes a sus teclas, ejes absolutos, y leds. Sincroniza el dispositivo y los pines HAL a una tasa fija de aproximadamente 10 ms,

ESPECIFICACIONES DE ENTRADA

inputspec puede estar en una de varias formas:
Una cadena S

Se comparara una subcadena o un patron de estilo de shell con el "nombre" del dispositivo, el "phys" (que proporciona informacion sobre como está conectado), y el "id", que es una cadena con el formato "Bus = ... Vendor = ... Product = ... Version = ... ". Puede ver el nombre, el estado fisico y la identificacion de los dispositivos conectados ejecutando less /proc/bus/input/devices. Ejemplos:

SpaceBall
"Vendor=001f Product=0001"
serio*/input0

Un numero N

Esto abre /dev/input/eventN. A excepcion de los dispositivos que estan siempre conectados al sistema, este numero puede cambiar durante los reinicios o cuando el dispositivo es removido. Por esta razon, no se recomienda usar un numero entero.

Cuando varios dispositivos están identificados por la misma cadena, agregue ":N" donde N es el indice del dispositivo deseado. Por ejemplo, si Mouse coincide con input3 y con input10, entonces Mouse y Mouse:0 selecciona input3. Especificando mouse:1 seleccionainput10.

Para dispositivos que aparecen como entradas multiples en /dev/input, es probable que estos indices permanezcan igual cada vez. Para multiples dispositivos idénticos, es probable que los indices dependan del orden de insercion, pero permanezcan iguales en el reinicio, siempre que los dispositivos no se muevan a puertos diferentes o se desenchufen mientras se arranca la maquina.

Si el primer caracter de inputspec es un "+", entonces hal_input solicita acceso exclusivo al dispositivo. Se utiliza l primer dispositivo que coincida con inputspec. Se puede usar cualquier numero de inputspecs.

La opcion subset puede preceder a cada inputspec. La opcion sunset comienza con un guion. Cada letra en la opcion subset especifica una carecteristica del dispositivo a incluir. Se excluyen las caracteristicas que no esten especificadas. Por ejemplo, para exportar los LED del teclado a HAL sin exportar teclas, use

hal_input -L keyboard ...

CARACTERISTICAS DEL DISPOSITIVO SOPORTADAS

EV_KEY (botones y teclas). Subset -K

EV_ABS (entradas analogicas absolutas). Subset -A

EV_REL (entradas analogicas relativas). Subset -R

EV_LED (salidas LED). Subset -L

PINES Y PARAMETROS HAL

Para botones
input.
N.btn-name bit out
input.
N.btn-name-not bit out

Creado para cada boton en el dispositivo.

Para teclas
input.
N.key-name
input.
N.key-name-not

Creado para cada tecla en el dispositivo.

para ejes absolutos
input.
N.abs-name-counts s32 out
input.
N.abs-name-position float out
input.
N.abs-name-scale parameter float rw
input.
N.abs-name-offset parameter float rw
input.
N.abs-name-fuzz parameter s32 rw
input.
N.abs-name-flat parameter s32 rw
input.
N.abs-name-min parameter s32 r
input.
N.abs-name-max parameter s32 r

Creado para cada eje absoluto en el dispositivo. Posiciones del dispositivo mas cercanas que flat a offset se reportan como offset en counts, y counts no cambia hasta que la posicion del dispositivo cambie al menos fuzz. La posicion se calcula como

position = (counts -offset) / scale

El valor predeterminado de scale y offset asigna el rango del eje reportado por el sistema operativo a [-1,1]. Los valores predeterminados de fuzz y flat son los informados por el operador del sistema. Los valores de min y max son los reportados por el sistema operativo.

para ejes relativos
input.
N.rel-name-counts s32 out
input.
N.rel-name-position float out
input.
N.rel-name-reset bit in
input.
N.rel-name-scale parameter float rw
input.
N.rel-name-absolute parameter s32 rw
input.
N.rel-name-precision parameter s32 rw
input.
N.rel-name-last parameter s32 rw

Creado para cada eje relativo en el dispositivo. Siempre que reset sea TRUE, counts se restablece a cero independientemente de cualquier movimiento anterior o actual del eje. De lo contrario, counts aumenta o disminuye de acuerdo con el movimiento del eje. counts se divide porposition -scale para dar position. El valor predeterminado de position es 1. Hay algunos dispositivos, en particular ruedas de desplazamiento, que devuelven valores con signo con resolucion menor de 32 bits. El valor predeterminado de precision es 32. precision se puede establecer en 8 para un dispositivo que devuelve valores de 8 bits con signo, o cualquier otro valor de 1 a 32. absolute, cuando se establece TRUE, ignora los eventos duplicados con el mismo valor. Esto permite que los dispositivos que repiten eventos sin ninguna accion del usuario funcionen. correctamente. last muestra el valor de conteo mas reciente devuelto por el dispositivo, y se utiliza en la implementacion de absolute.

para LEDs
input.
N.led-name bit out
input.
N.led-name-invert parameter bit rw

Creado para cada LED en el dispositivo.

PERMISOS Y UDEV

Por defecto, los dispositivos de entrada pueden no ser accesibles para usuarios - hal_input requiere acceso de lectura y escritura, incluso si el dispositivo no tiene salidas.

Las diferentes versiones de udev tienen sintaxis ligeramente diferentes e incompatibles. Por esta razon, no es posible que esta pagina de manual brinde informacion y ejemplo preciso. udev(7) La pagina de manual documenta la sintaxis utilizada en su distribucion de Linux. Para verlo en un terminal, el comando es

man 7 udev.

ERRORES

El estado inicial de las teclas, botones y ejes absolutos se informa erroneamente como FALSE o 0 hasta que se reciba un evento para esa tecla, boton o eje.

VER TAMBIEN

udev(8), udev(7)