小编781*_*685的帖子

Xtermjs无法复制粘贴

我无法从 xterm.js API 实现复制和粘贴功能。我希望终端能够从剪贴板复制字符串。

我在用着

  this.term.onKey((key) => {
    if (key.domEvent.code === 'KeyC'){
     if (key.domEvent.ctrlKey) {
     this.copiedText = this.term.getSelection();
    }
   } else if (key.domEvent.code === 'KeyV'){
     if (key.domEvent.ctrlKey) {
     this.term.write(this.copiedText);
    } 
   }
  }
Run Code Online (Sandbox Code Playgroud)

但它只能在终端内获取复制的文本,并且按键事件无法检测到 MAC 上的命令键(现在我使用的是 ctl + c & ctl + v)

如果我使用 onData(),当我按 command + V 时会触发该事件,我可以看到它在终端外输出字符串

  this.term.onData((data) => {
    console.log(data.toString());  // prints "strings I copied with command + c"
  });
Run Code Online (Sandbox Code Playgroud)

但“data”只是一个字符串,事件也是由按键触发的,因此 term.onData 将与 onKey() 事件冲突,并且我不确定如何在“data”上设置条件,因为它不是一个物体。

typescript angular xtermjs

3
推荐指数
1
解决办法
4042
查看次数

标签 统计

angular ×1

typescript ×1

xtermjs ×1