From 14eb0dd1c0dbbc1553b23658295ef5948485ead9 Mon Sep 17 00:00:00 2001 From: Sergii Pylypenko Date: Thu, 29 Aug 2013 21:20:02 +0300 Subject: [PATCH] More hacks to force QWERTY text input on Ouya --- project/java/MainActivity.java | 6 ++++++ project/jni/application/commandergenius/commandergenius | 2 +- 2 files changed, 7 insertions(+), 1 deletion(-) diff --git a/project/java/MainActivity.java b/project/java/MainActivity.java index f9ceda497..26b953bb4 100644 --- a/project/java/MainActivity.java +++ b/project/java/MainActivity.java @@ -71,6 +71,7 @@ import android.content.pm.PackageInfo; import android.content.pm.PackageManager; import android.os.Handler; import android.os.Message; +import android.os.SystemClock; import java.util.concurrent.Semaphore; import android.content.pm.ActivityInfo; import android.view.Display; @@ -410,6 +411,7 @@ public class MainActivity extends Activity { _inputManager.toggleSoftInput(InputMethodManager.SHOW_FORCED, 0); _inputManager.showSoftInput(mGLView, InputMethodManager.SHOW_FORCED); + getWindow().setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_STATE_VISIBLE); } public void showScreenKeyboard(final String oldText, boolean sendBackspace) @@ -493,6 +495,7 @@ public class MainActivity extends Activity _screenKeyboard.setFocusable(true); _screenKeyboard.requestFocus(); _inputManager.showSoftInput(_screenKeyboard, InputMethodManager.SHOW_IMPLICIT); + getWindow().setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_STATE_VISIBLE); // Hack to try to force on-screen keyboard final EditText keyboard = _screenKeyboard; keyboard.postDelayed( new Runnable() @@ -502,6 +505,9 @@ public class MainActivity extends Activity keyboard.requestFocus(); //_inputManager.toggleSoftInput(InputMethodManager.SHOW_FORCED, 0); _inputManager.showSoftInput(keyboard, InputMethodManager.SHOW_FORCED); + // Hack from Stackoverflow, to force text input on Ouya + keyboard.dispatchTouchEvent(MotionEvent.obtain(SystemClock.uptimeMillis(), SystemClock.uptimeMillis(), MotionEvent.ACTION_DOWN , 0, 0, 0)); + keyboard.dispatchTouchEvent(MotionEvent.obtain(SystemClock.uptimeMillis(), SystemClock.uptimeMillis(), MotionEvent.ACTION_UP , 0, 0, 0)); } }, 500 ); }; diff --git a/project/jni/application/commandergenius/commandergenius b/project/jni/application/commandergenius/commandergenius index 6f28771d5..1bcbadd1e 160000 --- a/project/jni/application/commandergenius/commandergenius +++ b/project/jni/application/commandergenius/commandergenius @@ -1 +1 @@ -Subproject commit 6f28771d57ca7d878e3cfee08014651b854b9c7f +Subproject commit 1bcbadd1eadd735235288463239c348f5b58f845