+ Reply to Thread
Results 1 to 13 of 13

[ThinkTank] Why does the m8 keyboard suk. And the iphone kb not

This is a discussion on [ThinkTank] Why does the m8 keyboard suk. And the iphone kb not within the Modding & Development forums, part of the Meizu M8 category; Hi, anyone who evers used an iphone wonders why you can write this good on this (similar) keyboard. But writing ...

  1. #1
    Senior Member
    Join Date
    Sep 2009
    Posts
    380
    Thanks
    3
    Thanked 138 Times in 53 Posts

    [ThinkTank] Why does the m8 keyboard suk. And the iphone kb not

    Hi,
    anyone who evers used an iphone wonders why you can write this good on this (similar) keyboard. But writing on the m8 keyboard is much harder. i thought about this a long time and came to the following conclusion:

    The m8 keyboard sends the key which is triggerd to the app. No big deal.
    If you dont hit he button right (maybe 1 or 2 pxls) the wrong button is sent.
    I imagine how an iphone does this:
    Hit a button. If you dont hit the button in the center, maybe look how big is the chance that you wanted to hit this button. This could be done by a match of the word already typed (if there stands ca and you hit an e not fully but more to the right, you surly wanted to write an r for car. cae is no word) so the sip could just send an r.
    evectivily this would resize the area for matching characters. Common charaters would be hit easer.
    in most cases i think this would better the typing. if you then combine this with wisdom of character combinations which are often you could finetune this behaviour.

    Im really fascinated by this idea and maybe plan to write an own keybard to try this. I have no knowledge how to create a sip keyboard but it cant be that hard. if there is anybody who is willing to try, contact me i will help

  2. #2
    BPM
    BPM nincs online
    Member
    Join Date
    Aug 2009
    Location
    Austria
    Posts
    222
    Thanks
    44
    Thanked 10 Times in 10 Posts
    i need to read a bit more about .net and the m8 sdk.
    i would be glad if i am able to help.

  3. #3
    Administrator
    Join Date
    May 2007
    Posts
    3,191
    Thanks
    17
    Thanked 32 Times in 29 Posts
    the dictionary check idea has probably a performance problem. Maybe there is already some kind of open source t9 database you can use which would be a lot faster than a real word-based dictionary.
    BatMan, the free video converter for Meizu players. Problems ? English First Aid here. Deutsche Erste Hilfe hier.
    Join the Meizume Chatroom at irc://irc.moofspeak.net/meizume ! Firefox Users : get the Chatzilla Plugin. Other Browsers : use this web client.

  4. #4
    Valued Member
    Join Date
    Sep 2009
    Location
    Germany
    Posts
    1,309
    Thanks
    249
    Thanked 200 Times in 145 Posts
    That sounds a bit like the way this slidng Keyboard thingy workes like and i think that has no performance issues. (i mean the predicting what letter you meant based on the area of the keyboard you slided to)
    But such a 'passive key enlargement' would make it harder to type unusual words or words in a foreign language.

    Sounds like a good idea =)
    maybe the keyboard could visualy 'wobble' to demonstrate more impressive what it does? (of course that is a performance question '^^)
    Meizu M8 SE - FW 0.9.9.18 (dao89 n450) Dualboot LBE A11 Android 2.2

  5. #5
    Member
    Join Date
    Apr 2009
    Posts
    230
    Thanks
    18
    Thanked 26 Times in 19 Posts
    you ever tried touchpal?
    this is the closest thing coming near to the iphone kb...
    with the right dictionary you can tap some wrong buttons and still get the word you tried to write in the first place
    touchpal is by far the best input solution for the meizu m8..
    all you have to do is to set it up right..and then it works for you and not against

    touchpals big issue..does not work with all apps
    all it need now is a general support in all apps...

  6. #6
    Senior Member
    Join Date
    Sep 2009
    Posts
    380
    Thanks
    3
    Thanked 138 Times in 53 Posts
    i know. i love touchpal but it doenst work in browser and this is a nogo...

  7. #7
    Member
    Join Date
    Apr 2009
    Posts
    230
    Thanks
    18
    Thanked 26 Times in 19 Posts
    as we can trust to this..lately this is fixed too

    Originally Posted by andreim
    Opera fix
    0.9.6.12v2
    0.9.3.18
    0.9.3.3

    with this fix Opera works with keyboards touchpal, fingerKB....at web pages
    i could not test cause im on 0.9.3.9
    give it a try and report here back

  8. #8
    Passing By
    Join Date
    Mar 2009
    Posts
    19
    Thanks
    2
    Thanked 2 Times in 2 Posts
    Writing a SIP in CE is pretty much the same as Windows Mobile, only some small differences in window style (also affected by the weird Meizu UI).

    Writing a basic SIP for the M8 is fairly easy.

    A good place to start is the Microsoft SIP sample that is included in the Windows Mobile 6 SDK, it's called dvoraksip. More info here: Dvorak Soft Input Panel

    It's a very basic SIP, just a bitmap with hitzones, but it should make for a good first SIP experiment.

    The opera thing just plain sucks, I'm assuming the Meizu SIP does app detection and treats it special. A well behaved SIP would just send the keystrokes into the OS input queue using the standard SIP mechanisms, perhaps Opera needs special behaviour like sending a WM_CHAR directly to a child window.

    I used to write SIPs for my job. Feel free to query me for my email address if you have more questions.

  9. Member who thanked ms1012 for the post:


  10. #9
    Valued Member
    Join Date
    Sep 2009
    Location
    Germany
    Posts
    1,309
    Thanks
    249
    Thanked 200 Times in 145 Posts
    SIP = virtual keyboard?

    as far as i see it the standard M8 keyboard does recognize what type of input field it writes to. So if an IP is asked for it allows only numbers, if a web adress is asked it gives .com as an option and its probably special for some applications too -.-
    Other alternative keyboards do not usualy do that. Also aternative keyboards often do not dock on the lower edge of the screen and do not allow to scroll the ret of the screen to the 'unblocked' screen part like it is an overlay instead of a plugin.
    But that all is ahead of the topic ^^
    Meizu M8 SE - FW 0.9.9.18 (dao89 n450) Dualboot LBE A11 Android 2.2

  11. #10
    Passing By
    Join Date
    May 2009
    Posts
    2
    Thanks
    0
    Thanked 0 Times in 0 Posts
    Quote Originally Posted by lilM8 View Post
    as we can trust to this..lately this is fixed too

    Originally Posted by andreim
    Opera fix
    0.9.6.12v2
    0.9.3.18
    0.9.3.3

    with this fix Opera works with keyboards touchpal, fingerKB....at web pages
    i could not test cause im on 0.9.3.9
    give it a try and report here back

    This is my fix, allowing any keyboard to work in Opera browser. Currently support English and Russian codepages.
    Discussion and new versions ??? ? Meizu M8 - ????? ??????????? ? ????? ???????????!!! - ????????? - Meizu M8 - ?????
    Last edited by Columber; 03-11-2010 at 04:40 AM.

  12. #11
    Passing By
    Join Date
    Mar 2009
    Posts
    19
    Thanks
    2
    Thanked 2 Times in 2 Posts
    Quote Originally Posted by Loonix View Post
    SIP = virtual keyboard?
    Yep, SIP = Software Input Panel, some Microsoft terms. Usually the SIP works together with the IME, the Input Method Editor (or something along those lines). The SIP is loaded into the OS as a COM component (IInputMethod), and is fairly passive. It mostly just gets show/hide events when the OS detects that the caret is in/out of an edit control. When it's shown it's just another window as any other (but on top of everything else), and can take mouse events etc. When the OS creates the SIP it hands it an interface (IIMCallback) that the SIP can use to send input into the OS / application (SendVirtualKey for key up/down, SendCharEvents for direct WM_CHAR events).

    The IME is more active part of the application lifecycle. It can control things like the underlined text in an edit box (what Microsoft calls the composition string), takes part in chinese writing, but the IME can also do things like detecting keystroke x into an application and mapping it to the character y (think 0-9 keypad mapping to a-z).

    The hardest thing is usually the interaction between SIP and IME, they kind of go hand in hand. Unfortunately I have no idea how the Meizu components work. They most likely have their own IME too, to faciliate the Chinese input.

    When I used to develop SIPs, I'd also generally write the IME to support things like auto-correct. Any text typed on the SIP would go into the composition string (underlined text) so that it could be replaced by the most likely dictionary word when required.

    To be honest, most of this stuff is fairly straightforward, but incredibly poorly documented. SIP stuff is mostly in MSDN, IME development not so much - but there are samples in the CE6 source code that show what various callbacks an IME should implement (an IME is just a regular DLL with a few Microsoft-defined callbacks, you register it in the Registry as the current IME, then the OS will automatically load your DLL into each process and call the exports on certain window events, eg keydown / keyup). IMEs are reasonably similar across desktop / CE, though, which helps with finding samples and documentation.

    There is some more IME information here: http://www.symantec.com/avcenter/ref....keylogger.pdf

  13. #12
    Senior Member
    Join Date
    Sep 2009
    Posts
    380
    Thanks
    3
    Thanked 138 Times in 53 Posts
    i cant get the sample source couse i dont have the ce sdk (and i dont watn do download 6gb for one sample :D) does anyone can help and send it (or dl it from pudn??)

  14. #13
    Passing By
    Join Date
    Mar 2009
    Posts
    19
    Thanks
    2
    Thanked 2 Times in 2 Posts
    The SIP sample (dvoraksip) should be in the Windows Mobile PocketPC SDKs, eg this one: http://www.microsoft.com/downloads/d...displaylang=en

    That's 175MB or so, a bit less. I should be able to dig up just the sample tonight too.


 

Similar Threads

  1. New UI keyboard with öäüßÖÄÜ
    By rori in forum Modding & Development
    Replies: 71
    Last Post: 06-07-2010, 11:48 PM
  2. NL/BE Keyboard
    By evow04 in forum Dutch
    Replies: 10
    Last Post: 07-09-2009, 06:34 PM
  3. keyboard rotation!
    By rori in forum Modding & Development
    Replies: 3
    Last Post: 05-04-2009, 08:39 PM
  4. Qwerty Keyboard
    By Pipapok in forum General Meizu M8
    Replies: 3
    Last Post: 03-28-2009, 12:10 PM
  5. Eng Keyboard - Default
    By jbuk in forum General Meizu M8
    Replies: 2
    Last Post: 03-24-2009, 06:09 AM