changeset 1526:89f90f32f6c0

Fixed bug #124 Print Screen key events weren't reported on Windows
author Sam Lantinga <slouken@libsdl.org>
date Tue, 14 Mar 2006 07:06:06 +0000
parents 23a347cfbed8
children ce84e28c2c07
files src/video/windib/SDL_dibevents.c src/video/windx5/SDL_dx5events.c
diffstat 2 files changed, 7 insertions(+), 2 deletions(-) [+]
line wrap: on
line diff
--- a/src/video/windib/SDL_dibevents.c	Tue Mar 14 06:00:30 2006 +0000
+++ b/src/video/windib/SDL_dibevents.c	Tue Mar 14 07:06:06 2006 +0000
@@ -160,7 +160,7 @@
 			SDL_keysym keysym;
 
 #ifdef _WIN32_WCE
-			// Drop GAPI artefacts
+			// Drop GAPI artifacts
 			if (wParam == 0x84 || wParam == 0x5B)
 				return 0;
 
@@ -197,6 +197,11 @@
 						wParam = VK_LMENU;
 					break;
 			}
+			/* Windows only reports keyup for print screen */
+			if ( wParam == VK_SNAPSHOT && SDL_GetKeyState(NULL)[SDLK_PRINT] == SDL_RELEASED ) {
+				posted = SDL_PrivateKeyboard(SDL_PRESSED,
+					TranslateKey(wParam,HIWORD(lParam),&keysym,1));
+			}
 			posted = SDL_PrivateKeyboard(SDL_RELEASED,
 				TranslateKey(wParam,HIWORD(lParam),&keysym,0));
 		}
--- a/src/video/windx5/SDL_dx5events.c	Tue Mar 14 06:00:30 2006 +0000
+++ b/src/video/windx5/SDL_dx5events.c	Tue Mar 14 07:06:06 2006 +0000
@@ -802,7 +802,7 @@
 	DIK_keymap[DIK_NUMPADENTER] = SDLK_KP_ENTER;
 	DIK_keymap[DIK_RCONTROL] = SDLK_RCTRL;
 	DIK_keymap[DIK_DIVIDE] = SDLK_KP_DIVIDE;
-	DIK_keymap[DIK_SYSRQ] = SDLK_SYSREQ;
+	DIK_keymap[DIK_SYSRQ] = SDLK_PRINT;
 	DIK_keymap[DIK_RMENU] = SDLK_RALT;
 	DIK_keymap[DIK_PAUSE] = SDLK_PAUSE;
 	DIK_keymap[DIK_HOME] = SDLK_HOME;