我有一台带触摸屏的 Dell 14R,装有 Ubuntu 14.04。当我使用 TouchPad 或 Super+ 组合单击启动器来启动 Google Chrome 时,Chrome 中的触摸支持不起作用。当我触摸某些元素时,它只会获得焦点,但不会激活元素(按钮、字段等)。触摸手势不起作用。另一方面,如果我通过触摸启动器按钮来启动 Chrome,Chrome 中的触摸滚动功能可以正常工作,甚至向左轻拂也可以返回上一页,等等。这对我来说毫无意义,但总是这样,即使重启后也是如此。有人可以确认这一点吗?有什么解决方法吗?
答案1
--touch-devices
使用 Chrome 的命令行参数可以为我解决该问题。
通过以下方式确定控制台中 X 的输入设备 ID:
xinput list
导致
google-chrome --touch-devices=10
在我的系统上。
要使 Chrome 始终使用此 CLI 标志,请参阅: 如何为 Google Chrome 设置 CLI 标志?
答案2
更新答案:
编辑
~/.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
命令即可找到设备的名称。
笔记:我在 Ubuntu 15.04 上使用/usr/bin/google-chrome-stable
旧答案:
我有 Ubuntu 14.14。这对我有用:
编写一个名为 的 shell 脚本来启动 Google Chrome 浏览器
start-chrome.sh
。我把我的放进去了:
/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
命令并搜索“触摸屏”并找到其对应的 ID。您可能需要在上面的命令中将“触摸屏”更改为触摸屏输入设备的名称。编辑
/usr/share/applications/google-chrome.desktop
。查找所有出现的Exec=google-chrome-stable
并将其替换为Exec=start-chrome.sh
笔记:我相信这个解决方案会一直有效,直到你更新 Google Chrome(通过apt-get upgrade
)并且google-chrome.desktop
文件被覆盖。你需要按照上面的步骤 2 来修复它。
答案3
您可以尝试在 Chrome 标志下启用触摸事件:
- 导航到
chrome://flags/#touch-events
并将其设置为启用 - 重启 Chrome
来源: