2

java.awt.Robotこのクラスを使用して仮想キーボードを実装したいと考えています。メソッドを使用して、キーの位置(左または右)とともにキーコードを送信する方法があるかどうか疑問に思っていますkeyPress(int)KeyListenerawt 要素にa を追加すると、それが左または右のボタンであった場合、aKeyEventによってトリガーされるctrlか、情報が含まれます。shift

ドキュメントには次のように記載されています。

複数の物理キーが関連付けられているキー コード (たとえばKeyEvent.VK_SHIFT、左シフト キーまたは右シフト キーのいずれかを意味する可能性があります) は、左キーにマップされます。

right shiftしかし、本当に押されたものを送る方法はありませんか? 一部のアプリケーション (VirtualBox など) には、これらの右ボタンが必要です (確かに、これらのアプリケーションを構成することはできますが、仮想キーボードのオプションはありません)。

Robotそれで...クラスでこれを行う方法はありますか?Javaでより具体的なキーイベントを送信する別の方法はありますか?

4

1 に答える 1

0

java.awt.Robotさらに検索した結果、現在、それは正しい選択ではない可能性があると思います。ドイツ語のウムラウトなど、jvm にキー コードが割り当てられていない特別なキーを送信すると、問題が発生することが知られています。

だから私はこの質問に「Robotクラスでそれを行う方法はありません」と自分で答えます。

于 2010-09-08T22:48:17.657 に答える