Щойно я побачив дивний ярлик у редакторі dconf:
<Primary><Alt>KP_End
Що таке <Primary>
?
Я також побачив Above-Tab
ключ. Я повністю розумію, про що йдеться, але чи були визначені ці ключові імена?
Щойно я побачив дивний ярлик у редакторі dconf:
<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", що посилається на цей ключ, і переключіть прив'язку за замовчуванням для cyc_group на Above_Tab
Дивіться також цю комісію у mutter
та вихідних файлах meta-accel-parse.c
таmeta-accel-parse.h
<Primary>
зазвичай означає (він же кнопка Windows), але його можна переосмислити (я десь бачив, як це відображено ). Вікі GNOME каже : SuperCtrlShiftCtrl
Основним ключем модифікатора системи повинен бути (клавіша Super / Windows / Command).
Арг. Тут є деяка плутанина. Хоча в GNOME Wiki йдеться про "ключ модифікатора первинної системи", він насправді може відрізнятися від "первинного ключа". У двох дописах на форумі зазначається, що Первинне - це , як я спочатку думав. Існує дворічна (виправлена) помилка щодо плутанини в і Початкова подана протиCtrlCtrlcompiz
Ubuntu, яка говорить:
Раніше ми викликали клавішу управління,
<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 на не-Macs та Command
( ⌘
) на машинах Mac. Наприклад, киньте Ctrl+q
зараз автоматично відображається на ⌘+q
. Також сторінка wiki, яку ви цитували, говорить лише про те, що <Super>
ні до чого <Primary>
.