diff options
Diffstat (limited to 'ext/mixed/js/dom.js')
| -rw-r--r-- | ext/mixed/js/dom.js | 24 | 
1 files changed, 24 insertions, 0 deletions
diff --git a/ext/mixed/js/dom.js b/ext/mixed/js/dom.js index 03acbb80..0e8f4462 100644 --- a/ext/mixed/js/dom.js +++ b/ext/mixed/js/dom.js @@ -62,4 +62,28 @@ class DOM {              default: return false;          }      } + +    static getActiveModifiers(event) { +        const modifiers = new Set(); +        if (event.altKey) { modifiers.add('alt'); } +        if (event.ctrlKey) { modifiers.add('ctrl'); } +        if (event.metaKey) { modifiers.add('meta'); } +        if (event.shiftKey) { modifiers.add('shift'); } +        return modifiers; +    } + +    static getKeyFromEvent(event) { +        const key = event.key; +        return (typeof key === 'string' ? (key.length === 1 ? key.toUpperCase() : key) : ''); +    } + +    static getFullscreenElement() { +        return ( +            document.fullscreenElement || +            document.msFullscreenElement || +            document.mozFullScreenElement || +            document.webkitFullscreenElement || +            null +        ); +    }  }  |