2

I got a new ASUS K501U laptop and installed Ubuntu 16.04 on it. I'm running kernel 4.7 although I had the same issue in 4.3. Multitouch features like two-finger scrolling aren't working. The touchpad is an Elantech touchpad, and Ubuntu doesn't appear to support it beyond generic drivers.

I've played around a lot with the X configuration. If I set the driver to libinput or evdev, it doesn't seem to work with multitouch and synaptics throws errors. The device is named FTE1001:00 0B05:0101, which is the I2C address of the device, and X detects it as a pointer instead of a touchpad, which appears to be the issue. It seems like Ubuntu doesn't recognize the device and by default assumes it's a pointer. Therefore, how can I tell Ubuntu to recognize it as a touchpad, not a pointer? Is the configuration for this in X or udev?

To be clear, this works (in an x.conf.d file entry):

Section "InputClass"
        Identifier "psmouse pointer catchall"
        MatchIsPointer "on"
        MatchDevicePath "/dev/input/event*"
        Driver "evdev"
EndSection

and this doesn't:

Section "InputClass"
        Identifier "psmouse pointer catchall"
        MatchIsTouchpad "on"
        MatchDevicePath "/dev/input/event*"
        Driver "evdev"
EndSection

Additionally, when I upgraded my kernel to 4.7, I noticed that DKMS was having issues building the psmouse driver:

/var/lib/dkms/psmouse/elantech-x551c/build/src/cypress_ps2.c: In function ‘cypress_process_packet’:
/var/lib/dkms/psmouse/elantech-x551c/build/src/cypress_ps2.c:543:2: error: too few arguments to function ‘input_mt_assign_slots’
  input_mt_assign_slots(input, slots, pos, n);

I added a 0 as a fifth argument per the definition of input_mt_assign_slots from the Linux kernel multitouch library, and then DKMS seemed to build and install it correctly: psmouse elantech-x551c. However, if I set the driver to psmouse in the X config, X says it can't load the module (I don't even really understand what psmouse is for so that might be entirely naive). What relationship does the psmouse driver have to the drivers like evdev and libinput?

When I run xinput --list-props with my current setup, I get this:

Device 'FTE1001:00 0B05:0101':
    Device Enabled (137):   1
    Coordinate Transformation Matrix (139): 1.000000, 0.000000, 0.000000, 0.000000, 1.000000, 0.000000, 0.000000, 0.000000, 1.000000
    Device Accel Profile (263): 0
    Device Accel Constant Deceleration (264):   1.000000
    Device Accel Adaptive Deceleration (265):   1.000000
    Device Accel Velocity Scaling (266):    10.000000
    Device Product ID (259):    2821, 257
    Device Node (258):  "/dev/input/event14"
    Evdev Axis Inversion (267): 0, 0
    Evdev Axes Swap (269):  0
    Axis Labels (270):  "Rel X" (147), "Rel Y" (148), "Rel Vert Wheel" (262)
    Button Labels (271):    "Button Left" (140), "Button Unknown" (261), "Button Right" (142), "Button Wheel Up" (143), "Button Wheel Down" (144), "Button Horiz Wheel Left" (145), "Button Horiz Wheel Right" (146)
    Evdev Scrolling Distance (272): 1, 1, 1
    Evdev Middle Button Emulation (273):    0
    Evdev Middle Button Timeout (274):  50
    Evdev Third Button Emulation (275): 0
    Evdev Third Button Emulation Timeout (276): 1000
    Evdev Third Button Emulation Button (277):  3
    Evdev Third Button Emulation Threshold (278):   20
    Evdev Wheel Emulation (279):    0
    Evdev Wheel Emulation Axes (280):   0, 0, 4, 5
    Evdev Wheel Emulation Inertia (281):    10
    Evdev Wheel Emulation Timeout (282):    200
    Evdev Wheel Emulation Button (283): 4
    Evdev Drag Lock Buttons (284):  0

Which again seems to imply that Ubuntu is recognizing it as mouse instead of as a touchpad.

tl; dr Ubuntu doesn't recognize my Elantech touchpad and assumes it's a pointer instead of a touchpad.

0

I found something here:

First, if you aren’t sure your computer was built with an Elantech touchpad, open a terminal, and type the following:

cat /proc/bus/input/devices

You should find a block containing a line looking like this one, which confirms you are on an Elantech touchpad:

N: Name="ETPS/2 Elantech Touchpad"

Download this archive (from Ubuntu’s bug reporting page).

Open a terminal, and follow these steps (after [line] 4, you will have no mouse at all):

cd ~/Downloads
sudo dkms ldtarball psmouse-elantech-x551c.tar.gz
sudo dkms install -m psmouse -v elantech-x551c
sudo rmmod psmouse
sudo modprobe psmouse

Enjoy multitouch!

Source: Elantech clickpad/touchpad lacks multitouch features

I have verified the links, they are from launchpad. Also, the biiiig number of comments suggests the page is genuine, although there is no WOT rating yet; if someone wants to rate the page on WOT, please do. If it is a negative rating, also inform me in the comments, and I will delete this answer until I find another source.

  • the problem is that my touchpad isn't recognized by the system at all. windows reports it as elantech, as do my laptop's docs. – singerng Aug 31 '16 at 2:44
  • @singerng Have you tried these steps at all? You say that "the driver seems to be installed correctly", but many (official) repository drivers are literally broken. The links here are from Launchpad. – EKons Aug 31 '16 at 7:52
  • yeah, i have. this issue actually appears to be a bug in the linux kernel, so it's fine: bugzilla.kernel.org/show_bug.cgi?id=120181 – singerng Aug 31 '16 at 21:57
  • WARNING: WOT-ratings may be (partly) ok, but do NOT install any WOT-software, it can/must be considered as malware!!! - thehackernews.com/2016/11/web-of-trust-addon.html – DJCrashdummy Nov 11 '16 at 6:55
  • @DJCrashdummy Oh gosh! I just uninstalled WOT as of Nov 7's announcement. I also deleted my mywot.com account. – EKons Nov 11 '16 at 12:37

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.