2

ちょっと変わった質問かもしれませんが、マウス用のソフトウェアはどのように機能するのでしょうか? (特に OSX 上で)

OSX でマウスを動かしたい場合は、次のコードを使用しています。

CGAssociateMouseAndMouseCursorPosition(0);
CGWarpMouseCursorPosition(point); // point is of type NSPoint
CGAssociateMouseAndMouseCursorPosition (1);

ただし、これによりカーソルがジャンプします (場合によっては遅れることもあります)。マウス (またはトラックパッド) はどのようにして滑らかになるのでしょうか? 彼らはどのような API を使用していますか?

同様に、たとえば、このコードを使用してカーソルをドック上に移動すると、通常はトラックパッドを使用してカーソルをそこに移動しても、ドックは拡大されません (拡大がオンになっています)。なんで?

4

1 に答える 1

3

あなたの質問は、「マウスデバイス ドライバーはどのように機能するのですか?」ということです。

IOKit、特にHID ファミリーをよく見てください。

マウスの動きをシミュレートしたいだけの場合は、 でマウス イベントを作成しCGEventCreateMouseEvent、 でポストすることもできますCGEventPost

于 2013-01-11T06:12:27.183 に答える