Encontrou uma solução que funciona para aplicativos GTK (mas não para o Qt). É preciso definir
XMODIFIERS="@im=none"
para permitir que o X11 manipule chaves inativas. Obrigado a @PabloSaratxaga por sua resposta .
Eu usei o Gnome por um longo tempo, mas preferi o método de entrada do vanilla X ( xim
) sobre o comportamento padrão do GTK. Acabei de definir as variáveis de ambiente GTK_IM_MODULE
e QT_IM_MODULE
como xim
e não tive nenhum problema com a configuração de layout múltiplo, a tecla Compor , as extensões ~/.XCompose
e misc:typo
tipografia personalizadas .
O recente Gnome 3.6 atarraxou completamente a entrada do teclado enviando um meio-cozido e com bugs ibus
. Eu simplesmente não conseguia fazer o teclado funcionar tão bem quanto antes (mesmo com ibus
desativado) e tive que abandonar completamente o Gnome.
Agora eu uso um gerenciador de janelas simples e configuro meu teclado com setxkbmap
. Enquanto o teclado funciona bem novamente, não consegui fazer com que a tecla Compose funcionasse em todos os lugares. Compose funciona em aplicativos simples do X11 ( xterm
), mas não funciona nem no GTK2 nem no GTK3, nem no 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 ative a tecla Compor assim:
setxkbmap ... -option 'compose:menu'
e exportar GTK_IM_MODULE
, QT_IM_MODULE
variables:
$ echo $GTK_IM_MODULE $QT_IM_MODULE
xim xim
A chave Compose é corretamente reconhecida pelo X11:
$ xev | grep -A2 --line-buffered '^KeyRelease' | sed -n '/keycode /s/^.*keycode \([0-9]*\).* (.*, \(.*\)).*$/ /p'
135 Multi_key
Funciona corretamente em xterm
, sequências do meu ~/.XCompose
incluído. Não funciona em aplicativos GTK ou Qt. Vamos dizer, se eu inserir Compor ', então os aplicativos echo '
imediatamente, sem esperar pela terceira chave na sequência.
Agora eu suponho que algo tenha mudado no Xorg (porque Compose não funciona nos aplicativos do Qt), ou no GTK e Qt. As variáveis *_IM_MODULE
não são suficientes agora. O que mais é necessário para fazer o GTK e o Qt modernos reconhecerem xim
e suas sequências Compose?
P.S. Há uma pergunta semelhante (e não respondida) sobre Chave de composição não funciona no GTK . Ao contrário do autor da pergunta, não tenho ibus
instalado.
Encontrou uma solução que funciona para aplicativos GTK (mas não para o Qt). É preciso definir
XMODIFIERS="@im=none"
para permitir que o X11 manipule chaves inativas. Obrigado a @PabloSaratxaga por sua resposta .
Eu tive um problema semelhante no openSUSE. ~/.XCompose
seria ignorado pelos aplicativos GTK +, então minhas próprias sequências Compose não funcionavam no Firefox, no Gimp e em outros.
Descobri que gtk-query-immodules-2.0
listou alguns métodos de entrada, mas não xim
; Portanto, independentemente da variável GTK_IM_MODULE
, xim
estava indisponível. A instalação dos pacotes gtk2-immodule-xim
(e amigos) resolveu o problema.
Talvez este comentário seja útil para pessoas que sofrem da mesma maldição.
Esta é uma maneira de configuração persistente. É descrito, por exemplo, aqui link . Eu configurei compor chaves com ~ / .XCompose dessa maneira. Eu verifiquei isso tanto no Ubuntu quanto no Debian.
Tags xorg keyboard-layout gtk qt compose-key