Когда я перемещаю мышь к правому краю экрана, независимо от вертикального положения при входе в правый край, она перескакивает в точку примерно на 25% ниже верха у правого края экрана.
После этого я заметил странное поведение в Eclipse, где контекстные меню появляются не в том месте (обычно далеко слева от курсора). Проблема в Eclipse исчезает после перезапуска Eclipse, но возвращается снова, когда я в первый раз перемещаюсь к правому краю экрана.
Моя система — Mageia 8, рабочий стол Plasma, тема Breeze, Linux 5.10.41, AMD64 (24-ядерный процессор Ryzen Threadripper 3960X), два графических процессора NVIDIA (GeForce RTX 2080 SUPER) и один подключенный монитор 4K.
Прыжок мыши происходит всегда и не зависит от того, запущен ли Eclipse.
решение1
Проблема возникла из-за того, что в моем 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
решение2
Спасибо, что показали, где искать, чтобы исправить курсор, пересекающий правый край экрана. Есть простое решение: замените на RightOf "screen1"
в 0 0
определении screen2, оставив все остальное нетронутым. Вы можете использовать свой любимый текстовый редактор, чтобы сделать это (я использую gedit), но помните, что вы должны быть суперпользователем. Команда CLI:
$ sudo gedit /etc/X11/xorg.conf
затем найти, заменить, сохранить и перезагрузить.