2

Androidアクティビティで押されたキーのコードを取得しようとしています

@Override
public boolean onKeyDown(int keyCode, KeyEvent event){
    char ch = (char) event.getUnicodeChar();
    return super.onKeyDown(keyCode, event);
}

ただし、keyCode はキーボード レイアウトに依存しません。ラテン文字の場合は問題なく動作しますが、非ラテン文字の場合、たとえば "П"、"Э"、"б" (ロシア語) keyCode は、押されたキーからラテン記号のコードを返します。そのキーコードは、キーボードレイアウトではなく、キーのみに依存しているようです。

このように、ラテン記号 G のキーは、すべてのキーボード レイアウトに対して G の keyCode を返します。

どうすれば解決できますか?

4

1 に答える 1

1

ここで説明されているように KeyCharacterMap を使用してみましたか? 見る:

http://developer.android.com/reference/android/view/KeyCharacterMap.html

Android KeyEvent からメタ状態を取得できません

于 2013-11-24T14:56:47.097 に答える