Jak dowiedzieć się, który program ma „skrót”?


32

Używam XFCE 4.12 na Gentoo z jądrem 4.2.0. Mój przycisk PlayPause na klawiaturze działał jak globalny skrót dla VLC. Teraz VLC nawet nie rozpoznaje klucza. Widzi „Alt + Media Play Pause”, ale nie sam klucz.

Czy istnieje sposób, aby sprawdzić, czy i jaki program może przechwytywać ten klucz?

Kiedy uruchamiam plik czytaxdotool key "XF86LogGrabInfo"tail /var/log/Xorg.0.log

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

@don_crissti dzięki, ale to chyba nic nie odpowiada. Czy istnieje inny sposób rejestracji skrótów klawiszowych?
Andrew Redd,

@don_crissti Na pewno jest to powiązane, ale nie sądzę, że jest duplikatem. Lista wszystkich chwytów i znalezienie jednego konkretnego grabbera to nie to samo. Rozwiązanie, które jest przydatne dla Andrew, jest ukryte w komentarzu (ponieważ problem Andrew nie jest tym, o co prosiłem).
Gilles „SO- przestań być zły”

Tak, bieganie xdotool keydown "XF86AudioPlay"; xdotool key "XF86LogGrabInfo"; xdotool keyup "XF86AudioPlay"; sleep 1; tail /var/log/Xorg.0.logto zrobiło. W jakiś sposób Google Chrome zarejestrował skrót.
Andrew Redd,

Odpowiedzi:


21

Aby dowiedzieć się, która aplikacja / program złapał Twój klucz, użyj klucza do debugowania XF86LogGrabInfo. Służy xdotooldo jednoczesnego naciskania klawiszy +, XF86LogGrabInfonp. W biegu terminalowym

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

Następnie sprawdź wyniki za pomocą tail /var/log/Xorg.0.log
Zauważ, że za pomocą gnome 3/gdmi systemdto nie jest już zalogowane Xorg.0.log(zamiast tego jest logowane do dziennika ). W takim przypadku możesz uruchomić

journalctl -f

a następnie w innym terminalu uruchom xdotoolkomendy. Przełącz się na pierwszy terminal, a zobaczysz coś takiego

/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

W powyższym przykładzie program (klient), który chwycił klucz, to gnome-shell.


Czy istnieje coś podobnego do lightdm?
elig

@elig - nie jestem pewien, co masz na myśli ... robi to serwer X bez względu na menedżera wyświetlania.
don_crissti

Potem nie widzę tego w moich dziennikach ani dzienniku
elig
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.