this sounds pretty resonable to me.

at first thought, it seems to me that all this should be hidden
inside the vt/console/usb layer with no X interraction required.

i guess i'd like some details on how you see the subsystems
interracting (vt, console, Xorg, usb devices, etc) before
i can provide detailed feedback.

ed

On Fri, Nov 07, 2008 at 05:45:30PM +0800, Aaron Zang wrote:
> Hi all,
>
> During the implementation of Xorg VT (virtual console) support,
> a problem has been discovered when Xorg physically opens a USB
> keyboard (/dev/usb/hid*).
>
> By default Xorg on Solaris opens the virtual keyboard device
> (/dev/kbd). The virtual keyboard (conskbd) creates two minor nodes
> thus has two streams. One is the internal minor node which is linked
> under console stream, the other is /dev/kbd which is for the use
> of applications.
> Say Xorg is running on /dev/vt/7, when /dev/vt/7 is made active,
> Xorg uses KIOCSDIRECT to route conskbd IO to /dev/kbd stream.
> And it will route the IO back when switching away to consoles.
>
> HID driver creates two minor nodes for a USB keyboard too.
> One minor node is internal used and the stream is plumbed under
> conskbd, the other is /dev/usb/hidx.
> When Xorg is configured to open /dev/usb/hidx as keyboard device,
> the internal stream is unplugged from conskbd automatically.
> So when switching from Xorg session back to console session, the
> console will not get any input from this keyboard.
> And Xorg can not close /dev/usb/hidx, since it has already dropped
> the privilege and running as a normal user at this moment. If Xorg
> closes /dev/usb/hidx when switching away, it loses the privilege
> to reopen the keyboard device when switching back.
>
> So the proposal here is to add a new ioctl to the hid driver for
> keyboard devices which has the similar routing functionality as
> KIOCSDIRECT does to conskbd driver.
>
> Before I am preparing any official documents, I would like to
> discuss it with the following purposes:
>
> 1) Is there any existing way to resolve this?
> 2) Is there any better solution?
>
> Edward and Alan, your comments are more than welcomed.
>
> Thanks a lot.
> Aaron
>
> -- 
> You know some birds are not meant to be caged, their feathers are just too 
> bright.

Reply via email to