我为 Mac 制作了一个 iphone 远程鼠标控制器应用程序:iPhone 应用程序将坐标值发送到 Mac,然后 Mac 处理鼠标位置值。
要获取 Mac 上的当前鼠标位置,接收器调用 [NSEvent mouseLocation]。
x 的值总是正确的,但 y 的值是错误的。
我使用“while”循环来处理这个事件。
while (1) {
mouseLoc = [NSEvent mouseLocation];
while ((msgLength = recv(clientSocket, buffer, sizeof(buffer), 0)) != 0) {
CGPoint temp;
temp.x = mouseLoc.x;
temp.y = mouseLoc.y; // wrong value
........
y 值在每个循环周期都不同。例如,第一次循环时 y 值为 400,下一次循环时 y 值为 500;然后 y 在下一个循环中再次为 400。
鼠标指针不断上下,两个不同的y值之和总是900。(我想是因为屏幕分辨率是1440 * 900。)
我不知道它为什么会发生,该怎么做,以及如何调试它。