Welcher Schlüssel ist ""?

Welcher Schlüssel ist ""?

Ich habe gerade eine seltsame Verknüpfung in gesehen dconf-editor:

<Primary><Alt>KP_End

Was ist <Primary>?

Ich habe auch einen Above-TabSchlüssel gesehen. Ich verstehe vollkommen, worauf sich das bezieht, aber wo sind diese Schlüsselnamen definiert?

Dies gilt auch für XFCE und xfconf-query.

Antwort1

<Primary>ist eine gtk+Sache.
gtk+ 2.24.7& gtk+ 3.2.1führte das Konzept eines plattformunabhängigen Beschleunigermodifikators ein, <Primary>, der anstelle von verwendet werden kann <Control>:

In Gtk+ gibt es eine neue Funktion (zum Zeitpunkt des Schreibens ist sie in Git für Gtk+-2.24 und in Gtk+-3.2.0 veröffentlicht), um den <Primary> Deskriptor anstelle von <Control>für Beschleuniger und Bindungen zu verwenden. Dadurch wird der Beschleuniger unter OSX auf Command und für alles andere auf Control abgebildet.1

Gemäß diesembegehen:

gtk: ermöglicht die plattformunabhängige Angabe von Beschleunigern. Einführung <Primary>in Beschleunigerzeichenfolgen, die unter X11/Win23 in GDK_CONTROL_MASK und unter Quartz in GDK_META_MASK aufgelöst werden.

es ist (zusammen mit anderen Beschleunigern) definiert ingtkaccelgroup.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>
ist eine Sache des Fenstermanagers.begehenIn metacity:

Wir möchten, dass das Wechseln zwischen den Fenstern einer Anwendung leicht zugänglich ist. Die bequeme und einprägsame Tastenkombination ist die Taste über der Tabulatortaste – aber das Tastensymbol für diese Taste ist bei verschiedenen Tastaturlayouts nicht einheitlich. Fügen Sie Code hinzu, der die Taste aus der XKB-Geometrie ermittelt, und einen magischen Tastensymbolnamen „Above_Tab“, der auf diese Taste verweist, und ändern Sie die Standardkombination für cycle_group auf Above_Tab.

Siehe auch diesbegehenin mutterund Quelldateienmeta-accel-parse.cUndmeta-accel-parse.h

verwandte Informationen