什麼鍵是“「?

什麼鍵是“「?

我剛剛看到一個奇怪的快捷方式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>

Gtk+ 中提供了一個新工具(截至撰寫本文時,它位於 Gtk+-2.24 的 Git 中,並在 Gtk+-3.2.0 中發布)來使用<Primary> 描述符代替<Control>加速器和綁定。這會將加速器對應到 OSX 上的命令以及其他任何內容的控制。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

我們希望應用程式視窗之間的切換成為一種易於存取的操作。方便且令人難忘的鍵綁定是 Tab 鍵上方的鍵 - 但該鍵的鍵符號在不同的鍵盤佈局中並不一致。新增從 XKB 幾何圖形中計算出鍵的程式碼以及引用該鍵的神奇鍵符名稱“Above_Tab”,並將 Cycle_group 的預設綁定切換為 Below_Tab

另請參閱此犯罪mutter和來源檔案中meta-accel-parse.cmeta-accel-parse.h

相關內容