GNU/Linux >> LINUX-Kenntnisse >  >> Linux

Manipulieren von X-Tasten- und Zeigergriffen in der Befehlszeile?

Welche Kommandozeilen-Tools gibt es, um X-Server-Grabs aufzulisten und zu verwalten? (Das ist grab wie in key and pointer grabs, d. h. die Verwendung einer bestimmten Taste oder Maustaste auf eine bestimmte Anwendung zu beschränken oder den Mauszeiger so einzuschränken, dass er in einem bestimmten Bildschirmbereich bleibt.) Ich suche nach einem hypothetischen xgrab Dienstprogramm, das Dinge wie

anzeigen würde
Key     0x00f00ba5  0x123   0
Button  0x00f00ba5  2       
Pointer 0x00abcdef  

was bedeutet, dass XGrabKey(display, 0x123, 0, 0x00f00ba5, ...) aufgerufen wurde und so weiter mit XGrabButton , XGrabPointer , XGrabKeyboard , XGrabServer (wenn möglich). Das Anzeigeformat spielt keine Rolle, was ich möchte, ist eine Möglichkeit zu sehen, wer was greift, und möglicherweise eine Möglichkeit, diese Zugriffe zu widerrufen (wenn es möglich ist, bin ich mir nicht sicher, ob die X11-API das zulässt).

Akzeptierte Antwort:

Neuere Versionen von X (X.org-Server ≥1.11) unterstützen mehrere Debugging-Keysyms, die in diesem Commit eingeführt wurden. Wenn sie ausgelöst werden, führen diese Aktionen im Zusammenhang mit Grabs aus.

Standardmäßig (zumindest in neueren Versionen) sind diese deaktiviert (nicht in der Standard-Tastaturbelegung).

Wenn Sie jedoch xdotool haben installiert, es ist möglich, sie aufzurufen, indem Sie auf der Befehlszeile Folgendes ausführen:

xdotool key NameOfKey

wo NameOfKey ist das Keysym, das Sie aktivieren möchten. Um beispielsweise eine Liste aktiver Grabs in das X-Server-Protokoll zu drucken, verwenden Sie xdotool key XF86LogGrabInfo .

Relevante Keysyms sind:

  • XF86LogGrabInfo :gibt eine Liste aktiver Zugriffe in das X-Server-Log aus
  • XF86Ungrab :unterbricht alle aktiven Zugriffe, ohne die Anwendung zu beenden, die die Zugriffe enthält
  • XF86ClearGrab :Beendet alle Prozesse, die aktive Zugriffe enthalten

Beachten Sie, dass XF86LogGrabInfo listet nur aktive Griffe auf, keine passiven Griffe wie z. B. ein Griff auf eine Taste, die derzeit nicht gedrückt ist. Wenn Sie Informationen über einen passiven Zugriff erhalten möchten, müssen Sie den Zugriff aktivieren:Führen Sie xdotool key XF86LogGrabInfo aus während die gewünschte Tastenakkord- oder Maustastenkombination gedrückt wird. Mach so etwas wie:

  1. Führe sleep 1; xdotool key XF86LogGrabInfo
  2. Drücken Sie innerhalb von 1 Sekunde die Tastenkombination Akkord oder Maustaste.
  3. Lassen Sie die Taste/Taste nach 1 Sekunde los.
  4. Überprüfen Sie die „Active grab …“-Informationen im X-Server-Log (häufig /var/log/Xorg.0.log ).

Linux
  1. 8 Tipps für die Linux-Kommandozeile

  2. Lassen Sie sich mit sort in der Befehlszeile sortieren

  3. Kopieren und Einfügen in der Linux-Befehlszeile mit xclip

  4. Schrägstriche und der Befehl rsync

  5. Anzeigen von Eigenschaften/Attributen von DLL- und EXE-Dateien über die Befehlszeile

Meistern Sie die Linux-Befehlszeile

Wie man Debian 10 über die Befehlszeile und die GUI herunterfährt

Bearbeiten von Text in der Befehlszeile mit grep

Finden Sie die Befehlszeile?

Die größten Dateien und Ordner in der Linux-Befehlszeile finden

MySQL die Befehlszeile und Pager