GTK_IM_MODULE=xim 打破 GTK 和 QT 应用程序中的死键

GTK_IM_MODULE=xim 打破 GTK 和 QT 应用程序中的死键

我用来XIM让撰写键考虑我的~/.XCompose文件(这是唯一考虑它的输入方法,我尝试的所有其他输入方法都使用硬编码表)。然而,它打破了 GTK 和 QT 应用程序中的死键:如果在charmap(GTK) 中我按^ a,它只会打印a。不过,该^键已被识别,因为当我按下它时,它会使插入符号停止闪烁。在kate(QT)中,它^a改为打印(两个单独的字符)。

使用时如何使死键起作用XIM


以下是相关的环境变量:

$ env | grep '\(IM\|XMODIFIERS\)'
ECORE_IMF_MODULE=xim
QT_IM_MODULE=xim
GTK_IM_MODULE=xim
XMODIFIERS=@im=none

xev这是按下时的输出^ 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

相关内容