Tuesday, February 14, 2012

Call for Testing: Clickpad

EDIT: This post continues to get hits after 12.04 has been released. The functionality below ships with 12.04. However, if your looking to enable the right click button for your trackpad, see the wiki entry here. You do not need to install the ppa listed below any longer.

"Clickpad" devices are becoming more and more popular. A "clickpad" is a touchpad with buttons integrated into the touch surface. This includes many variations of Synaptics trackpads and all the multitouch Apple trackpads.
This ppa adds support for these devices, and supports the ability to do zone-based right clicking as well as 2 finger operations, such as a click and drag.
The timeframe for testing this PPA is until February 17th.

Installing

Please ensure you are comfortable with recovering your system using only the keyboard if necessary before continuing!

Prerequisites: Make sure you are running the latest version of precise, and all your packages are up to date. Unfortunately this cannot be installed on oneiric or any previous ubuntu release.

1) Add the clickpad ppa (https://launchpad.net/~chasedouglas/+archive/clickpad). You can do this by issuing the following command:

sudo add-apt-repository ppa:chasedouglas/clickpad

2) Update apt and run a dist upgrade -- this should prompt you to upgrade xserver-xorg-input-synaptics.

sudo apt-get update && sudo apt-get dist-upgrade

3) Logout of your current session, and log in again for the changes to take effect.

4) Does your clickpad device work? If so, you can skip step 4. At the moment, many clickpad devices are not automatically recognized by the kernel. There is upstream kernel work going on that should alleviate this problem in the final precise kernel. In the meantime, you can force your device to operate in clickpad mode for this testing.

a) Obtain your device id by running xinput. You will see a listing similar to this -- pick out the id of your clickpad. In my case, the id is 10, the SynPS/2 Synaptics TouchPad.

nskaggs@permacultured:~$ xinput
⎡ Virtual core pointer                     id=2 [master pointer  (3)]
⎜   ↳ Virtual core XTEST pointer               id=4 [slave  pointer  (2)]
⎜   ↳ SynPS/2 Synaptics TouchPad               id=10 [slave  pointer  (2)]
⎣ Virtual core keyboard                   id=3 [master keyboard (2)]
    ↳ Virtual core XTEST keyboard             id=5 [slave  keyboard (3)]
    ↳ Power Button                             id=6 [slave  keyboard (3)]
    ↳ Power Button                             id=7 [slave  keyboard (3)]
    ↳ Sleep Button                             id=8 [slave  keyboard (3)]
    ↳ AT Translated Set 2 keyboard             id=9 [slave  keyboard (3)]

b) Execute the following commands to download a script to force your device to be a clickpad:

wget http://people.canonical.com/~cndougla/enable-clickpad.sh
chmod a+x enable-clickpad.sh

c) Execute the script

./enable-clickpad.sh <device name|device id>

5) Optionally, you can also turn the lower right corner of the clickpad into a right button zone. This zone will allow you to click using one finger on the right lower corner of the touchpad and have the click register as a right click instead of a left click. "Two finger tapping" for right click hasn't changed by using this driver.

a) Execute the following commands to download a script to create a rightclick zone.

wget http://people.canonical.com/~cndougla/enable-rightbutton.sh
chmod a+x enable-rightbutton.sh

b) Execute the script

./enable-rightbutton.sh <device name|device id>

Ok, hopefully the upgrade went smooth for you, but if not, You may need to recover your system using ppa-purge and then file a bug on what went wrong.

Testing
Use your trackpad as normal. Are there any issues?
Attempt a click-and-drag with separate fingers. Did it work?
If you enable the right button zone, does a button press in the lower right corner cause a right click?
Does the trackpad behave as you would expect?

Filing Bugs
Please file bugs against xserver-xorg-input-synaptics package in launchpad (https://bugs.launchpad.net/ubuntu/+source/xserver-xorg-input-synaptics/+filebug).

Make sure when filing to tag it "clickpad", and mention you are testing from the test clickpad ppa. This will make sure your issue is seen by the developers and they will know it is in relation to this new package.

Giving Feedback
Send your comments and questions to the ubuntu-x mailing list with the subject "Re: CFT ClickPad Support". Don't worry if your not subscribed to the list; emails will be accepted from unsubscribed participants. In addition, you can chat on IRC by visiting the #ubuntu-x channel on freenode.

Getting Help
Don't hesitate to reach out to the wonderful folks on freenode @ #ubuntu-x, the ubuntu-x mailing list, the ubuntu+1 forums, or myself if you have questions. Thanks for helping test ubuntu!

40 comments:

  1. works great

    any idea how to disable touchpad function in areas where i click i.e. left and right click

    ReplyDelete
  2. Works perfectly, thanks so much for this.

    ReplyDelete
  3. works great on my asus zenbook with elantech!

    ReplyDelete
  4. Thanks, worked with my zenbook with elantech aswell :)
    However, no need to use PPA anymore when on latest Precise beta, I only ran the enable-script.

    Could it be possible to get middleclick working aswell with touchareas instead of three-finger-tap?

    ReplyDelete
  5. Zenbook with elantech here too. Both scripts works well but settings are not kept after a reboot. Any solution?

    ReplyDelete
  6. Thanks loads. Zenbook with Elantech. Works great.
    On the final release of Precise you have to manually downgrade to the PPA version of the driver, though. dist-upgrade won't work.

    ReplyDelete
    Replies
    1. How would I go about doing that? I am on the latest version of precise, with an elantech zenbook and I cannot get this to work for the life of me. I am very confused and have searched everywhere.

      Delete
    2. There has recently been some discussion of this at the link below. I'm running the latest version, and do not have any issues.

      http://ubuntuforums.org/showthread.php?t=1865577

      Delete
  7. Note, to avoid launching script at each boot, you can launch them into a file /home/yourlogin/.gnomerc
    The will be launched during your gnome open session process.

    ReplyDelete
  8. I am trying on an Asus Zenbok UX31 as well. Left button works perfect. How do you do a "paste" ?

    ReplyDelete
    Replies
    1. Depending on your setup, you would 2-finger tap or click the right side of the touchpad to "right-click"

      Delete
    2. This method also supports setting up a virtual middle button. I have mine set to send middle-click when the divider line of the virtual button is pressed.

      Delete
    3. @Geoff how do you setting up a virtual middle button? right clic works well now, but I can't paste with pad...

      Delete
    4. @Geoff O, please oh please come back and let us know how to set the divider line to be a middle click button?

      Delete
  9. After searching a lot on different forums and blogs I finally landed here. I am trying to help my friend to configure Ubuntu on her laptop using remote connection since I do not have physical access to it.

    It's an Asus laptop with an Elantech multi-touch touchpad (which I believe you call it as clickpad. It doesn't have any separate physical left and right click buttons). On installing Ubuntu 12.04 the touchpad could perform left clicks and two finger scroll out of the box. But she wasn't able to perform right click. We didn't try two finger tap since we weren't aware of that option.

    So I remotely opened terminal used this command "echo options psmouse proto=exps > /etc/modprobe.d/psmouse.modprobe
    reboot"

    This now lets her perform right and left click but now the scrolling functionality is gone. Do you think I should remove that file added by the above command and try two finger tap ? I do not want to keep messing with her system since everything I do is through remote connection and she is trying to use Ubuntu for the first time. Many thanks in advance.

    P.S : Sorry for the long post.

    ReplyDelete
  10. This made right button work on my new ux31a!

    Thanks!

    ReplyDelete
  11. Made click & drag + right button work on my ux31a :)

    ReplyDelete
  12. Works perfectly with an ASUS Zenbook UX31A (ETPS/2 Elantech Touchpad) and Ubuntu 12.04. Thanks!

    ReplyDelete
  13. When I execute the enable command, in both cases, with the correct name and id, I get: bash: syntax error near unexpected token `newline'
    on my Thinkpad E530.

    Thanks for this post !

    ReplyDelete
    Replies
    1. Thanks so much for this super-helpful post!

      Unfortunately, I'm getting the same exact error on my Asus ZenBook UX31E (after trying to execute the following command: ./enable-clickpad.sh ).

      Will be grateful for any advice (linux-newbie here :-) )

      Delete
    2. OK, solved :-)

      Being a newbie I didn't realize I can enter either the ID or name but no need in both. In my case, executing ./enable-clickpad.sh 12 worked perfectly (as well a the right-button script).

      Many thanks again!

      Delete
  14. It works but after restart I have to repeat all steps... :( I have Asus Zenbook Prime UX31A

    ReplyDelete
  15. Thanks for the great post....It worked on my HPdv6 ubuntu 12.04
    But can u tell me how to enable it on each boot up ??

    ReplyDelete
  16. It works well for an HP Envy 3040nr. I installed the PPA, not sure whether it was optional or not.

    @Nejc, daydreamer: you can run the scripts automatically on startup by adding them to Startup Applications (search dash for this setting). Remember to also pass the touchpad id to the script (which you should know from running "xinput").

    ReplyDelete
  17. I'm getting a bash: ./enable-rightbutton.sh: Permission denied with the right click script and with sudo it says command not found, what am I doing wrong here ?

    ReplyDelete
  18. Tim Smeets: you need to make the script executable. chmod +x enable-rightbutton.sh .. then it should work fine.

    I have a UX31A and this enabled both right clicking and click+drag for me. I am having issues with palm detection though (was having them before) ... it could be because I had messed *a lot* with my settings before trying this clickpad solution here. Anyone else have issues with palm detection or disable-while-typing?

    ReplyDelete
  19. @steinn Right... I don't think palm detection is working, I just tested it.

    ReplyDelete
  20. I'm getting a 404 using wget to fetch enable-clickpa.sh. I did follow the guide above and it worked fine up until that point.

    What am i doing wrong?

    ReplyDelete
  21. I think the file is removed from the link...

    ReplyDelete
  22. Could anyone please provide an alternative link? My clickpad do feel rather crippled at the moment..

    ReplyDelete
  23. An alternative link please? I'm also getting the 404 error.

    ReplyDelete
  24. Check out the following wiki page for information:

    https://wiki.ubuntu.com/DebuggingTouchpadDetection#Enabling_right_button_click_for_clickpads_on_Ubuntu_12.04_LTS

    ReplyDelete
  25. Many thanks for this, it helps me a lot on my asus UX31a.
    I put these scripts on github (adding middle click) : https://github.com/avernois/enable-elantech-on-ubuntu

    enjoy

    ReplyDelete
  26. @Antoine: Thanks for your scripts! They finally enabled my the clickpad on my Asus N56VZ

    ReplyDelete
  27. "property Synaptics Right Button Area doesn't exist, you need to specify its type and format"
    Sorry it does not work at all...

    ReplyDelete
  28. It doesnt work with my AsusZenbook UX32A.
    Device xinput : ETPS/2 Elantech Touchpad id=12 [slave pointer (2)]

    Result of "./enable-rightbutton.sh 12" :

    property Synaptics Right Button Area doesn't exist, you need to specify its type and format

    ReplyDelete
  29. This link doesn't work :

    wget http://people.canonical.com/~cndougla/enable-clickpad.sh
    --2013-07-13 22:35:23-- http://people.canonical.com/~cndougla/enable-clickpad.sh
    Résolution de people.canonical.com (people.canonical.com)... 91.189.89.62
    Connexion vers people.canonical.com (people.canonical.com)|91.189.89.62|:80... connecté.
    requête HTTP transmise, en attente de la réponse... 404 Not Found
    2013-07-13 22:35:26 ERREUR 404: Not Found

    ReplyDelete
  30. I found an explanation on this bug report : https://bugs.launchpad.net/ubuntu/+source/xserver-xorg-input-synaptics/+bug/944961

    The script given on the Wiki entry doesn't work. It was updated by a developer, but it has been lost.
    In order to correct the script just replace the last line :

    xinput set-prop "$1" "Synaptics Right Button Area" $left $right $top $bottom

    with this one :

    xinput set-prop "$1" "Synaptics Soft Button Areas" $left $right $top $bottom 0 0 0 0

    ReplyDelete