Що таке <Primary> для ключа?


18

Щойно я побачив дивний ярлик у редакторі dconf:

<Primary><Alt>KP_End

Що таке <Primary>?

Я також побачив Above-Tabключ. Я повністю розумію, про що йдеться, але чи були визначені ці ключові імена?

Відповіді:


16

<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


Боже, як заплутано. Ви маєте на увазі, що це звичайно річ GNOME, за винятком того, що Above-Tab і Primary є лише мромом ?? (Тобто лише муркотіння може зрозуміти описи ярликів, що містять їх?)
Роберт Сімер

5

<Primary>зазвичай означає (він же кнопка Windows), але його можна переосмислити (я десь бачив, як це відображено ). Вікі GNOME каже :Ctrl SuperCtrlShift

Основним ключем модифікатора системи повинен бути (клавіша Super / Windows / Command).

Арг. Тут є деяка плутанина. Хоча в GNOME Wiki йдеться про "ключ модифікатора первинної системи", він насправді може відрізнятися від "первинного ключа". У двох дописах на форумі зазначається, що Первинне - це , як я спочатку думав. Існує дворічна (виправлена) помилка щодо плутанини в і Початкова подана протиCtrlCtrlcompiz Ubuntu, яка говорить:

Раніше ми викликали клавішу управління, <Control>але тепер це було змінено в GNOME, тому після натискання клавіші управління <primary>повертається. У compiz ми встановлюємо комбінації клавіш як (наприклад) <Control><Alt><Left>.

Мені залишаються пробні та помилкові: спробуйте Ctrlспочатку, потім Super.


2
<Primary>це не так Super, як ви зрозуміли; це, на жаль, неоднозначне формулювання. Тим НЕ менше, це дуже НЕ визначається як Ctrl- тобто не на OS X. Її метою є перетворення до основного ключу модифікатора хост - системи, яка на OS X є Command. Це дозволяє програмам, що використовують GTK +, автоматично отримувати ярлики, які відповідають нативним програмам OS X (наприклад, Command+ Zдля скасування) і не є незвичайними / жаткими (як Ctrlце використовується для різних речей там).
підкреслюй_d

Ця відповідь дуже заплутана! <Primary>безумовно, означає <Control>( Ctrl) у контексті Gtk на не-Macs та Command( ) на машинах Mac. Наприклад, киньте Ctrl+qзараз автоматично відображається на ⌘+q. Також сторінка wiki, яку ви цитували, говорить лише про те, що <Super>ні до чого <Primary>.
Кас

@Как добре, добре знати, що вони оновили вікі.
муру

Чи можна було б перевпорядкувати "Первинний" на "Супер" на не кварцовий (без відновлення)?
Edoardo Vacchi
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.