Estoy tratando de configurar xkb de modo que el bloqueo de mayúsculas se asigne a la tecla Componer y las funciones Shift + Caps Lock como el bloqueo de mayúsculas tradicional. Puse lo siguiente en un nuevo archivo llamado /usr/share/X11/xkb/symbols/gdwatson
:
partial modifier keys
xkb_symbols "compose" {
key <CAPS> {
type[Group1] = "TWO_LEVEL",
symbols[Group1] = [ Multi_key, Caps_Lock ]
};
};
Luego corrí setxkbmap -symbols 'pc+us+gdwatson(compose)'
, que completó con éxito. Caps Lock funciona como Compose, pero Shift + Caps Lock funciona como Compose en lugar de Caps Lock. xkbcomp :0.0
revela lo siguiente:
key <CAPS> {
type= "TWO_LEVEL",
symbols[Group1]= [ Multi_key, Multi_key ]
};
El mapeo de símbolos de segundo nivel está duplicando el primero por alguna razón, en lugar del valor separado que intenté darle. ¿Alguien tiene xkb-fu lo suficientemente fuerte como para decirme qué he hecho mal o cómo solucionarlo?
keyboard-layout
xkb
Grant Watson
fuente
fuente
@mirabilos
su respuesta para que lo note) en un comentario, luego eliminaré este comentario y lo escribiré como respuesta (también debe eliminar su respuesta de comentario).partial modifier keys
realidad debería serpartial modifier_keys
? Sin este cambio, ensetxkbmap -symbols 'pc+us+gdwatson(compose)'
realidad sale con un error, pero con el cambio, obtengo el resultado deseadoxkbcomp :0.0
. Sin embargo , obtengo el efecto secundario no deseado de que presionar Capslock simultáneamente me pone en modo Capslock y modo componer teclas.Respuestas:
Esto parece lograr lo que estás buscando.
Los siguientes recursos son invaluables cuando se trata de XKB (me he vinculado a los espejos de estas páginas de WayBack Machine para una prueba futura):
fuente
default partial modifier_keys
, entonces no tiene que especificar explícitamentesetxkbmap -symbols 'pc+us+gdwatson(compose)'
, simplemente puede hacerlosetxkbmap -symbols 'pc+us+gdwatson'