Comments (9)
Please, use the IME Test app once more in the "cooked" mode. Only one Fn+key press is enough.
from anotherterm.
OK, Fn+s it is:
=====
Using raw mode
=====
=====
Using raw mode
=====
=====
Using cooked mode
=====
===
---
green_green_avk.imetest.InputView.access$000(InputView.java:20)
green_green_avk.imetest.InputView$1.finishComposingText(InputView.java:151)
android.view.inputmethod.InputMethodManager.checkFocusNoStartInput(InputMethodManager.java:1292)
android.view.inputmethod.InputMethodManager.checkFocus(InputMethodManager.java:1245)
android.view.inputmethod.InputMethodManager.access$000(InputMethodManager.java:203)
android.view.inputmethod.InputMethodManager$H.handleMessage(InputMethodManager.java:416)
android.os.Handler.dispatchMessage(Handler.java:99)
android.os.Looper.loop(Looper.java:137)
android.app.ActivityThread.main(ActivityThread.java:4962)
java.lang.reflect.Method.invokeNative(Native Method)
java.lang.reflect.Method.invoke(Method.java:511)
com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1004)
com.android.internal.os.ZygoteInit.main(ZygoteInit.java:771)
dalvik.system.NativeStart.main(Native Method)
===
---
green_green_avk.imetest.InputView.access$000(InputView.java:20)
green_green_avk.imetest.InputView$1.beginBatchEdit(InputView.java:96)
android.view.inputmethod.BaseInputConnection.finishComposingText(BaseInputConnection.java:269)
green_green_avk.imetest.InputView$1.finishComposingText(InputView.java:152)
android.view.inputmethod.InputMethodManager.checkFocusNoStartInput(InputMethodManager.java:1292)
android.view.inputmethod.InputMethodManager.checkFocus(InputMethodManager.java:1245)
android.view.inputmethod.InputMethodManager.access$000(InputMethodManager.java:203)
android.view.inputmethod.InputMethodManager$H.handleMessage(InputMethodManager.java:416)
android.os.Handler.dispatchMessage(Handler.java:99)
android.os.Looper.loop(Looper.java:137)
android.app.ActivityThread.main(ActivityThread.java:4962)
java.lang.reflect.Method.invokeNative(Native Method)
java.lang.reflect.Method.invoke(Method.java:511)
com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1004)
com.android.internal.os.ZygoteInit.main(ZygoteInit.java:771)
dalvik.system.NativeStart.main(Native Method)
===
---
green_green_avk.imetest.InputView.access$000(InputView.java:20)
green_green_avk.imetest.InputView$1.endBatchEdit(InputView.java:102)
android.view.inputmethod.BaseInputConnection.finishComposingText(BaseInputConnection.java:271)
green_green_avk.imetest.InputView$1.finishComposingText(InputView.java:152)
android.view.inputmethod.InputMethodManager.checkFocusNoStartInput(InputMethodManager.java:1292)
android.view.inputmethod.InputMethodManager.checkFocus(InputMethodManager.java:1245)
android.view.inputmethod.InputMethodManager.access$000(InputMethodManager.java:203)
android.view.inputmethod.InputMethodManager$H.handleMessage(InputMethodManager.java:416)
android.os.Handler.dispatchMessage(Handler.java:99)
android.os.Looper.loop(Looper.java:137)
android.app.ActivityThread.main(ActivityThread.java:4962)
java.lang.reflect.Method.invokeNative(Native Method)
java.lang.reflect.Method.invoke(Method.java:511)
com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1004)
com.android.internal.os.ZygoteInit.main(ZygoteInit.java:771)
dalvik.system.NativeStart.main(Native Method)
=====
Using cooked mode
=====
===
---
green_green_avk.imetest.InputView.access$000(InputView.java:20)
green_green_avk.imetest.InputView$1.finishComposingText(InputView.java:151)
android.view.inputmethod.InputMethodManager.reportFinishInputConnection(InputMethodManager.java:749)
android.view.ViewRootImpl$ViewRootHandler.handleMessage(ViewRootImpl.java:3178)
android.os.Handler.dispatchMessage(Handler.java:99)
android.os.Looper.loop(Looper.java:137)
android.app.ActivityThread.main(ActivityThread.java:4962)
java.lang.reflect.Method.invokeNative(Native Method)
java.lang.reflect.Method.invoke(Method.java:511)
com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1004)
com.android.internal.os.ZygoteInit.main(ZygoteInit.java:771)
dalvik.system.NativeStart.main(Native Method)
===
---
green_green_avk.imetest.InputView.access$000(InputView.java:20)
green_green_avk.imetest.InputView$1.beginBatchEdit(InputView.java:96)
android.view.inputmethod.BaseInputConnection.finishComposingText(BaseInputConnection.java:269)
green_green_avk.imetest.InputView$1.finishComposingText(InputView.java:152)
android.view.inputmethod.InputMethodManager.reportFinishInputConnection(InputMethodManager.java:749)
android.view.ViewRootImpl$ViewRootHandler.handleMessage(ViewRootImpl.java:3178)
android.os.Handler.dispatchMessage(Handler.java:99)
android.os.Looper.loop(Looper.java:137)
android.app.ActivityThread.main(ActivityThread.java:4962)
java.lang.reflect.Method.invokeNative(Native Method)
java.lang.reflect.Method.invoke(Method.java:511)
com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1004)
com.android.internal.os.ZygoteInit.main(ZygoteInit.java:771)
dalvik.system.NativeStart.main(Native Method)
===
---
green_green_avk.imetest.InputView.access$000(InputView.java:20)
green_green_avk.imetest.InputView$1.endBatchEdit(InputView.java:102)
android.view.inputmethod.BaseInputConnection.finishComposingText(BaseInputConnection.java:271)
green_green_avk.imetest.InputView$1.finishComposingText(InputView.java:152)
android.view.inputmethod.InputMethodManager.reportFinishInputConnection(InputMethodManager.java:749)
android.view.ViewRootImpl$ViewRootHandler.handleMessage(ViewRootImpl.java:3178)
android.os.Handler.dispatchMessage(Handler.java:99)
android.os.Looper.loop(Looper.java:137)
android.app.ActivityThread.main(ActivityThread.java:4962)
java.lang.reflect.Method.invokeNative(Native Method)
java.lang.reflect.Method.invoke(Method.java:511)
com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1004)
com.android.internal.os.ZygoteInit.main(ZygoteInit.java:771)
dalvik.system.NativeStart.main(Native Method)
===
java.lang.Integer
57
android.view.KeyEvent
KeyEvent { action=ACTION_DOWN, keyCode=KEYCODE_ALT_LEFT, scanCode=56, metaState=META_ALT_ON|META_ALT_LEFT_ON, flags=0x8, repeatCount=0, eventTime=21062761, downTime=21062761, deviceId=0, source=0x301 }
---
green_green_avk.imetest.InputView.onKeyPreIme(InputView.java:81)
android.view.View.dispatchKeyEventPreIme(View.java:7236)
android.view.ViewGroup.dispatchKeyEventPreIme(ViewGroup.java:1394)
android.view.ViewGroup.dispatchKeyEventPreIme(ViewGroup.java:1394)
android.view.ViewGroup.dispatchKeyEventPreIme(ViewGroup.java:1394)
android.view.ViewGroup.dispatchKeyEventPreIme(ViewGroup.java:1394)
android.view.ViewRootImpl.deliverKeyEvent(ViewRootImpl.java:3848)
android.view.ViewRootImpl.deliverInputEvent(ViewRootImpl.java:3437)
android.view.ViewRootImpl.doProcessInputEvents(ViewRootImpl.java:4535)
android.view.ViewRootImpl.enqueueInputEvent(ViewRootImpl.java:4513)
android.view.ViewRootImpl$WindowInputEventReceiver.onInputEvent(ViewRootImpl.java:4617)
android.view.InputEventReceiver.dispatchInputEvent(InputEventReceiver.java:171)
android.os.MessageQueue.nativePollOnce(Native Method)
android.os.MessageQueue.next(MessageQueue.java:125)
android.os.Looper.loop(Looper.java:124)
android.app.ActivityThread.main(ActivityThread.java:4962)
java.lang.reflect.Method.invokeNative(Native Method)
java.lang.reflect.Method.invoke(Method.java:511)
com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1004)
com.android.internal.os.ZygoteInit.main(ZygoteInit.java:771)
dalvik.system.NativeStart.main(Native Method)
===
java.lang.Integer
57
android.view.KeyEvent
KeyEvent { action=ACTION_DOWN, keyCode=KEYCODE_ALT_LEFT, scanCode=56, metaState=META_ALT_ON|META_ALT_LEFT_ON, flags=0x8, repeatCount=0, eventTime=21062761, downTime=21062761, deviceId=0, source=0x301 }
---
green_green_avk.imetest.InputView.onKeyDown(InputView.java:251)
android.view.KeyEvent.dispatch(KeyEvent.java:2715)
android.view.View.dispatchKeyEvent(View.java:7262)
android.view.ViewGroup.dispatchKeyEvent(ViewGroup.java:1413)
android.view.ViewGroup.dispatchKeyEvent(ViewGroup.java:1413)
android.view.ViewGroup.dispatchKeyEvent(ViewGroup.java:1413)
android.view.ViewGroup.dispatchKeyEvent(ViewGroup.java:1413)
com.android.internal.policy.impl.PhoneWindow$DecorView.superDispatchKeyEvent(PhoneWindow.java:2144)
com.android.internal.policy.impl.PhoneWindow.superDispatchKeyEvent(PhoneWindow.java:1472)
android.app.Activity.dispatchKeyEvent(Activity.java:2415)
com.android.internal.policy.impl.PhoneWindow$DecorView.dispatchKeyEvent(PhoneWindow.java:2071)
android.view.ViewRootImpl.deliverKeyEventPostIme(ViewRootImpl.java:3946)
android.view.ViewRootImpl.handleImeFinishedEvent(ViewRootImpl.java:3894)
android.view.ViewRootImpl$ViewRootHandler.handleMessage(ViewRootImpl.java:3028)
android.os.Handler.dispatchMessage(Handler.java:99)
android.os.Looper.loop(Looper.java:137)
android.app.ActivityThread.main(ActivityThread.java:4962)
java.lang.reflect.Method.invokeNative(Native Method)
java.lang.reflect.Method.invoke(Method.java:511)
com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1004)
com.android.internal.os.ZygoteInit.main(ZygoteInit.java:771)
dalvik.system.NativeStart.main(Native Method)
===
java.lang.Integer
47
android.view.KeyEvent
KeyEvent { action=ACTION_DOWN, keyCode=KEYCODE_S, scanCode=31, metaState=META_ALT_ON|META_ALT_LEFT_ON, flags=0x8, repeatCount=0, eventTime=21063090, downTime=21063090, deviceId=0, source=0x301 }
---
green_green_avk.imetest.InputView.onKeyPreIme(InputView.java:81)
android.view.View.dispatchKeyEventPreIme(View.java:7236)
android.view.ViewGroup.dispatchKeyEventPreIme(ViewGroup.java:1394)
android.view.ViewGroup.dispatchKeyEventPreIme(ViewGroup.java:1394)
android.view.ViewGroup.dispatchKeyEventPreIme(ViewGroup.java:1394)
android.view.ViewGroup.dispatchKeyEventPreIme(ViewGroup.java:1394)
android.view.ViewRootImpl.deliverKeyEvent(ViewRootImpl.java:3848)
android.view.ViewRootImpl.deliverInputEvent(ViewRootImpl.java:3437)
android.view.ViewRootImpl.doProcessInputEvents(ViewRootImpl.java:4535)
android.view.ViewRootImpl.enqueueInputEvent(ViewRootImpl.java:4513)
android.view.ViewRootImpl$WindowInputEventReceiver.onInputEvent(ViewRootImpl.java:4617)
android.view.InputEventReceiver.dispatchInputEvent(InputEventReceiver.java:171)
android.os.MessageQueue.nativePollOnce(Native Method)
android.os.MessageQueue.next(MessageQueue.java:125)
android.os.Looper.loop(Looper.java:124)
android.app.ActivityThread.main(ActivityThread.java:4962)
java.lang.reflect.Method.invokeNative(Native Method)
java.lang.reflect.Method.invoke(Method.java:511)
com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1004)
com.android.internal.os.ZygoteInit.main(ZygoteInit.java:771)
dalvik.system.NativeStart.main(Native Method)
===
java.lang.Integer
47
android.view.KeyEvent
KeyEvent { action=ACTION_DOWN, keyCode=KEYCODE_S, scanCode=31, metaState=META_ALT_ON|META_ALT_LEFT_ON, flags=0x8, repeatCount=0, eventTime=21063090, downTime=21063090, deviceId=0, source=0x301 }
---
green_green_avk.imetest.InputView.onKeyDown(InputView.java:251)
android.view.KeyEvent.dispatch(KeyEvent.java:2715)
android.view.View.dispatchKeyEvent(View.java:7262)
android.view.ViewGroup.dispatchKeyEvent(ViewGroup.java:1413)
android.view.ViewGroup.dispatchKeyEvent(ViewGroup.java:1413)
android.view.ViewGroup.dispatchKeyEvent(ViewGroup.java:1413)
android.view.ViewGroup.dispatchKeyEvent(ViewGroup.java:1413)
com.android.internal.policy.impl.PhoneWindow$DecorView.superDispatchKeyEvent(PhoneWindow.java:2144)
com.android.internal.policy.impl.PhoneWindow.superDispatchKeyEvent(PhoneWindow.java:1472)
android.app.Activity.dispatchKeyEvent(Activity.java:2415)
com.android.internal.policy.impl.PhoneWindow$DecorView.dispatchKeyEvent(PhoneWindow.java:2071)
android.view.ViewRootImpl.deliverKeyEventPostIme(ViewRootImpl.java:3946)
android.view.ViewRootImpl.handleImeFinishedEvent(ViewRootImpl.java:3894)
android.view.ViewRootImpl$ViewRootHandler.handleMessage(ViewRootImpl.java:3028)
android.os.Handler.dispatchMessage(Handler.java:99)
android.os.Looper.loop(Looper.java:137)
android.app.ActivityThread.main(ActivityThread.java:4962)
java.lang.reflect.Method.invokeNative(Native Method)
java.lang.reflect.Method.invoke(Method.java:511)
com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1004)
com.android.internal.os.ZygoteInit.main(ZygoteInit.java:771)
dalvik.system.NativeStart.main(Native Method)
===
java.lang.Integer
47
android.view.KeyEvent
KeyEvent { action=ACTION_UP, keyCode=KEYCODE_S, scanCode=31, metaState=META_ALT_ON|META_ALT_LEFT_ON, flags=0x8, repeatCount=0, eventTime=21063239, downTime=21063090, deviceId=0, source=0x301 }
---
green_green_avk.imetest.InputView.onKeyPreIme(InputView.java:81)
android.view.View.dispatchKeyEventPreIme(View.java:7236)
android.view.ViewGroup.dispatchKeyEventPreIme(ViewGroup.java:1394)
android.view.ViewGroup.dispatchKeyEventPreIme(ViewGroup.java:1394)
android.view.ViewGroup.dispatchKeyEventPreIme(ViewGroup.java:1394)
android.view.ViewGroup.dispatchKeyEventPreIme(ViewGroup.java:1394)
android.view.ViewRootImpl.deliverKeyEvent(ViewRootImpl.java:3848)
android.view.ViewRootImpl.deliverInputEvent(ViewRootImpl.java:3437)
android.view.ViewRootImpl.doProcessInputEvents(ViewRootImpl.java:4535)
android.view.ViewRootImpl.enqueueInputEvent(ViewRootImpl.java:4513)
android.view.ViewRootImpl$WindowInputEventReceiver.onInputEvent(ViewRootImpl.java:4617)
android.view.InputEventReceiver.dispatchInputEvent(InputEventReceiver.java:171)
android.os.MessageQueue.nativePollOnce(Native Method)
android.os.MessageQueue.next(MessageQueue.java:125)
android.os.Looper.loop(Looper.java:124)
android.app.ActivityThread.main(ActivityThread.java:4962)
java.lang.reflect.Method.invokeNative(Native Method)
java.lang.reflect.Method.invoke(Method.java:511)
com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1004)
com.android.internal.os.ZygoteInit.main(ZygoteInit.java:771)
dalvik.system.NativeStart.main(Native Method)
===
java.lang.Integer
47
android.view.KeyEvent
KeyEvent { action=ACTION_UP, keyCode=KEYCODE_S, scanCode=31, metaState=META_ALT_ON|META_ALT_LEFT_ON, flags=0x8, repeatCount=0, eventTime=21063239, downTime=21063090, deviceId=0, source=0x301 }
---
green_green_avk.imetest.InputView.onKeyUp(InputView.java:257)
android.view.KeyEvent.dispatch(KeyEvent.java:2739)
android.view.View.dispatchKeyEvent(View.java:7262)
android.view.ViewGroup.dispatchKeyEvent(ViewGroup.java:1413)
android.view.ViewGroup.dispatchKeyEvent(ViewGroup.java:1413)
android.view.ViewGroup.dispatchKeyEvent(ViewGroup.java:1413)
android.view.ViewGroup.dispatchKeyEvent(ViewGroup.java:1413)
com.android.internal.policy.impl.PhoneWindow$DecorView.superDispatchKeyEvent(PhoneWindow.java:2144)
com.android.internal.policy.impl.PhoneWindow.superDispatchKeyEvent(PhoneWindow.java:1472)
android.app.Activity.dispatchKeyEvent(Activity.java:2415)
com.android.internal.policy.impl.PhoneWindow$DecorView.dispatchKeyEvent(PhoneWindow.java:2071)
android.view.ViewRootImpl.deliverKeyEventPostIme(ViewRootImpl.java:3946)
android.view.ViewRootImpl.handleImeFinishedEvent(ViewRootImpl.java:3894)
android.view.ViewRootImpl$ViewRootHandler.handleMessage(ViewRootImpl.java:3028)
android.os.Handler.dispatchMessage(Handler.java:99)
android.os.Looper.loop(Looper.java:137)
android.app.ActivityThread.main(ActivityThread.java:4962)
java.lang.reflect.Method.invokeNative(Native Method)
java.lang.reflect.Method.invoke(Method.java:511)
com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1004)
com.android.internal.os.ZygoteInit.main(ZygoteInit.java:771)
dalvik.system.NativeStart.main(Native Method)
===
java.lang.Integer
57
android.view.KeyEvent
KeyEvent { action=ACTION_UP, keyCode=KEYCODE_ALT_LEFT, scanCode=56, metaState=0, flags=0x8, repeatCount=0, eventTime=21063448, downTime=21063090, deviceId=0, source=0x301 }
---
green_green_avk.imetest.InputView.onKeyPreIme(InputView.java:81)
android.view.View.dispatchKeyEventPreIme(View.java:7236)
android.view.ViewGroup.dispatchKeyEventPreIme(ViewGroup.java:1394)
android.view.ViewGroup.dispatchKeyEventPreIme(ViewGroup.java:1394)
android.view.ViewGroup.dispatchKeyEventPreIme(ViewGroup.java:1394)
android.view.ViewGroup.dispatchKeyEventPreIme(ViewGroup.java:1394)
android.view.ViewRootImpl.deliverKeyEvent(ViewRootImpl.java:3848)
android.view.ViewRootImpl.deliverInputEvent(ViewRootImpl.java:3437)
android.view.ViewRootImpl.doProcessInputEvents(ViewRootImpl.java:4535)
android.view.ViewRootImpl.enqueueInputEvent(ViewRootImpl.java:4513)
android.view.ViewRootImpl$WindowInputEventReceiver.onInputEvent(ViewRootImpl.java:4617)
android.view.InputEventReceiver.dispatchInputEvent(InputEventReceiver.java:171)
android.os.MessageQueue.nativePollOnce(Native Method)
android.os.MessageQueue.next(MessageQueue.java:125)
android.os.Looper.loop(Looper.java:124)
android.app.ActivityThread.main(ActivityThread.java:4962)
java.lang.reflect.Method.invokeNative(Native Method)
java.lang.reflect.Method.invoke(Method.java:511)
com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1004)
com.android.internal.os.ZygoteInit.main(ZygoteInit.java:771)
dalvik.system.NativeStart.main(Native Method)
===
java.lang.Integer
57
android.view.KeyEvent
KeyEvent { action=ACTION_UP, keyCode=KEYCODE_ALT_LEFT, scanCode=56, metaState=0, flags=0x8, repeatCount=0, eventTime=21063448, downTime=21063090, deviceId=0, source=0x301 }
---
green_green_avk.imetest.InputView.onKeyUp(InputView.java:257)
android.view.KeyEvent.dispatch(KeyEvent.java:2739)
android.view.View.dispatchKeyEvent(View.java:7262)
android.view.ViewGroup.dispatchKeyEvent(ViewGroup.java:1413)
android.view.ViewGroup.dispatchKeyEvent(ViewGroup.java:1413)
android.view.ViewGroup.dispatchKeyEvent(ViewGroup.java:1413)
android.view.ViewGroup.dispatchKeyEvent(ViewGroup.java:1413)
com.android.internal.policy.impl.PhoneWindow$DecorView.superDispatchKeyEvent(PhoneWindow.java:2144)
com.android.internal.policy.impl.PhoneWindow.superDispatchKeyEvent(PhoneWindow.java:1472)
android.app.Activity.dispatchKeyEvent(Activity.java:2415)
com.android.internal.policy.impl.PhoneWindow$DecorView.dispatchKeyEvent(PhoneWindow.java:2071)
android.view.ViewRootImpl.deliverKeyEventPostIme(ViewRootImpl.java:3946)
android.view.ViewRootImpl.handleImeFinishedEvent(ViewRootImpl.java:3894)
android.view.ViewRootImpl$ViewRootHandler.handleMessage(ViewRootImpl.java:3028)
android.os.Handler.dispatchMessage(Handler.java:99)
android.os.Looper.loop(Looper.java:137)
android.app.ActivityThread.main(ActivityThread.java:4962)
java.lang.reflect.Method.invokeNative(Native Method)
java.lang.reflect.Method.invoke(Method.java:511)
com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1004)
com.android.internal.os.ZygoteInit.main(ZygoteInit.java:771)
dalvik.system.NativeStart.main(Native Method)
===
---
green_green_avk.imetest.InputView.access$000(InputView.java:20)
green_green_avk.imetest.InputView$1.finishComposingText(InputView.java:151)
android.view.inputmethod.InputMethodManager.checkFocusNoStartInput(InputMethodManager.java:1292)
android.view.inputmethod.InputMethodManager.checkFocus(InputMethodManager.java:1245)
android.view.inputmethod.InputMethodManager.checkFocus(InputMethodManager.java:1254)
android.view.ViewRootImpl$ViewRootHandler.handleMessage(ViewRootImpl.java:3184)
android.os.Handler.dispatchMessage(Handler.java:99)
android.os.Looper.loop(Looper.java:137)
android.app.ActivityThread.main(ActivityThread.java:4962)
java.lang.reflect.Method.invokeNative(Native Method)
java.lang.reflect.Method.invoke(Method.java:511)
com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1004)
com.android.internal.os.ZygoteInit.main(ZygoteInit.java:771)
dalvik.system.NativeStart.main(Native Method)
===
---
green_green_avk.imetest.InputView.access$000(InputView.java:20)
green_green_avk.imetest.InputView$1.beginBatchEdit(InputView.java:96)
android.view.inputmethod.BaseInputConnection.finishComposingText(BaseInputConnection.java:269)
green_green_avk.imetest.InputView$1.finishComposingText(InputView.java:152)
android.view.inputmethod.InputMethodManager.checkFocusNoStartInput(InputMethodManager.java:1292)
android.view.inputmethod.InputMethodManager.checkFocus(InputMethodManager.java:1245)
android.view.inputmethod.InputMethodManager.checkFocus(InputMethodManager.java:1254)
android.view.ViewRootImpl$ViewRootHandler.handleMessage(ViewRootImpl.java:3184)
android.os.Handler.dispatchMessage(Handler.java:99)
android.os.Looper.loop(Looper.java:137)
android.app.ActivityThread.main(ActivityThread.java:4962)
java.lang.reflect.Method.invokeNative(Native Method)
java.lang.reflect.Method.invoke(Method.java:511)
com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1004)
com.android.internal.os.ZygoteInit.main(ZygoteInit.java:771)
dalvik.system.NativeStart.main(Native Method)
===
---
green_green_avk.imetest.InputView.access$000(InputView.java:20)
green_green_avk.imetest.InputView$1.endBatchEdit(InputView.java:102)
android.view.inputmethod.BaseInputConnection.finishComposingText(BaseInputConnection.java:271)
green_green_avk.imetest.InputView$1.finishComposingText(InputView.java:152)
android.view.inputmethod.InputMethodManager.checkFocusNoStartInput(InputMethodManager.java:1292)
android.view.inputmethod.InputMethodManager.checkFocus(InputMethodManager.java:1245)
android.view.inputmethod.InputMethodManager.checkFocus(InputMethodManager.java:1254)
android.view.ViewRootImpl$ViewRootHandler.handleMessage(ViewRootImpl.java:3184)
android.os.Handler.dispatchMessage(Handler.java:99)
android.os.Looper.loop(Looper.java:137)
android.app.ActivityThread.main(ActivityThread.java:4962)
java.lang.reflect.Method.invokeNative(Native Method)
java.lang.reflect.Method.invoke(Method.java:511)
com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1004)
com.android.internal.os.ZygoteInit.main(ZygoteInit.java:771)
dalvik.system.NativeStart.main(Native Method)
===
---
green_green_avk.imetest.InputView.access$000(InputView.java:20)
green_green_avk.imetest.InputView$1.finishComposingText(InputView.java:151)
android.view.inputmethod.InputMethodManager.reportFinishInputConnection(InputMethodManager.java:749)
android.view.ViewRootImpl$ViewRootHandler.handleMessage(ViewRootImpl.java:3178)
android.os.Handler.dispatchMessage(Handler.java:99)
android.os.Looper.loop(Looper.java:137)
android.app.ActivityThread.main(ActivityThread.java:4962)
java.lang.reflect.Method.invokeNative(Native Method)
java.lang.reflect.Method.invoke(Method.java:511)
com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1004)
com.android.internal.os.ZygoteInit.main(ZygoteInit.java:771)
dalvik.system.NativeStart.main(Native Method)
===
---
green_green_avk.imetest.InputView.access$000(InputView.java:20)
green_green_avk.imetest.InputView$1.beginBatchEdit(InputView.java:96)
android.view.inputmethod.BaseInputConnection.finishComposingText(BaseInputConnection.java:269)
green_green_avk.imetest.InputView$1.finishComposingText(InputView.java:152)
android.view.inputmethod.InputMethodManager.reportFinishInputConnection(InputMethodManager.java:749)
android.view.ViewRootImpl$ViewRootHandler.handleMessage(ViewRootImpl.java:3178)
android.os.Handler.dispatchMessage(Handler.java:99)
android.os.Looper.loop(Looper.java:137)
android.app.ActivityThread.main(ActivityThread.java:4962)
java.lang.reflect.Method.invokeNative(Native Method)
java.lang.reflect.Method.invoke(Method.java:511)
com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1004)
com.android.internal.os.ZygoteInit.main(ZygoteInit.java:771)
dalvik.system.NativeStart.main(Native Method)
===
---
green_green_avk.imetest.InputView.access$000(InputView.java:20)
green_green_avk.imetest.InputView$1.endBatchEdit(InputView.java:102)
android.view.inputmethod.BaseInputConnection.finishComposingText(BaseInputConnection.java:271)
green_green_avk.imetest.InputView$1.finishComposingText(InputView.java:152)
android.view.inputmethod.InputMethodManager.reportFinishInputConnection(InputMethodManager.java:749)
android.view.ViewRootImpl$ViewRootHandler.handleMessage(ViewRootImpl.java:3178)
android.os.Handler.dispatchMessage(Handler.java:99)
android.os.Looper.loop(Looper.java:137)
android.app.ActivityThread.main(ActivityThread.java:4962)
java.lang.reflect.Method.invokeNative(Native Method)
java.lang.reflect.Method.invoke(Method.java:511)
com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1004)
com.android.internal.os.ZygoteInit.main(ZygoteInit.java:771)
dalvik.system.NativeStart.main(Native Method)
from anotherterm.
Hmm...
Either do we need to have an option for the Alt behavior?
Or just treat any left Alt in a special way if the deviceId==0
(https://developer.android.com/reference/android/view/KeyCharacterMap#BUILT_IN_KEYBOARD)?
Ambiguous...
Surprisingly, the IME dispatches the event directly to the view around its InputConnection
interface, so it's supposed to be done by KeyEvent.getUnicodeChar()
thus using the keyboard mapping table.
So at the moment your Fn acts exactly as the Alt supposed to do (i.e. prepending any symbol by ESC with one detail):
(as for any usual external keyboard the Shift must be the only modifier to be taken into account here).
Raw mode:
KeyEvent { action=ACTION_DOWN, keyCode=KEYCODE_G, scanCode=34, metaState=META_ALT_ON|META_ALT_LEFT_ON, flags=0x8, repeatCount=0, eventTime=6591161, downTime=6591161, deviceId=0, source=0x301 }
---
green_green_avk.imetest.InputView.onKeyPreIme(InputView.java:81)
...
KeyEvent { action=ACTION_DOWN, keyCode=KEYCODE_G, scanCode=34, metaState=META_ALT_ON|META_ALT_LEFT_ON, flags=0x8, repeatCount=0, eventTime=6591161, downTime=6591161, deviceId=0, source=0x301 }
---
green_green_avk.imetest.InputView.onKeyDown(InputView.java:251)
android.view.KeyEvent.dispatch(KeyEvent.java:2715)
android.view.View.dispatchKeyEvent(View.java:7262)
...
android.os.Handler.dispatchMessage(Handler.java:99)
Cooked mode:
KeyEvent { action=ACTION_DOWN, keyCode=KEYCODE_S, scanCode=31, metaState=META_ALT_ON|META_ALT_LEFT_ON, flags=0x8, repeatCount=0, eventTime=21063090, downTime=21063090, deviceId=0, source=0x301 }
---
green_green_avk.imetest.InputView.onKeyPreIme(InputView.java:81)
...
KeyEvent { action=ACTION_DOWN, keyCode=KEYCODE_S, scanCode=31, metaState=META_ALT_ON|META_ALT_LEFT_ON, flags=0x8, repeatCount=0, eventTime=21063090, downTime=21063090, deviceId=0, source=0x301 }
---
green_green_avk.imetest.InputView.onKeyDown(InputView.java:251)
android.view.KeyEvent.dispatch(KeyEvent.java:2715)
android.view.View.dispatchKeyEvent(View.java:7262)
...
android.os.Handler.dispatchMessage(Handler.java:99)
from anotherterm.
May be we need also to think about possible remapping Alt and mapping Ctrl and Insert somewhere?
from anotherterm.
As a concept: https://github.com/green-green-avk/AnotherTerm/releases/tag/%2311-1
Look into settings.
from anotherterm.
#11 test 1 fully worked once I activated the new setting! 👍
Note the checkbox labels are pretty long and look truncated: they end with "acts as.." and "and similar" here.
One more time thanks a lot!
May be we need also to think about possible remapping Alt and mapping Ctrl and Insert somewhere?
I do not mind about losing Insert or even Alt, but having Ctrl is crucial, and (at least in Vi) it can also compensate for other missing keys (Esc: Ctrl-C, Tab: Ctrl-I).
Some way of mapping physical keys or buttons to PC keys would be perfect, even when only over a textual configuration file. The Key Mapping Editor might already support this, but I am currently unsure how to use it, more documentation about it could help.
One should be able to map at least Volume-Up, Volume-Down and Back (should be present on many devices), ideally also the hardware keyboards' exotic keys ("Search", "Chat", web
(sic!) and OK
keys here) by entering their key code.
I won't push it
from anotherterm.
...ideally also the hardware keyboards' exotic keys...
Logging them in the "raw" mode could be a good idea. Just to estimate the possibility at least.
from anotherterm.
...ideally also the hardware keyboards' exotic keys...
Logging them in the "raw" mode could be a good idea. Just to estimate the possibility at least.
Here you are then:
- "Search" is KEYCODE_SEARCH
- "Chat" outputs nothing at all in the IME Test app, but directly opens the stock Messaging app, so that one key is probably hopeless
web
: same as above (opens the stock web browser app)OK
is KEYCODE_DPAD_CENTER- ...and Menu is KEYCODE_MENU as one would expect
(Please tell me if you'd need more logs from the IME Test app.)
However listing each and every physical key Android ever defined for mapping in the UI might be too much given the few users concerned.
(Note that the other apps listed in #10 all do something similar but all leave out some keys that nobody claimed, and their UI is already pretty crowded.)
As said in #11 (comment) a more generic solution might be more appropriate: I for one would not mind having to install IME Test and copy part of the results from there during the initial configuration to get my own keys working.
from anotherterm.
#11 test 1 fully worked once I activated the new setting! 👍
Note the checkbox labels are pretty long and look truncated: they end with "acts as.." and "and similar" here.
One more time thanks a lot!
The original issue is also fixed in the official MkIIIv4 release, and the labels are not truncated anymore, thanks!
from anotherterm.
Related Issues (20)
- Graphical session screen keyboard HOT 7
- Graphical session clipboard support HOT 5
- Graphical session screen keyboard improvements
- Android 9 and UVC (USB_CLASS_VIDEO) external USB cameras (libusb helper feature) HOT 1
- versionCode and releases HOT 14
- Audio in graphical session HOT 3
- About wayland scanner (scan.py) and source generating HOT 2
- MANAGE_EXTERNAL_STORAGE
- Support styled and colored underlines HOT 3
- Terminal color is too dark to see HOT 8
- Built-in command to operate android clipboard HOT 3
- With Font iconsolata not display completely HOT 3
- A mask is displayed when Returning back to terminal HOT 3
- Charset list is not displayed correctly in terminal HOT 6
- termsh cannot send cleartext http request on android 13 HOT 2
- Wayland support: missing XDG-WM-Base protocol HOT 4
- armeabi-v7a re-support HOT 8
- Weird error when trying to execute sh ./repo-linuxcontainers.sh HOT 4
- lsusb after libusb setup crashes debian bookworm root session HOT 8
- Unable to access CTAP2 device to backup in Debian PRoot HOT 6
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from anotherterm.