Désactiver le «retour» pour un trackball Logitech

9

J'ai un trackball Logitech Marble Mouse avec quatre boutons:

entrez la description de l'image ici

En utilisant les instructions ici , j'ai 50-marblemouse.conf(xorg.conf) configuré pour que le maintien du bouton "retour" me permette de faire défiler:

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

Cependant, parfois "tenir" s'inscrit comme un clic sur "retour", ce qui est super ennuyeux lorsque je navigue sur une page Web. Existe-t-il un moyen d'utiliser le bouton pour faire défiler mais désactiver le simple clic?

La solution de contournement habituelle semble être d'utiliser le bouton "avant" pour le défilement, car les clics dessus sont pour la plupart inoffensifs, mais je trouve qu'il est beaucoup plus gênant de cliquer dessus avec mon annulaire que de cliquer sur le bouton arrière.

lambshaanxy
la source
Avez-vous déjà résolu cela?
Revetahw dit Reinstate Monica
Je vous en prie. Voyons voir si ça fait quelque chose, beaucoup de questions restent sans réponse ici.
Revetahw dit Reinstate Monica
Est-ce que l'une des réponses vous a aidé? J'ai besoin d'attribuer la prime ou de la laisser partir.
Revetahw dit Reinstate Monica
@Fiksdal Je voyage cette semaine et je n'ai pas accès à mon bureau, donc je n'ai pas pu les essayer ... J.Cole semble le plus prometteur.
lambshaanxy
Bien. Aucun problème.
Revetahw dit Reinstate Monica

Réponses:

2

Je pense que l'option que vous recherchez est ButtonMapping. J'avais une fonctionnalité ennuyeuse similaire avec ma souris ( https://www.kensington.com/en/no/4493/k72327eu/slimblade-trackball ), alors j'ai compris cela il y a quelque temps.

L'option "EmulateWheelButton" devrait toujours fonctionner même si vous désactivez le bouton ou réaffectez le mappage ...

Maintenant, je n'ai testé cela qu'avec xinput sur evdev. Il est beaucoup plus rapide d'essayer les choses avec xinput, puis vous pouvez simplement ajouter un script à vos "applications de démarrage" au lieu de devoir modifier / etc / X11 / et redémarrer X encore et encore.

Donc, cela devrait être tout ce dont vous avez besoin dans xorg.d / mouse.conf (les lignes commentées sont celles qui devraient être nécessaires si vous ne voulez pas utiliser un script de connexion pour le faire par utilisateur), bien que vous n'en ayez peut-être pas besoin à tout si vous utilisez 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

Voici ce que j'ai fait pour comprendre ma solution (remplacez mon appareil par votre appareil dans les commandes suivantes évidemment):

Afficher les appareils:

$ 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)]

Découvrez les propriétés prises en charge pour cet appareil:

$ 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

Essayons maintenant:

$ 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

Maintenant, mon bouton en haut à droite ne fonctionne que comme défilement automatique au lieu du comportement exaspérant du dos!

J Cole
la source
1

Voici ma configuration pour ce très bon trackball, sur Ubuntu, en 2009. J'espère que cela fonctionne toujours, peut-être aurez-vous quelques différences avec "Driver" et "Device". Cependant, les options des boutons doivent être les mêmes.

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

Donc nous avons:

  • Le 3ème bouton est sur "Forward" (9), très pratique.
  • la roue d'émulation est sur "Retour" (8)
  • notez que j'ai défini les axes X et Y, ce qui signifie que lorsque vous appuyez sur "Retour" avec le pouce, vous pouvez faire défiler dans les deux directions en utilisant le ballon, comme avec un pavé tactile.
ttoine
la source
0

En utilisant les "Exemple de configuration # 3, renoncez aux instructions du bouton" Précédent "" fournies par votre lien , vous pouvez remapper le bouton Précédent pour qu'il soit plus inoffensif, tel qu'un clic droit de la souris.

Je ne sais pas exactement comment vous fusionnez cela avec votre fichier de configuration ci-dessus.

crimsonspectre
la source