Xterm.js: Não foi possível detectar o evento da tecla `ENTER` com o método => xterm [4.2.0] onKey ()

Criado em 13 nov. 2019  ·  3Comentários  ·  Fonte: xtermjs/xterm.js

Usando a versão mais recente de xterm.js 4.2.0 eu quero ser capaz de detectar eventos-chave e passá-los no terminal, não consigo detectar quando ENTER ou ALT ou SHIFT é pressionado como costumava fazer na versão anterior 3.x.x

chrome_2019-11-13_14-49-21

Por que o Enter está retornando "" ?

O que eu fiz:

    term.onKey(key => {
      const char = key;
      console.log(key);
      console.log(char.key === "");
      if (char === "") {
        console.log("Enter pressed");
        prompt();
      } else {
        term.write(char);
      }
    });

  prompt = () => {
    var shellprompt = "$ ";
    term.write("\r\n" + shellprompt);
  };

Sou um novo usuário da biblioteca :)

typquestion

Comentários muito úteis

Lá você descobrirá que é realmente \r :

Screen Shot 2019-11-13 at 6 40 09 AM

Isso é o que um emulador de terminal normalmente enviaria para um shell. Se key não tem o que você procura, também expomos KeyboardEvent diretamente:

https://github.com/xtermjs/xterm.js/blob/414eea2a2c4cde4c8fb72bb98cd48650bb89c927/typings/xterm.d.ts#L439 -L445

Todos 3 comentários

@jerch @Tyriar @parisk

Lá você descobrirá que é realmente \r :

Screen Shot 2019-11-13 at 6 40 09 AM

Isso é o que um emulador de terminal normalmente enviaria para um shell. Se key não tem o que você procura, também expomos KeyboardEvent diretamente:

https://github.com/xtermjs/xterm.js/blob/414eea2a2c4cde4c8fb72bb98cd48650bb89c927/typings/xterm.d.ts#L439 -L445

@Tyriar Você é incrível, sabia disso :)?

Acabei usando KeyboardEvent => keyboardEvent.domEvent.key

Esta página foi útil?
0 / 5 - 0 avaliações

Questões relacionadas

circuitry2 picture circuitry2  ·  4Comentários

ghost picture ghost  ·  4Comentários

chris-tse picture chris-tse  ·  4Comentários

jestapinski picture jestapinski  ·  3Comentários

7PH picture 7PH  ·  4Comentários