Skip to content
Permalink
Browse files

Fixed bug 1965 - Mac: dead code for supporting OS 10.4

Alex Szpakowski

The new patch removes all the truly obsolete code I could find. I tested on OS 10.8 and OS 10.5.
  • Loading branch information
slouken committed Nov 11, 2013
1 parent 5821466 commit b30e396ba1139d79d432f1c9887b29d212910da6
Showing with 1 addition and 53 deletions.
  1. +0 −5 src/joystick/darwin/SDL_sysjoystick.c
  2. +1 −48 src/video/cocoa/SDL_cocoakeyboard.m
@@ -32,12 +32,7 @@
#include <mach/mach_error.h>
#include <IOKit/IOKitLib.h>
#include <IOKit/IOCFPlugIn.h>
#ifdef MACOS_10_0_4
#include <IOKit/hidsystem/IOHIDUsageTables.h>
#else
/* The header was moved here in Mac OS X 10.1 */
#include <Kernel/IOKit/hidsystem/IOHIDUsageTables.h>
#endif
#include <IOKit/hid/IOHIDLib.h>
#include <IOKit/hid/IOHIDKeys.h>
#include <CoreFoundation/CoreFoundation.h>
@@ -198,45 +198,6 @@ - (NSArray *) validAttributesForMarkedText

@end

/* This is the original behavior, before support was added for
* differentiating between left and right versions of the keys.
*/
static void
DoUnsidedModifiers(unsigned short scancode,
unsigned int oldMods, unsigned int newMods)
{
const int mapping[] = {
SDL_SCANCODE_CAPSLOCK,
SDL_SCANCODE_LSHIFT,
SDL_SCANCODE_LCTRL,
SDL_SCANCODE_LALT,
SDL_SCANCODE_LGUI
};
unsigned int i, bit;

/* Iterate through the bits, testing each against the current modifiers */
for (i = 0, bit = NSAlphaShiftKeyMask; bit <= NSCommandKeyMask; bit <<= 1, ++i) {
unsigned int oldMask, newMask;

oldMask = oldMods & bit;
newMask = newMods & bit;

if (oldMask && oldMask != newMask) { /* modifier up event */
/* If this was Caps Lock, we need some additional voodoo to make SDL happy */
if (bit == NSAlphaShiftKeyMask) {
SDL_SendKeyboardKey(SDL_PRESSED, mapping[i]);
}
SDL_SendKeyboardKey(SDL_RELEASED, mapping[i]);
} else if (newMask && oldMask != newMask) { /* modifier down event */
SDL_SendKeyboardKey(SDL_PRESSED, mapping[i]);
/* If this was Caps Lock, we need some additional voodoo to make SDL happy */
if (bit == NSAlphaShiftKeyMask) {
SDL_SendKeyboardKey(SDL_RELEASED, mapping[i]);
}
}
}
}

/* This is a helper function for HandleModifierSide. This
* function reverts back to behavior before the distinction between
* sides was made.
@@ -458,15 +419,7 @@ - (NSArray *) validAttributesForMarkedText
return;
}

/*
* Starting with Panther (10.3.0), the ability to distinguish between
* left side and right side modifiers is available.
*/
if (data->osversion >= 0x1030) {
DoSidedModifiers(scancode, data->modifierFlags, modifierFlags);
} else {
DoUnsidedModifiers(scancode, data->modifierFlags, modifierFlags);
}
DoSidedModifiers(scancode, data->modifierFlags, modifierFlags);
data->modifierFlags = modifierFlags;
}

0 comments on commit b30e396

Please sign in to comment.