summary refs log tree commit diff stats
diff options
context:
space:
mode:
-rw-r--r--src/fe-gtk/fkeys.c10
1 files changed, 9 insertions, 1 deletions
diff --git a/src/fe-gtk/fkeys.c b/src/fe-gtk/fkeys.c
index 016a1178..fad52dce 100644
--- a/src/fe-gtk/fkeys.c
+++ b/src/fe-gtk/fkeys.c
@@ -287,8 +287,16 @@ key_free (gpointer data)
 static inline GdkModifierType
 key_modifier_get_valid (GdkModifierType mod)
 {
+	GdkModifierType ret;
+
+#ifdef __APPLE__
+	ret = mod & (GDK_SHIFT_MASK | GDK_CONTROL_MASK | GDK_MOD1_MASK | GDK_META_MASK);
+#else
 	/* These masks work on both Windows and Unix */
-	return mod & (GDK_SHIFT_MASK | GDK_CONTROL_MASK | GDK_MOD1_MASK);
+	ret = mod & (GDK_SHIFT_MASK | GDK_CONTROL_MASK | GDK_MOD1_MASK);
+#endif
+
+	return ret;
 }
 
 gboolean