xkb
query current keyboard mapping
setxkbmap -query
turn on compose option using alt_gr
setxkbmap -option "compose:ralt"
clear options
setxkbmap -option ""
change keyboard layout
setxkbmap -layout us
setxkbmap -layout 'us(intl)'
find key syms
xev
create custom mapping file
sudo vi /usr/share/X11/xkb/symbols/[name]
have xkb see the new mapping file
sudo dpkg-reconfigure xkb-data
try out the mapping file
setxkbmap -layout [name]
documentation
https://www.x.org/wiki/XKB/
mapping file example
partial default alphanumeric_keys
xkb_symbols "basic" {
include "us"
include "eurosign(5)"
key <AC01> { [ a, A, aacute, Aacute ] };
key <AD03> { [ e, E, eacute, Eacute ] };
key <AD08> { [ i, I, iacute, Iacute ] };
key <AD09> { [ o, O, oacute, Oacute ] };
key <AD07> { [ u, U, uacute, Uacute ] };
key <KP0> { [ KP_0, KP_0 ] };
key <KP1> { [ KP_1, KP_1 ] };
key <KP2> { [ KP_2, KP_2 ] };
key <KP3> { [ KP_3, KP_3 ] };
key <KP4> { [ KP_4, KP_4 ] };
key <KP5> { [ KP_5, KP_5 ] };
key <KP6> { [ KP_6, KP_6 ] };
key <KP7> { [ KP_7, KP_7 ] };
key <KP8> { [ KP_8, KP_8 ] };
key <KP9> { [ KP_9, KP_9 ] };
key <RALT> { type[Group1]="TWO_LEVEL", [ ISO_Level3_Shift, Multi_key ] };
modifier_map Mod5 { <RALT> };
};