Wie tausche ich Maustasten aus, um vom Terminal aus linkshändig zu sein?

30

Ich bin Linkshänder.
Daher möchte ich die typischen Maustasten für Rechts- und Linksklicks austauschen.

Ich möchte dies über das Terminal tun . Darf jemand bitte den Befehl dafür vorschlagen?

Kann man diese Klicks auch auf dem Anmeldebildschirm austauschen ? Ich benutze Ubuntu 12.04.

Fookraa
quelle

Antworten:

26
xmodmap -e "pointer = 3 2 1"

in einem terminal sollte funktionieren. Wenn Sie diesen Befehl zu Beginn von lightdm (dem Standard-Anmeldebildschirm) ausführen möchten, können Sie ihn /etc/lightdm/lightdm.confwie hier beschrieben bearbeiten - verwenden Sie den xmodmapBefehl xbacklightnatürlich anstelle des Skripts.

Elmicha
quelle
2
Das funktioniert für die aktuelle Sitzung. Wie kann man es dauerhaft machen?
Fookraa
2
Es sollte dauerhaft sein, wenn Sie es setzen /etc/lightdm/lightdm.conf. Wenn nicht, können Sie es in Startup Applications ablegen oder eine .desktop-Datei in ~ / .config / autostart vom Terminal aus erstellen.
Elmicha
Ich habe keine /etc/lightdm/lightdm.conf Datei. Gibt es irgendwo eine Vorlage dafür?
Mateusz Konieczny
25

Sie können auch verwenden xinput, um dies zu tun.

Die Tasten werden nur mit einer Maus umgeschaltet.

Erste Benutzung-

xinput list

Zu sehen, wo sich deine Maus befindet, wird so ähnlich sein

"USB Mouse"     id=12       [slave pointer]

Verwenden Sie daher die ID-Nummer für den nächsten Befehl, um die Tastenbelegung zu ändern.

xinput set-button-map 12 3 2 1

Sie würden also mit der ID-Nummer Ihrer Maus 12 austauschen.

Quelle: 1

Mateo
quelle
2
Ich finde das nützlich, weil ich oft zwei Mäuse habe, links und rechts. Mit dieser Technik können sie so eingestellt werden, dass sie spiegelbildlich zueinander sind.
Rick-777
Und dann können Sie dies dauerhaft machen, indem Sie eine Xorg-Gerätekonfiguration erstellen, wie hier erläutert: linus.haxx.se/2013/03/07/mouse-button-mapping-in-xorg-conf
Apteryx
oder einfach ein Startskript, wenn Sie möchten
Mateo
2
Falls mein Zeiger Geräte - IDs zu ändern, sehe ich die ID als Teil der Befehlszeile auf: XInput Set-Taste-Karte $ (XInput Liste --id-only "Kensington Kensington Expert Mouse") 3 2 1 Die Zeichenfolge in Anführungszeichen kommen von "xinput Liste" oben.
Akom
Dies sollte als Antwort markiert werden, anstatt xmodmap
ptgamr zu verwenden.
7

xmodmapist der Befehl zum Ändern der Maustastenzuordnung :

xmodmap -e "pointer = 3 2 1"

ordnet die ersten drei Tasten (links, mittel und rechts) neu zu, um sich wie rechts, mittel und links zu verhalten, ohne die Zuordnung der mittleren Taste zu ändern.

Damit wird die Änderung auf die aktuelle Sitzung angewendet, genauer gesagt beispielsweise auf die aktuelle X-Anzeige :0.

Fügen Sie das Mapping in die Datei ein, um die Änderung dauerhaft über Sitzungen hinweg zu speichern

~/.Xmodmap

Wenn es nicht existiert, erstellen Sie es wietouch ~/.Xmodmap

Bearbeiten Sie es, um die Linie hinzuzufügen

pointer = 3 2 1

Wenn es bereits eine pointerZeile gibt, kann sie natürlich eine Funktion haben. Anstatt es zu ersetzen, sollten Sie die ersten drei Werte ändern - und einen Kommentar mit dem alten beibehalten:

Beispielsweise,

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

wird

!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


Ich bin es gewohnt, ~/.Xmodmapimmer nur zu arbeiten. Aber siehe .Xmodmap funktioniert nur, wenn die automatische Anmeldung deaktiviert ist? wenn es nicht.

Volker Siegel
quelle
-1

Wenn Sie diesen Code in der Eingabeaufforderung ausführen, werden die optische Maus und das Touchpad entfernt und auf die Standardeinstellung zurückgesetzt. Klicken mit der linken Maustaste dient zum Klicken und Klicken mit der rechten Maustaste für Optionen.

modprobe -r psmouse
modprobe psmouse proto=imps
Srinivas Reddy Thatiparthy
quelle
-1

Für Ubuntu ~ 12.04 und früher

#!/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
quelle