回答:
押されたキーを監視するkey-monと呼ばれるプログラムがあります。使用してからしばらく経ちましたが、うまく機能し、ディスプレイは非常に魅力的です。
xev
(Xイベント)を使用してこれを行うことができます。
監視するアプリケーションを起動します。たとえば、 xman &
。
次に、wmctrl -l
Xウィンドウをリストするために使用します。次のようになります。
0x00400009 0 VLAN-.... urxvt
0x00e0007a 0 VLAN-.... Iceweasel
0x00800011 0 VLAN-.... xman
最初の列にウィンドウ(16進数)IDが必要です。それを取得するにはgrep
、4番目の列(人間として使用する方がはるかに自然なアプリケーション名)で行を使用してフェッチできます-行がある場合は、最初の列を取得できますcut
(最初の列-f1
空白区切り文字を使用したを持つフィールド-d" "
をます)。
もちろん、さまざまな方法でデータを解析して(IDを取得)、IDを手動で入力することもできます。(上の2番目の列のゼロはデスクトップ番号です。)
その後、試してください
xev -id `wmctrl -l | grep xman | cut -d" " -f1` | tee event.txt
コマンドが呼び出されたのと同じ端末でキーストローク(およびそれ以上)が表示されます。さらに、を使用するとtee
、表示内容をファイルに保存します。出力がstdout
端末に表示されるようにすると、アクションが即座に表示されるため、良いアイデアかもしれません。また、コマンドをバックグラウンドプロセスとして(を使用して&
)実行しない場合は、次のコマンドで簡単に終了できます。Ctrl-C.
注:urxvtおよびxmanで機能しますが、何らかの理由で、上記のリストのIceweaselでは失敗します(何かを記録しますが、他の例のように重要なイベントを明確に(はるかに)提示していません。