commit 28afa898ee3281afde739c9a09e59264680756ae
parent d9e047e5d5560912da6d2860fa25e427322f08bb
Author: Russ Cox <rsc@swtch.com>
Date: Sat, 6 Feb 2010 22:16:46 -0800
devdraw: fix support for multitouch trackpads
R=rsc
http://codereview.appspot.com/203059
Diffstat:
1 file changed, 8 insertions(+), 8 deletions(-)
diff --git a/src/cmd/devdraw/osx-screen-carbon.m b/src/cmd/devdraw/osx-screen-carbon.m
@@ -182,7 +182,7 @@ classifyTouch(Touch *t)
if((t->timestamp - tracks[i].firstThreshTime) < kTimeSensitivity) {
return 0;
}
- if(p.y > kButtonLimit && t->size > kSizeSensitivity ) {
+ if(p.y > kButtonLimit && t->size > kSizeSensitivity) {
if(p.x < 0.35)
return 1;
if(p.x > 0.65)
@@ -604,18 +604,18 @@ mouseevent(EventRef event)
GetEventParameter(event, kEventParamKeyModifiers,
typeUInt32, 0, sizeof mod, 0, &mod);
+ // OS X swaps button 2 and 3
+ but = (but & ~6) | ((but & 4)>>1) | ((but&2)<<1);
+ but = (but & ~((1<<10)-1)) | mouseswap(but & ((1<<10)-1));
if(osx.touched) {
// in multitouch we use the clicks down to enable our
// virtual buttons.
- if(but & 0x3)
- but = but >> 29;
- else
+ if(but & 0x7) {
+ if(but>>29)
+ but = but >> 29;
+ } else
but = 0;
osx.touched = 0;
- } else {
- // OS X swaps button 2 and 3
- but = (but & ~6) | ((but & 4)>>1) | ((but&2)<<1);
- but = mouseswap(but);
}
// Apply keyboard modifiers and pretend it was a real mouse button.