.\" This manpage content is licensed under Creative Commons
.\"  Attribution 4.0 International (CC BY 4.0)
.\"   https://creativecommons.org/licenses/by/4.0/
.\" This manpage was generated from SDL's wiki page for SDL_GetKeyboardState:
.\"   https://wiki.libsdl.org/SDL_GetKeyboardState
.\" Generated with SDL/build-scripts/wikiheaders.pl
.\"  revision release-3.2.10-0-g877399b2b
.\" Please report issues in this manpage's content at:
.\"   https://github.com/libsdl-org/sdlwiki/issues/new
.\" Please report issues in the generation of this manpage from the wiki at:
.\"   https://github.com/libsdl-org/SDL/issues/new?title=Misgenerated%20manpage%20for%20SDL_GetKeyboardState
.\" SDL can be found at https://libsdl.org/
.de URL
\$2 \(laURL: \$1 \(ra\$3
..
.if \n[.g] .mso www.tmac
.TH SDL_GetKeyboardState 3 "SDL 3.2.10" "Simple Directmedia Layer" "SDL3 FUNCTIONS"
.SH NAME
SDL_GetKeyboardState \- Get a snapshot of the current state of the keyboard\[char46]
.SH HEADER FILE
Defined in SDL3/SDL_keyboard\[char46]h

.SH SYNOPSIS
.nf
.B #include \(dqSDL3/SDL.h\(dq
.PP
.BI "const bool * SDL_GetKeyboardState(int *numkeys);
.fi
.SH DESCRIPTION
The pointer returned is a pointer to an internal SDL array\[char46] It will be
valid for the whole lifetime of the application and should not be freed by
the caller\[char46]

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

Use 
.BR SDL_PumpEvents
() to update the state array\[char46]

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

.BR SDL_GetKeyboardState
() calls\[char46]

Note: This function doesn't take into account whether shift has been
pressed or not\[char46]

.SH FUNCTION PARAMETERS
.TP
.I numkeys
if non-NULL, receives the length of the returned array\[char46]
.SH RETURN VALUE
Returns a pointer to an array of key states\[char46]

.SH THREAD SAFETY
It is safe to call this function from any thread\[char46]

.SH AVAILABILITY
This function is available since SDL 3\[char46]2\[char46]0\[char46]

.SH SEE ALSO
.BR \(bu (3),
.BR SDL_PumpEvents (3),
.BR \(bu (3),
.BR SDL_ResetKeyboard (3)