Je viens de voir un raccourci étrange dans dconf-editor:
<Primary><Alt>KP_End
Qu'est-ce que c'est <Primary>
?
J'ai aussi vu une Above-Tab
clé. Je comprends parfaitement de quoi il s'agit, mais ces noms clés ont-ils été définis?
la source
Je viens de voir un raccourci étrange dans dconf-editor:
<Primary><Alt>KP_End
Qu'est-ce que c'est <Primary>
?
J'ai aussi vu une Above-Tab
clé. Je comprends parfaitement de quoi il s'agit, mais ces noms clés ont-ils été définis?
<Primary>
est une gtk+
chose.
gtk+ 2.24.7
& a gtk+ 3.2.1
introduit le concept d'un modificateur d'accélérateur indépendant de la plate-forme <Primary>
, qui peut être utilisé à la place de <Control>
:
une nouvelle fonctionnalité est fournie dans Gtk + (au moment de la rédaction de cet article, elle est dans Git pour Gtk + -2.24 et publiée dans Gtk + -3.2.0) pour utiliser le
<Primary>
descripteur à la place des<Control>
accélérateurs et des liaisons. Cela mappera l'accélérateur à Command sur OSX et à Control pour toute autre chose. 1
Selon cet engagement :
gtk: permet de spécifier des accélérateurs d'une manière indépendante de la plateforme. Introduire
<Primary>
dans les chaînes d'accélérateur, qui se résout en GDK_CONTROL_MASK sur X11 / Win23 et en GDK_META_MASK sur quartz.
il est défini (avec d'autres accélérateurs) dans 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>
est une chose de gestionnaire de fenêtres.
Selon cet engagement dans metacity
:
Nous voulons que la commutation entre les fenêtres d'une application soit une opération facilement accessible. La liaison de touches pratique et mémorable est la touche située au-dessus de la touche de tabulation - mais le clavier de cette touche n'est pas cohérent entre les différentes dispositions de clavier. Ajoutez du code qui représente la clé à partir de la géométrie XKB et un nom de clé magique "Above_Tab" qui fait référence à cette clé et passez la liaison par défaut pour cycle_group à Above_Tab
Voir aussi ce commit dans les mutter
fichiers source meta-accel-parse.c
etmeta-accel-parse.h
<Primary>
signifie généralement (bouton Windows), mais peut être redéfini (je l'ai vu mappé à certains endroits). Le wiki GNOME dit :SuperCtrlShiftCtrl
Argh. Il y a une certaine confusion ici. Bien que le wiki GNOME dise la "clé de modification du système primaire", cela peut en fait être différent de la "clé primaire". Deux messages du forum notent que Primary est , comme je le pensais à l'origine. Il y a un bogue (corrigé) vieux de deux ans concernant la confusion et le fichier primaire contre dans Ubuntu, qui dit:CtrlCtrl
compiz
Je me retrouve avec essai et erreur: essayez d' Ctrlabord, puis Super.
la source
<Primary>
n'est pasSuper
, comme vous l'avez compris; c'est juste une formulation malheureusement ambiguë. Pourtant, il est très bien pas défini commeCtrl
- dire qu'il est pas sur OS X. Son but est de cartographier la principale clé de modification du système hôte, qui , sur OS X estCommand
. Cela permet aux applications utilisant GTK + d'obtenir automatiquement des raccourcis qui correspondent aux applications OS X natives (par exempleCommand
+Z
pour annuler) et qui ne sont pas inhabituels / discordants (comme celaCtrl
est utilisé pour différentes choses là-bas).<Primary>
signifie certainement<Control>
(Ctrl
) dans le contexte Gtk sur les non-Mac etCommand
(⌘
) sur les machines Mac. Par exemple, quitterCtrl+q
automatiquement mappé à⌘+q
. De plus, la page wiki que vous avez citée ne parle que de<Super>
rien à voir avec<Primary>
.