キーの<プライマリ>とは何ですか?


18

私はdconf-editorに奇妙なショートカットを見ました:

<Primary><Alt>KP_End

なに<Primary>

Above-Tabキーも見ました。私はそれが何を指しているのかを完全に理解していますが、それらのキー名は定義されていましたか?

回答:


16

<Primary>であるgtk+事。
gtk+ 2.24.7&の代わりに使用できるgtk+ 3.2.1、プラットフォームに依存しないアクセラレータ修飾子の概念を導入しました。<Primary><Control>

アクセラレータとバインディングの<Primary> 代わりに記述子を使用するための新しい機能がGtk +で提供されます(この記事の執筆時点では、Gtk + -2.24のGitであり、Gtk + -3.2.0でリリースされ<Control>ています)。これにより、アクセラレータがOSXのコマンドおよびその他のコントロールにマップされます。1

このコミットごとに:

gtk:プラットフォームに依存しない方法でアクセラレータを指定できます。<Primary>X11 / Win23ではGDK_CONTROL_MASKに、クォーツではGDK_META_MASKに解決されるアクセラレーター文字列を導入します。

(他のアクセラレータとともに)で定義されます gtkaccelgroup.c

gtk_accelerator_name (guint accelerator_key,
                     GdkModifierType accelerator_mods)
{
  static const gchar text_release[] = "<Release>";
  static const gchar text_primary[] = "<Primary>";
  static const gchar text_shift[] = "<Shift>";
  static const gchar text_control[] = "<Control>";
  static const gchar text_mod1[] = "<Alt>";
  static const gchar text_mod2[] = "<Mod2>";
  static const gchar text_mod3[] = "<Mod3>";
  static const gchar text_mod4[] = "<Mod4>";
  static const gchar text_mod5[] = "<Mod5>";
  static const gchar text_meta[] = "<Meta>";
  static const gchar text_super[] = "<Super>";
  static const gchar text_hyper[] = "<Hyper>";

<Above_tab>ウィンドウマネージャーのことです。
このコミットごとにmetacity

アプリケーションのウィンドウ間の切り替えを、簡単にアクセスできる操作にしたいのです。便利で覚えやすいキーバインディングは、タブキーの上のキーですが、そのキーのキーシムは、異なるキーボードレイアウト間で一貫していません。XKBジオメトリからキーを計算するコードと、このキーを参照するマジックキーシム名「Above_Tab」を追加し、cycle_groupのデフォルトバインディングをAbove_Tabに切り替えます。

これはも参照してくださいコミットmutterし、ソースファイルmeta-accel-parse.cmeta-accel-parse.h


まあ、なんて紛らわしい。それは通常、GNOMEのものですが、Above-TabとPrimaryはつぶやきのみであることを意味しますか?? (つまり、つぶやきだけがそれらを含むショートカットの説明を理解できますか?)
ロバートシーマー14年

5

<Primary>通常は(Windowsボタンとも呼ばれます)を意味しますが、再定義できます(いくつかの場所でマップされているのを見ました)。GNOMEのwikiは述べていますCtrl SuperCtrlShift

プライマリシステム修飾子キーは(Super / Windows / Commandキー)である必要があります。

ああ。ここには混乱があります。GNOME Wikiには「プライマリシステム修飾子キー」と書かれていますが、これは実際には「プライマリキー」とは異なる場合があります。私が当初考えていたように、2つのフォーラムの 投稿でCtrl、Primaryがであることに注目しています。あります2歳(固定)のバグで混乱については、Ctrlプライマリが提訴compiz言うUbuntuの、中:

以前は制御キーを呼び出して<Control>いましたが、GNOMEではこれが変更されているため、制御キーが押されたときに<primary>返されます。compizでは、キーボードショートカットを(たとえば)として設定します <Control><Alt><Left>

私は試行錯誤が残っています:しようとしCtrlた後、最初にSuper


2
<Primary>Superあなたが気づいたように、ではありません。それは残念なことにあいまいな言葉遣いです。それでも、それはあまり定義されていませんCtrl -つまり、OS Xではありません。その目的は、ホストシステムのメイン修飾子キー(OS Xでは)にマップすることですCommand。これはGTK +を使用して、アプリケーションが自動的にネイティブOS Xアプリケーション(例えば一致ショートカット取得することができますCommand+ Zアンドゥへの)と(と耳障り/珍しくありませんCtrlが別のもののために使用されているが)。
underscore_d

この答えは非常に混乱しています!<Primary>確かに、非MacのGtkコンテキストでは()、Macマシンでは<Control>Ctrl)を意味します。たとえば、quitがに自動的にマップされるようになりました。また、あなたが引用したwikiページは関係ないことについてだけ話しています。CommandCtrl+q⌘+q<Super><Primary>
キャス

@Cas、ウィキを更新したことを知ってうれしいです。
ムル

プライマリ以外をクォーツで(再構築せずに)スーパーに再マッピングすることは可能でしょうか?
エドアルドヴァッキ
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.