Chrome +触摸屏+ Unity(14.04)
我有一台带有Ubuntu 14.04触摸屏的戴尔14R。 当我使用触摸板或Super +组合点击启动器启动Google Chrome时,触摸Chrome中的支持function无效。 当我触摸某个元素时,它只会获得焦点,但不会激活元素(按钮,字段等)。 并且触摸手势不起作用。 另一方面,如果我通过触摸启动器按钮启动Chrome,则触摸滚动可以在Chrome中运行,甚至向左轻拂也可以返回到上一页等。这对我来说没有意义,但总是这样,甚至重新启动。 有谁可以证实这一点? 有关如何修复的任何想法?
使用Chrome的--touch-devices
命令行参数可以解决这个问题。
在控制台中确定X的输入设备ID
xinput list
导致
google-chrome --touch-devices=10
在我的系统上。
要使Chrome始终使用此CLI标记,请参阅: 如何为Google Chrome设置CLI标记?
更新答案:
-
编辑
~/.profile
并将以下内容添加到文件末尾: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"
-
注销然后重新登录。
-
正常启动Google Chrome
提示 :您可能必须在上面的命令中将“虚拟核心指针”字符串更改为上面命令中“主指针”触摸屏输入设备的名称。 只需使用xinput
命令查找设备名称即可。
注意 :我使用/usr/bin/google-chrome-stable
在Ubuntu 15.04上
老答案:
我有Ubuntu 14.14。 这对我有用:
-
制作一个shell脚本来启动名为
start-chrome.sh
Google Chrome浏览器。我把我放在:
/usr/local/bin/start-chrome.sh
将以下内容添加到文件中:
#!/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
基本上,我使用
xinput list
命令和greping“触摸屏”并找到它的相应id。 您可能需要在上面的命令中将“触摸屏”更改为触摸屏输入设备的名称。 -
编辑
/usr/share/applications/google-chrome.desktop
。 查找所有出现的Exec=google-chrome-stable
并将其替换为Exec=start-chrome.sh
注意 :我相信此解决方案将一直有效,直到您更新Google Chrome(通过apt-get upgrade
)并覆盖google-chrome.desktop
文件。 您需要按照上面的步骤2进行修复。
您可以尝试在Chrome标记下启用触摸事件:
- 导航到
chrome://flags/#touch-events
并将其设置为启用 - 重启Chrome
资源:
https://github.com/EightMedia/hammer.js/wiki/How-to-fix-Chrome-35–and-IE10–scrolling-(touch-action)