Chrome 用两根手指滚动然后右键单击

Chrome 用两根手指滚动然后右键单击

我的 Chrome 触摸板出了问题。每当我用两根手指滚动一小段时间(大约 1 秒,我想,很难计时)时,就会出现右键单击菜单。如果我将手指放在触摸板上的时间更长,即使我不滚动,也不会发生右键单击。

你可以想象这非常令人沮丧,因为 1 秒的滚动时间出奇地长,而且我发现自己每次滚动时都右键单击,这非常烦人。

系统详细信息:

  • 戴尔 XPS13 2015
  • Ubuntu Gnome 15.04
  • 3.19.0-25-通用
  • Chrome 版本 45.0.2454.15 测试版(64 位)

答案1

我在 Chrome 中也遇到了同样的问题。
您可以使用50-synaptics.conf配置文件解决此问题:

wget http://hgdev.co/wp-content/uploads/50-synaptics.conf
sudo mkdir /etc/X11/xorg.conf.d
sudo cp 50-synaptics.conf /etc/X11/xorg.conf.d/

您还可以手动编辑此配置文件以更好地适应您的偏好。Arch Wiki 页面Synatics 触控板对此会很有帮助。

答案2

您可以按照以下步骤解决双指滚动问题:

  • 打开一个终端(shell)窗口。

  • 运行以下命令以成为 root(超级用户)。成为 root 很重要,因为全部下面的 shell 命令必须由超级用户(显然,除了第一个以外):

    sudo su
    
  • 运行以下命令下载标准 Linux 触摸板配置文件50-synaptics.conf

    wget http://hgdev.co/wp-content/uploads/50-synaptics.conf
    
  • 运行以下命令来创建文件夹配置文件目录代替/etc/X11/

    mkdir /etc/X11/xorg.conf.d
    
  • 现在运行下面的命令来移动配置文件50-synaptics.conf进入/etc/X11/xorg.conf.d/

    mv 50-synaptics.conf /etc/X11/xorg.conf.d/
    
  • 重启你的电脑。

如果你在 Chrome/Chromium 浏览器(或任何其他 WebKit/Blink 引擎浏览器,或其他任何地方)中仍然遇到滚动后无法右键单击的问题,请激活滑行启用滑行功能后,在两根手指从点击板上松开后,滚动仍会继续一段时间。滑行功能会导致 Synaptics 输入驱动程序在一段时间内过于忙碌(不可用),因此在您松开点击板后,它将无法尝试任何未经请求的右键单击。

  • 为了激活 Coasting,首先你必须打开一个 shell 终端窗口,成为 root 权限,然后运行下面的命令来打开配置文件50-synaptics.conf对于版本(不要忘记你总是必须为了正确执行这些命令中的任何一个):

    gedit /etc/X11/xorg.conf.d/50-synaptics.conf
    
    • 如果您没有 Gedit,可以使用以下命令安装:

      apt-get install gedit
      
  • 或者,如果您没有 Gedit 但有 Mousepad,只需运行此命令:

    mousepad /etc/X11/xorg.conf.d/50-synaptics.conf
    
    • Mousepad 是一款不错的 Gedit 替代品。如果你还没有安装,我建议使用以下命令安装它:

      apt-get install mousepad
      
  • 通过将“CoastingSpeed”参数设置为非零数字来启用滑行。“CoastingSpeed”设置您每秒必须执行的最小滚动次数以开始滑行。默认值为 20,这应该可以防止您无意中开始滑行。数字越大,开始滑行就越困难。0 禁用滑行。以下是建议添加到您的配置50-synaptics.conf文件(右下方)选项“EmulateTwoFingerMinW”“8”,请删除#Option "CoastingSpeed" "0"然后将下面的文本粘贴到其位置):

    # Starts coasting when the user performs 20 scrolls per second (or more):
    
    Option "CoastingSpeed" "20"
    
    # Disables corner coasting, thus making coasting available on the entire area of the clickpad (instead of only on the right corner).
    
    Option "CornerCoasting" "0"
    
  • 另外,添加“CoastingFriction”选项。它设置要应用的滚动次数/秒²,以降低滑行速度直至停止。默认值为 50。数字越大,滑行事件停止得越快:

    # "CoastingFriction" sets the number of scrolls/second² at which the coasting speed decreases (deceleration) until coasting stops. Default value is 50. The bigger the number, the faster the coasting event will stop.
    
    Option "CoastingFriction" "50"
    
  • 现在保存文件并退出 Gedit/Mousepad。

  • 重启电脑。现在一切都正常了。


如果你有传统触摸板,上述解决方案就足够了。但是,如果你有点击板(无按钮触摸板),您可能会遇到第二个问题:双指滚动问题已解决,但现在botton 右键点击按钮模拟可能已停止工作。在这种情况下,您仍然可以使用双指点击(其行为类似于右键单击),但仅此而已,不再需要通过按下点击板的右下角来右键单击。

  • 为了解决第二个问题,请返回 shell 终端窗口,再次成为 root 并使用 Gedit/Mousepad 打开配置文件50-synaptics.conf再次查看版本,然后转到以下部分:

    Identifier "Ignore clickpad buttons"
    MatchDriver "synaptics"
    Option "SoftButtonAreas" "0 0 0 0 0 0 0 0"
    

    ...并修改文本,使其变成这样:

    Identifier "Enable clickpad buttons"
    MatchDriver "synaptics"
    Option "SoftButtonAreas" "60% 0 82% 0 40% 59% 82% 0"
    
  • 现在保存文件并退出 Gedit/Mousepad。

  • 重启电脑。现在一切都正常了。

  • 如果您仍然遇到右键、中键和/或左键问题,请再次打开 shell 终端窗口,再次成为 root/超级用户,然后打开50-synaptics.conf对于版本,并确保文件中存在以下选项并且它们的配置如下所示:

    # Interprets 1-finger click/tap as "left button click", 2-fingers click/tap as "right button click" and 3-fingers click/tap as "middle button click":
    
    Option "TapButton1" "1"
    Option "TapButton2" "3"
    Option "TapButton3" "2"
    
    Option "ClickFinger1" "1"
    Option "ClickFinger2" "3"
    Option "ClickFinger3" "2"
    
    # Enables "right button click" in the right botton of the touchpad/clickpad:
    Option "RBCornerButton" "3"
    
  • 现在保存文件并退出 Gedit/Mousepad。

  • 重启电脑。现在一切都正常了。

答案3

我没有足够的声誉来评论:( 潜水很久了,但是我只是最近开始遇到这个问题。它只发生在 Chrome 中(但奇怪的是,在 Chromium 中没有发生)。

编辑:我运行的系统和你一样(XPS 13 2015),可以解决这个问题,但只能通过禁用触摸屏。你可以通过检查xinput并执行xinput disable 10(或id你获得的任何操作ELAN Touchscreen)来访问它。

相关内容