¿Por qué el cursor del mouse salta cuando está en el borde derecho de la pantalla, provocando un comportamiento extraño en la aplicación (por ejemplo, eclipse)?

¿Por qué el cursor del mouse salta cuando está en el borde derecho de la pantalla, provocando un comportamiento extraño en la aplicación (por ejemplo, eclipse)?

Cuando muevo el mouse hacia el borde derecho de la pantalla, independientemente de la posición vertical al ingresar al borde derecho, salta a un punto aproximadamente un 25% hacia abajo desde la parte superior en el borde derecho de la pantalla.

Después de esto, noté un comportamiento extraño en Eclipse, donde los menús contextuales aparecen en el lugar equivocado (generalmente muy a la izquierda del cursor). El problema en Eclipse desaparece después de reiniciar Eclipse, pero vuelve a aparecer la primera vez que me muevo al borde derecho de la pantalla.

Mi sistema es Mageia 8, escritorio Plasma, tema Breeze, Linux 5.10.41, AMD64 (procesador Ryzen Threadripper 3960X de 24 núcleos), con dos GPU NVIDIA (GeForce RTX 2080 SUPER), con un monitor 4k conectado.

El salto del mouse siempre ocurre y es independiente de si Eclipse se está ejecutando.

Respuesta1

El problema se debe a que mi xorg.conf tenía dos pantallas configuradas, pero solo tenía un monitor conectado.

Aquí está mi xorg.conf original:

# 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

Si comento la segunda sección Screende la ServerLayoutsección y comento la Screendefinición de la segunda sección al final, el problema se resuelve (después de reiniciar). El mouse ya no salta en el borde y los menús contextuales de Eclipse siempre aparecen debajo del cursor.

Este archivo xorg.conf fue creado por el instalador del controlador NVIDIA.

Aquí está el nuevo archivo xorg.conf que funciona:

# 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

Respuesta2

Gracias por mostrar dónde buscar para corregir el cursor que cruza el borde derecho de la pantalla. Hay una solución simple: reemplace la RightOf "screen1"definición 0 0de pantalla2 dejando todo lo demás intacto. Puedes usar tu editor de texto favorito para hacer esto (yo uso gedit) pero recuerda que tienes que ser superusuario. El comando CLI es: $ sudo gedit /etc/X11/xorg.confluego buscar, reemplazar, guardar y reiniciar.

información relacionada