diff --git a/kasmweb/core/input/keyboard.js b/kasmweb/core/input/keyboard.js index 9e6af2a..3ffa6e7 100644 --- a/kasmweb/core/input/keyboard.js +++ b/kasmweb/core/input/keyboard.js @@ -29,7 +29,6 @@ export default class Keyboard { 'keydown': this._handleKeyDown.bind(this), 'keypress': this._handleKeyPress.bind(this), 'blur': this._allKeysUp.bind(this), - 'checkalt': this._checkAlt.bind(this), }; // ===== EVENT HANDLERS ===== @@ -312,30 +311,6 @@ export default class Keyboard { Log.Debug("<< Keyboard.allKeysUp"); } - // Alt workaround for Firefox on Windows, see below - _checkAlt(e) { - if (e.skipCheckAlt) { - return; - } - if (e.altKey) { - return; - } - - const target = this._target; - const downList = this._keyDownList; - ['AltLeft', 'AltRight'].forEach((code) => { - if (!(code in downList)) { - return; - } - - const event = new KeyboardEvent('keyup', - { key: downList[code], - code: code }); - event.skipCheckAlt = true; - target.dispatchEvent(event); - }); - } - // ===== PUBLIC METHODS ===== grab() { @@ -348,33 +323,12 @@ export default class Keyboard { // Release (key up) if window loses focus window.addEventListener('blur', this._eventHandlers.blur); - // Firefox on Windows has broken handling of Alt, so we need to - // poll as best we can for releases (still doesn't prevent the - // menu from popping up though as we can't call - // preventDefault()) - if (browser.isWindows() && browser.isFirefox()) { - const handler = this._eventHandlers.checkalt; - ['mousedown', 'mouseup', 'mousemove', 'wheel', - 'touchstart', 'touchend', 'touchmove', - 'keydown', 'keyup'].forEach(type => - document.addEventListener(type, handler, - { capture: true, - passive: true })); - } - //Log.Debug("<< Keyboard.grab"); } ungrab() { //Log.Debug(">> Keyboard.ungrab"); - if (browser.isWindows() && browser.isFirefox()) { - const handler = this._eventHandlers.checkalt; - ['mousedown', 'mouseup', 'mousemove', 'wheel', - 'touchstart', 'touchend', 'touchmove', - 'keydown', 'keyup'].forEach(type => document.removeEventListener(type, handler)); - } - this._target.removeEventListener('keydown', this._eventHandlers.keydown); this._target.removeEventListener('keyup', this._eventHandlers.keyup); this._target.removeEventListener('keypress', this._eventHandlers.keypress);