Ubuntu, Asus 1005PE multitouch touchpad

Hi everyone! I’ve got my new Asus 1005PE, my replacement for the 1000HA. I’m very happy with it. The battery life is great, and I’ve chosen it because of it. This new device has the latest Intel Atom processor, the N450. It has as a main feature the integration of the memory controller and the video card in it. The result, great battery performance.

Ok, the first drawback is, the touchpad is not multitouch, I mean, at least by hardware it seems it doesn’t support this lovely feature with the latest Linux kernel (using Ubuntu 10.04, 2.6.32-22). Pretty bad, isn’t it? I’ve been really used to use the double tap (to press the secondary button) and using two finger for scrolling with my previous 1000HA.

Should I whine now? Nah, that’s for Windows users ;) So… what should I do? Google it, try some smart approach to the problem and solve it.

Alright, I’m cutting the crap and post the solution here.

Step 1 (skip this step if you’re using 10.04 or higher)

Create the file /etc/hal/fdi/policy/11-x11-synaptics.fdi and put the content below:

<?xml version="1.0" encoding="ISO-8859-1"?>
<deviceinfo version="0.2">
<device>
<match key="info.capabilities" contains="input.touchpad">
<merge key="input.x11_driver" type="string">synaptics</merge>
<merge key="input.x11_options.SHMConfig" type="string">On</merge>
<merge key="input.x11_options.EmulateTwoFingerMinZ" type="string">40</merge>
<merge key="input.x11_options.VertTwoFingerScroll" type="string">1</merge>
<merge key="input.x11_options.HorizTwoFingerScroll" type="string">1</merge>
<merge key="input.x11_options.TapButton1" type="string">1</merge>
<merge key="input.x11_options.TapButton2" type="string">3</merge>  <!--two finger tap -> middle clieck(3) -->
<merge key="input.x11_options.TapButton3" type="string">2</merge>  <!--three finger tap -> right click(2). almost impossible to click -->
</match>
</device>
</deviceinfo>

Step 2

Put the next code in some executable file:

#!/bin/sh

# Set multi-touch emulation parameters

xinput set-int-prop "SynPS/2 Synaptics TouchPad" "Synaptics Two-Finger Pressure" 32 10

xinput set-int-prop "SynPS/2 Synaptics TouchPad" "Synaptics Two-Finger Width" 32 8

xinput set-int-prop "SynPS/2 Synaptics TouchPad" "Two-Finger Scrolling" 8 1

xinput set-int-prop "SynPS/2 Synaptics TouchPad" "Synaptics Two-Finger Scrolling" 8 1 1

# Disable edge scrolling

xinput set-int-prop "SynPS/2 Synaptics TouchPad" "Synaptics Edge Scrolling" 8 0 0 0

# This will make cursor not to jump if you have two fingers on the touchpad and you list one

# (which you usually do after two-finger scrolling)

xinput set-int-prop "SynPS/2 Synaptics TouchPad" "Synaptics Jumpy Cursor Threshold" 32 110

Restart the gdm, or Ubuntu, and try it. Remember to execute the shell file created in step 2. Later you could add it in your start up scripts.

I hope it works for you guys.

26 Comments

  1. Hey thanks, works like a charm!

  2. Hi, it didn’t work for me … I put the executable script in /etc/init.d/touchpad (touchpad being the script) and after the first reboot nothing changed. If you could help me it would be nice… Thanks

  3. Hi Robin,

    It has to be executed once your session is fully loaded. So try manually execution of the script first, and if it’s working put it on your startup scripts.
    For me is working most of the times… meaning, sometimes it doesn’t work, so I execute it manually and work perfectly.

    Please, let me know how is goes.
    Thanks!
    Angel.

  4. Thanks for your answer, it’s effectively working when I launch it manually, but not when i put the script in startup scripts (init.d/). I updated the start process by the command line : “sudo update-rc.d touchpad.sh defaults” (I also tried naming the script “touchpad” without the “sh” extension). On reboot I can see some error message about the terminal but I know no more. How did you update you start process ?

    Thanks again.

  5. Hi Robin,
    I think that the error messages has something to be with “when” the touchpad is able to accept changes.
    My workaround for this is like this:
    1. In Gnome: System -> Preferences -> Startup Applications add your touchpad script like this “touchpad.sh &” without the quotes.
    2. In your touchpad.sh script, put a 5 second sleep waiting for your touchpad to be ready. Like “sleep 5″ without the quotes.

    That solution is working for me, but if you find a better one, please share it here :)
    Kind regards,
    Angel.

  6. Hi,

    Your solution is working perfectly, with sleep 5 and all. I don’t know any other way to get this working, but I’ll let you know if I read something interesting somewhere. By the way, do you know a way to get the zoom in/zoom out working with the touchpad ?

    Thanks for all your help to this point and your reactivity.

    Robin

  7. Hey Robin,
    Well, I’ve been reading around that Ubuntu 10.10 will have better support for gestures and multitouch, but certainty I don’t know if the 1005PE touchpad will support them. I was trying to work it out the zoom function but I didn’t have any positive result although I didn’t dive too deep :)
    What I really miss from my old 1000HA is the three finger touch that simulates the third button click (very handy to open new tabs in Chrome/Firefox or to close tabs without clicking in the X tab). Obviously the touchpad from the 1000HA is better than the 1005PE, or at least well supported without doing anything by software…
    In less than a month I’ll try the new Maverick Meerkat and post something related to.

    Best regards!
    Angel

  8. Hi there, im ALL new to Ubuntu and just got the 10.10 today, and the only big concern i had about using ubuntu instead of windows was loosing the two-finger-scroll function! Im on an asus eee pc 1008p – would this guide be helpfull on this computer as well?

    and when you write “Create the file /etc/hal/fdi/policy/11-x11-synaptics.fdi and put the content below”
    – how do I create a file like that?

    I would love to have my two finger function back, so i hope you dont mind helping a noob!

  9. Hi Loki!

    I didn’t try the new Ubuntu 10.10 yet, but I believe this tutorial may help you as well.

    To create that file, just type Alt+F2 and type “gksudo gedit /etc/hal/fdi/policy/11-x11-synaptics.fdi” without quotes. Enter your super user password (just use your password) and paste the content on it.

    Do something similar to have the “step 2″ script, and save it on you home folder and make it executable. Run it manually and let me know if it’s working.

    Don’t hesitate to contact me anytime!
    Cheers!

    Angel.

  10. Hi there,

    I been trying to get my multi touch working for ages, Im not that of a expert user, I managed to make succesfully both files, placed the step 2 file on /home/myusername/ but i cant get it to run, when i try to do it, it says i dont have permition to do it. I execute sudo su, enter my password, and try to do it again, and it says i dont have permition to do it. Im using 10.10 maverick also, and a 1005pe.

    Thanks for helping!

  11. Hi Zethiel,

    Do you try to chmod a+x the script file? Like this:
    chmod a+x you_script_name.sh
    After that, try to execute the file like this:
    ./you_script_name.sh

    Let me know if it works for you.
    Cheers!
    Angel.

  12. AWSOME!!!!

    I didnt do what you said, but I just did both commands and its working, two finger scrolling up and down and aparently left right also.

    One finger works like left click, 2 as right click but I havent tryied on 3 fingers as center click.

    After I did as you said, can I now try to add it to start up? Can you tell me how to do the following?

    I have the script on /home/zet/mt1005pe.sh

    thanks a lot!

  13. Hi!

    I’m glad that it worked for you.
    Just follow my instruction on this comment to put in on the startup.

    Let me know.
    Cheers!
    Angel.

  14. Thanks again,

    On the part that recalls to add the line “sleep 5″ without the quotes, I shall open the script, and add that to the end of it?
    I will now try something I read somewhere else, about testing if the script still works when the computer goes into sleep or hibernate, after coming back, you have to run the script manually again.

    Again, you have been of great help. I’ll surely follow your site news for more tips on ubuntu and the 1005pe specifics.

    By the way, if you use google talk or msn, please feel free to add me. It would be nice for me to have someone that has the same OS and netbook in case I come up with a problem or to share tweaks.

    Laters

  15. Hi Zethiel,

    The sleep 5 command should be at the top of the script.
    To solve what you mention about the sleep/hibernate is true, but you can put your script int some other script (I can’t recall the name now) but it is used to execute post script when the computers resumes.

    I’ll add you at gtalk.
    Thanks for your comments,

    Angel.

  16. Hi Angel,

    It’s the small things in life I appreciate, and I just wanted to say thank you for the multitouch. Thank you thank you thank you.

    James

    You’ve probably already done most of these tweaks but just in case you haven’t http://breakthebit.org/post/582420521/more-power-saving-in-linux

  17. Hi James!

    I’ve already knew breatthebit.org, and I have to tell you, Miha Rebernik has a great blog over there and his tips are brilliant.
    Thank for your comment and I’m happy that it worked for you too.

    Cheers!
    Angel.

  18. Hi Angel,

    nice post, and nice site.
    I was thinking if is it possible to use the double tap (now for the secondary button) instead for the center button. I dont need the secondary button but I would need the center button very much. So is there a way to use the double tap for the center button?

  19. Hi Aldo,

    I see what you want to do. I haven’t tried yet, but you could try do this. Switch values from TapButtons2 and 3 like this:


    <merge key="input.x11_options.TapButton2" type="string">2</merge>
    <merge key="input.x11_options.TapButton3" type="string">3</merge>

    Please, let me know if it’s working for you.
    Cheers!

  20. Hi Angel,
    thank you for your reply!
    i don’t have HAL on my ubuntu 10.10 so i only used the “step 2″ script.
    this works well on my 1215n cause the touchpad should be the same for these pcs.
    i think that no one needs the “step 1″ file so i also think that you could remove it from your article even if i’m not sure this works for everybody, but i am sure that I didn’t need it at all.
    However i think that you understood what i want but i need somenthing to put in the “step 2″ script.
    and could you please tell me how do you know these things about synaptic touchpads? is there any documentation about it?

  21. Hi Aldo,

    Hmmm, I think you’re right since Ubuntu remove HAL from the latest versions. Although I haven’t experiment so much with it, I will try something soon.

    If I’m near the solution, I’ll post it here.
    Thanks for your collaboration.

    Regards :)

  22. I’m using a 1005PE with 10.10 and having trouble using your suggestions. Step 1 is defunct, as mentioned above. Step 2 does make the trackpad sensitive to both of my fingers, but the scrolling doesn’t work: it immediately jumps back whenever I scroll, so there is effectively no scroll. I don’t know why. Any help is welcome to get two-finger scrolling working.

  23. Hi Cameron,

    It’s true what you said about step 1, although I’m not currently using 10.10 I thought the script works for that version. A few comments on this post say it (like the one from Zethiel).
    Please, remember to run the script manually to see if it works, later then add it into your startup scripts.

    Thanks for comment!
    Cheers! ;D

  24. This works brilliantly on the Asus 1215n! (Ubuntu 10.10 amd64) Thanks a lot for figuring this one out!

  25. https://bugs.launchpad.net/ubuntu/+source/linux/+bug/308191/comments/156
    hey guys now it is going to be supported by default.
    but until that moment you can use this package!

Trackbacks/Pingbacks

  1. Milki's Blog / Asus EPC 1005PE Ubuntu 10.04 Lucid Setup - [...] from: http://www.angelmonticelli.com.ar/2010/06/ubuntu-asus-1005pe-multitouch-touchpad/ [...]

Leave a Reply