mirror of
https://github.com/Ryujinx/SDL.git
synced 2024-12-22 15:25:30 +00:00
Enable text input on video initialization without popping up an on-screen keyboard
Fixes https://github.com/libsdl-org/SDL/issues/8561 (cherry picked from commit 4ff3b28273a9b64892620435231539a1d2c98301)
This commit is contained in:
parent
ad1a11164c
commit
53058af284
|
@ -435,6 +435,7 @@ int SDL_VideoInit(const char *driver_name)
|
|||
SDL_bool init_keyboard = SDL_FALSE;
|
||||
SDL_bool init_mouse = SDL_FALSE;
|
||||
SDL_bool init_touch = SDL_FALSE;
|
||||
const char *hint;
|
||||
int i = 0;
|
||||
|
||||
/* Check to make sure we don't overwrite '_this' */
|
||||
|
@ -562,16 +563,19 @@ int SDL_VideoInit(const char *driver_name)
|
|||
SDL_DisableScreenSaver();
|
||||
}
|
||||
|
||||
/* If we don't use a screen keyboard, turn on text input by default,
|
||||
otherwise programs that expect to get text events without enabling
|
||||
UNICODE input won't get any events.
|
||||
|
||||
Actually, come to think of it, you needed to call SDL_EnableUNICODE(1)
|
||||
in SDL 1.2 before you got text input events. Hmm...
|
||||
#if !defined(SDL_VIDEO_DRIVER_N3DS)
|
||||
/* In the initial state we don't want to pop up an on-screen keyboard,
|
||||
* but we do want to allow text input from other mechanisms.
|
||||
*/
|
||||
if (!SDL_HasScreenKeyboardSupport()) {
|
||||
SDL_StartTextInput();
|
||||
hint = SDL_GetHint(SDL_HINT_ENABLE_SCREEN_KEYBOARD);
|
||||
if (!hint) {
|
||||
SDL_SetHint(SDL_HINT_ENABLE_SCREEN_KEYBOARD, "0");
|
||||
}
|
||||
SDL_StartTextInput();
|
||||
if (!hint) {
|
||||
SDL_SetHint(SDL_HINT_ENABLE_SCREEN_KEYBOARD, NULL);
|
||||
}
|
||||
#endif /* !SDL_VIDEO_DRIVER_N3DS */
|
||||
|
||||
SDL_MousePostInit();
|
||||
|
||||
|
|
Loading…
Reference in a new issue