仮想キーボードの入力方法の実装で問題に直面しています。現在、仮想キーボードから任意のアプリケーションに入力を送信するためにロボット クラスを使用しています。しかし、そのためには、キーコードとユニコードのマッピングを作成する必要があります。これは、異なるキーボード レイアウトでは一貫していません。キーコードとユニコード間のマッピングを気にせずに、インプット メソッドを使用して UNICODE を任意のアプリケーションに直接渡すことができます。
有用なリンクやサンプル コードは役に立ちます。
これは、常に任意のアプリケーションの上にあり、オンスクリーン キーボードとして機能する単純な Java プログラムです。マウスを使用してキーボードの任意のボタン (キー) を押すと、対応する文字が下で実行されているアプリケーションに入力されます。これは、英語のアルファベットに最適です。ユニコードをやっているときに問題に直面しています。
以下のコードスニペットを見つけてください
public static void simulateKeyEvent(char key){
try{
AWTKeyStroke awtKS = AWTKeyStroke.getAWTKeyStroke(key);
int key_code = awtKS.getKeyCode();
System.out.println("key = "+key+" keyCode = "+key_code);
robot.keyPress(key_code);
robot.keyRelease(key_code);
}catch(Exception e){
e.printStackTrace();
}
}