Algumas chaves não funcionam no console (tty), mas funcionam em um emulador de terminal [duplicado]

0

Quando estou no terminal virtual e abro meu editor, posso usar atalhos de teclas do editor como CTRL + Down e CTRL + Up para selecionar linhas (selecione o bloco ), ou F5 e F6 para copiar / mover o bloco selecionado.

Quando eu efetuo login via console, no entanto, (tty, via CTRL + Alt + F1 ), esses atalhos não funcionam mais. CTRL + Baixo e CTRL + Cima agem simplesmente como Abaixo e Acima , F5 em vez de copiar o bloco selecionado, imprime a letra do capital E . Apenas o F6 funciona (move o bloco selecionado).

Acredito que isso não tenha nada a ver com meu editor ( joe ), mas sim com configurações do console / terminal.

Como posso usar as mesmas chaves no console tty, como faço no terminal virtual.

    
por Martin Vegter 19.04.2016 / 08:17

1 resposta

0

O comportamento não está relacionado com configurações do console / terminal. Pelo contrário, é um recurso do terminal (ou emulador de terminal) em si.

O banco de dados terminfo Capacidades pré-definidas refletem a prática existente em alguns milhares de tipos de terminais. Se você ler a lista de recursos predefinidos, poderá perceber que há várias definições para as chaves deslocadas , por exemplo,

   key_beg                   kbeg   @1   begin key

versus

   key_sbeg                  kBEG   &9   shifted begin key

Não há recursos predefinidos para outros modificadores, como control .

Para encurtar a história,

  • os terminais de hardware que serviam como modelos para emuladores modernos de console / terminal e terminal raramente usavam qualquer modificador que não fosse shift , e isso não era usado de forma generalizada.
  • implementações de terminal / console de computador tendem a atrasar o desenvolvimento porque fazem parte do kernel, e as inovações ali interferem na estabilidade
  • Os consoles Linux e BSD, por exemplo, são baseados (livremente) em práticas existentes em outros terminais, como VT220 para Linux e SCO para os BSDs (tecnicamente Unix para o último, mas documentados como SCO). Algumas mudanças foram feitas nos últimos vinte anos, principalmente com os BSDs adaptando mudanças do xterm.
  • O console BSD, adaptado da SCO, forneceu combinações de shift e controle para multiplicar as teclas de função disponíveis. rxvt forneceu um esquema como esse por volta de 1994.
  • Os VT220s não modificam teclas especiais usando o controle (ou até mesmo shift ). Um modelo de terminal DEC posterior fornece uma opção que foi adaptada no xterm em 1999, conhecida como teclas de função estilo PC .
  • Os modificadores estilo PC implementados no xterm foram além do shift e do control , adicionando alt e < kbd> meta .
  • Outros desenvolvedores de terminais copiaram o recurso do xterm e, agora (mais de 15 anos depois), alguns usuários o consideram padrão.
  • As chaves especiais estendidas são suportadas em ncurses como recursos "definidos pelo usuário"; não existe standard que resolva este (ou, na verdade, qualquer conjunto de teclas de função).

Leitura adicional:

por 19.04.2016 / 11:58