view docs/man3/SDL_GetKeyState.3 @ 3191:91b335df6fc8

Fixed bug #750 Since many different event structures include windowID it should be placed near the beginning of the structure (preferably right after type) so it's position is the same between different events. This is to avoid code like this: if (event.type == SDL_WINDOWEVENT) win = event.window.windowID; else if ((SDL_EVENTMASK(event.type) & SDL_KEYEVENTMASK) != 0) win = event.key.windowID; else if (event.type == SDL_TEXTINPUT) win = event.text.windowID; else if (event.type == SDL_MOUSEMOTION) win = event.motion.windowID; else if ((SDL_EVENTMASK(event.type) & (SDL_MOUBUTTONDOWNMASK | SDL_MOUBUTTONUPMASK)) != 0) win = event.button.windowID; else if (event.type == SDL_MOUSEWHEEL) win = event.wheel.windowID; ... in favor of: win = event.window.windowID;
author Sam Lantinga <slouken@libsdl.org>
date Wed, 10 Jun 2009 14:00:21 +0000
parents 546f7c1eb755
children 1238da4a7112
line wrap: on
line source

.TH "SDL_GetKeyState" "3" "Tue 11 Sep 2001, 22:59" "SDL" "SDL API Reference" 
.SH "NAME"
SDL_GetKeyState \- Get a snapshot of the current keyboard state
.SH "SYNOPSIS"
.PP
\fB#include "SDL\&.h"
.sp
\fBUint8 *\fBSDL_GetKeyState\fP\fR(\fBint *numkeys\fR);
.SH "DESCRIPTION"
.PP
Gets a snapshot of the current keyboard state\&. The current state is return as a pointer to an array, the size of this array is stored in \fBnumkeys\fR\&. The array is indexed by the \fI\fBSDLK_*\fP\fR symbols\&. A value of 1 means the key is pressed and a value of 0 means its not\&. The pointer returned is a pointer to an internal SDL array and should not be freed by the caller\&.
.PP
.RS
\fBNote:  
.PP
Use \fI\fBSDL_PumpEvents\fP\fR to update the state array\&.
.RE
.SH "EXAMPLE"
.PP
.PP
.nf
\f(CWUint8 *keystate = SDL_GetKeyState(NULL);
if ( keystate[SDLK_RETURN] ) printf("Return Key Pressed\&.
");\fR
.fi
.PP
.SH "SEE ALSO"
.PP
\fI\fBSDL Key Symbols\fP\fR, \fI\fBSDL_PumpEvents\fP\fR
...\" created by instant / docbook-to-man, Tue 11 Sep 2001, 22:59