How does HAL choose the event device to listen on?
jasonxh at gmail.com
Tue Jan 15 19:09:17 PST 2008
My problem basically comes from using HAL with thinkpad_acpi, the latter
creates a virtual input device. HAL does not listen on that event
device, and lshal doesn't list it as an input device. Here is the
segment in /proc/bus/input/devices
I: Bus=0019 Vendor=17aa Product=5054 Version=4101
N: Name="ThinkPad Extra Buttons"
H: Handlers=kbd event4
B: KEY=1e840000 0 0 100100 0 0 0 1500b 2000 0 1004000 0 0 0 0
EV=33 says the device is capable of EV_SYN, EV_KEY, EV_MSC, and EV_SW.
But ps tells me no hald-addon-keyboard process is listening on that
specific device, /dev/input/event4. Here is the only thing to do with
thinkpad_acpi in lshal:
udi = '/org/freedesktop/Hal/devices/platform_thinkpad_acpi'
info.bus = 'platform' (string)
info.linux.driver = 'thinkpad_acpi' (string)
info.parent = '/org/freedesktop/Hal/devices/computer' (string)
info.product = 'Platform Device (thinkpad_acpi)' (string)
info.subsystem = 'platform' (string)
info.udi = '/org/freedesktop/Hal/devices/platform_thinkpad_acpi' (string)
linux.hotplug_type = 2 (0x2) (int)
linux.subsystem = 'platform' (string)
linux.sysfs_path = '/sys/devices/platform/thinkpad_acpi' (string)
platform.id = 'thinkpad_acpi' (string)
I tried looking at HAL's source code, but end up with no clues how HAL
chooses the device to listen on. Any suggestions?
More information about the hal