Como remapear as teclas do teclado no Ubuntu

Recentemente comprei um teclado novo, um Genius Luxemate i202, e a única coisa que me deixou bastante desapontado foi o facto de o mesmo ter duas teclas do Window$, uma à esquerda e outra à direita, e nenhuma tecla Menu, que costumo usar frequentemente. Felizmente, é bastante simples fazer o remapeamento de teclas do teclado no Ubuntu. Para fazê-lo, só temos de usar uma aplicação chamada Xmodmap, que é um utilitário para modificar os mapas de teclas no Xorg. Como exemplo, para fazer o remapeamento de uma única tecla na sessão actual basta abrir o terminal e executar o seguinte comando:
xmodmap -e "keycode 0x86 = Menu"
O comando acima substitui a tecla do Window$ do lado direito (keycode 0x86) pela tecla Menu. Contudo, se querem fazer o remapeamento de algumas teclas, provavelmente desejam que o sistema operativo faça o remapeamento automaticamente cada vez que ligam o computador. Para tal, é necessário começar por criar um ficheiro com o nome “.Xmodmap” na vossa directoria de utilizador. Este ficheiro irá conter todos os comandos de mapeamento que irão ser executados cada vez que iniciarem o Ubuntu. Como exemplo, vou mostrar-vos como fazer o remapeamento que eu precisei de fazer para transformar a minha tecla do Window$ do lado direito numa tecla Menu. Abram o ficheiro .Xmodmap no vosso editor de texto preferido  e insiram os seguintes comandos:
remove mod4 = Super_R
add mod3 = Super_R
keycode 0x86 = Menu
Como é que eu soube estes códigos e nomes? Vou mostrar-vos. 🙂 Para começar, executei o seguinte comando:
xmodmap -pm
que me deu a seguinte informação:
shift       Shift_L (0x32),  Shift_R (0x3e)
lock        Caps_Lock (0x42)
control     Control_L (0x25),  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)
As teclas esquerda e direita do Window$ são chamadas de Super_L e Super_R no linux. Como podem ver, a tecla Super_R está associada com a tecla modificadora mod4 e tem o código 0x86. Então, o que fiz foi dissociá-la da tecla modificadora mod4 (remove mod4 = Super_R), e depois associei-a à tecla modificadora mod3 (add mod3 = Super_R), que não tem nenhuma acção associada. Depois bastou remapeá-la para que passasse a ser uma tecla Menu (keycode 0x86 = Menu). Fácil, não é? 🙂 Se quiserem testar a configuração definida no vosso ficheiro .Xmodmap sem terem de reiniciar o computador, basta executarem o seguinte comando:
xmodmap .Xmodmap
Podem fazer m mesmo com qualquer outra tecla que desejem mudar. Se tiverem acesso ao computador de um amigo vosso podem até usar o Xmodmap para fazerem uma partida fácil e rápida 😛 

Se quiserem descobrir o keycode de uma tecla específica, podem instalar e usar o xev:

sudo apt-get install xev
xev
Espero que este tutorial vos seja útil! 🙂
 
Até à próxima! 🙂

Achou esta publicação útil? Deseja contribuir para outros projectos envolvendo ciências computacionais, electrónica, robótica ou mecatrónica que serão publicados neste blog? Se sim, pode fazer uma doação utilizando o botão do Paypal abaixo. Obrigado! 🙂
 

Donate



  • Facebook
  • Twitter
  • Google Plus
  • LinkedIn
  • Reddit
  • Delicious
  • StumbleUpon
  • Digg
  • RSS
  • Email
  • Print