Answers:
<Primary>
是一gtk+
件事。
gtk+ 2.24.7
并gtk+ 3.2.1
介绍了平台无关的加速器修改器的概念,该修改器<Primary>
可用于代替<Control>
:
Gtk +中提供了一个新功能(在撰写本文时,它已在Git中用于Gtk + -2.24,并在Gtk + -3.2.0中发布了)以使用
<Primary>
描述符代替<Control>
加速器和绑定。这会将加速器映射到OSX上的Command并映射到Control进行其他操作。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
:
我们希望在应用程序的窗口之间切换是一种易于访问的操作。方便且令人难忘的键绑定是Tab键上方的键-但是该键的键符在不同的键盘布局中不一致。添加从XKB几何图形中找出密钥的代码和引用该密钥的魔术键符号名称“ Above_Tab”,并将cycle_group的默认绑定切换为Above_Tab
另见本承诺中mutter
和源文件meta-accel-parse.c
和meta-accel-parse.h
<Primary>
通常意味着(又名Windows按钮),但可以重新定义(我在某些地方看到了它的映射)。在GNOME维基说: SuperCtrlShiftCtrl
系统主修改键应为(超级/ Windows /命令键)。
啊 这里有些混乱。尽管GNOME Wiki称“主系统修改键”,但实际上可能与“主键”不同。正如我最初认为的那样,有两个论坛 帖子指出Primary是Ctrl。在Ubuntu中存在一个关于混淆Ctrl和Primary提出的存在两年的(已修复)错误compiz
,内容为:
以前我们曾经调用过控制键,
<Control>
但现在已在GNOME中对其进行了更改,因此在按下控制键时<primary>
会返回该键。在compiz中,我们将键盘快捷键设置为(例如)<Control><Alt><Left>
。
我反复试验:Ctrl先尝试,然后再尝试Super。
<Primary>
不是Super
您所意识到的;不幸的是,这只是模棱两可。尽管如此,它仍然没有被定义为Ctrl
-即它不在OS X上。其目的是映射到主机系统的主修改键,在OS X上为Command
。这使使用GTK +的应用程序可以自动获得与本机OS X应用程序相匹配的快捷方式(例如,Command
+ Z
表示撤消),并且不会出现异常/令人讨厌的现象(就像Ctrl
那里的其他事情一样)。
<Primary>
当然在非Mac上的Gtk上下文中肯定是<Control>
(Ctrl
),在Mac机器上是Command
(⌘
)。例如,退出Ctrl+q
现在自动映射到⌘+q
。同样,您引用的Wiki页面仅是与<Super>
无关<Primary>
。