我正在为Xamarin Android应用程序创建自定义键盘。我有它的工作,并且我的听众接收到输入。我的问题是参数Android.Views.Keycode。此枚举没有所有可能的键。我发现如果用MetaKeyStates.ShiftOn创建KeyEvent,其中的一些会生成正确的击键。但是即使如此,我仍然找不到{}键的正确组合。对于哪个键或键/ MetaState组合映射到退格键,Next,Done等,似乎也没有明确的答案。
我还没有找到说明哪个Keyode与所需的MetaState一起生成哪些按键的文档。是否存在此类文档?没有人有详尽的示例显示哪个键码和哪个元状态创建哪些字符吗?
此外,对于我的键盘,!和?字符将以正常文本显示在屏幕上。我是否需要为它们使用自定义的键控代码,以便我能分辨出它们与具有相同键控代码但没有元状态的字符之间的区别?
答案 0 :(得分:1)
为什么要使用键码?这些用于硬件按钮。软件键盘通常使用InputConnection.commitText并完全跳过键码。
下一步,完成等是操作按钮。那是InputConnection- performEditorAction的另一个调用。
删除通常是通过InputConenction.deleteSurroundingText完成的。
班次通常是内部状态,不与任何键码相关。
基本上,您做错了所有事情。这是android的实现,我假设xamarin有它的包装器。 https://developer.android.com/reference/android/view/inputmethod/InputConnection