×

Discussion Board

Results 1 to 2 of 2
  1. #1
    Registered User
    Join Date
    Apr 2007
    Posts
    3

    Nokia E61 Window Server problem

    I've found out that the code below doesn't work for some reason on any E61 devices. A focused window contains wrong characters.

    SendKeyEvent( 'z' );
    SendKeyEvent( 'Z' );
    SendKeyEvent( 'y' );
    SendKeyEvent( 'Y' );

    void CHelloWorldBasicAppUi::SendKeyEvent( TChar aChar )
    {
    TInt focussedWindowGroupId = CEikonEnv::Static()->WsSession().GetFocusWindowGroup();

    TKeyEvent keyEvent;
    keyEvent.iCode = aChar;
    keyEvent.iScanCode = aChar;
    keyEvent.iRepeats = 0;
    keyEvent.iModifiers = 0;

    TWsEvent event;
    *event.Key() = keyEvent;
    event.SetTimeNow();
    event.SetType(EEventKey);
    CEikonEnv::Static()->WsSession().SendEventToWindowGroup(focussedWindowGroupId,event);
    }

    E61 ROMs versions 3.0633.09.04 and 2.0618.06.05 results:
    Send -> Result
    z -> @
    Z -> z
    y -> /
    Y -> y

    E61 ( Russian variant ) ROM version 3.0633.09.04 results
    Send -> Result
    z -> nothing
    Z -> Z
    y -> nothing
    Y -> Y

    I've been used the Remote Device Access Service.

  2. #2
    Registered User
    Join Date
    Apr 2007
    Posts
    3

    Re: Nokia E61 Window Server problem

    I've found out that this is not a Window Server problem on E61 but its way of work. I do think you may even get this behavour on any devices that have QWERTY keyboard. There were problems not just with y and y characters as my customer has informed me. Here my solution:
    All code remains the same, but

    TKeyEvent keyEvent;
    keyEvent.iCode = aChar;
    keyEvent.iScanCode = EStdKeyNull;
    keyEvent.iRepeats = 0;
    keyEvent.iModifiers = 0;

    Now this works for any characters but for 0-9 and *.
    To make digits and asteriks character work you should press the Blue Function Button before like this:

    TKeyEvent blueFuncKeyEvent;
    blueFuncKeyEvent.iCode = 0;
    blueFuncKeyEvent.iScanCode = EStdKeyRightFunc;
    blueFuncKeyEvent.iModifiers = EModifierRightFunc | EModifierFunc;
    blueFuncKeyEvent.iRepeats = 0;

    TWsEvent blueFuncEvent;
    *blueFuncEvent.Key() = blueFuncKeyEvent;
    blueFuncEvent.SetTimeNow();
    blueFuncEvent.SetType(EEventKeyDown);
    CEikonEnv::Static()->WsSession().SendEventToWindowGroup(focussedWindowGroupId,blueFuncEvent);

    After that you can send digits and asterisk as usual.

    The solution above assumes that you have installed the default FEP.

    As there is not a defect this thread is closed.

Similar Threads

  1. Nokia N-Series Complete Model Line-Up
    By Dopod in forum General Development Questions
    Replies: 6
    Last Post: 2008-07-22, 20:16

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •  
×