usb/175731: detaching USB keyboard freezes other USB keyboards

Tom Evans tevans.uk at googlemail.com
Mon Feb 11 11:46:09 UTC 2013


On Mon, Feb 11, 2013 at 10:26 AM, Hans Petter Selasky <hselasky at c2i.net> wrote:
> On Thursday 07 February 2013 22:40:01 Hans Petter Selasky wrote:
>> The following reply was made to PR usb/175731; it has been noted by GNATS.
>>
>
> Hi,
>
> You should look into HAL and xf86-input-keyboard ports. I don't have time to
> debug this currently.
>
> To prevent KBD X11 driver unload by /usr/ports/x11-drivers/xf86-input-keyboard
> change this in the source code:
>
>  {
> -    xf86AddInputDriver(&KBD, NULL, 0);
> +    xf86AddInputDriver(&KBD, module, 0);
>
>      return module;
>  }
>
> The problem is deeper. When X11 sees that the keyboard is gone it
> issues some IOCTLs on /dev/console, like the keyboard MODE and then no more
> keys are received. See using ktrace on Xorg. This is a shared device receiving
> key-presses for all keyboards as far as I can see and it should only be
> programmed once. This is currently not handled.
>
> Inside the file referenced below code is present to set "x11_driver" to "kbd".
> Probably changing this will affect the outcome too:
>
> /usr/local/share/hal/fdi/policy/10osvendor/10-x11-input.fdi
>
> How to reproduce:
>
> Plug two USB keyboards using a HAL enabled Xorg server. Unplug one keyboard.
> Input from the other keyboard disappears until some other keyboard device is
> plugged again!
>
> --HPS

This sounds very similar to what happens when I undock my laptop from
a dock which has a couple of USB keyboards attached. All keys stop
responding in X, but I can use the built in keyboard to switch to a
VT, hit a few keys, switch back to X and the built in keyboard has
recovered in X.

Cheers

Tom


More information about the freebsd-x11 mailing list