Per ogni definizione di codice tasto è possibile avere fino a otto tasti. Questi sono organizzati a coppie in quattro gruppi. Esiste una famiglia di tastiere ISO_Next_Group
, ISO_Prev_Group
, ISO_First_Group
e ISO_Last_Group
che, quando premuti, consentono di scorrere l'output del keysym colpendo il tasto tra i gruppi keysym. Queste chiavi sono il modo in cui ottieni più layout.
Ad esempio, supponendo ISO_Next_Group
è stato legato ad un codice prodotto e assegnato a un modificatore, per questa definizione:
keycode 53 = x X Greek_xi Greek_XI multiply U2297 U24E7 U24CD
premendo il tasto della tastiera con l'etichetta “X” a tipi out “x” . Dopo aver premuto il tasto ISO_Next_Group
, ottengo "ξ". Premendolo di nuovo, ottengo "×". Premendolo di nuovo, "ⓧ". Alla fine, premendolo una quarta volta le cose tornano alla normalità.
Avere trascorrere alcuni giorni (a causa Xkb¹ ha documentazione orribile; finalmente trovato una guida bene here), è possibile creare un file di definizione il simbolo con le voci in questo modo:
key <SPCE> {
// Level I II III IV
[ space, space, U2395, U2592 ], // Group 1
[ U2423, emspace, U2420, hairspace ] // Group 2
};
key <RALT> {
[ Mode_switch, Mode_switch ]
};
key <RCTL> {
[ ISO_Level3_Shift, ISO_Level3_Shift ]
};
Le parentesi racchiudono un unico gruppo. Normalmente, il primo gruppo è attivo. Il gruppo può essere temporaneamente incrementato di uno con ISO_Group_Shift, a.k.a Mode_switch. All'interno di un gruppo, i simboli emessi sono definiti in livelli crescenti. Il livello I è con un semplice tasto di pressione. Shift aggiunge uno al livello corrente. ISO_Level3_Shift imposta il livello su III.
L'esempio mappe sette simboli al barra spazio più vari tasti shift tale che:
spazio ⟨⟩ U + 0020 SPACE
Shift + spazio ⟨⟩ U + 0020 SPACE
R. Alt + spazio ⟨␣⟩ U + 2423 APRA LA CASELLA
R. Alt + Maiusc + spazio ⟨⟩ U + 2003 EM SPACE
R. Ctl + spazio ⟨⎕⟩ U + 2395 Simbolo di funzione APL
R. Ctl + Shift + spazio ⟨▒⟩ U + 2592 OMBRA MEDIA
R. Alt + R. Ctl. + Spazio ⟨␠⟩ U + 2420 SIMBOLO PER SPAZIO
R. Alt + R. Ctl.+ Maiusc + spazio ⟨⟩ U + 200A CAPELLI SPACE
C'è anche una chiave ISO_Level5_Shift per il livello V. Così si può avere almeno sei simboli per un livello. Con il tasto shift della modalità questo implica che puoi configurare la tua tastiera per digitare circa 1.200 simboli distinti, ma a quel punto tenere premuto tanti modificatori probabilmente metterà a dura prova alcuni tasti.
P.S. I nomi di tutti i simboli nominati sono memorizzati in /usr/include/X11/keysymdef.h
.
¹ Risulta che
xmodmap (1) è buggy e obsoleto.
Questa domanda è fondamentalmente sulla compilazione di una mappa di tasti in un modo piuttosto insolito che richiede hack di basso livello. Ho pensato di metterlo su superuser, ma non otterrà nessuna risposta lì. È più vicino alla programmazione (sì - questo è fondamentalmente programmando xkb) che al semplice settaggio delle impostazioni (che è ciò in cui specialista è superuser). – viraptor