Ho appena visto una strana scorciatoia in dconf-editor:
<Primary><Alt>KP_End
Che cosa è <Primary>
?
Ho anche visto una Above-Tab
chiave. Capisco perfettamente a cosa si riferisce, ma sono stati definiti quei nomi chiave?
Ho appena visto una strana scorciatoia in dconf-editor:
<Primary><Alt>KP_End
Che cosa è <Primary>
?
Ho anche visto una Above-Tab
chiave. Capisco perfettamente a cosa si riferisce, ma sono stati definiti quei nomi chiave?
Risposte:
<Primary>
è una gtk+
cosa.
gtk+ 2.24.7
e ha gtk+ 3.2.1
introdotto il concetto di un modificatore dell'acceleratore indipendente dalla piattaforma <Primary>
, che può essere utilizzato al posto di <Control>
:
una nuova funzione è fornita in Gtk + (al momento della stesura di questo documento è in Git per Gtk + -2.24 e rilasciata in Gtk + -3.2.0) per utilizzare il
<Primary>
descrittore al posto di<Control>
per acceleratori e associazioni. Questo mapperà l'acceleratore su Command su OSX e su Control per qualsiasi altra cosa. 1
Come da questo impegno :
GTK: consente di specificare gli acceleratori in modo indipendente dalla piattaforma. Introdurre
<Primary>
nelle stringhe dell'acceleratore, che si risolve in GDK_CONTROL_MASK su X11 / Win23 e in GDK_META_MASK su quarzo.
è definito (insieme ad altri acceleratori) in 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>
è una cosa di window manager.
Come da questo impegno in metacity
:
Vogliamo passare da una finestra all'altra di un'operazione facilmente accessibile. La combinazione di tasti comoda e memorabile è la chiave sopra il tasto tab, ma il keyym per quel tasto non è coerente in diversi layout di tastiera. Aggiungi il codice che individua la chiave dalla geometria XKB e un nome keyms magico "Above_Tab" che fa riferimento a questa chiave e imposta l'associazione predefinita per cycle_group su Above_Tab
Vedi anche questo commit nei mutter
file sorgente meta-accel-parse.c
emeta-accel-parse.h
<Primary>
di solito significa (pulsante aka Windows), ma può essere ridefinito (l'ho visto mappato in alcuni punti). Il wiki di GNOME dice : SuperCtrlShiftCtrl
La chiave principale del modificatore di sistema dovrebbe essere (Super / Windows / Tasto comando).
Argh. C'è un po 'di confusione qui. Sebbene il Wiki GNOME dica la "chiave del modificatore del sistema primario", in realtà potrebbe essere diverso dalla "chiave primaria". Due post sul forum indicano che la Primaria è Ctrl, come inizialmente pensavo. C'è un bug di due anni (risolto) sulla confusione Ctrle su Primary archiviato compiz
in Ubuntu, che dice:
In precedenza chiamavamo il tasto di controllo,
<Control>
ma ora è stato modificato in GNOME, quindi quando viene premuto il tasto di controllo<primary>
. In compiz impostiamo le scorciatoie da tastiera come (ad esempio)<Control><Alt><Left>
.
Sono rimasto con tentativi ed errori: prova Ctrlprima, poi Super.
<Primary>
non è Super
, come hai capito; questa è purtroppo una formulazione ambigua. Tuttavia, non è definito come Ctrl
- cioè non è su OS X. Il suo scopo è mappare la chiave principale del modificatore del sistema host, che su OS X è Command
. Ciò consente alle applicazioni che utilizzano GTK + di ottenere automaticamente scorciatoie che corrispondono alle applicazioni OS X native (ad es. Command
+ Z
Per annullare) e non sono inusuali / stonanti (poiché Ctrl
viene utilizzato per cose diverse lì).
<Primary>
certamente significa <Control>
( Ctrl
) nel contesto di Gtk su non Mac e Command
( ⌘
) su macchine Mac. Ad esempio, esci Ctrl+q
ora mappato automaticamente su ⌘+q
. Anche la pagina wiki che hai citato non parla solo di <Super>
nulla a che fare <Primary>
.