diff --git a/src/mol-util/input/input-observer.ts b/src/mol-util/input/input-observer.ts index a488deb0888f8e000869b08f036a361061be0513..eb6f01e802d8e2203522680824deab52d4137f6e 100644 --- a/src/mol-util/input/input-observer.ts +++ b/src/mol-util/input/input-observer.ts @@ -10,7 +10,7 @@ import { Vec2 } from '../../mol-math/linear-algebra'; import { BitFlags, noop } from '../../mol-util'; -function getButtons(event: MouseEvent | Touch) { +export function getButtons(event: MouseEvent | Touch) { if (typeof event === 'object') { if ('buttons' in event) { return event.buttons @@ -37,6 +37,15 @@ function getButtons(event: MouseEvent | Touch) { return 0 } +export function getModifiers(event: MouseEvent | Touch) { + return { + alt: 'altKey' in event ? event.altKey : false, + shift: 'shiftKey' in event ? event.shiftKey : false, + control: 'ctrlKey' in event ? event.ctrlKey : false, + meta: 'metaKey' in event ? event.metaKey : false + } +} + export const DefaultInputObserverProps = { noScroll: true, noContextMenu: true,