Java SwingでNumlockキーを再マップするにはどうすればよいですか?
-
28-10-2019 - |
質問
あなたは私を読んだかもしれません 以前の質問 Javaの低レベルでキーボードを再マッピングすることについて、私は解決策を見つけました - ほとんど。
正直に言うと、私は解決しようとしていた問題を単純化しすぎました。 NumericKeypad 1-3から7-9を一致させたいだけでなく、その逆も同様です。数値キーパッド全体を再マッピングしたいと思います。特に、そのキーパッドの一部であるNumlockキーを再マッピングする必要があります。これはシステムレベルで傍受されているようで、マップしてキャラクターを放出することはできません。
私が望んでいるのは、アプリケーションを実行するとき、NumlockキーはシステムNumlock設定を切り替えるのではなく、代わりに他のキーを発するということです。
私はここでJavaで何が可能かの領域を超えていますか?または、この低レベルまで掘り下げてこれを達成する方法がありますか。
解決 2
私が思いついたソリューションはすべての人には機能しませんが、実際にはユースケースで最適です。
Windowsレジストリを使用して、キーボードの再マッピングを行います。
それは永続的で、JNIやデバイスドライバーの書き込みを必要としません。私たちの場合、他のアプリケーションのキーボードを台無しにする心配はありません。とてもシンプルです。
これを行う必要があり、このハックで逃げることができる場合、それは費用対効果の高いソリューションです。
他のヒント
それがあなたが望むものであるかどうかはわかりませんが、あなたはこれを見るかもしれません ゲーム キーイベントエディター、これに描かれています スクリーンショット で実装されています org.gcs.robot.RCKeys
.