We finally completed the touchscreen driver for Solaris 10 and Xsun by changing 
the core pointer to our device and then handling all the events from /dev/mouse 
as well.  Both are passed to our X driver so that we have simultaneous mouse 
and touch handling.  All applications and desktop managers we tested worked 
great.

Well, we thought all was well.  Sigh.  It turns out of all the Solaris 
installations we tested against, those running Firefox give us headaches.  If 
we start our subsystem (actually a background process + stream driver + X 
driver) first, a few seconds after Firefox initializes, we lose the mouse.  If 
we wait 10-15 seconds after Firefox initializes, then start up, we're OK, but 
the clients don't want to wait this long to have touch capability.  We've 
reviewed the (rather large, most Java-based) Mozilla/Firefox sources, but found 
nothing obvious.  There is also a C/C++ event handling section we're reviewing.

Our guess is that by switching the core pointer from the mouse to the 
touchscreen, we're confounding some mouse-oriented system call by Firefox 
through the JVM -- mouse gestures?  pointer shape?  Don't know yet, but someone 
is messing with our reads to /dev/mouse, probably consuming events and getting 
us out of synch.

So, I guess the questions are:

1.  Has anyone other than TSI (another touchscreen manufacturer) been able to 
obtain simultaneous touchscreen and mouse capability with Xsun under Solaris 10?

2.  Any idea what Firefox could be doing?

Thanks!

J
 
 
This message posted from opensolaris.org

Reply via email to