From: Jay Freeman (saurik) Date: Sun, 28 Mar 2010 00:05:16 +0000 (+0000) Subject: Fix various mouse cursor position issues. X-Git-Tag: v0.9.3145~1 X-Git-Url: https://git.saurik.com/veency.git/commitdiff_plain/55e20baf092464e45be96ae8d8f9793b92791c4c?ds=inline Fix various mouse cursor position issues. --- diff --git a/Tweak.mm b/Tweak.mm index 4329106..852ad7e 100644 --- a/Tweak.mm +++ b/Tweak.mm @@ -101,25 +101,23 @@ typedef enum { MouseMessageTypeSetEnabled } MouseMessageType; -static void AshikaseSetEnabled(bool enabled, bool always) { - if (!Ashikase(always)) - return; - - CFMessagePortSendRequest(ashikase_, MouseMessageTypeSetEnabled, cursor_ ? cfTrue_ : cfFalse_, 0, 0, NULL, NULL); -} - -static bool AshikaseSendEvent(float x, float y, int buttons = 0) { - if (!Ashikase(false)) - return false; - +static void AshikaseSendEvent(float x, float y, int buttons = 0) { event_.x = x; event_.y = y; event_.buttons = buttons; event_.absolute = true; CFMessagePortSendRequest(ashikase_, MouseMessageTypeEvent, cfEvent_, 0, 0, NULL, NULL); +} - return true; +static void AshikaseSetEnabled(bool enabled, bool always) { + if (!Ashikase(always)) + return; + + CFMessagePortSendRequest(ashikase_, MouseMessageTypeSetEnabled, enabled ? cfTrue_ : cfFalse_, 0, 0, NULL, NULL); + + if (enabled) + AshikaseSendEvent(x_, y_); } MSClassHook(SBAlertItemsController) @@ -230,10 +228,8 @@ static void VNCSettings() { NSNumber *cursor = [settings objectForKey:@"ShowCursor"]; cursor_ = cursor == nil ? true : [cursor boolValue]; - if (clients_ != 0) { + if (clients_ != 0) AshikaseSetEnabled(cursor_, true); - AshikaseSendEvent(x_, y_); - } } } @@ -265,8 +261,10 @@ static void VNCPointer(int buttons, int x, int y, rfbClientPtr client) { rfbDefaultPtrAddEvent(buttons, x, y, client); - if (AshikaseSendEvent(x, y, buttons)) + if (Ashikase(false)) { + AshikaseSendEvent(x, y, buttons); return; + } mach_port_t purple(0); diff --git a/control b/control index 69b494b..b7f4f57 100644 --- a/control +++ b/control @@ -5,7 +5,7 @@ Priority: optional Section: Networking Maintainer: Jay Freeman (saurik) Architecture: iphoneos-arm -Version: 0.9.3143-1 +Version: 0.9.3144-1 Description: a VNC /server/ for the iPhone Name: Veency Depends: mobilesubstrate (>= 0.9.2966-1), libvncserver, com.saurik.iphone.ske, preferenceloader, jp.ashikase.mousesupport | firmware (<< 3.0)