Fiz bem explicado para que sirva para quem precisar ou quiser personalizar seu teclado.
OBS: Os programas necessários acredito que venham instalados por padrão
Vamos a solução do seu problema como exemplo.
A primeira coisa a fazer é identificar o código da tecla que você está pressionando, para isto existe o programa xev. Abra o terminal e digite xev. Vai abrir um quadradinho preto e diversos códigos ficarão rolando na tela do terminal conforme você digita.
TECLA ESC
KeyRelease event, serial 37, synthetic NO, window 0x5e00001,
root 0x7c, subw 0x0, time 128419806, (-162,384), root:(829,436),
state 0x10, keycode 9 (keysym 0xff1b, Escape), same_screen YES,
XLookupString gives 1 bytes: (1b) ""
XFilterEvent returns: False
Atente para códigos com este padrão. Este código foi gerado ao pressionar a tecla ESC. Em negrito os pontos importantes.
keycode 9: Representa o código da tecla pressionada
Escape : Representa a função da tecla pressionada
...........................
TECLA CONTROL
KeyRelease event, serial 37, synthetic NO, window 0x5a00001,
root 0x7c, subw 0x0, time 129768012, (-318,141), root:(673,193),
state 0x14, keycode 37 (keysym 0xffe3, Control_L), same_screen YES,
XLookupString gives 0 bytes:
XFilterEvent returns: False
keycode 37: Representa o código da tecla pressionada
control_L : Representa a função da tecla pressionada
...................................
TECLA M
KeyRelease event, serial 37, synthetic NO, window 0x5a00001,
root 0x7c, subw 0x0, time 129930395, (-665,74), root:(326,126),
state 0x10, keycode 58 (keysym 0x6d, m), same_screen YES,
XLookupString gives 1 bytes: (6d) "m"
XFilterEvent returns: False
keycode 58: Representa o código da tecla pressionada
m : Representa a função da tecla pressionada
..........................................
Agora vem a parte simples, é só rodar o seguinte comando sem aspas:
xmodmap -e “keycode 9 = Control_L m”
Entre as aspas duplas é onde está a parte importante.
Simples assim.
É só executar este comando que já está tudo legal, só tem um problema, ao reiniciar a máquina para de funcionar. Então dentro da sua pasta home você cria um arquivo chamado .xmodmaprc, com o seguinte conteúdo:
keycode 9 = Control_L m
Ao reiniciar o Ubuntu, vai perguntar se você deseja carregar este arquivo, você diz que sim e já era, agora suas teclas estão mapeadas do jeito que você deseja.
Até mais