Usei o Gnome por um longo tempo, mas preferi o método de entrada vanilla X ( xim
) sobre o comportamento padrão do GTK. Eu apenas definir GTK_IM_MODULE
e QT_IM_MODULE
variáveis de ambiente para xim
, e não tinha nenhum problema com a configuração de múltiplas layout, Compose-chave, personalizados ~/.XCompose
e misc:typo
extensões tipografia.
O Gnome 3.6 recente estragou completamente a entrada do teclado enviando um bocado e meio cozido ibus
e forçando-o sobre os usuários . Eu simplesmente não conseguia fazer o teclado funcionar tão bem quanto antes (mesmo com ibus
desativado) e tive que abandonar o Gnome completamente.
Agora eu uso um gerenciador de janelas simples e configuro meu teclado com setxkbmap
. Enquanto o teclado funciona bem novamente, não consegui colocar a tecla de composição em qualquer lugar. A composição funciona em aplicativos X11 simples ( xterm
), mas não funciona nos aplicativos GTK2, GTK3 ou Qt.
Eu uso as versões atuais do Archlinux:
xorg-xinput 1.6.0
xorg-server 1.13.1
xf86-input-keyboard 1.6.2
gtk2 2.24.14
gtk3 3.6.4
qt 4.8.4
e habilite a Composechave assim:
setxkbmap ... -option 'compose:menu'
e exportação GTK_IM_MODULE
, QT_IM_MODULE
variáveis:
$ echo $GTK_IM_MODULE $QT_IM_MODULE
xim xim
Compose chave é reconhecida corretamente pelo X11:
$ xev | grep -A2 --line-buffered '^KeyRelease' | sed -n '/keycode /s/^.*keycode \([0-9]*\).* (.*, \(.*\)).*$/\1 \2/p'
135 Multi_key
Funciona corretamente xterm
, seqüências do meu ~/.XCompose
incluído. Não funciona em aplicativos GTK ou Qt. Digamos que, se eu entrar Compose ', os aplicativos ecoarão '
imediatamente, sem aguardar a terceira tecla na sequência.
Agora, suponho que algo tenha mudado no Xorg (porque Composetambém não funciona nos aplicativos Qt) ou no GTK e Qt. *_IM_MODULE
variáveis não são suficientes agora. O que mais é necessário para fazer o GTK e Qt moderno reconhecerem xim
e suas seqüências de composição?
PS: Existe uma pergunta semelhante (e sem resposta) sobre a chave Compose que não funciona no GTK . Ao contrário do solicitante, eu não tenho ibus
instalado.