1567 lines
51 KiB
Plaintext
1567 lines
51 KiB
Plaintext
![]() |
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
PHANTOM2
|
|||
|
|
|||
|
The Phantom of the Keyboard II
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
P2 Enterprises
|
|||
|
P.O. Box 25
|
|||
|
Ben Lomond, CA 95005
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
Phantom2 V1.1
|
|||
|
Copyright (c) 1991 P2 Enterprises All Rights Reserved
|
|||
|
|
|||
|
|
|||
|
|
|||
|
- 1 -
|
|||
|
PHANTOM V1.1 Page 2
|
|||
|
14 January 91
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
CONTENTS
|
|||
|
|
|||
|
|
|||
|
|
|||
|
CHAPTER 1 INTRODUCTION
|
|||
|
|
|||
|
1.1 WHAT IS THE PHANTOM OF THE KEYBOARD II? . . . . . 1-1
|
|||
|
1.2 WHAT IS PHANTOM2 GOOD FOR? . . . . . . . . . . . . 1-1
|
|||
|
|
|||
|
|
|||
|
CHAPTER 2 DIFFERENCES BETWEEN PHANTOM V1.0 AND PHANTOM2
|
|||
|
|
|||
|
|
|||
|
CHAPTER 3 USING PHANTOM2
|
|||
|
|
|||
|
3.1 PHANTOM2'S COMMAND LINE . . . . . . . . . . . . . 3-1
|
|||
|
3.2 RECORDING AND PLAYING BACK . . . . . . . . . . . . 3-2
|
|||
|
3.3 PAUSING . . . . . . . . . . . . . . . . . . . . . 3-3
|
|||
|
3.4 QUICK PLAYBACK . . . . . . . . . . . . . . . . . . 3-3
|
|||
|
3.5 LOOPING PLAYBACK . . . . . . . . . . . . . . . . . 3-3
|
|||
|
3.6 THE PHANTOM2 CONTROL PANEL . . . . . . . . . . . . 3-4
|
|||
|
3.7 CHANGING THE HOT KEY . . . . . . . . . . . . . . . 3-5
|
|||
|
3.8 MAKING PHANTOM2 MEMORY RESIDENT . . . . . . . . . 3-5
|
|||
|
3.9 REMOVING PHANTOM2 FROM MEMORY . . . . . . . . . . 3-6
|
|||
|
3.10 EDITING PHANTOM2 RECORDINGS . . . . . . . . . . . 3-6
|
|||
|
3.10.1 PROGRAMMED PAUSES . . . . . . . . . . . . . . . 3-9
|
|||
|
3.10.2 SUBSTITUTION PARAMETERS . . . . . . . . . . . . 3-9
|
|||
|
3.10.3 COMPRESSED MODE . . . . . . . . . . . . . . . 3-10
|
|||
|
3.10.4 POP-UP DISPLAYS . . . . . . . . . . . . . . . 3-10
|
|||
|
3.10.5 LABELS AND THE $GOTO DIRECTIVE . . . . . . . . 3-12
|
|||
|
3.10.6 POP-UP MENUS . . . . . . . . . . . . . . . . . 3-13
|
|||
|
3.10.7 ELIMINATING HELP TEXT . . . . . . . . . . . . 3-15
|
|||
|
3.11 PASSING PARAMETERS TO RECORDINGS ON THE COMMAND
|
|||
|
LINE . . . . . . . . . . . . . . . . . . . . . . 3-16
|
|||
|
3.12 WHAT'S BAD ABOUT PHANTOM2? . . . . . . . . . . . 3-16
|
|||
|
|
|||
|
|
|||
|
CHAPTER 4 PHANTOM2 TECHNICAL INFORMATION
|
|||
|
|
|||
|
4.1 DOS VERSION REQUIREMENTS . . . . . . . . . . . . . 4-1
|
|||
|
4.2 CALLING PHANTOM2 FROM A USER PROGRAM . . . . . . . 4-1
|
|||
|
|
|||
|
|
|||
|
- 2 -
|
|||
|
PHANTOM V1.1 Page 3
|
|||
|
14 January 91
|
|||
|
|
|||
|
|
|||
|
4.3 HOW DOES IT WORK? . . . . . . . . . . . . . . . . 4-2
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
- 3 -
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
CHAPTER 1
|
|||
|
|
|||
|
INTRODUCTION
|
|||
|
|
|||
|
|
|||
|
|
|||
|
1.1 WHAT IS THE PHANTOM OF THE KEYBOARD II?
|
|||
|
|
|||
|
Phantom2 is a shareware keystroke recorder for MS-DOS.
|
|||
|
|
|||
|
In record mode, Phantom2 records every key pressed on your keyboard,
|
|||
|
whether you are at the DOS command prompt or running a program. Then,
|
|||
|
in playback mode, Phantom2 plays back the recorded keystrokes exactly
|
|||
|
as they were originally recorded, with exactly the same timing as when
|
|||
|
they were recorded.
|
|||
|
|
|||
|
|
|||
|
|
|||
|
1.2 WHAT IS PHANTOM2 GOOD FOR?
|
|||
|
|
|||
|
|
|||
|
o Recovery After System Crashes or Power Failures
|
|||
|
|
|||
|
Because Phantom2 writes your recorded keystrokes to the disk
|
|||
|
after every 32 keystrokes, if you were recording when your
|
|||
|
system failed, you can just playback the recording file,
|
|||
|
recovering everything except perhaps the last 31 keystrokes.
|
|||
|
This can be tremendously useful during long editing sessions,
|
|||
|
eliminating the need to periodically save your work to avoid
|
|||
|
losing it in a system crash.
|
|||
|
|
|||
|
o A Batch Substitute
|
|||
|
|
|||
|
Phantom2 can be used in place of simple batch files,
|
|||
|
eliminating the need to prepare the batch files with an
|
|||
|
editor -- You just show Phantom2 what you want done, and
|
|||
|
Phantom2 can do it for you after that. You can even edit
|
|||
|
your Phantom2 recordings if you make a mistake during the
|
|||
|
recording. You can also perform parameter substitution
|
|||
|
similar to that available with MS-DOS batch files.
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
- 4 -
|
|||
|
INTRODUCTION Page 1-2
|
|||
|
WHAT IS PHANTOM2 GOOD FOR? 14 January 91
|
|||
|
|
|||
|
|
|||
|
o Program Startup
|
|||
|
|
|||
|
Phantom2 can be used to automatically supply input to
|
|||
|
programs which expect to receive keyboard input (programs
|
|||
|
such as spreadsheets and others). It can thus be used to
|
|||
|
perform a sequence of "startup" commands which you would
|
|||
|
otherwise have to type each time you run the program.
|
|||
|
|
|||
|
o Automatic Execution
|
|||
|
|
|||
|
You might record the keystrokes to run your spreadsheet, load
|
|||
|
current stock quotes, print a graph, and exit. You only have
|
|||
|
to do it once; Phantom2 can do it after that.
|
|||
|
|
|||
|
Phantom2 can be used to automate access to systems such as
|
|||
|
Prodigy which normally require your presence at the keyboard.
|
|||
|
Record the keystrokes that you use to dial Prodigy and print
|
|||
|
headline news and current stock quotations. Then have your
|
|||
|
computer wake up early and call Prodigy. You can have the
|
|||
|
latest information printed and waiting for you to peruse with
|
|||
|
your morning coffee. All you need is a timer to turn on your
|
|||
|
PC early in the morning and an extra line in your
|
|||
|
AUTOEXEC.BAT file to run Phantom2.
|
|||
|
|
|||
|
o Demos
|
|||
|
|
|||
|
Phantom2 can be used create a quick demonstration of a
|
|||
|
program which can then be played back at will for prospective
|
|||
|
users or customers. Phantom2 can be paused automatically or
|
|||
|
manually during playback for discussion or manual entry of
|
|||
|
data to the program being demonstrated. In addition, pop-up
|
|||
|
windows can be displayed to explain what is happening in the
|
|||
|
demo, and menus can be presented to allow the user to guide
|
|||
|
the course of the demo.
|
|||
|
|
|||
|
Automatic timeouts when user response is required and a
|
|||
|
looping feature allow Phantom2-based demos to run
|
|||
|
continuously and unattended and yet allow users to interact
|
|||
|
with the demonstration if they wish.
|
|||
|
|
|||
|
o Software Testing
|
|||
|
|
|||
|
Phantom2 can be used to record tests of software which is
|
|||
|
undergoing revision. Then, the tests can be run after the
|
|||
|
revisions are complete to be sure what worked before the
|
|||
|
revisions still works after the revisions.
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
- 5 -
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
CHAPTER 2
|
|||
|
|
|||
|
DIFFERENCES BETWEEN PHANTOM V1.0 AND PHANTOM2
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
o Quick Playback
|
|||
|
|
|||
|
Phantom2 allows you to play back recordings with no delays
|
|||
|
between the recorded keystrokes. This can speed execution of
|
|||
|
Phantom2 recordings when the programs being run do not
|
|||
|
require paced input.
|
|||
|
|
|||
|
You select quick playback by using the /Q switch instead of
|
|||
|
the /P switch on the Phantom2 command line.
|
|||
|
|
|||
|
o Pause and Resume
|
|||
|
|
|||
|
Phantom2 allows you to pause and resume recording and
|
|||
|
playback. The period of time paused in not included in
|
|||
|
Phantom2's recording. While Phantom2 is paused, you may type
|
|||
|
at the keyboard just as if Phantom2 were not present. When
|
|||
|
recording or playback is resumed, Phantom2 picks up where it
|
|||
|
left off.
|
|||
|
|
|||
|
You can introduce automatic pauses during playback by editing
|
|||
|
the recording file to insert pause requests wherever desired.
|
|||
|
|
|||
|
o Looping Playback
|
|||
|
|
|||
|
You can cause Phantom2 to restart a playback session
|
|||
|
automatically when the end of the recording file is reached.
|
|||
|
The looping continues until the hot key is pressed. This is
|
|||
|
especially useful for automated demonstrations of software
|
|||
|
products.
|
|||
|
|
|||
|
o User-Selectable Hot Key
|
|||
|
|
|||
|
You pause and resume Phantom2 by pressing the "hot key".
|
|||
|
When Phantom2 is in RECORD mode and you press the hot key,
|
|||
|
the recording is paused. A second pressing of the hot key
|
|||
|
resumes the recording. Playback mode works similarly.
|
|||
|
|
|||
|
|
|||
|
- 6 -
|
|||
|
DIFFERENCES BETWEEN PHANTOM V1.0 AND PHANTOM2 Page 2-2
|
|||
|
14 January 91
|
|||
|
|
|||
|
|
|||
|
You select the hot key by using the /K switch on the command
|
|||
|
line. For example, to set the hot key to ALT-K, you would
|
|||
|
include this on the Phantom2 command line: /K=ALT-K.
|
|||
|
|
|||
|
The default hot key is ALT-P.
|
|||
|
|
|||
|
o Sound and Lights
|
|||
|
|
|||
|
Phantom2 signals transitions between modes (The four modes
|
|||
|
are RECORD, PLAY, PAUSE, and IDLE.) by sounding either a
|
|||
|
rising or a falling series of tones. A rising series of
|
|||
|
tones signals a change from IDLE or PAUSE to RECORD or PLAY,
|
|||
|
while a falling series of tones signals a change to IDLE or
|
|||
|
PAUSE mode.
|
|||
|
|
|||
|
Keyclicks are heard while in record or playback mode.
|
|||
|
|
|||
|
The current mode is displayed in a reverse-video box in the
|
|||
|
upper left corner of the screen. The mode display may
|
|||
|
contain "Record", "Play", "Pause", or "Phantom2". Phantom2
|
|||
|
is displayed when Phantom2 is in IDLE mode.
|
|||
|
|
|||
|
You can disable sounds by including the /S switch on the
|
|||
|
Phantom2 command line, and disable the mode display by
|
|||
|
including the /M switch.
|
|||
|
|
|||
|
o Pop-Up Phantom2 Control Panel
|
|||
|
|
|||
|
Pressing the hot key twice in rapid succession triggers the
|
|||
|
display of the Phantom2 control panel. From the control
|
|||
|
panel you can begin recording or playback, close a recording
|
|||
|
file, enable or disable sounds and the mode display, or
|
|||
|
change the recording file name. Pressing ESC erases the
|
|||
|
control panel.
|
|||
|
|
|||
|
o Memory Residence (TSR)
|
|||
|
|
|||
|
The /I command line switch installs Phantom2 as a TSR
|
|||
|
(Terminate and Stay Resident) program, eliminating the need
|
|||
|
to spawn a new command shell and reducing memory
|
|||
|
requirements. Once resident, Phantom2 is activated by
|
|||
|
pressing the hot key twice in succession to trigger Phantom2
|
|||
|
control panel, or by issuing Phantom2 commands at the DOS
|
|||
|
prompt.
|
|||
|
|
|||
|
When Phantom2 is resident in memory, you can begin a
|
|||
|
recording or playback while a program is in progress, rather
|
|||
|
than only at the DOS prompt.
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
- 7 -
|
|||
|
DIFFERENCES BETWEEN PHANTOM V1.0 AND PHANTOM2 Page 2-3
|
|||
|
14 January 91
|
|||
|
|
|||
|
|
|||
|
Once Phantom2 is resident in memory, Phantom2 commands typed
|
|||
|
at the DOS prompt are passed to the memory-resident Phantom2
|
|||
|
for execution, and do not spawn a new command shell.
|
|||
|
|
|||
|
o Editing of Recording Files
|
|||
|
|
|||
|
The pair of programs PTM2TXT and TXT2PTM extract data from
|
|||
|
Phantom2 recording files and place it into a text file for
|
|||
|
editing, and then re-create a Phantom2 recording file from
|
|||
|
the modified text file. This allows you to prepare
|
|||
|
recordings for playback without actually executing the
|
|||
|
commands and to correct errors or make changes to recordings
|
|||
|
you have made.
|
|||
|
|
|||
|
o Parameter Substitution
|
|||
|
|
|||
|
Special Phantom2 directives which you can add to your
|
|||
|
recording files allow you to pass parameters to your
|
|||
|
recording file at playback time, often making single
|
|||
|
recording do the work of several. This is similar to
|
|||
|
MS-DOS's batch parameter substitution.
|
|||
|
|
|||
|
o Programmed Pauses
|
|||
|
|
|||
|
You can add automatic pauses to your recordings to allow
|
|||
|
users to enter data or for discussion during a demonstration.
|
|||
|
Programmed pauses may have a timeout assigned to them. When
|
|||
|
the timeout period has passed with no input from the
|
|||
|
keyboard, the pause is automatically ended, and the playback
|
|||
|
continues.
|
|||
|
|
|||
|
o Programmed Pop-up Displays
|
|||
|
|
|||
|
You can add pop-up displays to your recordings to inform
|
|||
|
watchers of the playback what is happening. Text you supply
|
|||
|
is displayed in a pop-up window, and the playback is paused
|
|||
|
for a timeout period which you may specify or until a key is
|
|||
|
depressed on the keyboard.
|
|||
|
|
|||
|
An unlimited number of pop-up displays may added to Phantom2
|
|||
|
recordings.
|
|||
|
|
|||
|
o Programmed Pop-up Menus
|
|||
|
|
|||
|
Pop-up menus can be added to your recordings to allow users
|
|||
|
to direct the course of the playback. Menu text you supply
|
|||
|
is displayed to the user in a pop-up window. When the user
|
|||
|
selects a menu item, the playback is resumed at the point in
|
|||
|
the recording which you have associated with that menu item.
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
- 8 -
|
|||
|
DIFFERENCES BETWEEN PHANTOM V1.0 AND PHANTOM2 Page 2-4
|
|||
|
14 January 91
|
|||
|
|
|||
|
|
|||
|
If the user does not respond within a timeout period you
|
|||
|
specify, the next menu item is chosen, and the playback
|
|||
|
resumes. Thus, if the user does nothing, each menu item is
|
|||
|
selected in turn automatically.
|
|||
|
|
|||
|
An unlimited number of pop-up menus may added to Phantom2
|
|||
|
recordings.
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
- 9 -
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
CHAPTER 3
|
|||
|
|
|||
|
USING PHANTOM2
|
|||
|
|
|||
|
|
|||
|
|
|||
|
3.1 PHANTOM2'S COMMAND LINE
|
|||
|
|
|||
|
Phantom2 accepts the following command line switches:
|
|||
|
|
|||
|
/P Playback
|
|||
|
|
|||
|
/R Record
|
|||
|
|
|||
|
/Q Quick Playback
|
|||
|
|
|||
|
/L Looping Playback
|
|||
|
|
|||
|
/K Hot Key Selection
|
|||
|
|
|||
|
/S Disable Sounds
|
|||
|
|
|||
|
/M Disable Mode Display
|
|||
|
|
|||
|
/I Install as a Memory Resident Program
|
|||
|
|
|||
|
/U Un-install Phantom2 from memory
|
|||
|
|
|||
|
|
|||
|
Here's an example of a Phantom2 command to begin recording and create
|
|||
|
the file RECORDNG.PTM:
|
|||
|
|
|||
|
C> PHANTOM2 /R RECORDNG.PTM
|
|||
|
|
|||
|
|
|||
|
Here's the command to play back those keystrokes:
|
|||
|
|
|||
|
C> PHANTOM2 /P RECORDNG.PTM
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
- 10 -
|
|||
|
USING PHANTOM2 Page 3-2
|
|||
|
RECORDING AND PLAYING BACK 14 January 91
|
|||
|
|
|||
|
|
|||
|
3.2 RECORDING AND PLAYING BACK
|
|||
|
|
|||
|
Phantom2 normally creates a new command shell when you start
|
|||
|
recording. Phantom2 will record everything you type until you exit
|
|||
|
the shell by typing EXIT at the DOS command prompt. Here's an example
|
|||
|
of recording a DIR command followed by a playback of the recording:
|
|||
|
|
|||
|
Record the keystrokes:
|
|||
|
|
|||
|
C> PHANTOM2 /R RECORDNG.PTM
|
|||
|
Phantom2 V1.1 #123456 Copyright (c) 1991...blah...blah...
|
|||
|
|
|||
|
Press ALT-P to pause or resume recording.
|
|||
|
Press ALT-P twice in succession to activate the control panel.
|
|||
|
Type EXIT at the DOS prompt when done.
|
|||
|
|
|||
|
|
|||
|
C> DIR
|
|||
|
|
|||
|
...blah blah blah...
|
|||
|
|
|||
|
C> EXIT
|
|||
|
Phantom2 terminated.
|
|||
|
|
|||
|
|
|||
|
|
|||
|
Now play them back:
|
|||
|
|
|||
|
C> PHANTOM2 /P RECORDING.PTM
|
|||
|
Phantom2 V1.1 #123456 Copyright (c) 1991...blah...blah...
|
|||
|
|
|||
|
Press ALT-P to pause or resume playback.
|
|||
|
Press ALT-P twice in succession to activate the control panel.
|
|||
|
Type EXIT at the DOS prompt when done.
|
|||
|
|
|||
|
|
|||
|
C> DIR
|
|||
|
|
|||
|
...blah blah blah...
|
|||
|
|
|||
|
C> EXIT
|
|||
|
Phantom2 terminated.
|
|||
|
|
|||
|
C>
|
|||
|
|
|||
|
|
|||
|
While Phantom2 was running, it placed a small display in the upper
|
|||
|
right corner of the screen showing what it was doing. In the example
|
|||
|
above, the display showed either "Record" or "Play". If you don't ant
|
|||
|
the mode display, just include the /M switch on the command line, like
|
|||
|
this:
|
|||
|
|
|||
|
|
|||
|
- 11 -
|
|||
|
USING PHANTOM2 Page 3-3
|
|||
|
RECORDING AND PLAYING BACK 14 January 91
|
|||
|
|
|||
|
|
|||
|
C> PHANTOM2 /P /M RECORDNG.PTM
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
3.3 PAUSING
|
|||
|
|
|||
|
If you press the hot key (ALT-P) during record or playback, after a
|
|||
|
brief delay, Phantom2 will play a series of tones falling in pitch to
|
|||
|
indicate its transition to PAUSE mode. The mode display, if enabled,
|
|||
|
will change to "Pause". A second depression of the hot key resumes
|
|||
|
the recording or playback, accompanied by a series of rising tones
|
|||
|
indicating the transition out of PAUSE mode.
|
|||
|
|
|||
|
While in PAUSE mode, Phantom2 "steps aside" and lets all keystrokes
|
|||
|
(except the hot key) flow freely to the program running. If you are
|
|||
|
recording, the keys you press while paused are not recorded, nor is
|
|||
|
the time which passes while in PAUSE mode recorded.
|
|||
|
|
|||
|
You can disable the sounds by including the /S switch on the Phantom2
|
|||
|
command line, like this:
|
|||
|
|
|||
|
C> PHANTOM2 /R /S RECORDNG.PTM
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
3.4 QUICK PLAYBACK
|
|||
|
|
|||
|
Phantom2 normally plays back recordings at the same speed at which
|
|||
|
they were recorded. The /Q switch forces Phantom2 to playback as fast
|
|||
|
as possible. Many programs have no problem with this. Some programs
|
|||
|
however, "eat" characters typed while they are busy, and will cause
|
|||
|
the recording to end prematurely. PRODIGY is an example of a program
|
|||
|
which does this. To automate a PRODIGY session, timed playback is a
|
|||
|
requirement.
|
|||
|
|
|||
|
You can alter the intervals between individual keystrokes to speed up
|
|||
|
some sections of a recording and slow down others by editing the
|
|||
|
recording file. See the section below on editing Phantom2 recordings.
|
|||
|
|
|||
|
|
|||
|
|
|||
|
3.5 LOOPING PLAYBACK
|
|||
|
|
|||
|
If you supply the /L switch on the command line, Phantom2 will rewind
|
|||
|
and play the same recording file over and over until you pause it by
|
|||
|
pressing the hot key. If Phantom2 is memory-resident (see below), you
|
|||
|
must close the recording file to avoid the continuation of looping
|
|||
|
when you press the hot key again. If Phantom2 is not memory-resident,
|
|||
|
then you must type EXIT at the DOS prompt.
|
|||
|
|
|||
|
|
|||
|
- 12 -
|
|||
|
USING PHANTOM2 Page 3-4
|
|||
|
LOOPING PLAYBACK 14 January 91
|
|||
|
|
|||
|
|
|||
|
Looping can be a valuable tool in continuously-running demonstrations
|
|||
|
or in stress-testing software systems.
|
|||
|
|
|||
|
|
|||
|
|
|||
|
3.6 THE PHANTOM2 CONTROL PANEL
|
|||
|
|
|||
|
If you hit the hot key twice within about a half second, the pop-up
|
|||
|
control panel is triggered, and is displayed over whatever was already
|
|||
|
on the screen.
|
|||
|
|
|||
|
Here is what the control panel looks like:
|
|||
|
|
|||
|
+----------------------------------------------------+
|
|||
|
| Phantom2 V1.1 |
|
|||
|
+----------------------------------------------------+
|
|||
|
| |
|
|||
|
| +---------+ +---------+ +---------+ +--------+ |
|
|||
|
| | | | | | | | | |
|
|||
|
| | PLAY | | QPLAY | | RECORD | | CLOSE | |
|
|||
|
| | | | | | | | | |
|
|||
|
| +---------+ +---------+ +---------+ +--------+ |
|
|||
|
| |
|
|||
|
| Sound On Mode Display On Loop Mode Off |
|
|||
|
| |
|
|||
|
| Filename: RECORDNG.PTM |
|
|||
|
| |
|
|||
|
+----------------------------------------------------+
|
|||
|
|
|||
|
|
|||
|
|
|||
|
You can highlight the selection of your choice using the arrow, tab,
|
|||
|
or spacebar keys and press RETURN to execute it or you can press the
|
|||
|
key corresponding to the first letter of your selection.
|
|||
|
|
|||
|
If you press R, P, or Q, the menu is immediately erased, and Phantom2
|
|||
|
begins executing your command. CLOSE closes an open recording file -
|
|||
|
This is the only to close a recording file when Phantom2 is
|
|||
|
memory-resident. The Sound, Mode Display, and Loop Mode selections
|
|||
|
toggle the sounds, mode display, and looping on and off.
|
|||
|
|
|||
|
Selecting Filename allows you to change the recording filename. When
|
|||
|
you have finished entering the filename, press RETURN.
|
|||
|
|
|||
|
Pressing the hot key or the ESC key erases the menu without starting a
|
|||
|
recording or playback session.
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
- 13 -
|
|||
|
USING PHANTOM2 Page 3-5
|
|||
|
CHANGING THE HOT KEY 14 January 91
|
|||
|
|
|||
|
|
|||
|
3.7 CHANGING THE HOT KEY
|
|||
|
|
|||
|
The /K command line switch allows you to change the hot key from the
|
|||
|
default ALT-P. Here's how you would change the hot key to F10:
|
|||
|
|
|||
|
C> PHANTOM2 /K=F10 /R RECORDNG.PTM
|
|||
|
|
|||
|
|
|||
|
Here is a list of all the acceptable hot keys which you can specify
|
|||
|
with /K:
|
|||
|
SHFT-TAB ALT-Q ALT-W ALT-E
|
|||
|
ALT-R ALT-T ALT-Y ALT-U
|
|||
|
ALT-I ALT-O ALT-P ALT-A
|
|||
|
ALT-S ALT-D ALT-F ALT-G
|
|||
|
ALT-H ALT-J ALT-K ALT-L
|
|||
|
ALT-Z ALT-X ALT-C ALT-V
|
|||
|
ALT-B ALT-N ALT-M F1
|
|||
|
F2 F3 F4 F5
|
|||
|
F6 F7 F8 F9
|
|||
|
F10 HOME UP PGUP
|
|||
|
LEFT RIGHT END DOWN
|
|||
|
PGDWN INSERT DELETE SHFT-F1
|
|||
|
SHFT-F2 SHFT-F3 SHFT-F4 SHFT-F5
|
|||
|
SHFT-F6 SHFT-F7 SHFT-F8 SHFT-F9
|
|||
|
SHFT-F10 CTRL-F1 CTRL-F2 CTRL-F3
|
|||
|
CTRL-F4 CTRL-F5 CTRL-F6 CTRL-F7
|
|||
|
CTRL-F8 CTRL-F9 CTRL-F10 ALT-F1
|
|||
|
ALT-F2 ALT-F3 ALT-F4 ALT-F5
|
|||
|
ALT-F6 ALT-F7 ALT-F8 ALT-F9
|
|||
|
ALT-F10 CTRL-LEFT CTRL-RIGHT CTRL-END
|
|||
|
CTRL-PGDWN CTRL-HOME ALT-1 ALT-2
|
|||
|
ALT-3 ALT-4 ALT-5 ALT-6
|
|||
|
ALT-7 ALT-8 ALT-9 ALT-0
|
|||
|
ALT-- ALT-= CTRL-PGUP CTRL-A
|
|||
|
CTRL-B CTRL-C CTRL-D CTRL-E
|
|||
|
CTRL-F CTRL-G CTRL-H CTRL-I
|
|||
|
CTRL-J CTRL-K CTRL-L CTRL-M
|
|||
|
CTRL-N CTRL-O CTRL-P CTRL-Q
|
|||
|
CTRL-R CTRL-S CTRL-T CTRL-U
|
|||
|
CTRL-V CTRL-W CTRL-X CTRL-Y
|
|||
|
CTRL-Z ESC
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
3.8 MAKING PHANTOM2 MEMORY RESIDENT
|
|||
|
|
|||
|
If you include the /I switch on the command line, Phantom2 installs
|
|||
|
itself as a TSR (Terminate and Stay resident) program in memory. This
|
|||
|
method of using Phantom2 has a number of benefits. Among them are
|
|||
|
lower memory utilization because no command shell is invoked, faster
|
|||
|
|
|||
|
|
|||
|
- 14 -
|
|||
|
USING PHANTOM2 Page 3-6
|
|||
|
MAKING PHANTOM2 MEMORY RESIDENT 14 January 91
|
|||
|
|
|||
|
|
|||
|
execution because no loading of the Phantom2 program is required, and
|
|||
|
beginning and ending of recording and playback sessions while another
|
|||
|
program is running.
|
|||
|
|
|||
|
Once resident, you access Phantom2 by pressing the hot key twice in
|
|||
|
succession to trigger the pop-up menu, or by issuing Phantom2 commands
|
|||
|
at the DOS prompt.
|
|||
|
|
|||
|
|
|||
|
|
|||
|
3.9 REMOVING PHANTOM2 FROM MEMORY
|
|||
|
|
|||
|
The /U switch un-installs Phantom2 from memory. When you execute the
|
|||
|
PHANTOM/U command, one of two responses will be displayed:
|
|||
|
|
|||
|
1. Phantom2 un-installed.
|
|||
|
|
|||
|
This means that Phantom2 was successfully un-installed.
|
|||
|
|
|||
|
2. Phantom2 disabled. Memory not reclaimed.
|
|||
|
|
|||
|
This means that Phantom2 was only disabled, and is dormant in
|
|||
|
memory. This is almost certainly because another TSR was
|
|||
|
loaded after Phantom2 which intercepts some of the same
|
|||
|
interrupts used by Phantom2. To remove Phantom2, first
|
|||
|
remove any TSR's loaded after Phantom2, and then re-issue the
|
|||
|
/U command.
|
|||
|
|
|||
|
To re-enable Phantom2, simply issue another Phantom2 command
|
|||
|
other than /U.
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
3.10 EDITING PHANTOM2 RECORDINGS
|
|||
|
|
|||
|
|
|||
|
NOTE
|
|||
|
|
|||
|
The programs TXT2PTM and PTM2TXT required to edit
|
|||
|
Phantom2 recordings are supplied with registered
|
|||
|
versions of Phantom2 only.
|
|||
|
|
|||
|
|
|||
|
The program PTM2TXT extracts information from a Phantom2 recording and
|
|||
|
places it in a text file for editing. Here is an example of PTM2TXT:
|
|||
|
|
|||
|
C> PTM2TXT RECORDNG.PTM RECORDNG.TXT
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
- 15 -
|
|||
|
USING PHANTOM2 Page 3-7
|
|||
|
EDITING PHANTOM2 RECORDINGS 14 January 91
|
|||
|
|
|||
|
|
|||
|
The output text file looks like this:
|
|||
|
|
|||
|
!========================================================================
|
|||
|
! P2 PHANTOM V1.0
|
|||
|
!
|
|||
|
! Text translation of recording file RECORDNG.PTM.
|
|||
|
! Translated by PTM2TXT V1.1 #123456.
|
|||
|
!
|
|||
|
! Line format:
|
|||
|
! mm:ss.ttt keystroke eeaa ff
|
|||
|
!
|
|||
|
! mm:ss:ttt = time interval between the previous keystroke and
|
|||
|
! this one.
|
|||
|
! mm = minutes
|
|||
|
! ss = seconds
|
|||
|
! ttt = thousandths of seconds
|
|||
|
! ee = extended keycode (optional)
|
|||
|
! aa = ASCII code (optional)
|
|||
|
! ff = keyboard status flags (optional)
|
|||
|
!
|
|||
|
! Comment lines (lines beginning with !) and empty lines are ignored
|
|||
|
! by the TXT2PTM translator.
|
|||
|
!
|
|||
|
! Lines beginning with an asterisk (*) are processed by TXT2PTM
|
|||
|
! without timing information. This allows you to place entire
|
|||
|
! commands on one line rather than one character per line. A
|
|||
|
! carriage return is automatically placed at the end of * lines
|
|||
|
! by TXT2PTM unless the last character on the line is a dollar
|
|||
|
! sign. Special character expressions (e.g., <Ctrl-K>) are
|
|||
|
! delimited with angle brackets (<,>).
|
|||
|
!
|
|||
|
! Phantom2 directives begin with a dollar sign ($).
|
|||
|
! Directives supported by Phantom2 V1.1 are:
|
|||
|
!
|
|||
|
! $Pause Causes an automatic switch to pause mode during
|
|||
|
! playback. The user must press the hot key to
|
|||
|
! resume playback. The $Pause directive must
|
|||
|
! be placed on a line by itself.
|
|||
|
!
|
|||
|
! $n Where n is a single digit from 1 to 9 causes
|
|||
|
! arguments from the command line to be substituted
|
|||
|
! for the $n directive. $1 refers to the first
|
|||
|
! command line argument after the filename, $2 the
|
|||
|
! second, and so on. The $n directive may be
|
|||
|
! within an asterisk line.
|
|||
|
!
|
|||
|
! $BeginDisplay See the Phantom2 documentation for
|
|||
|
! $EndDisplay instructions on using these directives.
|
|||
|
! $BeginMenu
|
|||
|
! $EndMenu
|
|||
|
! $Title
|
|||
|
|
|||
|
|
|||
|
- 16 -
|
|||
|
USING PHANTOM2 Page 3-8
|
|||
|
EDITING PHANTOM2 RECORDINGS 14 January 91
|
|||
|
|
|||
|
|
|||
|
! $Goto <label>
|
|||
|
! $<label>:
|
|||
|
!
|
|||
|
! The special characters $, <, and > must be preceded by a
|
|||
|
! dollar sign ($) when they are present in an asterisk line.
|
|||
|
! Otherwise TXT2PTM will attempt to perform special processing
|
|||
|
! erroneously.
|
|||
|
!
|
|||
|
! The optional fields need not be entered when editing this file.
|
|||
|
! Values appropriate for most circumstances will be provided for
|
|||
|
! you by TXT2PTM. If you include values for the optional fields,
|
|||
|
! Your values will override those which TXT2PTM would provide.
|
|||
|
!
|
|||
|
!========================================================================
|
|||
|
|
|||
|
00:01.430 D 2044 60
|
|||
|
00:00.165 I 1749 60
|
|||
|
00:00.165 R 1352 60
|
|||
|
00:00.605 / 352f 60
|
|||
|
00:00.220 W 1157 60
|
|||
|
$1
|
|||
|
00:00.605 <CR> 1c0d 20
|
|||
|
00:07.480 e 1265 20
|
|||
|
00:00.000 x 2d78 20
|
|||
|
00:00.000 i 1769 20
|
|||
|
00:00.000 t 1474 20
|
|||
|
00:00.000 <CR> 1c0d 20
|
|||
|
$Pause
|
|||
|
00:00.000 <CR> 1c0d 20
|
|||
|
|
|||
|
|
|||
|
The above file depicts a recording of the commands "DIR/W" and "EXIT".
|
|||
|
As you can see, the carriage return character is translated to <CR> in
|
|||
|
the file. Spaces are translated as <SP>. Non-printing and special
|
|||
|
characters such as CTRL-K are all translated in this manner. If you
|
|||
|
are not sure what the translation of a character might be, it is best
|
|||
|
to make a recording containing the character and then translate the
|
|||
|
recording with PTM2TXT to find out what the correct translation is.
|
|||
|
|
|||
|
The line format is as described in the output file shown above. If
|
|||
|
you change a line in the file, it is best, unless you clearly
|
|||
|
understand the BIOS extended keycodes and keyboard status flags, to
|
|||
|
remove the eeaa and ff fields. TXT2PTM will supply appropriate values
|
|||
|
when you leave them out. An exception to this is when you want to
|
|||
|
create a programmed pause as described earlier.
|
|||
|
|
|||
|
Some programs may require the actual values for the keyboard scan
|
|||
|
codes supplied by the BIOS when an extended keycode is not required.
|
|||
|
In these cases, you must supply the correct values for the eeaa and ff
|
|||
|
fields. We have not run across such a program to date.
|
|||
|
|
|||
|
|
|||
|
|
|||
|
- 17 -
|
|||
|
USING PHANTOM2 Page 3-9
|
|||
|
EDITING PHANTOM2 RECORDINGS 14 January 91
|
|||
|
|
|||
|
|
|||
|
Note that if you edit a translated Phantom2 recording files and insert
|
|||
|
comments and labels, then translate the text file to a recording file
|
|||
|
and back into a text file, the comments and labels will be lost.
|
|||
|
PTM2TXT will create labels required by the menu and goto directives in
|
|||
|
the recording, but they will not be the labels from your original
|
|||
|
edited text file. Goto and menu directives are discussed below.
|
|||
|
|
|||
|
|
|||
|
|
|||
|
3.10.1 PROGRAMMED PAUSES
|
|||
|
|
|||
|
The example contains a programmed pause directive after the second
|
|||
|
<CR>. Pauses may be programmed into the recording file as described
|
|||
|
in the file header shown above. Note that programmed pauses (i.e.,
|
|||
|
pauses which occur automatically at predetermined points during
|
|||
|
playback) may only be created by preparing an input file for TXT2PTM
|
|||
|
such as that shown above. There is no way to create programmed pauses
|
|||
|
while recording. The pause directive may be followed by a timeout
|
|||
|
value expressed in seconds. If the timeout period passes without a
|
|||
|
key being depressed, the pause is ended and playback resumes.
|
|||
|
|
|||
|
|
|||
|
|
|||
|
3.10.2 SUBSTITUTION PARAMETERS
|
|||
|
|
|||
|
The example also contains a substitution parameter directive: $1.
|
|||
|
This directive causes the first parameter entered on the Phantom2
|
|||
|
command line after the filename to be substituted for the $1 during
|
|||
|
playback. Up to nine substitution parameters ($1, $2, $3, ..., $9)
|
|||
|
may be used. If a corresponding command line parameter is not
|
|||
|
supplied for playback, the parameter used on the last playback is
|
|||
|
used. If no parameter was used on the last playback, or if this is
|
|||
|
the first playback of this Phantom2 session, nothing is substituted
|
|||
|
for the substitution parameter (i.e., it is as if it was not there).
|
|||
|
|
|||
|
Multiple substitution parameter directives may be placed in an
|
|||
|
asterisk line. Otherwise, only a single directive is allowed per
|
|||
|
line.
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
- 18 -
|
|||
|
USING PHANTOM2 Page 3-10
|
|||
|
EDITING PHANTOM2 RECORDINGS 14 January 91
|
|||
|
|
|||
|
|
|||
|
3.10.3 COMPRESSED MODE
|
|||
|
|
|||
|
You may avoid typing in the time fields (mm:ss.ttt) by starting lines
|
|||
|
with an asterisk. Lines starting with an asterisk are referred to as
|
|||
|
being in "compressed" mode. When TXT2PTM processes lines beginning
|
|||
|
with an asterisk, it behaves as if each character was on a separate
|
|||
|
line and preceded with "00:00.000". TXT2PTM automatically inserts a
|
|||
|
<CR> at the end of each * line. Here is the previous example above
|
|||
|
created using this technique:
|
|||
|
|
|||
|
!
|
|||
|
! Example of the use of * lines.
|
|||
|
!
|
|||
|
|
|||
|
* DIR/W $1
|
|||
|
$Pause
|
|||
|
* EXIT
|
|||
|
*
|
|||
|
|
|||
|
!
|
|||
|
! End of example
|
|||
|
!
|
|||
|
|
|||
|
|
|||
|
You can mix compressed an non-compressed modes in the same text file.
|
|||
|
|
|||
|
You can cause PTM2TXT to produce compressed mode output from your
|
|||
|
recordings by including the /C switch on the command line like this:
|
|||
|
|
|||
|
C> PTM2TXT /C RECORDNG.PTM RECORDNG.TXT
|
|||
|
|
|||
|
|
|||
|
Note that the switches to the PTM2TXT command must be separated from
|
|||
|
the PTM2TXT command and other switches by spaces.
|
|||
|
|
|||
|
|
|||
|
|
|||
|
3.10.4 POP-UP DISPLAYS
|
|||
|
|
|||
|
You can cause windows containing test you provide to pop up during
|
|||
|
playbacks of Phantom2 recordings. These pop-up displays can contain
|
|||
|
text explaining what the user is seeing in a demonstration, or
|
|||
|
announce a that a certain operation is about to take place.
|
|||
|
|
|||
|
When a pop-up display is displayed, playback is halted until the user
|
|||
|
presses any key or until a timeout period which you specify has
|
|||
|
elapsed.
|
|||
|
|
|||
|
The text which you wish to appear in a pop-up display is placed
|
|||
|
between two Phantom2 directives: $BeginDisplay and $EndDisplay. If
|
|||
|
you want a title to appear in the upper left border of the pop-up
|
|||
|
|
|||
|
|
|||
|
- 19 -
|
|||
|
USING PHANTOM2 Page 3-11
|
|||
|
EDITING PHANTOM2 RECORDINGS 14 January 91
|
|||
|
|
|||
|
|
|||
|
display, you may include a $Title directive on the line following the
|
|||
|
$BeginDisplay directive.
|
|||
|
|
|||
|
The $BeginDisplay directive takes the following form:
|
|||
|
|
|||
|
$BeginDisplay row col attr timo sr
|
|||
|
|
|||
|
|
|||
|
The parameters following the directive are interpreted as follows:
|
|||
|
|
|||
|
row - the screen row on which the top pop-up display is to be
|
|||
|
written.
|
|||
|
|
|||
|
col - the screen column on which the left edge of the pop-up
|
|||
|
display is to be written.
|
|||
|
|
|||
|
attr - The display attributes to be used for display of your
|
|||
|
text:
|
|||
|
0 Normal
|
|||
|
1 Bold
|
|||
|
2 Reverse Video
|
|||
|
3 Reverse Bold
|
|||
|
|
|||
|
timo - A timeout value in seconds. If the timeout period
|
|||
|
passes without keyboard input, the display is erased and
|
|||
|
playback resumes.
|
|||
|
|
|||
|
sr - The character S or R indicating whether you wish other
|
|||
|
Phantom2 displays and menus which may be present on the
|
|||
|
screen to be erased before this window is displayed. R
|
|||
|
restores the screen to what it was before any Phantom2
|
|||
|
displays or menus were popped-up. S saves the screen as it
|
|||
|
is and causes the new display to be painted over anything
|
|||
|
currently shown on the screen.
|
|||
|
|
|||
|
Phantom2 pop-up displays are automatically erased when
|
|||
|
playback is resumed.
|
|||
|
|
|||
|
|
|||
|
The text you wish to appear in the pop-up display is placed between
|
|||
|
the $BeginDisplay and $EndDisplay directives.
|
|||
|
|
|||
|
Here is an example of the directives used to create a pop-up display:
|
|||
|
|
|||
|
!
|
|||
|
! Create a display at row 5, column 20, reverse video, 2-minute
|
|||
|
! timeout and erase any currently displayed pop-ups.
|
|||
|
!
|
|||
|
$BeginDisplay 5 20 2 120 R
|
|||
|
$Title Sample Pop-Up Display
|
|||
|
|
|||
|
|
|||
|
|
|||
|
- 20 -
|
|||
|
USING PHANTOM2 Page 3-12
|
|||
|
EDITING PHANTOM2 RECORDINGS 14 January 91
|
|||
|
|
|||
|
|
|||
|
This is just a simple example of a
|
|||
|
Phantom2 pop-up display.
|
|||
|
|
|||
|
(Press any key to continue.)
|
|||
|
$EndDisplay
|
|||
|
|
|||
|
|
|||
|
Here's how the above pop-up display would appear on the screen (at row
|
|||
|
5, column 20):
|
|||
|
|
|||
|
+--Sample Pop-Up Display---------------+
|
|||
|
| |
|
|||
|
| This is just a simple example of a |
|
|||
|
| Phantom2 pop-up display. |
|
|||
|
| |
|
|||
|
| (Press any key to continue. |
|
|||
|
+--------------------------------------+
|
|||
|
|
|||
|
|
|||
|
Note that when you specify the row and column for the display you
|
|||
|
should take into account that Phantom2 will add 3 columns-worth of
|
|||
|
border to each line and an extra line at the top and bottom for the
|
|||
|
border.
|
|||
|
|
|||
|
|
|||
|
|
|||
|
3.10.5 LABELS AND THE $GOTO DIRECTIVE
|
|||
|
|
|||
|
You can cause playback to transfer from one place in a recording file
|
|||
|
to another by using the $Goto directive. The $Goto directive has a
|
|||
|
single parameter: the label of the location from which playback is to
|
|||
|
continue. Labels in Phantom2 recording files take the form
|
|||
|
|
|||
|
$<text>:
|
|||
|
|
|||
|
|
|||
|
where <test> is any printable text string not starting with a digit
|
|||
|
and not containing spaces or tabs.
|
|||
|
|
|||
|
Here is an example of a recording which continually clears the screen
|
|||
|
and the displays the current directory:
|
|||
|
|
|||
|
!
|
|||
|
! Endless loop directory
|
|||
|
!
|
|||
|
$Loop:
|
|||
|
* CLS
|
|||
|
* DIR /W
|
|||
|
$Goto Loop
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
- 21 -
|
|||
|
USING PHANTOM2 Page 3-13
|
|||
|
EDITING PHANTOM2 RECORDINGS 14 January 91
|
|||
|
|
|||
|
|
|||
|
The $Goto is most useful for returning to a pop-up menu after the
|
|||
|
actions requested by the user have been carried out. (Pop-up menus
|
|||
|
are described in the next section.)
|
|||
|
|
|||
|
|
|||
|
|
|||
|
3.10.6 POP-UP MENUS
|
|||
|
|
|||
|
You can cause menus to pop up during playbacks of Phantom2 recordings.
|
|||
|
These pop-up menus can contain text and items from which the user may
|
|||
|
choose. Once an item is selected, playback resumes at the place in
|
|||
|
the recording file which is associated with that menu selection.
|
|||
|
|
|||
|
When a pop-up menu is displayed, playback is halted until the user
|
|||
|
selects an item or until a timeout period which you specify has
|
|||
|
elapsed.
|
|||
|
|
|||
|
The text and selection items which you wish to appear in a pop-up menu
|
|||
|
are placed between two Phantom2 directives: $BeginMenu and $EndMenu.
|
|||
|
If you want a title to appear in the upper left border of the pop-up
|
|||
|
menu, you may include a $Title directive on the line following the
|
|||
|
$BeginMenu directive.
|
|||
|
|
|||
|
The $BeginMenu directive takes the following form:
|
|||
|
|
|||
|
$BeginMenu row col attr timo sr
|
|||
|
|
|||
|
|
|||
|
The parameters following the directive are interpreted as follows:
|
|||
|
|
|||
|
row - the screen row on which the top pop-up menu is to be
|
|||
|
written.
|
|||
|
|
|||
|
col - the screen column on which the left edge of the pop-up
|
|||
|
menu is to be written.
|
|||
|
|
|||
|
attr - The display attributes to be used for display of your
|
|||
|
text:
|
|||
|
0 Normal
|
|||
|
1 Bold
|
|||
|
2 Reverse Video
|
|||
|
3 Reverse Bold
|
|||
|
|
|||
|
timo - A timeout value in seconds. If the timeout period
|
|||
|
passes without keyboard input, the display is erased and
|
|||
|
playback resumes.
|
|||
|
|
|||
|
sr - The character S or R indicating whether you wish other
|
|||
|
Phantom2 displays and menus which may be present on the
|
|||
|
screen to be erased before this window is displayed. R
|
|||
|
restores the screen to what it was before any Phantom2
|
|||
|
|
|||
|
|
|||
|
- 22 -
|
|||
|
USING PHANTOM2 Page 3-14
|
|||
|
EDITING PHANTOM2 RECORDINGS 14 January 91
|
|||
|
|
|||
|
|
|||
|
displays or menus were popped-up. S saves the screen as it
|
|||
|
is and causes the new display to be painted over anything
|
|||
|
currently shown on the screen.
|
|||
|
|
|||
|
Phantom2 pop-up menus are automatically erased when playback
|
|||
|
is resumed.
|
|||
|
|
|||
|
|
|||
|
Menu selection items are placed after the $BeginMenu and the optional
|
|||
|
$Title directives and after any introductory text you wish to appear
|
|||
|
above the selection items in the menu window. Menu selection items
|
|||
|
are prefixed by $<label> where <label> is the label at which playback
|
|||
|
is to be resumed (or at which another display or menu is defined).
|
|||
|
Labels are described in the section on the $Goto directive.
|
|||
|
|
|||
|
Here is an example of the directives used to create a pop-up menu:
|
|||
|
|
|||
|
!
|
|||
|
! Create a menu at row 5, column 20, reverse video, 10-second
|
|||
|
! timeout and retain any currently displayed pop-ups.
|
|||
|
!
|
|||
|
$START:
|
|||
|
|
|||
|
$BeginMenu 5 20 2 10 S
|
|||
|
$Title Sample Pop-Up Menu
|
|||
|
|
|||
|
Choose one of the items below
|
|||
|
by moving the highlight bar
|
|||
|
with the arrow keys and pressing
|
|||
|
RETURN when the item you want
|
|||
|
is highlighted.
|
|||
|
|
|||
|
$DIR Directory
|
|||
|
$CLEAR Clear Screen
|
|||
|
$QUIT Quit
|
|||
|
$EndMenu
|
|||
|
|
|||
|
$DIR:
|
|||
|
* dir/w
|
|||
|
$Goto start
|
|||
|
|
|||
|
$CLEAR:
|
|||
|
* cls
|
|||
|
$Goto start
|
|||
|
|
|||
|
$QUIT:
|
|||
|
* exit
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
- 23 -
|
|||
|
USING PHANTOM2 Page 3-15
|
|||
|
EDITING PHANTOM2 RECORDINGS 14 January 91
|
|||
|
|
|||
|
|
|||
|
Here's how the above pop-up menu would appear on the screen (at row 5,
|
|||
|
column 20):
|
|||
|
|
|||
|
+--Sample Pop-Up Menu----------------+
|
|||
|
| |
|
|||
|
| Choose one of the items below |
|
|||
|
| by moving the highlight bar |
|
|||
|
| with the arrow keys and pressing |
|
|||
|
| RETURN when the item you want |
|
|||
|
| is highlighted. |
|
|||
|
| |
|
|||
|
| Directory |
|
|||
|
| Clear Screen |
|
|||
|
| Quit |
|
|||
|
+------------------------------------+
|
|||
|
|
|||
|
|
|||
|
Note that when you specify the row and column for the menu you should
|
|||
|
take into account that Phantom2 will add 3 columns-worth of border to
|
|||
|
each line and an extra line at the top and bottom for the border.
|
|||
|
|
|||
|
|
|||
|
|
|||
|
3.10.7 ELIMINATING HELP TEXT
|
|||
|
|
|||
|
If you don't want the detailed help header on the PTM2TXT output file,
|
|||
|
you can specify the /H switch on the command line. This will cause a
|
|||
|
brief header to be prefixed to the translation rather than the
|
|||
|
detailed help text shown in the above example. Including both /C and
|
|||
|
/H will result in the smallest possible output from PTM2TXT. Here is
|
|||
|
an example of both switches being used:
|
|||
|
|
|||
|
C> PTM2TXT /C /H RECORDNG.PTM RECORDNG.TXT
|
|||
|
|
|||
|
.literal
|
|||
|
|
|||
|
Note that the switches to the PTM2TXT command must be separated from the
|
|||
|
PTM2TXT command and other switches by spaces.
|
|||
|
|
|||
|
When you have finished editing, you can create a recording file using the
|
|||
|
TXT2PTM program like this:
|
|||
|
|
|||
|
.literal
|
|||
|
|
|||
|
C> TXT2PTM RECORDNG.TXT RECORDNG.PTM
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
- 24 -
|
|||
|
USING PHANTOM2 Page 3-16
|
|||
|
PASSING PARAMETERS TO RECORDINGS ON THE COMMAND LINE 14 January 91
|
|||
|
|
|||
|
|
|||
|
3.11 PASSING PARAMETERS TO RECORDINGS ON THE COMMAND LINE
|
|||
|
|
|||
|
|
|||
|
NOTE
|
|||
|
|
|||
|
The programs TXT2PTM and PTM2TXT required to enter
|
|||
|
substitution parameter directives in Phantom2
|
|||
|
recordings are supplied with registered versions of
|
|||
|
Phantom2 only.
|
|||
|
|
|||
|
|
|||
|
If you have placed substitution parameter directives in your recording
|
|||
|
file (see the previous section), you may pass the values to be
|
|||
|
substituted for them on the command line after the filename. Here is
|
|||
|
an example passing the parameters A:, XYZ, and BOOBOO:
|
|||
|
|
|||
|
C> PHANTOM2/Q/I/K=F1 RECORDNG.PTM A: XYZ BOOBOO
|
|||
|
|
|||
|
|
|||
|
A: is substituted for $1, XYZ for $2, and BOOBOO for $3.
|
|||
|
|
|||
|
|
|||
|
|
|||
|
3.12 WHAT'S BAD ABOUT PHANTOM2?
|
|||
|
|
|||
|
Well, Phantom2 doesn't have the capability to determine if what
|
|||
|
happened when you recorded the keystrokes is the same thing that is
|
|||
|
happening when you play them back. It's as if you had to type with
|
|||
|
your monitor turned off. If things go wrong, Phantom2 just goes right
|
|||
|
on playing back keystrokes. As the saying goes, the results are
|
|||
|
unpredictable...
|
|||
|
|
|||
|
To recover an aborted editing session with Phantom2, for example, you
|
|||
|
should make sure that everything is as it was when you started the
|
|||
|
recording: the same files with the same contents, the same default
|
|||
|
disk and directory, and so on.
|
|||
|
|
|||
|
Batch files, on the other hand, can check the exit status of programs
|
|||
|
to determine if things are going awry. But, supplying input to a
|
|||
|
spreadsheet is not something you do with batch files. Also, for
|
|||
|
simple repetitive tasks, recording what you want done is usually
|
|||
|
easier than writing and debugging a batch file to do it.
|
|||
|
|
|||
|
Phantom2 doesn't record mouse activity, so you have to do everything
|
|||
|
you want recorded on the keyboard.
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
- 25 -
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
CHAPTER 4
|
|||
|
|
|||
|
PHANTOM2 TECHNICAL INFORMATION
|
|||
|
|
|||
|
|
|||
|
|
|||
|
4.1 DOS VERSION REQUIREMENTS
|
|||
|
|
|||
|
PHANTOM uses features first made available in MS-DOS V3.0, and will
|
|||
|
probably not execute properly on prior versions of MS-DOS.
|
|||
|
|
|||
|
|
|||
|
|
|||
|
4.2 CALLING PHANTOM2 FROM A USER PROGRAM
|
|||
|
|
|||
|
You can invoke Phantom2 functions from a program using Int 2fh
|
|||
|
function e1h (passed in register AH). The following subfunctions
|
|||
|
(passed in register AL) are supported:
|
|||
|
|
|||
|
o 00 - Installation check.
|
|||
|
|
|||
|
. AX = 0001 on return if Phantom2 is resident in memory.
|
|||
|
|
|||
|
. DS:SI = address of null terminated hot-key name in
|
|||
|
resident Phantom2
|
|||
|
|
|||
|
. DS:DI = address of null terminated recording file name in
|
|||
|
resident Phantom2
|
|||
|
|
|||
|
|
|||
|
o 01 - Function request
|
|||
|
|
|||
|
. Call with BX = function mask, CX = INT 16 function 0
|
|||
|
return code for the hotkey, DS:DX = address of
|
|||
|
null-terminated filespec.
|
|||
|
|
|||
|
. Function mask bit definitions: 0 record, 1 play, 2
|
|||
|
QuickPlay, 3 Loop, 4 Mode Display Toggle, 5 Sound Toggle,
|
|||
|
6 Set Hotkey, 7 Set Filespec
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
- 26 -
|
|||
|
PHANTOM2 TECHNICAL INFORMATION Page 4-2
|
|||
|
CALLING PHANTOM2 FROM A USER PROGRAM 14 January 91
|
|||
|
|
|||
|
|
|||
|
o 02 - Uninstall request.
|
|||
|
|
|||
|
. AX = 0001 on return if the de-installation was
|
|||
|
successful.
|
|||
|
|
|||
|
. AX = 0002 on return if Phantom2 is not installed as a
|
|||
|
TSR, but has merely spawned a command shell
|
|||
|
|
|||
|
. AX = ffffh on return if Phantom2 was only disabled, and
|
|||
|
is now dormant in memory.
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
4.3 HOW DOES IT WORK?
|
|||
|
|
|||
|
Phantom2 intercepts the BIOS keyboard interrupt and the PC's clock
|
|||
|
interrupt, and in record mode, copies any keystrokes that it sees
|
|||
|
along with the number of clock ticks that have accumulated since
|
|||
|
startup. On playback, Phantom2 substitutes its own interrupt handler
|
|||
|
for the BIOS keyboard interrupt routine and feeds back the recorded
|
|||
|
keystrokes at the appropriate times. If Phantom2 runs out of
|
|||
|
keystrokes to play back, it passes any requests for keyboard input on
|
|||
|
to the BIOS keyboard interrupt routine.
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
- 27 -
|