Javaで複数のマウス入力を処理するにはどうすればよいですか?
質問
友人から、リアルタイムのオーディオミキシングのミキシングデスクシナリオを迅速化するために、2つの別々のマウスの入力を表すために青と赤のポインターを実装するように頼まれました。私はしたいのですが、それは素晴らしいアイデアだと思うのと同じくらい、可能な解決策をどこから探し始めればいいのか分かりません。
デュアルマウス入力を実装する実行可能な方法の研究はどこから始めればよいですか
解決
jinput をご覧ください。
複数のキーボードを使用しており、複数のマウスもサポートしていることはほぼ確実です。
他のヒント
java ..について知らないが、C#/ c ++の場合は試してみることができます Microsoft Windows MultiPointソフトウェア開発キット
Windowsで試しました。2つのUSBマウスで動作します。
使用するオペレーティングシステムによって異なります。
Windows では、次を使用できます。
- CPNMouse -ドライバーとソフトウェアの組み合わせ。非常に柔軟で、マウスの一部を完全に隠すことができます。オペレーティングシステム。
- RawInput -Windows XPのみが提供するAPI。これを使用して、2つのマウス入力を区別し、カーソルを自分で描画して、メインカーソルを非表示にすることができます。このAPIのC#の使用法である SDGT のコードを見てください。
- 両方のソリューションでは、アプリケーションへのJNIブリッジを構築する必要があります
X.Org(X11)サーバーを使用している場合、 MPX は、レガシーアプリケーションでも複数のマウスをサポートする必要があります。これはX.Orgトランクの一部になっているはずですが、私はあまり詳しくありません。とにかくAPIがあるので、JNIブリッジ経由で使用できます。
複数のデバイスを使用できますが、Javaレベルでは、すべてのマウスイベントが1つのストリームに結合されます。イベントには、どのマウスからのものかは含まれません。オーディオをミックスしたいとおっしゃいましたよね?まあ、このミックスは面白いかもしれませんが、確かにあなたが望むものではありません。
JavaでサポートされているMIDIインターフェースを使用し、いくつかのシンプルなMIDIコントローラーデバイスを複数のノブまたはトラックボールに接続することをお勧めします。これらはmidiイベントとして入力され、必要な詳細について状態を調べることができます。