Add Enter Key support to PSVita IME keyboard
parent
10ec4c8671
commit
5cd37c0a7b
|
@ -414,10 +414,17 @@ static void utf16_to_utf8(const uint16_t *src, uint8_t *dst) {
|
|||
*dst = '\0';
|
||||
}
|
||||
|
||||
static SDL_bool reset_enter = SDL_FALSE;
|
||||
void VITA_PumpEvents(_THIS)
|
||||
{
|
||||
SDL_VideoData *videodata = (SDL_VideoData *)_this->driverdata;
|
||||
|
||||
// Little fix for adding proper enter key emulation
|
||||
if (reset_enter == SDL_TRUE) {
|
||||
SDL_SendKeyboardKey(SDL_RELEASED, SDL_SCANCODE_RETURN);
|
||||
reset_enter = SDL_FALSE;
|
||||
}
|
||||
|
||||
VITA_PollTouch();
|
||||
VITA_PollKeyboard();
|
||||
VITA_PollMouse();
|
||||
|
@ -435,9 +442,15 @@ void VITA_PumpEvents(_THIS)
|
|||
// Convert UTF16 to UTF8
|
||||
utf16_to_utf8(videodata->ime_buffer, utf8_buffer);
|
||||
|
||||
// send sdl event
|
||||
// Send SDL event
|
||||
SDL_SendKeyboardText((const char*)utf8_buffer);
|
||||
|
||||
// Send enter key only on enter
|
||||
if (result.button == SCE_IME_DIALOG_BUTTON_ENTER) {
|
||||
SDL_SendKeyboardKey(SDL_PRESSED, SDL_SCANCODE_RETURN);
|
||||
reset_enter = SDL_TRUE;
|
||||
}
|
||||
|
||||
sceImeDialogTerm();
|
||||
|
||||
videodata->ime_active = SDL_FALSE;
|
||||
|
|
Loading…
Reference in New Issue