DRAFT |
SDL_KeyboardEvent
A structure that contains keyboard button event structure information (event.key.*).
Contents
Data Fields
Uint32 |
type |
SDL_KEYDOWN or SDL_KEYUP |
Uint32 |
windowID |
the window with keyboard focus, if any |
Uint8 |
state |
SDL_PRESSED or SDL_RELEASED |
Uint8 |
repeat |
non-zero if this is a key repeat |
Uint8 |
padding2 |
|
Uint8 |
padding3 |
|
SDL_keysym |
keysym |
the key that was pressed or released |
Code Examples
You can add your code example here
Remarks
*The following is taken from the old wiki which had fewer/different data fields*
SDL_KeyboardEvent() is a member of the SDL_Event union and is used when an event of type SDL_KEYDOWN or SDL_KEYUP is reported.
The type and state actually report the same information, they just use different values to do it. A keyboard event generally occurs when a key is released (type=SDL_KEYUP or state=SDL_RELEASED) and when a key is pressed (type=SDL_KEYDOWN or state=SDL_PRESSED). The information on what key was pressed or released is in the keysym member.
The SDLK_CAPSLOCK and SDLK_NUMLOCK keys are special cases and report an SDL_KEYDOWN when first pressed, then an SDL_RELEASED when released and pressed again. For these keys KEYUP and KEYDOWN events are therefore analogous to the state of the caps lock and num lock LEDs rather than the keys themselves. These special cases are required for compatibility with Sun workstations, but may be modified for most users through adjustments around lines 403 and 449 of src/events/SDL_keyboard.c.
Note: Repeating SDL_KEYDOWN events will occur if key repeat is enabled (see SDL_EnableKeyRepeat). SDL_EnableKeyRepeat does not currently have a page and may not exist in SDL 1.3.
Related Enumerations
Related Structures
SDL_keysym??? This has no page.
Related Functions
Listed in the old wiki but appear to be absent from 1.3: SDL_EnableKeyRepeat, SDL_EnableUNICODE