2017-09-29 17 views
0

私はUbuntu Gnome、gnomeシェルバージョン3.24.2を使用しています。私はgnomeシェル拡張を作成しようとしており、Javascriptを使用しています。GNOMEシェル拡張のグローバルキーバインドの作成方法

私の拡張機能とJavascriptでは、Gnomeのどこからでも認識されるグローバルキーバインディングを作成するにはどうすればよいですか?私はそのキーバインディングに関数をバインドして、ユーザーがキーの組み合わせを押すと、その関数が実行されるようにしたいと思います。

gnome-shell拡張機能の開発に関するドキュメントは事実上ありません。だから私の唯一の選択肢はここに尋ねる。その答えはGnomeの3.22のためであると私は心からのキーバインディングを作成する簡単な方法があります願っているので、以下のstackoverflowの質問に私を参照しないでください。Gnome Shell Extension Key Binding

答えて

0

あり、ここではかなり完全な答え:How to handle keyboard events in gnome shell extensions?

を>パス - org.gnome.Shell::/ ORG/GNOME

バス名:

あなたは最も簡単な方法は、GnomeのシェルのDバス・インタフェースを使用することですが、ショートカット紛争に対処し、信号のコールバックを処理することは避けられないかもしれません/シェル - >インタフェース: org.gnome.Shell

関連するメソッド:

GrabAccelerator(String accelerator, UInt32 flags) -> (UInt32 action) UngrabAccelerator(UInt32 action) -> (Boolean success)

信号:ご返信用

AcceleratorActivate(UInt32, Dict of {String, Variant})

+0

THX。私は現在、以下にリンクされているソリューションを使用していますが、「 a」で動作するようになり、「」のようにはなりません(「a」などの最後の文字はありません)。このキーバインドのために聞くことができませんでした。 あなたは私が? https://superuser.com/の下にリンクしたソリューションを使用して、このような「」または「」として部分キーbidningを作成する方法を知っていますか質問/ 471606/gnome-shell-extension-key-binding/1182899#1182899 –

+0

私が知る限り、これらは修飾キーであり、 'accelerator-activated'イベントを引き起こさないので、これは不可能です。 'key-press-event'にバインドして、keyvalからキー名を解読する必要があります私は上記にリンクしています(上記にリンクされたソリューションにも、あなたがリンクされないように頼んだソリューションの再投稿です...) –

関連する問題