Para cada definición de código clave puede tener hasta ocho keysyms. Estos se organizan por pares en cuatro grupos. Hay una familia de keysyms ISO_Next_Group
, ISO_Prev_Group
, ISO_First_Group
y que, cuando se presiona, cíclican la salida keysym pulsando la tecla entre los grupos keysym. Estas claves son cómo logras múltiples diseños.
Como un ejemplo, suponiendo ISO_Next_Group
se ha unido a un código clave y asignado a un modificador, a continuación, para esta definición:
keycode 53 = x X Greek_xi Greek_XI multiply U2297 U24E7 U24CD
presionando mi tecla del teclado con la etiqueta de “X” en la tipos out “x” . Después de presionar la tecla ISO_Next_Group
, obtengo "ξ". Presionándolo de nuevo, obtengo "×". Presionándolo nuevamente, "ⓧ". Finalmente, presionarlo por cuarta vez hace que las cosas vuelvan a la normalidad.
Tener pasar varios días (porque Xkb¹ tiene documentación horrible, finalmente encontró un guía bien here), se puede crear un archivo de definición de símbolo con las entradas de la siguiente manera:
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 ]
};
Los corchetes encierran un único grupo. Normalmente, el primer grupo está activo. El grupo puede incrementarse temporalmente en uno con ISO_Group_Shift, a.k.a. Mode_switch. Dentro de un grupo, los símbolos emitidos se definen en niveles crecientes. El nivel I es con una simple pulsación de tecla. Shift agrega uno al nivel actual. ISO_Level3_Shift establece el nivel en III.
El ejemplo anterior mapas de siete símbolos a la barra de espacio, además de varias teclas de desplazamiento tal que:
espacio ⟨⟩ U + 0020 SPACE
Shift + espacio ⟨⟩ U + 0020 SPACE
R. Alt + espacio ⟨␣⟩ U + 2423 ABRIR CAJA
R. Alt + Shift + espacio ⟨⟩ U + 2003 EM eSPACIO
R. Ctl + espacio ⟨⎕⟩ U + 2395 APL SÍMBOLO FUNCIONAL QUAD
R. Ctl + Shift + espacio ⟨▒⟩ U + 2592 MEDIO SHADE
R. Alt + R. Ctl. + Espacio ⟨␠⟩ U + 2420 SÍMBOLO DE ESPACIO
R. Alt + R. Ctl.+ Shift + espacio ⟨⟩ U + 200A HAIR ESPACIO
También hay una clave ISO_Level5_Shift para V. nivel Así que puedes tener al menos seis símbolos de una sola planta. Con la tecla de cambio de modo, esto implica que puede configurar su teclado para escribir aproximadamente 1,200 símbolos distintos, pero en ese momento, mantener apretados tantos modificadores probablemente amortiguará algunas teclas.
P.S. Los nombres de todos los símbolos nombrados se almacenan en /usr/include/X11/keysymdef.h
.
¹ Resulta que
xmodmap (1) está libre de errores y en desuso.
Esta pregunta se trata básicamente de compilar un mapa de teclas de una manera bastante inusual que necesita hacks de bajo nivel. Pensé en ponerlo en superusuario, pero no va a obtener ninguna respuesta allí. Está más cerca de la programación (sí, esto es básicamente la programación de xkb) que simplemente ajustar su configuración (que es en lo que se especializa el superusuario). – viraptor