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