Usé Gnome durante mucho tiempo, pero preferí el método de entrada vanilla X ( xim) sobre el comportamiento predeterminado de GTK. Acabo de establecer GTK_IM_MODULEy QT_IM_MODULEvariables de entorno para xim, y no tuve ningún problema con las configuraciones de configuración de múltiples diseños, Composeclaves, personalizadas ~/.XComposey misc:typotipografía.
El reciente Gnome 3.6 atornilló por completo la entrada del teclado al enviar un medio cocido y con errores ibus y forzándolo a los usuarios . Simplemente no podía hacer que el teclado funcionara tan bien como antes (incluso con ibusdeshabilitado), y tuve que abandonar a Gnome por completo.
Ahora uso un administrador de ventanas simple y configuro mi teclado con setxkbmap. Si bien el teclado funciona bien nuevamente, no pude hacer que la tecla Componer funcione en todas partes. Compose funciona en aplicaciones X11 simples ( xterm), pero no funciona en aplicaciones GTK2, ni GTK3, ni Qt.
Yo uso las versiones actuales de 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
y habilitar Composeclave como esta:
setxkbmap ... -option 'compose:menu'
y exportación GTK_IM_MODULE, QT_IM_MODULEvariables:
$ echo $GTK_IM_MODULE $QT_IM_MODULE
xim xim
Compose la clave es reconocida correctamente por X11:
$ xev | grep -A2 --line-buffered '^KeyRelease' | sed -n '/keycode /s/^.*keycode \([0-9]*\).* (.*, \(.*\)).*$/\1 \2/p'
135 Multi_key
Funciona correctamente en xtermsecuencias de mi ~/.XComposeincluido. No funciona en aplicaciones GTK o Qt. Digamos que si entro Compose ', las aplicaciones hacen eco de 'inmediato, sin esperar la tercera clave en la secuencia.
Ahora supongo que algo ha cambiado en Xorg (porque Composetampoco funciona en aplicaciones Qt) o en GTK y Qt. *_IM_MODULELas variables no son suficientes ahora. ¿Qué más se requiere para que GTK y Qt modernos reconozcan ximy sus secuencias de composición?
PD: Hay una pregunta similar (y no respondida) sobre que la tecla Compose no funciona en GTK . A diferencia del autor de la pregunta, no tengo ibusinstalado.
fuente
