- Tampermonkey 크롬확장기능을 설치한다.
- "noVNC Paste for Proxmox" Script를 install설치한다
- 마우스 오른쪽 버튼을 눌러 붙여넣기 기능을 사용한다
크롬(EDGE) 확장기능 설치
https://chromewebstore.google.com/detail/tampermonkey/dhdgffkkebhmkfjojejmpbldmpobfkfo?hl=en
noVNC Paste for Proxmox
마우스 오른쪽 버튼을 눌러서 기존에 복.붙하던 것처럼 잘 사용한다!
Reference
https://gist.github.com/amunchet/4cfaf0274f3d238946f9f8f94fa9ee02
Copy/Paste for noVNC Proxmox
Copy/Paste for noVNC Proxmox. GitHub Gist: instantly share code, notes, and snippets.
gist.github.com
// ==UserScript==
// @name noVNC Paste for Proxmox
// @namespace http://tampermonkey.net/
// @version 0.2a
// @description Pastes text into a noVNC window (for use with Proxmox specifically)
// @author Chester Enright
// @match https://*
// @include /^.*novnc.*/
// @require http://code.jquery.com/jquery-3.3.1.min.js
// @grant none
// ==/UserScript==
const delay = 1
;(function () {
'use strict'
window.sendString = function(text) {
var el = document.getElementById("canvas-id")
text.split("").forEach(x=>{
setTimeout(()=>{
var needs_shift = x.match(/[A-Z!@#$%^&*()_+{}:\"<>?~|]/)
let evt
if (needs_shift) {
evt = new KeyboardEvent("keydown", {keyCode: 16})
el.dispatchEvent(evt)
evt = new KeyboardEvent("keydown", {key: x, shiftKey: true})
el.dispatchEvent(evt)
evt = new KeyboardEvent("keyup", {keyCode: 16})
el.dispatchEvent(evt)
}else{
evt = new KeyboardEvent("keydown", {key: x})
}
el.dispatchEvent(evt)
}, delay)
})
}
$(document).ready(function() {
setTimeout(()=>{
console.log("Starting up noVNC Copy/Paste (for Proxmox)")
$("canvas").attr("id", "canvas-id")
$("canvas").on("mousedown", (e)=>{
if(e.button == 2){ // Right Click
navigator.clipboard.readText().then(text =>{
window.sendString(text)
// for native JS prompt
// let text = prompt("Enter text to paste:");
// if (text != null) window.sendString(text);
})
}
})
}, 1000);
})
})()
_
반응형