On Screen Keyboard

From WebOS Internals
Revision as of 05:46, 13 August 2009 by Hopspitfire (talk | contribs) (Moved warning to the top, sectioned the article for easier reading)
Jump to navigation Jump to search
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