锁定光标轴 - MacOS

时间:2018-01-09 03:18:52

标签: swift macos

我想知道是否可以锁定光标的x轴或y轴?

我一直在玩 CGWarpMouseCursorPosition(),只要我想锁定一个轴,将鼠标的x或y位置设置为 mouseMoved()中的某个值,但这似乎不起作用。

谢谢!

修改

如果按下X键:

if !xLocked {
    xLocked = true
    xLockPos = view!.window!.mouseLocationOutsideOfEventStream.x 
}

如果按下Y键:

if !yLocked {
    yLocked = true
    yLockPos = view!.window!.mouseLocationOutsideOfEventStream.y 
}

我在更新() mouseMoved()中尝试了以下内容:

if xLocked {
    CGWarpMouseCursorPosition(CGPoint(x: xLockPos, y: view!.window!.mouseLocationOutsideOfEventStream.y))
}

if yLocked {
    CGWarpMouseCursorPosition(CGPoint(x: view!.window!.mouseLocationOutsideOfEventStream.x, y: yLockPos))
}

无法弄清楚我哪里出错了。再次感谢。

1 个答案:

答案 0 :(得分:1)

您可以使用CGAssociateMouseAndMouseCursorPosition断开指针移动与鼠标移动。然后,您可以使用CGWarpMouseCursorPosition在接收鼠标事件时仅沿一个轴移动鼠标。