Xterm.js: '> Xterm [4.2.0] onKey () рд╡рд┐рдзрд┐ рд╕реЗ `ENTER` рдХреБрдВрдЬреА рдИрд╡реЗрдВрдЯ рдХрд╛ рдкрддрд╛ рд▓рдЧрд╛рдиреЗ рдореЗрдВ рдЕрд╕рдорд░реНрде

рдХреЛ рдирд┐рд░реНрдорд┐рдд 13 рдирд╡ре░ 2019  ┬╖  3рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ  ┬╖  рд╕реНрд░реЛрдд: xtermjs/xterm.js

xterm.js 4.2.0 рдХреЗ рдирд╡реАрдирддрдо рд╕рдВрд╕реНрдХрд░рдг рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдореИрдВ рдорд╣рддреНрд╡рдкреВрд░реНрдг рдШрдЯрдирд╛рдУрдВ рдХрд╛ рдкрддрд╛ рд▓рдЧрд╛рдиреЗ рдФрд░ рдЙрдиреНрд╣реЗрдВ рдЯрд░реНрдорд┐рдирд▓ рдкрд░ рдкрд╛рд╕ рдХрд░рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рд╣реЛрдирд╛ рдЪрд╛рд╣рддрд╛ рд╣реВрдВ, рдЬрдм ENTER рдпрд╛ ALT рдХрд╛ рдкрддрд╛ рд▓рдЧрд╛рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рдирд╣реАрдВ рд╣реВрдВ рдпрд╛ SHIFT рджрдмрд╛рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ рдЬреИрд╕реЗ рдореИрдВ рдкреБрд░рд╛рдиреЗ рд╕рдВрд╕реНрдХрд░рдг 3.x.x рд╕рд╛рде рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ

chrome_2019-11-13_14-49-21

Enter "" рдХреНрдпреЛрдВ рд▓реМрдЯ рд░рд╣рд╛ рд╣реИ?

рдореИрдВрдиреЗ рдХреНрдпрд╛ рдХрд┐рдпрд╛ рд╣реИ:

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

рдореИрдВ рдкреБрд╕реНрддрдХрд╛рд▓рдп рдХрд╛ рдПрдХ рдирдпрд╛ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рд╣реВрдВ :)

рд╕рдмрд╕реЗ рдЙрдкрдпреЛрдЧреА рдЯрд┐рдкреНрдкрдгреА

рдпрд╣ рд╣реИ рдХрд┐ рдЖрдк рдкрд╛рдПрдВрдЧреЗ рдХрд┐ рдпрд╣ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ \r :

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

рдпрд╣реА рдПрдХ рдЯрд░реНрдорд┐рдирд▓ рдПрдореБрд▓реЗрдЯрд░ рд╕рд╛рдорд╛рдиреНрдп рд░реВрдк рд╕реЗ рдПрдХ рд╢реЗрд▓ рдХреЛ рднреЗрдЬреЗрдЧрд╛ред рдЕрдЧрд░ key рдирд╣реАрдВ рд╣реИ, рддреЛ рдЖрдк рд╣рдорд╛рд░реЗ KeyboardEvent рд╕реАрдзреЗ рдЙрдЬрд╛рдЧрд░ рдХрд░рдиреЗ рдХреЗ рдмрд╛рдж рдХреНрдпрд╛ рдХрд░реЗрдВрдЧреЗ:

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

рд╕рднреА 3 рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

@ рдЬреЗрд░рдЪ @ рддреНрдпрд╛рд░ @ рдЪреАрдХреВ

рдпрд╣ рд╣реИ рдХрд┐ рдЖрдк рдкрд╛рдПрдВрдЧреЗ рдХрд┐ рдпрд╣ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ \r :

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

рдпрд╣реА рдПрдХ рдЯрд░реНрдорд┐рдирд▓ рдПрдореБрд▓реЗрдЯрд░ рд╕рд╛рдорд╛рдиреНрдп рд░реВрдк рд╕реЗ рдПрдХ рд╢реЗрд▓ рдХреЛ рднреЗрдЬреЗрдЧрд╛ред рдЕрдЧрд░ key рдирд╣реАрдВ рд╣реИ, рддреЛ рдЖрдк рд╣рдорд╛рд░реЗ KeyboardEvent рд╕реАрдзреЗ рдЙрдЬрд╛рдЧрд░ рдХрд░рдиреЗ рдХреЗ рдмрд╛рдж рдХреНрдпрд╛ рдХрд░реЗрдВрдЧреЗ:

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

@Tyriar рддреБрдо рдЕрджреНрднреБрдд рд╣реЛ рдХрд┐ рддреБрдо рдЬрд╛рдирддреЗ рд╣реЛ :)?

рдореИрдВрдиреЗ KeyboardEvent => keyboardEvent.domEvent.key рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рд╕рдорд╛рдкреНрдд рдХрд┐рдпрд╛

рдХреНрдпрд╛ рдпрд╣ рдкреГрд╖реНрда рдЙрдкрдпреЛрдЧреА рдерд╛?
0 / 5 - 0 рд░реЗрдЯрд┐рдВрдЧреНрд╕

рд╕рдВрдмрдВрдзрд┐рдд рдореБрджреНрджреЛрдВ

circuitry2 picture circuitry2  ┬╖  4рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

tandatle picture tandatle  ┬╖  3рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

7PH picture 7PH  ┬╖  4рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

Tyriar picture Tyriar  ┬╖  4рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

Tyriar picture Tyriar  ┬╖  4рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ