Qt key hell
初回投稿日時: 2010年06月11日01時36分28秒
カテゴリ: 雑談
SNS:
Tweet (list)
Qtのソースコード拾ってきてみたところ、QKeyMapperPrivate
というクラスがあって、これでキーコード、もしくはネイティブのキーイベントから入力されるテキストへと変換しているんですが、名前から分かるとおりAPIではありません(そもそもこのクラスのメソッドがXP化されていない)。
また、X11の場合はネイティブイベントを渡さないと処理できないようなので、何らかのAPIからキーイベントを生成して自分で受け取ってテキストを参照する、という手法も使えない様です。
このAPIの不備はスクリーンキーボードを作れないことを意味しています。Macでもさすがにこの辺の泥臭いAPIは用意してくれている(ちなみに10.4まではぼろぼろ)ので、Qtが持っていないのはまったくもって意外でした。GTK(GDK)はちゃんと持ってるんですけど。
X11を直接見に行く、しか手段がなさそうですね。私がやるわけではないんですが。