Xterm.js: No se puede detectar el evento de clave `ENTER` con el método => xterm [4.2.0] onKey ()

Creado en 13 nov. 2019  ·  3Comentarios  ·  Fuente: xtermjs/xterm.js

Usando la última versión de xterm.js 4.2.0 quiero poder detectar eventos clave y pasarlos al terminal, no puedo detectar cuándo ENTER o ALT o SHIFT se presiona como solía hacerlo con la versión anterior 3.x.x

chrome_2019-11-13_14-49-21

¿Por qué Enter devuelve "" ?

Que he hecho:

    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);
  };

Soy un nuevo usuario de la biblioteca :)

typquestion

Comentario más útil

Allí encontrará que en realidad es \r :

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

Eso es lo que normalmente enviaría un emulador de terminal a un shell. Si key no tiene lo que busca, también exponemos el KeyboardEvent directamente:

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

Todos 3 comentarios

@jerch @Tyriar @parisk

Allí encontrará que en realidad es \r :

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

Eso es lo que normalmente enviaría un emulador de terminal a un shell. Si key no tiene lo que busca, también exponemos el KeyboardEvent directamente:

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

@Tyriar Eres increíble, ¿lo sabes :)?

Terminé usando KeyboardEvent => keyboardEvent.domEvent.key

¿Fue útil esta página
0 / 5 - 0 calificaciones

Temas relacionados

7PH picture 7PH  ·  4Comentarios

pfitzseb picture pfitzseb  ·  3Comentarios

albinekb picture albinekb  ·  4Comentarios

jestapinski picture jestapinski  ·  3Comentarios

ghost picture ghost  ·  4Comentarios