Autor Tópico: Truque interessante: Desabilitar teclas que você não quer ou que atrapalham  (Lida 20556 vezes)

Offline alexmatos

  • Usuário Ubuntu
  • *
  • Mensagens: 792
  • Arch Linux / Ubuntu 7.04
    • Ver perfil
Esse truque foi motivado por um tópico que eu mesmo fiz e por algumas coisas que eu li nos últimos dias enquanto tentava ativar minha tecla Num Lock na inicialização.

Algumas pessoas* tem horror à tecla Caps Lock e chegam até a arrancá-la! Outros tem aqueles teclados com as malditas teclas Sleep e Power Off (que eu nem sei se funcionam no Linux) e também partem para o arranque. E alguns querem que a tecla Num Lock simplesmente não funcione, já que carregam numlockx on na inicialização do sistema e não vêem motivo para desligar a função que permite usar o teclado numérico.

* Lendo com mais atenção esse link, vi que ele dá a dica que eu vou dar aqui, só que não explica como chega a ela. Como esse truque abrange qualquer tecla - e não só a Caps Lock - e explica o procedimento, ele ainda se faz relevante.

O truque foi feito no Xubuntu, mas com certeza funciona no Ubuntu e Kubuntu. Não requer a instalação de nenhum programa. Vamos à ele:

Abra o terminal e digite

Código: [Selecionar]
xev
Pressione a tecla que deseja desabilitar (no meu caso, a Num Lock). Algo assim vai aparecer

Código: [Selecionar]
KeyPress event, serial 31, synthetic NO, window 0x1e00001,
    root 0x48, subw 0x0, time 116656922, (135,-10), root:(525,487),
    state 0x0, keycode 77 (keysym 0xff7f, Num_Lock), same_screen YES,
    XLookupString gives 0 bytes:
    XmbLookupString gives 0 bytes:
    XFilterEvent returns: False

KeyRelease event, serial 31, synthetic NO, window 0x1e00001,
    root 0x48, subw 0x0, time 116657043, (135,-10), root:(525,487),
    state 0x10, keycode 77 (keysym 0xff7f, Num_Lock), same_screen YES,
    XLookupString gives 0 bytes:
    XFilterEvent returns: False

O que nos interessa aqui é, na terceira linha, o número do keycode, que nesse caso é 77.

Vamos criar agora o arquivo .Xmodmap na sua pasta pessoal (/home/fulano). No terminal:

Código: [Selecionar]
cd ~
para mudar para a pasta pessoal e

Código: [Selecionar]
mousepad .Xmodmap
para criar o arquivo.

Obs: Se você é usuário (K)Ubuntu, troque mousepad por gedit (Ubuntu) ou kedit (Kubuntu). Se você já tem um pouquinho de intimidade com seu sistema, use o seu editor de textos favorito (vim, emacs, etc...).

Dentro do arquivo .Xmodmap, digite:

Citar
keycode 77 =

sem espaço depois do sinal de igualdade: "keycode 77 =".

Obs: Se você quiser desabilitar a Num Lock e a Caps Lock (cujo keycode no meu teclado é 66), ficaria assim:

Citar
keycode 77 =
keycode 66 =

ou seja, cada tecla em uma nova linha.


Salve o arquivo e feche. Para testar se funcionou, no terminal:

Código: [Selecionar]
xmodmap -e 'keycode 77 ='
Provavelmente seu sistema já carrega o arquivo .Xmodmap na inicialização. Se não, adicione a linha

Código: [Selecionar]
xmodmap ~/.Xmodmap
a um arquivo de inicialização que seja carregado antes do X (no caso do Xubuntu, pode ser no /etc/init.d/rc.local).


NOTA IMPORTANTE: Até agora não consegui achar um jeito de desabilitar a tecla Num Lock depois de carregar o numlockx on. Se alguém puder me ajudar, abri um tópico novo para isso. Para as outras teclas, o procedimento funciona normalmente.
« Última modificação: 09 de Janeiro de 2007, 14:33 por alexmatos »