From: Paul Davis Date: Thu, 29 Sep 2016 16:00:43 +0000 (-0400) Subject: manually revert b9cab93fb116b and remove associated code. X-Git-Tag: 5.4~26 X-Git-Url: https://git.carlh.net/gitweb/?a=commitdiff_plain;h=99c8e5191868a1c499b3c5b260752898fd547afe;p=ardour.git manually revert b9cab93fb116b and remove associated code. For the last time, because of how GDK works, Keyboard::PrimaryModifier on MacOS MUST include MOD2 ***AND** META --- diff --git a/libs/gtkmm2ext/keyboard.cc b/libs/gtkmm2ext/keyboard.cc index 9bbe960dc6..1b0aec6cd6 100644 --- a/libs/gtkmm2ext/keyboard.cc +++ b/libs/gtkmm2ext/keyboard.cc @@ -60,7 +60,7 @@ guint Keyboard::insert_note_mod = GDK_CONTROL_MASK; #ifdef __APPLE__ -uint Keyboard::PrimaryModifier = GDK_MOD2_MASK; // Command +uint Keyboard::PrimaryModifier = (GDK_MOD2_MASK|GDK_META_MASK); // Command guint Keyboard::SecondaryModifier = GDK_CONTROL_MASK; // Control guint Keyboard::TertiaryModifier = GDK_SHIFT_MASK; // Shift guint Keyboard::Level4Modifier = GDK_MOD1_MASK; // Alt/Option @@ -369,28 +369,6 @@ Keyboard::reset_relevant_modifier_key_mask () gtk_accelerator_set_default_mod_mask (RelevantModifierKeyMask); -#ifdef __APPLE__ - /* Remove SUPER,HYPER,META. - * - * GTK on OS X adds META when Command is pressed for various indefensible reasons, since - * it also uses MOD2 to indicate Command. Our code assumes that each - * modifier (Primary, Secondary etc.) is represented by a single bit in - * the modifier mask, but GTK's (STUPID) design uses two (MOD2 + META) - * to represent the Command key. Some discussion about this is here: - * https://bugzilla.gnome.org/show_bug.cgi?id=692597 - * - * We cannot do this until AFTER we told GTK what the default modifier - * was, because otherwise it will fail to recognize MOD2-META- as - * an accelerator. - * - * Note that in the tabbed branch, we no longer use GTK accelerators - * for functional purposes, so this is as critical for that branch. - */ - - RelevantModifierKeyMask = GdkModifierType (RelevantModifierKeyMask & ~GDK_SUPER_MASK); - RelevantModifierKeyMask = GdkModifierType (RelevantModifierKeyMask & ~GDK_HYPER_MASK); - RelevantModifierKeyMask = GdkModifierType (RelevantModifierKeyMask & ~GDK_META_MASK); -#endif RelevantModifierKeysChanged(); /* EMIT SIGNAL */ }