web-dev-qa-db-fra.com

Comment puis-je changer le keymapping de la souris

J'ai Razer DeathAdder (édition pour gaucher) et une souris sans fil A4Tech. Mon problème est que je ne sais pas comment changer le keymapping de la souris sans fil (permuter un clic gauche/droit). Quelqu'un peut me guider comment faire une telle chose?

Liste de mes appareils:

⎡ Virtual core pointer                       id=2    [master pointer  (3)]
⎜   ↳ Virtual core XTEST pointer                id=4    [slave  pointer  (2)]
⎜   ↳ Logitech Unifying Device. Wireless PID:4004   id=8    [slave  pointer  (2)]
⎜   ↳ Razer Razer DeathAdder                    id=11   [slave  pointer  (2)]
⎜   ↳ A4TECH USB Device                         id=12   [slave  pointer  (2)]
⎜   ↳ A4TECH USB Device                         id=13   [slave  pointer  (2)]
⎣ Virtual core keyboard                     id=3    [master keyboard (2)]
    ↳ Virtual core XTEST keyboard               id=5    [slave  keyboard (3)]
    ↳ Power Button                              id=6    [slave  keyboard (3)]
    ↳ Power Button                              id=7    [slave  keyboard (3)]
    ↳ Logitech USB Keyboard                     id=9    [slave  keyboard (3)]
    ↳ Logitech USB Keyboard                     id=10   [slave  keyboard (3)]

C'est mon Razer xinput:

Device 'Razer Razer DeathAdder':
    Device Enabled (121):   1
    Coordinate Transformation Matrix (123): 1.000000, 0.000000, 0.000000, 0.000000, 1.000000, 0.000000, 0.000000, 0.000000, 1.000000
    Device Accel Profile (246): 0
    Device Accel Constant Deceleration (247):   5.000000
    Device Accel Adaptive Deceleration (248):   1.000000
    Device Accel Velocity Scaling (249):    10.000000
    Device Product ID (240):    5426, 22
    Device Node (241):  "/dev/input/event4"
    Evdev Axis Inversion (250): 0, 0
    Evdev Axes Swap (252):  0
    Axis Labels (253):  "Rel X" (131), "Rel Y" (132), "Rel Vert Wheel" (274)
    Button Labels (254):    "Button Left" (124), "Button Middle" (125), "Button Right" (126), "Button Wheel Up" (127), "Button Wheel Down" (128), "Button Horiz Wheel Left" (129), "Button Horiz Wheel Right" (130), "Button Side" (269), "Button Extra" (270), "Button Forward" (271), "Button Back" (272), "Button Task" (273), "Button Unknown" (243), "Button Unknown" (243), "Button Unknown" (243), "Button Unknown" (243)
    Evdev Middle Button Emulation (255):    0
    Evdev Middle Button Timeout (256):  50
    Evdev Third Button Emulation (257): 0
    Evdev Third Button Emulation Timeout (258): 1000
    Evdev Third Button Emulation Button (259):  3
    Evdev Third Button Emulation Threshold (260):   20
    Evdev Wheel Emulation (261):    0
    Evdev Wheel Emulation Axes (262):   0, 0, 4, 5
    Evdev Wheel Emulation Inertia (263):    10
    Evdev Wheel Emulation Timeout (264):    200
    Evdev Wheel Emulation Button (265): 4
    Evdev Drag Lock Buttons (266):  0

Et voici ma souris sans fil xinput:

Device 'A4TECH USB Device':
    Device Enabled (121):   1
    Coordinate Transformation Matrix (123): 1.000000, 0.000000, 0.000000, 0.000000, 1.000000, 0.000000, 0.000000, 0.000000, 1.000000
    Device Accel Profile (246): 0
    Device Accel Constant Deceleration (247):   1.000000
    Device Accel Adaptive Deceleration (248):   1.000000
    Device Accel Velocity Scaling (249):    10.000000
    Device Product ID (240):    2522, 1359
    Device Node (241):  "/dev/input/event16"
    Evdev Axis Inversion (250): 0, 0
    Evdev Axes Swap (252):  0
    Axis Labels (253):  "Rel X" (131), "Rel Y" (132), "Rel Horiz Wheel" (245), "Rel Vert Wheel" (274)
    Button Labels (254):    "Button Left" (124), "Button Middle" (125), "Button Right" (126), "Button Wheel Up" (127), "Button Wheel Down" (128), "Button Horiz Wheel Left" (129), "Button Horiz Wheel Right" (130), "Button Side" (269), "Button Extra" (270), "Button Forward" (271), "Button Back" (272), "Button Task" (273), "Button Unknown" (243), "Button Unknown" (243), "Button Unknown" (243), "Button Unknown" (243), "Button Unknown" (243), "Button Unknown" (243), "Button Unknown" (243), "Button Unknown" (243), "Button Unknown" (243), "Button Unknown" (243), "Button Unknown" (243), "Button Unknown" (243)
    Evdev Middle Button Emulation (255):    0
    Evdev Middle Button Timeout (256):  50
    Evdev Third Button Emulation (257): 0
    Evdev Third Button Emulation Timeout (258): 1000
    Evdev Third Button Emulation Button (259):  3
    Evdev Third Button Emulation Threshold (260):   20
    Evdev Wheel Emulation (261):    0
    Evdev Wheel Emulation Axes (262):   0, 0, 4, 5
    Evdev Wheel Emulation Inertia (263):    10
    Evdev Wheel Emulation Timeout (264):    200
    Evdev Wheel Emulation Button (265): 4
    Evdev Drag Lock Buttons (266):  0
2
zuberuber

Instructions pour votre souris sans fil: j'ai noté qu'elle avait 2 identifiants, mais je pense que non. 12 devrait être celui que vous voulez utiliser (sinon, essayez les autres).

Je vois dans votre premier bloc de code que vous avez les identifiants de périphérique pour votre matériel (vous pouvez le faire en entrant simplement xinput). Maintenant, gardez cela à l’esprit, sélectionnez l’identifiant que vous souhaitez utiliser, par exemple. 12, et obtenez la lecture détaillée de votre appareil avec xinput list-props 12, comme vous l'avez bien fait dans votre troisième bloc de code.

Maintenant, pour obtenir la disposition des boutons, lancez

xinput get-button-map 12

qui vous donnera la liste des étiquettes de boutons, qui sera une liste, disons probablement de 1-24 dans le cas de votre souris sans fil. Les informations listées avec xinput list-props 12 (dans votre troisième bloc de code) ont une section 'libellés de bouton' et la liste des libellés de bouton (24) est généralement directement liée à la liste de chiffres fournie par la commande xinput get-button-map. Cela signifie que 1 fera référence à "bouton gauche" à partir des informations de "libellé de bouton", nous devons donc permuter "bouton gauche" (1) et "bouton droit" (3). Pour ce faire, sans oublier de spécifier l'identifiant du périphérique (12), nous pouvons raccourcir la commande à 13 chiffres:

xinput set-button-map 12 3 2 1 4 5 6 7 8 9 10 11 12 13 

Cette méthode devrait fonctionner pour n'importe quelle souris, car je peux confirmer qu'elle fonctionne pour la mienne.

Cette réponse peut également être intéressante, car elle est liée à xinput:

4
user76204

Essayez btnx: https://launchpad.net/btnx

Je ne l'ai pas utilisé depuis un moment, mais comme je m'en souviens, il était guidé et facile à utiliser.

1
Binsh