Scroll to navigation

SDL_GetKeyboardState(3) SDL3 FUNCTIONS SDL_GetKeyboardState(3)

NAME

SDL_GetKeyboardState - Get a snapshot of the current state of the keyboard.

SYNOPSIS

#include <SDL3/SDL_keyboard.h>
const bool * SDL_GetKeyboardState(int *numkeys);

DESCRIPTION

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.

A array element with a value of true means that the key is pressed and a value of false means that it is not. Indexes into this array are obtained by using SDL_Scancode values.

Use SDL_PumpEvents() to update the state array.

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() calls.

Note: This function doesn't take into account whether shift has been pressed or not.

Note that this function is "thread safe," in that calling it from two threads at once will return the same array and that it won't be reallocated or free'd without warning, as more events arrive, the contents of this array may change without warning or any sort of thread synchronization. For apps that need precision, it is better to use the key events in the SDL event queue.

FUNCTION PARAMETERS

if non-NULL, receives the length of the returned array.

RETURN VALUE

Returns a pointer to an array of key states.

THREAD SAFETY

It is safe to call this function from any thread.

AVAILABILITY

This function is available since SDL 3.2.0.

SEE ALSO

SDL_PumpEvents(3), SDL_ResetKeyboard(3)

SDL 3.4.20 Simple Directmedia Layer