Qual é a diferença entre o mapeamento de teclas X11 e o mapeamento de teclas do console virtual?

2

No linux nós temos o X11 que governa os layouts de teclado, mas infelizmente quaisquer mudanças feitas lá não afetam o sistema como um todo, então em um tty você fica com qwerty padrão não importa quais sejam suas preferências do X11. Recentemente decidi mergulhar no tty então precisei configurar meu layout (neo) lá. No final, eu não pude, mas eu tenho estas perguntas para você:

Por que temos arquivos diferentes para descrever layouts X11 e layouts de console? Por que precisamos de ferramentas diferentes para gerenciar esses layouts? Por que ninguém parece interessado em mudar os layouts no console? Os administradores do servidor só usam qwerty?

Muito obrigado!

    
por Yordan Grigorov 07.01.2015 / 20:14

1 resposta

0

Concordando que seria bom se os dois conjuntos de configurações fossem integrados juntos, há duas razões pelas quais eles são diferentes:

  • evoluíram separadamente (e ninguém propôs uma solução integrada que satisfaça os requisitos de ambos) e
  • eles têm requisitos diferentes.

Os consoles virtuais Linux fornecem uma interface de terminal que suporta POSIX termios: o que você pode considerar em E / S de baixo nível de caractere . Isso foi bem definido em meados dos anos 80, com a tecnologia dos 10 anos anteriores. A interface termios está relacionada a caracteres de controle, alguns recursos de realce de vídeo para uma única fonte pequena etc. Ela não faz muitas suposições sobre o teclado além disso pode enviar caracteres.

O X11 chegou perto do final da década de 1980, projetado para suportar E / S gráficas . Faz suposições diferentes do que termios, por exemplo, gráficos implicam várias fontes (e a capacidade de exibir uma ampla gama de caracteres). Além disso (devido à necessidade de manipular um mouse ou outro dispositivo de ponteiro), é necessário usar métodos adicionais para manipular a entrada.

Ao contrário da interface termios (usando uma sequência de caracteres / bytes), o X11 passa informações por eventos que armazenam muitas informações, e eventos podem ser combinados de formas não contempladas quando termios foram criados. Assim, em vez de codificar control e shift em um caractere, um evento X11 pode passar o modificador control como um evento e um código da chave como outro evento. As bibliotecas do X11 combinam esses eventos.

Embora ambos existissem tecnologia desde o início, o X11 (mesmo como o X386) era menos usado, e basicamente chegou tarde demais por vários anos para influenciar o design dos termios. Tudo isso foi feito antes do Linux ser iniciado. Desde que houve (e aparentemente ainda é) nenhum projeto alternativo que forneça uma vantagem distinta, não houve nenhuma mudança desde meados do final dos anos 90.

Leitura adicional:

por 28.05.2016 / 13:10