comparison src/video/win32/SDL_win32events.c @ 2313:012ec5192dfa

Added support for keypad enter
author Sam Lantinga <slouken@libsdl.org>
date Sun, 10 Feb 2008 05:34:33 +0000
parents bcec4b189f5b
children f537a293b3da
comparison
equal deleted inserted replaced
2312:bcec4b189f5b 2313:012ec5192dfa
33 #endif 33 #endif
34 34
35 /* Masks for processing the windows KEYDOWN and KEYUP messages */ 35 /* Masks for processing the windows KEYDOWN and KEYUP messages */
36 #define REPEATED_KEYMASK (1<<30) 36 #define REPEATED_KEYMASK (1<<30)
37 #define EXTENDED_KEYMASK (1<<24) 37 #define EXTENDED_KEYMASK (1<<24)
38
39 #define VK_ENTER 10 /* Keypad Enter ... no VKEY defined? */
38 40
39 /* Make sure XBUTTON stuff is defined that isn't in older Platform SDKs... */ 41 /* Make sure XBUTTON stuff is defined that isn't in older Platform SDKs... */
40 #ifndef WM_XBUTTONDOWN 42 #ifndef WM_XBUTTONDOWN
41 #define WM_XBUTTONDOWN 0x020B 43 #define WM_XBUTTONDOWN 0x020B
42 #endif 44 #endif
360 if (lParam & EXTENDED_KEYMASK) 362 if (lParam & EXTENDED_KEYMASK)
361 wParam = VK_RMENU; 363 wParam = VK_RMENU;
362 else 364 else
363 wParam = VK_LMENU; 365 wParam = VK_LMENU;
364 break; 366 break;
367 case VK_RETURN:
368 if (lParam & EXTENDED_KEYMASK)
369 wParam = VK_ENTER;
370 break;
365 } 371 }
366 if (wParam < 256) { 372 if (wParam < 256) {
367 SDL_SendKeyboardKey(index, SDL_PRESSED, 373 SDL_SendKeyboardKey(index, SDL_PRESSED,
368 data->videodata->key_layout[wParam]); 374 data->videodata->key_layout[wParam]);
369 } 375 }
403 case VK_MENU: 409 case VK_MENU:
404 if (lParam & EXTENDED_KEYMASK) 410 if (lParam & EXTENDED_KEYMASK)
405 wParam = VK_RMENU; 411 wParam = VK_RMENU;
406 else 412 else
407 wParam = VK_LMENU; 413 wParam = VK_LMENU;
414 break;
415 case VK_RETURN:
416 if (lParam & EXTENDED_KEYMASK)
417 wParam = VK_ENTER;
408 break; 418 break;
409 } 419 }
410 /* Windows only reports keyup for print screen */ 420 /* Windows only reports keyup for print screen */
411 if (wParam == VK_SNAPSHOT 421 if (wParam == VK_SNAPSHOT
412 && SDL_GetKeyboardState(NULL)[SDL_SCANCODE_PRINTSCREEN] == 422 && SDL_GetKeyboardState(NULL)[SDL_SCANCODE_PRINTSCREEN] ==