web-dev-qa-db-fra.com

Désactivation de "retour" pour un trackball Logitech

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

enter image description here

En utilisant instructions ici , j'ai 50-marblemouse.conf (xorg.conf) configuré de sorte que le maintien du bouton "Précédent" me laisse 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 "en attente" s'enregistre comme un clic sur "retour", ce qui est super gênant lorsque je navigue sur une page Web. Puis-je utiliser le bouton pour faire défiler mais désactiver le clic simple?

La solution de contournement habituelle semble être d'utiliser le bouton "Suivant" pour le défilement, car les clics sont pour la plupart inoffensifs, mais je trouve qu'il est beaucoup plus difficile de cliquer dessus avec l'annulaire que de cliquer sur le bouton Précédent.

9
jpatokal

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

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

1
crimsonspectre

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

Nous avons donc:

  • 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 la touche "Retour" avec le pouce, vous pouvez faire défiler dans les deux sens à l'aide de la balle, comme avec un pavé tactile.
1
ttoine

Je pense que l'option que vous cherchez est ButtonMapping. J'ai eu une fonctionnalité similaire ennuyante avec ma souris ( https://www.kensington.com/fr/no/4493/k72327eu/slimblade-trackball ), donc 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 xinput et vous pouvez simplement ajouter un script à vos "Applications de démarrage" au lieu de devoir modifier/etc/X11/et de 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 ce qui devrait être nécessaire si vous ne voulez pas utiliser de script de login pour le faire par utilisateur), bien que vous n’ayez peut-être pas besoin de cela 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 trouver ma solution (remplacez évidemment mon appareil par votre appareil à l'aide des commandes suivantes):

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

Voyez quelles propriétés sont supportées pour ce périphérique:

$ 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

Maintenant, essayons:

$ 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 fonctionne uniquement en mode de défilement automatique au lieu du comportement exaspérant du dos!

1
J Cole