Comment 440 for bug 550625

Revision history for this message
Petr Běhan (huancz) wrote :

Your v6 patch mostly works for me (3.1.0_rc7). What I am having trouble with is this comment in the code:

  /*
   * Bits in the upper nibble of byte 3 represent the trackstick
   * buttons on some models, but on other models the trackstick
   * buttons are reported in the trackstic packets. If we try to
   * report the buttons on the trackstick device from here it can
   * lead to conflicts, so we treat any buttons reported in the
   * touchpad packets as belonging to the touchpad.
   */

I have such laptop that reports button events in touchpad packets (Dell E6420), and your approach causes two problems with my usage pattern:

1) ever since I got this computer, I've been dreaming about disabling that infernal device (touchpad) and use only the trackstick. With current code, I loose buttons.

2) even if I decide to live with touchpad enabled (your driver + syndaemon make it much more bearable) it breaks mouse wheel emulation with middle button. In Xorg, trackstick device is handled by evdev, touchpad by synaptic_drv. Only evdev knows how to do the wheel emulation, AFAIK, but it doesn't get the button events.

I have put together a small patch, here:

https://github.com/huancz/linux/commit/34fa799dee824b44c79b0b7641f14944dffadef7.patch

So far it works OK on my computer, and the autodetection should probably work on all ALPS devices, but I lack the hardware to test it.