xterm.js
4.2.0 рдХреЗ рдирд╡реАрдирддрдо рд╕рдВрд╕реНрдХрд░рдг рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдореИрдВ рдорд╣рддреНрд╡рдкреВрд░реНрдг рдШрдЯрдирд╛рдУрдВ рдХрд╛ рдкрддрд╛ рд▓рдЧрд╛рдиреЗ рдФрд░ рдЙрдиреНрд╣реЗрдВ рдЯрд░реНрдорд┐рдирд▓ рдкрд░ рдкрд╛рд╕ рдХрд░рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рд╣реЛрдирд╛ рдЪрд╛рд╣рддрд╛ рд╣реВрдВ, рдЬрдм ENTER
рдпрд╛ ALT
рдХрд╛ рдкрддрд╛ рд▓рдЧрд╛рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рдирд╣реАрдВ рд╣реВрдВ рдпрд╛ SHIFT
рджрдмрд╛рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ рдЬреИрд╕реЗ рдореИрдВ рдкреБрд░рд╛рдиреЗ рд╕рдВрд╕реНрдХрд░рдг 3.x.x
рд╕рд╛рде рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ
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
:
рдпрд╣реА рдПрдХ рдЯрд░реНрдорд┐рдирд▓ рдПрдореБрд▓реЗрдЯрд░ рд╕рд╛рдорд╛рдиреНрдп рд░реВрдк рд╕реЗ рдПрдХ рд╢реЗрд▓ рдХреЛ рднреЗрдЬреЗрдЧрд╛ред рдЕрдЧрд░ key
рдирд╣реАрдВ рд╣реИ, рддреЛ рдЖрдк рд╣рдорд╛рд░реЗ KeyboardEvent
рд╕реАрдзреЗ рдЙрдЬрд╛рдЧрд░ рдХрд░рдиреЗ рдХреЗ рдмрд╛рдж рдХреНрдпрд╛ рдХрд░реЗрдВрдЧреЗ:
@Tyriar рддреБрдо рдЕрджреНрднреБрдд рд╣реЛ рдХрд┐ рддреБрдо рдЬрд╛рдирддреЗ рд╣реЛ :)?
рдореИрдВрдиреЗ KeyboardEvent => keyboardEvent.domEvent.key
рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рд╕рдорд╛рдкреНрдд рдХрд┐рдпрд╛
рд╕рдмрд╕реЗ рдЙрдкрдпреЛрдЧреА рдЯрд┐рдкреНрдкрдгреА
рдпрд╣ рд╣реИ рдХрд┐ рдЖрдк рдкрд╛рдПрдВрдЧреЗ рдХрд┐ рдпрд╣ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ
\r
:рдпрд╣реА рдПрдХ рдЯрд░реНрдорд┐рдирд▓ рдПрдореБрд▓реЗрдЯрд░ рд╕рд╛рдорд╛рдиреНрдп рд░реВрдк рд╕реЗ рдПрдХ рд╢реЗрд▓ рдХреЛ рднреЗрдЬреЗрдЧрд╛ред рдЕрдЧрд░
key
рдирд╣реАрдВ рд╣реИ, рддреЛ рдЖрдк рд╣рдорд╛рд░реЗKeyboardEvent
рд╕реАрдзреЗ рдЙрдЬрд╛рдЧрд░ рдХрд░рдиреЗ рдХреЗ рдмрд╛рдж рдХреНрдпрд╛ рдХрд░реЗрдВрдЧреЗ:https://github.com/xtermjs/xterm.js/blob/414eea2a2c4cde4c8fb72bb98cd48650bb89c927/typings-xterm.d.ts#L439 -L445