|
Size: 1706
Comment: Removed old comment (answer: was doxygen markup).
|
Size: 1738
Comment: Added updated example from old wiki and removed old comment.
|
| Deletions are marked like this. | Additions are marked like this. |
| Line 22: | Line 22: |
| <<Color2(col=green,text="There is a different example in the old wiki.")>> | |
| Line 27: | Line 26: |
| } if (state[SDL_SCANCODE_RIGHT] && state[SDL_SCANCODE_UP]) { printf("Right and Up Keys Pressed.\n"); |
DRAFT |
SDL_GetKeyboardState
Use this function to get a snapshot of the current state of the keyboard.
Contents
Syntax
const Uint8* SDL_GetKeyboardState(int* numkeys)
Function Parameters
numkeys |
if non-NULL, receives the length of the returned array |
Return Value
Returns a pointer to an array of key states. A value of 1 means that the key is pressed and a value of 0 means that it is not. Indexes into this array are obtained by using SDL_Scancode values. The pointer returned is a pointer to an internal SDL array. It will be valid for the whole lifetime of the application and should not be freed by the caller.
Code Examples
const Uint8 *state = SDL_GetKeyboardState(NULL);
if (state[SDL_SCANCODE_RETURN]) {
printf("<RETURN> is pressed.\n");
}
if (state[SDL_SCANCODE_RIGHT] && state[SDL_SCANCODE_UP]) {
printf("Right and Up Keys Pressed.\n");
}
Remarks
From SDL_GetKeyState in old wiki.
Note: Use SDL_PumpEvents() to update the state array.
Note: This function gives you the current state after all events have been processed, so if a key or button has been pressed and released before you process events, then the pressed state will never show up in the SDL_GetKeyboardState() formatting here ok?
calls.
Note: This function doesn't take into account whether shift has been pressed or not.
