diff -r 9e048f93dc24 -r 823021ef148e windowing/windowserver/nonnga/SERVER/POINTER.CPP --- a/windowing/windowserver/nonnga/SERVER/POINTER.CPP Tue May 18 14:02:18 2010 +0100 +++ b/windowing/windowserver/nonnga/SERVER/POINTER.CPP Mon May 24 14:11:29 2010 +0900 @@ -9,6 +9,7 @@ // Nokia Corporation - initial contribution. // // Contributors: +// Sharp Corporation - contribution of modification for Enhancement of Pointer Event. // // Description: // Pointer functions @@ -404,11 +405,12 @@ #endif TRawEvent::TType type=aRawEvent.Type(); if (typeTRawEvent::EPointerSwitchOn && typeTRawEvent::EButton3Up) + || (type>TRawEvent::EButton3Up && typeTRawEvent::EGestureCustom9) return ETrue; if (!XyInput()) return EFalse; - TPoint xy=aRawEvent.Pos(); + TRawEvent_Local* pEventLocal = (TRawEvent_Local*)&aRawEvent ; + TPoint xy=pEventLocal->GetPos(); if (DeltaMouse()) { #if defined(__WINS__) @@ -451,8 +453,9 @@ } void WsPointer::ProcessEvent(TPointerEvent::TType aType, const TPoint &aPos, TUint aModifiers - ,const CWsWindowGroup *aForceInGroup,TBool aNatural) + ,const CWsWindowGroup *aForceInGroup,TBool aNatural, const TRawEvent* aEvent) { + TRawEvent_Local* pEventLocal = (TRawEvent_Local*)aEvent ; iCurrentPos=aPos; if (aType==TPointerEvent::EMove && !MovesAvailable() && !iPointerDown) return; @@ -464,6 +467,14 @@ pointerEvent.iModifiers=aModifiers; pointerEvent.iPosition=pos; pointerEvent.iParentPosition=parPos; + if(aEvent!=NULL){ + if (aEvent->DeviceNumber() == 1) + pointerEvent.iModifiers|=0x80000000; + TUint addr = reinterpret_cast(&pointerEvent) + sizeof(TPointerEvent); + TPoint* extPtr = reinterpret_cast(addr); + extPtr->iX=pEventLocal->GetZ(); + extPtr->iY=pEventLocal->GetPhi(); + } switch(aType) { case TPointerEvent::EButton1Down: