
O Sway usa o Wayland, portanto, qualquer arquivo XKB será analisado pelo Sway, não pelo X.
- Quero adicionar uma camada no teclado (provavelmente usando Hyper)
- Quero embaralhar algumas teclas modificadoras
Eu olhei em muitos sites, mas ainda não sei como fazer isso. Existem tantas partes no XKB, e não tenho certeza do que vai para onde. Quero um arquivo (ou arquivos) de exemplo e uma explicação.
Responder1
Digamos que seu arquivo de configuração xkb seja denominado custom-xkb e esteja armazenado no formato ~/.config
. Então você inclui isso no seu arquivo de configuração do sway:
input "type:keyboard" { # or input <identifier>
xkb_file ~/.config/xkb/custom-xkb
}
Você provavelmente já conhece essa parte – a parte difícil é criar o custom-xkb
arquivo. Não sou especialista, mas eis o que eu faria:
- Eu faria uma pesquisa na web por "especificação xkb", e isso traz para você todos os tipos de informações, desde a Wikipedia até a
x.org
especificação completa. Você provavelmente já possui uma coleção de recursos como esses. - Então eu encontraria no meu sistema os arquivos de configuração padrão do teclado, talvez em
\etc\X11\xdg\
ou algo assim (talvez você precise dar uma olhada: na minha distribuição estranha, o caminho é/nix/store/n1mlvwrkdlm77b4ai9s26kwji89jjb65-xkeyboard-config-2.27/share/X11/xkb/
). - Nesse caminho, procuraria dois subdiretórios:
symbols
etypes
. O primeiro é onde estão os mapas-chave para todos os idiomas diferentes e, dentro de cada arquivo, as variações do mapa-chave para esse idioma. O segundo subdiretório é onde as chaves virtuais são definidas (como Mod1, Control, etc.). - Então eu copiaria o conteúdo desses arquivos para o meu
~/.config/xkb/custom-xkb
e experimentaria diferentes edições para ver o que acontece. E procuro tirar minhas dúvidas utilizando os recursos da internet que recolhi. Se algo catastrófico acontecesse, eu apertaria Control+Alt+F1, faria um login nox, comentaria a linhaxkb_file ~/.config/xkb/custom-xkb
e reiniciaria o servidor X... - Eu não alteraria o conteúdo dos subdiretórios
rules
,geometry
ekeycodes
. Mas você precisa dar uma olhada nisso também.
Na verdade, não fiz nada disso, mas talvez funcione. Acho que olhar os arquivos de configuração reais ajuda a descobrir o que os tutoriais e guias estão realmente dizendo...
Boa sorte
Responder2
XKB é realmente uma fera complicada. (Pelo menos na minha experiência. Parece ter algumas decisões de design estranhas que atribuo ao fato de seu primeiro lançamento ter sido em 1996 e também não ser a melhor documentação na minha opinião.)
Consegui chegar a algum nível de compreensão experimentando muitas configurações diferentes e decidi por um subconjunto de funcionalidades cujo comportamento posso adivinhar com segurança e criar layouts confortavelmente, ao mesmo tempo que tenho flexibilidade suficiente para expressar o que gostaria de alcançar.
Escrever um tutorial abrangente sobre o que aprendi levaria um pouco de tempo, mas o que você pode fazer é dar uma olhada nos meus arquivos de configuração, que espero que sejam mais digeríveis do que ler os layouts padrão.
https://github.com/Isti115/dotfiles/tree/master/.config/xkb
(Eles estão incluídos na minha configuração do Swayaqui.)
Recomendo particularmente o Lenovo-L13.xkb
arquivo, que criei para meu laptop, pois possui múltiplas camadas. (Eu até transformei minha barra de espaço em um modificador enquanto mantinha pressionadaevdoublebind.) O layout do Vortex Core também é bom, mas esse não é o quadro completo, já que o teclado em si também é programável.
Se você precisar de algo que não pode ser encontrado aqui, como a resposta anterior já mencionou, o lugar para começar é procurar nos arquivos integrados. Você pode ter uma ideia de quais deles são utilizados em seu teclado usando setxkbmap -print
. A partir de então você pode consultar as definições importadas onde quer que seus xkb
arquivos estejam localizados. (A menos que você esteja usando o NixOS, provavelmente está em algum lugar razoável, como /usr/share/X11/xkb
no Arch.)