GTKとQtアプリケーションでComposeを動作させるには?

GTKとQtアプリケーションでComposeを動作させるには?

私は長い間Gnomeを使用してきましたが、xim基本的なGTK動作よりも一般的なX入力方法()を好みます。私は環境変数GTK_IM_MODULEをに設定しましたが、QT_IM_MODULEいくつかのレイアウト構成、キー、カスタマイズ、およびレイアウト拡張ximに問題はありません。Compose~/.XComposemisc:typo

最近、Gnome 3.6はキーボード入力を完全にめちゃくちゃにして、半分焼いたバグのあるバージョンを提供しました。ibus そしてこれをユーザーに課します。。キーボードが以前のように動作することができず(ibus無効になっていても)、Gnomeを完全に放棄する必要がありました。

今簡単なウィンドウマネージャを使用してsetxkbmap。キーボードはうまく機能しますが、作成キーはどこでも使用できません。 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'

およびエクスポートGTK_IM_MODULEQT_IM_MODULE変数:

$ echo $GTK_IM_MODULE $QT_IM_MODULE 
xim xim

ComposeX11はキーを正しく識別します。

$ xev | grep -A2 --line-buffered '^KeyRelease' | sed -n '/keycode /s/^.*keycode \([0-9]*\).* (.*, \(.*\)).*$/\1 \2/p'
135 Multi_key

xterm私が含めた順序でうまくいきます~/.XCompose。 GTKまたはQtアプリケーションでは機能しません。と入力すると、シーケンスの3番目のキーを待たずにCompose 'アプリケーションがすぐにエコーされます。'

Composeこれで、Xorg(Qtアプリケーションでも機能しないため)またはGTKに変更があるようです。そしてQt。*_IM_MODULE今、変数では十分ではありません。最新のGTKとQtがComposeシーケンスを認識するにはxim何が必要ですか?

PS:同様の(そして未回答の)質問があります作成キーがGTKで機能しない。質問者とは異なり、私はインストールしていませんibus

ベストアンサー1

GTKアプリケーション(Qtではない)で動作するソリューションを見つけました。 1つを設定する必要があります。

XMODIFIERS="@im=none"

X11にデッドキーを処理させます。 @PabloSaratxagaさん、ありがとうございます彼の答え

おすすめ記事