diff options
Diffstat (limited to 'kvmd/web/js/hid.js')
-rw-r--r-- | kvmd/web/js/hid.js | 29 |
1 files changed, 29 insertions, 0 deletions
diff --git a/kvmd/web/js/hid.js b/kvmd/web/js/hid.js new file mode 100644 index 00000000..3d0ed961 --- /dev/null +++ b/kvmd/web/js/hid.js @@ -0,0 +1,29 @@ +var hid = new function() { + var __install_timer = null; + + this.installCapture = function(ws) { + var http = tools.makeRequest("GET", "/kvmd/hid", function() { + if (http.readyState === 4) { + if (http.status === 200) { + features = JSON.parse(http.responseText).result.features; + if (features.mouse) { + mouse.installCapture(ws); + } + keyboard.installCapture(ws); + } else { + tools.error("Can't resolve HID features:", http.responseText); + __install_timer = setTimeout(() => hid.installCapture(ws), 1000); + } + } + }); + }; + + this.clearCapture = function() { + if (__install_timer) { + clearTimeout(__install_timer); + __install_timer = null; + } + mouse.clearCapture(); + keyboard.clearCapture(); + }; +} |