Mac OS X, Intuos tablet fix
Touch input events map nicely to trackpad input now. However, I noticed the event values are a factor 10 scaled larger compared to other touch delta's. Makes using touch input on the tablet not so nice. I found a hack to detect Wacom events, but if it works for more devices? Anyway - for me the Wacom works perfectly smooth for view manipulations now.
This commit is contained in:
@@ -1599,7 +1599,8 @@ GHOST_TSuccess GHOST_SystemCocoa::handleMouseEvent(void *eventPtr)
|
|||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
|
|
||||||
/* these events only happen on swiping trackpads */
|
/* these events only happen on swiping trackpads or tablets */
|
||||||
|
/* warning: using tablet + trackpad at same time frustrates this static variable */
|
||||||
case NSEventTypeBeginGesture:
|
case NSEventTypeBeginGesture:
|
||||||
m_hasMultiTouchTrackpad = 1;
|
m_hasMultiTouchTrackpad = 1;
|
||||||
break;
|
break;
|
||||||
@@ -1633,9 +1634,17 @@ GHOST_TSuccess GHOST_SystemCocoa::handleMouseEvent(void *eventPtr)
|
|||||||
double dy;
|
double dy;
|
||||||
|
|
||||||
#if MAC_OS_X_VERSION_MIN_REQUIRED >= 1070
|
#if MAC_OS_X_VERSION_MIN_REQUIRED >= 1070
|
||||||
|
int phase = [event phase];
|
||||||
|
|
||||||
/* with 10.7 nice scrolling deltas are supported */
|
/* with 10.7 nice scrolling deltas are supported */
|
||||||
dx = [event scrollingDeltaX];
|
dx = [event scrollingDeltaX];
|
||||||
dy = [event scrollingDeltaY];
|
dy = [event scrollingDeltaY];
|
||||||
|
|
||||||
|
/* however, wacom tablet (intuos5) needs old deltas, it then has momentum and phase at zero */
|
||||||
|
if (phase == 0 && momentum==NULL) {
|
||||||
|
dx = [event deltaX];
|
||||||
|
dy = [event deltaY];
|
||||||
|
}
|
||||||
|
|
||||||
#else
|
#else
|
||||||
/* trying to pretend you have nice scrolls... */
|
/* trying to pretend you have nice scrolls... */
|
||||||
|
Reference in New Issue
Block a user