From 9f5b2364c7f560364b331b247475d745351f1297 Mon Sep 17 00:00:00 2001 From: NI Date: Mon, 12 Aug 2019 11:04:02 +0800 Subject: [PATCH] Added copy & paste hot key (Control+Shift+C / Control+Shift+V). Only work on supported web broswers. --- ui/widgets/screen_console.vue | 28 ++++++++++++++++++++++++++++ 1 file changed, 28 insertions(+) diff --git a/ui/widgets/screen_console.vue b/ui/widgets/screen_console.vue index e202291..7ce1a53 100644 --- a/ui/widgets/screen_console.vue +++ b/ui/widgets/screen_console.vue @@ -119,6 +119,34 @@ class Term { this.term.textarea.addEventListener("focus", callbacks.focus); this.term.textarea.addEventListener("blur", callbacks.blur); + this.term.textarea.addEventListener("keyup", async ev => { + if (ev.ctrlKey && ev.shiftKey) { + switch (ev.keyCode) { + case 86: + try { + let text = await window.navigator.clipboard.readText(); + + this.writeStr(text); + } catch (e) { + alert( + "Unable to paste: " + + e + + ". Consider paste without using hot key" + ); + } + return; + + case 67: + try { + window.navigator.clipboard.writeText(this.term.getSelection()); + } catch (e) { + alert("Unable to copy: " + e); + } + return; + } + } + }); + this.term.element.addEventListener("click", () => { this.term.textarea.blur(); this.term.textarea.click();