After further investigation, the reason why triple tap works with the natty kernel and not the oneiric kernel is that has_touch in xserver- xorg-input-synaptics/src/eventcomm.c is set to false with the natty kernel (probably do to the lack of semi multi-touch data), so the active_touches code from patches 120 and 121 is skipped and the BTN_TOOL_TRIPLETAP data from the kernel is used instead.
With the oneiric kernel, double tap works correctly because the coordinate for each finger is reported separately, so active_touches is incremented once for each slot, but the elantech driver reports triple taps the same as single taps, so active_touches is only incremented once. I don't really know how to fix this without possibly breaking something else. As an aside, I did find a bug in detecting semi mt devices (unfortunately, it doesn't help at all). When initializing ecpriv->semi_mt in eventcomm.c, the code reads the props and then does: proc & INPUT_PROP_SEMI_MT to test if the device is a semi mt device. However, INPUT_PROP_SEMI_MT = 0x03, it specifies the bit position, not the bit itself, so something like: proc & (1 << INPUT_PROP_SEMI_MT) is probably needed here (or a suitable macro that does something similar). -- You received this bug notification because you are a member of Ubuntu-X, which is subscribed to xserver-xorg-input-synaptics in Ubuntu. https://bugs.launchpad.net/bugs/873482 Title: elantech: Touchpad always reports 3 finger tap as 1 finger tap To manage notifications about this bug go to: https://bugs.launchpad.net/ubuntu/+source/xserver-xorg-input-synaptics/+bug/873482/+subscriptions _______________________________________________ Mailing list: https://launchpad.net/~ubuntu-x-swat Post to : ubuntu-x-swat@lists.launchpad.net Unsubscribe : https://launchpad.net/~ubuntu-x-swat More help : https://help.launchpad.net/ListHelp