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