Date: Mon, 11 Feb 2013 11:46:03 +0000 From: Tom Evans <tevans.uk@googlemail.com> To: Hans Petter Selasky <hselasky@c2i.net> Cc: freebsd-x11@freebsd.org, freebsd-usb@freebsd.org Subject: Re: usb/175731: detaching USB keyboard freezes other USB keyboards Message-ID: <CAFHbX1LcqKJoae3WepxMdzetb8eUNGefuaqycD6FOby4wkZOQQ@mail.gmail.com> In-Reply-To: <201302111126.08104.hselasky@c2i.net> References: <201302072140.r17Le1MG098491@freefall.freebsd.org> <201302111126.08104.hselasky@c2i.net>
next in thread | previous in thread | raw e-mail | index | archive | help
On Mon, Feb 11, 2013 at 10:26 AM, Hans Petter Selasky <hselasky@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
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?CAFHbX1LcqKJoae3WepxMdzetb8eUNGefuaqycD6FOby4wkZOQQ>