Difference between revisions of "On Screen Keyboard"

From WebOS Internals
Jump to navigation Jump to search
(10)
(gesture tap)
Line 5: Line 5:
 
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.  
 
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=
+
=Background and Explanation=
 
On an unmodified Pre if you press the "sym" key and a scrollable 5x5 keyboard pops up full of alternate characters.  
 
On an unmodified Pre if you press the "sym" key and a scrollable 5x5 keyboard pops up full of alternate characters.  
 
[[Image: On_screen_keyboard_3.png|thumb|right]]
 
[[Image: On_screen_keyboard_3.png|thumb|right]]
Line 19: Line 19:
  
 
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.  
 
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.  
 +
 +
=Operation=
 +
Unlike the Palm Symbol keyboard, you do not have to open the Pre's hardware kb to get the on-screen keyboard.  Tapping the gesture area (near the round silver button) will bring up the on-screen keyboard if you are in a text field.  '''Note:'''  as of 19 August 2009, the on-screen keyboard does NOT YET WORK in search boxes (email, name, etc)
  
 
=Procedure=
 
=Procedure=

Revision as of 18:42, 20 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.

Background and 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.

Operation

Unlike the Palm Symbol keyboard, you do not have to open the Pre's hardware kb to get the on-screen keyboard. Tapping the gesture area (near the round silver button) will bring up the on-screen keyboard if you are in a text field. Note: as of 19 August 2009, the on-screen keyboard does NOT YET WORK in search boxes (email, name, etc)

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