Androidアクティビティで押されたキーのコードを取得しようとしています
@Override
public boolean onKeyDown(int keyCode, KeyEvent event){
char ch = (char) event.getUnicodeChar();
return super.onKeyDown(keyCode, event);
}
ただし、keyCode はキーボード レイアウトに依存しません。ラテン文字の場合は問題なく動作しますが、非ラテン文字の場合、たとえば "П"、"Э"、"б" (ロシア語) keyCode は、押されたキーからラテン記号のコードを返します。そのキーコードは、キーボードレイアウトではなく、キーのみに依存しているようです。
このように、ラテン記号 G のキーは、すべてのキーボード レイアウトに対して G の keyCode を返します。
どうすれば解決できますか?