
Sway usa Wayland, por lo que cualquier archivo XKB será analizado por Sway, no por X.
- Quiero agregar una capa en el teclado (probablemente usando Hyper)
- Quiero mezclar algunas teclas modificadoras
He mirado muchos sitios, pero todavía no sé cómo lograrlo. XKB tiene tantas partes que no estoy seguro de qué van y dónde. Quiero un archivo (o archivos) de ejemplo y una explicación.
Respuesta1
Digamos que su archivo de configuración xkb se llama custom-xkb y está almacenado en ~/.config
. Luego incluye esto en su archivo de configuración de sway:
input "type:keyboard" { # or input <identifier>
xkb_file ~/.config/xkb/custom-xkb
}
Probablemente ya conozcas esa parte: la parte difícil es crear el custom-xkb
archivo. No soy un especialista, pero esto es lo que haría:
- Haría una búsqueda en la web de "especificación xkb", y eso le brindará todo tipo de información, desde wikipedia hasta la
x.org
especificación completa. Probablemente ya tengas una colección de recursos como esos. - Luego encontraría en mi sistema los archivos de configuración de teclado predeterminados, tal vez en
\etc\X11\xdg\
o algo así (puede que tengas que mirar un poco a tu alrededor: en mi extraña distribución, la ruta es/nix/store/n1mlvwrkdlm77b4ai9s26kwji89jjb65-xkeyboard-config-2.27/share/X11/xkb/
). - En esa ruta, buscaría dos subdirectorios:
symbols
ytypes
. El primero es donde están los mapas de claves para todos los diferentes idiomas y, dentro de cada archivo, las variaciones de los mapas de claves para ese idioma. El segundo subdirectorio es donde se definen las claves virtuales (como Mod1, Control, etc.). - Luego copiaría el contenido de esos archivos en mi
~/.config/xkb/custom-xkb
y experimentaría diferentes ediciones para ver qué sucede. Y trato de aclarar mis dudas utilizando los recursos de Internet que habría recopilado. Si sucediera algo catastrófico, presionaría Control+Alt+F1, luego iniciaría sesión nox, comentaría la líneaxkb_file ~/.config/xkb/custom-xkb
y reiniciaría el servidor X... - No alteraría el contenido de los subdirectorios
rules
ygeometry
.keycodes
Pero es necesario, échales un vistazo también.
En realidad no he hecho nada de eso, pero tal vez funcione. Creo que mirar los archivos de configuración reales ayuda a descubrir qué dicen realmente los tutoriales y guías...
buena suerte
Respuesta2
XKB es una bestia realmente complicada. (Al menos en mi experiencia. Parece tener algunas decisiones de diseño extrañas que atribuyo al hecho de que su primera versión fue allá por 1996, y tampoco es la mejor documentación en mi opinión).
Me las arreglé para llegar a cierto nivel de comprensión al experimentar con muchas configuraciones diferentes y me decidí por un subconjunto de funcionalidades cuyo comportamiento puedo adivinar de manera confiable y con el que puedo crear diseños cómodamente sin dejar de tener suficiente flexibilidad para expresar lo que me gustaría. lograr.
Escribir un tutorial completo de lo que he aprendido tomaría bastante tiempo, pero lo que puedes hacer es echar un vistazo a mis archivos de configuración, que espero sean más digeribles que leer los diseños predeterminados.
https://github.com/Isti115/dotfiles/tree/master/.config/xkb
(Están incluidos en mi configuración de Swayaquí.)
Recomiendo especialmente el Lenovo-L13.xkb
archivo que creé para mi computadora portátil, ya que tiene varias capas. (Incluso convertí mi barra espaciadora en un modificador mientras la mantenía presionada condoble enlace.) El diseño de Vortex Core también es bueno, pero esa no es la imagen completa, ya que el teclado en sí también es programable.
Si necesita algo que no se puede encontrar aquí, como ya se mencionó en la respuesta anterior, el lugar para comenzar son los archivos integrados. Puedes hacerte una idea de cuáles se utilizan para tu teclado usando setxkbmap -print
. A partir de ese momento, podrá buscar las definiciones importadas dondequiera que xkb
se encuentren sus archivos. (A menos que estés usando NixOS, probablemente esté en algún lugar razonable, como /usr/share/X11/xkb
en Arch).