Shortcutter for PocketPC User Guide
Updated for version 6.0
Panels
Known Bug: If you upgrade from an older version of Shortcutter,
your datafile may no longer work, and you may have to redraw all of your panels.
Sorry. In this case, Shortcutter will save the old datafile as ShortcutterData.bak.
Each screen-full of controls is called a "panel". The user can create
many different panels to control different applications. Panels can also be
renamed and deleted. The window name at the top of the Shortcutter screen shows
the currently displayed panel. You can click on the "Panels" menu
to see the list of other panels. The "Panels" menu has options for
creating, renaming and deleting panels.
Shortcutter stores all the panels in a file called ShortcutterData.shc in "My
Documents" directory. You can distribute the panels you create by sharing
your ShortcutterData.shc file. Currently, there are 3 panels included in the sample
download, Number Pad, Windows Media Player, and X10 lighting control. You can
also make your own panels and when you exit, your panel will automatically be
saved.
Be sure to arrange for ActiveSync to backup the files in your "My Documents"
folder to the PC. In ActiveSync on the PC, go to the Tools / Options menu, and
in the "Sync Options" tab, be sure that "Files" is checked.
Bug fix in version 0.6: now works with foreign language PocketPCs where
the name of the folder is not "My Documents".
If you make some nice panels either for a particular application, or for applications
in general, please email them to pebbles@cs.cmu.edu
so we can see what you have made, and share them with others.
Creating and Editing Widgets
Shortcutter
has two global modes: Editing and Running. You can switch between them with
the option under Tools menu: RunMode. When Shortcutter is in RunMode, a check
mark will appear next to RunMode, likewise when you are editing a panel, a check
mark will not appear next to RunMode.
When in edit mode, you can create panels, add new buttons and other widgets
to the panels, set their properties, move them around, delete them, etc. The
screen shows a pattern of dots to show you are in edit mode. The dots align
with the grid so you can easily organize your panel
Creating Widgets
To create a button or other widget in edit mode, simply put the stylus you
want the widget to go, and drag in any direction until you have created the
desired size. After the button is created, you can double click to pop up the
"Widget Properties" screen. It will allow you to name the button and
set its properties.
General Properties
The
label of the widget is displayed for most kinds of widgets. The next item is
the widget type. The various types are discussed below. Depending on the type,
you can then set the actions associated with the widget.
Editing
Shortcutter uses a standard direct manipulation drawing editor style of manipulation.
The selected widget is shown with four black squares at its corners (the button
"Read" is selected in the picture above). Tap on a widget to select
it. You can drag in the center of the widget to move it and drag on a square
to resize the widget. For small widgets, it might be easier to press and drag
with the stylus rather than tapping and then trying to drag from the center
since the widget might be covered by the selection handles. The selected widget
can be deleted using the menu command Edit / Delete.
You can get back to the properties form shown when the widget was created using
the Edit / Properties menu item or by double tapping on a widget.
Gridding
The size and position of the widgets is controlled by the current Gridding
amount, which is set with the Tools / Options form. The default is 10 pixels.
The grid also determines the minimum size object, and where the widgets are
placed.
Warning!
Shortcutter keeps all edits in memory, while you are editing.
Therefore, if Shortcutter crashes, all the edits are lost (like a regular PC
program) The edits are saved to the file only when you save and exit Shortcutter.
Shortcutter has a few bugs that may cause it to crash while editing. Therefore,
you should exit Shortcutter frequently to save your work. Note that
after saving, leaving and returning, your widgets and panels will be reloaded
from a file.
Types of Widgets
The
first choice to make when creating a control is which kind of widget it should
be. The choices are as follows (see picture at right):
- Button - This is a regular button that does one action
when it is pressed. You can choose one action, and control the appearance
of the button, as described above.
- Up-Down Button - This is similar to a button, but it does
one action when the button is pressed, and a completely independent action
when the button is released. If you move outside before releasing, only the
down (first) action is performed.
- Scroll Slider - This widget allows you to scroll the current
PC application by dragging your finger (or stylus) up and down (or left and
right) in the widget. If the widget is taller than it is wide, then it scrolls
up and down (vertically) and if it is wider than tall it scrolls horizontally.
Note that you usually want to make a long thin Scroll Slider; it doesn't make
much sense for it to be square. You don't have to stay inside the scroll widget
for the scrolling to continue.
- Scroll Joystick - This widget is a different style of
scrolling. Pressing down in the center of the widget, and then moving out
starts scrolling in that direction at a speed proportional to how far you
move. Moving farther from the center scrolls faster. You do not need to stay
in the widget while scrolling - you can move all the way to the edge of the
screen to get increased speed, as long as you start in the center. Therefore,
it is good to put a scroll joystick widget at the center of the screen.
- Gesture Pad - This interesting widget allows you to specify
nine (9) different actions, and then invokes the appropriate one depending
on what "gesture" you make inside the widget. Currently, 9 different
gestures are supported. If you make the widget big enough, it will display
8 arrows and a dot to show the various gestures supported. You must make the
gesture in a single stroke. In run mode, the current gesture arrow or dot
will be highlighted as you make the gesture. If the gesture isn't recognized,
an error sound will be made and none of the arrows will be highlighted. Also,
if your stroke is too long, a error beep will be sounded continuously (only
short gestures are supported). The current gestures are:
- Tap: The dot in the center corresponds to tapping and
releasing in the same place anywhere in the widget.
- Up: The up pointing arrow signifies pressing in the
widget and then moving up before releasing.
- Down: To move down and then release.
- Left: Move to the left and then release.
- Right: Move to the left and then release.
- Down-Up: This means to move down and then to move back
up without releasing. That is, to make a "U" or a real "V".
- Up-Down: This means to move up and then to move back
down without releasing. That is, to make an upside down "V"
or "U".
Left-Right: Move to the left and then back to the right.
- Right-Left: Move to the right and then back to the
left.
- Knob - A knob displays like a physical knob and allows
you to assign two actions. One is performed when you move clockwise and one
for counter-clockwise. In run mode, you can put your finger or the stylus
in the knob and stir it around (you don't have to stay inside the widget while
stirring). The appropriate action will be sent to the PC for each incremental
movement. The Action Speed selection on the form controls how fast the actions
are sent (or equivalently, how far you have to move around the circle before
the next action is sent to the PC).
- Mouse
Pad - This supports controlling the PC's cursor in the same way as
the Pebbles RemoteControl, Scribble and MultiCursor applications. You get
to choose whether the mouse pad widget controls the real mouse (like RemoteControl),
whether it Scribbles on the screen (like Scribble)
or whether it creates an special cursor per user in custom applications (like
MultiCursor). Usually if you have a
mouse pad widget, you would make the Application buttons have actions like
mouse left-down, or else have on-screen Toggle Button widgets whose actions
are mouse left-down, etc. Be sure the control for the mouse button actions
match that of the Mouse Pad widget (e.g., all should be Mouse, or all Scribble,
or all MultiCursor).
- Toggle Button - When you tap on a toggle button, it stays
highlighted, and when you tap again, it becomes un-highlighted. When the action
is a mouse button down, then the second tap will send that mouse button up.
When the action is the key SHIFT, CONTROL or ALT (by themselves without another
key), then the first tap will send that modifier down, and the second tap
will send that modifier up. For most other actions, the release (going un-highlighted)
doesn't do anything.
Widget Actions
Each of the widgets supports one or more actions, which occur when you invoke
the widget. The currently supported actions are:
Key
- This sends a single keystroke to the PC. Selecting this action pops up the
Select Key form which contains all the PC's keys, including the function keys.
Note that the modifiers like Alt, Ctrl and Shift are available as well. To send
Ctrl-Shift-F1 from a Shortcutter button, simply select the Ctrl, Shift and then
F1 buttons on the pop-up keyboard. If you want a Shortcutter button to act like
the PC's Alt, Shift or Ctrl modifiers, you can hit these buttons on the pop-up
keyboard and then click OK.
Send String - This will send a whole string to the PC as
if it was typed at the PC's keyboard. This might be useful for creating abbreviations
or any other longer string to be sent. This only supports sending alphanumeric
characters, though. You currently cannot include special characters or control
characters in the string.
Open - This tells the PC to open an application or any file
or URL. If the application is already running, however, the Open action will
switch to it instead of opening another copy. You can type in the name of a
file or URL, and the PC will open it with the appropriate application. A special
Open action is to use the devicectl.exe file to control
X-10 devices, see below.
Scroll Button - This pops up a list of various scrolling
actions. When the button is invoked at run-time, the corresponding scrolling
action will be sent to the PC. Note that this sends a Windows scroll event to
the application, and many applications do not support these scrolling actions,
so if nothing happens, you might try a different event. Also, note that scroll
pagedown and key page down are different: the scroll page down uses the special
scroll windows message whereas the key just sends the keyboard key labeled page
down.
Mouse Button - This allows the Shortcutter widget to pretend
to be the PC's mouse buttons. You can control whether the Left, Middle, or Right
mouse button is sent, and then set modifiers for whether to send a double click,
and whether it should be modified by Shift, Ctrl and/or Alt. You should make
sure the "Control" option matches that for the MousePad widget. Usually,
you will want "Mouse" to press the button for the "real"
mouse. Scribble will allow control of drawing if the MousePad is in Scribble
mode as well. Similarly with MultiCursor.
Switch Panel - This action switches to a different Shortcutter
panel. Unlike all the other actions, it does not send anything to the PC, but
just changes the state on the Palm itself. The list of currently defined panels
is presented.
Macro - This allows a sequence of the other actions to be
sent to the PC. This is not yet implemented in the current version.
PC Menu / Tool Item - This is not yet implemented in the
current version.
Application Specific - This is not yet implemented in the
current version.
Macros
This is not yet implemented in the current version.
Device Control
Also available is a program that can be used to control Proxima projectors
and X-10 devices which are connected to a serial port of your computer. (If
you have other devices connected to the serial port that you want to control,
let us know.) The devicectl.exe program is included in the standard Pebbles
download, and by default ends up in the same directory as PebblesPC.exe. You
can list devicectl.exe in the Open action with the parameters that will cause
devicectl to send commands to the various devices.
The syntax for devicectl is:
devicectl -com 2 -proxima
or
devicectl -com 2 -x10
The first parameter to devicectl must be "-com N" where the N is
replaced by the serial COM port that the device is plugged into. For example,
if your projector is plugged into the COM 2 port, you would use "-com 2".
The next parameter is whether to control a Proxima projector or an ActiveHome
X10 device. This is specified using "-proxima" or "-x10".
For a Proxima projector, you would then include the appropriate code for the
projector. Contact Proxima to get the appropriate codes. For example, the following
code will turn on my Proxima projector:
C:\Pebbles\devicectl -com 2 -proxima C00
For X10, you give the house code number, then the device code number, and then
one of the following commands:
- ON
- OFF
- DIM
- BRIGHT
- ALLLIGHTSON
- ALLUNITSOFF
For example, the following will turn the device numbered A2 off, where the
X10 device is plugged into the COM2 port of the computer.
C:\Pebbles\devicectl -com 2 -x10 a 2 OFF
Application Buttons
This is not yet implemented in the current version.
Run Mode
When you switch to Run Mode, then all the buttons and other widgets perform
their assigned actions. The dots on the screen are removed in run mode, so it
is easy to tell. In addition, the delete and properties options are grayed out
in the Edit menu.
Summary of Menu Items
Tools menu:
- About Shortcutter: displays the current version of Shortcutter.
- Options: Specify how to connect to the PC (network or
serial port) and also this
is where you set the grid size.
- RunMode: Switches to RunMode (when this option is
checked) and back to edit mode (if unchecked).
Edit menu:
- Delete: Deletes the selected widget. If nothing is selected,
this option is grayed out. Only available when in Edit mode.
- Properties: Display the properties of the selected object.
This allows you to change any of the settings of the widget. If nothing is
selected, this option is grayed out.
Panels menu:
- New Panel: Prompts for the name of the new panel.
- Delete Current Panel: If the currently displayed panel
is not empty, then prompts to confirm, otherwise immediately deletes the current
panel, and switches to the first panel. You cannot delete the last panel.
- Rename Current Panel: Changes the name of the currently
displayed panel. If the new name is a duplicate of an existing panel, you
are prompted to change to another name. No two panels with the same name is
allowed.
Known Problems and Bugs
-
If you upgrade from an older version of Shortcutter,
your datafile may no longer work, and you may have to redraw all of your panels.
Sorry. In this case, Shortcutter will save the old datafile as ShortcutterData.bak.
- Shortcutter sometimes crashes when editing. It's not a common occurrence
but be sure to save and exit Shortcutter frequently to avoid losing work.
- There is probably a limit on the number of panels that can be open at once.
- Probably many more.... Let me know what you want fixed!
pebbles@cs.cmu.edu