使用最新版本的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);
};
我是图书馆的新用户:)
@jerch @Tyriar @parisk
在这里,您会发现它实际上是\r
:
那就是终端仿真器通常会发送给shell的东西。 如果key
没有您的身分,我们也会直接公开KeyboardEvent
:
@Tyriar你知道你知道:)很棒吗?
我最终使用了KeyboardEvent => keyboardEvent.domEvent.key
最有用的评论
在这里,您会发现它实际上是
\r
:那就是终端仿真器通常会发送给shell的东西。 如果
key
没有您的身分,我们也会直接公开KeyboardEvent
:https://github.com/xtermjs/xterm.js/blob/414eea2a2c4cde4c8fb72bb98cd48650bb89c927/typings/xterm.d.ts#L439 -L445