Comment permuter les boutons de la souris pour être gaucher depuis le terminal?

30

Je suis gaucher.
Par conséquent, je veux échanger les boutons de souris typiques pour les clics droit et gauche.

Je veux le faire via le terminal . Quelqu'un peut-il suggérer la commande pour cela?

Est-il également possible d'échanger ces clics sur l' écran de connexion ? J'utilise Ubuntu 12.04.

Fookraa
la source

Réponses:

26
xmodmap -e "pointer = 3 2 1"

dans un terminal devrait fonctionner. Si vous souhaitez exécuter cette commande au début de lightdm (l'écran de connexion par défaut), vous pouvez éditer /etc/lightdm/lightdm.confcomme décrit ici - utilisez la xmodmapcommande plutôt que xbacklightdans le script, bien sûr.

elmicha
la source
2
cela fonctionne pour la présente session .. comment le rendre permanent ???
Fookraa
2
Il devrait être permanent si vous le mettez /etc/lightdm/lightdm.conf. Sinon, vous pouvez le placer dans les applications de démarrage ou créer un fichier .desktop dans ~ / .config / autostart à partir du terminal.
elmicha
Je n'ai pas de fichier /etc/lightdm/lightdm.conf. Existe-t-il un modèle pour cela?
Mateusz Konieczny
25

Vous pouvez également utiliser xinputpour ce faire.

Il commutera les boutons sur une seule souris.

Première utilisation-

xinput list

Voir où se trouve votre souris sera quelque chose comme

"USB Mouse"     id=12       [slave pointer]

Utilisez donc le numéro d'identification de la commande suivante pour changer l'attribution des boutons.

xinput set-button-map 12 3 2 1

Donc, vous changeriez 12 avec le numéro d'identification de votre souris.

Source: 1

Mateo
la source
2
Je trouve cela utile car j'ai souvent deux souris, gauche et droite. Cette technique leur permet d'être définis pour être l'image miroir l'un de l'autre.
Rick-777
Et puis vous pouvez rendre cela permanent en créant une configuration de périphérique Xorg comme expliqué ici: linus.haxx.se/2013/03/07/mouse-button-mapping-in-xorg-conf
Apteryx
ou juste un script de démarrage si vous le souhaitez
Mateo
2
Dans le cas où mes périphériques de pointeur changent d'ID, je recherche l'ID dans la ligne de commande: xinput set-button-map $ (liste xinput --id-only "Kensington Kensington Expert Mouse") 3 2 1 La chaîne entre guillemets vient de la "liste xinput" ci-dessus.
akom
Cela devrait être marqué comme réponse plutôt que d'utiliser xmodmap
ptgamr
7

xmodmapest la commande pour changer le mappage du bouton de la souris :

xmodmap -e "pointer = 3 2 1"

remappera les trois premiers boutons, gauche, milieu et droite, pour agir comme, droite, milieu et gauche - sans changer réellement le mappage des boutons du milieu.

Cela applique le changement à la session en cours - plus précisément, à l'affichage X actuel, par exemple :0.

Pour enregistrer la modification persistante sur les sessions, placez le mappage dans le fichier

~/.Xmodmap

S'il n'existe pas, créez-le, commetouch ~/.Xmodmap

Modifiez-le pour ajouter la ligne

pointer = 3 2 1

S'il y a déjà une pointerligne, elle peut avoir une fonction, bien sûr; Au lieu de le remplacer, mieux vaut modifier les trois premières valeurs - en gardant un commentaire avec l'ancienne:

Par exemple,

pointer = 1 2 3 4 5 16 17 8 9 10 11 12 13 14 15 6 7 18 19 20 21 22 23 24

devient

!pointer = 1 2 3 4 5 16 17 8 9 10 11 12 13 14 15 6 7 18 19 20 21 22 23 24
pointer = 3 2 1 4 5 16 17 8 9 10 11 12 13 14 15 6 7 18 19 20 21 22 23 24


J'ai l'habitude de ~/.Xmodmaptoujours travailler; Mais voir .Xmodmap ne fonctionne que lorsque la connexion automatique est désactivée? si ça ne fait pas.

Volker Siegel
la source
-1

Exécutez ce code dans l'invite de commande, il supprimera et réinitialisera la souris optique et le pavé tactile par défaut - le clic gauche est pour cliquer et le clic droit est pour les options.

modprobe -r psmouse
modprobe psmouse proto=imps
Srinivas Reddy Thatiparthy
la source
-1

Pour Ubuntu ~ 12.04 et versions antérieures

#!/usr/local/bin/tcsh -fb

# switches between right and left mouse
set leftMouseHand = `gconftool-2 --get /desktop/gnome/peripherals/mouse/left_handed`
if ( "$leftMouseHand" == "false" ) then
    gconftool-2 --set /desktop/gnome/peripherals/mouse/left_handed true --type boolean
    gconftool-2 --set /desktop/gnome/peripherals/mouse/cursor_theme Oxygen_White_Big --type string
else
    gconftool-2 --set /desktop/gnome/peripherals/mouse/left_handed false --type boolean
    gconftool-2 --set /desktop/gnome/peripherals/mouse/cursor_theme Oxygen_White_Big --type string
endif
Jonathan
la source