<html>
<head>
<base href="https://bugs.freedesktop.org/">
</head>
<body>
<p>
<div>
<b><a class="bz_bug_link
bz_status_RESOLVED bz_closed"
title="RESOLVED WONTFIX - Elantech touchpad too sensitive on ASUS Zenbook UX410UQ"
href="https://bugs.freedesktop.org/show_bug.cgi?id=101094#c13">Comment # 13</a>
on <a class="bz_bug_link
bz_status_RESOLVED bz_closed"
title="RESOLVED WONTFIX - Elantech touchpad too sensitive on ASUS Zenbook UX410UQ"
href="https://bugs.freedesktop.org/show_bug.cgi?id=101094">bug 101094</a>
from <span class="vcard"><a class="email" href="mailto:alexander.m.mishurov@gmail.com" title="Alexandr Mishurov <alexander.m.mishurov@gmail.com>"> <span class="fn">Alexandr Mishurov</span></a>
</span></b>
<pre>(In reply to Benjamin Tissoires from <a href="show_bug.cgi?id=101094#c12">comment #12</a>)
<span class="quote">> 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.</span >
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.</pre>
</div>
</p>
<hr>
<span>You are receiving this mail because:</span>
<ul>
<li>You are the assignee for the bug.</li>
</ul>
</body>
</html>