Antworten:
Es gibt ein Programm namens key-mon , das die gedrückten Tasten überwacht. Es ist einige Zeit her, seit ich es benutzt habe, aber es hat gut funktioniert und das Display ist sehr ansprechend.
Sie können dazu xev
(X Ereignisse) verwenden.
Starten Sie die Anwendung, die Sie überwachen möchten, z xman &
.
Verwenden Sie dann, um wmctrl -l
X-Fenster aufzulisten. Es könnte so aussehen:
0x00400009 0 VLAN-.... urxvt
0x00e0007a 0 VLAN-.... Iceweasel
0x00800011 0 VLAN-.... xman
Sie benötigen die Fenster-ID (hex) in der ersten Spalte. Um es zu erhalten, können Sie grep
die Zeile in der vierten Spalte verwenden und abrufen (der Anwendungsname, der für Sie als Mensch viel natürlicher ist). Wenn Sie die Zeile haben, können Sie die erste Spalte mit cut
(der ersten) abrufen Feld mit -f1
, wobei ein Leerzeichen als Trennzeichen -d" "
für Felder verwendet wird).
Sie können die Daten auf verschiedene Arten analysieren (um die ID zu erhalten) oder die ID sogar manuell eingeben. (Die Nullen in der zweiten Spalte oben sind die Desktop-Nummer.)
Dann versuche es
xev -id `wmctrl -l | grep xman | cut -d" " -f1` | tee event.txt
Es werden die Tastenanschläge (und mehr) in demselben Terminal angezeigt, in dem der Befehl aufgerufen wurde. plus, mit tee
, es speichern , was Sie in einer Datei sehen. Es könnte eine gute Idee sein, die Ausgabe stdout
im Terminal anzeigen zu lassen, da dies Ihnen sofort die Aktion zeigt. Wenn Sie den Befehl nicht als Hintergrundprozess (mit &
) ausführen , können Sie ihn auch problemlos mit beendenCtrl-C.
ANMERKUNG Es funktioniert für urxvt und xman, aber aus irgendeinem Grund schlägt es für Iceweasel in der obigen Auflistung fehl (es zeichnet etwas auf, aber es zeigt wichtige Ereignisse (bei weitem) nicht so klar an, wie dies bei diesen anderen Beispielen der Fall ist.