Come faccio a sapere quale programma "possiede" un tasto di scelta rapida?


32

Sto eseguendo XFCE 4.12 su Gentoo con un kernel 4.2.0. Il mio pulsante PlayPause sulla tastiera funzionava come tasto di scelta rapida globale per VLC. Ora VLC non riconoscerà nemmeno la chiave. Viene visualizzato "Alt + Media Play Pause" ma non solo il tasto.

C'è un modo per vedere se e quale programma potrebbe catturare quella chiave?

Quando eseguo xdotool key "XF86LogGrabInfo"il tail /var/log/Xorg.0.logfile legge

[ 10138.690] (II) Printing all currently active device grabs:
[ 10138.690] (II) End list of active device grabs

@don_crissti grazie ma non sembra rispondere a nulla. Esiste un altro modo per registrare i tasti di scelta rapida?
Andrew Redd,

@don_crissti È sicuramente correlato, ma non credo sia un duplicato. Elencare tutte le prese e trovare un grabber specifico non è lo stesso. La soluzione che è utile ad Andrew è sepolta in un commento (perché il problema di Andrew non è quello che stavo chiedendo).
Gilles 'SO- smetti di essere malvagio' il

xdotool keydown "XF86AudioPlay"; xdotool key "XF86LogGrabInfo"; xdotool keyup "XF86AudioPlay"; sleep 1; tail /var/log/Xorg.0.log, lo ha fatto correre . Per qualche modo Google Chrome ha registrato il tasto di scelta rapida.
Andrew Redd,

Risposte:


21

Per scoprire quale app / programma ha acquisito la tua chiave usa il debug keysym XF86LogGrabInfo. Utilizzare xdotoolper premere i tasti + XF86LogGrabInfocontemporaneamente, ad es. In una corsa terminale

KEY=XF86AudioPlay
xdotool keydown ${KEY}; xdotool key XF86LogGrabInfo; xdotool keyup ${KEY} 

Quindi controlla l'output con tail /var/log/Xorg.0.log
Nota che con gnome 3/gdme systemdquesto non è più registrato Xorg.0.log(è invece registrato nel journal ). In quel caso potresti correre

journalctl -f

e poi in un altro terminale esegui i xdotoolcomandi. Passa al primo terminale e vedrai qualcosa di simile

/usr/lib/gdm/gdm-x-session[629]: Active grab 0x40c0a58e (xi2) on device 'Virtual core keyboard' (3):
/usr/lib/gdm/gdm-x-session[629]: client pid 708 /usr/bin/gnome-shell
/usr/lib/gdm/gdm-x-session[629]: at 32595124 (from passive grab) (device frozen, state 6)
/usr/lib/gdm/gdm-x-session[629]: xi2 event mask for device 3: 0xc000
/usr/lib/gdm/gdm-x-session[629]: passive grab type 2, detail 0xac, activating key 172

Nell'esempio sopra è il programma (il client) che ha preso la chiave gnome-shell.


C'è qualcosa di simile per lightdm?
partecipazione il

@elig - non so cosa intendi ... questo viene fatto dal server X indipendentemente dal tuo display manager.
don_crissti,

Quindi non lo vedo nei miei registri o nel mio diario
ho diritto il
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.