aboutsummaryrefslogtreecommitdiffstats
path: root/config/ags/modules/.widgetutils/keybind.js
diff options
context:
space:
mode:
authorJa.KooLit <jimmielovejay@gmail.com>2024-05-04 15:42:48 +0900
committerGitHub <noreply@github.com>2024-05-04 15:42:48 +0900
commit1127bae8815e1b60b637d0c88832bddae7cc5a1a (patch)
tree2501119e4914f79535e5bd1e12d64fc6754337c6 /config/ags/modules/.widgetutils/keybind.js
parent5e304d31a220a64338e5cb84e397d1a102855260 (diff)
parentdc9f0cd58454b4cb33a704b11e4cc8a7c6594e67 (diff)
Merge pull request #231 from SherLock707/dev_overview
Added ags overview widget
Diffstat (limited to 'config/ags/modules/.widgetutils/keybind.js')
-rw-r--r--config/ags/modules/.widgetutils/keybind.js25
1 files changed, 25 insertions, 0 deletions
diff --git a/config/ags/modules/.widgetutils/keybind.js b/config/ags/modules/.widgetutils/keybind.js
new file mode 100644
index 00000000..eda7877b
--- /dev/null
+++ b/config/ags/modules/.widgetutils/keybind.js
@@ -0,0 +1,25 @@
+const { Gdk } = imports.gi;
+
+const MODS = {
+ 'Shift': Gdk.ModifierType.SHIFT_MASK,
+ 'Ctrl': Gdk.ModifierType.CONTROL_MASK,
+ 'Alt': Gdk.ModifierType.ALT_MASK,
+ 'Hyper': Gdk.ModifierType.HYPER_MASK,
+ 'Meta': Gdk.ModifierType.META_MASK
+}
+
+export const checkKeybind = (event, keybind) => {
+ const pressedModMask = event.get_state()[1];
+ const pressedKey = event.get_keyval()[1];
+ const keys = keybind.split('+');
+ for (let i = 0; i < keys.length; i++) {
+ if (keys[i] in MODS) {
+ if (!(pressedModMask & MODS[keys[i]])) {
+ return false;
+ }
+ } else if (pressedKey !== Gdk[`KEY_${keys[i]}`]) {
+ return false;
+ }
+ }
+ return true;
+}
send patches to the email below
yukais@pinapelz.com
include the subject [PATCH repo_name]
pinapelz.com
homepage