Linux
為什麼滑鼠游標在螢幕右邊緣會跳動,導致奇怪的應用程序行為(例如eclipse)?
當我將滑鼠移動到螢幕右邊緣時,無論進入右邊緣時的垂直位置如何,它都會跳到螢幕右邊緣頂部向下約 25% 的點。
在此之後,我注意到 Eclipse 中出現了奇怪的行為,上下文菜單在錯誤的位置彈出(通常在游標的左側很遠)。Eclipse 中的問題在重新啟動 Eclipse 後消失了,但在我第一次移動到螢幕的右邊緣時又出現了。
我的系統是 Mageia 8、Plasma 桌面、Breeze 主題、Linux 5.10.41、AMD64(Ryzen Threadripper 3960X 24 核處理器),帶有兩個 NVIDIA GPU(GeForce RTX 2080 SUPER),連接了一個 4k 顯示器。
滑鼠跳轉總是發生,並且與 Eclipse 是否正在執行無關。
這個問題是因為我的 xorg.conf 配置了兩個螢幕,但我只連接了一個監視器。
這是我原來的 xorg.conf:
# nvidia-xconfig: X configuration file generated by nvidia-xconfig # nvidia-xconfig: version 465.24.02 # File generated by XFdrake (rev 262502) # ********************************************************************** # Refer to the xorg.conf man page for details about the format of # this file. # ********************************************************************** Section "ServerLayout" #Option "Xinerama" Identifier "layout1" Screen "screen1" 0 0 Screen "screen2" RightOf "screen1" InputDevice "Keyboard0" "CoreKeyboard" InputDevice "Mouse0" "CorePointer" EndSection Section "Module" Load "v4l" # Video for Linux Load "glx" EndSection Section "ServerFlags" # allows the server to start up even if the mouse does not work #DontZoom # disable <Ctrl><Alt><KP_+>/<KP_-> (resolution switching) Option "allowmouseopenfail" Option "DontZap" "False" # disable <Ctrl><Alt><BS> (server abort) EndSection Section "InputDevice" # generated from data in "/etc/sysconfig/keyboard" Identifier "Keyboard0" Driver "kbd" Option "XkbLayout" "us" Option "XkbModel" "pc105" EndSection Section "InputDevice" # generated from default Identifier "Mouse0" Driver "mouse" Option "Protocol" "auto" Option "Device" "/dev/psaux" Option "Emulate3Buttons" "no" Option "ZAxisMapping" "4 5" EndSection Section "Monitor" # Apple iMac modes Identifier "monitor1" VendorName "Plug'n Play" ModeLine "1024x768" 78.525 1024 1049 1145 1312 768 769 772 800 +hsync +vsync ModeLine "800x600" 62.357 800 821 901 1040 600 601 604 632 +hsync +vsync ModeLine "640x480" 49.886 640 661 725 832 480 481 484 514 +hsync +vsync ModeLine "832x624" 57 832 876 940 1152 624 625 628 667 -hsync -vsync ModeLine "800x600" 100 800 816 824 840 600 616 624 640 -hsync -vsync ModeLine "1152x768" 78.741 1152 1173 1269 1440 768 769 772 800 +vsync ModeLine "1024x768" 65 1024 1032 1176 1344 768 771 777 806 -hsync -vsync ModeLine "1024x768" 65 1024 1048 1184 1344 768 771 777 806 -hsync -vsync ModeLine "1024x768" 112.62 1024 1076 1248 1420 768 768 780 808 +hsync +vsync ModeLine "1280x1024" 135 1280 1288 1392 1664 1024 1027 1030 1064 ModeLine "1280x1024" 134.989 1280 1317 1429 1688 1024 1025 1028 1066 +hsync +vsync ModeLine "768x576" 50.00 768 832 846 1000 576 590 595 630 ModeLine "768x576" 63.07 768 800 960 1024 576 578 590 616 EndSection Section "Monitor" # Apple iMac modes Identifier "monitor2" ModeLine "1024x768" 78.525 1024 1049 1145 1312 768 769 772 800 +hsync +vsync ModeLine "800x600" 62.357 800 821 901 1040 600 601 604 632 +hsync +vsync ModeLine "640x480" 49.886 640 661 725 832 480 481 484 514 +hsync +vsync ModeLine "832x624" 57 832 876 940 1152 624 625 628 667 -hsync -vsync ModeLine "800x600" 100 800 816 824 840 600 616 624 640 -hsync -vsync ModeLine "1152x768" 78.741 1152 1173 1269 1440 768 769 772 800 +vsync ModeLine "1024x768" 65 1024 1032 1176 1344 768 771 777 806 -hsync -vsync ModeLine "1024x768" 65 1024 1048 1184 1344 768 771 777 806 -hsync -vsync ModeLine "1024x768" 112.62 1024 1076 1248 1420 768 768 780 808 +hsync +vsync ModeLine "1280x1024" 135 1280 1288 1392 1664 1024 1027 1030 1064 ModeLine "1280x1024" 134.989 1280 1317 1429 1688 1024 1025 1028 1066 +hsync +vsync ModeLine "768x576" 50.00 768 832 846 1000 576 590 595 630 ModeLine "768x576" 63.07 768 800 960 1024 576 578 590 616 EndSection Section "Device" Identifier "device1" Driver "nvidia" VendorName "NVIDIA Corporation" BoardName "NVIDIA GeForce 635 series and later" BusID "PCI:33:0:0" Screen 0 EndSection Section "Device" Identifier "device2" Driver "nvidia" VendorName "NVIDIA Corporation" BoardName "NVIDIA GeForce 635 series and later" BusID "PCI:74:0:0" Screen 0 EndSection Section "Screen" Identifier "screen1" Device "device1" Monitor "monitor1" DefaultDepth 24 Option "DPMS" SubSection "Display" Depth 24 Modes "nvidia-auto-select" EndSubSection EndSection Section "Screen" Identifier "screen2" Device "device2" Monitor "monitor2" DefaultDepth 24 Option "DPMS" SubSection "Display" Depth 24 Modes "nvidia-auto-select" EndSubSection EndSection
如果我註釋掉該部分中的第二個
Screen
部分ServerLayout
,並在最後註釋掉第二個Screen
部分定義,則問題已解決(重新啟動後)。滑鼠不再跳到邊緣,Eclipse 上下文菜單總是在游標下彈出。此 xorg.conf 文件由 NVIDIA 驅動程序安裝程序創建。
這是有效的新 xorg.conf 文件:
# nvidia-xconfig: X configuration file generated by nvidia-xconfig # nvidia-xconfig: version 465.24.02 # File generated by XFdrake (rev 262502) # ********************************************************************** # Refer to the xorg.conf man page for details about the format of # this file. # ********************************************************************** Section "ServerLayout" #Option "Xinerama" Identifier "layout1" Screen "screen1" 0 0 # Screen "screen2" RightOf "screen1" InputDevice "Keyboard0" "CoreKeyboard" InputDevice "Mouse0" "CorePointer" EndSection Section "Module" Load "v4l" # Video for Linux Load "glx" EndSection Section "ServerFlags" # allows the server to start up even if the mouse does not work #DontZoom # disable <Ctrl><Alt><KP_+>/<KP_-> (resolution switching) Option "allowmouseopenfail" Option "DontZap" "False" # disable <Ctrl><Alt><BS> (server abort) EndSection Section "InputDevice" # generated from data in "/etc/sysconfig/keyboard" Identifier "Keyboard0" Driver "kbd" Option "XkbLayout" "us" Option "XkbModel" "pc105" EndSection Section "InputDevice" # generated from default Identifier "Mouse0" Driver "mouse" Option "Protocol" "auto" Option "Device" "/dev/psaux" Option "Emulate3Buttons" "no" Option "ZAxisMapping" "4 5" EndSection Section "Monitor" # Apple iMac modes Identifier "monitor1" VendorName "Plug'n Play" ModeLine "1024x768" 78.525 1024 1049 1145 1312 768 769 772 800 +hsync +vsync ModeLine "800x600" 62.357 800 821 901 1040 600 601 604 632 +hsync +vsync ModeLine "640x480" 49.886 640 661 725 832 480 481 484 514 +hsync +vsync ModeLine "832x624" 57 832 876 940 1152 624 625 628 667 -hsync -vsync ModeLine "800x600" 100 800 816 824 840 600 616 624 640 -hsync -vsync ModeLine "1152x768" 78.741 1152 1173 1269 1440 768 769 772 800 +vsync ModeLine "1024x768" 65 1024 1032 1176 1344 768 771 777 806 -hsync -vsync ModeLine "1024x768" 65 1024 1048 1184 1344 768 771 777 806 -hsync -vsync ModeLine "1024x768" 112.62 1024 1076 1248 1420 768 768 780 808 +hsync +vsync ModeLine "1280x1024" 135 1280 1288 1392 1664 1024 1027 1030 1064 ModeLine "1280x1024" 134.989 1280 1317 1429 1688 1024 1025 1028 1066 +hsync +vsync ModeLine "768x576" 50.00 768 832 846 1000 576 590 595 630 ModeLine "768x576" 63.07 768 800 960 1024 576 578 590 616 EndSection Section "Monitor" # Apple iMac modes Identifier "monitor2" ModeLine "1024x768" 78.525 1024 1049 1145 1312 768 769 772 800 +hsync +vsync ModeLine "800x600" 62.357 800 821 901 1040 600 601 604 632 +hsync +vsync ModeLine "640x480" 49.886 640 661 725 832 480 481 484 514 +hsync +vsync ModeLine "832x624" 57 832 876 940 1152 624 625 628 667 -hsync -vsync ModeLine "800x600" 100 800 816 824 840 600 616 624 640 -hsync -vsync ModeLine "1152x768" 78.741 1152 1173 1269 1440 768 769 772 800 +vsync ModeLine "1024x768" 65 1024 1032 1176 1344 768 771 777 806 -hsync -vsync ModeLine "1024x768" 65 1024 1048 1184 1344 768 771 777 806 -hsync -vsync ModeLine "1024x768" 112.62 1024 1076 1248 1420 768 768 780 808 +hsync +vsync ModeLine "1280x1024" 135 1280 1288 1392 1664 1024 1027 1030 1064 ModeLine "1280x1024" 134.989 1280 1317 1429 1688 1024 1025 1028 1066 +hsync +vsync ModeLine "768x576" 50.00 768 832 846 1000 576 590 595 630 ModeLine "768x576" 63.07 768 800 960 1024 576 578 590 616 EndSection Section "Device" Identifier "device1" Driver "nvidia" VendorName "NVIDIA Corporation" BoardName "NVIDIA GeForce 635 series and later" BusID "PCI:33:0:0" Screen 0 EndSection Section "Device" Identifier "device2" Driver "nvidia" VendorName "NVIDIA Corporation" BoardName "NVIDIA GeForce 635 series and later" BusID "PCI:74:0:0" Screen 0 EndSection Section "Screen" Identifier "screen1" Device "device1" Monitor "monitor1" DefaultDepth 24 Option "DPMS" SubSection "Display" Depth 24 Modes "nvidia-auto-select" EndSubSection EndSection #Section "Screen" # Identifier "screen2" # Device "device2" # Monitor "monitor2" # DefaultDepth 24 # Option "DPMS" # SubSection "Display" # Depth 24 # Modes "nvidia-auto-select" # EndSubSection #EndSection