Removed SDL_Keysym

This commit is contained in:
Sam Lantinga 2024-06-21 19:50:10 -07:00
parent 679e4471ed
commit 0dd579d40d
35 changed files with 150 additions and 150 deletions

View file

@ -347,6 +347,21 @@ The SDL_EVENT_WINDOW_RESIZED event is always sent, even in response to SDL_SetWi
The SDL_EVENT_WINDOW_SIZE_CHANGED event has been removed, and you can use SDL_EVENT_WINDOW_PIXEL_SIZE_CHANGED to detect window backbuffer size changes. The SDL_EVENT_WINDOW_SIZE_CHANGED event has been removed, and you can use SDL_EVENT_WINDOW_PIXEL_SIZE_CHANGED to detect window backbuffer size changes.
The keysym field of key events has been removed to remove one level of indirection, and `sym` has been renamed `key`.
Code that looked like this:
```c
SDL_Event event;
SDL_Keycode key = event.key.keysym.sym;
SDL_Keymod mod = event.key.keysym.mod;
```
now looks like this:
```c
SDL_Event event;
SDL_Keycode key = event.key.key;
SDL_Keymod mod = event.key.mod;
```
The gamepad event structures caxis, cbutton, cdevice, ctouchpad, and csensor have been renamed gaxis, gbutton, gdevice, gtouchpad, and gsensor. The gamepad event structures caxis, cbutton, cdevice, ctouchpad, and csensor have been renamed gaxis, gbutton, gdevice, gtouchpad, and gsensor.
The mouseX and mouseY fields of SDL_MouseWheelEvent have been renamed mouse_x and mouse_y. The mouseX and mouseY fields of SDL_MouseWheelEvent have been renamed mouse_x and mouse_y.
@ -899,6 +914,9 @@ The following functions have been renamed:
The following functions have been removed: The following functions have been removed:
* SDL_IsTextInputShown() * SDL_IsTextInputShown()
The following structures have been removed:
* SDL_Keysym
## SDL_keycode.h ## SDL_keycode.h
SDL_Keycode is now Uint32 and the SDLK_* constants are now defines instead of an enum, to more clearly reflect that they are a subset of the possible values of an SDL_Keycode. SDL_Keycode is now Uint32 and the SDLK_* constants are now defines instead of an enum, to more clearly reflect that they are a subset of the possible values of an SDL_Keycode.

View file

@ -301,16 +301,17 @@ typedef struct SDL_KeyboardDeviceEvent
*/ */
typedef struct SDL_KeyboardEvent typedef struct SDL_KeyboardEvent
{ {
SDL_EventType type; /**< SDL_EVENT_KEY_DOWN or SDL_EVENT_KEY_UP */ SDL_EventType type; /**< SDL_EVENT_KEY_DOWN or SDL_EVENT_KEY_UP */
Uint32 reserved; Uint32 reserved;
Uint64 timestamp; /**< In nanoseconds, populated using SDL_GetTicksNS() */ Uint64 timestamp; /**< In nanoseconds, populated using SDL_GetTicksNS() */
SDL_WindowID windowID; /**< The window with keyboard focus, if any */ SDL_WindowID windowID; /**< The window with keyboard focus, if any */
SDL_KeyboardID which; /**< The keyboard instance id, or 0 if unknown or virtual */ SDL_KeyboardID which; /**< The keyboard instance id, or 0 if unknown or virtual */
Uint8 state; /**< SDL_PRESSED or SDL_RELEASED */ SDL_Scancode scancode; /**< SDL physical key code */
Uint8 repeat; /**< Non-zero if this is a key repeat */ SDL_Keycode key; /**< SDL virtual key code */
Uint8 padding2; SDL_Keymod mod; /**< current key modifiers */
Uint8 padding3; Uint16 raw; /**< The platform dependent scancode for this event */
SDL_Keysym keysym; /**< The key that was pressed or released */ Uint8 state; /**< SDL_PRESSED or SDL_RELEASED */
Uint8 repeat; /**< Non-zero if this is a key repeat */
} SDL_KeyboardEvent; } SDL_KeyboardEvent;
/** /**

View file

@ -52,25 +52,6 @@ extern "C" {
*/ */
typedef Uint32 SDL_KeyboardID; typedef Uint32 SDL_KeyboardID;
/**
* The SDL keysym structure, used in key events.
*
* If you are looking for translated character input, see the
* SDL_EVENT_TEXT_INPUT event.
*
* \since This struct is available since SDL 3.0.0.
*
* \sa SDL_Scancode
* \sa SDL_Keycode
*/
typedef struct SDL_Keysym
{
SDL_Scancode scancode; /**< SDL physical key code - see SDL_Scancode for details */
SDL_Keycode sym; /**< SDL virtual key code - see SDL_Keycode for details */
SDL_Keymod mod; /**< current key modifiers */
Uint16 raw; /**< The platform dependent scancode for this event */
} SDL_Keysym;
/* Function prototypes */ /* Function prototypes */
/** /**

View file

@ -338,14 +338,14 @@ static void SDL_LogEvent(const SDL_Event *event)
break; break;
#undef PRINT_KEYDEV_EVENT #undef PRINT_KEYDEV_EVENT
#define PRINT_KEY_EVENT(event) \ #define PRINT_KEY_EVENT(event) \
(void)SDL_snprintf(details, sizeof(details), " (timestamp=%u windowid=%u which=%u state=%s repeat=%s scancode=%u keycode=%u mod=%u)", \ (void)SDL_snprintf(details, sizeof(details), " (timestamp=%u windowid=%u which=%u state=%s repeat=%s scancode=%u keycode=%u mod=0x%x)", \
(uint)event->key.timestamp, (uint)event->key.windowID, (uint)event->key.which, \ (uint)event->key.timestamp, (uint)event->key.windowID, (uint)event->key.which, \
event->key.state == SDL_PRESSED ? "pressed" : "released", \ event->key.state == SDL_PRESSED ? "pressed" : "released", \
event->key.repeat ? "true" : "false", \ event->key.repeat ? "true" : "false", \
(uint)event->key.keysym.scancode, \ (uint)event->key.scancode, \
(uint)event->key.keysym.sym, \ (uint)event->key.key, \
(uint)event->key.keysym.mod) (uint)event->key.mod)
SDL_EVENT_CASE(SDL_EVENT_KEY_DOWN) SDL_EVENT_CASE(SDL_EVENT_KEY_DOWN)
PRINT_KEY_EVENT(event); PRINT_KEY_EVENT(event);
break; break;

View file

@ -399,12 +399,12 @@ static int SDL_SendKeyboardKeyInternal(Uint64 timestamp, Uint32 flags, SDL_Keybo
SDL_Event event; SDL_Event event;
event.type = type; event.type = type;
event.common.timestamp = timestamp; event.common.timestamp = timestamp;
event.key.scancode = scancode;
event.key.key = keycode;
event.key.mod = keyboard->modstate;
event.key.raw = (Uint16)rawcode;
event.key.state = state; event.key.state = state;
event.key.repeat = repeat; event.key.repeat = repeat;
event.key.keysym.scancode = scancode;
event.key.keysym.sym = keycode;
event.key.keysym.mod = keyboard->modstate;
event.key.keysym.raw = (Uint16)rawcode;
event.key.windowID = keyboard->focus ? keyboard->focus->id : 0; event.key.windowID = keyboard->focus ? keyboard->focus->id : 0;
event.key.which = keyboardID; event.key.which = keyboardID;
posted = (SDL_PushEvent(&event) > 0); posted = (SDL_PushEvent(&event) > 0);

View file

@ -1676,9 +1676,9 @@ static void SDLTest_PrintEvent(const SDL_Event *event)
case SDL_EVENT_KEY_DOWN: case SDL_EVENT_KEY_DOWN:
case SDL_EVENT_KEY_UP: { case SDL_EVENT_KEY_UP: {
char modstr[64]; char modstr[64];
if (event->key.keysym.mod) { if (event->key.mod) {
modstr[0] = '\0'; modstr[0] = '\0';
SDLTest_PrintModState(modstr, sizeof (modstr), event->key.keysym.mod); SDLTest_PrintModState(modstr, sizeof (modstr), event->key.mod);
} else { } else {
SDL_strlcpy(modstr, "NONE", sizeof (modstr)); SDL_strlcpy(modstr, "NONE", sizeof (modstr));
} }
@ -1686,9 +1686,9 @@ static void SDLTest_PrintEvent(const SDL_Event *event)
SDL_Log("SDL EVENT: Keyboard: key %s in window %" SDL_PRIu32 ": scancode 0x%08X = %s, keycode 0x%08" SDL_PRIX32 " = %s, mods = %s", SDL_Log("SDL EVENT: Keyboard: key %s in window %" SDL_PRIu32 ": scancode 0x%08X = %s, keycode 0x%08" SDL_PRIX32 " = %s, mods = %s",
(event->type == SDL_EVENT_KEY_DOWN) ? "pressed" : "released", (event->type == SDL_EVENT_KEY_DOWN) ? "pressed" : "released",
event->key.windowID, event->key.windowID,
event->key.keysym.scancode, event->key.scancode,
SDL_GetScancodeName(event->key.keysym.scancode), SDL_GetScancodeName(event->key.scancode),
event->key.keysym.sym, SDL_GetKeyName(event->key.keysym.sym), event->key.key, SDL_GetKeyName(event->key.key),
modstr); modstr);
break; break;
} }
@ -2097,11 +2097,11 @@ int SDLTest_CommonEventMainCallbacks(SDLTest_CommonState *state, const SDL_Event
break; break;
case SDL_EVENT_KEY_DOWN: case SDL_EVENT_KEY_DOWN:
{ {
SDL_bool withControl = !!(event->key.keysym.mod & SDL_KMOD_CTRL); SDL_bool withControl = !!(event->key.mod & SDL_KMOD_CTRL);
SDL_bool withShift = !!(event->key.keysym.mod & SDL_KMOD_SHIFT); SDL_bool withShift = !!(event->key.mod & SDL_KMOD_SHIFT);
SDL_bool withAlt = !!(event->key.keysym.mod & SDL_KMOD_ALT); SDL_bool withAlt = !!(event->key.mod & SDL_KMOD_ALT);
switch (event->key.keysym.sym) { switch (event->key.key) {
/* Add hotkeys here */ /* Add hotkeys here */
case SDLK_PRINTSCREEN: case SDLK_PRINTSCREEN:
{ {
@ -2158,7 +2158,7 @@ int SDLTest_CommonEventMainCallbacks(SDLTest_CommonState *state, const SDL_Event
} }
if (current_index >= 0) { if (current_index >= 0) {
SDL_DisplayID dest; SDL_DisplayID dest;
if (event->key.keysym.sym == SDLK_UP || event->key.keysym.sym == SDLK_LEFT) { if (event->key.key == SDLK_UP || event->key.key == SDLK_LEFT) {
dest = displays[(current_index + num_displays - 1) % num_displays]; dest = displays[(current_index + num_displays - 1) % num_displays];
} else { } else {
dest = displays[(current_index + num_displays + 1) % num_displays]; dest = displays[(current_index + num_displays + 1) % num_displays];
@ -2180,16 +2180,16 @@ int SDLTest_CommonEventMainCallbacks(SDLTest_CommonState *state, const SDL_Event
int x, y; int x, y;
SDL_GetWindowPosition(window, &x, &y); SDL_GetWindowPosition(window, &x, &y);
if (event->key.keysym.sym == SDLK_UP) { if (event->key.key == SDLK_UP) {
y -= delta; y -= delta;
} }
if (event->key.keysym.sym == SDLK_DOWN) { if (event->key.key == SDLK_DOWN) {
y += delta; y += delta;
} }
if (event->key.keysym.sym == SDLK_LEFT) { if (event->key.key == SDLK_LEFT) {
x -= delta; x -= delta;
} }
if (event->key.keysym.sym == SDLK_RIGHT) { if (event->key.key == SDLK_RIGHT) {
x += delta; x += delta;
} }

View file

@ -159,7 +159,7 @@ static void PrintModifierState(void)
SDL_Log("Initial state:%s\n", message); SDL_Log("Initial state:%s\n", message);
} }
static void PrintKey(SDL_Keysym *sym, SDL_bool pressed, SDL_bool repeat) static void PrintKey(SDL_KeyboardEvent *event)
{ {
char message[512]; char message[512];
char *spot; char *spot;
@ -169,24 +169,24 @@ static void PrintKey(SDL_Keysym *sym, SDL_bool pressed, SDL_bool repeat)
left = sizeof(message); left = sizeof(message);
/* Print the keycode, name and state */ /* Print the keycode, name and state */
if (sym->sym) { if (event->key) {
print_string(&spot, &left, print_string(&spot, &left,
"Key %s: raw 0x%.2x, scancode %d = %s, keycode 0x%08X = %s ", "Key %s: raw 0x%.2x, scancode %d = %s, keycode 0x%08X = %s ",
pressed ? "pressed " : "released", event->state ? "pressed " : "released",
sym->raw, event->raw,
sym->scancode, event->scancode,
sym->scancode == SDL_SCANCODE_UNKNOWN ? "UNKNOWN" : SDL_GetScancodeName(sym->scancode), event->scancode == SDL_SCANCODE_UNKNOWN ? "UNKNOWN" : SDL_GetScancodeName(event->scancode),
sym->sym, SDL_GetKeyName(sym->sym)); event->key, SDL_GetKeyName(event->key));
} else { } else {
print_string(&spot, &left, print_string(&spot, &left,
"Unknown Key (raw 0x%.2x, scancode %d = %s) %s ", "Unknown Key (raw 0x%.2x, scancode %d = %s) %s ",
sym->raw, event->raw,
sym->scancode, event->scancode,
sym->scancode == SDL_SCANCODE_UNKNOWN ? "UNKNOWN" : SDL_GetScancodeName(sym->scancode), event->scancode == SDL_SCANCODE_UNKNOWN ? "UNKNOWN" : SDL_GetScancodeName(event->scancode),
pressed ? "pressed " : "released"); event->state ? "pressed " : "released");
} }
print_modifiers(&spot, &left, sym->mod); print_modifiers(&spot, &left, event->mod);
if (repeat) { if (event->repeat) {
print_string(&spot, &left, " (repeat)"); print_string(&spot, &left, " (repeat)");
} }
SDL_Log("%s\n", message); SDL_Log("%s\n", message);
@ -229,9 +229,9 @@ static void loop(void)
switch (event.type) { switch (event.type) {
case SDL_EVENT_KEY_DOWN: case SDL_EVENT_KEY_DOWN:
case SDL_EVENT_KEY_UP: case SDL_EVENT_KEY_UP:
PrintKey(&event.key.keysym, (event.key.state == SDL_PRESSED), (event.key.repeat > 0)); PrintKey(&event.key);
if (event.type == SDL_EVENT_KEY_DOWN) { if (event.type == SDL_EVENT_KEY_DOWN) {
switch (event.key.keysym.sym) { switch (event.key.key) {
case SDLK_BACKSPACE: case SDLK_BACKSPACE:
SDLTest_TextWindowAddText(textwin, "\b"); SDLTest_TextWindowAddText(textwin, "\b");
break; break;

View file

@ -120,7 +120,7 @@ PrintModifierState(void)
} }
static void static void
PrintKey(SDL_Keysym *sym, SDL_bool pressed, SDL_bool repeat) PrintKey(SDL_KeyboardEvent *event)
{ {
char message[512]; char message[512];
char *spot; char *spot;
@ -130,22 +130,22 @@ PrintKey(SDL_Keysym *sym, SDL_bool pressed, SDL_bool repeat)
left = sizeof(message); left = sizeof(message);
/* Print the keycode, name and state */ /* Print the keycode, name and state */
if (sym->sym) { if (event->key) {
print_string(&spot, &left, print_string(&spot, &left,
"Key %s: scancode %d = %s, keycode 0x%08X = %s ", "Key %s: scancode %d = %s, keycode 0x%08X = %s ",
pressed ? "pressed " : "released", event->state ? "pressed " : "released",
sym->scancode, event->scancode,
SDL_GetScancodeName(sym->scancode), SDL_GetScancodeName(event->scancode),
sym->sym, SDL_GetKeyName(sym->sym)); event->key, SDL_GetKeyName(event->key));
} else { } else {
print_string(&spot, &left, print_string(&spot, &left,
"Unknown Key (scancode %d = %s) %s ", "Unknown Key (scancode %d = %s) %s ",
sym->scancode, event->scancode,
SDL_GetScancodeName(sym->scancode), SDL_GetScancodeName(event->scancode),
pressed ? "pressed " : "released"); event->state ? "pressed " : "released");
} }
print_modifiers(&spot, &left); print_modifiers(&spot, &left);
if (repeat) { if (event->repeat) {
print_string(&spot, &left, " (repeat)"); print_string(&spot, &left, " (repeat)");
} }
SDL_Log("%s\n", message); SDL_Log("%s\n", message);
@ -177,7 +177,7 @@ static void loop(void)
switch (event.type) { switch (event.type) {
case SDL_EVENT_KEY_DOWN: case SDL_EVENT_KEY_DOWN:
case SDL_EVENT_KEY_UP: case SDL_EVENT_KEY_UP:
PrintKey(&event.key.keysym, (event.key.state == SDL_PRESSED), (event.key.repeat > 0)); PrintKey(&event.key);
break; break;
case SDL_EVENT_TEXT_EDITING: case SDL_EVENT_TEXT_EDITING:
PrintText("EDIT", event.text.text); PrintText("EDIT", event.text.text);
@ -221,11 +221,11 @@ static int SDLCALL ping_thread(void *ptr)
{ {
int cnt; int cnt;
SDL_Event sdlevent; SDL_Event sdlevent;
SDL_memset(&sdlevent, 0, sizeof(SDL_Event)); SDL_zero(sdlevent);
for (cnt = 0; cnt < 10; ++cnt) { for (cnt = 0; cnt < 10; ++cnt) {
SDL_Log("sending event (%d/%d) from thread.\n", cnt + 1, 10); SDL_Log("sending event (%d/%d) from thread.\n", cnt + 1, 10);
sdlevent.type = SDL_EVENT_KEY_DOWN; sdlevent.type = SDL_EVENT_KEY_DOWN;
sdlevent.key.keysym.sym = SDLK_1; sdlevent.key.key = SDLK_1;
SDL_PushEvent(&sdlevent); SDL_PushEvent(&sdlevent);
SDL_Delay(1000 + SDL_rand_n(1000)); SDL_Delay(1000 + SDL_rand_n(1000));
} }

View file

@ -1185,8 +1185,8 @@ int SDL_AppEvent(void *appstate, const SDL_Event *event)
case SDL_EVENT_KEY_DOWN: case SDL_EVENT_KEY_DOWN:
case SDL_EVENT_KEY_UP: case SDL_EVENT_KEY_UP:
ctrl_held = ((event->key.keysym.mod & SDL_KMOD_CTRL) != 0); ctrl_held = ((event->key.mod & SDL_KMOD_CTRL) != 0);
alt_held = ((event->key.keysym.mod & SDL_KMOD_ALT) != 0); alt_held = ((event->key.mod & SDL_KMOD_ALT) != 0);
break; break;
case SDL_EVENT_DROP_FILE: case SDL_EVENT_DROP_FILE:

View file

@ -65,7 +65,7 @@ static void iteration(void)
if (e.type == SDL_EVENT_QUIT) { if (e.type == SDL_EVENT_QUIT) {
done = 1; done = 1;
} else if (e.type == SDL_EVENT_KEY_UP) { } else if (e.type == SDL_EVENT_KEY_UP) {
if (e.key.keysym.sym == SDLK_ESCAPE) { if (e.key.key == SDLK_ESCAPE) {
done = 1; done = 1;
} }
} else if (e.type == SDL_EVENT_AUDIO_DEVICE_ADDED) { } else if (e.type == SDL_EVENT_AUDIO_DEVICE_ADDED) {

View file

@ -149,7 +149,7 @@ int SDL_AppEvent(void *appstate, const SDL_Event *event)
if (event->type == SDL_EVENT_QUIT) { if (event->type == SDL_EVENT_QUIT) {
return SDL_APP_SUCCESS; return SDL_APP_SUCCESS;
} else if (event->type == SDL_EVENT_KEY_DOWN) { } else if (event->type == SDL_EVENT_KEY_DOWN) {
if (event->key.keysym.sym == SDLK_ESCAPE) { if (event->key.key == SDLK_ESCAPE) {
return SDL_APP_SUCCESS; return SDL_APP_SUCCESS;
} }
} else if (event->type == SDL_EVENT_MOUSE_BUTTON_DOWN) { } else if (event->type == SDL_EVENT_MOUSE_BUTTON_DOWN) {

View file

@ -218,7 +218,7 @@ static void loop(void)
} }
#endif #endif
if (e.type == SDL_EVENT_KEY_DOWN) { if (e.type == SDL_EVENT_KEY_DOWN) {
SDL_Keycode sym = e.key.keysym.sym; SDL_Keycode sym = e.key.key;
if (sym == SDLK_q) { if (sym == SDLK_q) {
if (SDL_AudioDevicePaused(state->audio_id)) { if (SDL_AudioDevicePaused(state->audio_id)) {
SDL_ResumeAudioDevice(state->audio_id); SDL_ResumeAudioDevice(state->audio_id);
@ -236,8 +236,8 @@ static void loop(void)
queue_audio(); queue_audio();
} else if (sym == SDLK_d) { } else if (sym == SDLK_d) {
float amount = 1.0f; float amount = 1.0f;
amount *= (e.key.keysym.mod & SDL_KMOD_CTRL) ? 10.0f : 1.0f; amount *= (e.key.mod & SDL_KMOD_CTRL) ? 10.0f : 1.0f;
amount *= (e.key.keysym.mod & SDL_KMOD_SHIFT) ? 10.0f : 1.0f; amount *= (e.key.mod & SDL_KMOD_SHIFT) ? 10.0f : 1.0f;
skip_audio(amount); skip_audio(amount);
} }
} }

View file

@ -198,7 +198,7 @@ int SDL_AppEvent(void *appstate, const SDL_Event *event)
{ {
switch (event->type) { switch (event->type) {
case SDL_EVENT_KEY_DOWN: { case SDL_EVENT_KEY_DOWN: {
const SDL_Keycode sym = event->key.keysym.sym; const SDL_Keycode sym = event->key.key;
if (sym == SDLK_ESCAPE || sym == SDLK_AC_BACK) { if (sym == SDLK_ESCAPE || sym == SDLK_AC_BACK) {
SDL_Log("Key : Escape!"); SDL_Log("Key : Escape!");
return SDL_APP_SUCCESS; return SDL_APP_SUCCESS;

View file

@ -503,7 +503,7 @@ static void loop(void)
/* Check for events */ /* Check for events */
while (SDL_PollEvent(&event)) { while (SDL_PollEvent(&event)) {
if (event.type == SDL_EVENT_KEY_DOWN) { if (event.type == SDL_EVENT_KEY_DOWN) {
switch (event.key.keysym.sym) { switch (event.key.key) {
case SDLK_ESCAPE: case SDLK_ESCAPE:
done = 1; done = 1;
break; break;

View file

@ -1846,37 +1846,37 @@ static void loop(void *arg)
case SDL_EVENT_KEY_DOWN: case SDL_EVENT_KEY_DOWN:
if (display_mode == CONTROLLER_MODE_TESTING) { if (display_mode == CONTROLLER_MODE_TESTING) {
if (event.key.keysym.sym >= SDLK_0 && event.key.keysym.sym <= SDLK_9) { if (event.key.key >= SDLK_0 && event.key.key <= SDLK_9) {
if (controller && controller->gamepad) { if (controller && controller->gamepad) {
int player_index = (event.key.keysym.sym - SDLK_0); int player_index = (event.key.key - SDLK_0);
SDL_SetGamepadPlayerIndex(controller->gamepad, player_index); SDL_SetGamepadPlayerIndex(controller->gamepad, player_index);
} }
break; break;
} else if (event.key.keysym.sym == SDLK_a) { } else if (event.key.key == SDLK_a) {
OpenVirtualGamepad(); OpenVirtualGamepad();
} else if (event.key.keysym.sym == SDLK_d) { } else if (event.key.key == SDLK_d) {
CloseVirtualGamepad(); CloseVirtualGamepad();
} else if (event.key.keysym.sym == SDLK_r && (event.key.keysym.mod & SDL_KMOD_CTRL)) { } else if (event.key.key == SDLK_r && (event.key.mod & SDL_KMOD_CTRL)) {
SDL_ReloadGamepadMappings(); SDL_ReloadGamepadMappings();
} else if (event.key.keysym.sym == SDLK_ESCAPE) { } else if (event.key.key == SDLK_ESCAPE) {
done = SDL_TRUE; done = SDL_TRUE;
} }
} else if (display_mode == CONTROLLER_MODE_BINDING) { } else if (display_mode == CONTROLLER_MODE_BINDING) {
if (event.key.keysym.sym == SDLK_c && (event.key.keysym.mod & SDL_KMOD_CTRL)) { if (event.key.key == SDLK_c && (event.key.mod & SDL_KMOD_CTRL)) {
if (binding_element == SDL_GAMEPAD_ELEMENT_NAME) { if (binding_element == SDL_GAMEPAD_ELEMENT_NAME) {
CopyControllerName(); CopyControllerName();
} else { } else {
CopyMapping(); CopyMapping();
} }
} else if (event.key.keysym.sym == SDLK_v && (event.key.keysym.mod & SDL_KMOD_CTRL)) { } else if (event.key.key == SDLK_v && (event.key.mod & SDL_KMOD_CTRL)) {
if (binding_element == SDL_GAMEPAD_ELEMENT_NAME) { if (binding_element == SDL_GAMEPAD_ELEMENT_NAME) {
ClearControllerName(); ClearControllerName();
PasteControllerName(); PasteControllerName();
} else { } else {
PasteMapping(); PasteMapping();
} }
} else if (event.key.keysym.sym == SDLK_x && (event.key.keysym.mod & SDL_KMOD_CTRL)) { } else if (event.key.key == SDLK_x && (event.key.mod & SDL_KMOD_CTRL)) {
if (binding_element == SDL_GAMEPAD_ELEMENT_NAME) { if (binding_element == SDL_GAMEPAD_ELEMENT_NAME) {
CopyControllerName(); CopyControllerName();
ClearControllerName(); ClearControllerName();
@ -1884,19 +1884,19 @@ static void loop(void *arg)
CopyMapping(); CopyMapping();
ClearMapping(); ClearMapping();
} }
} else if (event.key.keysym.sym == SDLK_SPACE) { } else if (event.key.key == SDLK_SPACE) {
if (binding_element != SDL_GAMEPAD_ELEMENT_NAME) { if (binding_element != SDL_GAMEPAD_ELEMENT_NAME) {
ClearBinding(); ClearBinding();
} }
} else if (event.key.keysym.sym == SDLK_BACKSPACE) { } else if (event.key.key == SDLK_BACKSPACE) {
if (binding_element == SDL_GAMEPAD_ELEMENT_NAME) { if (binding_element == SDL_GAMEPAD_ELEMENT_NAME) {
BackspaceControllerName(); BackspaceControllerName();
} }
} else if (event.key.keysym.sym == SDLK_RETURN) { } else if (event.key.key == SDLK_RETURN) {
if (binding_element == SDL_GAMEPAD_ELEMENT_NAME) { if (binding_element == SDL_GAMEPAD_ELEMENT_NAME) {
StopBinding(); StopBinding();
} }
} else if (event.key.keysym.sym == SDLK_ESCAPE) { } else if (event.key.key == SDLK_ESCAPE) {
if (binding_element != SDL_GAMEPAD_ELEMENT_INVALID) { if (binding_element != SDL_GAMEPAD_ELEMENT_INVALID) {
StopBinding(); StopBinding();
} else { } else {

View file

@ -85,7 +85,7 @@ static void loop(void)
return; return;
} }
if ((e.type == SDL_EVENT_KEY_DOWN) && (e.key.keysym.sym == SDLK_ESCAPE)) { if ((e.type == SDL_EVENT_KEY_DOWN) && (e.key.key == SDLK_ESCAPE)) {
done = 1; done = 1;
#ifdef SDL_PLATFORM_EMSCRIPTEN #ifdef SDL_PLATFORM_EMSCRIPTEN
emscripten_cancel_main_loop(); emscripten_cancel_main_loop();

View file

@ -1509,7 +1509,7 @@ int main(int argc, char *argv[])
/* Check for events */ /* Check for events */
while (SDL_PollEvent(&event)) { while (SDL_PollEvent(&event)) {
if (event.type == SDL_EVENT_QUIT || if (event.type == SDL_EVENT_QUIT ||
(event.type == SDL_EVENT_KEY_DOWN && event.key.keysym.sym == SDLK_ESCAPE)) { (event.type == SDL_EVENT_KEY_DOWN && event.key.key == SDLK_ESCAPE)) {
done = 1; done = 1;
} }
} }

View file

@ -95,13 +95,13 @@ static void loop(void)
} }
} }
} else if (event.type == SDL_EVENT_KEY_DOWN) { } else if (event.type == SDL_EVENT_KEY_DOWN) {
if (event.key.keysym.sym == SDLK_LEFT) { if (event.key.key == SDLK_LEFT) {
translate_cx -= 1; translate_cx -= 1;
} else if (event.key.keysym.sym == SDLK_RIGHT) { } else if (event.key.key == SDLK_RIGHT) {
translate_cx += 1; translate_cx += 1;
} else if (event.key.keysym.sym == SDLK_UP) { } else if (event.key.key == SDLK_UP) {
translate_cy -= 1; translate_cy -= 1;
} else if (event.key.keysym.sym == SDLK_DOWN) { } else if (event.key.key == SDLK_DOWN) {
translate_cy += 1; translate_cy += 1;
} else { } else {
SDLTest_CommonEvent(state, &event, &done); SDLTest_CommonEvent(state, &event, &done);

View file

@ -391,10 +391,10 @@ int main(int argc, char *argv[])
while (SDL_PollEvent(&event)) { while (SDL_PollEvent(&event)) {
SDLTest_CommonEvent(state, &event, &done); SDLTest_CommonEvent(state, &event, &done);
if (event.type == SDL_EVENT_KEY_DOWN) { if (event.type == SDL_EVENT_KEY_DOWN) {
if (event.key.keysym.sym == SDLK_o) { if (event.key.key == SDLK_o) {
swap_interval--; swap_interval--;
update_swap_interval = SDL_TRUE; update_swap_interval = SDL_TRUE;
} else if (event.key.keysym.sym == SDLK_p) { } else if (event.key.key == SDLK_p) {
swap_interval++; swap_interval++;
update_swap_interval = SDL_TRUE; update_swap_interval = SDL_TRUE;
} }

View file

@ -337,7 +337,7 @@ static void loop(void)
switch (event.type) { switch (event.type) {
case SDL_EVENT_KEY_DOWN: case SDL_EVENT_KEY_DOWN:
{ {
const int sym = event.key.keysym.sym; const int sym = event.key.key;
if (sym == SDLK_TAB) { if (sym == SDLK_TAB) {
SDL_Log("Tab"); SDL_Log("Tab");

View file

@ -137,9 +137,9 @@ int main(int argc, char **argv)
break; break;
case SDL_EVENT_KEY_DOWN: case SDL_EVENT_KEY_DOWN:
if (e.key.keysym.sym == SDLK_ESCAPE) { if (e.key.key == SDLK_ESCAPE) {
done = 1; done = 1;
} else if (e.key.keysym.sym == SDLK_x) { } else if (e.key.key == SDLK_x) {
if (!areas) { if (!areas) {
areas = drag_areas; areas = drag_areas;
numareas = SDL_arraysize(drag_areas); numareas = SDL_arraysize(drag_areas);

View file

@ -699,7 +699,7 @@ int main(int argc, char *argv[])
SDLTest_CommonEvent(state, &event, &done); SDLTest_CommonEvent(state, &event, &done);
switch (event.type) { switch (event.type) {
case SDL_EVENT_KEY_DOWN: case SDL_EVENT_KEY_DOWN:
switch (event.key.keysym.sym) { switch (event.key.key) {
case SDLK_RETURN: case SDLK_RETURN:
text[0] = 0x00; text[0] = 0x00;
Redraw(); Redraw();
@ -742,10 +742,10 @@ int main(int argc, char *argv[])
} }
SDL_Log("Keyboard: scancode 0x%08X = %s, keycode 0x%08" SDL_PRIX32 " = %s\n", SDL_Log("Keyboard: scancode 0x%08X = %s, keycode 0x%08" SDL_PRIX32 " = %s\n",
event.key.keysym.scancode, event.key.scancode,
SDL_GetScancodeName(event.key.keysym.scancode), SDL_GetScancodeName(event.key.scancode),
SDL_static_cast(Uint32, event.key.keysym.sym), SDL_static_cast(Uint32, event.key.key),
SDL_GetKeyName(event.key.keysym.sym)); SDL_GetKeyName(event.key.key));
break; break;
case SDL_EVENT_TEXT_INPUT: case SDL_EVENT_TEXT_INPUT:

View file

@ -225,9 +225,9 @@ static void loop(void *arg)
} }
break; break;
case SDL_EVENT_KEY_DOWN: case SDL_EVENT_KEY_DOWN:
switch (event.key.keysym.sym) { switch (event.key.key) {
case 'l': case 'l':
if (event.key.keysym.mod & SDL_KMOD_SHIFT) { if (event.key.mod & SDL_KMOD_SHIFT) {
num_lines = 0; num_lines = 0;
} else { } else {
add_line( add_line(
@ -238,7 +238,7 @@ static void loop(void *arg)
} }
break; break;
case 'r': case 'r':
if (event.key.keysym.mod & SDL_KMOD_SHIFT) { if (event.key.mod & SDL_KMOD_SHIFT) {
num_rects = 0; num_rects = 0;
} else { } else {
add_rect( add_rect(

View file

@ -391,7 +391,7 @@ static void HandleKeyboardKeyDown(SDL_KeyboardEvent *event)
continue; continue;
} }
if (event->which == keyboard_state->instance_id) { if (event->which == keyboard_state->instance_id) {
switch (event->keysym.sym) { switch (event->key) {
case SDLK_LEFT: case SDLK_LEFT:
keyboard_state->position.x -= CURSOR_SIZE; keyboard_state->position.x -= CURSOR_SIZE;
if (keyboard_state->position.x < 0.0f) { if (keyboard_state->position.x < 0.0f) {

View file

@ -91,25 +91,25 @@ int main(int argc, char *argv[])
w1 = NULL; w1 = NULL;
} }
} else if (e.type == SDL_EVENT_KEY_DOWN) { } else if (e.type == SDL_EVENT_KEY_DOWN) {
if ((e.key.keysym.sym == SDLK_m || e.key.keysym.sym == SDLK_n) && !w2) { if ((e.key.key == SDLK_m || e.key.key == SDLK_n) && !w2) {
if (SDL_CreateWindowAndRenderer("Non-Modal Window", 320, 200, SDL_WINDOW_HIDDEN, &w2, &r2) < 0) { if (SDL_CreateWindowAndRenderer("Non-Modal Window", 320, 200, SDL_WINDOW_HIDDEN, &w2, &r2) < 0) {
SDL_Log("Failed to create modal window and/or renderer: %s\n", SDL_GetError()); SDL_Log("Failed to create modal window and/or renderer: %s\n", SDL_GetError());
exit_code = 1; exit_code = 1;
goto sdl_quit; goto sdl_quit;
} }
if (e.key.keysym.sym == SDLK_m) { if (e.key.key == SDLK_m) {
if (!SDL_SetWindowModalFor(w2, w1)) { if (!SDL_SetWindowModalFor(w2, w1)) {
SDL_SetWindowTitle(w2, "Modal Window"); SDL_SetWindowTitle(w2, "Modal Window");
} }
} }
SDL_ShowWindow(w2); SDL_ShowWindow(w2);
} else if (e.key.keysym.sym == SDLK_ESCAPE && w2) { } else if (e.key.key == SDLK_ESCAPE && w2) {
SDL_DestroyWindow(w2); SDL_DestroyWindow(w2);
r2 = NULL; r2 = NULL;
w2 = NULL; w2 = NULL;
} else if (e.key.keysym.sym == SDLK_h) { } else if (e.key.key == SDLK_h) {
if (e.key.keysym.mod & SDL_KMOD_CTRL) { if (e.key.mod & SDL_KMOD_CTRL) {
/* Hide the parent, which should hide the modal too. */ /* Hide the parent, which should hide the modal too. */
show_deadline = SDL_GetTicksNS() + SDL_SECONDS_TO_NS(3); show_deadline = SDL_GetTicksNS() + SDL_SECONDS_TO_NS(3);
SDL_HideWindow(w1); SDL_HideWindow(w1);
@ -121,7 +121,7 @@ int main(int argc, char *argv[])
SDL_HideWindow(w2); SDL_HideWindow(w2);
} }
} }
} else if (e.key.keysym.sym == SDLK_p && w2) { } else if (e.key.key == SDLK_p && w2) {
if (SDL_GetWindowFlags(w2) & SDL_WINDOW_MODAL) { if (SDL_GetWindowFlags(w2) & SDL_WINDOW_MODAL) {
/* Unparent the window */ /* Unparent the window */
if (!SDL_SetWindowModalFor(w2, NULL)) { if (!SDL_SetWindowModalFor(w2, NULL)) {

View file

@ -211,14 +211,14 @@ static void loop(void *arg)
break; break;
case SDL_EVENT_KEY_DOWN: case SDL_EVENT_KEY_DOWN:
if (event.key.keysym.sym == SDLK_c) { if (event.key.key == SDLK_c) {
int x, y, w, h; int x, y, w, h;
SDL_GetWindowPosition(window, &x, &y); SDL_GetWindowPosition(window, &x, &y);
SDL_GetWindowSize(window, &w, &h); SDL_GetWindowSize(window, &w, &h);
w /= 2; w /= 2;
h /= 2; h /= 2;
if (event.key.keysym.mod & SDL_KMOD_ALT) { if (event.key.mod & SDL_KMOD_ALT) {
SDL_WarpMouseGlobal((float)(x + w), (float)(y + h)); SDL_WarpMouseGlobal((float)(x + w), (float)(y + h));
} else { } else {
SDL_WarpMouseInWindow(window, (float)w, (float)h); SDL_WarpMouseInWindow(window, (float)w, (float)h);
@ -226,7 +226,7 @@ static void loop(void *arg)
} }
SDL_FALLTHROUGH; SDL_FALLTHROUGH;
case SDL_EVENT_KEY_UP: case SDL_EVENT_KEY_UP:
switch (event.key.keysym.sym) { switch (event.key.key) {
case SDLK_LSHIFT: case SDLK_LSHIFT:
isRect = (event.key.state == SDL_PRESSED); isRect = (event.key.state == SDL_PRESSED);
if (active) { if (active) {

View file

@ -275,11 +275,11 @@ static void loop(void)
} }
break; break;
case SDL_EVENT_KEY_DOWN: case SDL_EVENT_KEY_DOWN:
if (event.key.keysym.sym == SDLK_SPACE) { if (event.key.key == SDLK_SPACE) {
paused = !paused; paused = !paused;
break; break;
} }
if (event.key.keysym.sym != SDLK_ESCAPE) { if (event.key.key != SDLK_ESCAPE) {
break; break;
} }
break; break;

View file

@ -171,7 +171,7 @@ static void loop(void)
} }
} }
} else if (event.type == SDL_EVENT_KEY_DOWN) { } else if (event.type == SDL_EVENT_KEY_DOWN) {
if (event.key.keysym.sym == SDLK_SPACE) { if (event.key.key == SDLK_SPACE) {
for (i = 0; i < num_menus; ++i) { for (i = 0; i < num_menus; ++i) {
if (SDL_GetWindowFlags(menus[i].win) & SDL_WINDOW_HIDDEN) { if (SDL_GetWindowFlags(menus[i].win) & SDL_WINDOW_HIDDEN) {
SDL_ShowWindow(menus[i].win); SDL_ShowWindow(menus[i].win);

View file

@ -532,10 +532,10 @@ int main(int argc, char **argv)
done = 1; done = 1;
} }
if (event.type == SDL_EVENT_KEY_DOWN) { if (event.type == SDL_EVENT_KEY_DOWN) {
if (event.key.keysym.sym == SDLK_SPACE) { if (event.key.key == SDLK_SPACE) {
current_shader = (current_shader + 1) % NUM_SHADERS; current_shader = (current_shader + 1) % NUM_SHADERS;
} }
if (event.key.keysym.sym == SDLK_ESCAPE) { if (event.key.key == SDLK_ESCAPE) {
done = 1; done = 1;
} }
} }

View file

@ -111,7 +111,7 @@ int main(int argc, char *argv[])
while (SDL_PollEvent(&event)) { while (SDL_PollEvent(&event)) {
switch (event.type) { switch (event.type) {
case SDL_EVENT_KEY_DOWN: case SDL_EVENT_KEY_DOWN:
if (event.key.keysym.sym == SDLK_ESCAPE) { if (event.key.key == SDLK_ESCAPE) {
done = SDL_TRUE; done = SDL_TRUE;
} }
break; break;

View file

@ -107,7 +107,7 @@ static void loop(void)
while (SDL_PollEvent(&event)) { while (SDL_PollEvent(&event)) {
switch (event.type) { switch (event.type) {
case SDL_EVENT_KEY_DOWN: case SDL_EVENT_KEY_DOWN:
if (event.key.keysym.sym == SDLK_ESCAPE) { if (event.key.key == SDLK_ESCAPE) {
done = SDL_TRUE; done = SDL_TRUE;
} }
break; break;

View file

@ -176,7 +176,7 @@ int main(int argc, char *argv[])
while (SDL_PollEvent(&event)) { while (SDL_PollEvent(&event)) {
SDLTest_CommonEvent(state, &event, &done); SDLTest_CommonEvent(state, &event, &done);
if (event.type == SDL_EVENT_KEY_DOWN) { if (event.type == SDL_EVENT_KEY_DOWN) {
switch (event.key.keysym.sym) { switch (event.key.key) {
case SDLK_UP: case SDLK_UP:
if (++cal_month > 12) { if (++cal_month > 12) {
cal_month = 1; cal_month = 1;

View file

@ -260,13 +260,13 @@ int main(int argc, char **argv)
SDL_Event event; SDL_Event event;
while (SDL_PollEvent(&event)) { while (SDL_PollEvent(&event)) {
if (event.type == SDL_EVENT_KEY_DOWN) { if (event.type == SDL_EVENT_KEY_DOWN) {
switch (event.key.keysym.sym) { switch (event.key.key) {
case SDLK_ESCAPE: case SDLK_ESCAPE:
done = 1; done = 1;
break; break;
case SDLK_EQUALS: case SDLK_EQUALS:
/* Ctrl+ enlarges the window */ /* Ctrl+ enlarges the window */
if (event.key.keysym.mod & SDL_KMOD_CTRL) { if (event.key.mod & SDL_KMOD_CTRL) {
int w, h; int w, h;
SDL_GetWindowSize(window, &w, &h); SDL_GetWindowSize(window, &w, &h);
SDL_SetWindowSize(window, w * 2, h * 2); SDL_SetWindowSize(window, w * 2, h * 2);
@ -274,7 +274,7 @@ int main(int argc, char **argv)
break; break;
case SDLK_MINUS: case SDLK_MINUS:
/* Ctrl- shrinks the window */ /* Ctrl- shrinks the window */
if (event.key.keysym.mod & SDL_KMOD_CTRL) { if (event.key.mod & SDL_KMOD_CTRL) {
int w, h; int w, h;
SDL_GetWindowSize(window, &w, &h); SDL_GetWindowSize(window, &w, &h);
SDL_SetWindowSize(window, w / 2, h / 2); SDL_SetWindowSize(window, w / 2, h / 2);

View file

@ -189,15 +189,15 @@ static void loop(void)
if (event.type == SDL_EVENT_KEY_UP) { if (event.type == SDL_EVENT_KEY_UP) {
SDL_bool updateCursor = SDL_FALSE; SDL_bool updateCursor = SDL_FALSE;
if (event.key.keysym.sym == SDLK_a) { if (event.key.key == SDLK_a) {
SDL_assert(!"Keyboard generated assert"); SDL_assert(!"Keyboard generated assert");
} else if (event.key.keysym.sym == SDLK_LEFT) { } else if (event.key.key == SDLK_LEFT) {
--system_cursor; --system_cursor;
if (system_cursor < 0) { if (system_cursor < 0) {
system_cursor = SDL_NUM_SYSTEM_CURSORS - 1; system_cursor = SDL_NUM_SYSTEM_CURSORS - 1;
} }
updateCursor = SDL_TRUE; updateCursor = SDL_TRUE;
} else if (event.key.keysym.sym == SDLK_RIGHT) { } else if (event.key.key == SDLK_RIGHT) {
++system_cursor; ++system_cursor;
if (system_cursor >= SDL_NUM_SYSTEM_CURSORS) { if (system_cursor >= SDL_NUM_SYSTEM_CURSORS) {
system_cursor = 0; system_cursor = 0;

View file

@ -507,11 +507,11 @@ int main(int argc, char **argv)
done = 1; done = 1;
} }
if (event.type == SDL_EVENT_KEY_DOWN) { if (event.type == SDL_EVENT_KEY_DOWN) {
if (event.key.keysym.sym == SDLK_ESCAPE) { if (event.key.key == SDLK_ESCAPE) {
done = 1; done = 1;
} else if (event.key.keysym.sym == SDLK_LEFT) { } else if (event.key.key == SDLK_LEFT) {
--current; --current;
} else if (event.key.keysym.sym == SDLK_RIGHT) { } else if (event.key.key == SDLK_RIGHT) {
++current; ++current;
} }
} }