Gibt es eine Möglichkeit, den Zustand der Maustaste aus der Bash zu ermitteln? Xdotool kann nur die Position der Maus ermitteln.
Ich möchte etwas einrichten, in dem ich eine Regel definieren kann, nach der beim Drücken einer Maustaste ein Skript ausgeführt werden kann.
MouseButton1Down
und dieMouseButton1Up
Ereignisse, auf die Sie reagieren müssen, verzeihen .Antworten:
Dies gibt Ihnen einen Status für alle Maustasten, der so aussieht:
Die mouse_id kann bezogen werden von:
Hier ist ein kleines Skript zur Überwachung von Maustasten:
Möglicherweise müssen Sie die Erkennungszeichenfolge MOUSE_ID ('mouse') in eine andere Zeichenfolge ändern.
quelle
xinput --list
gibt mirX Input extension not available.
. Leider enthüllt Google in dieser Angelegenheit nichts, was in meinem Fall hilfreich ist:Xvnc4
In einer minimalen Debian-VM. Wahrscheinlich habe ich PechMit dem Befehlszeilentool können Sie
xev
den Status der Maustasten in der X-Umgebung ermitteln.Beispiel
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.
Mit der erstellten Datei können Sie sie in einem Texteditor öffnen und eine Regel wie die folgende hinzufügen:
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.
Jetzt, da dies immer läuft, wenn ich die rechte Maustaste drücke,
xterm
wird eine ausgeführt.Verweise
quelle
Wenn Sie nur den Befehl bash in xterm per Mausklick (oder Rad-Ereignis) ausführen möchten, können Sie folgendes Beispiel ausprobieren:
Dies ist für Rad-Event (für Klick-Set 12 stattdessen)
quelle
Sie können nicht Ihre
Kuchen-Knopf-Presse-Veranstaltung haben und es essen. Wenn Sie möchten, dass Ihr Skript ein Mausereignis empfängt, wird das Mausereignis anstelle einer anderen Anwendung an Ihr Skript gesendet. Dies bedeutet, dass Ihr Skript das Mausereignis abrufen muss. Wenn Ihr Skript das Ereignis nicht beansprucht, wird es von dem Fenster abgerufen, das es erhalten soll.Wenn Sie möchten, können Sie das Mausereignis erneut an das fokussierte Fenster oder das Fenster an den angegebenen Koordinaten senden (
xdotool click
).Mit XBindKeys können Sie ein Skript für bestimmte Maus- oder Tastaturereignisse ausführen.
quelle