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.