奇妙なショートカットを見つけましたdconf-editor
:
<Primary><Alt>KP_End
とは<Primary>
?
キーも見ましたAbove-Tab
。それが何を指すのかは完全に理解していますが、それらのキー名はどこで定義されているのでしょうか?
これは XFCE および にも適用されますxfconf-query
。
答え1
<Primary>
はgtk+
、プラットフォームに依存しないアクセラレータ修飾子の概念を導入しました。
gtk+ 2.24.7
これは、 の代わりに使用できます。gtk+ 3.2.1
<Primary>
<Control>
<Primary>
Gtk+ では、アクセラレータとバインディングの代わりに記述子を使用する新しい機能が提供されています (この記事の執筆時点では、Gtk+-2.24 用の Git にあり、Gtk+-3.2.0 でリリースされています)<Control>
。これにより、アクセラレータは OSX では Command に、それ以外では Control にマッピングされます。1
これによると専念:
gtk: プラットフォームに依存しない方法でアクセラレータを指定できるようにします。
<Primary>
アクセラレータ文字列を導入します。これは、X11/Win23 では GDK_CONTROL_MASK に、quartz では 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.c
そしてmeta-accel-parse.h