diff options
| author | Ja.KooLit <jimmielovejay@gmail.com> | 2024-05-04 15:42:48 +0900 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2024-05-04 15:42:48 +0900 |
| commit | 1127bae8815e1b60b637d0c88832bddae7cc5a1a (patch) | |
| tree | 2501119e4914f79535e5bd1e12d64fc6754337c6 /config/ags/modules/.widgetutils/keybind.js | |
| parent | 5e304d31a220a64338e5cb84e397d1a102855260 (diff) | |
| parent | dc9f0cd58454b4cb33a704b11e4cc8a7c6594e67 (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.js | 25 |
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; +} |
