From 0dd579d40d0a2940ad1c3e2e846c99c1c5bb4587 Mon Sep 17 00:00:00 2001
From: Sam Lantinga <[EMAIL REDACTED]>
Date: Fri, 21 Jun 2024 19:50:10 -0700
Subject: [PATCH] Removed SDL_Keysym
---
docs/README-migration.md | 18 ++++++++++++++++
include/SDL3/SDL_events.h | 19 +++++++++--------
include/SDL3/SDL_keyboard.h | 19 -----------------
src/events/SDL_events.c | 16 +++++++-------
src/events/SDL_keyboard.c | 8 +++----
src/test/SDL_test_common.c | 28 ++++++++++++-------------
test/checkkeys.c | 30 +++++++++++++--------------
test/checkkeysthreads.c | 26 +++++++++++------------
test/testaudio.c | 4 ++--
test/testaudiohotplug.c | 2 +-
test/testaudiorecording.c | 2 +-
test/testaudiostreamdynamicresample.c | 6 +++---
test/testcamera.c | 2 +-
test/testcolorspace.c | 2 +-
test/testcontroller.c | 26 +++++++++++------------
test/testdrawchessboard.c | 2 +-
test/testffmpeg.c | 2 +-
test/testgeometry.c | 8 +++----
test/testgl.c | 4 ++--
test/testgles2_sdf.c | 2 +-
test/testhittesting.c | 4 ++--
test/testime.c | 10 ++++-----
test/testintersections.c | 6 +++---
test/testmanymouse.c | 2 +-
test/testmodal.c | 12 +++++------
test/testmouse.c | 6 +++---
test/testoverlay.c | 4 ++--
test/testpopup.c | 2 +-
test/testshader.c | 4 ++--
test/testshape.c | 2 +-
test/teststreaming.c | 2 +-
test/testtime.c | 2 +-
test/testwaylandcustom.c | 6 +++---
test/testwm.c | 6 +++---
test/testyuv.c | 6 +++---
35 files changed, 150 insertions(+), 150 deletions(-)
diff --git a/docs/README-migration.md b/docs/README-migration.md
index 6420dacd6cc18..58e14fd546bb5 100644
--- a/docs/README-migration.md
+++ b/docs/README-migration.md
@@ -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 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 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:
* SDL_IsTextInputShown()
+The following structures have been removed:
+* SDL_Keysym
+
## 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.
diff --git a/include/SDL3/SDL_events.h b/include/SDL3/SDL_events.h
index 6fe1c77ec27be..fdde915a0e68a 100644
--- a/include/SDL3/SDL_events.h
+++ b/include/SDL3/SDL_events.h
@@ -301,16 +301,17 @@ typedef struct SDL_KeyboardDeviceEvent
*/
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;
- Uint64 timestamp; /**< In nanoseconds, populated using SDL_GetTicksNS() */
- SDL_WindowID windowID; /**< The window with keyboard focus, if any */
- SDL_KeyboardID which; /**< The keyboard instance id, or 0 if unknown or virtual */
- 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 */
+ Uint64 timestamp; /**< In nanoseconds, populated using SDL_GetTicksNS() */
+ SDL_WindowID windowID; /**< The window with keyboard focus, if any */
+ SDL_KeyboardID which; /**< The keyboard instance id, or 0 if unknown or virtual */
+ SDL_Scancode scancode; /**< SDL physical key code */
+ SDL_Keycode key; /**< SDL virtual key code */
+ SDL_Keymod mod; /**< current key modifiers */
+ Uint16 raw; /**< The platform dependent scancode for this event */
+ Uint8 state; /**< SDL_PRESSED or SDL_RELEASED */
+ Uint8 repeat; /**< Non-zero if this is a key repeat */
} SDL_KeyboardEvent;
/**
diff --git a/include/SDL3/SDL_keyboard.h b/include/SDL3/SDL_keyboard.h
index 9e17a5d175f3f..971706f38b032 100644
--- a/include/SDL3/SDL_keyboard.h
+++ b/include/SDL3/SDL_keyboard.h
@@ -52,25 +52,6 @@ extern "C" {
*/
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 */
/**
diff --git a/src/events/SDL_events.c b/src/events/SDL_events.c
index 63f140d1345bb..9b28b87a8d633 100644
--- a/src/events/SDL_events.c
+++ b/src/events/SDL_events.c
@@ -338,14 +338,14 @@ static void SDL_LogEvent(const SDL_Event *event)
break;
#undef PRINT_KEYDEV_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)", \
- (uint)event->key.timestamp, (uint)event->key.windowID, (uint)event->key.which, \
- event->key.state == SDL_PRESSED ? "pressed" : "released", \
- event->key.repeat ? "true" : "false", \
- (uint)event->key.keysym.scancode, \
- (uint)event->key.keysym.sym, \
- (uint)event->key.keysym.mod)
+#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=0x%x)", \
+ (uint)event->key.timestamp, (uint)event->key.windowID, (uint)event->key.which, \
+ event->key.state == SDL_PRESSED ? "pressed" : "released", \
+ event->key.repeat ? "true" : "false", \
+ (uint)event->key.scancode, \
+ (uint)event->key.key, \
+ (uint)event->key.mod)
SDL_EVENT_CASE(SDL_EVENT_KEY_DOWN)
PRINT_KEY_EVENT(event);
break;
diff --git a/src/events/SDL_keyboard.c b/src/events/SDL_keyboard.c
index 2bfc2cda7e10e..ecbfaa107a935 100644
--- a/src/events/SDL_keyboard.c
+++ b/src/events/SDL_keyboard.c
@@ -399,12 +399,12 @@ static int SDL_SendKeyboardKeyInternal(Uint64 timestamp, Uint32 flags, SDL_Keybo
SDL_Event event;
event.type = type;
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.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.which = keyboardID;
posted = (SDL_PushEvent(&event) > 0);
diff --git a/src/test/SDL_test_common.c b/src/test/SDL_test_common.c
index e3b44258aaf1b..e37b5d8f10176 100644
--- a/src/test/SDL_test_common.c
+++ b/src/test/SDL_test_common.c
@@ -1676,9 +1676,9 @@ static void SDLTest_PrintEvent(const SDL_Event *event)
case SDL_EVENT_KEY_DOWN:
case SDL_EVENT_KEY_UP: {
char modstr[64];
- if (event->key.keysym.mod) {
+ if (event->key.mod) {
modstr[0] = '\0';
- SDLTest_PrintModState(modstr, sizeof (modstr), event->key.keysym.mod);
+ SDLTest_PrintModState(modstr, sizeof (modstr), event->key.mod);
} else {
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",
(event->type == SDL_EVENT_KEY_DOWN) ? "pressed" : "released",
event->key.windowID,
- event->key.keysym.scancode,
- SDL_GetScancodeName(event->key.keysym.scancode),
- event->key.keysym.sym, SDL_GetKeyName(event->key.keysym.sym),
+ event->key.scancode,
+ SDL_GetScancodeName(event->key.scancode),
+ event->key.key, SDL_GetKeyName(event->key.key),
modstr);
break;
}
@@ -2097,11 +2097,11 @@ int SDLTest_CommonEventMainCallbacks(SDLTest_CommonState *state, const SDL_Event
break;
case SDL_EVENT_KEY_DOWN:
{
- SDL_bool withControl = !!(event->key.keysym.mod & SDL_KMOD_CTRL);
- SDL_bool withShift = !!(event->key.keysym.mod & SDL_KMOD_SHIFT);
- SDL_bool withAlt = !!(event->key.keysym.mod & SDL_KMOD_ALT);
+ SDL_bool withControl = !!(event->key.mod & SDL_KMOD_CTRL);
+ SDL_bool withShift = !!(event->key.mod & SDL_KMOD_SHIFT);
+ SDL_bool withAlt = !!(event->key.mod & SDL_KMOD_ALT);
- switch (event->key.keysym.sym) {
+ switch (event->key.key) {
/* Add hotkeys here */
case SDLK_PRINTSCREEN:
{
@@ -2158,7 +2158,7 @@ int SDLTest_CommonEventMainCallbacks(SDLTest_CommonState *state, const SDL_Event
}
if (current_index >= 0) {
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];
} else {
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;
SDL_GetWindowPosition(window, &x, &y);
- if (event->key.keysym.sym == SDLK_UP) {
+ if (event->key.key == SDLK_UP) {
y -= delta;
}
- if (event->key.keysym.sym == SDLK_DOWN) {
+ if (event->key.key == SDLK_DOWN) {
y += delta;
}
- if (event->key.keysym.sym == SDLK_LEFT) {
+ if (event->key.key == SDLK_LEFT) {
x -= delta;
}
- if (event->key.keysym.sym == SDLK_RIGHT) {
+ if (event->key.key == SDLK_RIGHT) {
x += delta;
}
diff --git a/test/checkkeys.c b/test/checkkeys.c
index bf29a71b7bd31..d5e3ec229e3d7 100644
--- a/test/checkkeys.c
+++ b/test/checkkeys.c
@@ -159,7 +159,7 @@ static void PrintModifierState(void)
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 *spot;
@@ -169,24 +169,24 @@ static void PrintKey(SDL_Keysym *sym, SDL_bool pressed, SDL_bool repeat)
left = sizeof(message);
/* Print the keycode, name and state */
- if (sym->sym) {
+ if (event->key) {
print_string(&spot, &left,
"Key %s: raw 0x%.2x, scancode %d = %s, keycode 0x%08X = %s ",
- pressed ? "pressed " : "released",
- sym->raw,
- sym->scancode,
- sym->scancode == SDL_SCANCODE_UNKNOWN ? "UNKNOWN" : SDL_GetScancodeName(sym->scancode),
- sym->sym, SDL_GetKeyName(sym->sym));
+ event->state ? "pressed " : "released",
+ event->raw,
+ event->scancode,
+ event->scancode == SDL_SCANCODE_UNKNOWN ? "UNKNOWN" : SDL_GetScancodeName(event->scancode),
+ event->key, SDL_GetKeyName(event->key));
} else {
print_string(&spot, &left,
"Unknown Key (raw 0x%.2x, scancode %d = %s) %s ",
- sym->raw,
- sym->scancode,
- sym->scancode == SDL_SCANCODE_UNKNOWN ? "UNKNOWN" : SDL_GetScancodeName(sym->scancode),
- pressed ? "pressed " : "released");
+ event->raw,
+ event->scancode,
+ event->scancode == SDL_SCANCODE_UNKNOWN ? "UNKNOWN" : SDL_GetScancodeName(event->scancode),
+ event->state ? "pressed " : "released");
}
- print_modifiers(&spot, &left, sym->mod);
- if (repeat) {
+ print_modifiers(&spot, &left, event->mod);
+ if (event->repeat) {
print_string(&spot, &left, " (repeat)");
}
SDL_Log("%s\n", message);
@@ -229,9 +229,9 @@ static void loop(void)
switch (event.type) {
case SDL_EVENT_KEY_DOWN:
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) {
- switch (event.key.keysym.sym) {
+ switch (event.key.key) {
case SDLK_BACKSPACE:
SDLTest_TextWindowAddText(textwin, "\b");
break;
diff --git a/test/checkkeysthreads.c b/test/checkkeysthreads.c
index db17f9d9e7134..a596bdd0bba36 100644
--- a/test/checkkeysthreads.c
+++ b/test/checkkeysthreads.c
@@ -120,7 +120,7 @@ PrintModifierState(void)
}
static void
-PrintKey(SDL_Keysym *sym, SDL_bool pressed, SDL_bool repeat)
+PrintKey(SDL_KeyboardEvent *event)
{
char message[512];
char *spot;
@@ -130,22 +130,22 @@ PrintKey(SDL_Keysym *sym, SDL_bool pressed, SDL_bool repeat)
left = sizeof(message);
/* Print the keycode, name and state */
- if (sym->sym) {
+ if (event->key) {
print_string(&spot, &left,
"Key %s: scancode %d = %s, keycode 0x%08X = %s ",
- pressed ? "pressed " : "released",
- sym->scancode,
- SDL_GetScancodeName(sym->scancode),
- sym->sym, SDL_GetKeyName(sym->sym));
+ event->state ? "pressed " : "released",
+ event->scancode,
+ SDL_GetScancodeName(event->scancode),
+ event->key, SDL_GetKeyName(event->key));
} else {
print_string(&spot, &left,
"Unknown Key (scancode %d = %s) %s ",
- sym->scancode,
- SDL_GetScancodeName(sym->scancode),
- pressed ? "pressed " : "released");
+ event->scancode,
+ SDL_GetScancodeName(event->scancode),
+ event->state ? "pressed " : "released");
}
print_modifiers(&spot, &left);
- if (repeat) {
+ if (event->repeat) {
print_string(&spot, &left, " (repeat)");
}
SDL_Log("%s\n", message);
@@ -177,7 +177,7 @@ static void loop(void)
switch (event.type) {
case SDL_EVENT_KEY_DOWN:
case SDL_EVENT_KEY_UP:
- PrintKey(&event.key.keysym, (event.key.state == SDL_PRESSED), (event.key.repeat > 0));
+ PrintKey(&event.key);
break;
case SDL_EVENT_TEXT_EDITING:
PrintText("EDIT", event.text.text);
@@ -221,11 +221,11 @@ static int SDLCALL ping_thread(void *ptr)
{
int cnt;
SDL_Event sdlevent;
- SDL_memset(&sdlevent, 0, sizeof(SDL_Event));
+ SDL_zero(sdlevent);
for (cnt = 0; cnt < 10; ++cnt) {
SDL_Log("sending event (%d/%d) from thread.\n", cnt + 1, 10);
sdlevent.type = SDL_EVENT_KEY_DOWN;
- sdlevent.key.keysym.sym = SDLK_1;
+ sdlevent.key.key = SDLK_1;
SDL_PushEvent(&sdlevent);
SDL_Delay(1000 + SDL_rand_n(1000));
}
diff --git a/test/testaudio.c b/test/testaudio.c
index 7b80b2fba1bcc..c2951acafc518 100644
--- a/test/testaudio.c
+++ b/test/testaudio.c
@@ -1185,8 +1185,8 @@ int SDL_AppEvent(void *appstate, const SDL_Event *event)
case SDL_EVENT_KEY_DOWN:
case SDL_EVENT_KEY_UP:
- ctrl_held = ((event->key.keysym.mod & SDL_KMOD_CTRL) != 0);
- alt_held = ((event->key.keysym.mod & SDL_KMOD_ALT) != 0);
+ ctrl_held = ((event->key.mod & SDL_KMOD_CTRL) != 0);
+ alt_held = ((event->key.mod & SDL_KMOD_ALT) != 0);
break;
case SDL_EVENT_DROP_FILE:
diff --git a/test/testaudiohotplug.c b/test/testaudiohotplug.c
index 6c445529ac595..4e9b437dac68f 100644
--- a/test/testaudiohotplug.c
+++ b/test/testaudiohotplug.c
@@ -65,7 +65,7 @@ static void iteration(void)
if (e.type == SDL_EVENT_QUIT) {
done = 1;
} else if (e.type == SDL_EVENT_KEY_UP) {
- if (e.key.keysym.sym == SDLK_ESCAPE) {
+ if (e.key.key == SDLK_ESCAPE) {
done = 1;
}
} else if (e.type == SDL_EVENT_AUDIO_DEVICE_ADDED) {
diff --git a/test/testaudiorecording.c b/test/testaudiorecording.c
index 33ddd264d18d7..da7f3736d86ce 100644
--- a/test/testaudiorecording.c
+++ b/test/testaudiorecording.c
@@ -149,7 +149,7 @@ int SDL_AppEvent(void *appstate, const SDL_Event *event)
if (event->type == SDL_EVENT_QUIT) {
return SDL_APP_SUCCESS;
} 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;
}
} else if (event->type == SDL_EVENT_MOUSE_BUTTON_DOWN) {
diff --git a/test/testaudiostreamdynamicresample.c b/test/testaudiostreamdynamicresample.c
index 5a83bea76e7cb..c011e6712511d 100644
--- a/test/testaudiostreamdynamicresample.c
+++ b/test/testaudiostreamdynamicresample.c
@@ -218,7 +218,7 @@ static void loop(void)
}
#endif
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 (SDL_AudioDevicePaused(state->audio_id)) {
SDL_ResumeAudioDevice(state->audio_id);
@@ -236,8 +236,8 @@ static void loop(void)
queue_audio();
} else if (sym == SDLK_d) {
float amount = 1.0f;
- amount *= (e.key.keysym.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_CTRL) ? 10.0f : 1.0f;
+ amount *= (e.key.mod & SDL_KMOD_SHIFT) ? 10.0f : 1.0f;
skip_audio(amount);
}
}
diff --git a/test/testcamera.c b/test/testcamera.c
index 9e661064ae53b..e0b99925292d2 100644
--- a/test/testcamera.c
+++ b/test/testcamera.c
@@ -198,7 +198,7 @@ int SDL_AppEvent(void *appstate, const SDL_Event *event)
{
switch (event->type) {
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) {
SDL_Log("Key : Escape!");
return SDL_APP_SUCCESS;
diff --git a/test/testcolorspace.c b/test/testcolorspace.c
index 9b080b3144663..577b7d70d9a92 100644
--- a/test/testcolorspace.c
+++ b/test/testcolorspace.c
@@ -503,7 +503,7 @@ static void loop(void)
/* Check for events */
while (SDL_PollEvent(&event)) {
if (event.type == SDL_EVENT_KEY_DOWN) {
- switch (event.key.keysym.sym) {
+ switch (event.key.key) {
case SDLK_ESCAPE:
done = 1;
break;
diff --git a/test/testcontroller.c b/test/testcontroller.c
index 69a92940e6560..3b7f0c95276ae 100644
--- a/test/testcontroller.c
+++ b/test/testcontroller.c
@@ -1846,37 +1846,37 @@ static void loop(void *arg)
case SDL_EVENT_KEY_DOWN:
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) {
- int player_index = (event.key.keysym.sym - SDLK_0);
+ int player_index = (event.key.key - SDLK_0);
SDL_SetGamepadPlayerIndex(controller->gamepad, player_index);
}
break;
- } else if (event.key.keysym.sym == SDLK_a) {
+ } else if (event.key.key == SDLK_a) {
OpenVirtualGamepad();
- } else if (event.key.keysym.sym == SDLK_d) {
+ } else if (event.key.key == SDLK_d) {
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();
- } else if (event.key.keysym.sym == SDLK_ESCAPE) {
+ } else if (event.key.key == SDLK_ESCAPE) {
done = SDL_TRUE;
}
} 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) {
CopyControllerName();
} else {
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) {
ClearControllerName();
PasteControllerName();
} else {
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) {
CopyControllerName();
ClearControllerName();
@@ -1884,19 +1884,19 @@ static void loop(void *arg)
CopyMapping();
ClearMapping();
}
- } else if (event.key.keysym.sym == SDLK_SPACE) {
+ } else if (event.key.key == SDLK_SPACE) {
if (binding_element != SDL_GAMEPAD_ELEMENT_NAME) {
ClearBinding();
}
- } else if (event.key.keysym.sym == SDLK_BACKSPACE) {
+ } else if (event.key.key == SDLK_BACKSPACE) {
if (binding_element == SDL_GAMEPAD_ELEMENT_NAME) {
BackspaceControllerName();
}
- } else if (event.key.keysym.sym == SDLK_RETURN) {
+ } else if (event.key.key == SDLK_RETURN) {
if (binding_element == SDL_GAMEPAD_ELEMENT_NAME) {
StopBinding();
}
- } else if (event.key.keysym.sym == SDLK_ESCAPE) {
+ } else if (event.key.key == SDLK_ESCAPE) {
if (binding_element != SDL_GAMEPAD_ELEMENT_INVALID) {
StopBinding();
} else {
diff --git a/test/testdrawchessboard.c b/test/testdrawchessboard.c
index 45f37a468ff03..52c1ec23d19c0 100644
--- a/test/testdrawchessboard.c
+++ b/test/testdrawchessboard.c
@@ -85,7 +85,7 @@ static void loop(void)
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;
#ifdef SDL_PLATFORM_EMSCRIPTEN
emscripten_cancel_main_loop();
diff --git a/test/testffmpeg.c b/test/testffmpeg.c
index 6bb30186b9d89..1f717d1b77704 100644
--- a/test/testffmpeg.c
+++ b/test/testffmpeg.c
@@ -1509,7 +1509,7 @@ int main(int argc, char *argv[])
/* Check for events */
while (SDL_PollEvent(&event)) {
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;
}
}
diff --git a/test/testgeometry.c b/test/testgeometry.c
index 231f1e0045c73..cd2083ef3208c 100644
--- a/test/testgeometry.c
+++ b/test/testgeometry.c
@@ -95,13 +95,13 @@ static void loop(void)
}
}
} else if (event.type == SDL_EVENT_KEY_DOWN) {
- if (event.key.keysym.sym == SDLK_LEFT) {
+ if (event.key.key == SDLK_LEFT) {
translate_cx -= 1;
- } else if (event.key.keysym.sym == SDLK_RIGHT) {
+ } else if (event.key.key == SDLK_RIGHT) {
translate_cx += 1;
- } else if (event.key.keysym.sym == SDLK_UP) {
+ } else if (event.key.key == SDLK_UP) {
translate_cy -= 1;
- } else if (event.key.keysym.sym == SDLK_DOWN) {
+ } else if (event.key.key == SDLK_DOWN) {
translate_cy += 1;
} else {
SDLTest_CommonEvent(state, &event, &done);
diff --git a/test/testgl.c b/test/testgl.c
index e4482dc728d90..b79cd2aca6fb9 100644
--- a/test/testgl.c
+++ b/test/testgl.c
@@ -391,10 +391,10 @@ int main(int argc, char *argv[])
while (SDL_PollEvent(&event)) {
SDLTest_CommonEvent(state, &event, &done);
if (event.type == SDL_EVENT_KEY_DOWN) {
- if (event.key.keysym.sym == SDLK_o) {
+ if (event.key.key == SDLK_o) {
swap_interval--;
update_swap_interval = SDL_TRUE;
- } else if (event.key.keysym.sym == SDLK_p) {
+ } else if (event.key.key == SDLK_p) {
swap_interval++;
update_swap_interval = SDL_TRUE;
}
diff --git a/test/testgles2_sdf.c b/test/testgles2_sdf.c
index a8b27055f8376..af36324367573 100644
--- a/test/testgles2_sdf.c
+++ b/test/testgles2_sdf.c
@@ -337,7 +337,7 @@ static void loop(void)
switch (event.type) {
case SDL_EVENT_KEY_DOWN:
{
- const int sym = event.key.keysym.sym;
+ const int sym = event.key.key;
if (sym == SDLK_TAB) {
SDL_Log("Tab");
diff --git a/test/testhittesting.c b/test/testhittesting.c
index 3fc8b1c23192d..6c5c26bcf840c 100644
--- a/test/testhittesting.c
+++ b/test/testhittesting.c
@@ -137,9 +137,9 @@ int main(int argc, char **argv)
break;
case SDL_EVENT_KEY_DOWN:
- if (e.key.keysym.sym == SDLK_ESCAPE) {
+ if (e.key.key == SDLK_ESCAPE) {
done = 1;
- } else if (e.key.keysym.sym == SDLK_x) {
+ } else if (e.key.key == SDLK_x) {
if (!areas) {
areas = drag_areas;
numareas = SDL_arraysize(drag_areas);
diff --git a/test/testime.c b/test/testime.c
index 767f9be63619e..dcf38ba00d32b 100644
--- a/test/testime.c
+++ b/test/testime.c
@@ -699,7 +699,7 @@ int main(int argc, char *argv[])
SDLTest_CommonEvent(state, &event, &done);
switch (event.type) {
case SDL_EVENT_KEY_DOWN:
- switch (event.key.keysym.sym) {
+ switch (event.key.key) {
case SDLK_RETURN:
text[0] = 0x00;
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",
- event.key.keysym.scancode,
- SDL_GetScancodeName(event.key.keysym.scancode),
- SDL_static_cast(Uint32, event.key.keysym.sym),
- SDL_GetKeyName(event.key.keysym.sym));
+ event.key.scancode,
+ SDL_GetScancodeName(event.key.scancode),
+ SDL_static_cast(Uint32, event.key.key),
+ SDL_GetKeyName(event.key.key));
break;
case SDL_EVENT_TEXT_INPUT:
diff --git a/test/testintersections.c b/test/testintersections.c
index 0a5faf6ac04ed..1f233b0ea75c2 100644
--- a/test/testintersections.c
+++ b/test/testintersections.c
@@ -225,9
(Patch may be truncated, please check the link at the top of this post.)