|
@@ -566,16 +566,21 @@ 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 (!SDL_HasScreenKeyboardSupport()) {
|
|
|
+#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.
|
|
|
+ */
|
|
|
+ const char *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_PostInitMouse();
|
|
|
|