mirror of
https://github.com/Relintai/sdl2_frt.git
synced 2024-12-20 22:16:49 +01:00
Add the ability to set SDL to handle Return as 'hide IME' on Android softkeyboard. (thanks Rachel!)
This commit is contained in:
parent
e8bbbb37f1
commit
2afc0b7fa5
@ -1501,6 +1501,25 @@ class SDLInputConnection extends BaseInputConnection {
|
|||||||
* and so we need to generate them ourselves in commitText. To avoid duplicates on the handful of keys
|
* and so we need to generate them ourselves in commitText. To avoid duplicates on the handful of keys
|
||||||
* that still do, we empty this out.
|
* that still do, we empty this out.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Return DOES still generate a key event, however. So rather than using it as the 'click a button' key
|
||||||
|
* as we do with physical keyboards, let's just use it to hide the keyboard.
|
||||||
|
*/
|
||||||
|
|
||||||
|
if (event.getKeyCode() == 66) {
|
||||||
|
String imeHide = SDLActivity.nativeGetHint("SDL_ANDROID_RETURN_HIDES_IME");
|
||||||
|
if ((imeHide != null) && imeHide.equals("1")) {
|
||||||
|
Context c = SDL.getContext();
|
||||||
|
if (c instanceof SDLActivity) {
|
||||||
|
SDLActivity activity = (SDLActivity)c;
|
||||||
|
activity.sendCommand(SDLActivity.COMMAND_TEXTEDIT_HIDE, null);
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
return super.sendKeyEvent(event);
|
return super.sendKeyEvent(event);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -720,6 +720,19 @@ extern "C" {
|
|||||||
*/
|
*/
|
||||||
#define SDL_HINT_ANDROID_SEPARATE_MOUSE_AND_TOUCH "SDL_ANDROID_SEPARATE_MOUSE_AND_TOUCH"
|
#define SDL_HINT_ANDROID_SEPARATE_MOUSE_AND_TOUCH "SDL_ANDROID_SEPARATE_MOUSE_AND_TOUCH"
|
||||||
|
|
||||||
|
/**
|
||||||
|
* \brief A variable to control whether the return key on the soft keyboard should hide the
|
||||||
|
* soft keyboard on Android.
|
||||||
|
*
|
||||||
|
* The variable can be set to the following values:
|
||||||
|
* "0" - The return key will be handled as a key event. This is the behaviour of
|
||||||
|
* SDL <= 2.0.3. (default)
|
||||||
|
* "1" - The return key will hide the keyboard.
|
||||||
|
*
|
||||||
|
* The value of this hint is used at runtime, so it can be changed at any time.
|
||||||
|
*/
|
||||||
|
#define SDL_HINT_ANDROID_RETURN_HIDES_IME "SDL_ANDROID_RETURN_HIDES_IME"
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* \brief override the binding element for keyboard inputs for Emscripten builds
|
* \brief override the binding element for keyboard inputs for Emscripten builds
|
||||||
*
|
*
|
||||||
|
Loading…
Reference in New Issue
Block a user