diff -r ecbabf52600f -r bd83ceabce89 textinput/peninputarc/src/peninputanim/peninputanim.cpp --- a/textinput/peninputarc/src/peninputanim/peninputanim.cpp Wed Sep 01 12:23:33 2010 +0100 +++ b/textinput/peninputarc/src/peninputanim/peninputanim.cpp Tue Sep 14 21:59:06 2010 +0300 @@ -241,6 +241,7 @@ case TRawEvent::EButton1Up: { pointerEvent.iType = TPointerEvent::EButton1Up; + pointerEvent.iPosition = aRawEvent.Pos(); break; } case TRawEvent::EPointerMove: @@ -259,17 +260,25 @@ return ETrue; } + TRawEvent rawEvent = aRawEvent; + if ( aRawEvent.Type() == TRawEvent::EButton1Up + && aRawEvent.Pos() != pointerEvent.iPosition ) + { + rawEvent.Set( TRawEvent::EButton1Up, + pointerEvent.iPosition.iX, + pointerEvent.iPosition.iY ); + } switch(aRawEvent.Type()) { case TRawEvent::EKeyUp: case TRawEvent::EKeyDown: { - return OnRawKeyEvent(aRawEvent); + return OnRawKeyEvent( rawEvent ); } case TRawEvent::EButton1Down: { - TBool used = OnRawButton1Down(aRawEvent); + TBool used = OnRawButton1Down( rawEvent ); if ( used ) { @@ -280,19 +289,19 @@ } case TRawEvent::EButton1Up: { - TBool used = OnRawButton1Up(aRawEvent); + TBool used = OnRawButton1Up( rawEvent ); StopTimer(); return used; } case TRawEvent::EPointerMove: { - return OnRawPointerMove(aRawEvent); + return OnRawPointerMove( rawEvent ); } default: { return EFalse; - } - } + } + } } // --------------------------------------------------------------------------- @@ -695,6 +704,18 @@ SetDiscreeptPop(area); } break; + case EPeninputOpUpdatePointerSuppressor: + { + TPointerEventSuppressorParameters parameters; + TPckg msgData( parameters ); + msg->ReadL( KMsgSlot1, msgData ); + + iPointerEventSuppressor->SetMaxTapMove( parameters.iMoveEventMaxMovement ); + iPointerEventSuppressor->SetMaxTapDuration( parameters.iMoveEventTimeout ); + iPointerEventSuppressor->SetMaxDownUpMove( parameters.iUpEventMaxMovement ); + iPointerEventSuppressor->SetMaxDownUpDuration( parameters.iUpEventTimeout ); + } + break; default: // unsupported opcode, panic the client {