diff options
Diffstat (limited to 'gtk/ScintillaGTK.cxx')
-rw-r--r-- | gtk/ScintillaGTK.cxx | 10 |
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); |