GNOME Bugzilla – Bug 598287
Tap-to-click should be enabled if the touchpad has no physical buttons
Last modified: 2009-12-17 10:01:30 UTC
Currently tap-to-click is a property which is disabled by default on all touchpads. This is a correct behaviour as usually touchpads have physical buttons thanks to which clicks can be performed. In some cases, however, touchpads don't have physical buttons therefore, if tap-to-click is disabled by default, users are left with no way to perform clicks with their touchpad.
Created attachment 145356 [details] [review] First draft The attached patch makes sure that tap-to-click is always enabled when the touchpad doesn't have physical buttons. This change, however, would prevent these users from disabling tap-to-click (if, for some reason they wanted to do so with such touchpads). NOTE: the Synaptics driver enables tap-to-click only when the physical buttons aren't available. Better ideas are welcome.
Peter, any thoughts on this?
Definitely the right thing to do in principle, and this is also why the driver has this default. However, the patch as above won't work. xinput_device_has_buttons (&devicelist[i]) only checks for a ButtonClass on the device. This is true for any touchpad device, we don't conditionally initialize this depending on physical buttons; tapping is treated like a physical button once it's posted to the server. In fact, neither client nor server can tell the difference between tapping and a phys. button press - they look the same. Anyway, the right approach is to query the "Synaptics Capabilities" property, the first 3 (BOOL) values specify if a left, middle or right button was found on the touchpad. If they are false, then the device has no physical buttons.
Ok, I wanted a smaller patch (and I assumed that the current xinput_device_has_buttons worked) therefore I didn't query the "Synaptics Capabilities" property. I'll work on a new patch which relies on this property.
I guess this commit does what I wanted to implement: http://git.gnome.org/cgit/gnome-control-center/commit/?id=a5bf115175ea52c5cdc184b3844d06bdb7ad775c
*** This bug has been marked as a duplicate of bug 601330 ***