Added support for keypad enter

--HG--
extra : convert_revision : svn%3Ac70aab31-4412-0410-b14c-859654838e24/trunk%402725
This commit is contained in:
Sam Lantinga 2008-02-10 05:34:33 +00:00
parent 1f3deaa8b5
commit c9d5848a25
2 changed files with 11 additions and 1 deletions

View file

@ -37,7 +37,7 @@ static SDL_scancode win32_scancode_table[] = {
/* 7, 0x07 */ SDL_SCANCODE_UNKNOWN, /* 7, 0x07 */ SDL_SCANCODE_UNKNOWN,
/* 8, 0x08 */ SDL_SCANCODE_BACKSPACE, /* 8, 0x08 */ SDL_SCANCODE_BACKSPACE,
/* 9, 0x09 */ SDL_SCANCODE_TAB, /* 9, 0x09 */ SDL_SCANCODE_TAB,
/* 10, 0x0a */ SDL_SCANCODE_UNKNOWN, /* 10, 0x0a */ SDL_SCANCODE_KP_ENTER, /* Not a VKEY, SDL specific */
/* 11, 0x0b */ SDL_SCANCODE_UNKNOWN, /* 11, 0x0b */ SDL_SCANCODE_UNKNOWN,
/* 12, 0x0c */ SDL_SCANCODE_CLEAR, /* 12, 0x0c */ SDL_SCANCODE_CLEAR,
/* 13, 0x0d */ SDL_SCANCODE_RETURN, /* 13, 0x0d */ SDL_SCANCODE_RETURN,

View file

@ -36,6 +36,8 @@
#define REPEATED_KEYMASK (1<<30) #define REPEATED_KEYMASK (1<<30)
#define EXTENDED_KEYMASK (1<<24) #define EXTENDED_KEYMASK (1<<24)
#define VK_ENTER 10 /* Keypad Enter ... no VKEY defined? */
/* Make sure XBUTTON stuff is defined that isn't in older Platform SDKs... */ /* Make sure XBUTTON stuff is defined that isn't in older Platform SDKs... */
#ifndef WM_XBUTTONDOWN #ifndef WM_XBUTTONDOWN
#define WM_XBUTTONDOWN 0x020B #define WM_XBUTTONDOWN 0x020B
@ -362,6 +364,10 @@ WIN_WindowProc(HWND hwnd, UINT msg, WPARAM wParam, LPARAM lParam)
else else
wParam = VK_LMENU; wParam = VK_LMENU;
break; break;
case VK_RETURN:
if (lParam & EXTENDED_KEYMASK)
wParam = VK_ENTER;
break;
} }
if (wParam < 256) { if (wParam < 256) {
SDL_SendKeyboardKey(index, SDL_PRESSED, SDL_SendKeyboardKey(index, SDL_PRESSED,
@ -406,6 +412,10 @@ WIN_WindowProc(HWND hwnd, UINT msg, WPARAM wParam, LPARAM lParam)
else else
wParam = VK_LMENU; wParam = VK_LMENU;
break; break;
case VK_RETURN:
if (lParam & EXTENDED_KEYMASK)
wParam = VK_ENTER;
break;
} }
/* Windows only reports keyup for print screen */ /* Windows only reports keyup for print screen */
if (wParam == VK_SNAPSHOT if (wParam == VK_SNAPSHOT