helton
Membro Senior
Registrado
142 Mensagens
10 Curtidas
Olá Saulo.
Basicamente é descobrir qual o keycode da tecla e usar o xmodmap para mapeá-la. Para descobrir o keycode da tecla, use o xev. Aqui recebi a seguinte informação:
[code=rich]KeyPress event, serial 29, synthetic NO, window 0x3800001,
root 0x7f, subw 0x0, time 7291018, (401,600), root406,677),
state 0x10, keycode 94 (keysym 0x5c, backslash), same_screen YES,
XLookupString gives 1 bytes: (5c) "\"
XmbLookupString gives 1 bytes: (5c) "\"
XFilterEvent returns: False
KeyRelease event, serial 32, synthetic NO, window 0x3800001,
root 0x7f, subw 0x0, time 7291090, (401,600), root406,677),
state 0x10, keycode 94 (keysym 0x5c, backslash), same_screen YES,
XLookupString gives 1 bytes: (5c) "\"
XFilterEvent returns: False[/code]
Observe em negrito keycode 94. Esse é o código da tecla, que é o mesmo da contra barra.
Se estivesse desconfigurado, bastaria fazer:
$ xmodmap -e "keycode 94 = backslash bar backslash bar masculine dead_breve"
onde:
backslash = a contra barra "\"
bar = o pipe "|" (acionado com Shift)
masculine = o símbolo de masculino "º" (acionado com Alt Gr)
dead_breve = "˘" (não descobri como acionar no meu teclado.)
Depois de descobrir a combinação correta, basta colocar o comando no seu ~/.bashrc
Boa sorte.
Saulo Toledo
Super Participante
Registrado
767 Mensagens
3 Curtidas
Solucionou metade do meu problema, muito obrigado! Eu havia tentato mapear para terminal, e não para o x.org, e isso me soluciona para o X. Eu coloquei no lugar da tecla e menu que fica ao lado do Alt Gr, já que não uso ela mesmo. Agora tenho \ e | no X.
A outra metade do problema é que costumo usar o sistema em modo texto algumas vezes, para variadas tarefas, e ainda não tenho o | no modo texto. tens uma solução para lá?
Obrigado
Saulo
willianpts
Membro Junior
Registrado
142 Mensagens
6 Curtidas
helton, cara, muito obrigado. Nas últimas versõs do xorg o ponto (.) que fica ao lado do teclado numérico virou uma vírgula. Mas graças à sua dica, usei o comando: xmodmap -e "keycode 129 = 0x2e " , e agora ele voltou a ser ponto.
Valeu!
helton
Membro Senior
Registrado
142 Mensagens
10 Curtidas
De nada.
Também pode ser : xmodmap -e "keycode 129 = period"
Saulo, para o console eu encontrei o seguinte:
use o comando showkey para descobrir qual a tecla que quer mapear. No meu teclado, a tecla menu corresponde ao keycode 127.
Para mapeá-la, use o loadkeys, mas apenas como root:
# loadkeys << EOF
keycode 127 = backslash bar
EOF
Funcionando, adicione o comando em /etc/rc.local
Dica retirada daqui:
http://www.ibiblio.org/pub/Linux/docs/HOWTO/Keyboard-and-Console-HOWTO
---------
Pq não mapeou a tecla que contém o pipe no lugar da tecla de menu?
Saulo Toledo
Super Participante
Registrado
767 Mensagens
3 Curtidas
A tecla que contém o pipe não manda nem sinal, estranhamente. O mesmo acontece com uma tecla de ] e }.
Já tentei de tudo, o xev nem reconhece a tecla sendo pressionada.
Aqui não funciona o comando "Keycode". Em seu lugar tenho o setkeycode, que só mapeia códigos em hexa, e não consegui fazê-lo funcionar ainda.
helton
Membro Senior
Registrado
142 Mensagens
10 Curtidas
Comando Keycode? não tem nenhum comando keycode na dica que eu passei. Só usei dois comandos: showkey e loadkeys. No Ubuntu ambos estão no pacote kbd.
Tecle F1 para ir para o console
$ showkey
(aperte a tecla de menu, será informado o keycode da tecla)
$ sudo su
# loadkeys << EOF
keycode 127 = backslash bar
EOF
teste o pipe com Shift Menu
se funcionar, é só fazer como eu disse, adicione as três linhas no arquivo /etc/rc.local , antes de exit 0
Boa sorte.
Saulo Toledo
Super Participante
Registrado
767 Mensagens
3 Curtidas
Comando keycode: erro meu :P hehe
Não funciona de jeito nenhum com o loadkeys, apesar do comando executar corretamente. O comando que trocou as teclas corretamente para mim aqui foi o setkeycode, mas não estou sabendo usá-lo, já que ele faz com valores em hexa...
helton
Membro Senior
Registrado
142 Mensagens
10 Curtidas
Olá Saulo.
Difícil dizer porque não está funcionando. Aqui eu mapeei a tecla de menu normalmente apenas com showkey e loadkeys.
Não sei mais o que pode ser. Quando você segue o passo à passo não retorna nenhuma mensagem de erro? Você está usando console normal ou com framebuffer? Qual a distro? Se for uma debian-like, pode tentar reconfigurar o teclado com:
$ sudo dpkg-reconfigure console-setup
e escolher o modelo do teclado (brasileiro, abnt2), codificação (utf8?) o conjunto de caracteres (Latin1 e Latin15) para as teclas, entre outras opções. Será necessário reiniciar para as alterações surtirem efeito.
Estive lendo sobre o setkeycode (que no Ubuntu é setkeycodes) e ao que entendi ele serve para atribuir um keycode a uma tecla não identificada no mapa de teclas. Mas me pareceu bem confuso, quem sabe algum colega se prontifica a explicar melhor.
Aguardando.