aboutsummaryrefslogtreecommitdiffhomepage
path: root/gtk
diff options
context:
space:
mode:
authornyamatongwe <unknown>2011-07-12 10:20:30 +1000
committernyamatongwe <unknown>2011-07-12 10:20:30 +1000
commit95d45ff5bcefa4ceabd04e1c20135976114008b7 (patch)
tree82a5a8e6945cecf219f5cb617a41979c763ab866 /gtk
parent7697b45ca3fb21f277c747475e1c18c0ee3c23b2 (diff)
downloadscintilla-mirror-95d45ff5bcefa4ceabd04e1c20135976114008b7.tar.gz
Report control key as SCMOD_META with GTK+ on OS X.
Mostly from Mitchell Foral.
Diffstat (limited to 'gtk')
-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);