当前位置: 首页>>技术教程>>正文


Chrome +触摸屏+ Unity(14.04)

, ,

问题描述

我有一个带有Ubuntu 14.04触摸屏的Dell 14R。当我通过单击带有TouchPad或Super +组合的启动器来启动Google Chrome时,Chrome中的触摸支持不起作用。当我触摸某个元素时,它只会获得焦点,而不会激活该元素(按钮,字段等)。而且触摸手势不起作用。另一方面,如果我通过触摸启动器按钮启动Chrome,则触摸滚动在Chrome中有效,即使向左滑动也可以返回上一页,依此类推。这对我来说没有意义,但即使这样也是如此跨重新启动。任何人都可以确认吗?关于如何解决的任何想法?

最佳办法

Chrome的--touch-devices命令行参数可以为我解决该问题。

在控制台中确定X的输入设备ID

xinput list

导致

google-chrome --touch-devices=10

在我的系统上。

要使Chrome始终使用此CLI标志,请参阅:How to set CLI flags for Google Chrome?

次佳办法

更新答案:

  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

提示:您可能必须在上面的命令中将上面命令中的“虚拟核心指针”字符串更改为”master pointer”触摸屏输入设备的名称。只需使用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命令并为”Touchscreen”进行搜索,并找到它的对应ID。您可能需要在上面的命令中将”Touchscreen”更改为触摸屏输入设备的名称。

  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)

参考资料

本文由Ubuntu问答整理, 博文地址: https://ubuntuqa.com/article/10998.html,未经允许,请勿转载。