
MessagEase(tm) Keyboard Extension
=================================

Version 4.0 (Palm OS 5.0 enhanced)

The fastest, most ergonomic keyboard for Palm

Visit www.exideas.com for the latest updates.

This program is provided full featured with no expiration date.  There is no
hook attached and you may use it without registering or paying for it (in other words
it is FREE!). 

You may also copy and distribute it to others provided you don't charge them!
Commercial reproduction and copying of this software, or unauthorized bundling it with
other software is prohibited. All rights reserved

If you like this program, please visit our website and contribute $4 to our
efforts in producing quality software. (This contribution is completely voluntary).

If you like MessagEase, try MessagEaseST, our Graffiti replacement program:
www.exideas.com.

To join other MessagEase users in discussions about MessagEase, MessagEaseKB and 
MessagEaseST, come to groups.yahoo.com/group/messagease. Come to voice your 
opinion and share your ideas

Installation: (this is important; please read carefully)
=============================================================
1. For Palm OS 5.0: simply install the file: MessagEaseKbOS5.prc and tap on its icon

2. for Palm OS prior to 5.0:
MessagEaseKB is a keyboard extension, requiring the use of an extension 
manager. We have included X-master extension manager for your convenience. If 
you have no extension manager on your palm, please install X-master first.

Then install MessagEaseKB and run your extension manager program 
where you'll be able to select MessagEaseKB as your keyboard default.  
Thereafter, from any application you'll be able to tap on the keyboard icon on 
the corners of the Graffiti area to bring up MessagEaseKB.

To go back to Palm's Keyboard as a default, simply de-select MessagEaseKB on 
your extension manager panel.

******************** Important *********************
This program is a keyboard extension to be used as an optional substitute for 
Palm's on-screen keyboard.  You can activate and experiment with this
keyboard as a new way for entering text. Once installed (see the installation
below) the program will automatically start when you invoke your palm's 
on-screen keyboard. To get your Palm keyboard back, simply deactivate this 
program (uncheck the box next to it in your extension manager).

To delete this software from your palm, some Palm OS devices require you to 
perform a soft reset after you deactivate MessagEaseKB. 


******************************************************************************** 

Thank you for Downloading MessagEaseKB(tm). We are sure you'll enjoy the fast 
and convenient text entry it provides for you.

MessagEase keyboard is based on the innovative, patent protected, text entry 
technology that enables you to enter more frequent letters with a single tap on 
a soft key.  You enter less frequent letters and all other special characters of  
a regular keyboard with a single drag. 

If you have not used MessagEase (the application) please download and install it 
from our website(www.exideas.com).  MessagEase has facilities to acquaint you 
with the MessagEase keyboard. In addition to its entertaining game, MessagEase 
application includes support for entering Japanese.
******************************************************************************
NEW TO VERSION 4.0:
*****************************************************************************
color Hi res graphics added for newer devices such as Tungsten T3
******************************************************************************
NEW TO VERSION 3.7:
*****************************************************************************
The drag length specification has expanded to include nine levels, making the 
of the drag length much more responsive to users need.
******************************************************************************
NEW TO VERSION 3.6:
*****************************************************************************
Now you can choose to invoke MessagEaseKB by tapping on "abc" only. Normally 
Tapping on either "abc" or "123" invokes the keyboard, and if selected MEKB.
By choosing to invoke MesagEaseKB only by tapping on "abc" you can use the 
other keyboard tapping point to start another keyboard. This can be the 
default keyboard or another keyboard hack.

******************************************************************************
NEW TO VERSION 3.4:
*******************************************************************************
Shortcut: you can enter the Palm shortcut character by dragging up on the 
key marked with "A". This way you can use Palm's shortcut facility to assign 
a few letters to a phrase or paragraph for quick recall. For example: 
<shortcut>ds expands into the current date stamp (subject to the format you 
define in your Prefs program). Likewise <shortcut>ts expands into the current 
time stamp. You can even specify a shortcut sequence inside your saved memories. 
For example you can save the phrase: "Today's date is <shortcut>ds" at any of 
more than 180 memory locations. Then when you recall that memory this phrase 
will turn into "Today's date is 3/12/03."  To prevent MessagEase from 
immediately expanding what you are specifying for a memory save either enter 
it with a drag-and-return, or enter a backspace on the character immediately 
following the shortcut symbol once and then re-enter it. You can also specify 
two consecutive shortcut characters and then erase one before saving it. 
For your convenience the following memories are preloaded: recall-t gives 
you the current time; recall-d gives you the current date; and recall-x gives 
you the current time and date.


******************************************************************************
NEW TO VERSION 3.3:
*******************************************************************************
Drag & Return = Recall: this option enables you to use a drag-and-return 
stroke to recall a memory content stored on that drag-and-return location.  
Normally you store and recall memory contents by a drag up on the 
reversed (M) (drag up on I). Checking this option allows you to recall a 
drag and return memory content without a recall prefix, in effect 
transforming all drag-and-return memory locations into immediate or 
right-now memory locations.

*******************************************************************************
NEW TO VERSION 3.2:
*******************************************************************************
Palm Os 5.0 version is included. (It's a separate file and it runs by itself)
Like MessagEaseST, now you can configure to have a circle on letters enter numbers.

*******************************************************************************
NEW TO VERSION 3.0:
*******************************************************************************
Now pressing on abc or 123 icons on the Graffiti area brings MessagEaseKB in 
the numerical or alphabetical mode.

*******************************************************************************
NEW TO VERSION 2.9:
*******************************************************************************
Now works both left-handed and right-handed with the screen modifying to the
size, and orientation of the keyboard.

The special characters can now be called from either small or large keyboards.


*******************************************************************************
NEW TO VERSION 2.6:
*******************************************************************************

_ The entire keyboard's special characters are made programmable.

-Improved the speed by modifying the recognition algorithm, bypassing the the 
 curve-fitting routines when only a tap or a drag was detected.

*******************************************************************************
NEW TO VERSION 2.5:
*******************************************************************************

Dragging-and-returning on ALL non-letter characters 
enters another character.  For example, while dragging 
from key I to key N enters a ?, dragging-and-
returning there enters .  Furthermore, all such new 
locations are programmable: you can store any non-
letter character there, recalling it with a drag-and-
return, without a macro prefix.
This new feature particularly helps applications or 
languages requiring other characters beside those 
available with drags. For example, while the drag-and-
return on # enters , (pre-inserted), you can 
store any character, say  there.

Now you can save a single char in a right now macro by 
character code. For example, to save , you can 
enter <command>191, highlight all four characters, and 
save it at any programmable single character right now 
macros.  Then dragging, or dragging and returning, on 
that location will enter . This is particularly 
useful for saving characters like <cursor right> that 
cannot be entered easily

The database used to store all your macros is unified 
such that macros defined by any of the three programs, 
MessagEase, MessagEaseKB, or MessagEaseST are shared. 
This database is called MeData-DBME and contains all 
your macros, right now macros, and single character 
right now macros. To back up all your macros, save 
this database. 
You can rename your current Mest database containing 
your present macros (MEDATA-SBN3) to (MeData-DBME), 
preserving your current macros.


*******************************************************************************
NEW TO VERSION 2.1:
******************************************************************************* 
Fixed Problems with the European Palm OS when combine command was used

*******************************************************************************
NEW TO VERSION 2.0:
******************************************************************************* 
Flexible scroll button:  Now in the option menu you can specify page scrolling 
or the number of lines you like your text to scroll up/down.

*******************************************************************************
NEW TO VERSION 1.9:
******************************************************************************* 
Combined Busy/Blank keyboards: Now an up-drag on the space bar will bring up the
busy keyboard from either the blank keyboard or the regular keyboard.

The keyboard's punctuation assignment was synchronized to that of MessagEaseST.

There is an option to move the DONE button on top of the keyboard to get a larger
text field.
*******************************************************************************
NEW TO VERSION 1.8.3:
******************************************************************************* 
Minor Bugs Fixed:

Cursor control now works with text selected.

Text field adjusts to incoming narrow text.

*******************************************************************************
NEW TO VERSION 1.8.2:
******************************************************************************* 
User selectable drag length: Allows you to customize the minimum amount you'll 
need to drag before it is registered as a drag and not a tap.

Fixed a bug affecting Combine command when used with Palm OS international
version.
*******************************************************************************
NEW TO VERSION (1.8):
******************************************************************************* 
A small circle (on most frequent letters) and dragging-and-return (for less 
frequent letters) enters a capital letter.

Insert routine made faster. Very large text entry supported without slow down.

Entering Text using MessagEaseKB:
=================================
To enter most frequent 9 letters E, T, A, O, N, I, R, S, or H: Just Tap ONCE on 
its key. For example, to enter A, tap on key marked with A, the top-left key.

To enter less frequent 8 letters: U, P, B, J, D, G, C, or Q: Drag from the 
center key (marked with O) toward that letter. You can start anywhere in that 
key, as long as you drag in the direction defined by the location of that 
letter. For example, to enter U, drag up from anywhere on the center key. to 
enter P, drag up-right from anywhere on the center key.

To enter less frequent 8 letters: V, L, X, M, F, W, Y, or K: Drag from its key 
toward the center key. You can start anywhere in that key, as long as you drag 
in the direction defined by the location of that letter.  For example, to enter 
V, start anywhere on the key marked with A and drag down right.

Entering Capital Letters:
==========================
Drag up on key marked with (123) to change to initalcap mode (Initialcap mode is 
indicated with a solid arrow on that key; the shape of this arrow conforms to 
Palm's user interface convention.  Drag up again to change to cap locks mode 
(broken arrow shows).  Drag up again or drag down anytime to get back to the 
lowercase mode (gray arrow shows). Similar to Graffiti's automatic 
capitalization, MessagEase Automatically capitalizes when a period, question 
mark, or exclamation mark is followed by a space or a carriage return.

On-Spot capital letters:
Starting with version 1,8, you can enter a capital letter by drawing a small circle instead of a tap
(for more frequent letters) and a drag and return (for less frequent letters).

Entering Special Characters:
============================
You enter special characters by dragging from its key toward its direction. If 
you want to see them while you enter text, you can either drag up on the space-
bar to see them marked on the keyboard (busy keyboard) or tap on the key marked 
with "123" to change to the number/special character screen.  You can enter 
special character from either screen. For example, on the numbers screen, drag 
from key 3 to key 2 to enter "?". This is the same as dragging from key I to key 
N on the "Ab" screen.  To enter @, drag diagonally from key 6 to key 8 which is 
the same as dragging from key R to key E.

Entering more special characters:
=================================
You can combine 2 characters to get special characters beyond those found on a 
regular computer keyboard.  You do this by entering each character then entering 
the combine command (drag up-left from key A). For example, to get "" enter 
"e", then enter "^", then enter combine (drag up-left from key A).  
Additionally, if you just enter A and continuously use the combine command, 
MessagEase will run through all the "combining" possibilities for each letter. 
By doing so you can potentially get more than 7000 characters. See the table 
combination table at the end of this document for all the combining 
possibilities.

You can also re-program the keyboard to include your frequently used accented or 
special characters. That way you can enter each of them with a single drag.  See 
Right-Now macro below for re-programming the keyboard.

Space, Backspace, CR and Tab:
=============================
A single tab on the "space" bar enters a space.  Drag left or right on the same 
key to get a back space or a space also.  Drag down on space bar to enter a 
carriage return.   (to enter a space on the number keyboard drag right on the 
space bar).  Drag down-right on key marked with "T" to enter a tab.

Cursor Control and Scrolling:
==============================
You can use the up/down key on your Palm to scroll the text up/down.  You can 
also use the cursor-right/left (drag left/right on key marked with 123/Ab) to 
move your cursor backward or forward.

Additional Space, Backspace and CR:
===================================
On either letter or number keyboard, you can use special drags to enter space, 
backspace or CR:  Drag up-right on key marked with "I" enters CR.  Drag down 
right on key marked with "S" enters space. and drag down-left on key marked with 
"T" enters a back-space. Also, dragging up/down on key marked with "R" changes 
the cap shift the same way as dragging up/down on key marked with 123/AB.  These 
are included for compatibility with hard-key devices.

Entering numbers on the letter keyboard:
========================================
You can enter numbers on the letter keyboard by drawing little circles on their 
corresponding key.  For example, drawing a little circle on key marked with "A" 
enters number 1.

Limit on the text size:
=======================
Please note that MessagEaseKB imposes no limit on the amount of text you enter 
in it. However the number of the characters you can enter may be limited by the 
calling applications buffer size. (to experiment with a large buffer size, you 
can call MessagEaseKB from MessagEase which has a large - 32k byte - buffer.)


*****************************************************
Additional Features:
*****************************************************

Memory capability: 
==================
In addition to proving you with a fast, intuitive and easy way to enter text, 
MessagEaseKB enables you to store frequently used texts (of any length) and 
recall them with two pen drags.  This is like having many clipboards at your 
disposal!

You can store 180 strings of any length (limited by your Palms memory) in 
locations addressable by letters, number or characters. To save a piece of text, 
enter it and highlight it. Then enter Memory command TWICE (up drag from key 
i/3). You'll see "M.Save" appear on top of your  keyboard, indicating you are 
about to save a piece of text in a macro. Then tap or drag on the desired 
address (e.g. key marked with A, or N, or location for  "?", etc). 

To recall the text you saved, enter the Memory command once (up drag from key 
i/3). You'll see "Macro" appear on top of the screen, indicating that your next 
pen tap or drag can will recall a text saved in a Memory location.  Then tap or 
drag where you've saved the text. Your saved text will be inserted at the cursor 
location. 

Use macro to save your frequently used text to speed up your text entry.  Your 
saved macros will remain intact even after you turn you

Single-Character Memories
==========================
In addition to regular Memories you can store a single character (including 
special or accented characters) in ANY location where there is a special character
stored. Once stored, you can recall each of these with a single drag without a 
Memory prefix. in effect this allows you to reprogram your keyboard at your will.

If you need to enter special or accented characters frequently, your best bet is 
to use this feature to store them for quick and easy recall.

To store a single character, first produce that single character on the screen 
(you can use combine command, or import that character from another 
application).  Then highlight it. Then drag up twice on the Memory command 
location (up on key i). Finally specify the location of where you want to store it
You can store it anywhere except at the locations of: letters, numbers, Memory command,
combine command, shift up, shift down, backspace, space, or linefeed.

Once you do that, simply drag on that location to enter your stored character 
without the need for Memory command prefix.

You can still store a longer-than-one character string in the same location for 
recalling with a memory command prefix. A programmable location can keep both! 
But beware that if you intend to store a single character in a programmable  
Memory location, that character will be stored as a single char memory.

Also, please note that when you store a letter of alphabet in a single-character 
memory location, both its drag and drag-and-return locations are used up: one for 
storing its lowercase form and the other for its uppercase form.

Insert Time and Date: 
=====================
You can insert current time or date into your text by recalling the macros 
stored in locations: T for time, D for date and X for both time and date.  You 
can also reprogram these locations if you wish, or move your time/date macros to 
some other locations.  Storing the string "[time]" in any macro location will 
expand that macro recall to the current time.  Storing the string "[date]" in 
any macro location will expand that macro locations recalled text to the current 
date.  Similarly, storing the string "[date and time]" in any macro location 
will expand that macro text's recall to current time and date.  The date format 
follows that you specified in  your Palm preference file.  For long formatted 
dates specify "ldate" instead of "date".

Menu "Options" descriptions:
============================
Use the menu command and bring up the options screen to modify MessagEaseKB's 
operations as follows: 

You can chose the kind of keyboard  you most prefer: Busy keyboard: Will show 
the special characters and less frequent letters on both alpha and numeric 
keyboards. (you can also bring up busy keyboard by dragging up on the space 
key).

Small keyboard: Will expand the text field and reduce the size of the keyboard.  
The smaller keyboard will only have the most frequent letters on the letter 
keyboard and numbers on the number keyboard. You can use this keyboard when you 
feel you know your letter locations on MessagEase's keyboard. 

Left handed/right handed keyboards: Moves the keyboard to the left/right side of 
the screen.

Font selection: Normally, MessagEaseKB uses the same font as the calling 
application (default).  You can change this (to make the font larger for 
example) by choosing the font you prefer.

Drag: adjust the minimum size of the stylus drag. Drags below this size will 
be recognized as taps. Drags above this size will be recognized as drags. If 
your taps are being recognized as taps, select a shorter drag size here. If 
you taps slip and are taken for drags, choose a longer drag size here.

Scroll: You can scroll the text in any field by using the up/down (hardware) 
button. This option lets you scroll either by a page or by one or more lines. 
When you select lines you can specify the number of lines to scroll for 
each button push.

Circle ANI: Normally a circle starting from any button on the alphabetical 
keyboard enters the capital form of the main letter of that keyboard. Using 
this option you caon configure a clockwise circle (cw) or counter clockwise 
circle (ccw) to enter the number corresponding to that button. 

Drag & Return = Recall: this option enables you to use a drag-and-return 
stroke to recall a memory content stored on that drag-and-return location.  
Normally you store and recall memory contents by a drag up on the 
reversed (M) (drag up on I). Checking this option allows you to recall a 
drag and return memory content without a recall prefix, in effect 
transforming all drag-and-return memory locations into immediate or 
right-now memory locations.

Automatic capitalization: When enabled, MessagEase automatically capitalizes on 
an empty buffer, and when the cursor follows a space before ".", "!", or "?". 

Blank/shaded Keyboard: For advance users, this option allows you to work with 
the keyboard without seeing the letters/characters marked on it. The shading in 
the boxes lets you see where you are on the grid with your peripheral vision. 
Our experience has shown that this helps you learn the character positions, and 
speeds up  your text entry. 

Keyboard Clicks: Each entry on the keyboard makes a clicking sound. Uncheck to 
silence the keyboard.

----------------------------------------------------

Legal Stuff:
============
This program is provided as a shareware Therefore rights are hereby granted for 
its non-commercial distribution.  All rights of commercial use of this program, 
including but not limited to; porting it to use with other devices is strictly 
reserved.  MessagEase technology is protected by both U.S. and International 
patent and copyright laws.  Its reproduction, modification, or reverse 
engineering is strictly prohibited. This program is provided "as is", with 
Absolutely no warranty expressed or implied. Use this software at your own risk. 

Please send feedback/comment to MEKB@ExIdeas.com

Copyright (c) 2003 ExIdeas inc.

All rights are reserved.
-----------------------------------------------------

The following table shows the pair of characters that when combined produces one 
of the extended special characters.  Most these combining characters are chosen 
quite logically, making it easy to remember (E combined with  makes , a 
combined with  produces , etc.).  You can also reprogram you MessagEaseKB 
keyboard to enter ten most frequently used special characters part of the 
keyboard, to enter each of them with a single drag. 

Table of special characters:
==============================

To get 		enter	f	then	/	then combine
To get 		enter	,	then	,	then combine
To get 	...	enter	.	then	.	then combine
To get 		enter	+	then	|	then combine
To get 		enter	+	then	+	then combine
To get 		enter	%	then	%	then combine
To get 		enter	S	then	^	then combine
To get 		enter	O	then	E	then combine
To get 	'	enter	<	then	'	then combine
To get 	'	enter	>	then	'	then combine
To get 	"	enter	`	then	`	then combine
To get 	"	enter		then		then combine
To get 	-	enter	n	then	-	then combine
To get 	-	enter	m	then	-	then combine
To get 		enter	~	then	-	then combine
To get 	(tm)	enter	T	then	M	then combine
To get 	(tm)	enter	t	then	m	then combine
To get 		enter	s	then	^	then combine
To get 		enter	o	then	e	then combine
To get 		enter	Y	then		then combine
To get 		enter	!	then	/	then combine
To get 		enter	c	then	/	then combine
To get 		enter	L	then	-	then combine
To get 		enter	o	then	=	then combine
To get 		enter	Y	then	=	then combine
To get 		enter	|	then	-	then combine
To get 		enter	S	then	/	then combine
To get 		enter	s	then	/	then combine
To get 	(c)	enter	c	then	o	then combine
To get 	(c)	enter	C	then	O	then combine
To get 	(c)	enter	o	then	c	then combine
To get 	(c)	enter	O	then	C	then combine
To get 		enter	<	then	<	then combine
To get 		enter	-	then	|	then combine
To get 		enter	-	then	-	then combine
To get 	(r)	enter	r	then	o	then combine
To get 	(r)	enter	R	then	O	then combine
To get 	(r)	enter	o	then	r	then combine
To get 	(r)	enter	O	then	R	then combine
To get 		enter	-	then	^	then combine
To get 		enter	+	then	-	then combine
To get 		enter	-	then	+	then combine
To get 		enter	2	then	^	then combine
To get 		enter	^	then	2	then combine
To get 		enter	3	then	^	then combine
To get 		enter	^	then	3	then combine
To get 		enter	m	then	u	then combine
To get 		enter	M	then	U	then combine
To get 		enter	p	then	p	then combine
To get 		enter	P	then	P	then combine
To get 		enter	1	then	^	then combine
To get 		enter	^	then	1	then combine
To get 		enter	>	then	>	then combine
To get 	1/4	enter	1	then	4	then combine
To get 	1/2	enter	1	then	2	then combine
To get 	3/4	enter	3	then	4	then combine
To get 		enter	?	then	/	then combine
To get 		enter	A	then	`	then combine
To get 		enter	A	then		then combine
To get 		enter	A	then	^	then combine
To get 		enter	A	then	~	then combine
To get 		enter	A	then		then combine
To get 		enter	A	then		then combine
To get 		enter	A	then	E	then combine
To get 		enter	C	then	C	then combine
To get 		enter	E	then	`	then combine
To get 		enter	E	then		then combine
To get 		enter	E	then	^	then combine
To get 		enter	E	then		then combine
To get 		enter	I	then	`	then combine
To get 		enter	I	then		then combine
To get 		enter	I	then	^	then combine
To get 		enter	I	then		then combine
To get 		enter	D	then	-	then combine
To get 		enter	N	then	~	then combine
To get 		enter	O	then	`	then combine
To get 		enter	O	then		then combine
To get 		enter	O	then	^	then combine
To get 		enter	O	then	~	then combine
To get 		enter	O	then		then combine
To get 		enter	x	then	x	then combine
To get 		enter	X	then	X	then combine
To get 		enter	O	then	/	then combine
To get 		enter	U	then	`	then combine
To get 		enter	U	then		then combine
To get 		enter	U	then	^	then combine
To get 		enter	U	then		then combine
To get 		enter	Y	then		then combine
To get 		enter	I	then	P	then combine
To get 		enter	s	then	s	then combine
To get 		enter	S	then	S	then combine
To get 		enter	a	then	`	then combine
To get 		enter	a	then		then combine
To get 		enter	a	then	^	then combine
To get 		enter	a	then	~	then combine
To get 		enter	a	then		then combine
To get 		enter	a	then		then combine
To get 		enter	a	then	e	then combine
To get 		enter	c	then	c	then combine
To get 		enter	e	then	`	then combine
To get 		enter	e	then		then combine
To get 		enter	e	then	^	then combine
To get 		enter	e	then		then combine
To get 		enter	i	then	`	then combine
To get 		enter	i	then		then combine
To get 		enter	i	then	^	then combine
To get 		enter	i	then		then combine
To get 		enter	d	then	-	then combine
To get 		enter	n	then	~	then combine
To get 		enter	o	then	`	then combine
To get 		enter	o	then		then combine
To get 		enter	o	then	^	then combine
To get 		enter	o	then	~	then combine
To get 		enter	o	then		then combine
To get 		enter	-	then	:	then combine
To get 		enter	:	then	-	then combine
To get 		enter	o	then	/	then combine
To get 		enter	u	then	`	then combine
To get 		enter	u	then		then combine
To get 		enter	u	then	^	then combine
To get 		enter	u	then		then combine
To get 		enter	y	then		then combine
To get 		enter	i	then	p	then combine
To get 		enter	y	then		then combine



