syndaemon currently disables the touchpad when keyboard events are detected. This could be extended to pointer motion from other devices so that e.g. accidentally touching the pad while using the trackstick on lenovos does not trigger events. See https://bugzilla.gnome.org/show_bug.cgi?id=658980 The approaches: - standard mode: in addition to the XQueryKeymap we'd have to issue a XQueryPointer and compare the position to the last position. Plus somehow figure out if it was the touchpad that moved it or not. This is not feasable, so I suggest the standard mode should be ignored here. - record mode: extend the device range from KeyPress to including DeviceMotionNotify and call toogle_touchpad() if events come in from other devices. Of course, this won't work during grabs but may be enough for the majority of cases. - XI2 mode: this would need to be implemented. In upcoming X servers (1.12 and later) raw events are sent regardless of grab state. Use that to put a general monitor on XIAllMasterDevices and disable the touchpad if the sourceid of the event is not the touchpads. This is the sanest implementation but will not work pre 1.12 and is currently completely missing.
(In reply to comment #0) > - record mode: extend the device range from KeyPress to including > DeviceMotionNotify and call toogle_touchpad() if events come in from other > devices. Of course, this won't work during grabs but may be enough for the > majority of cases. come to think of it, given that it's RECORD it will probably work during grabs too.
This is probably better implemented using the device idle counters in server 1.13.
This is a mass change of bugs. Bugs assigned to me that haven't been updated in the last 3 years are closed as WONTFIX, because, well, let's at least be honest about it. Please do not re-open unless you have a really good reason to do so (e.g. you're fixing it yourself). If it hasn't been fixed in the last 3 years, it probably won't be fixed anytime soon either. Sorry.
Use of freedesktop.org services, including Bugzilla, is subject to our Code of Conduct. How we collect and use information is described in our Privacy Policy.