README.md
*******
SUMMARY
*******

FieldPlus enables users to use their 5-way navigation button
to select text in standard PalmOS text input fields. Third
party word processing applications typically use their own
text routines, so FieldPlus will not affect them.

***************
VERSION HISTORY
***************

v1.1

Initial public release. Supports basic selection, toggling
between word- and character-based selection, and opening
the Palm Command Bar by holding the Menu key.

v1.2

- Disabled execution on Tungsten T5 due to the lack of a
keyboard.
- Fixed selecting beyond the field boundary (previously
selection was lost if the field scrolled). Note that scroll
bar locations will not update until selecting is done. There
are no adverse effects from this behavior.
- Added option to set how non-alphanumeric characters
(refered to in documentation as space characters) are treated
while selecting in word mode.

v1.3

- Fixed field overrun bug when selecting words with spaces
at the beginning of a field.
- Added option for how symbols are treated during selection.
- Added autodial option for things that 'look' like phone
numbers. Additional autodial options will be forthcoming.

v1.3.1

- The standard Treo Dial Number dialog is opened when a number
is selected and autodial is enabled.

v2.0

- Added additional selection operations including: select
word, select line, select sentence, select all.
- Added additional operations that can be performed on
selections including: use selection, cut, copy, and paste.
- Expanded use of center button to be disabled, perform
a single selected action, or open a popup with all operations.
- Optional optimized support after a cut or copy operation.
- Removed auto-use option. (this was a temporary addition
until a more active means of using selections was devised).
- Fixed previous disabling of shift+backspace deletes word
behavior.

v2.1

- Added Exclusion list to prevent FieldPlus from running in
high-performance applications; for example NesEm or other
games.
- Added Quick quit option to allow disabling FieldPlus for
the duration of the current program.
- Fixed initial focuson Treo 600 preference panel.
- Fixed center action setting keeps FieldPlus active problem.

v2.2

- Added move-without-select behavior
- Fixed erroneous activation of behavior when insert point not active

v2.2.1

- Fixed bug that lost exclusion settings when 2.2 was installed over
2.1
- Fixed improper version reporting. 2.2 was listed as 2.2a. Current
version should show 2.2.1
- Fixed unable to select certain non-typical characters, such as the
bullet character.
- Fixed date jumping and selection problems when running in DateBk.
- Fixed jumping problems in SnapperMail.
- Fixed crash problem when clicking menus in Phone app
- Added check to try to minimize application cross-talk
- Fixed incomplete clearing of graffiti state

v2.2.2

- Fixed compatibility with DateBk (be sure to be running the most
recent version of DateBk; tested on 5.4a,p7)
- Added a few more device compatibility checks

v2.2.3

- Post edit setting was not being honored

************
KNOWN ISSUES
************


*************
Configuration
*************

FieldPlus is installed as a Preferences applet, meaning it is
not visible in the normal Launcher. To access the configuration
screens for FieldPlus, open the Preferences application. On
a Treo 600, FieldPlus will be visible as an option in the popup
list at the top-right corner. On a Treo 650, scroll down to
the Other section and you will see FieldPlus listed there.

Layout

There are 4 main configuration areas for FieldPlus split into 4
separate screens. Switch between screens by using the popup list
immediately below the Preferences title bar.

Selection: sets whether selection is enabled, and the default
selection behavior

Center Action: sets whether to use the center button for FieldPlus
operations, and how to use it

Command Bar: sets whether to use the menu button to open the
Palm Command Bar

Exclusions: sets where not to run FieldPlus. FieldPlus can
affect the performance of resource0intensive software, such
as games.

Available Settings

Selection

5-way does: whether selection or movement using the 5-way
navigation control, or both are enabled. If not enabled,
center actions will not be enabled either.

nothing: neither selection nor movement is enabled. This
also disables the shift+center action setting.

select only: only selection using shift is enabled.
Movement is not enabled.

move only: only left/right movement using option is enabled.
Selection and the shift+center action are disabled.

both: selection and the shift+center action, and left/right
movement using option are bth enabled.

Right and left select: sets whether the default selection
mode is by letter, or by word. This option is hidden
when selection is not enabled.

Word mode skips spaces: When selecting by word, this
sets whether to jump over whitespace between words.
When checked, whitespace is skipped. When unchecked,
Spaces are selected space-by-space. This option is
hidden when selection is not enabled. This option is
relevant even when the default selection mode is,
Letter, as users may toggle between word and letter
mode while selecting. This option also impacts how
option movement jumps over words.

Treat symbols as letters: When selecting by word, this
sets whether to include symbols as letters. When
checked, symbols are selected as part of a word. When
unchecked, symbols are selected character-by-character.
This option is hidden when selection is not enabled.
This option is relevant even when the default selection
mode is, Letter, as users may toggle between word and
letter mode while selecting. This option also impacts
how option movement jumps over words.

Center Action

Center button does: sets the general behavior of the center
button while selecting.

no action: the center button is not used for selection
operations.

single action: the center button always performs a
single selected action.

action menu: the center button opens a popup allowing
users to select an action to perform. The popup can
be cancelled without selecting an action by pressing
left, right, shift, or option.

Single action: displayed when 'Center button does' is set
to 'single action'. Allows the user to select the
single action that will be performed when the center
button is pressed.

toggle mode: toggle between Letter and Word selection mode.
The cursor remains at the current position, and the user
may continue selecting the new mode. Toggling again will
switch back to the original mode. Note that if select
mode is terminated (either by terminating one-hand mode,
or by releasing the shift key) the default select mode
will be active when selection is re-activated, not the
last toggled mode.

use selection: look for 'usable' content in the current
selection. This content need not start at the beginning
of the selection. Supported content includes:

phone number: prompts the user to dial or SMS
the selected number. Users may cancel this action
at this time.

url: opens the url in the default browser.

email: opens a new email to the selected address
in the default mail client.

If the user cancels using a phone number, they will remain
in selection mode and can continue with the current
selection.

select word: selects the current word at the insert point.
The user remains in selection mode with the cursor at the
end of the new selection.

select line: selects the entire line at the insert point.
The user remains in selection mode with the cursor at the
end of the new selection.

select sentence: selects an entire sentence (which can
span multiple lines) at the insert point. Note that mid-
sentence terminal punctuation (especially periods used in
abbreviations) will prevent full sentence identification.
The user remains in selection mode with the cursor at the
end of the new selection.

select all: selects the contents of the entire field.
The user remains in selection mode with the cursor at the
end of the new selection.

cut: cuts the selected text, removing it from the field and
placing it on the clipboard. The user will no longer be in
selection mode so that they can move to a new location
(presumably to paste what they just cut) without selecting
intervening text.

paste: pastes the current contents of the clipboard at the
insertion point. The user will no longer be in
selection mode after the paste operation.

copy: copies the selected text to the system clipboard.
The user will no longer be in selection mode so that they
can move to a new location (presumably to paste what they
just copied) without selecting intervening text.

Optimize after cut or copy: displayed only when 'Center
button does' is set to 'action menu'. When in one-hand
operation (discussed below), this will place FieldPlus
into a special mode after performing a cut or a copy.
Until the shift key is pressed again, the user will be
able to move about the current field, and even enter
text, and when the center button is pressed, the menu will
open without holding or pressing shift again (typically
a cut, copy or paste will cause one-hand mode to end).

Press shift after a cut or copy to terminate this mode,
then shift again to re-enter one-hand mode. To avoid this
behvaior (in which case, the post action state will be as
described for each action above) uncheck this option.

Command Bar

Holding menu opens command bar: allows the System Command Bar
to be opened by holding the Menu key for a short time. This
is usually opened by a special pen motion written in the
Graffiti area, but as many users do not enable Graffiti input
on their Treo's the functionality that some applications add
to the Command Bar can be hidden. The Command Bar will open
automatically when the hold time has passed. This option
can be enabled or disabled separately from the other
selection options.

Exclusion

The list here presents all discoverable applications in main
memory. Applications on the card will not be listed. Most
shortcut style applications (such as those created by PowerRUN
or ZLauncher) should appear and function as normal. By
checking an application, FieldPlus will not run while that
application is active. While most applications will be
unaffected by the few resources used by FieldPlus, this is
useful for high-performance applications such as games (or
emulator like NesEm). Disabling FieldPlus in these
applications will leave all system resources to that
application, enabling better performance.

Quick quit: For applications that don't appear in main memory,
it is still possible to disable FieldPlus completely for
the duration of an application. If Quick quit is enabled,
press shift + hard key 4 (power button) will terminate
FieldPlus completely until another application starts. If
you are using a high-performance application from a ROM-
based card (retail), this will still allow you to get the
most performance while such an application runs.

*****
Usage
*****

Activating selection mode

To activate selection mode, first the 'Enable 5-way selecting'
option must be enabled. This is accessed in the Selection
section of the FieldPlus configuration (in the Preferences
application).

Selection can only be activated while in a standard PalmOS field.
This is typically used for short text input in dialogs, Memo Pad
is one large field, VersaMail uses fields for writing emails,
Messaging uses fields for composing SMS messages, Blazer (Web)
uses fields for most text input. Fields are very common
throughout PalmOS applications.

HOWEVER, most word processing programs use their own custom
methods of inputing and displaying text. FieldPlus will not
affect these applications.

Selecting can be activated in 2 ways:

1) Press and release the Shift key. This activates one-hand
mode. Press and release again to exit.

2) Press and hold the Shift key. Selecting will be enabled
until the Shift key is released.

While in shift mode, the following key actions are in effect:

- Up selects up to the next line.
- Right selects to the right (according to the selection
configuration settings).
- Down selects down to the next line.
- Left selects to the left (according to the selection
configuration settings).

Pressing the center button will perform the action assigned to
the center button.

When the center button is set to open the action menu, pressing
the center button will open a small popup list of actions that
can be performed. The order of the options is always the same
as the order in this document (and the order of actions when
selecting a single action in the FieldPlus configuration). To
close the popup without making a selection, press either left,
right, shift, or option.

Toggle mode is always displayed first, so to quickly toggle
between selection modes, just press the center button twice.
The other options are listed to try to put more common actions
close to the first position. Cut, paste, and copy are placed
at the end of the normal list, because users can wrap around
the action list (push up from toggle mode to wrap to the
bottom of the list). Therefore, copy is actually only one item
away from toggle mode, and paste is only 2 away.

If the user is holding the shift key when the popup opens, and
continues to hold it through selecting an action, they will
remain in selection mode even for cases that say they will not.
Likewise, if they are holding the shift key when the popup opens,
but release it, they will not be in selection mode after they
select an action. The resulting selection states apply only
when the user is in one-hand mode.

Fast movement can be activated in 2 ways:

1) Press and release the Option key. This activates one-hand
mode. Press and release again to exit.

2) Press and hold the Options key. Movement will be enabled
until the Option key is released.

While in option mode, the following key actions are in effect:

- Right moves one word to the right (according to the selection
configuration settings). If at the end of a field, the motion
event is handled by the underlying application.
- Left moves one word to the left (according to the selection
configuration settings). If at the start of a field, the motion
event is handled by the underlying application.

Option+up/down currently has no special meaning, and any observed
behaviors are caused by the underlying application. Option
movement, unlike selection, can actually move the focus out of the
current field. This is a result of application specific behavior.
Calendar, for instance, allows users to scroll by week when option
is held. On the Treo 600, if you have put the focus in an event
field, it's actually somewhat difficult to extract it again to allow
Calendar to process the option+keystroke. This is complicated by
the option key 'selecting' a calendar entry. So as not to override
any of the built in behaviors, FieldPlus will return control to the
application when it has no effect on the insert point motion.

This is an issue I'm continuing to think about. If you have any
strong feelings about it, please mail me about it.

****************
Acknowledgements
****************

Several key users have contributed ideas, suggestions, and testing
resources to help me improve this utility. You know who you are!

Thanks a lot!

*******
Contact
*******

Email questions, comments, or bugs to: arognlie@earthlink.net

Be aware that I use an email whitelist, so don't be surprised
if you receive an email from Earthlink for you to request being
added to my list.

You can also post feedback at PalmGear.com.