正しいプログラムのキーボードショートカットをどのように提供できますか?

正しいプログラムのキーボードショートカットをどのように提供できますか?

Ubuntu(または他のほとんどのLinuxディストリビューション)では、ショートカットctrl + tを使用して新しいタブ(firefoxまたは同様のエントリ)を開くことができます。あるいは、alt + tabを使用して強調表示されたウィンドウを統合トグルするか、別のttyを入力することもできます。 Alt+Ctrl+F<1-6> を使用します。 Linuxのどの部分がこれらのショートカットを処理して解析しますか?複数のプログラム/プロセスが同じショートカットを共有する場合、優先順位はどのように解決されますか?

(後者の場合、これは異なる「レベル」のプログラムにのみ関連していると仮定します。たとえば、Firefoxとセッションスクリプトは競合する可能性がありますが、FirefoxとChromeは同時に応答してはいけないので決して競合しません。)

ベストアンサー1

Linuxのどの部分がこれらのショートカットを処理して解析しますか?

ほとんどは、単一のアプリケーションまたはウィンドウマネージャ(WM)/デスクトップ環境(DE)です。 VTスイッチにCntl-Alt-F [N]を使用するなど、一部はカーネルによってキャプチャされ処理されます。

実際のイベントの伝播:

  • カーネルから
  • Xorgサーバーへ
  • WM/DEへ
  • 申し込みに行く

これらのいずれかをキャッチして処理すると、次のステップに進むことはできません。

GUI ターミナル内で (GUI ではなく) アプリケーションを実行する場合、GUI ターミナルはそのアプリケーションよりも優先されます。

複数のプログラム/プロセスが同じショートカットを共有する場合、優先順位はどのように解決されますか?

WM/DEは申請より優先順位があります。

おすすめ記事