Como as configurações de layout do xkb podem ser simplificadas?

3

A questão é, se existe uma maneira de simplificar a estrutura da configuração do xkb relacionada aos layouts de teclado?

Conforme explicado em mais detalhes abaixo, há cinco locais independentes nos quais uma referência a uma variante de layout de teclado é armazenada ( evdev.xml , evdev.lst , base.xml , base.lst e dentro da respectiva descrição de layout arquivos em /usr/share/X11/symbols/ ). Seria muito mais simples se houvesse apenas o número necessário (não é útil armazenar as mesmas informações em .lst e .xml, pois todas as adições ou exclusões de layouts de teclado precisam ser feitas várias vezes em 5 locais ) É claro que também torna toda a configuração menos clara para os usuários (já que é confuso ter que definir a mesma configuração de maneira redundante desnecessária em vários lugares). Talvez haja uma maneira de simplificar isso? Se houvesse essa seria a resposta desejada para essa pergunta. Dado que existem muitas distribuições diferentes, eu espero que nem todas tenham essa configuração de xkb.

É assim que a configuração do xkb aparece na minha caixa GNU / Linux (Ubuntu 12.04LTS). A fim de adicionar um novo teclado layouts para ser usado no meu um grande número respeitável de muitos arquivos deve ser modificado.

/usr/share/X11/xkb/rules/evdev
/usr/share/X11/xkb/rules/evdev.xml 
/usr/share/X11/xkb/rules/evdev.lst
/usr/share/X11/xkb/rules/base 
/usr/share/X11/xkb/rules/base.xml
/usr/share/X11/xkb/rules/base.lst

Parece-me que essencialmente base versão dos arquivos são cópias dos arquivos evdev , seria interessante saber se eles poderiam ser feitos links simbólicos como esses arquivos

/usr/share/X11/xkb/rules/xorg
/usr/share/X11/xkb/rules/xorg.lst
/usr/share/X11/xkb/rules/xorg.xml

Realizando este pequenos testes:
1.

 user@box:/$ cat /usr/share/X11/xkb/rules/evdev.lst | grep Greek
 gr              Greek
 simple          gr: Greek (simple)
 extended        gr: Greek (extended)
 nodeadkeys      gr: Greek (eliminate dead keys)
 polytonic       gr: Greek (polytonic)

2.

 user@box:/$ cat /usr/share/X11/xkb/rules/evdev.xml | grep Greek
       <description>Greek</description>
           <description>Greek (simple)</description>
            <description>Greek (extended)</description>
             <description>Greek (eliminate dead keys)</description>
             <description>Greek (polytonic)</description>
 ofencito@freak:/usr/share/X11/xkb/rules$ 

mostra que ambos os arquivos contêm virtualmente os mesmos dados (o que faz com que a mesma iformation seja armazenada em 4 locais separados - mesmo desconsiderando os links simbólicos mencionados anteriormente).

Por fim, os layouts de teclado são armazenados em uma estrutura de sistema de arquivos em /usr/share/X11/xkb/symbols , que faz referências armazenadas novamente a o layout de idioma e variante nos arquivos nomeados de acordo. Para manter nosso exemplo grego, existe um arquivo /usr/share/X11/xkb/symbols/gr . Olhando para este rendimento:

user@box:/$ cat /usr/share/X11/xkb/symbols/gr | grep xkb_symbols
xkb_symbols "basic" {
    name[Group1] = "Greek";
xkb_symbols "simple" {
    name[Group1] = "Greek (simple)";
xkb_symbols "bare" {
xkb_symbols "extended" {
    name[Group1] = "Greek (extended)";
xkb_symbols "polytonic" {
    name[Group1] = "Greek (polytonic)";
xkb_symbols "nodeadkeys" {
    name[Group1] = "Greek (eliminate dead keys)";

Neste ponto, a mesma informação foi armazenada em 5 locais.

Existe uma maneira de simplificar essa "bagunça"? Já que estou mais familiarizado apenas com o Ubuntu, é claro que outras distribuições podem ter encontrado menos formas de confusão para lidar com o layout do teclado?

    
por humanityANDpeace 24.02.2015 / 17:58

1 resposta

0

Acho que a implementação é feita com pressa. Veja aqui: (use a tradução Google do Chrome)

link

Portanto, há lugares que só lêem .lst ignorando base.xml , mas as informações que eles contêm não são idênticas, e eu acho que xml é mais completo, mas não tenho certeza.

    
por 29.05.2018 / 15:44