[Wayland-bugs] [Bug 101094] Elantech touchpad too sensitive on ASUS Zenbook UX410UQ

bugzilla-daemon at freedesktop.org bugzilla-daemon at freedesktop.org
Sun Jul 2 08:42:26 UTC 2017


https://bugs.freedesktop.org/show_bug.cgi?id=101094

--- Comment #13 from Alexandr Mishurov <alexander.m.mishurov at gmail.com> ---
(In reply to Benjamin Tissoires from comment #12)
> Anyway, long story short: we can't do much at the kernel level, we don't
> have more information than what we report to user space already.

I have a Zenbook UX310UQ and a similar problem.

[    2.500440] input: ELAN1200:00 04F3:3022 Touchpad as
/devices/pci0000:00/0000:00:15.1/i2c_designware.1/i2c-7/i2c-ELAN1200:00/0018:04F3:3022.0001/input/input12
[    2.501905] hid-multitouch 0018:04F3:3022.0001: input,hidraw0: I2C HID v1.00
Mouse [ELAN1200:00 04F3:3022] on i2c-ELAN1200:00

It's handled by the hid-multitouch module, not by the elan_i2c. When I unload
the hid-multitouch and load the elan_i2c, a kernel can't recognise it. Can it
be that the hardware is actually able to work in another mode and use another
protocol and it just needs some appropriate firmware?

The problem with the absence of the pressure data is that a driver on 2 finger
touches and releases can't choose a right action to do: to trigger right click
or two finger scroll or start locked dragging which results in random right
clicks and dragging selections during scrolling.

The problem can be partially solved in a userspace driver: to make some timeout
between scrolls, eg when 2 finger scrolling changes direction, to block
triggering right clicks and drags during scrolling, to make more precise limits
for delta in coordinates which decide whether an event is a move or a
touch-release, register right click drag only with a first two finger tap and
move with the one finger. I'd been implementing these features for a FreeBSD
Cypress driver which worked using IntelliMouse protocol, I made a simple state
machine. But the solution is far from perfect anyway.

I think that the ambiguity in actions for a two-finger event can be also
resolved by recording statistics of events and using some learning algorithm to
tweak probabilities, and then to keep little history of events in a driver, for
example ten recent events as an input data for inference.


I have made some hacks to the synaptics driver which merely block right clicks
after two finger scrolling have started and unblock after a second release
event and couple of additional checks, at least it doesn't make two finger
scrolls painful infesting it with random right clicks, although makes right
clicks somewhat complicated. I hope that there will be some advances with
drivers from the hardware manufacturers.

-- 
You are receiving this mail because:
You are the assignee for the bug.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.freedesktop.org/archives/wayland-bugs/attachments/20170702/785d2a32/attachment.html>


More information about the wayland-bugs mailing list