From 949f5207b4a00177ef31921b74d6455e27e1e908 Mon Sep 17 00:00:00 2001
From: Alexander Rose <alexander.rose@weirdbyte.de>
Date: Mon, 3 Apr 2023 21:46:28 -0700
Subject: [PATCH] add ModifiersKeys.areNone

---
 CHANGELOG.md                         | 1 +
 src/mol-util/input/input-observer.ts | 6 +++++-
 2 files changed, 6 insertions(+), 1 deletion(-)

diff --git a/CHANGELOG.md b/CHANGELOG.md
index d10722fc3..7818a6672 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -7,6 +7,7 @@ Note that since we don't clearly distinguish between a public and private interf
 ## [Unreleased]
 
 - Remove `camera.far` doubeling workaround
+- Add `ModifiersKeys.areNone` helper function
 
 ## [v3.33.0] - 2023-04-02
 
diff --git a/src/mol-util/input/input-observer.ts b/src/mol-util/input/input-observer.ts
index 0764c6c88..5e5c8fc1b 100644
--- a/src/mol-util/input/input-observer.ts
+++ b/src/mol-util/input/input-observer.ts
@@ -76,12 +76,16 @@ export type ModifiersKeys = {
     meta: boolean
 }
 export namespace ModifiersKeys {
-    export const None = create();
+    export const None: Readonly<ModifiersKeys> = create();
 
     export function areEqual(a: ModifiersKeys, b: ModifiersKeys) {
         return a.shift === b.shift && a.alt === b.alt && a.control === b.control && a.meta === b.meta;
     }
 
+    export function areNone(a: ModifiersKeys) {
+        return areEqual(a, None);
+    }
+
     export function size(a?: ModifiersKeys) {
         if (!a) return 0;
         let ret = 0;
-- 
GitLab