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?
3 Answers
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?
UPDATED Answer:
Edit
~/.profileand 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"Log out and then log back in.
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:
Make a shell script to start Google Chrome browser called
start-chrome.sh.I put mine in:
/usr/local/bin/start-chrome.shAdd 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-pinchBasically, I am using the
xinput listcommand 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.Edit
/usr/share/applications/google-chrome.desktop. Find all occurrences ofExec=google-chrome-stableand replace it withExec=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.
- 216
You could try enabling touch events under Chrome flags:
- Navigate to
chrome://flags/#touch-eventsand set it to enabled - Restart Chrome
Source:
- 21,763