Feedback on Synaptics with ClickPad

Peter Hutterer peter.hutterer at who-t.net
Mon Sep 8 20:29:24 PDT 2014


On Mon, Sep 08, 2014 at 07:29:44PM +0000, Thierry Moreau wrote:
> 
> first of all thanks for supporting this fairly new pointer device
> configuration.
> 
> I encounter this because I install Linux from a barebone distribution (Crux
> 3.1) for reasons unrelated to the X system.
> 
> Configuration summary:
> Kernel 3.16.1
> xorg-xf86-input-synaptics 1.8.0
> xorg.conf manually edited.
> Lenovo Thinkpad Edge E540 (same as T440)
> 
> I see two difficulties:
> 
> Despite
>     Option        "ClickFinger2"    "0"
>     Option        "ClickFinger3"    "0"
> in the configuration, xev still reports button events for buttons 2, 4, and
> 5 (mixed with buttons 1 and 3, so they woud be unreliable) when I play with
> 2 or 3 fingers on the clickpad.

can you outline what you mean by that? ClickFinger is the button number you
get when you leave more than one finger on the touchpad while physically
clicking the pad. buttons 4 and 5 are scroll buttons which you'd get from
two-finger scrolling. And you may have tapping enabled (TapAction).

checkout synclient, it allows you to set the various values easily.
xinput list-prop shows all current values, but not as obvious as synclient.

> I guess I can live with predictable buttons 1 and 3, so I can patch (dirty)
> the source to ignore other button values. But maybe my whole experience with
> the clickpad/linux combination is affected more seriously by the second
> difficulty (I do not have much experience with a fully functional and
> ergonomics touchpad ...).
> 
> So I venture to expose my second difficulty in which my own ignorance may be
> part of the problem.
> 
> I have doubts about the X and Y coordinates translation in my configuration.
> From the X log file portion attached below, the following two lines worry
> me:
> 
> [ 42758.110] (--) synaptics: SynPS/2 Synaptics TouchPad: x-axis range 1472 -
> 5112 (res 42)
> [ 42758.110] (--) synaptics: SynPS/2 Synaptics TouchPad: y-axis range 1408 -
> 3834 (res 42)
> 
> My concern is that the geometry parameters expressed as percentage in the
> configuration would be distorted by the above ranges not being zero-based.
> For instance, the configuration lines:
> 
> [ 42758.110] (**) Option "SoftButtonAreas" "50% 0 82% 0 0 0 0 0"
> [ 42758.110] (**) Option "SecondarySoftButtonAreas" "58% 0 0 8% 42% 58% 0
> 8%"

0 in this case means 'stretch to infinity'. all Synaptics touchpads have a
non-zero range, so we handle that well usually. 
 
> In order to be autonomous in advancing this troubleshooting, I lack basic
> knowledge of the X system configuration and properties mechanisms. E.g. why
> the above ClickFinger options do not appear effective, or the X and Y axis
> orientations, or a utility to display raw mouse events (xev reports
> coordinates for the monitored window).

use touchpad-edge-detector from libevdev to get the real ranges
http://cgit.freedesktop.org/libevdev/tree/tools/touchpad-edge-detector.c

> As a summary, I was able to advance the installation details (up-to-date
> software, kernel configuration, xorg.conf well adjusted to system
> configuration) and the device basically works for me. However, fine-tuning
> the touchpad parameters remains difficult.
> 
> I may provide additional details if it can help you improve the synaptics
> linux support. Thanks a lot for this!
> 
> -- Thierry Moreau
> 
> --- Attachment
> [ 42758.085] (II) config/udev: Adding input device SynPS/2 Synaptics
> TouchPad (/dev/input/event5)
> [ 42758.085] (**) SynPS/2 Synaptics TouchPad: Applying InputClass "evdev
> touchpad catchall"
> [ 42758.085] (**) SynPS/2 Synaptics TouchPad: Applying InputClass "touchpad
> catchall"
> [ 42758.085] (**) SynPS/2 Synaptics TouchPad: Applying InputClass "Default
> clickpad buttons"
> [ 42758.085] (II) Using input driver 'synaptics' for 'SynPS/2 Synaptics
> TouchPad'
> [ 42758.085] (**) SynPS/2 Synaptics TouchPad: always reports core events
> [ 42758.085] (**) Option "Device" "/dev/input/event5"
> [ 42758.110] (II) synaptics: SynPS/2 Synaptics TouchPad: found clickpad
> property
> [ 42758.110] (II) synaptics: SynPS/2 Synaptics TouchPad: found top buttonpad
> property
> [ 42758.110] (--) synaptics: SynPS/2 Synaptics TouchPad: x-axis range 1472 -
> 5112 (res 42)
> [ 42758.110] (--) synaptics: SynPS/2 Synaptics TouchPad: y-axis range 1408 -
> 3834 (res 42)
> [ 42758.110] (--) synaptics: SynPS/2 Synaptics TouchPad: pressure range 0 -
> 255
> [ 42758.110] (--) synaptics: SynPS/2 Synaptics TouchPad: finger width range
> 0 - 15
> [ 42758.110] (--) synaptics: SynPS/2 Synaptics TouchPad: buttons: left
> double triple
> [ 42758.110] (--) synaptics: SynPS/2 Synaptics TouchPad: Vendor 0x2 Product
> 0x7
> [ 42758.110] (**) Option "SoftButtonAreas" "50% 0 82% 0 0 0 0 0"
> [ 42758.110] (**) Option "SecondarySoftButtonAreas" "58% 0 0 8% 42% 58% 0
> 8%"
> [ 42758.110] (--) synaptics: SynPS/2 Synaptics TouchPad: touchpad found
> [ 42758.110] (**) SynPS/2 Synaptics TouchPad: always reports core events
> [ 42758.123] (**) Option "config_info"
> "udev:/sys/devices/platform/i8042/serio1/input/input6/event5"
> [ 42758.123] (II) XINPUT: Adding extended input device "SynPS/2 Synaptics
> TouchPad" (type: TOUCHPAD, id 9)

not sure where you have your ClickFinger option set, but it's not found by
the driver, otherwise it would show up here. I think your configuration is
buggy.

Cheers,
   Peter

> [ 42758.123] (**) synaptics: SynPS/2 Synaptics TouchPad: (accel) MinSpeed is
> now constant deceleration 2.5
> [ 42758.123] (**) synaptics: SynPS/2 Synaptics TouchPad: (accel) MaxSpeed is
> now 1.75
> [ 42758.123] (**) synaptics: SynPS/2 Synaptics TouchPad: (accel) AccelFactor
> is now 0.046
> [ 42758.123] (**) SynPS/2 Synaptics TouchPad: (accel) keeping acceleration
> scheme 1
> [ 42758.123] (**) SynPS/2 Synaptics TouchPad: (accel) acceleration profile 1
> [ 42758.123] (**) SynPS/2 Synaptics TouchPad: (accel) acceleration factor:
> 2.000
> [ 42758.123] (**) SynPS/2 Synaptics TouchPad: (accel) acceleration
> threshold: 4
> [ 42758.123] (--) synaptics: SynPS/2 Synaptics TouchPad: touchpad found
> [ 42758.123] (II) config/udev: Adding input device SynPS/2 Synaptics
> TouchPad (/dev/input/mouse0)
> [ 42758.123] (**) SynPS/2 Synaptics TouchPad: Ignoring device from
> InputClass "touchpad ignore duplicates"
> [ 42758.123] (II) config/udev: Adding input device TPPS/2 IBM TrackPoint
> (/dev/input/event6)
> [ 42758.123] (**) TPPS/2 IBM TrackPoint: Applying InputClass "evdev pointer
> catchall"
> [ 42758.123] (II) Using input driver 'evdev' for 'TPPS/2 IBM TrackPoint'
> [ 42758.123] (**) TPPS/2 IBM TrackPoint: always reports core events
> [ 42758.123] (**) evdev: TPPS/2 IBM TrackPoint: Device: "/dev/input/event6"
> [ 42758.123] (--) evdev: TPPS/2 IBM TrackPoint: Vendor 0x2 Product 0xa
> [ 42758.123] (--) evdev: TPPS/2 IBM TrackPoint: Found 3 mouse buttons
> [ 42758.123] (--) evdev: TPPS/2 IBM TrackPoint: Found relative axes
> [ 42758.123] (--) evdev: TPPS/2 IBM TrackPoint: Found x and y relative axes
> [ 42758.123] (II) evdev: TPPS/2 IBM TrackPoint: Configuring as mouse
> [ 42758.123] (**) evdev: TPPS/2 IBM TrackPoint: YAxisMapping: buttons 4 and
> 5
> [ 42758.123] (**) evdev: TPPS/2 IBM TrackPoint: EmulateWheelButton: 4,
> EmulateWheelInertia: 10, EmulateWheelTimeout: 200
> [ 42758.123] (**) Option "config_info"
> "udev:/sys/devices/platform/i8042/serio1/serio2/input/input7/event6"
> [ 42758.123] (II) XINPUT: Adding extended input device "TPPS/2 IBM
> TrackPoint" (type: MOUSE, id 10)
> [ 42758.123] (II) evdev: TPPS/2 IBM TrackPoint: initialized for relative
> axes.
> [ 42758.123] (**) TPPS/2 IBM TrackPoint: (accel) keeping acceleration scheme
> 1
> [ 42758.123] (**) TPPS/2 IBM TrackPoint: (accel) acceleration profile 0
> [ 42758.123] (**) TPPS/2 IBM TrackPoint: (accel) acceleration factor: 2.000
> [ 42758.123] (**) TPPS/2 IBM TrackPoint: (accel) acceleration threshold: 4
> [ 42758.123] (II) config/udev: Adding input device TPPS/2 IBM TrackPoint
> (/dev/input/mouse1)
> [ 42758.123] (II) No input driver specified, ignoring this device.
> [ 42758.123] (II) This device may have been added with another device file.
> ----- End
> _______________________________________________
> xorg-devel at lists.x.org: X.Org development
> Archives: http://lists.x.org/archives/xorg-devel
> Info: http://lists.x.org/mailman/listinfo/xorg-devel
> 


More information about the xorg-devel mailing list