Context
Modern desktop environment include features to adjust sound volume, interact with media players, and so on.
Here is an incomplete list:
- XF86AudioLowerVolume
- XF86AudioRaiseVolume
- XF86Battery
- XF86Calculator
- XF86Display
- XF86Explorer
- XF86HomePage
- XF86KbdBrightnessDown
- XF86KbdBrightnessUp
- XF86Mail
- XF86Messenger
- XF86MonBrightnessDown
- XF86MonBrightnessUp
- XF86PowerOff
- XF86Sleep
- XF86Suspend
- XF86TouchpadToggle
Need
Sometimes a program already grabs some keys, which prevents proper operation of another. To fix this situation, one has to know which program already grabs the key, and adjust or disable them.
Each desktop environment provides a way to handle key shortcuts, but only theirs, not all keys that are grabbed by any random program connected to the X session.
How can I get a complete list of those grabbed keys on Ubuntu 18.04?
Search before ask
These pages provide hints:
- x11 - Find X.org pointer grab owner - Unix & Linux Stack Exchange
- keyboard - Manipulating X key and pointer grabs on the command line - Unix & Linux Stack Exchange
The problem is: xdotool key XF86LogGrabInfo
does not list all keys.
For example, I was in an instance where xfce pulseaudio-plugin grabbed at least 4 media keys, but on XF86LogGrabInfo
, Xorg log would only list 3 (example log, does not show XF86AudioPlay, XF86AudioRaiseVolume, XF86AudioLowerVolume,).
sleep 1
does not change output at all. So, information on these links seems outdated, confirming need for some fresher information. – Stéphane Gourichon May 29 '18 at 17:26journalctl -f
(at least on my Ubuntu 18.04). – danadam Jul 05 '19 at 20:22