![]() ![]() Now, if CGEventCallback sees the lift first, the MouseUp event goes through. Then when the third finger lifts, a MouseUp event may be registered. The system considers the mouse to be down. ![]() A MouseDown event is registered with 3 fingers, so it is not dropped. So to perform a "Two-fix Middle-Double-Tap", two fingers are held down and a third is tapped, so gestureTrackpadOneFixOneTap sets twoFingersDistance to 100. Within trackpadCallback, gestureTrackpadOneFixOneTap sets the variable twoFingersDistance:Īnd, in CGEventCallback, a MouseUp or MouseDown event is dropped if two fingers are down and twoFingersDistance is < 0.3. It appears that the freeze is the result of a race condition between two different API's callbacks: the MTRegisterContactFrameCallback function trackpadCallback:Īnd the CGEventTap callback function CGEventCallback: Ok, so I tried running doCommand in a separate thread and it didn't fix this issue. The hang only gets broken when the system sends a timeout signal to Jitouch, which resets the eventTap, allowing inputs to pass through. The temporary UI freeze means one of the UI callback functions is not responding, possibly the gestureTrackpadTwoFixOneDoubleTap function, perhaps the doCommand inside of that, as I don't see much possibility for an infinite loop or other hang in that function. 19:47:07.104 Jitouch Reloading gestures. ![]()
0 Comments
Leave a Reply. |
AuthorWrite something about yourself. No need to be fancy, just an overview. ArchivesCategories |