Alan Coopersmith wrote:
> Casper.Dik at Sun.COM wrote:
>> I've written the X server mouse module such that it can interpret
>> such events but it should indeed be moved into the kernel proper.
>
> Right - traditionally Solaris has kept the device specific details in
> the kernel modules (usbms, vuid3ps2, etc.) and passed only the VUID
> events up to the X servers.

And indeed, we do have our own vuid* modules, as well as our own usbms
module.  It is the latter that I want to kill, because having our own
offers no benefit, and increases our support burden.

I've been trying to open up the HID device directly, but it seems that
when I do this, I can't do any of the I_XXX ioctls if the device is in
use as the console mouse.  Specifically, what I'd like to do is have a
direct way to access the HID device, and push our own module on top of
it to allow side-band configuration of things.  The pad is configurable
with USB SET_REPORT messages, but I need an ioctl interface since I
can't directly send M_CTL messages from userland.

Any idea why these stream ioctls don't work?  (They return E_INVAL. 
This is true for any I_LOOK, I_LIST, I_PUSH, etc.)  The open() succeeds,
though, and if the device is not in use as the console mouse, it works fine.

Also, I've noticed that even ordinary ioctls with a garbage cmd value
return ENOTTY (as the hid driver returns) when the mouse is not the
console device, but when the mouse is the console device, I get EINVAL
-- which makes me strongly believe that the hid driver isn't seeing the
ioctl at all.  I suspect screwball streams plumbing.

Any advice would be greatly appreciated.

>
>> It seems that the configuration could be done through a side band
>> protocol
>> (opening the device directly) but also by teaching the kernel about
>> these
>> specific devices.
>
> The input-device hotplug work going on in the Xorg community is
> proposing to
> have the X server use HAL to find input devices and be notified when
> they're
> hotplugged - effectively adding a sideband protocol (over D-BUS).

Interesting.  I'm not too concerned about hot plug, since our pads are
always connected. :-)


-- 
Garrett D'Amore, Principal Software Engineer
Tadpole Computer / Computing Technologies Division,
General Dynamics C4 Systems
http://www.tadpolecomputer.com/
Phone: 951 325-2134  Fax: 951 325-2191


Reply via email to