Eu tenho esse layout de teclado no meu Dell Latitude
Realmente é difícil para mim que as chaves Home
e sejam mapeadas para a chave End
composta . Fn
Então consegui trocar PageUp
com Home
e PageDown
adicionando End
isso /usr/share/X11/xkb/symbols/de
(na verdade, é uma variante alemã)
xkb_symbols "basic" {
...
key <HOME> { [ Prior ] };
key <PGUP> { [ Home ] };
key <END> { [ Next ] };
key <PGDN> { [ End ] };
...
}
Está funcionando conforme o esperado. No entanto, frequentemente alterno entre meu laptop como está e minha mesa de trabalho usando uma docking station e um teclado completo, onde esse hack é irritante.
As manipulações desses arquivos de símbolos xkb requerem uma reinicialização (ou pelo menos uma reinicialização do ambiente de desktop). Existe alguma possibilidade de mudar o comportamento em tempo de execução? Talvez até automatizado, como um gancho do udev vendo o dock USB-C?
Responder1
Você pode alternar entre layouts com setxkbmap
. Por exemplo, eu uso o layout Dvorak, apliquei suas alterações no meu local
/usr/share/X11/xkb/symbols/de
e mudei para o layout alemão:
setxkbmap de
Verifiquei se o PGUP funciona como Home, funciona. Então voltei para dvorak:
setxkbmap dvorak
Se você quiser alternar entre um layout original e seu layout personalizado, acho que a melhor maneira é remover as 4 linhas que você mostrou na sua pergunta de um de
arquivo de layout original e criar um novo arquivo de layout personalizado, digamos /usr/share/X11/ xkb/symbols/de-modified com as modificações adicionadas. Não haverá reinicialização nem reinicialização do X necessária para alternar entre os 2 layouts:
setxkbmap de # PGUP wouldn't work as home
setxkbmap de-modified # PGUP would work as home