Difference between revisions of "On Screen Keyboard"

From WebOS Internals
Jump to navigation Jump to search
(9)
(10)
Line 3: Line 3:
 
[[Image: On_screen_keyboard_2.png|thumb|right]]
 
[[Image: On_screen_keyboard_2.png|thumb|right]]
 
=Introduction=
 
=Introduction=
The Palm Pre ships with a very limited on-screen keyboard for inserting symbols.  It works in portrait and landscape, in all apps, in all fields. This on screen keyboard provides a basis for programmers to develop a fully functional on screen keyboard for the Pre.  
+
The Palm Pre ships with a very limited on-screen keyboard for inserting symbols.  It works in portrait and landscape, in all apps, in any text field. (It doesn't work in Search fields like email address or url, which has led to difficulties with enhancing it.This on screen keyboard has provided a basis for programmers to develop a fully functional on screen keyboard for the Pre.  
  
 
=Explanation=
 
=Explanation=
Line 47: Line 47:
 
* Fixed landscape mode to correctly render in landscape if launched from that state.
 
* Fixed landscape mode to correctly render in landscape if launched from that state.
  
Thanks again to remix2000 for the nice keyboard images. I'll have specs up eventually for the images/theme framework once I implement a user-app callable way to switch themes.
+
Thanks again to remix2000 for the nice keyboard images. Specs will be posted eventually for the images/theme framework once a user-app callable way to switch themes is implemented.
  
 
===8/18/09 (evening) - Fixes/Enhancements===
 
===8/18/09 (evening) - Fixes/Enhancements===

Revision as of 16:30, 19 August 2009

On Screen Keyboard.png

Warning. This is PRE ALPHA testing grade only software. It may cause your pre to melt into a puddle and dissolve while turning blue. Use at your own risk!

On screen keyboard 2.png

Introduction

The Palm Pre ships with a very limited on-screen keyboard for inserting symbols. It works in portrait and landscape, in all apps, in any text field. (It doesn't work in Search fields like email address or url, which has led to difficulties with enhancing it.) This on screen keyboard has provided a basis for programmers to develop a fully functional on screen keyboard for the Pre.

Explanation

On an unmodified Pre if you press the "sym" key and a scrollable 5x5 keyboard pops up full of alternate characters.

On screen keyboard 3.png

This is controlled by code incorporated into the framework.js. The specific functions there can be seeen in /usr/palm/frameworks/mojo/submissions/191.15/javascripts/widget_charselector.js

with the layout controlled by 3 files in /usr/palm/frameworks/mojo/submissions/191.15/templates/charselector

the actual list of characters that appear on the screen is controlled by /usr/palm/frameworks/mojo/submissions/191.15/resources/en_us/alternatechars_table.json

At the simplest level then, creating an on-screen keyboard requires editing the alternate characters table json, to add the "regular" charcters to it, and then when you want a keyboard, press SYM and poof, a keyboard. The problem with that is, the alternatechars_table.json is "fragile" the slightests mis-edit results in the pre entering a continuous book cycle.

At the next level, the framework's copy of widget_charselector.js needs to be modified to not close the keyboard after each keypress.

As of 12 August 2009 Webos-internals contributor Eric Gaudet (irc egaudet) announced success at patching the framework.js to accept a new function derived from the charselector widget. This pre-alpha proof of concept on-screen keyboard is available as a patch.

Procedure

The patch is on Gitorious, please read the following to install the patch: Applying Patches

The patch should be stored (on Pre) in: /opt/src/modifications/frameworks/add-onscreen-keyboard.patch

There are also theme images needed in the current release. Folow these instructions to install the patch AND the theme images (NOTE: must be root)

sh /opt/src/modifications/install add-onscreen-keyboard.patch
sh /opt/src/modifications/frameworks/install_theme

Change Log

8/13/09 - Fixes

  • Functional backspace, space and enter keys added.

8/16/09 - Fixes

  • Added functional shift and sym capabilities.
  • Added landscape mode resize.


8/18/09 - Fixes/Enhancements

  • Added theme capabilities
  • Changed default theme to use remix2000's images (big thanks!)
  • Added missing symbols
  • Fixed landscape mode to correctly render in landscape if launched from that state.

Thanks again to remix2000 for the nice keyboard images. Specs will be posted eventually for the images/theme framework once a user-app callable way to switch themes is implemented.

8/18/09 (evening) - Fixes/Enhancements

  • Increased width of keyboard to span entire screen
  • Added orange-key functionality
  • Made keyboard draggable after tapping blank key
  • Added haptic feedback

Issues

as of 17 August 2009 the following issues are known:

  • Do not bring up keyboard when using hard keyboard clipboard events (might have to disable the keyboard when slider is open exposing hard keyboard)
  • Enable usage to search contacts/universal search -- for example Name, email address, etc are search fields not text fields.
  • Verify auto-correct when space added.
  • Add clipboard capabilities
  • Explore T9-type, limited-width keyboard options