2011-12-13 4 views
9

Gtkプログラムはgtk信号に異なるキーをバインドすることで異なるキーバインディングテーマを持つことができますが、afaik、qtプログラムではこれを行うことができません。すべてのQtプログラムでemacsスタイルのキーバインディングを実装することは可能でしょうか(おそらくqtプラグインとして)?

Qtサポートプラグイン(この種のライブラリのほとんどは、ハイレベルプラグインまたはQtエクステンションです)と、それらのうちのいくつか(ハイレベルプラグイン)をすべてのqtプログラムによって自動的にロードすることができますENVのようなsthによると、qtプラグインを使ってグローバルな(Emacsや他のスタイルの)キーバインディング(少なくともすべての入力領域で)を持つことは可能ですか?または他の言葉では、誰かがこれ(ハイレベル)プラグインの種類を知っていますか?

私の推測は、inputcontextプラグインまたはアクセス可能な(ブリッジ)プラグインです。 入力コンテクストプラグインでは、afaikの入力メソッドのバックエンドを一度に1つしか有効にできないため、これが入力メソッドで動作するのではないかと思います。 アクセシブルなプラグインについては、自動的にロードする方法を知りませんでした。

ありがとうございました。

答えて

1

キーイベントを傍受してother eventsに変換すると、になります。

Qtとは違った意味で「プラグイン」という言葉を使用していると思います。画像コーデックやSQLドライバなど、さまざまなプラグインが用意されていますが、汎用の「すべてのウィジェットにこれを行う」メカニズムはありません。そのためには、アプリケーションのトップレベルウィジェットのすべての作成ポイントをキャッチし、ケースごとにフィルタをインストールするコードを追加する必要があります。

+0

どのようなローディング部品ですか? (私はこれらのプラグインをロードするためのQtダイサーイドの仕方についての文書は見つけられませんでした。) – yuyichao

+0

拡張機能はほとんどのqtプログラム(入力ボックスを持っています)には読み込まれていますが、skypeではロードされていません。その理由は何ですか? – yuyichao

+0

「プラグイン」という意味です。 (そして私の質問は、私が使用できるプラグインの種類がある場合です)私はおそらくアクセシビリティまたはinputcotextプラグインが助けることができると思いますが、これらのプラグインがどのようにロードされたのかわかりません。実際には、入力メソッドを使用していない場合、inputcontextプラグインがこれを(入力コンテキストのみのために)実行できることは確かです。 (btw、スカイプの場合、スカイプは標準のqt要素を使用していないためです~~) – yuyichao

0

xkbを使用して問題を解決します(this one)。つまり、私はC-d redirection compatible with terminal EOFを作成していませんが、正しいキーにC-npfbaeをリダイレクトします。

私はまだ(Qtの)問題はqtaccessibleプラグインで解決できると思いますが、その作業をどうやって行うのかはわかりません。

+0

うーん、いいえ、あまり良い回避策ではありません。 Emacs自体では、私は«C-S-f»を使用して選択項目を前方に移動しています。しかし矢印は今は無料ですので、スプリットスクリーン間の動きを«S-AnArrow»に縛りました。システムレベルで«S-f»と«C-S-f»を結ぶと、すべてが壊れてしまいます。 –

関連する問題