Estou tentando criar um equivalente linux do layout do teclado Telugu ergonômico chamado Sarala (Hard la). Consegui mapear todas as chaves até agora. O layout usa as seguintes combinações de teclas para vários níveis.
None (Base): Level1
Shift: Level2
Ctrl + Alt: Level3
Ctrl + Alt + Shift:Level4
Onde o linux usa o seguinte para vários níveis.
None (Base): Level1
Shift: Level2
RAlt: Level3
RAlt + Shift:Level4
Para poder combinar as combinações de teclas com meu layout, eu teria que mapear AltGrcom um Ctrl+ Alt. Pesquisei sem êxito vários arquivos no /usr/share/X11/xkb/
. Faz todo o corpo sabe como eu pode vincular a ISO_Level3_Shift
com Ctrl+ Alt?
key <RALT> {
symbols[Group1]= [ Mode_switch, Multi_key ],
virtualMods= AltGr
};
Se você quiser ver o layout, está aqui
xorg
keyboard-layout
xkb
ShaggyInjun
fonte
fonte
xkb
configuração.Respostas:
Você precisa definir um novo tipo de xkb. Você pode ver exemplos em seu diretório xkb / types (geralmente
/usr/share/X11/xkb/types
). Lá você pode definir combinações arbitrárias de modificadores para obter diferentes níveis de mudança. Para o seu problema, você pode usar algo como isto:Em seu arquivo de símbolos, você pode definir esse tipo como padrão ou definir por tipo de chave. Observe que você precisa que o tipo esteja em um arquivo no diretório types e a definição da chave em um arquivo no diretório dos símbolos - xkb usa uma hierarquia estrita do sistema de arquivos para encontrar cada componente.
Eu próprio fiz alguns hackers nos layouts de teclado para criar meu layout personalizado ( https://github.com/willghatch/hatchak ), que passou por várias iterações nas quais experimentei coisas estranhas. O XKB pode ser bastante sofisticado e estranho às vezes, mas ainda é o sistema de teclado mais configurável que já vi de longe. As melhores referências se você tiver mais problemas são:
[editar: os links originais estão inativos no momento, mas felizmente archive.org existe]
https://web.archive.org/web/20150722164820/http://www.charvolant.org/~doug/xkb/html/index.html
e
https://web.archive.org/web/20190419170426/http://pascal.tsu.ru/en/xkb/
Cuidado - embora essa seja a melhor documentação que encontrei, ela deixa muitos casos obscuros. Boa sorte.
fonte
key.type
. Você provavelmente pode ver um exemplo em/usr/share/X11/xkb/symbols/srvr_ctrl
(ou em algum lugar assim), na seção "no_srvr_keys". Aqui está o que eu tenho: xkb_symbols "no_srvr_keys" {key.type = "TWO_LEVEL"; tecla <FK01> {[F1, F1]}; tecla <FK02> {[F2, F2]}; <etc ...>};Pelo que parece, você precisa de um layout de teclado compatível com AltGr, para que você possa simplesmente mudar a tecla de atalho em "teclado> atalhos> tecla de caracteres alternativos" no menu de configuração. Normalmente você pode vê-lo alterando para um layout que "possui chaves mortas" ou está escrito "AltGr dead keys"
fonte