diff -r f5a1e66df979 -r a47de9135b21 textinput/peninputarc/src/peninputanim/peninputanim.cpp --- a/textinput/peninputarc/src/peninputanim/peninputanim.cpp Fri Feb 19 23:09:27 2010 +0200 +++ b/textinput/peninputarc/src/peninputanim/peninputanim.cpp Fri Mar 12 15:44:07 2010 +0200 @@ -810,6 +810,15 @@ DoTactileFeedBack(aRawEvent.Pos() - rect.iTl); #endif // RD_TACTILE_FEEDBACK iIsPenDown = ETrue; + + // Fix bug HMNN-82CDU5 + // When button downing event is happened, iIsMove is reset to EFalse + iIsMove = EFalse; + + // Recording pointer that button is pressing down in at this time + iPointerDown = aRawEvent.Pos(); + // + PostRawEvent(aRawEvent); return ETrue; } @@ -841,6 +850,19 @@ } if(iIsPenDown) { + + // Fix bug HMNN-82CDU5 + // When the control key pressing down in is different with the control key pressing up + // and pointer moving event isn¡¯t happened, + // pointer moving event will is supplied + if(iPointerDown != aRawEvent.Pos() && !iIsMove) + { + TRawEvent rawEvent = aRawEvent; + rawEvent.Set( TRawEvent::EPointerMove ); + OnRawPointerMove(rawEvent); + } + // + iIsPenDown = EFalse; TRect rect(iSpritePosition, iSpriteSize); @@ -848,6 +870,12 @@ { //send pen up event immediately SendRawEvent(aRawEvent); + + // Fix bug HMNN-82CDU5 + // When key pressing up event is completed, iIsMove is reset to EFalse. + iIsMove = EFalse; + // + return ETrue; } } @@ -880,6 +908,11 @@ { //give tactile feedback + // Fix bug HMNN-82CDU5 + // When pointer moving event is happened, iIsMove is set to ETrue + iIsMove = ETrue; + // + PostRawEvent(aRawEvent); return ETrue; } @@ -887,6 +920,12 @@ if(iIsPointerCaptured || iIsPenDown) { + + // Fix bug HMNN-82CDU5 + // When pointer moving event is happened, iIsMove is set to ETrue + iIsMove = ETrue; + // + PostRawEvent(aRawEvent); return ETrue; }