23

I've got a Dell 14R with touchscreen with Ubuntu 14.04. When I start Google Chrome by clicking the launcher with the TouchPad or with the Super+ combination, touch support in Chrome doesn't work. When I touch some element, it only gets focus, but doesn't activate the element (button, field, etc). And touch gestures don't work. In the other hand, if I start Chrome by touching the launcher button, touch scroll works in Chrome, even flicking to left does back to the previous page, etc. It doesn't makes sense to me, but is always like this, even across reboots. Anyone can confirm this? Any idea on how to fix?

  • I believe the repo version of Chromium has some support for touch screens. Try that instead. – saiarcot895 May 24 '14 at 14:24
  • Chrome has too, but in my case, only works if I start it by touching the unity launcher... – Luis Fernando P. Gonzalez May 25 '14 at 13:50
  • Ah, my bad. I misunderstood the question. – saiarcot895 May 25 '14 at 13:54
23

That problem could be solved for me with Chrome's --touch-devices command line parameter.

Determine X's input device id in a console by

xinput list

leading to

google-chrome --touch-devices=10

on my system.

To make Chrome always use this CLI flag, see: How to set CLI flags for Google Chrome?

  • 1
    Alex, would you mind explaining your solution a little more thoroughly. I'd like to try it but am a bit lost as to what you mean. How do I engage chrome's command line? – user298727 Jun 28 '14 at 20:44
  • 3
    @user298727 Open a console and run xinput list first. The command's reply gives you the touch screen's device id. Start Google Chrome by entering google-chrome --touch-devices=10 in that same console. The console is just the command line environment from which you call Chrome. Follow that link on how to open the console. Please note, that you have to start "terminal" or "gnome-terminal" depending on your os. – alex Jun 30 '14 at 7:18
  • 1
    Sorry, but I just now saw your answer. Worked perfectly – Luis Fernando P. Gonzalez Oct 11 '14 at 20:18
  • how do you make chrome run with that option every time? – NullVoxPopuli Nov 5 '14 at 19:30
  • there is this, but it's not perm: askubuntu.com/questions/78638/… – NullVoxPopuli Nov 5 '14 at 19:34
7

UPDATED Answer:

  1. Edit ~/.profile and add the following to the end of the file:

    export CHROMIUM_USER_FLAGS="--touch-devices=`echo $(xinput list | grep 'Virtual core pointer' | awk 'match(\$0, /id=/){print substr($0, RSTART+3, RLENGTH-1)}')` --touch-events=enabled --enable-pinch"
    
  2. Log out and then log back in.

  3. Start Google Chrome as normal

TIP: You may have to change "Virtual core pointer" string in the command above to the name of your "master pointer" touchscreen input device in the command above. Just use xinput command to find the name of your device.

NOTE: I am on Ubuntu 15.04 using /usr/bin/google-chrome-stable

OLD Answer:

I have Ubuntu 14.14. This worked for me:

  1. Make a shell script to start Google Chrome browser called start-chrome.sh.

    I put mine in: /usr/local/bin/start-chrome.sh

    Add the following to the file:

    #!/bin/bash
    /usr/bin/google-chrome-stable --touch-devices=$(xinput list | grep Touchscreen | awk 'match(\$0, /id=/){print substr($0, RSTART+3, RLENGTH)}') --touch-events=enabled --enable-pinch
    

    Basically, I am using the xinput list command and greping for "Touchscreen" and finding it's corresponding id. You may have to change "Touchscreen" to the name of your touchscreen input device in the command above.

  2. Edit /usr/share/applications/google-chrome.desktop. Find all occurrences of Exec=google-chrome-stable and replace it with Exec=start-chrome.sh

NOTE: I believe this solution will work until you update Google Chrome (via apt-get upgrade) and the google-chrome.desktop file is overwritten. You will need to follow step 2 above to fix it.

  • The updated fix worked like a charme ! Thank you. – ChosSimbaOne Jun 4 '15 at 20:46
  • You solutions is smarter than the others. But on 16.04 with the newest chome 50 (chromium 49) it is not working on my side. Two finger scrolling works, with one finger I always select the text. Any ideas what else can go wrong or what I could test? – user157697 Apr 30 '16 at 9:27
6

You could try enabling touch events under Chrome flags:

  1. Navigate to chrome://flags/#touch-events and set it to enabled
  2. Restart Chrome

Source:

https://github.com/EightMedia/hammer.js/wiki/How-to-fix-Chrome-35--and-IE10--scrolling-(touch-action)

  • 1
    I tried that approach as well before, but that didn't help on Ubuntu. – alex Oct 16 '14 at 13:29
  • 1
    Thank you very much! Works with Ubuntu 14.04 and Dell XPS 12 out of the box! – Julian Pieles Feb 26 '15 at 15:13

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.