From d892ba168b178d5adac2db777b3dfc912543d40b Mon Sep 17 00:00:00 2001 From: Ruben Bakker Date: Tue, 29 Dec 2015 21:52:18 +0200 Subject: Reduce cursor warp delay with CGAssociateMouseAndMouseCursorPosition --- src/api/cocoa/mod.rs | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) (limited to 'src/api/cocoa/mod.rs') diff --git a/src/api/cocoa/mod.rs b/src/api/cocoa/mod.rs index 2a5f3ec..a720a51 100644 --- a/src/api/cocoa/mod.rs +++ b/src/api/cocoa/mod.rs @@ -766,14 +766,16 @@ impl Window { #[inline] pub fn set_cursor_position(&self, x: i32, y: i32) -> Result<(), ()> { + let (window_x, window_y) = self.get_position().unwrap_or((0, 0)); + let (cursor_x, cursor_y) = (window_x + x, window_y + y); + unsafe { - let (window_x, window_y) = self.get_position().unwrap_or((0, 0)); - let (cursor_x, cursor_y) = (window_x + x, window_y + y); - // TODO: Check for errors. let _ = CGWarpMouseCursorPosition(CGPoint { x: cursor_x as CGFloat, y: cursor_y as CGFloat }); - Ok(()) + let _ = CGAssociateMouseAndMouseCursorPosition(true); } + + Ok(()) } } -- cgit v1.2.3