From 258ee056556c1a5eba60cdcb0dbda0693006780a Mon Sep 17 00:00:00 2001
From: Sam Lantinga <[EMAIL REDACTED]>
Date: Sat, 22 Jun 2024 06:15:51 -0700
Subject: [PATCH] checkkeys: enable showing IME candidates
---
test/checkkeys.c | 13 ++++++++++++-
1 file changed, 12 insertions(+), 1 deletion(-)
diff --git a/test/checkkeys.c b/test/checkkeys.c
index d5e3ec229e3d7..4dae90ae43154 100644
--- a/test/checkkeys.c
+++ b/test/checkkeys.c
@@ -128,7 +128,7 @@ static void PrintKeymap(void)
for (m = 0; m < SDL_arraysize(mods); ++m) {
for (i = 0; i < SDL_NUM_SCANCODES; ++i) {
SDL_Keycode key = SDL_GetKeyFromScancode((SDL_Scancode)i, mods[m]);
- SDL_Keycode default_key = SDL_GetDefaultKeyFromScancode((SDL_Scancode)i, mods[m]);
+ SDL_Keycode default_key = SDL_GetDefaultKeyFromScancode((SDL_Scancode)i, mods[m]);
if (key != default_key) {
char message[512];
char *spot;
@@ -307,6 +307,7 @@ static void loop(void)
int main(int argc, char *argv[])
{
int w, h;
+ SDL_Rect input_rect;
SDL_SetHint(SDL_HINT_WINDOWS_RAW_KEYBOARD, "1");
@@ -347,6 +348,16 @@ int main(int argc, char *argv[])
}
#endif
+ /* Enable showing IME candidates */
+ SDL_SetHint(SDL_HINT_IME_SHOW_UI, "1");
+
+ /* Set an input rectangle in the center of the window */
+ input_rect.x = w / 4;
+ input_rect.y = h / 4;
+ input_rect.w = w / 2;
+ input_rect.h = h / 2;
+ SDL_SetTextInputRect(&input_rect);
+
SDL_StartTextInput();
/* Print initial state */