diff options
author | Jens Verwiebe <info@jensverwiebe.de> | 2013-03-20 20:51:50 +0400 |
---|---|---|
committer | Jens Verwiebe <info@jensverwiebe.de> | 2013-03-20 20:51:50 +0400 |
commit | 09a604561d39db04330da1c1833be3b6fa1329b6 (patch) | |
tree | f724af8f8eac85d704d78ff1c5aa7fd9229af51d | |
parent | d6ad96e2a9348ba64df15bf41754f00f6f47b880 (diff) |
OSX/tablet: fix a longstanding bug with certain devices and a cornercases
-rw-r--r-- | intern/ghost/intern/GHOST_SystemCocoa.mm | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/intern/ghost/intern/GHOST_SystemCocoa.mm b/intern/ghost/intern/GHOST_SystemCocoa.mm index 37fee1570e9..6fcd0d91779 100644 --- a/intern/ghost/intern/GHOST_SystemCocoa.mm +++ b/intern/ghost/intern/GHOST_SystemCocoa.mm @@ -1404,6 +1404,12 @@ GHOST_TSuccess GHOST_SystemCocoa::handleTabletEvent(void *eventPtr, short eventT switch (eventType) { case NSTabletPoint: + // workaround 2 cornercases: + // 1. if [event isEnteringProximity] was not triggered since program-start + // 2. device is not sending [event pointingDeviceType], due no eraser + if (ct.Active == GHOST_kTabletModeNone) + ct.Active = GHOST_kTabletModeStylus; + ct.Pressure = sqrtf(powf([event pressure], 5 )); // experimental: change sensivity curve ct.Xtilt = [event tilt].x; ct.Ytilt = [event tilt].y; |