Alternate Touchpad Configuration for XPS 9343 Developer Edition Running Ubuntu 15.04


Here is information addressing the lack of palm detection with Ubuntu 15.04.  A big shout out to Pilot6 who developed the steps below and shared them with the community on Ask Ubuntu

Some customers have reported frustration with the lack of palm detection due to limitations with the Synaptics driver currently implemented in current stable versions of the Linux Kernel. This walkthrough is intended for advanced users who would like to experiment with the alternate libinput input device driver. This has only been tested to work in the XPS 13 9343 using Ubuntu 15.04 and 15.10 beta.

Note: these steps are not supported by Dell support and you are performing this at your own risk. Compatibility issues could arise and result in your operating system being rendered unable to boot.

  1. Install some needed packages by running the following commands.

sudo apt-get install git build-essential autoconf automake pkg-config libtool

sudo apt-get install libmtdev1 libmtdev-dev libudev-dev libevdev-dev xutils-dev

  1. Install xserver-xorg-dev.

sudo apt-get install xserver-xorg-dev

  1. Clone libinput and xf86-input-libinput.

git clone http://cgit.freedesktop.org/wayland/libinput/

git clone http://cgit.freedesktop.org/xorg/driver/xf86-input-libinput/

  1. Build and install both packages.

cd libinput

./autogen.sh –prefix=/usr

make && sudo make install

cd ../xf86-input-libinput

./autogen.sh –prefix=/usr

make && sudo make install

  1. Now we need to create the config file in /usr/share/X11/xorg.conf.d named 99-libinput.conf using your favorite text editor (the following example will be using gedit).

Sudo gedit /usr/share/X11/xorg.conf.d/99-libinput.conf

  1. Add the following to the blank file you just opened, these options should cause the touchpad to perform similar to an Apple Mac touchpad.

Section “InputClass”

Identifier “libinput”

Driver “libinput”

MatchDevicePath “/dev/input/event*”

MatchIsTouchpad “true”

Option “Tapping” “true”

Option “TappingDragLock” “true”

Option “ClickMethod” “none”

Option “NaturalScrolling” “true”

EndSection

  1. There are many more options available. Not all options are supported, if the option is not supported than the default will be used. In the above example “Natural Scrolling” is set to “true”. If you don’t like natural scrolling just set that option to “false”. Follow the below link for an explanation of the many options that are able to be adjusted in the 99-libinput.conf

https://www.mankier.com/4/libinput

HTH

Pau for now…

24 Responses to Alternate Touchpad Configuration for XPS 9343 Developer Edition Running Ubuntu 15.04

  1. In 15.10, you can just install the xserver-xore-input-libinput package.

    Since most of the options for configuring this driver are not yet exposed through the unity settings for the touchpad, I recommend the following to be added to you /etc/X11/xorg.conf.d/99-libinput.conf:

    Section “InputClass”
    Identifier “libinput”
    Driver “libinput”
    MatchDevicePath “/dev/input/event*”
    MatchIsTouchpad “true”
    Option “Tapping” “true”
    Option “ClickMethod” “clickfinger”
    Option “NaturalScrolling” “true”
    EndSection

    This will enable tap-to-click on the whole surface of the touchpad (thus removing the button regions at the bottom). It will also allow using one, two, and three finger taps (or physical clicks) respectively for left, right, and middle clicks. It will also enable the reverse vertical scrolling direction (like on Macbooks). All of this config will only be applied to touchpads. The device will also default to be disabled while typing, which is good to have on since palm detection is not supported yet.

    With this config, I find the the touchpad far more usable.

    Like

  2. Lawrence says:

    On my hardware, using libinput, the option “DisableWhileTyping” is effective on an external keyboard, but not the laptop’s keyboard. Strange. Does anybody has a similar experience?

    Like

  3. hg8 says:

    Thanks for this.

    Is `Option “PalmDetection” “True”` supported here ?

    Like

  4. Minh Ha Duong says:

    The configure for xf86-input-libinput fails with error message

    checking for LIBINPUT… no
    configure: error: Package requirements (libinput >= 0.21.0) were not met:

    No package ‘libinput’ found

    Consider adjusting the PKG_CONFIG_PATH environment variable if you installed software in a non-standard prefix.

    Alternatively, you may set the environment variables LIBINPUT_CFLAGS and LIBINPUT_LIBS to avoid the need to call pkg-config.

    Like

  5. Minh Ha Duong says:

    I have no idea what a Macbook touchpad behaves like. I don’t want to know at the moment. The configuration file kills the right click ?

    Like

  6. prawits.florian@gmail.com says:

    Does anyone know how to apply the firmware update for the touchpad (A00) under ubuntu 15.04? Unfortunately my linux skills are somewhat limited and I have spent the last few days trying to figure out how this can be accomplished. Updating the BIOS to A05 was easy enough for me, but I got really stuck with the touchpad.

    Also as a side note it would be nice to know how to find out what the current firmware version of the touchpad is, because I am not entirely sure whether the firmware is in need of updating (I purchased my XPS around May).

    Any help here would be really appreciated.

    Link to A00 Firmware:
    http://downloads.dell.com/FOLDER02883019M/1/9343_Firmware_T792T_WN32_18.1.48_A00.EXE

    Like

  7. jimbasilio says:

    For 15.10 you can use the native packages for a much easier installation.

    http://askubuntu.com/a/678122/108825

    Like

    • Rick says:

      Hi, i did this, but i don’t think it is working. I enabled palm detection in the conf file and and its the one with the highest value, so it should get selected by the system right?

      Like

  8. Richard says:

    I’m not on Ubuntu 15.04, but Linux Mint 17.2 (Based on 14.04).

    Building and installing libinput went fine, but with xf86-input-libinput I am running into a problem when building the package:

    > make && sudo make install
    make all-recursive
    make[1]: Entering directory `/home/richard/code/linux/xf86-input-libinput’
    Making all in src
    make[2]: Entering directory `/home/richard/code/linux/xf86-input-libinput/src’
    CC xf86libinput.lo
    xf86libinput.c: In function ‘open_restricted’:
    xf86libinput.c:934:3: error: implicit declaration of function ‘xf86Msg’ [-Werror=implicit-function-declaration]
    xf86Msg(X_ERROR, “Failed to look up path ‘%s’\n”, path);
    ^
    xf86libinput.c:934:3: warning: nested extern declaration of ‘xf86Msg’ [-Wnested-externs]
    cc1: some warnings being treated as errors
    make[2]: *** [xf86libinput.lo] Error 1
    make[2]: Leaving directory `/home/richard/code/linux/xf86-input-libinput/src’
    make[1]: *** [all-recursive] Error 1
    make[1]: Leaving directory `/home/richard/code/linux/xf86-input-libinput’
    make: *** [all] Error 2

    Any pointers would be appreciated.

    Like

    • Frankie says:

      I’m also getting this error on Xubuntu 14.04 LTS.

      Like

    • Frankie says:

      Actually, I was able to run make successfully after making a quick hack to xf86libinput.c.

      Edit the file ./xf86-input-libinput/src/xf86libinput.c
      Search for xf86Msg
      Comment the line by inserting //
      Run make again

      Like

  9. Richard says:

    Hello?

    Like

  10. Minh Ha Duong says:

    This is to share a solution to the frustration of the cursor jumping around while you type:
    disable “tap to click”
    Now I can use the keyboard !

    Like

    • chris says:

      Minh Ha Duong thank you this tip solves the most annoying problem with this machine

      Like

      • Richard says:

        Only if you don’t like tap to click, which is honestly the only way I use touchpads. It’s a workaround if you decide to sacrifice functionality. Not a solution.

        Like

  11. Richard says:

    Did anyone actually get this to work?

    Like

    • Minh Ha Duong says:

      I compiled it ok, then moved to Ubuntu 15.10 with libinput compiled in.
      The cursor still freezes.
      If the seller had a Satisfaction warranty refund I would have taken it long ago !

      Like

  12. Xu Wang says:

    Hi Barton, I am guessing it is an honest mistake either by you or your tech team, but the instructions you posted seem to have been taken directly from from this answer: http://askubuntu.com/questions/649103/proper-touchpad-thumb-palm-detection-with-libinput/651008#651008
    and you did not attribute the author or link to that answer. Is Pilot6 part of your tech team?

    Like

Leave a comment