我正在设计一个Web,其中包括一个使用Xterm.js的终端,并希望将字符串传输到服务器。我可以在上面输入一些字符串,但是不能使用'backspace','delete','home'函数。
我试图自己完成这些功能,但是还有很多功能需要完成。
例如退格键
term.on('key', (key, ev) => {
const code = key.charCodeAt(0);
if(code == 127){ //Backspace
term.write("\b \b");
}
});
我可以删除最后一个字符,但是不能删除字符串中的字符... 这些功能由我自己完成吗?有更方便的模块吗?
谢谢!
答案 0 :(得分:1)
简而言之,是的。您必须自己操作缓冲区,没有任何方法可以为您执行此操作。
我实际上遇到了同一问题。看来所有这些都是由缓冲区驱动的,我还没有弄清楚如何以一种自然的方式来做到这一点,但是...
模拟左箭头:
this.child.write('\x1b[D');
您还可以通过十六进制添加任何Unicode字符:\ uhhhh