Por que existe um limite de 4 layouts para teclados?

9

Acabei de descobrir que não podia adicionar mais de 4 layouts para o teclado. A pesquisa no Google revelou que era um limite universal (pelo menos para o GNU / Linux) e a única maneira de contornar isso era usar uma maneira hackeada com scripts. Existe realmente uma razão técnica por trás disso? Se sim, o que é isso?

Mussnoon
fonte
A resposta está aqui: askubuntu.com/questions/107945/…
Rinzwind
Essa limitação ainda existe em alguns desktops no final de 2018. O Gnome me permite configurar mais layouts, mas o XFCE não. Suponho que pelo menos o Gnome tenha resolvido o problema mencionado na resposta e no código do htorque no XFCE, está por trás do que é possível upstream.
LiveWireBT

Respostas:

9

Citando Peter Hutterer (funcionário da Red Hat trabalhando no X.Org):

Algumas informações sobre esse recurso e por que ele ainda não foi implementado: O limite do grupo Te 4 é forçado pelo formato de ligação do protocolo. o suporte para mais de 4 grupos só pode ser adicionado adicionando solicitações e eventos adicionais ao XKB e reescrevendo clientes para mudar para esta nova versão do XKB. Além disso, a compatibilidade com o protocolo antigo deve ser garantida para que os clientes XKB atuais ainda funcionem corretamente com a nova versão do XKB.

Isso é complexo e consome muito tempo. Voluntários para resolver este problema são, naturalmente, muito bem-vindos.

[...]

É codificado em alguns bits no protocolo, com os outros bits sendo usados ​​para outras informações. portanto, você precisa de bytes extras nas solicitações / eventos para algo acima de 4 e adicionar bytes extras exige que o protocolo seja bloqueado. E então você precisa lidar com os clientes que entendem apenas 4 grupos e o que fazer com eles se o teclado estiver no grupo 5.

Por que não temos um hack acima dessa camada - não sei ... essa deve ser a limitação mais lamentável de todos os tempos. : D

htorque
fonte
É ainda mais estranho, porque você pode realmente usar mais de 4 - usando scripts.
Mussnoon 16/01
Se você estiver no unix.se, também pode postar a resposta lá para que eu também possa aceitá-la: unix.stackexchange.com/questions/5963/…
Mussnoon
Eu não tenho, tenho que responder você mesmo. ;-)
htorque 16/01
3

Eu escrevo frequentemente em inglês, alemão, sueco e chinês. São quatro, mas também estou aprendendo russo e apreciaria a alternância extra via GUI. Scripts é uma resolução viável nesse meio tempo:

http://ubuntuforums.org/showthread.php?p=10333055#post10333055

Pode-se notar que, com o russo, é possível escolher o layout de teclado russo 'padrão' ou um layout fonético muito mais conveniente (para quem está aprendendo) emparelhado com o QWERTY.

Além disso, muitos de nós usamos alguma forma de Dvorak, que também assume uma posição.

Portanto, meu computador fica assim:

Layouts de teclado:

EUA Dvorak (programador) Sueco Alemão Russo Russo fonético

e há um ícone de teclado adicional com uma alternância ibus para o chinês Pinyin.

Aaron
fonte
0

O protocolo reserva dois bits para a troca de teclado. São mais duas do que muitas pessoas precisam. A maioria dos usuários que vi alternando layouts de teclado usa dois; um layout local e internacional. O layout internacional geralmente lida com a composição de todas as chaves requeridas. Isso deixa um pouco em excesso. Vi usuários com três layouts, mas geralmente um nunca é usado.

Eu estaria interessado no que você está fazendo, que requer mais de quatro layouts, e em como você trabalha para alterar constantemente o mapeamento de teclas. Acho difícil acostumar os usuários a dois layouts, mesmo quando solucionava os problemas que eles têm com a internacionalização.

BillThor
fonte
4
Com todo o respeito, essa não é uma resposta adequada. Linguistas, entusiastas da língua e pessoas bilíngues ou trilíngues que estão aprendendo uma ou duas outras línguas, precisam desse recurso. Também pode ser necessário para testar ou experimentar novos layouts, como o Dvorak. Mas realmente não importa por que as pessoas precisam de mais de 4 layouts de entrada. O fato da questão é que eles fazem.
Teekin
@HelgiHrafnGunnarsson Protocolos como este foram criados quando a largura de banda era bastante limitada e os bits eram alocados esparsamente. Acredito que meu post explica o raciocínio que provavelmente foi usado. Eu trabalho com muitas pessoas bilíngues que trabalham com um layout. Existem muitos layouts multilíngues disponíveis, que podem ser mais fáceis de digitar do que alterar o layout toda vez que você alterna o idioma.
BillThor