warp_mouse_pos for osx
Just copied windows behavior.
This commit is contained in:
parent
46135affac
commit
72558b6173
1 changed files with 14 additions and 1 deletions
|
@ -1070,7 +1070,20 @@ bool OS_OSX::is_mouse_grab_enabled() const {
|
||||||
|
|
||||||
void OS_OSX::warp_mouse_pos(const Point2& p_to) {
|
void OS_OSX::warp_mouse_pos(const Point2& p_to) {
|
||||||
|
|
||||||
//not done, must be done
|
//copied from windows impl with osx native calls
|
||||||
|
if (mouse_mode == MOUSE_MODE_CAPTURED){
|
||||||
|
mouse_x = p_to.x;
|
||||||
|
mouse_y = p_to.y;
|
||||||
|
}
|
||||||
|
else{ //set OS position
|
||||||
|
CGPoint lMouseWarpPos = {p_to.x, p_to.y};
|
||||||
|
|
||||||
|
CGEventSourceRef lEventRef = CGEventSourceCreate(kCGEventSourceStateCombinedSessionState);
|
||||||
|
CGEventSourceSetLocalEventsSuppressionInterval(lEventRef, 0.0);
|
||||||
|
CGAssociateMouseAndMouseCursorPosition(false);
|
||||||
|
CGWarpMouseCursorPosition(lMouseWarpPos);
|
||||||
|
CGAssociateMouseAndMouseCursorPosition(true);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
Point2 OS_OSX::get_mouse_pos() const {
|
Point2 OS_OSX::get_mouse_pos() const {
|
||||||
|
|
Loading…
Reference in a new issue