O kernel do Linux gera um código toda vez que uma tecla é pressionada em um teclado. Esse código é comparado a uma tabela de keycodes
definindo uma figura que é então exibida.
Esse processo é complicado por Xorg
, que inicia sua própria tabela de keycodes
. Cada keycode
pode pertencer a um keysym
. Um keysym
é como uma função, iniciada digitando uma chave. Xmodmap
permite que você edite essas relações keycode-keysym
.
Para obter a tabela de keymaps atual usando Xmodmap
use:
xmodmap -pke
Isso imprimirá a tabela completa no seguinte formato:
keycode <keycode#> = <boundkey> <boundkey>
Antes de mover qualquer coisa, certifique-se de fazer o backup do layout keycode
original usando xmodmap -pke >> $HOME/Xmodmap.orig
. Isso colocará o arquivo Xmodmap.orig
no diretório inicial dos usuários.
Dica: também existem alguns códigos de teclas predefinidos (por exemplo, XF86AudioMute
, XF86Mail
). Esses códigos de teclas podem ser encontrados em: /usr/include/X11/XF86keysym.h
Você também pode editar as chaves: Shift
, Ctrl
, Alt
e Super
(sempre existe uma esquerda e outra direita ( Alt_R=AltGr
)).
Veja um exemplo rápido de como sua configuração ficaria se você quisesse trocar CTRL
e Super
(chave do Windows):
keycode 255 =
!add Shift = Shift_L Shift_R
!add Lock = Caps_Lock
add Control = Super_L Super_R
!add Mod1 = Alt_L Alt_R
!add Mod2 = Mode_switch
!add Mod3 =
add Mod4 = Control_L Control_R
!add Mod5 =
(o !
é usado para comentar / ignorar a linha. Neste exemplo, apenas Super
e Control
chaves são ajustadas)
Esta configuração seria salva em $HOME/.Xmodmap
e carregada com
xmodmap ~/.Xmodmap
Você também pode começar isso com xwindows, adicionando-o ao seu ~/.xinitrc
E se as coisas ficarem cabeludas, você sempre poderá voltar a Xmodmap.org
.
Quaisquer ligações para aplicativos que dependem dessas chaves também serão movidas. Portanto, certifique-se de que tudo permaneça vinculado para que você não perca nenhuma funcionalidade. É um jogo de cabo de guerra.