Autor Tópico: Tecla ESC nas teclas personalizadas  (Lida 2809 vezes)

Offline ReiDaCocada

  • Usuário Ubuntu
  • *
  • Mensagens: 18
    • Ver perfil
Tecla ESC nas teclas personalizadas
« Online: 10 de Outubro de 2014, 13:57 »
Então, depois de beber uma xícara de café no Notebook, acabei cometendo um infeliz acidente e derramei café no teclado, por sorte, não deu nenhum problema no Note, mas a bendita tecla ESC me deixou na mão e parou de funcionar  >:(
Já procurei vários métodos pra mapear teclas, mas como sou um pouco novato no linux, não achei um que funcionasse. Então, minha última alternativa é as teclas personalizadas nas configurações do Sistema, e gostaria de saber se é possível, por exemplo, dar a mesma função da tecla ESC pra combinação Ctrl + M? ;--;
« Última modificação: 31 de Outubro de 2014, 14:56 por ReiDaCocada »

Offline edjen

  • Usuário Ubuntu
  • *
  • Mensagens: 183
  • Toda mudança gera resistência.
    • Ver perfil
Re: Tecla ESC nas teclas personalizadas
« Resposta #1 Online: 30 de Outubro de 2014, 20:02 »
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
« Última modificação: 30 de Outubro de 2014, 20:25 por edjen »
GNULinux = Asus P5K-E = Intel Q9450 = Quadro 400 = 3 Hd 80Gb Samsung + Hd 500Gb Seagate = 8Gb RAM DDR2 OCZ 1066 mhz

Offline ReiDaCocada

  • Usuário Ubuntu
  • *
  • Mensagens: 18
    • Ver perfil
Re: Tecla ESC nas teclas personalizadas
« Resposta #2 Online: 31 de Outubro de 2014, 14:55 »
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

Obrigado pela resposta, vou tentar suas instruções  ;D