No, it disables nothing cause continous grab was disabled since ever on OSX for tablet to avoid flickering objects :) Dunno why you inroduced this now, afaik we donĀ“t need it, but i now got odd behaviour with mouse and tablet attached.
Guess we should take all this back on OSX ? Jens Am 07.05.2012 um 12:53 schrieb Brecht Van Lommel: > Revision: 46383 > > http://projects.blender.org/scm/viewvc.php?view=rev&root=bf-blender&revision=46383 > Author: blendix > Date: 2012-05-07 10:53:12 +0000 (Mon, 07 May 2012) > Log Message: > ----------- > GHOST/Cocoa: detect tablet event to disable continuous grab. Don't have tablet > to test it though, can someone with Mac + tablet confirm if continuous grab > gets automatically disabled when using the tablet? > > Modified Paths: > -------------- > trunk/blender/intern/ghost/intern/GHOST_SystemCocoa.h > trunk/blender/intern/ghost/intern/GHOST_SystemCocoa.mm > > Modified: trunk/blender/intern/ghost/intern/GHOST_SystemCocoa.h > =================================================================== > --- trunk/blender/intern/ghost/intern/GHOST_SystemCocoa.h 2012-05-07 > 10:53:09 UTC (rev 46382) > +++ trunk/blender/intern/ghost/intern/GHOST_SystemCocoa.h 2012-05-07 > 10:53:12 UTC (rev 46383) > @@ -247,6 +247,7 @@ > * @return Indication whether the event was handled. > */ > GHOST_TSuccess handleTabletEvent(void *eventPtr, short eventType); > + bool handleTabletEvent(void *eventPtr); > > /** > * Handles a mouse event. > > Modified: trunk/blender/intern/ghost/intern/GHOST_SystemCocoa.mm > =================================================================== > --- trunk/blender/intern/ghost/intern/GHOST_SystemCocoa.mm 2012-05-07 > 10:53:09 UTC (rev 46382) > +++ trunk/blender/intern/ghost/intern/GHOST_SystemCocoa.mm 2012-05-07 > 10:53:12 UTC (rev 46383) > @@ -1421,7 +1421,24 @@ > return GHOST_kSuccess; > } > > +bool GHOST_SystemCocoa::handleTabletEvent(void *eventPtr) > +{ > + NSEvent *event = (NSEvent *)eventPtr; > > + switch ([event subtype]) { > + case NX_SUBTYPE_TABLET_POINT: > + handleTabletEvent(eventPtr, NSTabletPoint); > + return true; > + case NX_SUBTYPE_TABLET_PROXIMITY: > + handleTabletEvent(eventPtr, NSTabletProximity); > + return true; > + default: > + //No tablet event included : do nothing > + return false; > + } > + > +} > + > GHOST_TSuccess GHOST_SystemCocoa::handleMouseEvent(void *eventPtr) > { > NSEvent *event = (NSEvent *)eventPtr; > @@ -1432,6 +1449,8 @@ > //printf("\nW failure for event 0x%x",[event type]); > return GHOST_kFailure; > } > + > + bool is_tablet = false; > > switch ([event type]) > { > @@ -1440,17 +1459,7 @@ > case NSOtherMouseDown: > pushEvent(new GHOST_EventButton([event timestamp]*1000, > GHOST_kEventButtonDown, window, convertButton([event buttonNumber]))); > //Handle tablet events combined with mouse events > - switch ([event subtype]) { > - case NX_SUBTYPE_TABLET_POINT: > - handleTabletEvent(eventPtr, > NSTabletPoint); > - break; > - case NX_SUBTYPE_TABLET_PROXIMITY: > - handleTabletEvent(eventPtr, > NSTabletProximity); > - break; > - default: > - //No tablet event included : do nothing > - break; > - } > + is_tablet = handleTabletEvent(event); > break; > > case NSLeftMouseUp: > @@ -1458,45 +1467,21 @@ > case NSOtherMouseUp: > pushEvent(new GHOST_EventButton([event timestamp]*1000, > GHOST_kEventButtonUp, window, convertButton([event buttonNumber]))); > //Handle tablet events combined with mouse events > - switch ([event subtype]) { > - case NX_SUBTYPE_TABLET_POINT: > - handleTabletEvent(eventPtr, > NSTabletPoint); > - break; > - case NX_SUBTYPE_TABLET_PROXIMITY: > - handleTabletEvent(eventPtr, > NSTabletProximity); > - break; > - default: > - //No tablet event included : do nothing > - break; > - } > + is_tablet = handleTabletEvent(event); > break; > > case NSLeftMouseDragged: > case NSRightMouseDragged: > case NSOtherMouseDragged: > //Handle tablet events combined with mouse events > - switch ([event subtype]) { > - case NX_SUBTYPE_TABLET_POINT: > - handleTabletEvent(eventPtr, > NSTabletPoint); > - break; > - case NX_SUBTYPE_TABLET_PROXIMITY: > - handleTabletEvent(eventPtr, > NSTabletProximity); > - break; > - default: > - //No tablet event included : do nothing > - break; > - } > + is_tablet = handleTabletEvent(event); > > case NSMouseMoved: > { > GHOST_TGrabCursorMode grab_mode = > window->getCursorGrabMode(); > > - /* TODO: CHECK IF THIS IS A TABLET EVENT */ > - bool is_tablet = false; > - > - if (is_tablet && > window->getCursorGrabModeIsWarp()) { > + if (is_tablet && > window->getCursorGrabModeIsWarp()) > grab_mode = GHOST_kGrabDisable; > - } > > switch (grab_mode) { > case GHOST_kGrabHide: //Cursor hidden > grab operation : no cursor move > > _______________________________________________ > Bf-blender-cvs mailing list > bf-blender-...@blender.org > http://lists.blender.org/mailman/listinfo/bf-blender-cvs _____________________________________ Jens Verwiebe - Komposition - Audiotechnik - Allerskehre 44 - 22309 Hamburg Tel.: +49 40 68 78 50 mobil: +49 172 400 49 07 mailto: i...@jensverwiebe.de web: http://www.jensverwiebe.de _____________________________________ _______________________________________________ Bf-committers mailing list Bf-committers@blender.org http://lists.blender.org/mailman/listinfo/bf-committers