Difference between revisions of "On Screen Keyboard"

From WebOS Internals
Jump to navigation Jump to search
(9)
Line 34: Line 34:
 
=Change Log=
 
=Change Log=
 
===8/13/09 - Fixes===
 
===8/13/09 - Fixes===
Functional backspace, space and enter keys added.
+
* Functional backspace, space and enter keys added.
 
 
I ran into some issues getting the enter key to work correctly, so that is the reason for the delay. I just want to get this part out so the keyboard can actually be used to send messages. I will continue to work on the list.
 
  
 
===8/16/09 - Fixes===
 
===8/16/09 - Fixes===
Added functional shift and sym capabilities.
+
* Added functional shift and sym capabilities.
Added landscape mode resize.
+
* Added landscape mode resize.
  
  
 
===8/18/09 - Fixes/Enhancements===
 
===8/18/09 - Fixes/Enhancements===
Added theme capabilities
+
* Added theme capabilities
Changed default theme to use remix2000's images (big thanks!)
+
* Changed default theme to use remix2000's images (big thanks!)
Added missing symbols
+
* Added missing symbols
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. I'll have specs up eventually for the images/theme framework once I implement a user-app callable way to switch themes.
  
 
===8/18/09 (evening) - Fixes/Enhancements===
 
===8/18/09 (evening) - Fixes/Enhancements===
Increased width of keyboard to span entire screen
+
* Increased width of keyboard to span entire screen
Added orange-key functionality
+
* Added orange-key functionality
Made keyboard draggable after tapping blank key
+
* Made keyboard draggable after tapping blank key
Added haptic feedback
+
* Added haptic feedback
  
 
=Issues=
 
=Issues=

Revision as of 14:57, 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 all fields. This on screen keyboard provides 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. I'll have specs up eventually for the images/theme framework once I implement a user-app callable way to switch themes.

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