XQuartz: Fixed proximity logic errors for tablets.

This commit is contained in:
Jeremy Huddleston 2008-09-04 08:55:22 -07:00
parent 4904e04ce6
commit d942849f24

View file

@ -906,7 +906,7 @@ extern int darwin_modifier_flags; // darwinEvents.c
tilt_y = [e tilt].y;
}
if([e subtype] != NSTabletProximityEventSubtype) {
if([e subtype] == NSTabletProximityEventSubtype) {
switch([e pointingDeviceType]) {
case NSEraserPointingDevice:
darwinTabletCurrent=darwinTabletEraser;
@ -931,21 +931,19 @@ extern int darwin_modifier_flags; // darwinEvents.c
break;
case NSTabletProximity:
if([e subtype] != NSTabletProximityEventSubtype) {
switch([e pointingDeviceType]) {
case NSEraserPointingDevice:
darwinTabletCurrent=darwinTabletEraser;
break;
case NSPenPointingDevice:
darwinTabletCurrent=darwinTabletStylus;
break;
case NSCursorPointingDevice:
case NSUnknownPointingDevice:
default:
darwinTabletCurrent=darwinTabletCursor;
break;
}
}
switch([e pointingDeviceType]) {
case NSEraserPointingDevice:
darwinTabletCurrent=darwinTabletEraser;
break;
case NSPenPointingDevice:
darwinTabletCurrent=darwinTabletStylus;
break;
case NSCursorPointingDevice:
case NSUnknownPointingDevice:
default:
darwinTabletCurrent=darwinTabletCursor;
break;
}
DarwinSendProximityEvents([e isEnteringProximity]?ProximityIn:ProximityOut,
pointer_x, pointer_y);