summaryrefslogtreecommitdiff
path: root/src/misc
diff options
context:
space:
mode:
authorouwou <26526779+ouwou@users.noreply.github.com>2023-10-02 23:05:34 -0400
committerouwou <26526779+ouwou@users.noreply.github.com>2023-10-02 23:05:34 -0400
commitbddf22ef8778e00f6534b6ba2493b6784bceeb7e (patch)
treecd62e322fc421af1660437244ab601aed5219c06 /src/misc
parente68a086bca8cf462c1d4d2528ac405f09a659670 (diff)
downloadabaddon-portaudio-bddf22ef8778e00f6534b6ba2493b6784bceeb7e.tar.gz
abaddon-portaudio-bddf22ef8778e00f6534b6ba2493b6784bceeb7e.zip
use group(?)-agnostic keyval for paste shortcut (fixes #228)
Diffstat (limited to 'src/misc')
-rw-r--r--src/misc/events.cpp15
-rw-r--r--src/misc/events.hpp7
2 files changed, 22 insertions, 0 deletions
diff --git a/src/misc/events.cpp b/src/misc/events.cpp
new file mode 100644
index 0000000..59aaad7
--- /dev/null
+++ b/src/misc/events.cpp
@@ -0,0 +1,15 @@
+#include "events.hpp"
+
+namespace EventsUtil {
+unsigned shortcut_key(GdkEventKey *event) {
+ // thanks inkscape
+ unsigned shortcut_key = 0;
+ gdk_keymap_translate_keyboard_state(
+ gdk_keymap_get_for_display(gdk_display_get_default()),
+ event->hardware_keycode,
+ static_cast<GdkModifierType>(event->state),
+ 0,
+ &shortcut_key, nullptr, nullptr, nullptr);
+ return shortcut_key;
+}
+} // namespace EventsUtil
diff --git a/src/misc/events.hpp b/src/misc/events.hpp
new file mode 100644
index 0000000..d677eaa
--- /dev/null
+++ b/src/misc/events.hpp
@@ -0,0 +1,7 @@
+#pragma once
+#include <gdk/gdkkeys.h>
+// idk it wont let me forward declare
+
+namespace EventsUtil {
+unsigned shortcut_key(GdkEventKey *event);
+}