Bagaimana cara mengetahui program apa yang 'memiliki' hotkey?

32

Saya menjalankan XFCE 4.12 di atas Gentoo dengan kernel 4.2.0. Tombol PlayPause saya di keyboard saya dulu berfungsi sebagai hotkey global untuk VLC. Sekarang VLC bahkan tidak akan mengenali kuncinya. Itu memang melihat "Alt + Media Play Pause" tetapi bukan kuncinya saja.

Apakah ada cara untuk melihat apakah dan program apa yang bisa mengambil kunci itu?

Ketika saya menjalankan xdotool key "XF86LogGrabInfo"dengan tail /var/log/Xorg.0.logfile yang berbunyi

[ 10138.690] (II) Printing all currently active device grabs:
[ 10138.690] (II) End list of active device grabs
Andrew Redd
sumber
@don_crissti terima kasih tetapi sepertinya tidak menjawab apa-apa. Apakah ada cara lain mendaftar hotkey?
Andrew Redd
@don_crissti Ini pasti terkait tetapi saya tidak berpikir itu duplikat. Mendaftar semua grab dan menemukan satu grabber tertentu tidak sama. Solusi yang berguna bagi Andrew dimakamkan dalam komentar (karena masalah Andrew bukan yang saya tanyakan).
Gilles 'SO- stop being evil'
Ya, berlari, xdotool keydown "XF86AudioPlay"; xdotool key "XF86LogGrabInfo"; xdotool keyup "XF86AudioPlay"; sleep 1; tail /var/log/Xorg.0.logberhasil. Entah bagaimana Google Chrome mendaftarkan hotkey.
Andrew Redd

Jawaban:

21

Untuk mengetahui aplikasi / program mana yang mengambil kunci Anda gunakan debug keysym XF86LogGrabInfo. Gunakan xdotooluntuk menekan tombol + XF86LogGrabInfopada saat yang sama misalnya dalam menjalankan terminal

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

Kemudian periksa output dengan tail /var/log/Xorg.0.log
Note that with gnome 3/gdmdan systemdini tidak lagi masuk Xorg.0.log(melainkan masuk ke jurnal ). Dalam hal ini Anda bisa lari

journalctl -f

dan kemudian di terminal lain jalankan xdotoolperintah. Beralihlah ke terminal pertama dan Anda akan melihat sesuatu seperti

/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

Pada contoh di atas program (klien) yang meraih kuncinya adalah gnome-shell.

don_crissti
sumber
Apakah ada yang serupa dengan lightdm?
syarat
@elig - tidak yakin apa yang Anda maksud ... ini dilakukan oleh server X terlepas dari manajer tampilan Anda.
don_crissti
Maka saya tidak melihatnya di log atau jurnal saya
syarat