HAL unloads keyboard driver when one of the few keyboards is disconnected
Submitted by Yuri
Assigned to Xorg Project Team
Description
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)