aboutsummaryrefslogtreecommitdiffhomepage
path: root/gtk/ScintillaGTK.cxx
diff options
context:
space:
mode:
Diffstat (limited to 'gtk/ScintillaGTK.cxx')
-rw-r--r--gtk/ScintillaGTK.cxx10
1 files changed, 10 insertions, 0 deletions
diff --git a/gtk/ScintillaGTK.cxx b/gtk/ScintillaGTK.cxx
index 73d15c25f..bb1062d90 100644
--- a/gtk/ScintillaGTK.cxx
+++ b/gtk/ScintillaGTK.cxx
@@ -2223,7 +2223,17 @@ gboolean ScintillaGTK::KeyThis(GdkEventKey *event) {
key = KeyTranslate(key);
bool consumed = false;
+#if !(PLAT_GTK_MACOSX)
bool added = KeyDown(key, shift, ctrl, alt, &consumed) != 0;
+#else
+ bool meta = ctrl;
+ ctrl = alt;
+ alt = (event->state & GDK_MOD5_MASK) != 0;
+ bool added = KeyDownWithModifiers(key, (shift ? SCI_SHIFT : 0) |
+ (ctrl ? SCI_CTRL : 0) |
+ (alt ? SCI_ALT : 0) |
+ (meta ? SCI_META : 0), &consumed) != 0;
+#endif
if (!consumed)
consumed = added;
//fprintf(stderr, "SK-key: %d %x %x\n",event->keyval, event->state, consumed);