移動滑鼠時無法滾動-Win10上的Fedora 28 VM guest
我在這裡問我的問題之前已經搜尋了一段時間,但仍然找不到任何答案。
我注意到滑鼠滾動在 Linux 上的處理通常很差(也許只是 Gnome )。
我在 Windows 10 主機下的 VirtualBox VM 上執行我的 Fedora 28。我注意到當滑鼠不動時使用滑鼠滾輪滾動效果很好,但是每當我開始移動它時,滾動根本不起作用,直到滑鼠再次不動。
你們中有人知道如何使它在移動滑鼠時也能正常工作嗎?我是否缺少一些配置或其他東西?
我必須承認我不是一個可靠的 Linux 使用者,而且我對外圍設備配置知之甚少。
我發現了這個執行緒 https://bbs.archlinux.org/viewtopic.php?id=223470
基本上,如果我
xev | grep -e "ButtonPress" -e "ButtonRelease"
在滾動時執行並將滑鼠移到視窗上,我可以清楚地看到事件,這意味著這是桌面環境/視窗管理器問題。人們在這裡討論更多關於這個問題https://gitlab.freedesktop.org/xorg/driver/xf86-input-libinput/issues/9
如果我只是
firefox
從終端啟動,我會在移動滑鼠時遇到滾動事件被忽略,但如果我這樣做,GDK_CORE_DEVICE_EVENTS=1 firefox
那麼一切都會按預期工作。https://forums.virtualbox.org/viewtopic.php?f=3&t=79002&start=15的文章包含來自 bugmenot 使用者的更有趣的回复:
執行
xinput
應該顯示 X 認為正在發送事件的設備:$ xinput ⎡ Virtual core pointer id=2 [master pointer (3)] ⎜ ↳ Virtual core XTEST pointer id=4 [slave pointer (2)] ⎜ ↳ VirtualBox mouse integration id=9 [slave pointer (2)] ⎜ ↳ VirtualBox USB Tablet id=10 [slave pointer (2)] ⎜ ↳ ImExPS/2 Generic Explorer Mouse id=12 [slave pointer (2)] ⎣ Virtual core keyboard id=3 [master keyboard (2)] ↳ Virtual core XTEST keyboard id=5 [slave keyboard (3)] ↳ Power Button id=6 [slave keyboard (3)] ↳ Sleep Button id=7 [slave keyboard (3)] ↳ Video Bus id=8 [slave keyboard (3)] ↳ AT Translated Set 2 keyboard id=11 [slave keyboard (3)]
VirtualBox mouse integration
顯然,滑鼠事件在設備和設備之間進行了劃分VirtualBox USB Tablet
。其中一個接收移動事件,而另一個接收滾動事件。在某些應用程序中,一旦一個事件源啟動,另一個事件源就會被忽略。解決方案是暫時禁用
VirtualBox mouse integration
(我上面的列表中的 id=9)xinput disable 9
或完全通過添加文件,例如
/usr/share/X11/xorg.conf.d/50-vbox-mouse-fix.conf
:Section "InputClass" Identifier "Fix VBox scroll wheel" MatchProduct "VirtualBox mouse integration" Option "Ignore" "on" EndSection
(
MatchProduct
指令正是從 輸出的字元串xinput
)。