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标记?

更新答案:

  1. 编辑~/.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" 
  2. 注销然后重新登录。

  3. 正常启动Google Chrome

提示 :您可能必须在上面的命令中将“虚拟核心指针”字符串更改为上面命令中“主指针”触摸屏输入设备的名称。 只需使用xinput命令查找设备名称即可。

注意 :我使用/usr/bin/google-chrome-stable在Ubuntu 15.04上

老答案:

我有Ubuntu 14.14。 这对我有用:

  1. 制作一个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。 您可能需要在上面的命令中将“触摸屏”更改为触摸屏输入设备的名称。

  2. 编辑/usr/share/applications/google-chrome.desktop 。 查找所有出现的Exec=google-chrome-stable并将其替换为Exec=start-chrome.sh

注意 :我相信此解决方案将一直有效,直到您更新Google Chrome(通过apt-get upgrade )并覆盖google-chrome.desktop文件。 您需要按照上面的步骤2进行修复。

您可以尝试在Chrome标记下启用触摸事件:

  1. 导航到chrome://flags/#touch-events并将其设置为启用
  2. 重启Chrome

资源:

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