maemo.org - Talk

maemo.org - Talk (https://talk.maemo.org/index.php)
-   Development (https://talk.maemo.org/forumdisplay.php?f=13)
-   -   New onscreen keyboard (https://talk.maemo.org/showthread.php?t=9202)

Brenden 2007-08-26 21:18

New onscreen keyboard
 
I would like to figure out how to replace the current keyboard with an improved version. The current thumb keyboard is good, but it could be better.

It would be kool to count the key presses for 5 minutes of typing to find the most used keys and making them larger. QWERTY is good and familiar, however in an embedded environment it might not be the best choice to use a strictly standard QWERTY layout.

Anyone want to help look into this?

BruceL 2007-08-26 23:24

Re: New onscreen keyboard
 
I'm working on something else, but a neat feature would be a full-sized finger keyboard but instead of having it underneath the active screen, have it be transparent and an overlay. Then you could have a large keyboard AND see your full application.

Bruce

zeez 2007-08-26 23:29

Re: New onscreen keyboard
 
Love the ideas!

Lithorus 2007-08-27 00:19

Re: New onscreen keyboard
 
Quote:

Originally Posted by BruceL (Post 71309)
I'm working on something else, but a neat feature would be a full-sized finger keyboard but instead of having it underneath the active screen, have it be transparent and an overlay. Then you could have a large keyboard AND see your full application.

Bruce

I also think it could speed up the device on some pages. When the keyboard pops up the device use quite alot of of time to re-adjust the page to the now smaller window.
Having a transparent page with a keyboard and a field where you can see what you write would be much better than the current solution IMO.

tonymaro 2007-08-27 01:01

Re: New onscreen keyboard
 
Quote:

Originally Posted by BruceL (Post 71309)
I'm working on something else, but a neat feature would be a full-sized finger keyboard but instead of having it underneath the active screen, have it be transparent and an overlay. Then you could have a large keyboard AND see your full application.

Bruce

That's what I just implemented for Python and PyGame...

Brenden 2007-08-27 01:18

Re: New onscreen keyboard
 
Quote:

Originally Posted by tonymaro (Post 71320)
That's what I just implemented for Python and PyGame...

I think i saw your post about the pygame kbd, but how do we use that to replace the
normal keyboard?

We need to start somewhere. Our ideas are good, we should work together to get it working!

tonymaro 2007-08-27 05:20

Re: New onscreen keyboard
 
Quote:

Originally Posted by Brenden (Post 71322)
I think i saw your post about the pygame kbd, but how do we use that to replace the
normal keyboard?

We need to start somewhere. Our ideas are good, we should work together to get it working!

You wouldn't want to use Python to implement the primary keyboard - the overhead of loading python would make it way too slow. It needs written in C (which I don't do.)

I'd think it would be easy to grab a screenshot and use that as the background, then draw semi-transparent keys on top of it. Hooking into the GTK events that trigger the keyboard is probably the hardest part.

ragnar 2007-08-27 05:59

Re: New onscreen keyboard
 
Hello. We did study also a transparent keyboard option, but at least I personally didn't see it really a very viable option in terms of the UI design. The biggest problems:

- Level of transparency. Take a use case like writing in Notes or Email or Chat. It's rather hard to design a level of transparency where you see both the keyboard and the underlying text clearly.
- Moving the cursor (and other interactions). How does the user then move the cursor (or highlight the text) if the keyboard layer comes over the application area. (Using the HW keys isn't really a great solution for that...) Not to mention the other interactions there. What if the user is typing into a small text field and he wants to scroll the field using the scroll bars etc.

For instance this one: http://www.internettablettalk.com/fo...ead.php?t=9199 (Nice work Tony, btw.) But I really have my doubts whether you can actually see the text behind the keyboard.

ragnar 2007-08-27 06:00

Re: New onscreen keyboard
 
... But I'll be happy if someone proves me wrong. :)

tonymaro 2007-08-27 15:01

Re: New onscreen keyboard
 
Quote:

Originally Posted by ragnar (Post 71353)
- Level of transparency. Take a use case like writing in Notes or Email or Chat. It's rather hard to design a level of transparency where you see both the keyboard and the underlying text clearly.

I agree, but I don't think the real point is to be able to read behind the keyboard. A text input box would be available just like on the current keyboard.
Quote:

Originally Posted by ragnar (Post 71353)
- Moving the cursor (and other interactions).

I think everyone is thinking about the full screen finger keyboard, not the pop-up stylus keyboard, so this doesn't really apply - the keyboard already provides it's own text box and cursor navigation features, separate from the application.

However you are correct - if you shade it darker, and it's on a dark application, it might be harder to see the keys. It's rare that a screen will be so dark that this would be an issue (near black?) but still something that must be considered.

Texrat 2007-08-27 18:47

Re: New onscreen keyboard
 
Can't bitwise operations be used to change color on the fly?

pieter_jh 2007-08-27 19:02

Re: New onscreen keyboard
 
I think its a great idea Bruce.I would imagine a solution like the full screen keyboard semi transparently overlayed over the page/app you are working in, but instead of freezing the background: keep it live, so you can see what you type in the actual app. This would also free up some keyboard space for eg. a proper shift key. (or would this require Apple's much copyrighted 'multi touch')?

In terms of the readability concern - i think it might just work - the qwerty keyboard doesnt need to be terribly dominating - we all know a keyboards layout. Or otherwise one could try for a fancy graphic technique like inverting the background, or XORing it?

If it works Id even go so far as dreaming of a hardware 'keyboard on/keyboard off' switch. Hint hint nokia...

fanoush 2007-08-27 19:13

Re: New onscreen keyboard
 
Quote:

Originally Posted by ragnar (Post 71353)
The biggest problems:

- Level of transparency. Take a use case like writing in Notes or Email or Chat. It's rather hard to design a level of transparency where you see both the keyboard and the underlying text clearly.

You can have the transparancy settable by user in realtime directly on the keyboard. I think one can find what suits him the best.
Quote:

Originally Posted by ragnar (Post 71353)
- Moving the cursor (and other interactions). How does the user then move the cursor (or highlight the text) if the keyboard layer comes over the application area. (Using the HW keys isn't really a great solution for that...) Not to mention the other interactions there. What if the user is typing into a small text field and he wants to scroll the field using the scroll bars etc.

You can have it movable and/or collapsible (but without resizing main window). It can fill less than half screen and have one button/arrow to jump to top or bottom of the screen quickly, that way you can move it out of the way with single click.

I think current biggest issue (apart from having less space in general) is the act of resizing main application window. Resizing will be always slow and will cause various headaches. So the key is NOT to resize but overlay main window(with transparency) and have the keyboard quickly switchable to top/bottom to move it out of way when you need to interact.

Texrat 2007-08-27 19:37

Re: New onscreen keyboard
 
Good idea fanoush. The color scheme could be inverted by the user as well.

paulh 2007-08-27 22:59

Re: New onscreen keyboard
 
An alternative keyboard I've used (on Palm) is called MessagEase.

They show an N800 on their page, but don't list it in the downloads (they show iPhone too, I think they're just trying to drum up interest by showing potential uses).

http://www.exideas.com/ME/index.html

It takes practice, but it uses little screen space and is very fast and reliable. It has 9 boxes for common letters, for the remainder you drag across the box.

If you really want to see how it works, there is a free trial of a PC version (meant for tablets, but you can work it with a mouse).

Brenden 2007-08-29 18:56

Re: New onscreen keyboard
 
i'm willing to bet that the current built-in keyboard is an executable somehwere. We need to find out where it is and then try replacing it with a test app, although this might be bad if we lose control of key inputs...i'll look around my n800

I did a search and came up with all of these results.
Code:

/etc/gconf/gconf.xml.defaults/apps/osso/applet/hwkeyboard
/etc/gconf/gconf.xml.defaults/schemas/apps/osso/applet/hwkeyboard
/etc/gconf/gconf.xml.defaults/schemas/system/osso/af/keybindings
/etc/gconf/gconf.xml.defaults/system/osso/af/keybindings
/etc/osso-af-init/keyboard.defs
/etc/osso-af-init/keyboard.sh
/mnt/initfs/sys/module/keyboard
/sys/module/keyboard
/var/lib/dpkg/info/osso-applet-hwkeyboard-l10n-ruru.list
/var/lib/dpkg/info/osso-applet-hwkeyboard-l10n-engb.md5sums
/var/lib/dpkg/info/osso-applet-hwkeyboard-l10n-mr0.md5sums
/var/lib/dpkg/info/osso-applet-hwkeyboard-l10n-fifi.md5sums
/var/lib/dpkg/info/osso-applet-hwkeyboard-l10n-dede.md5sums
/var/lib/dpkg/info/osso-applet-hwkeyboard-l10n-nono.list
/var/lib/dpkg/info/osso-applet-hwkeyboard-l10n-frca.md5sums
/var/lib/dpkg/info/osso-applet-hwkeyboard-l10n-esmx.list
/var/lib/dpkg/info/osso-applet-hwkeyboard-l10n-esmx.md5sums
/var/lib/dpkg/info/osso-applet-hwkeyboard.list
/var/lib/dpkg/info/osso-applet-hwkeyboard-l10n-dadk.md5sums
/var/lib/dpkg/info/osso-applet-hwkeyboard-l10n-dadk.list
/var/lib/dpkg/info/osso-applet-hwkeyboard-l10n-eses.md5sums
/var/lib/dpkg/info/osso-applet-hwkeyboard-l10n-frca.list
/var/lib/dpkg/info/osso-applet-hwkeyboard-l10n-ptbr.list
/var/lib/dpkg/info/osso-applet-hwkeyboard-l10n-fifi.list
/var/lib/dpkg/info/osso-applet-hwkeyboard-l10n-nono.md5sums
/var/lib/dpkg/info/osso-applet-hwkeyboard-l10n-ptbr.md5sums
/var/lib/dpkg/info/osso-applet-hwkeyboard-l10n-ptpt.list
/var/lib/dpkg/info/osso-applet-hwkeyboard-l10n-nlnl.md5sums
/var/lib/dpkg/info/osso-applet-hwkeyboard-l10n-dede.list
/var/lib/dpkg/info/osso-applet-hwkeyboard-l10n-svse.list
/var/lib/dpkg/info/osso-applet-hwkeyboard.conffiles
/var/lib/dpkg/info/osso-applet-hwkeyboard-l10n-enus.md5sums
/var/lib/dpkg/info/osso-applet-hwkeyboard-l10n-engb.list
/var/lib/dpkg/info/osso-applet-hwkeyboard-l10n-eses.list
/var/lib/dpkg/info/osso-applet-hwkeyboard-l10n-nlnl.list
/var/lib/dpkg/info/osso-applet-hwkeyboard-l10n-frfr.list
/var/lib/dpkg/info/osso-applet-hwkeyboard-l10n-itit.md5sums
/var/lib/dpkg/info/osso-applet-hwkeyboard-l10n-svse.md5sums
/var/lib/dpkg/info/osso-applet-hwkeyboard-l10n-ptpt.md5sums
/var/lib/dpkg/info/osso-applet-hwkeyboard-l10n-enus.list
/var/lib/dpkg/info/osso-applet-hwkeyboard-l10n-ruru.md5sums
/var/lib/dpkg/info/osso-applet-hwkeyboard.postinst
/var/lib/dpkg/info/osso-applet-hwkeyboard-l10n-mr0.list
/var/lib/dpkg/info/osso-applet-hwkeyboard.md5sums
/var/lib/dpkg/info/osso-applet-hwkeyboard-l10n-itit.list
/var/lib/dpkg/info/osso-applet-hwkeyboard-l10n-frfr.md5sums
/usr/lib/hildon-control-panel/libcphwkeyboard.so
/usr/share/icons/hicolor/26x26/hildon/qgn_list_cp_keyboard.png
/usr/share/icons/hicolor/26x26/hildon/qgn_list_btno_gen_peripheral_keyboard.png
/usr/share/icons/hicolor/scalable/hildon/qgn_list_cp_keyboard.png
/usr/share/icons/hicolor/scalable/hildon/qgn_list_btno_gen_peripheral_keyboard.png
/usr/share/keyboards
/usr/share/locale/da_DK/LC_MESSAGES/osso-applet-hwkeyboard.mo
/usr/share/locale/de_DE/LC_MESSAGES/osso-applet-hwkeyboard.mo
/usr/share/locale/en_GB/LC_MESSAGES/osso-applet-hwkeyboard.mo
/usr/share/locale/en_US/LC_MESSAGES/osso-applet-hwkeyboard.mo
/usr/share/locale/es_ES/LC_MESSAGES/osso-applet-hwkeyboard.mo
/usr/share/locale/es_MX/LC_MESSAGES/osso-applet-hwkeyboard.mo
/usr/share/locale/fi_FI/LC_MESSAGES/osso-applet-hwkeyboard.mo
/usr/share/locale/fr_CA/LC_MESSAGES/osso-applet-hwkeyboard.mo
/usr/share/locale/fr_FR/LC_MESSAGES/osso-applet-hwkeyboard.mo
/usr/share/locale/it_IT/LC_MESSAGES/osso-applet-hwkeyboard.mo
/usr/share/locale/nl_NL/LC_MESSAGES/osso-applet-hwkeyboard.mo
/usr/share/locale/no_NO/LC_MESSAGES/osso-applet-hwkeyboard.mo
/usr/share/locale/pt_BR/LC_MESSAGES/osso-applet-hwkeyboard.mo
/usr/share/locale/pt_PT/LC_MESSAGES/osso-applet-hwkeyboard.mo
/usr/share/locale/ru_RU/LC_MESSAGES/osso-applet-hwkeyboard.mo
/usr/share/locale/sv_SE/LC_MESSAGES/osso-applet-hwkeyboard.mo
/usr/share/sounds/ui-thumb_keyboard_launch.wav
/usr/share/themes/default/images/qgn_plat_inputmet_button_keyboard_word_compl_pressed.png
/usr/share/themes/default/images/qgn_plat_inputmet_button_keyboard_word_compl_prefix_normal.png
/usr/share/themes/default/images/qgn_plat_inputmet_button_keyboard_word_compl_normal.png
/usr/share/themes/theme1/images/qgn_plat_inputmet_button_keyboard_word_compl_pressed.png
/usr/share/themes/theme1/images/qgn_plat_inputmet_button_keyboard_word_compl_prefix_normal.png
/usr/share/themes/theme1/images/qgn_plat_inputmet_button_keyboard_word_compl_normal.png
/usr/share/themes/theme2/images/qgn_plat_inputmet_button_keyboard_word_compl_pressed.png
/usr/share/themes/theme2/images/qgn_plat_inputmet_button_keyboard_word_compl_prefix_normal.png
/usr/share/themes/theme2/images/qgn_plat_inputmet_button_keyboard_word_compl_normal.png
/usr/share/themes/theme3/images/qgn_plat_inputmet_button_keyboard_word_compl_pressed.png
/usr/share/themes/theme3/images/qgn_plat_inputmet_button_keyboard_word_compl_prefix_normal.png
/usr/share/themes/theme3/images/qgn_plat_inputmet_button_keyboard_word_compl_normal.png
/usr/share/applications/hildon-control-panel/cphwkeyboard.desktop
/home/user/.osso/keybindings.rc

I also Googled and got this page: http://www.mail-archive.com/ubuntu-m...keyboard.patch

referencing matchbox-keyboard, but this is for the under development ubuntu mobile, so even though it's hildon, n800 might not have it.

AND not sure why I didn't remember this: http://blog.gustavobarbieri.com.br/2...oard-for-n800/

it might not be integrated into the system, but it's a start. I still think overlaying the keyboard is better than popping up a fullscreen for the keyboard.

Now what do we do? Maybe some concept layout images?

Brenden 2007-08-29 19:32

Re: New onscreen keyboard
 
BTW, the kayboard example above is written in PYTHON, not C++ with some nice Py libs. I found a link already on maemo more about it: http://maemo.org/news/planet-maemo/v...f6e86f7bb.html

Looks pretty awesome, not sure why it took me so long to hear about this!

ragnar 2007-08-29 20:02

Re: New onscreen keyboard
 
Quote:

Originally Posted by Brenden (Post 71941)
Now what do we do? Maybe some concept layout images?

Yes please, concept images with real life use cases. Meaning take real screenshots of things like Email and Notes and then draw on top of those.


All times are GMT. The time now is 17:27.

vBulletin® Version 3.8.8