Index

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> };
};