Risposte:
Esiste un programma chiamato key-mon che controlla i tasti premuti. È passato del tempo da quando l'ho usato, ma ha funzionato bene e il suo display è abbastanza accattivante.
È possibile utilizzare xev
(X eventi) per farlo.
Avvia l'applicazione che desideri monitorare, ad es xman &
.
Quindi, utilizzare wmctrl -l
per elencare X finestre. Potrebbe apparire così:
0x00400009 0 VLAN-.... urxvt
0x00e0007a 0 VLAN-.... Iceweasel
0x00800011 0 VLAN-.... xman
È necessario l'ID finestra (esadecimale) nella prima colonna; per ottenerlo, puoi usare grep
e recuperare la riga dalla quarta colonna (il nome dell'applicazione, che è molto più naturale da usare come essere umano) - quando hai la linea, puoi ottenere la prima colonna con cut
(la prima campo con -f1
, utilizzando un delimitatore di spazi bianchi -d" "
per separare i campi).
Puoi analizzare i dati (per ottenere l'ID) in diversi modi, o anche inserire l'ID manualmente, ovviamente. (Gli zeri nella seconda colonna sopra sono il numero del desktop.)
Quindi, prova
xev -id `wmctrl -l | grep xman | cut -d" " -f1` | tee event.txt
Mostrerà i tasti (e altro) nello stesso terminale in cui è stato invocato il comando; inoltre, con tee
, memorizzerà ciò che vedi in un file. Potrebbe essere una buona idea lasciare che l'output sia mostrato stdout
nel terminale in quanto ciò mostrerà immediatamente l'azione; inoltre, se non si esegue il comando come processo in background (con &
), è possibile terminarlo facilmente conCtrl-C.
NOTA Funziona per urxvt e xman, ma per qualche ragione non riesce per Iceweasel nella lista sopra (registra qualcosa, ma non presenta eventi chiave così chiari (di gran lunga) come nel caso di quegli altri esempi.