GTK_IM_MODULE=xim breaks dead keys in GTK and QT applications
5
votes
0
answers
946
views
I'm using
XIM
to have the compose key take into account my ~/.XCompose
file (it's the only input method that takes it into account, all the others I tried use hard-coded tables). However, it is breaking the dead keys in GTK and QT application: If in charmap
(GTK) I press ^ a, it just prints a
. The ^ key is recognized though, as it makes the caret stop blinking while I'm pressing it. In kate
(QT), it prints ^a
instead (two separate characters).
**How can I make dead keys work when using XIM
?**
---
Here are the relevant environment variables:
$ env | grep '\(IM\|XMODIFIERS\)'
ECORE_IMF_MODULE=xim
QT_IM_MODULE=xim
GTK_IM_MODULE=xim
XMODIFIERS=@im=none
And here is the output of xev
when pressing ^ a:
KeyPress event, serial 37, synthetic NO, window 0x1a00001,
root 0xd9, subw 0x0, time 29204065, (131,637), root:(135,656),
state 0x10, keycode 34 (keysym 0xfe52, dead_circumflex), same_screen YES,
XLookupString gives 1 bytes: (5e) "^"
XmbLookupString gives 0 bytes:
XFilterEvent returns: False
KeyRelease event, serial 37, synthetic NO, window 0x1a00001,
root 0xd9, subw 0x0, time 29204135, (131,637), root:(135,656),
state 0x10, keycode 34 (keysym 0xfe52, dead_circumflex), same_screen YES,
XLookupString gives 1 bytes: (5e) "^"
XFilterEvent returns: False
KeyPress event, serial 37, synthetic NO, window 0x1a00001,
root 0xd9, subw 0x0, time 29204545, (131,637), root:(135,656),
state 0x10, keycode 24 (keysym 0x61, a), same_screen YES,
XLookupString gives 1 bytes: (61) "a"
XmbLookupString gives 1 bytes: (61) "a"
XFilterEvent returns: False
KeyRelease event, serial 37, synthetic NO, window 0x1a00001,
root 0xd9, subw 0x0, time 29204614, (131,637), root:(135,656),
state 0x10, keycode 24 (keysym 0x61, a), same_screen YES,
XLookupString gives 1 bytes: (61) "a"
XFilterEvent returns: False
Asked by Suzanne Soy
(538 rep)
Feb 22, 2016, 02:42 PM