Crie caracteres especiais disponíveis no teclado dos EUA e Wayland

5

Eu tenho um teclado e layout nos EUA, mas às vezes eu preciso de teclas especiais alemãs (äÄöÖüÜß). É claro que eu poderia mudar os layouts de teclado quando eu preciso, mas eu costumava abusar que uttery tampas inúteis bloquear chave para acessar os personagens que eu preciso com o seguindo ~/.Xmodmap :

keycode 66 = Mode_switch Multi_key
keycode 20 = minus underscore ssharp
keycode 34 = bracketleft braceleft udiaeresis Udiaeresis
keycode 47 = semicolon colon odiaeresis Odiaeresis
keycode 48 = apostrophe quotedbl adiaeresis Adiaeresis

Por alguma estranha razão, o comportamento do teclado mudou quando o Fedora trocou para Wayland. Agora meu mapeamento de teclado (mágico) só funciona às vezes e Caps Lock Key atua novamente no locker: (

Existe uma abordagem Wayland aware para disponibilizar caracteres especiais (alemães)? em um teclado dos EUA? (Ou, como alternativa, tornar []{}|<> disponível com um toque de tecla em um teclado alemão)

    
por frans 27.12.2016 / 21:38

2 respostas

6

O Wayland usa o XKB, mas como especificar seu layout varia com base no seu compositor (você não pode usar setxkbmap ou xkbcomp como no Xorg). Você provavelmente desejará a variante altgr-intl do layout padrão us ( Layout internacional dos EUA) e possivelmente algumas opções: Compose (também conhecido como Multi_key), talvez em uma tecla Menu? AltGr na tecla Alt direita? (A variante intl é semelhante, mas inclui teclas de atalho no nível 1; altgr-intl coloca os atolamentos no nível 3, então eles estão fora do caminho, mas ainda acessíveis.)

Nesse layout e variante, a maioria dos símbolos listados está disponível com facilidade nas teclas AltGr ou Compose:

AltGr+q = ä   AltGr+Shift+a = Ä    Compose+",a = ä    Compose+",A = Ä
AltGr+p = ö   AltGr+Shift+p = Ö    Compose+",o = ö    Compose+",O = Ö
AltGr+y = ü   AltGr+Shift+y = Ü    Compose+",u = ü    Compose+",U = Ü
AltGr+s = ß                        Compose+s,s = ß

Para a Weston , você adicionaria configurações a $HOME/.config/weston.ini :

[keyboard]
keymap_rules=evdev
keymap_layout=us
keymap_variant=altgr-intl
keymap_options=compose:menu,level3:ralt_switch

Para oscilação (um i3-like), você precisa definir variáveis de ambiente antes da execução, encadeadas na linha de comando ou em um script auxiliar:

#!/bin/sh
export XKB_DEFAULT_LAYOUT=us
export XKB_DEFAULT_VARIANT=altgr-intl
export XKB_DEFAULT_OPTIONS=compose:menu,level3:ralt_switch
sway

No GNOME , você terá que consultar o seu favorito gsettings or dconf a parte dianteira. Você pode especificar opções de XKB em /org/gnome/desktop/input-sources/xkb-options e layouts específicos em /org/gnome/desktop/input-sources/sources . (Isso pode ter mudado desde a postagem; verifique suas configurações existentes.)

gsettings set org.gnome.desktop.input-sources sources "[('xkb', 'us+altgr-intl')]"
gsettings set org.gnome.desktop.input-sources xkb-options "['compose:menu','lv3:ralt_switch']"

O KDE usa seu próprio painel de controle gráfico; você encontrará em Configurações do sistema > Hardware > Dispositivos de entrada > Teclado . A aba Layouts permitirá que você configure a variante altgr-intl (ela está listada como "Inglês (chaves internacionais AltGr)"), e as opções do XKB estão listadas no Avançado separador.

No KDE Frameworks 5 atual, este painel de controle armazena as configurações em $HOME/.config/kxkbrc .

Se o seu sistema usa o localectl do systemd, você pode tentar configurá-lo para o que você deseja, e o GNOME / KDE pode ser capaz de pegá-lo de lá. Isso pode apenas definir coisas para o Xorg atualmente, mas eu gosto de tê-lo como um substituto, e espero que os compositores de Wayland o usem em versões futuras para pegar as preferências do sistema.

sudo localectl set-x11-keymap us pc105 altgr-intl compose:menu,level3:ralt_switch
(format:                  [layout] [model] [variant] [options])
    
por 13.01.2017 / 17:52
0

Uma possibilidade pode ser alterar o teclado padrão de inglês (EUA) para inglês (internacional). Eu faço isso em todos os computadores que eu tenho controle suficiente, e isso me permite usar alguns sinais de pontuação como "dead key" para obter caracteres comuns não ingleses.

No Windows, isso converte a tecla Alt direita em AltGr, e combinando isso com determinadas teclas pressionadas, obtém-me caracteres não ingleses relacionados, como AltGr + s para sharp-s, AltGr + t para o espinho islandês, AltGr + d para o edh islandês e outros.

Para "dead-key", a maioria da pontuação dobra como acentos - para obter e-acute, digite 'then e; o-agudo 'então o, um-sepultura' então um, u-umlaut "então você, e assim por diante. Para obter a pontuação, pressione um caractere que não combine com um acento, ou pressione espaço - um apóstrofo é 'então espaço; uma marca de aspas duplas / polegada é' espaço, e assim por diante. É um pouco de ajuste, mas muito mais fácil do que memorizar códigos alternativos (no Windows) ou alternar continuamente entre os layouts.

(Eu já fiz isso no 'Mint Linux' pronto para uso; modulo algumas pequenas diferenças em que alguns dos caracteres AltGr estão localizados, tem o mesmo efeito - mas é noy Wayland ).

    
por 27.12.2016 / 21:53