Correctly identify touchpads
Michael Tokarev
mjt at tls.msk.ru
Thu Dec 24 10:08:21 PST 2009
[commit 52e039f3b0a5749f706b97491087b9632d30512f in hal git tree,
http://cgit.freedesktop.org/hal/commit/?id=52e039f3b0a5749f706b97491087b9632d30512f]
That commit in hal (released as 0.5.14) - apparently -
causes some breakage.
http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=562052
is one example (with my comments, Cc'd).
Basically, in some cases synaptics touchpad is not
recognized as touchpad by hal and hence wrong driver
gets loaded.
My example:
I: Bus=0011 Vendor=0002 Product=0007 Version=12b1
N: Name="SynPS/2 Synaptics TouchPad"
B: EV=b
B: KEY=6420 7000f 0 0 0 0
B: ABS=11000003
(it's an Acer Aspire 9300 notebook, the touchpad has
3 buttons, middle of which is like the main "ok"
button on a typical cell phone -- one can press it
to center and to any of 4 other directions).
With this hunk:
@@ -1184,9 +1182,4 @@ input_test_abs (HalDevice *d, const char
}
}
-
- if (test_bit (ABS_PRESSURE, bitmask_abs)) {
- hal_device_add_capability (d, "input.touchpad");
- goto out;
- }
}
out:
(ie, without the ABS_PRESSURE test) the device is not recognized
as a touchpad. Adding this test back restores things to normal.
The other change in that patch, BTN_TOUCH => BTN_TOOL_FINGER,
has no effect.
The kernel is 2.6.32 currently.
What's wrong? ;)
Thanks!
/mjt
More information about the hal
mailing list