我使用Gnome已有很长时间了,但是xim
相对于默认的GTK行为,首选Vanilla X输入法()。我只设置GTK_IM_MODULE
和QT_IM_MODULE
环境变量xim
,并没有与多个布局配置,任何问题的Compose关键,自定义~/.XCompose
和misc:typo
排版扩展。
最近的Gnome 3.6发行了一个半熟的越野车,ibus
并将其强加给用户,从而完全弄糟了键盘输入。我只是无法像以前那样使键盘正常工作(甚至ibus
禁用了键盘),而不得不完全放弃Gnome。
现在,我使用一个简单的窗口管理器,并使用配置我的键盘setxkbmap
。虽然键盘可以再次正常工作,但我无法在任何地方都可以使用Compose键。Compose可在普通的X11应用程序(xterm
)中使用,但不适用于GTK2,GTK3和Qt应用程序。
我使用当前的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
并启用这样的Compose密钥:
setxkbmap ... -option 'compose:menu'
和export GTK_IM_MODULE
,QT_IM_MODULE
变量:
$ echo $GTK_IM_MODULE $QT_IM_MODULE
xim xim
Compose X11正确识别密钥:
$ xev | grep -A2 --line-buffered '^KeyRelease' | sed -n '/keycode /s/^.*keycode \([0-9]*\).* (.*, \(.*\)).*$/\1 \2/p'
135 Multi_key
它可以按正常运行xterm
,~/.XCompose
包括我的顺序。它不适用于GTK或Qt应用程序。假设,如果我输入Compose ',则应用程序将'
立即回显,而无需等待序列中的第三个键。
现在我想Xorg都发生了变化(因为 Compose在Qt应用程序中也不起作用)或GTK 和 Qt中发生了一些变化。*_IM_MODULE
变量现在还不够。要使现代的GTK和Qt能够识别xim
其组成序列,还需要做什么?
PS对于Compose键在GTK中不起作用,存在类似(未解决)的问题。不像问问者,我没有ibus
安装。