Я только что увидел странный ярлык в dconf-editor:
<Primary><Alt>KP_End
Что такое <Primary>
?
Я также видел Above-Tab
ключ. Я полностью понимаю, о чем идет речь, но были ли определены эти ключевые имена?
Я только что увидел странный ярлык в dconf-editor:
<Primary><Alt>KP_End
Что такое <Primary>
?
Я также видел Above-Tab
ключ. Я полностью понимаю, о чем идет речь, но были ли определены эти ключевые имена?
Ответы:
<Primary>
это gtk+
вещь.
gtk+ 2.24.7
& gtk+ 3.2.1
представила концепцию не зависящего от платформы модификатора ускорителя <Primary>
, который можно использовать вместо <Control>
:
в Gtk + предоставляется новое средство (на момент написания статьи оно было в Git для Gtk + -2.24 и выпущено в Gtk + -3.2.0) для использования
<Primary>
дескриптора вместо<Control>
ускорителей и привязок. Это отобразит акселератор на Command на OSX и Control для всего остального. 1
Согласно этому коммиту :
gtk: позволяет указывать ускорители независимо от платформы. Введем
<Primary>
в ускорительных строк, которые решает GDK_CONTROL_MASK на X11 / Win23 и 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
<Primary>
обычно означает (он же кнопка Windows), но может быть переопределен (я видел это в некоторых местах). Вики GNOME говорит : SuperCtrlShiftCtrl
Основной ключ модификатора системы должен быть (Super / Windows / Command key).
Argh. Здесь есть некоторая путаница. Хотя в GNOME Wiki сказано «первичный ключ модификатора системы», на самом деле это может отличаться от «первичного ключа». В двух сообщениях на форуме отмечается, что Primary , как я изначально думал. Существует двухлетняя (исправленная) ошибка, связанная с путаницей в Primary, поданной в Ubuntu, которая гласит:CtrlCtrlcompiz
Ранее мы раньше вызывали управляющую клавишу,
<Control>
но теперь это изменилось в GNOME, поэтому при нажатии управляющей клавиши<primary>
возвращается. В compiz мы устанавливаем комбинации клавиш как (например)<Control><Alt><Left>
.
Я остался с методом проб и ошибок: Ctrlсначала попробуй , потом Super.
<Primary>
нет Super
, как вы поняли; это просто к сожалению двусмысленная формулировка. Тем не менее, он в значительной степени не определен как Ctrl
- то есть он не на OS X. Его цель - сопоставить с основным ключом модификатора хост-системы, который на OS X есть Command
. Это позволяет приложениям, использующим GTK +, автоматически получать ярлыки, которые соответствуют родным приложениям OS X (например, Command
+, Z
чтобы отменить) и не являются необычными / раздражающими (поскольку там Ctrl
используется для разных вещей).
<Primary>
определенно означает <Control>
( Ctrl
) в контексте Gtk на не-Mac и Command
( ⌘
) на компьютерах Mac. Например, выход Ctrl+q
теперь автоматически сопоставлен с ⌘+q
. Кроме того , вики - странице вы процитировали говорит только о <Super>
ничего общего с <Primary>
.