Trocar Vírgula por Ponto Decimal no Teclado Numérico

A intenção deste tópico é documentar, para quem tiver interesse, a alteração da ", "(vírgula) presente no teclado numério para “.” (ponto decimal).

Recentemente comprei um teclado 100% da Redragon porém na parte de números ele trás a vírgula decimal, diferente do teclado que usava antes que trazia o ponto decimal. Isso me encomodou pois no dia-a-dia trabalho muito com endereços IP e estou acostumado a usar o ponto ali junto com o teclado numérico.

A solução foi remapear essa tecla, o tutorial abaixo foi feito com inteção de alterar a vírgula por ponto, mas pode ser replicada para outros cenários com o mesmo propósito sem a necessidade de baixar nenhum software adicional pra isso.

1. Descobrir o keycode:

Antes é necessário descobrir qual o keycode de cada tecla, esse keycode é interpretado pelo kernel. O comando abaixo irá auxiliar na identificação regisstrando o evento quando você precionar a tecla que deseja remapear.

$ xev


observe que o keycode para a vírgula no teclado numérico é 91.

Obs.: tentei usar identificadores de keycode online, porém eles apresentam código diferente do que o kernel relamente usa, por isso a nececssidade de usar o xev!!

É possível verificar como todos os keycodes são mapeados pelo kernel usando o comando abaixo

$ xmodmap -pke


Obs.: é importante copiar a linha correspondente ao keycode de seu interesse caso seja necessário retornar ao padrão!!

2. Remapeando Tecla:

Usaremos o comando xmodmap como parametro -e para remapear o keycode para o significado que queremos que ele tenha a partir de agora, para isso precisamos dizer que o keycode correspondente, que agora ele tem um novo nome para o simbolo:

$ xmodmap -e "keycode 91 = Num_Lock period"

após o “=” vem o symbol name que a tecla deve representar, para ponto decimal é period, para vírgula é comma. O Num_Lock serve para que o teclado aceite o ponto decimal mesmo com o Num Lock desligado, sem ele o ponto só irá funcionar quando essa funcionalidade estiver desligada.

Obs.: Para saber todos os symbol name acessar: List of Keysyms Recognised by Xmodmap - LQWiki

Na imagem abaixo podemos ver o comportamenteo antes e depois do remapeamento da tecla que antes imprimia “,” e agora “.”
image

3. Persistindo a Mudança:

Pronto o mapeamento já está feito, porém ao reiniciar o sistema a modificação será perdida. Para persistirmos a mudança fazemos um Shell Script (em ~/.config) para ser executado automaticamente toda vez que o sistema for inicalizado.

#!/bin/bash
sleep 2
xmodmap -e "keycode 91 = Num_Lock period"

image
Obs.: o comando sleep serve para garantir que todo que todo o ambiente grafico seja iniciado antes de executar o remapeamento. Pois o xmodmap depende deste ambiente estar totalemnte inicializado para ser executado!!

agora damos permição de execução para o Script:

$ chmod +x ~/.config/xmodmap.sh

e então criamos um arquivo de inicialização (em ~/.config/autostart) caso o diretório não exista, podemos cria-lo:

[Desktop Entry]
Type=Application
Exec=/home/USER/.config/xmodmap.sh
Hidden=false
NoDisplay=false
X-GNOME-Autostart-enabled=true
Name=xmodmap
Comment=remap key

Obs.: observe que o nome de usuário deve corresponder ao seu

image

Pronto agora após reiniciar o sistema a tecla será remapeada.

5 curtidas