У меня есть приложение с NativeActivity.
Я хочу показать экранную клавиатуру и прослушать нажатия клавиш. Все работает нормально, когда я печатаю на английском языке, но когда я переключаю клавиатуру на русский, я получаю только нули для кода клавиши, метастата и т. д.
Чтобы показать клавиатуру, я использую этот код:
InputMethodManager imm = (InputMethodManager) activity.getSystemService( Context.INPUT_METHOD_SERVICE );
View view = activity.getWindow( ).getDecorView( );
imm.showSoftInput( view, 0 );
Я получаю события клавиатуры в функции onInputEvent в NativeActivity:
int32_t eventType = AInputEvent_getType( event );
if( eventType == AINPUT_EVENT_TYPE_KEY )
{
int32_t keyAction = AKeyEvent_getAction( event );
int32_t keyCode = AKeyEvent_getKeyCode( event );
int32_t repeatCount = AKeyEvent_getRepeatCount( event );
int32_t keyFlags = AKeyEvent_getFlags( event );
int32_t keyScanCode = AKeyEvent_getScanCode( event );
int32_t keyMetaState = AKeyEvent_getMetaState( event );
LOGW( "EventType = AINPUT_EVENT_TYPE_KEY, keyAction = %d, keyCode = %d, repeatCount = %d, keyFlags = %d, keyScan = %d, keyMeta = %d", keyAction, keyCode, repeatCount, keyFlags, keyScanCode, keyMetaState );
}
И я получаю все параметры события как нули.
Как я могу это решить?