Deshabilitar "volver" para un trackball Logitech

9

Tengo un trackball Logitech Marble Mouse con cuatro botones:

ingrese la descripción de la imagen aquí

Usando las instrucciones aquí , tengo 50-marblemouse.conf(xorg.conf) configurado para que mantener presionado el botón "atrás" me permita desplazarme:

Section "InputClass"
        Identifier  "Marble Mouse"
        MatchProduct "Logitech USB Trackball"
        MatchIsPointer "on"
        MatchDevicePath "/dev/input/event*"
        Driver "evdev"
        Option "EmulateWheel" "true"
        Option "EmulateWheelButton" "8"
EndSection

Sin embargo, a veces "mantener" se registra como un clic en "volver", lo cual es muy molesto cuando estoy navegando por una página web. ¿Hay alguna forma de usar el botón para desplazarme pero deshabilitar un solo clic?

La solución habitual parece ser el uso del botón "adelante" para desplazarse, ya que los clics son inofensivos, pero encuentro que hacer clic con el dedo anular es mucho más incómodo que presionar el botón Atrás.

lambshaanxy
fuente
¿Alguna vez resolviste esto?
Revetahw dice Reinstate Monica
De nada. Veamos si hace algo, muchas preguntas quedan sin respuesta aquí.
Revetahw dice Reinstate Monica
¿Alguna de las respuestas te ayudó? Necesito otorgar la recompensa o dejarla ir.
Revetahw dice Reinstate Monica el
@Fiksdal Estoy viajando esta semana y no tengo acceso a mi escritorio, así que no he podido probarlos ... J.Cole's parece el más prometedor.
lambshaanxy
Bien. No hay problema.
Revetahw dice Reinstate Monica el

Respuestas:

2

Creo que la opción que estás buscando es ButtonMapping. Tenía una característica molesta similar con mi mouse ( https://www.kensington.com/en/no/4493/k72327eu/slimblade-trackball ), así que descubrí esto hace un tiempo.

La opción "EmulateWheelButton" aún debería funcionar incluso si deshabilita el botón o reasigna la asignación ...

Ahora, solo he probado esto con xinput en evdev. Es mucho más rápido probar cosas con xinput y luego puede agregar un script a sus "Aplicaciones de inicio" en lugar de tener que modificar / etc / X11 / y reiniciar X una y otra vez.

Por lo tanto, esto debería ser todo lo que necesita en xorg.d / mouse.conf (las líneas comentadas son lo que debe necesitar si no desea utilizar un script de inicio de sesión para hacer esto por usuario), aunque es posible que no lo necesite en todo si usas xinput:

Section "InputDevice"
    Identifier  "Configured Mouse"
    Driver    "evdev"
    Option    "Device"                "/dev/input/mice"
    Option    "Protocol"              "auto"
    #Option    "EmulateWheel"          "1"
    #Option    "EmulateWheelButton"    "8"
    #Option    "ButtonMapping"        "1 2 3 4 5 6 7 0 9 10 11 12"
EndSection

Esto es lo que hice para descubrir mi solución (reemplazar mi dispositivo con su dispositivo en los siguientes comandos, obviamente):

Mostrar dispositivos:

$ xinput list
Virtual core pointer                        id=2    [master pointer  (3)]
  ↳ Virtual core XTEST pointer                  id=4    [slave  pointer  (2)]
  ↳ ELAN Touchscreen                            id=11   [slave  pointer  (2)]
  ↳ SynPS/2 Synaptics TouchPad                  id=13   [slave  pointer  (2)]
  ↳ Kensington Kensington Slimblade Trackball   id=18   [slave  pointer  (2)]

Vea qué propiedades son compatibles con ese dispositivo:

$ xinput list-props "Kensington Kensington Slimblade Trackball"
Device 'Kensington Kensington Slimblade Trackball':
    Device Enabled (142):        1
    Coordinate Transformation Matrix (144):        1.000000, 0.000000, 0.000000, 0.000000, 1.000000, 0.000000, 0.000000, 0.000000, 1.000000
    Device Accel Profile (273):        0
    Device Accel Constant Deceleration (274):        1.000000
    Device Accel Adaptive Deceleration (275):        1.000000
    Device Accel Velocity Scaling (276):        10.000000
    Device Product ID (260):        1149, 8257
    Device Node (261):        "/dev/input/event17"
    Evdev Axis Inversion (277):        0, 0
    Evdev Axes Swap (279):        0
    Axis Labels (280):        "Rel X" (152), "Rel Y" (153), "Rel Vert Wheel" (573)
    Button Labels (281):        "Button Left" (145), "Button Middle" (146), "Button Right" (147), "Button Wheel Up" (148), "Button Wheel Down" (149), "Button Horiz Wheel Left" (150), "Button Horiz Wheel Right" (151), "Button Side" (679), "Button Unknown" (263), "Button Unknown" (263), "Button Unknown" (263), "Button Unknown" (263)
    Evdev Scrolling Distance (282):        1, 1, 1
    Evdev Middle Button Emulation (283):        0
    Evdev Middle Button Timeout (284):        50
    Evdev Third Button Emulation (285):        0
    Evdev Third Button Emulation Timeout (286):        1000
    Evdev Third Button Emulation Button (287):        3
    Evdev Third Button Emulation Threshold (288):        20
    Evdev Wheel Emulation (289):        1
    Evdev Wheel Emulation Axes (290):        0, 0, 4, 5
    Evdev Wheel Emulation Inertia (291):        10
    Evdev Wheel Emulation Timeout (292):        200
    Evdev Wheel Emulation Button (293):        8
    Evdev Drag Lock Buttons (294):        0

Ahora vamos a intentarlo:

$ xinput set-button-map "Kensington Kensington Slimblade Trackball" 1 2 3 4 5 6 7 0 9 10 11 12
$ xinput set-prop "Kensington Kensington Slimblade Trackball" "Evdev Wheel Emulation" 1
$ xinput set-prop "Kensington Kensington Slimblade Trackball" "Evdev Wheel Emulation Button" 8

¡Ahora mi botón superior derecho solo funciona como desplazamiento automático en lugar del comportamiento exasperante!

J Cole
fuente
1

Aquí está mi configuración para este muy buen trackball, en Ubuntu, en 2009. Espero que esto todavía funcione, tal vez tenga algunas diferencias con "Driver" y "Device". Sin embargo, las opciones de los botones deben ser las mismas.

Code: Section "InputDevice"
Identifier    "Marble Mouse"
Driver        "mouse"
Option        "CorePointer"
Option        "Device"   "/dev/input/mice"
Option        "Protocol"        "ExplorerPS/2"
Option        "Emulate3Buttons"    "true"
Option        "Buttons"        "9"
Option        "EmulateWheel"        "1"
Option        "EmulateWheelButton"    "8"
Option        "YAxisMapping"        "4 5"
Option        "XAxisMapping"        "6 7"
EndSection

Entonces tenemos:

  • El tercer botón está en "Adelante" (9), muy conveniente.
  • la rueda de emulación está en "Atrás" (8)
  • tenga en cuenta que definí los ejes X e Y, lo que significa que al presionar "Atrás" con el pulgar, puede desplazarse en ambas direcciones con la pelota, como con un panel táctil.
ttoine
fuente
0

Usando la "Configuración de ejemplo # 3, renuncie a las instrucciones del botón" Atrás "proporcionadas por su enlace , podría reasignar el botón Atrás para que sea algo más inofensivo, como hacer clic con el botón derecho del mouse.

Sin embargo, no sé exactamente cómo fusionar eso con su archivo de configuración anterior.

espectro carmesí
fuente