Я только что увидел странный ярлык в 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>.