
Estoy tratando de mejorar la distribución de mi teclado xkb
y funcionó muy bien usando los 4 niveles predeterminados (¿o debería decir 2 niveles? Realmente no conozco los términos).
Y cuando estoy abriendo un paréntesis, encontré xkb muy mal documentado (o no sé buscar). Algunos hablan de niveles, algunos de grupos, algunos definen niveles como shift siendo el primero, AltGr el segundo. y otros consideran que el personaje base es el primero y luego aumentan cada combinación. Quiero decir que hay muchas inconsistencias...)
De todos modos, aquí están las 4 "combinaciones" predeterminadas con la tecla Men algunos teclados:
// Pressing <M> <Shift+M> <AltGr+M> <Shift+AltGr+M>
key <AB07> { [ m , M , mu , mu ] }; // m M µ µ
¿Es posible agregar a la mezcla otros modificadores?
Por ejemplo, con un modificador adicional, R Ctrlpuedo tener 6 combinaciones:
// Pressing <M> <Shift+M> <AltGr+M> <AltGr+Shift+M> <RCtrl+M> <RCtrl+Shift+M>
key <AB07> { [ m , M , mu , mu , comma , semicolon] };// m M µ µ , ;
O incluso 8 combinaciones con los tres modificadores.
Y de hecho parece que ya existe un mapeo de 8 niveles en algunos symbol
archivos con la palabra claveEIGHT_LEVEL
Sin embargo, no busco obtener 42 combinaciones para una tecla.
Más bien, solo quiero evitar combinaciones incómodas para mis dedos y para eso prefiero tener solo combinaciones limitadas con "acceso directo", así:
// Pressing <M> <Shift+M> <AltGr+M> <RCtrl+M> <RWin>+M
key <AB07> { [ m , M , comma , semicolon , µ ] }; // m M , ; µ
También me gustaría mapear otros personajes o incluso movimientos.(flechas, inicio/fin, página arriba/abajo)con otros modificadores no utilizados (bloqueo de mayúsculas, bloqueo numérico)
Cómo puedo hacer esto ?
Muchas gracias.
Respuesta1
Allí puede utilizar group
para lograr el objetivo de "dos pulsaciones de teclas":
key <AB07> {
type[group1]= "FOUR_LEVEL",
type[group2]= "TWO_LEVEL_BIS",
symbols[group1]= [ m , M , comma , NoSymbol],
symbols[group2]= [ semicolon , µ ]
};
Ahora debe definir el type
TWO_LEVEL_BIS
uso de los modificadores que desee.
Vale la pena saber cuál Mode_switches una clave que incrementa el grupo real, así que eche un vistazo a su definición.