You are not logged in.

#1 2014-02-18 07:13:22

fivre
Member
Registered: 2007-04-17
Posts: 99

Elantech clickpad not handled by synaptics

My Acer s7 has an Elantech clickpad that was, at one point, using synaptics, and edge scroll and such worked properly. It stopped doing that a day after, for no apparent reason (no upgrades or configuration changes). Attempted reinstalling xf86-input-synaptics, no effect.

Currently some features work, apparently handled by evdev, but most advanced ones don't. The psmouse-elantech appears to make no difference in how the device is detected (i.e. a generic evdev pointer).
It's been a long time since I had to play around with Xorg configuration. As far as I can tell, the synaptics.conf entries should match the device, since they have a fairly generic match on any /dev/input/event*, which includes this device.

Relevant dmesg. There's a touchscreen as well, which also sorta works, but that I don't really care about.

[    1.565355] 2.6.2X-Elan-touchpad-2011-04-12
[    1.676005] elantech.c: PSMOUSE_CMD_RESET_BAT  param[0]=aa param[1]=0 param[2]=0
[    1.748606] elantech.c: Elantech version query result 0x58, 0x1f, 0x01.
[    1.784943] elantech.c: assuming hardware version 9, firmware version 0x58.0x1f.0x01
[    6.733234] input: ELAN Touchscreen as /devices/pci0000:00/0000:00:14.0/usb1/1-7/1-7:1.0/input/input17
[    6.733695] hid-multitouch 0003:04F3:015C.0005: input,hiddev0,hidraw2: USB HID v1.10 Device [ELAN Touchscreen] on usb-0000:00:14.0-7/input0
[   14.379497] input: PS/2 Elantech ETF1059 Click-Pad as /devices/platform/i8042/serio1/input/input9

/etc/X11/xorg.conf.d/50-synaptics.conf left at the default.

# Example xorg.conf.d snippet that assigns the touchpad driver
# to all touchpads. See xorg.conf.d(5) for more information on
# InputClass.
# DO NOT EDIT THIS FILE, your distribution will likely overwrite
# it when updating. Copy (and rename) this file into
# /etc/X11/xorg.conf.d first.
# Additional options may be added in the form of
#   Option "OptionName" "value"
#
Section "InputClass"
        Identifier "touchpad catchall"
        Driver "synaptics"
        MatchIsTouchpad "on"
        Option "TapButton1" "1"
        Option "TapButton2" "2"
        Option "TapButton3" "3"
# This option is recommend on all Linux systems using evdev, but cannot be
# enabled by default. See the following link for details:
# http://who-t.blogspot.com/2010/11/how-to-ignore-configuration-errors.html
        MatchDevicePath "/dev/input/event*"
EndSection

Section "InputClass"
        Identifier "touchpad ignore duplicates"
        MatchIsTouchpad "on"
        MatchOS "Linux"
        MatchDevicePath "/dev/input/mouse*"
        Option "Ignore" "on"
EndSection

# This option enables the bottom right corner to be a right button on
# non-synaptics clickpads.
# This option is only interpreted by clickpads.
Section "InputClass"
        Identifier "Default clickpad buttons"
        MatchDriver "synaptics"
        Option "SoftButtonAreas" "50% 0 82% 0 0 0 0 0"
#       To disable the bottom edge area so the buttons only work as buttons,
#       not for movement, set the AreaBottomEdge
#       Option "AreaBottomEdge" "82%"
EndSection

# This option disables software buttons on Apple touchpads.
# This option is only interpreted by clickpads.
Section "InputClass"
        Identifier "Disable clickpad buttons on Apple touchpads"
        MatchProduct "Apple|bcm5974"
        MatchDriver "synaptics"
        Option "SoftButtonAreas" "0 0 0 0 0 0 0 0"
EndSection

Added /etc/X11/xorg.conf.d/10-synaptics.conf, since 50-synaptics.conf suggests creating a separate file for individual configuration. More or less the suggested configuration from the Touchpad Synaptics wiki article, adjusted slightly for what I had on my other laptop and match my touchpad preference.

Section "InputClass"
      Identifier "touchpad"
      Driver "synaptics"
      MatchIsTouchpad "on"
             Option "TapButton1" "1"
             Option "TapButton2" "3"
             Option "TapButton3" "2"
             Option "VertEdgeScroll" "on"
             Option "HorizEdgeScroll" "on"
             Option "EmulateTwoFingerMinZ" "40"
             Option "EmulateTwoFingerMinW" "8"
             Option "CoastingSpeed" "0"
             Option "VertTwoFingerScroll" "off"
             Option "HorizTwoFingerScroll" "off"
EndSection

Relevant Xorg.0.log:

[  7398.871] (II) config/udev: Adding input device PS/2 Elantech ETF1059 Click-Pad (/dev/input/event17)
[  7398.871] (**) PS/2 Elantech ETF1059 Click-Pad: Applying InputClass "evdev pointer catchall"
[  7398.871] (II) Using input driver 'evdev' for 'PS/2 Elantech ETF1059 Click-Pad'
[  7398.871] (**) PS/2 Elantech ETF1059 Click-Pad: always reports core events
[  7398.871] (**) evdev: PS/2 Elantech ETF1059 Click-Pad: Device: "/dev/input/event17"
[  7398.871] (--) evdev: PS/2 Elantech ETF1059 Click-Pad: Vendor 0x2 Product 0x1
[  7398.871] (--) evdev: PS/2 Elantech ETF1059 Click-Pad: Found 3 mouse buttons
[  7398.871] (--) evdev: PS/2 Elantech ETF1059 Click-Pad: Found relative axes
[  7398.871] (--) evdev: PS/2 Elantech ETF1059 Click-Pad: Found x and y relative axes
[  7398.871] (II) evdev: PS/2 Elantech ETF1059 Click-Pad: Configuring as mouse
[  7398.871] (**) evdev: PS/2 Elantech ETF1059 Click-Pad: YAxisMapping: buttons 4 and 5
[  7398.871] (**) evdev: PS/2 Elantech ETF1059 Click-Pad: EmulateWheelButton: 4, EmulateWheelInertia: 10, EmulateWheelTimeout: 200
[  7398.871] (**) Option "config_info" "udev:/sys/devices/platform/i8042/serio1/input/input9/event17"
[  7398.871] (II) XINPUT: Adding extended input device "PS/2 Elantech ETF1059 Click-Pad" (type: MOUSE, id 14)
[  7398.871] (II) evdev: PS/2 Elantech ETF1059 Click-Pad: initialized for relative axes.
[  7398.871] (**) PS/2 Elantech ETF1059 Click-Pad: (accel) keeping acceleration scheme 1
[  7398.871] (**) PS/2 Elantech ETF1059 Click-Pad: (accel) acceleration profile 0
[  7398.871] (**) PS/2 Elantech ETF1059 Click-Pad: (accel) acceleration factor: 2.000
[  7398.871] (**) PS/2 Elantech ETF1059 Click-Pad: (accel) acceleration threshold: 4
[  7398.871] (II) config/udev: Adding input device PS/2 Elantech ETF1059 Click-Pad (/dev/input/mouse2)
[  7398.871] (II) No input driver specified, ignoring this device.
[  7398.871] (II) This device may have been added with another device file.

Switching the MatchIsTouchpad to MatchIsPointer in 50-synaptics.conf resulted in Xorg.0.log having:

[  9640.197] (II) Using input driver 'synaptics' for 'PS/2 Elantech ETF1059 Click-Pad'
[  9640.197] (**) PS/2 Elantech ETF1059 Click-Pad: always reports core events
[  9640.197] (**) Option "Device" "/dev/input/event17"
[  9640.295] (EE) synaptics: PS/2 Elantech ETF1059 Click-Pad: Synaptics driver unable to detect protocol
[  9640.295] (EE) PreInit returned 11 for "PS/2 Elantech ETF1059 Click-Pad"
[  9640.295] (II) UnloadModule: "synaptics"

So I guess synaptics is no longer able to handle it properly? How could that have changed without changing the synaptics/kernel versions?

Offline

#2 2014-02-20 16:16:21

Rexilion
Member
Registered: 2013-12-23
Posts: 784

Re: Elantech clickpad not handled by synaptics

Try this script. Run it as a normal user.


fs/super.c : "Self-destruct in 5 seconds.  Have a nice day...\n",

Offline

#3 2014-02-22 02:36:58

fivre
Member
Registered: 2007-04-17
Posts: 99

Re: Elantech clickpad not handled by synaptics

Nope:

property 'Synaptics ClickPad' doesn't exist, you need to specify its type and format
property 'Synaptics Soft Button Areas' doesn't exist, you need to specify its type and format

Do those need the synaptics driver loaded? Nothing is even triggering Xorg to load it at the moment, since nothing has the IsTouchpad property (set by udev, I think?).

Also, should the device be detected as an ETPS/2 device, rather than PS/2? I changed the script to reflect the latter, but I'm not sure if that's important.

Offline

Board footer

Powered by FluxBB