HAL unloads keyboard driver when one of the few keyboards is disconnected
Submitted by Yuri
Assigned to Xorg Project Team
I have the main AT keyboard and an additional USB keyboard that is implemented as a side-effect of mouse.
Disconnecting the mouse (with included in it keyboard) causes AT keyboard to stop functioning. This is because HAL-support code in xorg causes it to unload the keyboard driver, even though another keyboard is still attached. (see stack below).
I suggest Xorg should only disable the keyboard driver when the last keyboard is disconnected. HAL interface is able to find all keyboards attached.
Stack of device deletion request:
kbd_drv.so`KbdProc+0x6e Xorg`DisableDevice+0x174 Xorg`RemoveDevice+0x1d9 Xorg`DeleteInputDeviceRequest+0x57 Xorg`remove_device+0x38 Xorg`device_removed+0x80 libhal.so.1`filter_func+0xb4 libdbus-1.so.3`dbus_connection_dispatch+0x32a libdbus-1.so.3`0x801d789ec Xorg`wakeup_handler+0x3c Xorg`WakeupHandler+0x56 Xorg`WaitForSomething+0x1d2 Xorg`Dispatch+0x92 Xorg`main+0x365 Xorg`_start+0xa1 ld-elf.so.1`0x8007d1000
Version: 7.5 (2009.10)