Why keyevent can be repeat one time only when I pressdown?

Login to reply to this topic.
Sun, 2005-02-20 07:20
Joined: 2005-02-17
Forum posts: 4
I captured the keyevent, and send the event to another app if it was not I want to handl in my app.
But the keyevent I sent can be repeat one time only when I pressdown, why?

The code of my send events is :

if (....)//judge the condition of my want to handl
      {
         if (aType == EEventKey)
         {
            switch(aKeyEvent.iCode)
            {
            case EKeyLeftArrow:
               ...//I do something here
               break;
            case EKeyRightArrow:
               ...//I do something here               break;
            case EKeyUpArrow:
               ...//I do something here               break;
            case EKeyDownArrow:
               ...//I do something here               break;
            default:      
               return CCoeControl::OfferKeyEventL(aKeyEvent, aType);
               break;
            }
            return EKeyWasConsumed;
         }
         return CCoeControl::OfferKeyEventL(aKeyEvent, aType);
      }
      User::LeaveIfError(ws.Connect());
      CleanupClosePushL(ws);
      e.SetType(aType);
      e.SetTimeNow();
      e.Key()->iCode = aKeyEvent.iCode;
      e.Key()->iModifiers = aKeyEvent.iModifiers;
      e.Key()->iRepeats = aKeyEvent.iRepeats;
      e.Key()->iScanCode = aKeyEvent.iScanCode;

      TInt wgid=ws.GetFocusWindowGroup();
      ws.SendEventToWindowGroup(wgid, e);
      CleanupStack::PopAndDestroy();
      // Return the default functionality
      return CCoeControl::OfferKeyEventL(aKeyEvent, aType);
  • Login to reply to this topic.