From db8399ba7ef082be45aab71a7cef3318f506adc6 Mon Sep 17 00:00:00 2001 From: Bjorn Winckler Date: Sat, 13 Oct 2007 14:52:22 +0000 Subject: [PATCH] Added hack to make Ctrl-Tab work on pre 10.5 systems git-svn-id: http://macvim.googlecode.com/svn/trunk@315 96c4425d-ca35-0410-94e5-3396d5c13a8f --- MMApplication.m | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) diff --git a/MMApplication.m b/MMApplication.m index 3a9723a477..4aab703b13 100644 --- a/MMApplication.m +++ b/MMApplication.m @@ -10,6 +10,12 @@ #import "MMApplication.h" +// Ctrl-Tab is broken on pre 10.5, so we add a hack to make it work. +#if MAC_OS_X_VERSION_MAX_ALLOWED <= MAC_OS_X_VERSION_10_4 +# import "MMTextView.h" +# define MM_CTRL_TAB_HACK 1 +#endif + @@ -20,6 +26,19 @@ NSEventType type = [event type]; unsigned flags = [event modifierFlags]; +#ifdef MM_CTRL_TAB_HACK + NSResponder *firstResponder = [[self keyWindow] firstResponder]; + + if (NSKeyDown == type && NSControlKeyMask & flags && 48 == [event keyCode] + && [firstResponder isKindOfClass:[MMTextView class]]) { + // HACK! This is a Ctrl-Tab key down event and the first responder is + // an MMTextView; send the event directly to the text view, else it + // will never receive it on pre 10.5 systems. + [firstResponder keyDown:event]; + return; + } +#endif + // HACK! Intercept 'help' key presses and clear the 'help key flag', else // Cocoa turns the mouse cursor into a question mark and goes into 'context // help mode' (the keyDown: event itself never reaches the text view). By