Correctly identify touchpads
Dmitry Torokhov
dmitry.torokhov at gmail.com
Thu Dec 24 12:04:41 PST 2009
On Thu, Dec 24, 2009 at 08:59:47PM +0300, Michael Tokarev wrote:
> [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? ;)
>
Not sure, seems to be working here... Keying on ABS_PRESSURE is
definitely not correct as some touchpads to not report it and many
touchscreens do. Is this on 32 or 64 bit kernels? What about userspace?
--
Dmitry
More information about the hal
mailing list