There is no central instance where you can query all key bindings ("in memory"). It always depends on the programs that are currently running, some of which may be designed to grab keys globally (e.g. xbindkey
, and also i3 itself). Which keys are bound depends on the programs and can probably only be viewed in the respective configurations.
i3
i3 grabs only the key bindings defined in its configuration file. i3 takes the first - and only the first - file it finds from this list:
$XDG_CONFIG_HOME/i3/config
(defaults to ~/.config/i3/config
if XDG_CONFIG_HOME
is unset) $XDG_CONFIG_DIRS/i3/config
(defaults to /etc/xdg/i3/config
if XDG_CONFIG_DIRS
is unset) ~/.i3/config
/etc/i3/config
If your config file is ~/.config/i3/config
, running grep -e '^[^#]*bind' ~/.config/i3/config
should get you a list of used bindings.
X11
X11 by default only binds Ctrl+Alt+Fn (with Fn being some function key) for switching to virtual consoles and Shift+Insert for pasting text from the clipboard.
Unfortunatelly the case where other bindings may be defined is not as clear cut as with i3. Other bindings probably may be defined in /etc/X11/xorg.conf
or in files in /etc/X11/xorg.conf.d
. But Debian-based distributions also do some configuration in /etc/defaults/keyboard
. Some distributions (used to?) define settings in /etc/udev/rules.d/
. And some settings can also be altered with programs.