Difference between revisions of "On Screen Keyboard"

From WebOS Internals
Jump to navigation Jump to search
(Removed the 2nd title, and moved the image per our standard (the page formatting gets messed up with a left-sided image))
(Moved warning to the top, sectioned the article for easier reading)
Line 1: Line 1:
 
[[Image: On_Screen_Keyboard.png|thumb|right]]
 
[[Image: On_Screen_Keyboard.png|thumb|right]]
 +
'''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!'''
 +
 +
=Introduction=
 
The Palm Pre already COMES with an on-screen keyboard. It works in portrait and landscape, in all apps, in all fields.  
 
The Palm Pre already COMES with an on-screen keyboard. It works in portrait and landscape, in all apps, in all fields.  
  
 +
=Explanation=
 
Press the "sym" key and a scrollable 5x5 keyboard pops up full of alternate characters.  
 
Press the "sym" key and a scrollable 5x5 keyboard pops up full of alternate characters.  
  
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
+
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
+
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
+
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.  
 
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.  
Line 16: Line 20:
 
As of 12 August 2009 Webos-internals contributor 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 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.  
  
Please read the following in order to install the patch: [[Applying Patches]] - WebOS Internals
+
=Procedure=
 +
The patch is on Gitorious, please read the following to install the patch: [[Applying Patches]] - WebOS Internals
  
The patch should be stored(on Pre) in: /opt/src/modifications/frameworks/add-onscreen-keyboard.patch
+
The patch should be stored(on Pre) in: '''/opt/src/modifications/frameworks/add-onscreen-keyboard.patch'''
  
the 'source code' of the patch is at  [http://gitorious.org/webos-internals/modifications/blobs/master/frameworks/add-onscreen-keyboard.patch]  
+
the 'source code' of the patch: [http://gitorious.org/webos-internals/modifications/blobs/master/frameworks/add-onscreen-keyboard.patch]  
  
 +
=Issues=
 
as of 12 August 2009 the following issues are known:  
 
as of 12 August 2009 the following issues are known:  
  
Line 34: Line 40:
 
* Explore T9-type, limited-width keyboard options
 
* Explore T9-type, limited-width keyboard options
 
* Do not bring up keyboard on swipe gestures, only tap if possible
 
* Do not bring up keyboard on swipe gestures, only tap if possible
 
==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!  ==
 

Revision as of 05:46, 13 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!

Introduction

The Palm Pre already COMES with an on-screen keyboard. It works in portrait and landscape, in all apps, in all fields.

Explanation

Press the "sym" key and a scrollable 5x5 keyboard pops up full of alternate characters.

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.

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 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 - WebOS Internals

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

the 'source code' of the patch: [1]

Issues

as of 12 August 2009 the following issues are known:

  • Add method to get at numbers and symbols (possibilities: sym,flick)
  • Modify keyboard dimensions in landscape mode to span accross width
  • 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
  • Fix far right column
  • Verify auto-correct when space added.
  • Possibly (and optionally) play sound or haptic feedback on touch
  • Add clipboard capabilities
  • Explore T9-type, limited-width keyboard options
  • Do not bring up keyboard on swipe gestures, only tap if possible