first Qwerty from build r1789 - some problems

16 posts / 0 new
Last post
mirekk36
mirekk36's picture
Offline
Mobile Conjurer
Joined: 14 Aug 2010
Posts:
first Qwerty from build r1789 - some problems

Fredrik ---> thank's for Quwerty in newest nigtly build after 19th Wink You are keeping your word.

I tested it exactly on my nokia E72. I know, it's first release of this fix but i describe below, what problems have this version Qwerty ok?

Other keys like: "QWE IOP ASD KL ZXCV" work "normally" (only uppercase)

it may be useful for further work ?

...aha, once more. I don't kon or U know that in Poland when i use switch

key "Sym" + A ----> i become Polish letter Ą
key "Sym" + C ----> i become Polish letter Ć
key "Sym" + N ----> i become Polish letter Ń
.....etc

key "Sym" + a ----> i become Polish letter ą
key "Sym" + c ----> i become Polish letter ć
...etc

it should be good, when this switches work too with some final release of Qwerty

Comment viewing options

Select your preferred way to display the comments and click "Save settings" to activate your changes.
Fredrik Eldh
Fredrik's picture
Offline
Mobile Sorcerer
Joined: 16 Feb 2009
Posts:

I was afraid this might happen. Symbian's base keycodes are coupled to physical keys, not logical character codes. I have an idea on how to handle it, but it's a bit more work.

mirekk36
mirekk36's picture
Offline
Mobile Conjurer
Joined: 14 Aug 2010
Posts:

Fredrik, i understand - it's a bit more work. But you have to admit that without possibility to using qwerty keyboard in many symbian nokia phones is of little use, the more that any keys do not work even in IM_STANDARD mode. I think (maybe only i) that it is a serious problem to fast solving.

Fredrik Eldh
Fredrik's picture
Offline
Mobile Sorcerer
Joined: 16 Feb 2009
Posts:

The idea is to have the CharInput system handle the new CHAR events, so that IM_QWERTY will work. I'm not sure if anything can be done about IM_STANDARD mode.

mirekk36
mirekk36's picture
Offline
Mobile Conjurer
Joined: 14 Aug 2010
Posts:
"Fredrik" wrote:

The idea is to have the CharInput system handle the new CHAR events, so that IM_QWERTY will work. .

All right, i understand... but what priority will be given to solve this problem in future versions?

I would like have possibility to send some text messages via bluetooth to custom embedded devices. BT has worked very well Wink i'm now only waiting impatiently for a decent keyboard support, because now I can't complete my first project in MoSync Sad

Fredrik Eldh
Fredrik's picture
Offline
Mobile Sorcerer
Joined: 16 Feb 2009
Posts:

I've started implementing it. You'll be able to test it as soon as we can compile a new nightly.

mirekk36
mirekk36's picture
Offline
Mobile Conjurer
Joined: 14 Aug 2010
Posts:

Fredrik ---> Yes! Wink now is much better in IM_QWERT mode. Big THX!!!

I understand that work is still ongoing ???

If I can help in further Qwerty testing, please write about it here ....or write about it when You finished.

Fredrik Eldh
Fredrik's picture
Offline
Mobile Sorcerer
Joined: 16 Feb 2009
Posts:

The CHAR event isn't implemented on Android yet, but other than that, as far as I know, I'm done. Please let us know if you have any problems with it.

mirekk36
mirekk36's picture
Offline
Mobile Conjurer
Joined: 14 Aug 2010
Posts:

Fredrik ---> please my detailed description of problems with Nokia E72 in QWERTY mode:

I hope this can help

Qwerty-problem.jpg
Fredrik Eldh
Fredrik's picture
Offline
Mobile Sorcerer
Joined: 16 Feb 2009
Posts:

I see. Problematic. MoSync gives you the exact same codes that it receives from the Symbian OS. I've run my tests on Swedish E61i and E71. All keys there work the way I expect.

Just to double-check, are you running a nightly build >= r1802?

Also, when you type in the native UI (Notes application, for example), does the keyboard behave the way you want?

I'm afraid that if the OS returns bad data, it would be practically impossible for us to try to fix it. We'd have to take into account every model, firmware version, country and localization that exist, and there are hundreds, if not thousands, of those, and more are made all the time.

However, there may be a salvation on the horizon. We are attempting to create a native-UI textbox, to solve a problem similar to yours. The JavaME runtime has an experimental implementation: maTextBox(). Might be a good thing to try.

mirekk36
mirekk36's picture
Offline
Mobile Conjurer
Joined: 14 Aug 2010
Posts:
"Fredrik" wrote:

I see. Problematic. MoSync gives you the exact same codes that it receives from the Symbian OS. I've run my tests on Swedish E61i and E71. All keys there work the way I expect.

Just to double-check, are you running a nightly build >= r1802?

tested with build r1807

"Fredrik" wrote:

Also, when you type in the native UI (Notes application, for example), does the keyboard behave the way you want?

Ofcourse - exactly as i describe on this picture in original Nokia Notepad.

"Fredrik" wrote:

I'm afraid that if the OS returns bad data, it would be practically impossible for us to try to fix it. We'd have to take into account every model, firmware version, country and localization that exist, and there are hundreds, if not thousands, of those, and more are made all the time.

Yes i undersand that.

"Fredrik" wrote:

However, there may be a salvation on the horizon. We are attempting to create a native-UI textbox, to solve a problem similar to yours. The JavaME runtime has an experimental implementation: maTextBox(). Might be a good thing to try.

... but Fredrik, here U are sample code from NetBeans in Java J2ME , it work in QWERTY mode exactly the same as original Nokia Notepad. You can check this code on your phone .... any phone with Java ready. I have Polish letters too without any problems. But for me much better is to write code in C++ yet.

import javax.microedition.lcdui.*;
import javax.microedition.midlet.*;

public class GuiTests extends MIDlet implements CommandListener {
    // display manager
    Display display = null;

    // a menu with items
    List menu = null; // main menu

    // list of choices
    List choose = null;

    // textbox
    TextBox input = null;

    // ticker
    Ticker ticker = new Ticker("Test GUI Components");

    // alerts
    final Alert soundAlert = new Alert("sound Alert");

    // date
    DateField date = new DateField("Today's date: ", DateField.DATE);

    // form
    Form form = new Form("Form for Stuff");

    // gauge
    Gauge gauge = new Gauge("Gauge Label", true, 10, 0);

    // text field
    TextField textfield = new TextField("TextField Label", "abc", 50, 0);

    // command
    static final Command backCommand = new Command("Back", Command.BACK, 0);
    static final Command mainMenuCommand = new Command("Main", Command.SCREEN, 1);
    static final Command exitCommand = new Command("Exit", Command.STOP, 2);
    String currentMenu = null;

    // constructor.
    public GuiTests() {
    }

    /**
     * Start the MIDlet by creating a list of items and associating the
     * exit command with it.
     */
    public void startApp() throws MIDletStateChangeException {
      display = Display.getDisplay(this);
      // open a db stock file

      menu = new List("Test Components", Choice.IMPLICIT);
      menu.append("Test TextBox", null);
      menu.append("Test List", null);
      menu.append("Test Alert", null);
      menu.append("Test Date", null);
      menu.append("Test Form", null);
      menu.addCommand(exitCommand);
      menu.setCommandListener(this);
      menu.setTicker(ticker);

      mainMenu();
    }

    public void pauseApp() {
      display = null;
      choose = null;
      menu = null;
      ticker = null;
      form = null;
      input = null;
      gauge = null;
      textfield = null;
    }

    public void destroyApp(boolean unconditional) {
      notifyDestroyed();
    }

    // main menu
    void mainMenu() {
      display.setCurrent(menu);
      currentMenu = "Main";
    }

    /**
     * Test the TextBox component.
     */
    public void testTextBox() {
      System.out.println("textbox called");
      input = new TextBox("Enter Some Text:", "", 5, TextField.ANY);
      input.setTicker(new Ticker("testTextBox"));
      input.addCommand(backCommand);
      input.setCommandListener(this);
      input.setString("");
      display.setCurrent(input);
      currentMenu = "input";
    }

    /**
     * Test the List component.
     */
    public void testList() {
        choose = new List("Choose Items", Choice.MULTIPLE);
        choose.setTicker(new Ticker("listTest"));
        choose.addCommand(backCommand);
        choose.setCommandListener(this);
        choose.append("Item 1", null);
        choose.append("Item 2", null);
        choose.append("Item 3", null);
        display.setCurrent(choose);
        currentMenu = "list";
   }

   /**
    * Test the Alert component.
    */
   public void testAlert() {
      soundAlert.setType(AlertType.ERROR);
      soundAlert.setString("** ERROR **");
      display.setCurrent(soundAlert);
   }

   /**
    * Test the DateField component.
    */
   public void testDate() {
      java.util.Date now = new java.util.Date();
      date.setDate(now);
      Form f = new Form("Today's date");
      f.append(date);
      f.addCommand(backCommand);
      f.setCommandListener(this);
      display.setCurrent(f);
      currentMenu = "date";
   }

   /**
    * Test the Form component.
    */
   public void testForm() {
      form.append(gauge);
      form.append(textfield);
      form.addCommand(backCommand);
      form.setCommandListener(this);
      display.setCurrent(form);
      currentMenu = "form";
   }

   /**
    * Handle events.
    */
   public void commandAction(Command c, Displayable d) {
      String label = c.getLabel();
      if (label.equals("Exit")) {
         destroyApp(true);
      } else if (label.equals("Back")) {
          if(currentMenu.equals("list") || currentMenu.equals("input") ||
               currentMenu.equals("date") || currentMenu.equals("form")) {
            // go back to menu
            mainMenu();
          }

      } else {
         List down = (List)display.getCurrent();
         switch(down.getSelectedIndex()) {
           case 0: testTextBox();break;
           case 1: testList();break;
           case 2: testAlert();break;
           case 3: testDate();break;
           case 4: testForm();break;
         }

      }
  }
}


this is in CLDC1-1 and MIDP-2.1

So.... i think, if U can at least this native UI codes or whatever, when i can chave event to decode chars it would be maybe good

mirekk36
mirekk36's picture
Offline
Mobile Conjurer
Joined: 14 Aug 2010
Posts:

Fredrik --> Do U have any new ideas or concept now?

Form me Java J2ME is bad because of restrictions in aplications signing and permisions. With MoSync all is much better Wink

Fredrik Eldh
Fredrik's picture
Offline
Mobile Sorcerer
Joined: 16 Feb 2009
Posts:

That JavaME code doesn't use Char-events, but rather the same native UI (TextField) that I use to implement maTextBox.

When I said to try the JavaME runtime, I meant to compile your MoSync program for a Java phone (for example, SonyEricsson K800), and then run that on your phone. It ought to work. This is only a temporary measure until we have time to implement maTextBox in our Symbian runtime.

mirekk36
mirekk36's picture
Offline
Mobile Conjurer
Joined: 14 Aug 2010
Posts:

Fredrik --> Very sorry but I really misunderstood.

Ofcourse when I compile my program for SonyEricsson K800 - all keyboard on my Nokia E72 works great in Qwerty mode Wink Maybe without one little strange efect Wink

I have in my code:

void WybierzBTScreen::keyPressEvent(int keyCode, int nativeCode) {

		    case MAK_STAR:
		        if(mDevices.capacity()) mDevices.clear();
		        Vector_each(BtDevice, itr, mDevices)
		            delete itr;

		      if(!mIsWorking) {
		        mIsWorking = true;
		        mStatus->setCaption("Szukam urz. Bluetooth... ");
		        mDiscoverer->startDeviceDiscovery(this, true);
		      }
		      break;
}

and it act even if I press Fire button even if I press char "A" on Qwerty mode - I don't know why ???

I havn't Polish letters too witch switch - but it is a small problem jet.

Fredrik Eldh
Fredrik's picture
Offline
Mobile Sorcerer
Joined: 16 Feb 2009
Posts:
Quote:

and it act even if I press Fire button even if I press char "A" on Qwerty mode - I don't know why ???

The Java runtime may have mapped the "A" button to Fire. I'm not sure what to do about that.

mirekk36
mirekk36's picture
Offline
Mobile Conjurer
Joined: 14 Aug 2010
Posts:

ok, this is less of a problem because the most important thing is to work properly for EditBox Qwerty mode, etc.