From a97d561f8df77f9e9d61238a9629b05761183862 Mon Sep 17 00:00:00 2001 From: "Ryan C. Gordon" Date: Wed, 14 Feb 2007 10:23:23 +0000 Subject: [PATCH] Quartz code should use F13, F14, and F15 keys instead of PrintScreen, ScrollLock, and Pause, since that's what's on the standard Apple keyboards (minus the laptops, which have neither set). Ideally we'll find a better way to distinguish this...the keys being replaced would be correct on a USB keyboard for Windows. Sigh. Fixes Bugzilla #301. --- src/video/quartz/SDL_QuartzEvents.m | 7 +++++++ src/video/quartz/SDL_QuartzKeys.h | 5 +++++ 2 files changed, 12 insertions(+) diff --git a/src/video/quartz/SDL_QuartzEvents.m b/src/video/quartz/SDL_QuartzEvents.m index b18598c66..496e4f092 100644 --- a/src/video/quartz/SDL_QuartzEvents.m +++ b/src/video/quartz/SDL_QuartzEvents.m @@ -87,9 +87,14 @@ void QZ_InitOSKeymap (_THIS) { keymap[QZ_F10] = SDLK_F10; keymap[QZ_F11] = SDLK_F11; keymap[QZ_F12] = SDLK_F12; + keymap[QZ_F13] = SDLK_F13; + keymap[QZ_F14] = SDLK_F14; + keymap[QZ_F15] = SDLK_F15; +/* keymap[QZ_PRINT] = SDLK_PRINT; keymap[QZ_SCROLLOCK] = SDLK_SCROLLOCK; keymap[QZ_PAUSE] = SDLK_PAUSE; +*/ keymap[QZ_POWER] = SDLK_POWER; keymap[QZ_BACKQUOTE] = SDLK_BACKQUOTE; keymap[QZ_1] = SDLK_1; @@ -270,6 +275,7 @@ static void QZ_DoKey (_THIS, int state, NSEvent *event) { if (numChars == 0) { key.scancode = [ event keyCode ]; +printf("numChars == 0, scancode == %d\n", (int) key.scancode); key.sym = keymap [ key.scancode ]; key.unicode = 0; key.mod = KMOD_NONE; @@ -279,6 +285,7 @@ static void QZ_DoKey (_THIS, int state, NSEvent *event) { else if (numChars == 1) { key.scancode = [ event keyCode ]; +printf("numChars == 1, scancode == %d\n", (int) key.scancode); key.sym = keymap [ key.scancode ]; key.unicode = [ chars characterAtIndex:0 ]; key.mod = KMOD_NONE; diff --git a/src/video/quartz/SDL_QuartzKeys.h b/src/video/quartz/SDL_QuartzKeys.h index 19389126d..8b1c13bef 100644 --- a/src/video/quartz/SDL_QuartzKeys.h +++ b/src/video/quartz/SDL_QuartzKeys.h @@ -36,9 +36,14 @@ #define QZ_F10 0x6D #define QZ_F11 0x67 #define QZ_F12 0x6F +#define QZ_F13 0x69 +#define QZ_F14 0x6B +#define QZ_F15 0x71 +/* #define QZ_PRINT 0x69 #define QZ_SCROLLOCK 0x6B #define QZ_PAUSE 0x71 +*/ #define QZ_POWER 0x7F #define QZ_BACKQUOTE 0x32 #define QZ_1 0x12