How do I fix my touchpad on my Acer 720 Chromebook

Solution 1:

We're just going to skip the semantics and assume you're using the 32 bit version of Ubuntu 14.04, as that's the version most new users download. If you're not using the 32 bit version of Ubuntu 14.04, this may cause a rip in the space-time continuum. Proceed with caution.

You'll have to use a Linux kernel that has compatibility with your touchpad. There are some custom kernels out there that do the trick, but they tend to be less stable than the mainline, official kernels. Starting in version 3.17, the official Linux kernel added basic support for Chromebooks (including the touchpad and wake-from-sleep). However, Ubuntu 14.10 is the only current version of Ubuntu that's built on top of kernel 3.17. Furthermore, the support in kernel 3.17 is only very basic, which means that your touchpad will likely work, but only sporadically. Never fear, though. There are fixes for these issues too.

Start out by hooking up a wireless mouse (and keyboard, if necessary) so you can install Ubuntu on your Chromebook. After that, go ahead and install Ubuntu like you normally would.

Next, install all the updates available. The updater should pop up after a few minutes of using Ubuntu (after the installation). Enter your password and reboot if it asks you to.

After that, install version 3.17 of the Linux kernel. To do this, open up a terminal window. If you don't know where to find the terminal, just click on the Ubuntu logo in the top left of your screen and type "Terminal" in the search box. Once you have a terminal window open, copy and paste these exact commands in the terminal window, one by one. Enter your password if it asks you to.

cd /tmp/

wget http://kernel.ubuntu.com/~kernel-ppa/mainline/v3.17-utopic/linux-headers-3.17.0-031700-generic_3.17.0-031700.201410060605_i386.deb

wget http://kernel.ubuntu.com/~kernel-ppa/mainline/v3.17-utopic/linux-headers-3.17.0-031700_3.17.0-031700.201410060605_all.deb

wget http://kernel.ubuntu.com/~kernel-ppa/mainline/v3.17-utopic/linux-image-3.17.0-031700-generic_3.17.0-031700.201410060605_i386.deb

sudo dpkg -i linux-headers-3.17.0-*.deb linux-image-3.17.0-*.deb

Then you'll need to restart your Chromebook. Once you reboot, you should be able to use your touchpad, and put your Chromebook in sleep mode (close the lid) without completely shutting it down. Your touchpad may not be as sensitive as you want it to be, and you also may not like the way the touchpad right-clicks (by tapping the bottom-right-side of the touchpad). If that's the case, like I said previously, there is a fix.

To apply said fix, first you need to get back into your terminal (if you aren't still there) and copy and paste the following command exactly as it's stated. Enter your password when prompted.

sudo gedit /usr/share/X11/xorg.conf.d/50-synaptics.conf

This will open a text editor, which we will use to edit the script that defines how your system interacts with your touchpad. To change the sensitivity, and remove the annoying right-click area at the bottom of your touchpad, delete everything in the file and copy-and-paste the text below into the file exactly as it's shown. After doing so, make a backup of the file somewhere else on your computer, so that if your computer deletes the file, you will be able to easily recover it.

# 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 "FingerHigh" "5"
    Option "FingerLow" "5"
# 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

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

Now just reboot, and you should be all set! Your touchpad should now work just like it did in Chrome OS!

As for your touch screen, I have not had any experience in that area (my Chromebook is just a plain, old C720 running Ubuntu 14.04) so someone else will have to help you with that, unfortunately. Best of luck.