HAL_INPUT(1) | HAL User's Manual | HAL_INPUT(1) |
hal_input - control HAL pins with any Linux input device, including USB HID devices
loadusr hal_input [-KRAL] inputspec ...
hal_input is an interface between HAL and any Linux input device, including USB HID devices. For each device named, hal_input creates pins corresponding to its keys, absolute axes, and LEDs. At a fixed rate of approximately 10ms, it synchronizes the device and the HAL pins.
The inputspec may be in one of several forms:
"Vendor=001f Product=0001"
serio*/input0
When several devices are identified by the same string, add ":N" where N is the index of the desired device. For example, if Mouse matches input3 and input10, then Mouse and Mouse:0 select input3. Specifying mouse:1 selects input10.
For devices that appear as multiple entries in /dev/input, these indices are likely to stay the same every time. For multiple identical devices, these indices are likely to depend on the insertion order, but stay the same across reboots as long as the devices are not moved to different ports or unplugged while the machine is booted.
If the first character of the inputspec is a "+", then hal_input requests exclusive access to the device. The first device matching an inputspec is used. Any number of inputspecs may be used.
A subset option may precede each inputspec. The subset option begins with a dash. Each letter in the subset option specifies a device feature to include. Features that are not specified are excluded. For instance, to export keyboard LEDs to HAL without exporting keys, use
By default, the input devices may not be accessible to regular users--hal_input requires read-write access, even if the device has no outputs.
Different versions of udev have slightly different, incompatible syntaxes. For this reason, it is not possible for this manual page to give an accurate example. The udev(7) manual page documents the syntax used on your Linux distribution. To view it in a terminal, the command is man 7 udev.
The initial state of keys, buttons, and absolute axes are erroneously reported as FALSE or 0 until an event is received for that key, button, or axis.
2007-02-25 | LinuxCNC Documentation |