Manual for OmniRemote V2.10
Table of contents
Chapter 1: Quick start (the important stuff)
Chapter 2: Avoiding problems
Chapter 3: Basic features in detail
Chapter 4: Macros
Chapter 5: Timers
Chapter 6: Databases
Chapter 7: Styles
Chapter 8: Support contact
Chapter 1: Quick start (the important stuff)
Upgrading from previous versions:
Do not remove the old OmniRemote before installing the new one. Install
the Remote.PRC file using the standard PalmOS install tool. If you beam
OmniRemote to another user who already has OmniRemote installed, they will
loose their existing training and settings.
Use your Palm Install Tool (in Windows this is on your Start menu) to
install the file Remote.PRC. Remote.PRC is the application itself. If you
don't want the sample screens, you can choose select all from the buttons
menu and then delete.
Optionally you may also install the file Manual.prc which is the online version
of this manual. It can be run directly from the application launcher, or
seleted from OmniRemote's help menu.
What is it?
OmniRemote is an IR learning remote control. It uses infrared light to
communicate with TV's, VCR's and many other devices (nearly any device that
"Out of the box" this software won't control anything. Because it's a
learning remote control it requires a training period before it can be
used. What this method loses in convenience it gains in flexibility.
You can train the buttons using Menu|Training|Train Buttons (menus pop up
either by clicking the Menu silk button or by tapping the bar at the top of
the screen). While in training mode, align your remote (explained in
detail in chapter 2), double click the button you want to train, then
press the equivalent button on your remote control. For buttons that can
be held down during use (such as some rewind and volume buttons) hold the
button until the Learn IR screen disappears rather than quickly pressing
and releasing the button. Continue doing this until every button has been
trained, then tap a blank area of the screen.
After that you're ready to go!
All versions require Palm OS version 3.0 or greater.
The unregistered "evaluation version" is restricted to 15 days of use. A
registration code can be purchased from Pacific Neo-Tek's order page which
will allow full-unrestricted use of the software. This code should be
entered in the registration dialog
For Pacific Neo-Tek's order page, go to:
Chapter 2: Avoiding problems
If you have poor range, or if buttons work intermittently or not at all try
the following steps:
- Try re-training the button you are having trouble with. Use:
or use the training mode. It is unlikely that you will train every
button perfectly the first time. Some buttons will probably require
- Try re-training with a different distance between the Palm and the
remote. Some Palm devices learn best at a set distance. Depending on
your remote and the specific Palm device the best distance could be an
inch, a foot or anywhere in between.
- Use fresh alkaline batteries. We've received a startling number of
reports that this makes a significant difference. It seems that as the
battery voltage drops, the IR circuit quits before the rest of the Palm.
- If you're trying to use the internal IR, make sure it's turned on in
- Try a different IR carrier frequency. This setting is in
Menu|Training|Training Settings it is used during training. Once the
optimum setting is determined, it should be used for all buttons on that
remote. To determine the optimum setting, perform the following steps:
- Press the Auto detect button. Hold your remote up to the IR sensor on
your Palm or your OmniRemote Module. Hold down or repeatedly press one
of your remote's buttons. On the screen the word Testing should be
followed by changing numbers as it scans for the correct frequency.
Very slowly pull your remote away from the Palm until slow beeping
begins. Hold remote still and continue holding or pressing button while
beeps continue. Test will complete in a few seconds.
- Auto detect will only try scanning the lower five built-in frequencies
and the one typed on the blank (under the Auto detect button). 39.2 is
the most commonly used frequency.
- When training try holding the button on your remote a little longer
rather than just a "tap".
- Training must be performed with the remote aimed at the IR receiver
(either the small window at the top of the Palm, side of the Visor or
the middle bump on an OmniRemote Module). Training should not be
attempted in bright light.
- When training, try positioning the Palm and remote a different distance
apart. Make sure the remote's LED and the Palm's receiver are at the
same height and sitting on a stable surface (rather than in your hand).
The beeps in training mode are helpful as a guide, but aren't a
guarantee that you have them aligned perfectly. Don't attempt to train
while in bright light (such as sunlight).
- When testing, hold the Palm near the device you are trying to control,
but not within six inches. Keep the Palm aimed at the device's receiver
and don't sit at an angle to the front of the device. Glass doors or
other obstacles between the Palm and the device can cause poor range.
- If you are using the internal IR on a Palm III, IIIx, Palm V, Palm VII,
Sony Clie or Visor you may experience range problems. This is because
the Palm's internal IR LED's are not very bright. This may be more
noticeable when controlling certain devices. If this causes you
problems, you may wish to purchase the OmniRemote Module or other IR
booster. For more information check out:
- If your Palm has internal IR, you might get slightly better performance
from the Palm's internal receiver than the OmniRemote Module's receiver.
Chapter 3: Basic features in detail
This chapter assumes that you have the program running and know how to
perform training successfully. If this is not the case you should read
over the previous chapters.
To go into drag mode select "Drag" from the menu. Set your stylus on the
button that you wish to drag and move it to the desired location. You can
drag individual buttons without selecting them. In order to exit drag mode
click on a blank area of the screen. To drag groups of buttons select the
buttons you wish to move, go into drag mode and drag them to the desired
To train buttons go to Menu|Training|Train buttons. After entering
Training mode, tap the button you want to train. A test mode screen will
be displayed allowing you to get the alignment of your remote correct and
to make sure the room is dark enough. Once you are finished testing, one
more screen tap will send you to the training screen. Press the button on
the remote and you're done and ready to move on to your next button. Once
you're sure that the alignment is correct you can even skip the testing
and just double tap the button to be trained.
Don't forget to switch back to Normal mode (by tapping a blank area of the
screen) after you are done moving or training your buttons.
To create a button choose Menu|Buttons|Create. You will hear a beep and
the message "Draw button where you want it" will be displayed at the top
of the screen. Many features use this area of the screen to display
messages, so remember to look here for important instructions. Place your
stylus on the screen and drag it diagonally (toward the lower right for
example). A rectangular button will "rubber band out". When it's the size
and shape you want, lift the stylus. Don't worry if it's not in the right
After you've created your button a dialog will be displayed. This is the
same dialog that would be displayed if you used the Menu|Buttons|Edit
feature. Now you can give your button a name. A name is not required but
it will be convenient when it comes time to program macros or timers.
If you would like text displayed on your button enter it in the "button
text" field. You may have as many lines in this field as you wish. If you
want to use identical name and button text you may copy the button name
into the text field by clicking on the arrow below "button name".
If you want to train the button now, you can do so by clicking Retrain or
you can wait, creating all of your buttons now and then training them all
later using training mode. If you made your button the wrong size or shape
you can re-draw it by pressing Recreate. You can draw the button in a new
location this way too, however if it only needs to be moved,
Menu|Buttons|Drag is probably an easier method.
The Edit Buttons dialog also lets you change the type of a button to one of
six types. So far we've been working with Normal buttons, but there are
also five special types of buttons. A Label is basically just a name or an
icon with no border around it or background behind it. It can't be clicked
like other buttons. In the example TV category, the words Channel and
Volume are labels. The icons used on the seek buttons in the example's Amp
category are also labels.
A Category button is a button that when clicked, changes the current
category. Common uses are the TV, VCR and CD buttons in the examples. If
you would prefer to save screen space, create a single Category button that
sends the user to a different screen containing only other Category buttons.
To set the button's category, press the Retrain button then choose the
category from the dialog.
You can turn a button into a Macro by choosing Macro from the drop down.
Macros are discussed in detail in the next chapter.
An X-10 button is a button that you use to control an RF X-10 device. In
order to use this feature you will need to be using a Handspring Visor and
a special enhanced Springboard module. For more information on this (and
other hardware) head up to our web site at:
The database button works like a category button, except that it changes
databases as well as categories (databases will be discussed in greater
detail in chapter 6). Its settings are changed using the
Retrain button similarly to category buttons.
Your changes in the Edit Buttons dialog are saved when you press OK,
Retrain or Recreate.
Select allows you to select one button at a time or "rubber band select"
part of the remote. If you wish to select a single button (or several
buttons, one at a time) you may click on them individually. To rubber band
select, place your stylus on the screen and drag it diagonally (toward the
lower right for example). Buttons will become selected in a rectangular
area, when the area that you wish to select is highlighted lift the stylus.
Once you have the desired area of buttons selected you can un-select
individual buttons by clicking on them once. If you wish to de-select all
buttons go to Menu|Buttons and choose Select again.
Select all allows you to select all of the buttons on the screen at once.
To de-select all, go to Menu|Buttons and choose Select all again. After
you have selected all of the buttons, you will remain in select mode,
allowing you to de-select any buttons that you didn't want. (this is
useful if you wanted to do something like select all but two buttons)
The button appearance dialog allows you to change certain attributes of
buttons such as their background and frame style. In order to change the
appearance of one (or more) buttons you will need to select the buttons
first. After choosing Menu|Buttons|Appearance a dialog allows you to adjust
the button press type (this is the way that the button will look when you
push it), the button background, and the button frame style. When the dialog
first opens the settings that are displayed are the default settings (as in
default button appearance), not the current settings of that button. If you
don't want to change a particular setting, un-check the checkbox to the left
of it. (for example, if you wanted to change the button press type of your
buttons, but not what they look like you would un-check Button background and
If your button clicks too slowly you may want to experiment with different button press
settings (dotty is generally the fastest).
To delete a button select the button (or buttons) that you wish to get rid
of and choose the Delete option from the menu.
If you wish to move a button (or buttons) from one category to another
select the button (or buttons) and choose Cut from the menu. Then go to
category to which you wish to move the buttons and select Paste from the
If you wish to copy a button (or buttons) from one location to another
select the button (or buttons) and choose Copy from the menu. Then go to
category to which you wish to copy the buttons and select Paste from the
If you paste to the same category (after copying) it will be pasted over the
same button and you will need to use Drag to move it.
Flip screen will flip your screen so that you can turn your Palm over and
use it upside-down. This is useful because the OmniRemote Module sticks
out of the bottom of the Palm and needs to be pointed at the device that is
being controlled. When you using a Handspring Visor the screen flips sideways
because the Visor IR is on the side.
In the preferences dialog there is a drop down menu that allows you to adjust
which IR you use (this should be set on "internal", unless you are using an
external IR booster, such as the OmniRemote module). This setting is not
available if you use a Springboard Module.
The check box labeled "Enable Sound" allows you to choose whether or not
you want hear button clicks and beeps. PalmOS system sounds (such as alert
beeps) are not controlled by this and must be changed in the Prefs
The cached screen selection allows you to choose if and how many screens
are cached (or "remembered") by your device. Idealy, you should have the
cache set to the same number of categories that you have, but this will
take up a lot of memory in your device (unless, of course you only have a
few screens). On slower devices it may take awhile for screens to draw,
thusly enabling caching may optimize performance.
If you would like to be able to place your buttons freely at any location or
size, set both of the Grid snap settings to 1.
The high resolution check box allows the screen to be viewed at a higher
resolution (on devices that support this setting, such as the Sony Clie).
The stretch to fit screen setting places the buttons in the category at the
optimum position for your high resolution screen. The stretch setting has
no effect if high resolution is off. If high resolution is on it is
recommended that stretch be on as well. These settings will not be visible
on devices that do not have high resolution screens.
Default appearance sets the appearance of the menus and any buttons that
have not been set with the buttons appearance menu. Checking the "Show
untrained as dotty" checkbox will show which buttons have not been trained
by drawing a dotty rectangle over the top of them.
The button press selection allows you to adjust the button press appearance
(this is the way that the buttons will look when you push them). If your
button clicks too slowly you may want to experiment with different button
press settings ("dotty" is generally the fastest). Buttons without frames
also click more quickly. Using the color selection option you can decide
which screen mode your device should use. Some screen modes may be slower on
certain units. Aditionally, if you are using a black and white device and
your screen seems difficult to see you may want to try changing the settings.
Auto select chooses the mode that OmniRemote's programmers assumed would be
best on your device.
The Hard key settings allow you to redefine the function of each of your
Palm's hard keys (i.e. the date book, todo list, etc.). Simply tap the
label to the right of the hard key you wish to redefine, then choose which
button you want that key to activate.
At the top of the Hard keys dialog you'll find a category drop down. The
buttons you define in the "All" category will activate when you press the
appropriate hard key regardless of the current category. If you select a
different category from this list, the buttons that you assign will only
be activated when that category is being displayed.
Here is an example of how this would be useful:
You may want to set the up/down buttons to change the channel on your TV
only when the TV category is selected (set the hard keys in the TV
category). You may want the up/down buttons to control the channel on the
VCR only when the VCR category is selected (set those hard keys in the VCR
category). You may also want the Datebook button to always activate the
mute button on your stereo regardless of which category is currently
selected (set this hard key in the All category).
Some devices may have additional controls such as a jog wheel. If your
device has these, you may see an arrow button in the upper right corner
that takes you to another screen which you can use to set the functions of
To set your buttons back to their original function (i.e. datebook, etc.)
tap the label to the right of the hard key you wish to redefine, then tap a
blank area of the screen.
Chapter 4: Macros
A macro is a very powerful type of button. One press of a macro can
activate many functions on multiple devices, simplifying operations that
would ordinarily require multiple key presses, perhaps on numerous remotes.
Before attempting to use macros, be sure you've mastered the training
methods described in previous chapters. A properly working macro can be
very convenient, but a macro that relies on a poorly trained button that
behaves intermittently can be more trouble than it's worth.
A macro is just a list of buttons which should be pressed in sequence.
Press the macro and each of the other buttons will be automatically pressed
in order with a fraction of a second delay between them. For example,
"Amplifier on, Cable box on, TV on, Set amp source to video". When you
press a macro you can hear the clicks as if you were pressing each of the
You create a macro the same way you would any other button except that you
choose Macro from the button-type drop down in the Edit buttons dialog.
After you press Retrain, macro training mode is entered and you'll see the
message "Click buttons to add to Macro". At this point press each of the
buttons in sequence, changing categories if necessary. If you need to add
pauses, you can do that later (in the edit macro dialog). When you've
finished entering all of the buttons, tap a blank area of the screen. If you
want to delete all of the entries and start over, choose the Retrain button
in the Edit buttons dialog again.
If you want to look over or correct the sequence of events you've created,
press the Edit Macro button in the Edit buttons dialog. This will display
the list of events. If you find that you've made a mistake, Insert and
Delete at the bottom of the screen allow you to correct your error. To
delete an item, select the item and click Delete. To move an item to a new
position in the list you may drag it up or down. To insert new items, select
the item above the point at which wish to add new items and click insert.
If you would like to insert a Pause in the Macro, tap the item above the
point at which you wish to insert the Pause and Click the Pause button. In
the Select pause dialog you can choose the length of the pause in one of
two ways. You can enter an arbitrary length manually and click the pause
button or choose a pre-set 0.75 second pause. If you want your macros to
be compatible with older (pre 2.x) versions of OmniRemote you must use
only the 0.75 second pauses.
Chapter 5: Timers
OmniRemote supports up to 32 timers that each allow you to schedule a
normal or macro button press to occur while you're away. When using
timers, it is very important to test often. Test your macros many times to
be sure they're reliable. Make sure the Palm is aimed properly and
closely enough that reliable operation is ensured. Don't put the Palm in
a place where cats or people will be likely to move it. These are the most
important things to remember when setting up timers. Ignore them and your
timed events may fail.
Timers are set using the Advanced|Timers menu item. Because each timer only
activates one button, people will usually use it to trigger a macro. To
begin setting up a timer click "New". Select the date and time that you
would like the timer to occur. You can use mode to select how often you
would like the timer to occur (i.e. daily, weekly etc.). The Repeat mode is
used to select whether the alarm will be reset to a new date in the future
after it goes off. If set to Single event the timer will only go off once.
If set to Daily the timer will go off at the same time every day after and
including the specified date. Weekday does the same, but Saturday and
Sunday are skipped (i.e. timer goes off on weekdays only) and Weekly causes
the timer to go off at the same time and on the same day of the week every
week after and including the specified date and time.
The interval option allows you to select more customized delays between timed
events. You can select that the timer begin a specific number of hours,
minutes and seconds after a pre-determined time. By default that time is
now, however there is a trick that you can use to change that time: Create a
Single event timer first and set its time, then change it into an interval
Click on the box to the right of "Button" and choose which button you would
like to associate with this timer. Confirm the dialogue by clicking on
If you wish to edit a Timer you may do so by selecting the timer and
clicking the "Edit" button. You may delete timers by selecting the Timer
that you wish to get rid of and clicking "Delete".
The arrow buttons at the top of the Timers dialogue allow you to scroll
through the information that you have set up for various timers. Such as
the time, mode, category and button name.
Chapter 6: Databases
"Databases" are to the Palm OS as "files" are to your PC. A database
contains information about the buttons/styles/training and other information
that accompany the remotes that you have trained for OmniRemote. In addition
to making it easier to exchange information with friends, there are a variety
of ways that databases can be useful. If you have lost a remote control for
a device that you still own or if you have a device that you are having a
difficult time training (such as the Phillips TiVo or Sky Digibox) you may be
able to download databases for that device from the Internet. A Database can
only contain 15 categories, but with OmniRemote's new allowance of multiple
databases you can get around this limitation. There are a variety of web
sites that specialize in providing a place for people to exchange remote
If you download a database from the Internet or receive one from a friend
it is extremely important that make sure that it has a different name
from your existing databases! The database name is not necessarily the same
as its file name. If you install a database with the same name as one you
have already, your existing database will be deleted! This behavior is
part of PalmOS, and since OmniRemote is not running at that time, there is
no way we can protect you. If you are unsure of the name of the database you
are installing you may want to make backup copies of your databases just to
be safe. After you HotSync, your databases will be stored in a folder called
Backup on your PC. You can copy them from this location to a safe place.
The default database name is OmniRemote, there are also many databases on
web sites that have the same name. To install a database, simply use the
PalmOS install tool.
-- Important hint in case of database problems --
It is possible that you could accidently install a database that is
corrupted, not designed for your unit or requires more memory than you have.
In these situations it is possible to get "stuck" so that you can't run
OmniRemote and are therefore unable to switch back to your old database.
If you find that you are in one of these situations there are two things you
can try. First try holding the page up key while launching OmniRemote.
This will prevent all styles in the database from loading. If this doesn't
help, try holding the page down key while launching OmniRemote. This will
rename the current database to "BadDB" and OmniRemote will switch to the
default database. After you get into OmniRemote the first thing you should
do is rename BadDB to another name (in case you need to do this again in
the future). Holding the key while launching OmniRemote may be tricky
because it may cause the launcher's screen to scroll. Try this: put your
stylus down on the OmniRemote Icon, while still holding it down press and
hold the page key, while still holding it release the stylus, then after
OmniRemote loads finally release the page key.
To use Databases go to Menu|Advanced|Databases. In order to edit or view
a Database you will need to make a selection from the "choose database"
drop down and click "Load". If you would like to create a new database to
work with click the "New" button. A dialog will come up prompting you to
name the new database, you will need to enter a unique name for your new
database and confirm the dialogue by clicking "Ok". You may now select
your newly created database from the "choose database" drop down and click
"Load". You may also Beam, Rename or Delete a database by clicking the
If a database becomes corrupted (i.e. something unexpected is happening
with your database, and you're not sure what it is) you may want to use
"Repair current database". "Repair current database" will attempt to repair
whatever database you currently have loaded. It will not correct all
potential problems, but if your database is behaving strangely it is worth
If a button is changed, but what is displayed on the screen does not
reflect this, press "Clear cache". This button should always be used if
the current database is changed outside of OmniRemote. For example, if you
HotSync in a new database.
Importing and exporting categories:
"Import category" and "Export category" are useful for importing raw hex
codes (IR codes) in Pronto hex format. IR codes are the training data
within your button. The IR code has nothing to do with the button
color/shape/location etc., it is only the training contained within the
Here is an example of how to use the "import" function. The IR codes are
imported through the MemoPad application. OmniRemote imports any buttons
that it finds in MemoPad which match buttons in the current category. It
does this by button name. The entries in MemoPad have the button name and
category name in them.
Start by creating your new buttons in OmniRemote (make sure every one has a
button name, even if it's blank or just has an icon on it), then when you're
done go to Menu|Advanced|Databases|Export category. This will copy the
buttons in the current category to MemoPad. Then HotSync to bring those
empty buttons to your PC.
Open your .ccf file in ProntoEdit, then locate the remote control in the
left pane under Devices. Find the screen that has the actual IR codes
Double click on the button and go to the "action" tab and double click on
"[C] Learned". That will bring up a dialog called "Edit IR Code". Copy
this by clicking Ctrl-C.
Go into the MemoPad application in PalmDesktop and find the buttons that were
exported. Delete the existing hex code and then paste in the new one you
just copied using Ctrl-V. Go through each button copying in its hex code.
When you're done, HotSync.
Go back into OmniRemote and go to Menu|Advanced|Databases|Import category.
It will find the matching buttons in MemoPad and load their training.
If you are having difficulty importing a category, remember that OmniRemote
scans all of MemoPad searching for records containing the current category
name. If a previous failed attempt or previously exported category is
still buried in MemoPad somewhere OmniRemote may still be trying to load it.
In order to export IR codes all you need to do is select the category that
you wish to export and click the "Export category". The codes will end up
in MemoPad in hex format.
Chapter 7: Styles
"Styles" (sometimes referred to as skins or themes) is a way of giving your
user interface a unique look. Styles are basically bitmaps (images) that
are used to create your screen backgrounds and buttons. OmniRemote comes
with a few styles built-in (i.e. marble, granite, etc...) but you can also
import new ones using the Styles dialog or by cutting and pasting from
another database that contains those styles. Once loaded, styles can be
selected and used in Menu|Buttons|Appearance and Menu|Options|Appearance (see
previous chapter where the difference between these is explained).
Most users will probably not want to create their own styles, but they may
want to use styles that others have created. You can do this by switching
to the database containing the styles you want, then copy the buttons you
like, switch back to your database and paste them in. You will be prompted
as to whether you want to move the styles when you switch databases
(obviously you would choose "yes").
If you want to move a screen background from another database, you can't
select and copy it in the conventional manner. Instead, click
Menu|Advanced|Styles, select the style you're interested in and click copy.
Then you can switch back to your database and choose paste.
If you do wish to create your own styles, they can be imported through the
styles dialog. Because their creation is somewhat complicated it is beyond
the scope of this document. Please see the document "HowToCreateStyles.txt".
Chapter 8: Support contact
Many of your questions can be answered by our FAQ page.
For other questions or comments send e-mail to:
- Added feature to abort loading current database
- No longer trys to load color images on device that don't understand them
- Fixed bug involving buttons that touch edge of screen on old devices.
- Fixed shortcut char in menus on OS V3.1.
- Fixed fatal exception if pZip is installed.
New text rendering system may have the following advantages:
Slightly faster startup
Damaged fonts no longer cause crash
Japanese characters can now be used (if appropriate font is installed)
- Text rendering engine from V2.03 fixed
- Fixed some OS5.0 bugs (some remain however)
- Screen cache disabled on some OS5.0 devices (bug workaround)
- Added support for Tungsten HiRes
- Added support for Tungsten 5 way navigation and voice memo button
- Removed test beep for events
- Fixed bug: Edit macros dialog only displays 4 lines
- Fixed bug: Timers dialog divider line is too long
- Fixed bug: Both text items are drawn on left side of divider
- Fixed bug: Icon doesn't display properly in edit buttons dialog
- Fixed bug: "Please wait..." and hourglass are not centered
- Fixed bug: Tapping category selector trigger selects unfiled category
- Fixed bug: Hard keys don't work on Tungsten W
- Fixed bug: RegAid feature sometimes causes crash while pasting
- Screen cache disabled on Tungsten W (bug workaround)
- Fixed text display on Handera 330
Includes OR Library V1.48 which has the following improvements:
Improved training on OS5.0 devices
Improved accuracy of frequency on Palm Tungsten T (this may cause problems
with buttons previously trained on the Tungsten T before this fix)
Fixed support for external IR on certain Clie models (OS prior to 5.0 with CIR emitter - i.e. venice and modena)
Fixed bug: Port blocked message appears if MODEM Springboard Module is inserted into Visor with OS version below V3.2.
- Fixed bug: Chunk over-locked error message
- Added Palmgear URL
Includes OR Library V1.53 which has the following improvements:
Added support for processor used in Palm Zire 71
Added support for processor used in Palm Tungsten C
Fixed crash bug during auto frequency detect on Palm Tungsten C
Fixed contention with PalmOS beaming on Palm Tungsten C
Fixed bug where version 1.51 would expire
Unrecognized hardware causes graceful exit rather than fatal alert.
- Added ability to view details even if frequency test is aborted.
- Disabled caching on OS5.0 (no longer needed)
Includes OR Library V1.55 which has the following improvements:
Added support for the following devices:
Fixed a bug where Auto-Frequency detect would sometimes hang on devices with the Intel XScale processor (i.e. Sony Clie and Palm Tungsten C)