XModmap
Modify Key Map
Install dependencies
$ sudo pacman -S xorg-xev
$ sudo pacman -S xmodmap
$ sudo pacman -S xbindkeys
Check keycode
in my case, RALT was target
$ xev # press RALT
KeyRelease event, serial 37, synthetic NO, window 0x5000001,
root 0x135, subw 0x0, time 1868483, (404,481), root:(443,576),
state 0x80, keycode 108 (keysym 0xfe03, ISO_Level3_Shift), same_screen YES,
XKeysymToKeycode returns keycode: 92
XLookupString gives 0 bytes:
XFilterEvent returns: False
So key code is 108
another way to confirm
$ xbindkeys -mk
Press combination of keys or/and click under the window.
You can use one of the two lines after "NoCommand"
in $HOME/.xbindkeysrc to bind a key.
--- Press "q" to stop. ---
"(Scheme function)"
m:0x80 + c:108
Mod5 + ISO_Level3_Shift
X connection to :1 broken (explicit kill or server shutdown).
108 is the keycode
Confirm current keymap
$ xmodmap
xmodmap: up to 4 keys per modifier, (keycodes in parentheses):
shift Shift_L (0x32), Shift_R (0x3e)
lock
control Control_L (0x25), Control_L (0x42), Control_R (0x69)
mod1 Alt_L (0x40), Meta_L (0xcd)
mod2 Num_Lock (0x4d)
mod3
mod4 Super_L (0x85), Super_R (0x86), Super_L (0xce), Hyper_L (0xcf)
mod5 ISO_Level3_Shift (0x5c), Mode_switch (0xcb)
So, now I wanna remove ISO_Level3_Shift
from mod5 and add Alt_R
Update xmodmap
Script of .xmodmap will be like below:
remove mod5 = ISO_Level3_Shift
keycode 108 = Alt_R
reload xmodmap
$ xmodmap .xmodmap
REFERENCES:
- http://haraita9283.blog98.fc2.com/blog-entry-273.html