如何在Xterm.js中实现“ BackSpace”,“ arrow”?

时间:2019-09-06 09:00:55

标签: javascript node.js xterm xtermjs

我正在设计一个Web,其中包括一个使用Xterm.js的终端,并希望将字符串传输到服务器。我可以在上面输入一些字符串,但是不能使用'backspace','delete','home'函数。

我试图自己完成这些功能,但是还有很多功能需要完成。

例如退格键

term.on('key', (key, ev) => {
    const code = key.charCodeAt(0);
    if(code == 127){   //Backspace
        term.write("\b \b");
    }
});

我可以删除最后一个字符,但是不能删除字符串中的字符... 这些功能由我自己完成吗?有更方便的模块吗?

谢谢!

1 个答案:

答案 0 :(得分:1)

简而言之,是的。您必须自己操作缓冲区,没有任何方法可以为您执行此操作。

TL; DR

我实际上遇到了同一问题。看来所有这些都是由缓冲区驱动的,我还没有弄清楚如何以一种自然的方式来做到这一点,但是...

模拟左箭头:

this.child.write('\x1b[D');

您还可以通过十六进制添加任何Unicode字符:\ uhhhh