android中非拉丁字符的识别
我正在尝试在我的android活动中获取按键的代码android中非拉丁字符的识别,android,keycode,onkeydown,non-latin,Android,Keycode,Onkeydown,Non Latin,我正在尝试在我的android活动中获取按键的代码 @Override public boolean onKeyDown(int keyCode, KeyEvent event){ char ch = (char) event.getUnicodeChar(); return super.onKeyDown(keyCode, event); } 但键盘代码并不取决于键盘布局。 对于拉丁字符,它可以正常工作,但对于非拉丁字符,例如“П”、“Б”、“б”(俄语)keyCode会从按
@Override
public boolean onKeyDown(int keyCode, KeyEvent event){
char ch = (char) event.getUnicodeChar();
return super.onKeyDown(keyCode, event);
}
但键盘代码并不取决于键盘布局。
对于拉丁字符,它可以正常工作,但对于非拉丁字符,例如“П”、“Б”、“б”(俄语)keyCode会从按下的键返回拉丁符号的代码。看起来,按键代码只取决于按键,而不是键盘布局
这样,带有拉丁符号G的键将为每个键盘布局返回G的键码
如何解决此问题?您是否尝试过使用此处描述的KeyCharacterMap?见:
keyCharacterMap等待整数键码。公共布尔onKeyDown(int-keyCode,KeyEvent事件){KeyCharacterMap km=KeyCharacterMap.load(KeyCharacterMap.FULL);setNotification(“+km.getDisplayLabel(keyCode));return super.onKeyDown(keyCode,event);}但此键码对于所有键盘布局都是相同的。数据状态用于alt、ctrl、caps等键,不适用于键盘布局(语言)