mirror of https://github.com/encounter/SDL.git
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.
This commit is contained in:
parent
5821466c05
commit
b30e396ba1
|
@ -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 @@
|
|||
|
||||
@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 @@ HandleModifiers(_THIS, unsigned short scancode, unsigned int modifierFlags)
|
|||
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;
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in New Issue