On Mon, Jun 14, 2010 at 05:10:40PM +0200, Julian Ortiz wrote: > Hello, > After looking for a way to make a touch screen works only in its display > (with nvidia configured as different XScreens) with no luck at all, I > started to look at the input modules source. I realizes that > the proprietary elo module calls to xf86XInputSetScreen, the function name > seems promising, so I just patch the evdev module to support several screens > by configuration and to call xf86InputSetScreen in the EvdevReadInput just > before the EvdevProcessEvent. > > The result seems to work but the behavior is very erratic and sometimes the > mouse/touch/keyboard get freezes and I need to restart X. And more strange, > after launch several OpenGL application the performance drops so, so much > (obviously without the patch it doesn't happen) > > Is xf86InputSetScreen the best approach to handle this?
There's a race condition that can be triggered by xf86InputSetScreen() that ends up with a cursor jumping indefinitely between the two screens. This is likely the freeze you're seeing. There's unfortunately no good way to bind the device to a single screen right now. Peter Korsgaard input transformation matrix allows it for a RandR 1.2 setup but not for multiple protocol screens. Cheers, Peter > Trying to find the module responsible for the mouse switch between different > display I saw references to something called SilkenMouse, but I can't find > any documentation about what is this. Any idea? _______________________________________________ xorg-devel@lists.x.org: X.Org development Archives: http://lists.x.org/archives/xorg-devel Info: http://lists.x.org/mailman/listinfo/xorg-devel