Code review comment for lp:~vanvugt/ubuntu/oneiric/xserver-xorg-input-synaptics/fix-754000

Revision history for this message
Daniel van Vugt (vanvugt) wrote :

The problem was (when grail/geis clients were actively subscribed to gestures) that active_touches had a value of 1 instead of 3 if you had touched all three fingers down at basically the same time. Meaning a 3-finger touch was being counted as simply one touch.

I don't claim to have found and fixed the absolute root cause of the problem -- that is either in one of the earlier debian/patches/* or even in grail/geis. However this fix is robust and resolves the problem regardless of how the code interprets what a single touch event is. So if there is an issue in geis/grail then than can be isolated and fixed later as a separate bug.

Aside from anything else, it's not safe practice to leave counting the number of active fingers to the high-level client code (xserver-xorg-input-synaptics). If the lower-level code (grail) has the definite answer already then you should get it from the library (via grail_get_contacts). Or in fact even lower level -- the bcm5974 kernel module counts the fingers for you by means of BTN_TOOL_TRIPLETAP and that was being ignored too due to 120_active_touches_num_fingers.patch. I suspect removing 120_active_touches_num_fingers.patch would remove this bug altogether.

« Back to merge proposal