|
@@ -51,3 +51,29 @@ void QTToGSWindow(WId windowId, gs_window &gswindow)
|
|
|
gswindow.display = QX11Info::display();
|
|
gswindow.display = QX11Info::display();
|
|
|
#endif
|
|
#endif
|
|
|
}
|
|
}
|
|
|
|
|
+
|
|
|
|
|
+uint32_t TranslateQtKeyboardEventModifiers(Qt::KeyboardModifiers mods)
|
|
|
|
|
+{
|
|
|
|
|
+ int obsModifiers = INTERACT_NONE;
|
|
|
|
|
+
|
|
|
|
|
+ if (mods.testFlag(Qt::ShiftModifier))
|
|
|
|
|
+ obsModifiers |= INTERACT_SHIFT_KEY;
|
|
|
|
|
+ if (mods.testFlag(Qt::AltModifier))
|
|
|
|
|
+ obsModifiers |= INTERACT_ALT_KEY;
|
|
|
|
|
+#ifdef __APPLE__
|
|
|
|
|
+ // Mac: Meta = Control, Control = Command
|
|
|
|
|
+ if (mods.testFlag(Qt::ControlModifier))
|
|
|
|
|
+ obsModifiers |= INTERACT_COMMAND_KEY;
|
|
|
|
|
+ if (mods.testFlag(Qt::MetaModifier))
|
|
|
|
|
+ obsModifiers |= INTERACT_CONTROL_KEY;
|
|
|
|
|
+#else
|
|
|
|
|
+ // Handle windows key? Can a browser even trap that key?
|
|
|
|
|
+ if (mods.testFlag(Qt::ControlModifier))
|
|
|
|
|
+ obsModifiers |= INTERACT_CONTROL_KEY;
|
|
|
|
|
+ if (mods.testFlag(Qt::MetaModifier))
|
|
|
|
|
+ obsModifiers |= INTERACT_COMMAND_KEY;
|
|
|
|
|
+
|
|
|
|
|
+#endif
|
|
|
|
|
+
|
|
|
|
|
+ return obsModifiers;
|
|
|
|
|
+}
|