我正在寻找一种从Android NativeActivity获取软件键盘输入的方法。
我找到了this,它提供了一些示例代码,说明如何将软件键盘输出(并且可以正常工作),但缺少一些兴趣点:
如果有人对这些问题中的任何一个有任何答案,或者更好的是,一种更简单的方法来显示不需要使用JNI的键盘,请分享。
提前致谢,
的Jaime
答案 0 :(得分:4)
如果有人想知道,你可以通常的方式访问键盘输入,在你的回调分配到struct android_app,你得到AInputEvents:
if (AInputEvent_getType(event) == AINPUT_EVENT_TYPE_KEY)
{
lint32_t key_val = AKeyEvent_getKeyCode(event);
fprintf("Received key event: %d\n", key_val);
if((key_val >= AKEYCODE_A && key_val <= AKEYCODE_Z))
{
fprintf("Got a letter");
}
return 0;
}
您还可以通过检查AKEYCODE_BACK或AKEYCODE_VOLUME_UP等密钥代码来访问其他“硬件”按钮。
答案 1 :(得分:0)
要检查的另一个重要事项是关键操作(按键,按键或混音),否则您将对keyup和keydown做出反应。以下是检查密钥的方法:
if(AKeyEvent_getAction(event) == AKEY_EVENT_ACTION_UP)
fprintf("key up!");