Console Linux: Toda entrada de teclado é precedida por “^ [”

1

Depois de voltar da hibernação do laptop, meu Fedora 27 entrou em um estado estranho em que:

  1. No console gráfico, nenhuma entrada é aceita, mesmo a atividade do mouse é desconsiderado
  2. No console de texto, qualquer entrada de teclado é precedida por '^ [' (seria isso CTRL + '1 caractere passado Z'?). Então, quando eu quero logar, vejo ^[r^[o^[o^[t e uma vez login esgotado esperando pela entrada, é game over: não há mais entrada. O LED Capslock está inativo, o LED Numlock está ativo.

Eu me lembro de ver isso em uma tela de inicialização de um Sun SPARCstation nos anos 90 ...

O que está acontecendo exatamente e como posso corrigi-lo (exceto reiniciar a máquina)?

Editar : esta foi uma ocorrência "única" na máquina em questão. Depois de uma reinicialização, o problema desapareceu. Pode ser devido a uma falha de hardware ou qualquer bug aleatório. Embora se deva a um modo extra especial do terminal I / O, gostaríamos de saber mais.

    
por David Tonhofer 07.03.2018 / 14:39

1 resposta

3

O subsistema de entrada do teclado achou que você tinha o modificador ⎇ Alt pressionado (esquerda ou direita). É assim que o emulador de terminal integrado do kernel traduz as chaves se esse modificador estiver em vigor. E a GUI aparentemente pensou que você estava executando gestos de mouse e pressionamentos de teclas ⎇ Alt -modificados.

Um dispositivo de teclado que envia eventos explícitos de imprensa e liberação, como os dispositivos de teclado PS / 2, pode causar esse estado se, por alguma razão, o evento de lançamento específico da tecla modificadora for perdido, o que poderia ter acontecido porque você estava hibernando Seu sistema. (Com teclados USB, esse problema é um pouco mais difícil de criar; porque os HIDs de teclado USB enviam uma codificação do estado instantâneo de todas as teclas do teclado, não pressionam nem soltam eventos e qualquer alteração de estado do teclado indicará que a tecla modificadora já não estava pressionado.)

Uma reinicialização em tal cenário é um exagero. Pode-se simplesmente pressionar e soltar o (s) modificador (es) novamente para obter o subsistema de entrada do teclado ressincronizado com o estado real do teclado.

Leitura adicional

por 07.03.2018 / 22:37

Tags