aboutsummaryrefslogtreecommitdiffhomepage
path: root/gtk
diff options
context:
space:
mode:
authornyamatongwe <devnull@localhost>2011-07-12 10:20:30 +1000
committernyamatongwe <devnull@localhost>2011-07-12 10:20:30 +1000
commitb4ae9227d924a021efcf82d08c498e4bdbbf7c5b (patch)
tree79da2397ba1ed8f65005ed1154bc36fa62838f5b /gtk
parent2920827d89e857840591af32ce2cbcd05c0aec7f (diff)
downloadscintilla-mirror-b4ae9227d924a021efcf82d08c498e4bdbbf7c5b.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);