Esta resposta deve explicar como instalar o layout de teclado estendido internacional Dvorak encontrado em este artigo de Arjen van Kol . A instalação e a configuração foram bem diretas usando o XKB.
Como instalar um novo layout
Faça o download do arquivo de layout dvorak_intl
do artigo vinculado. Em seguida, copie o arquivo como superusuário para o diretório de destino /usr/share/X11/xkb/symbols/
.
$ sudo cp dvorak_intl /usr/share/X11/xkb/symbols/dvorak_intl
Não há necessidade de alterar a permissão. Para usuários curiosos, use o comando stat
para verificar a permissão; A permissão padrão é 644
.
$ ls -l /usr/share/X11/xkb/symbols/dvorak_intl
-rw-r--r-- 1 root root 2989 May 14 17:32 /usr/share/X11/xkb/symbols/dvorak_intl
$ stat -c '%a %n' /usr/share/X11/xkb/symbols/dvorak_intl
644 /usr/share/X11/xkb/symbols/dvorak_intl
Como definir novo layout
Antes de fazer alterações, execute setxkbmap -query
para verificar o layout atual, caso desejemos reverter as alterações posteriormente. A maioria dos usuários usará o layout de teclado inglês dos EUA por padrão.
$ setxkbmap -query
rules: evdev
model: pc105
layout: us <-- current layout
Agora, execute o comando setxkbmap
para definir o novo layout de teclado. A opção -verbose
foi adicionada para ver a saída, que de outra forma não mostrará nada.
$ setxkbmap -verbose dvorak_intl
Warning! Multiple definitions of keyboard layout
Using command line, ignoring X server
Trying to build keymap using the following components:
keycodes: evdev+aliases(qwerty)
types: complete
compat: complete
symbols: pc+dvorak_intl+inet(evdev)
geometry: pc(pc105)
O usuário pode executar novamente setxkbmap -query
para verificar as alterações feitas e exibidas agora na coluna de layout.
$ setxkbmap -query
rules: evdev
model: pc105
layout: dvorak_intl <-- new layout
Teste o novo layout
As alterações são efetivadas imediatamente; Não há necessidade de sair ou recarregar o servidor X. Abra um editor de texto e pressione cada tecla de quatro linhas no teclado para ver a saída.
Chaves de primeiro e segundo nível (sem e com Shift ):
'1234567890[]
~!@#$%^&*(){}
´,.pyfgcrl/=\
¨<>PYFGCRL?+|
aoeuidhtns-
AOEUIDHTNS_
;qjkxbmwvz
:QJKXBMWVZ
Teclas de terceiro e quarto nível (com AltGr e Shift + AltGr ):
¡ ♯
[]{}
´¸… č
«»¶ ¿
å°əŭ ß—
Å Ŭ ¯
ĸ×
Não tenho certeza se há chaves ausentes para o terceiro e quarto níveis do layout do teclado, por exemplo, dvorak_intl
, pois não estou acostumado a digitar nesses níveis.
Torne persistente
O comando setxkbmap
sozinho é efetivo apenas para a sessão atual. No entanto, é possível adicionar o seguinte comando aos aplicativos de inicialização no respectivo ambiente de área de trabalho.
setxkbmap LAYOUTNAME
Para que o LAYOUTNAME
seja configurado toda vez que o usuário fizer login no sistema e a sessão da área de trabalho for iniciada. Efetue logout e login novamente, abra o Terminal e execute setxkbmap -query
para verificar se o novo layout de teclado foi aplicado em todas as sessões.
Carregando a configuração local em sistemas não-Debian
Caso a atualização do sistema substitua o arquivo de configuração em /usr/share/X11/xkb/symbols
, o usuário poderá realocar o arquivo de configuração do layout em outro lugar, por exemplo, Diretório pessoal (e remover do diretório do sistema para ter certeza).
$ mkdir -p ~/.xkb/symbols
$ cp /usr/share/X11/xkb/symbols/dvorak_intl ~/.xkb/symbols
$ sudo rm -i /usr/share/X11/xkb/symbols/dvorak_intl
Em seguida, carregue a configuração do layout a partir daí, usando o comando com a opção -I
. Ele funciona de maneira semelhante.
$ setxkbmap -I ~/.xkb dvorak_intl
$ setxkbmap -query
rules: evdev
model: pc105
layout: dvorak_intl
Então, em vez de setxkbmap LAYOUTNAME
, adicione setxkbmap -I ~/.xkb LAYOUTNAME
ao aplicativo de inicialização no respectivo ambiente de área de trabalho para carregar a configuração do teclado para todas as sessões.
Discrepância na Debian
Se o comando retornar a mensagem "Erro ao carregar a nova descrição do teclado" (conforme descrito por esta postagem anterior no Unix.SE ), então use o seguinte comando:
$ setxkbmap -I ~/.xkb dvorak_intl -print | xkbcomp -I$HOME/.xkb - $DISPLAY
Warning: Type "ONE_LEVEL" has 1 levels, but <RALT> has 2 symbols
Ignoring extra symbols
Warning: Key <OUTP> not found in evdev+aliases(qwerty) keycodes
Symbols ignored
...
Warning: No symbols defined for <I253> (keycode 253)
Estranhamente, o último comando retorna muitas mensagens de aviso que podem estar relacionadas ao meu modelo de teclado estrangeiro (variante de layout de teclado japonês OADG 109A). Além disso, as alterações não serão refletidas em setxkbmap -query
, mas funcionarão conforme o esperado quando forem digitadas.
Testado usando o setxkbmap 1.3.0 no Xubuntu 14.04 (Xfce 4.10), Debian Xfce 8 (Xfce 4.10) e Debian 8.7 Gnome 3.14.
Aviso de isenção
Esta resposta pretende mostrar como usar o XKB para instalar e definir o novo layout de teclado. A instrução original foi encontrada no repositório workman / xorg , que mencionou o caminho legado e o caminho atual (por Ubuntu 10.04, GNOME 2.30 na época). No entanto, a instrução foi testada como válida para ambientes não-GNOME, como o Xfce.
As instruções datadas fornecidas no arquivo dvorak_intl
foram provavelmente destinadas a versões mais antigas do GNOME e não são mais válidas para distribuições modernas que usamos hoje. Enquanto o caminho herdado é encontrado em /etc/X11/xkb/symbols/
, o caminho atual é encontrado em /usr/share/X11/xkb/symbols/
.
A tecla AltGr refere-se à tecla de composição. Ele não é atribuído por padrão (pelo menos no Xfce) ou normalmente à tecla Right Alt , dependendo da distribuição do Linux em uso. Embora tenha ativado a tecla de composição para demonstrar as chaves de terceiro e quarto nível, a configuração da chave de composição não é mostrada acima.