Mit dem Befehlszeilentool können Sie xev
den Status der Maustasten in der X-Umgebung ermitteln.
Beispiel
$ xev
...
ButtonPress event, serial 36, synthetic NO, window 0x3800001,
root 0x86, subw 0x0, time 319064320, (164,14), root:(166,101),
state 0x0, button 1, same_screen YES
ButtonRelease event, serial 36, synthetic NO, window 0x3800001,
root 0x86, subw 0x0, time 319064439, (164,14), root:(166,101),
state 0x100, button 1, same_screen YES
ButtonPress event, serial 36, synthetic NO, window 0x3800001,
root 0x86, subw 0x0, time 319065208, (164,14), root:(166,101),
state 0x0, button 1, same_screen YES
ButtonRelease event, serial 36, synthetic NO, window 0x3800001,
root 0x86, subw 0x0, time 319065337, (164,14), root:(166,101),
state 0x100, button 1, same_screen YES
ButtonPress event, serial 36, synthetic NO, window 0x3800001,
root 0x86, subw 0x0, time 319066059, (164,14), root:(166,101),
state 0x0, button 1, same_screen YES
Mit diesen Informationen gelangen Sie jedoch nur teilweise zu einer Lösung. Die Schlüsselinformation, die Sie oben extrahieren möchten, ist die Nummer, die einer bestimmten Taste Ihrer Maus zugeordnet ist. In meinem Beispiel drücke ich die linke Taste "Taste 1".
xbindkeys
Mit diesem Tool können Sie eine Aktion einrichten, die mit einem gedrückten Knopf verknüpft ist. Sie können sogar eine Regel einrichten, für die ein Tastendruck oder sogar eine Taste + gleichzeitig gedrückt werden muss.
Beispiel
Sie müssen zuerst sicherstellen, dass die Pakete xbindkeys installiert sind.
Anschließend müssen Sie den folgenden Befehl nur einmal ausführen, um eine Vorlage für die xbindkeys-Konfigurationsdatei zu erstellen.
$ xbindkeys --defaults > /home/saml/.xbindkeysrc
Mit der erstellten Datei können Sie sie in einem Texteditor öffnen und eine Regel wie die folgende hinzufügen:
"xterm"
b:3
Diese Regel besagt, dass wir das Programm ausführen möchten, xterm
wenn die Taste 3 gedrückt wird. Die "Taste 3" ist meine rechte Maustaste.
Mit der obigen Änderung müssen wir xbindkeys töten, wenn es bereits läuft, und es dann neu starten.
$ killall xbindkeys
$ xbindkeys
Jetzt, da dies immer läuft, wenn ich die rechte Maustaste drücke, xterm
wird eine ausgeführt.
Verweise
MouseButton1Down
und dieMouseButton1Up
Ereignisse, auf die Sie reagieren müssen, verzeihen .