Se você usa um notebook, é bem provável que tenha vontade de trocar as funções de algumas das teclas do teclado. Em muitos notebooks da Acer, por exemplo, a tecla “/” é digitada pressionando “AltGr+Q” e a “?” pressionando “AltGr+W”, o que não é nada prático. Existem ainda casos em que alguma das teclas não é reconhecida pelo sistema, ou que você deseja desativar alguma tecla específica (como o CapsLock) para evitar toques acidentais. No Linux isso pode ser feito usando o xmodmap, um pequeno utilitário de linha de comando que permite definir funções e remapear as teclas.
O primeiro passo é descobrir os códigos das teclas que você deseja remapear. Para isso, abra um terminal e rode o comando “xev“. Ele abrirá uma pequena janela que monitorará os toques no teclado. Ao pressionar cada tecla, ele exibe um conjunto de informações sobre ela, como em:
root 0x4f, subw 0x0, time 170297154, (401,512), root:(404,537),
state 0x0, keycode 117 (keysym 0xff67, Menu), same_screen YES,
XLookupString gives 0 bytes:
XFilterEvent returns: False
Entre todas as informações, o que interessa é o keycode da tecla, informado na terceira linha. No exemplo, pressionei a tecla menu (entre o AltGr e o Ctrl), que retorna o keycode 117.
Imagine que você tem um notebook Acer e deseja que ela assuma a função de tecla “/ ?” que não está presente no teclado. O comando seria:
Se você quisesse usar a tecla Windows (keycode 115), bastaria trocar o código da tecla ao executar o comando, como em:
Se o sistema não detectar a tecla ” |” do teclado, o que é relativamente comum em teclados ABNT2, use o xev para verificar qual é o keycode da tecla (normalmente será o 94) e atribua a ele as teclas “backslash bar”, como em:
Você pode estar se perguntando como descobri que o “nome científico” da tecla é “backslash bar”. Na verdade é bem simples, basta ir em outro micro (onde a tecla seja reconhecida normalmente) e usar o xev para descobrir o nome correto do caracter para a tecla minúscula e para a maiúscula, que é também informado na terceira linha. No caso da tecla “~^”, por exemplo, você teria:
KeyRelease event, serial 34, synthetic NO, window 0x4000001,
root 0x4f, subw 0x0, time 172080489, (453,538), root:(456,563),
state 0x4, keycode 48 (keysym 0xfe52, dead_circumflex), same_screen YES,
XLookupString gives 1 bytes: (1e) “”
XFilterEvent returns: False
Para remapear a tecla, bastaria informar o keycode da tecla que receberá as funções, como em:
O xmodmap pode ser usado para remapear qualquer outra tecla que eventualmente não seja reconhecida pelo sistema, o que você queira trocar de posição por comodidade.
Um bom exemplo é a tecla Caps_Lock, uma função pouco usada hoje em dia, que é basicamente usada apenas quando você quer dar a impressão de que está gritando. Alguns tem tamanha aversão à pobre tecla que chegam a arrancá-la do teclado.
Uma forma menos radical de se livrar dela é usar a função “remove lock = Caps_Lock” do xmodmap:
A partir daí, o Caps_Lock é desativado. Se quiser, você pode até mesmo atribuir outra função à tecla. Uma configuração comum é simplesmente fazer com que ela clone a função da tecla “A”, já que a maioria dos toques acidentais no Caps_Lock são destinados a ela. Para isso, o comando seria:
Como de praxe, a configuração é perdida quando você reinicia o micro, ou faz logout. Para que ela se torne permanente, você tem basicamente duas opções. A primeira é simplesmente adicionar os comandos no final do arquivo “/etc/profile“. Isso fará com que eles sejam executados sempre que você abrir um terminal.
Para que eles sejam realmente executados logo que o KDE ou o GNOME é aberto, é necessário adicioná-los no final do arquivo “/etc/profile.d/kde4.sh” (para o KDE 4), “/etc/profile.d/kde.sh” (para o KDE 3) ou “/etc/profile.d/gconf.sh” (para o GNOME). Não preciso dizer que você deve ter cuidado ao editar estes arquivos, já que eles são essenciais para o carregamento do ambiente gráfico. Simplesmente adicione as linhas no final do arquivo correspondente, sem alterar as demais.
Se você passar a receber um erro como:
no corresponding keycodes
… volte ao arquivo de configuração e adicione a linha:
… antes da linha: xmodmap -e “remove lock = Caps_Lock”. Isso faz com que a função da tecla seja re-atribuída antes de ser removida, evitando a exibição da mensagem de erro. Isso é necessário sempre que o comando é adicionado em um arquivo de inicialização que é executado mais de uma vez por sessão (como no caso do “/etc/profile”, que é executado toda vez que você abre um terminal). Um exemplo da configuração seria:
xmodmap -e “remove lock = Caps_Lock”
xmodmap -e “keycode 66 = a A”
Antigamente, esta configuração era colocada no arquivo “/etc/X11/xinit/xinitrc” ou no arquivo “Xmodmap”, dentro do home, mas eles caíram em desuso, já que não são mais executados por padrão nas distribuições atuais.
O xinitrc, por exemplo, é executado quando abrimos o ambiente gráfico usando o comando “startx”. Como nas distribuições atuais o ambiente gráfico é carregado a partir do GDM ou do KDM (os gerenciadores de login), ele acaba nunca sendo executado. Este é apenas um exemplo de como mesmo as configurações mais básicas podem mudar com o tempo, conforme novos softwares e novas camadas de componentes são introduzidos dentro do sistema.
Confira a quarta parte em: https://www.hardware.com.br/tutoriais/mandriva4/
Deixe seu comentário