鼠标滚轮滚动忽略第一次滚动

鼠标滚轮滚动忽略第一次滚动

我在 Windows 7 中的 VirtualBox 中安装了 Ubuntu 15.10,到目前为止,除了一件让我抓狂的小事外,一切都运行正常。

它发生在 gnome 应用程序中,例如 gedit 和 synaptic,但不会发生在 xfce4-terminal 之类的应用程序中(我可以使用鼠标滚轮滚动缓冲区)。

问题是在 gnome 应用程序中单击鼠标左键后,第一个滚轮向上/向下激活功能已丢失并且只有从第二次向上/向下激活滚动时才会真正发生。这感觉滚动不可靠也不准确,所以我真的很想摆脱它。

我认为使用 VirtualBox 不是问题,因为在 xfce4 终端中不会发生这种情况,并且我将鼠标配置为模拟 PS/2 鼠标,而不是触摸板。但是我认为 gnome 的这种行为可能是由于某些默认设置,这些默认设置被认为是触摸板的良好默认设置,可以防止意外滚动或类似情况。

我在 ubuntu 鼠标设置或 xfce4 鼠标设置中没有找到任何可以更改此行为的选项,并且在 gconf-editor 或 dconf-editor 中搜索选项时也没有找到任何有用的东西。

答案1

我通过使用 imwheel 解决了这个问题,只需将其放入~/.imwheelrc

".*"
Control_L, Up,   Control_L|Button4
Control_L, Down, Control_L|Button5
Shift_L,   Up,   Shift_L|Button4
Shift_L,   Down, Shift_L|Button5

然后运行imwheel -b "45"

PS:它不会改变任何应用程序的滚动速度。

答案2

这是使用 Gnome+Xorg 时发生的一个已知错误。我在本机运行的 gnome 3.32 Arch 中遇到了同样的问题。

暂时可以改用wayland来解决问题。

我听说 libinput 可能是原因,但切换到 evdev 后问题仍然存在。

答案3

还有另一种解决方法:

首先,将这一行添加到你的 .bashrc/.zshrc

export GDK_CORE_DEVICE_EVENTS=1

然后添加这个启动参数

--disable-high-precision-scrolling

所有基于铬的应用程序,即所有电子应用程序

答案4

这仍然是一个未解决的错误,但有一个解决方案...英语不是我的母语,但我会尽力。

https://wiki.archlinux.org/title/IMWheel

  1. 首先安装 imwheel,根据你的发行版,安装会有所不同,对于 ubuntu:
sudo apt install imwheel
  1. 在您的主目录中创建一个包含以下内容的 .imwheelrc 文件,这是用于鼠标的后退和前进按钮:
".*"
None, Thumb1, Alt_L|Left
None, Thumb2, Alt_L|Right
  1. 然后,你需要启动 imwheel:
imwheel
  1. 为了使 imwheel 在启动时运行,请在 /etc/profile.d/ 中创建一个 startup.sh 脚本,其内容如下:
#!/bin/sh
imwheel

可选,(我还没有尝试过),你可以killall imwheel在连接或断开鼠标时启动或停止 imwheel(): 当检测到 I/O 时运行脚本

相关内容