ホストアプリケーションがコンピューターのGUIと対話するためにどのような方法を使用しているかについてはまだ述べていません。生のX11?GTK +(とりわけGnomeアプリケーションで使用される)やQt(とりわけKDEアプリケーションで使用される)のようなツールキット?MacOSの場合、ホストアプリケーションはネイティブGUIまたはX11を使用していますか?実際、ホストアプリケーションにGUIがあると想定できるかどうかさえ、はっきりしていません。
ホストアプリケーションがツールキットを使用していて、それがどのツールキットであるかがわかっている場合は、ツールキットが提供する機能を使用してマウスイベントを取得する必要があります。
ホストアプリケーションがGUIに対して何をしているのかわからない場合、またはGUIがある場合でも、いつでもX11をバイパスしてマウスに直接アクセスできますが、これには大きな注意点があります。アクセスしているかどうかをどのように知ることができますか。正しいマウス?ホストホストアプリケーションがリモートX11ディスプレイで実行されている可能性があること、またはSSH接続を介して一部のリモートマシンで実行されている非GUIアプリケーションである可能性があることに注意してください。アプリケーションを実行しているコンピューターにマウスが接続されていますか(ある場合でも!)、本当に必要なマウスですか?
それでもこのアプローチを続行したい場合は、Linuxで仮想デバイスを開くことができます...またはまたはなど/dev/input/mice
を使用して特定のマウスを開くことができます...このデバイスから読み取ると、PS/2形式のデータが得られます。/dev/input/mouse0
/dev/input/mouse1