The Linux kernel generates a code each time a key is pressed on a keyboard. That code is compared to a table of keycodes
defining a figure that is then displayed.
This process is complicated by Xorg
, which starts its own table of keycodes
. Each keycode
can belong to a keysym
. A keysym
is like a function, started by typing a key. Xmodmap
allows you to edit these keycode-keysym
relations.
To get the current keymap table using Xmodmap
use:
xmodmap -pke
This will print out the full table in the following format:
keycode <keycode#> = <boundkey> <boundkey>
Before moving anything around be sure to backup the original keycode
layout using xmodmap -pke >> $HOME/Xmodmap.orig
This will place the file Xmodmap.orig
in your users home directory.
Tip: There are also some predefined keycodes (e.g. XF86AudioMute
, XF86Mail
). Those keycodes can be found in: /usr/include/X11/XF86keysym.h
You can also also edit the keys: Shift
, Ctrl
, Alt
and Super
(there always exists a left and a right one (Alt_R=AltGr
)).
Here's a quick example of how your configuration would look if you wanted to swap CTRL
and Super
(Windows Key):
keycode 255 =
!add Shift = Shift_L Shift_R
!add Lock = Caps_Lock
add Control = Super_L Super_R
!add Mod1 = Alt_L Alt_R
!add Mod2 = Mode_switch
!add Mod3 =
add Mod4 = Control_L Control_R
!add Mod5 =
(the !
is used to comment / ignore the line. in this example only Super
and Control
keys get adjusted)
This configuration would be saved in $HOME/.Xmodmap
and loaded with
xmodmap ~/.Xmodmap
You could also start this with xwindows by adding it to your ~/.xinitrc
And if things get hairy you can always revert back to Xmodmap.org
.
Any bindings for applications that rely on these keys would also be moved. So make sure that everything remains bound so you don't lose any functionality. It's a tug-of-war match.
I had the same issue in mint 17 xfce (with both wm shortcuts like Ctrl-F1 and keyboard shortcuts like Alt-F2). I don't like the way how I fixed it but I could not find a better solution. First, I searched for all keyboard configuration files:
$ locate xfce4-keyboard-shortcuts.xml
~/.config/xfce4/xfconf/xfce-perchannel-xml/xfce4-keyboard-shortcuts.xml
/etc/xdg/xfce4/xfconf/xfce-perchannel-xml/xfce4-keyboard-shortcuts.xml
/usr/share/mint-configuration-xfce/xfce4/xfconf/xfce-perchannel-xml/xfce4-keyboard-shortcuts.xml
Then I removed the file from home
, did copies of system files and removed all shortcuts which I wanted to free in both system files. After reboot these shortcuts finally gone.
Best Answer
Is this (similar to) what you see?
If so, try clicking on the activated keybinding (e.g. "Ctrl+Alt+T" in the screenshot1) and press Backspace to clear it (as mentioned at the bottom of the window)
(No idea how to remove a disabled shortcut,
gconf-editor
maybe?)(1) which I snitched from this blog