home *** CD-ROM | disk | FTP | other *** search
/ Hall of Fame / HallofFameCDROM.cdr / util2 / newkey53.lzh / NEWKEY.MAN < prev    next >
Text File  |  1989-01-15  |  152KB  |  3,846 lines

  1. LIMITED WARRANTY
  2.  
  3. These programs are provided "as is" without warranty of any
  4. kind, either expressed or implied, including, but not limited to the
  5. implied warranties of merchantability and fitness for a particular
  6. purpose.  The entire risk as to the quality and performance of the
  7. program is with you.  Should the program prove defective, you
  8. (and not FAB Software or its dealers) assume the entire cost of
  9. all necessary servicing, repair or correction.
  10.  
  11. In no event will the FAB Software be liable to you for any
  12. damages, including any lost profits, lost savings or other
  13. incidental or consequential damages arising out of the use of or
  14. inability to use these programs, even if the FAB Software has
  15. been advised of the possibility of such damages, or for any claim
  16. by any other party.
  17.  
  18. COPYRIGHT
  19.  
  20. Copyright (C) 1984-1988 by Frank A. Bell.  All rights reserved.
  21.  
  22. This software is protected by both United States Copyright Law
  23. and international treaty provisions.  Therefore you must treat this
  24. software just like a book with the following exception.  FAB
  25. Software authorizes you to make archival copies of the software
  26. for the sole purpose of backing-up your software and protecting
  27. your investment from loss.
  28.  
  29. By saying, "just like a book", FAB Software means that this
  30. software may be used by any number of people and may be
  31. freely moved from one computer location to another, so long as
  32. there is No Possibility of it being used at one location while it's
  33. being used at another.  Just as a book which can't be read by
  34. two different people in two different places at the same time,
  35. neither can the software be used by two different people in two
  36. different places at the same time.
  37.  
  38. There is a special full-power evaluation version of Newkey which
  39. may be copied subject to the restrictions listed in "Restricted
  40. Permission to Copy". 
  41.  
  42.  
  43.  
  44.  
  45.  
  46.  
  47.  
  48.  
  49.                                     NEWKEY
  50.  
  51.                             A Keyboard Enhancer for
  52.                            The IBM Personal Computer
  53.                                        
  54.                                   Version 5.0
  55.                                        
  56.                                        
  57.                                        
  58.                                        
  59.  
  60.  
  61.  
  62.  
  63.  
  64.  
  65.  
  66.  
  67.  
  68.  
  69.  
  70.  
  71.                               FAB Software
  72.                               P.O. Box 336
  73.                               Wayland, MA 01778
  74.                               TABLE OF CONTENTS
  75.  
  76.  
  77. 1 - INTRODUCTION                                                  1
  78.   1.1 Purpose and Terminology                                     1
  79.   1.2 Installation Tips                                           2
  80.   1.3 Guided Tour                                                 2
  81.   1.4 Files Supplied With Newkey                                  2
  82.   1.5 Sample Macro Files                                          2
  83.                                                          
  84. 2 - GETTING STARTED                                               3
  85.   2.1 How Newkey Works                                            3
  86.   2.2 Loading Newkey                                              3
  87.   2.2.1 Buffer Size                                               4
  88.   2.2.2 Forced Load                                               4
  89.   2.2.3 Newkey Load Order                                         4
  90.   2.3 Defining a Macro                                            5
  91.   2.4 Macro Definition Status Line                                7
  92.   2.5 Space Considerations                                        7
  93.   2.6 Error Correction                                            8
  94.   2.7 Pop-up Access to Newkey's Features                          8
  95.   2.8 Menu Access to Macro Definition Commands                    8
  96.  
  97. 3 - MACRO FUNCTIONS                                               9
  98.   3.1 Entering a Macro Function                                   9
  99.   3.2 Beep                                                        9
  100.   3.3 Clear Macros                                                9
  101.   3.4 Clear Screen                                                9
  102.   3.5 Cursor On/Off                                              10
  103.   3.6 Cut From Screen                                            10
  104.   3.7 Date/Time                                                  10
  105.   3.7.1 Zero Fill Option                                         11
  106.   3.8 Define a Macro to a Specific Definition                    11
  107.   3.9 Delete a Macro                                             12
  108.   3.10 Fixed Length Fill-in-the-Blanks                           12
  109.   3.11 Guard a Macro                                             13
  110.   3.12 Input to Macro                                            13
  111.   3.13 Load Macros                                               13
  112.   3.14 Playback Bypass                                           14
  113.   3.15 Pop-up Newkey Menu                                        15
  114.   3.16 Send to Printer                                           15
  115.   3.17 Restore Screen                                            15
  116.   3.18 Save Macros                                               15
  117.   3.19 Screen off/on                                             15
  118.   3.20 Set Option                                                16
  119. 3.21 Control Caps, Num, and Scroll Shift States17
  120.   3.22 Slow Typing Mode                                          17
  121.   3.23 Time Delay                                                17
  122.   3.24 Variable Length Fill-in-the-Blanks                        18
  123.   3.24.1 Ending a Variable Pause Without Actually Typing the
  124.            Pause End Key                                         19
  125.   3.25 Wait for key                                              19
  126.  
  127. 4 - CONTROLLING MACRO EXECUTION                                  20
  128.   4.1 Switching Newkey Off/On                                    20
  129.   4.2 Playback Bypass                                            20
  130.   4.3 Inactivated Macros                                         20
  131.   4.4 Cancel Newkey Processing                                   20
  132.   4.5 Unload and Reclaim Memory                                  21
  133.   4.6 Slow Typing Mode                                           21
  134.   4.6.1 Setting Slow Typing Speed                                21
  135.   4.7 Single Step Macro Playback                                 22
  136.   4.8 Disk Wait During Macro Playback                            22
  137.  
  138. 5 - EDITING MACROS                                               23
  139.   5.1 Display Directory and Descriptions                         23
  140.   5.2 Displaying a Macro                                         23
  141.   5.3 Editing a Macro                                            23
  142.   5.3.1 Escaping Editor Command Key Processing                   24
  143.   5.3.2 Copying/Moving a Macro                                   24
  144.   5.3.3 Copying the Keyboard Buffer                              25
  145.   5.4 Deleting a Macro                                           25
  146.   5.5 Editing Using a Text Editor                                25
  147.                                                                  
  148. 6 - ADVANCED MACRO FEATURES                                      26
  149.   6.1 Defining a Multi-Character Macro                           26
  150.   6.2 Playing back a Multi-Character Macro                       26
  151.   6.3 Shorthand Mode                                             27
  152.   6.3.1 Capitals in Shorthand Mode                               28
  153.   6.3.2 Controlling Shorthand Mode                               28
  154.   6.3.3 Shorthand Mode Backspacing                               29
  155.   6.3.4 Shorthand Mode Restrictions                              29
  156.   6.4 Nested Macro Playback                                      29
  157.   6.4.1 Recursion                                                30
  158.   6.5 Defining Macros From Within Macros                         30
  159.   6.6 Macro May Call Itself                                      31
  160.   6.7 Invoking Newkey From its Own Macros                        32
  161.   6.7.1 Scope of Macro Definition and Playback                   32
  162.   6.8 Cut and Paste                                              32
  163.   6.8.1 Cutting                                                  32
  164. 6.8.2 Pasting33
  165.   6.8.3 Cut and Paste Line End Key                               33
  166.  
  167. 7 - DISPLAY MACROS                                               34
  168.   7.1 Creating and Editing a Display Macro                       34
  169.   7.2 Suggestions on Creating and Editing                        38
  170.  
  171. 8 - MENU MACROS                                                  39
  172.   8.1 Creating and Editing a Menu Macro                          39
  173.   8.2 Preparing to Define a Menu Macro                           41
  174.   8.3 How Menu Macros Work                                       41
  175.  
  176. 9 - KEYBOARD AND SCREEN FEATURES                                 42
  177.   9.1 Screen Saver Mode                                          42
  178.   9.1.1 Blank Delay Time                                         42
  179.   9.1.2 Video I/O Restore Screen                                 42
  180.   9.2 Extended Keyboard Buffer                                   43
  181.   9.3 Fast Key Parameters                                        43
  182.   9.3.1 Fast Key Delay                                           43
  183.   9.3.2 Fast Key Rate                                            44
  184.   9.3.3 Alternate Fast Key Mode                                  44
  185.   9.4 Keyboard Click                                             44
  186.   9.5 Cap/Num Lock Indicators                                    44
  187.   9.6 Caps/ctrl Key Switch on Enhanced Keyboards                 44
  188.  
  189. 10 - CUSTOMIZING NEWKEY                                          45
  190.   10.1 Control Keys                                              45
  191.   10.2 Parameters                                                46
  192.   10.3 Black and White Mode                                      46
  193.   10.4 Customizing Macro Definition Messages                     47
  194.   10.4.1 Macro Already Defined Warning Switch                    47
  195.   10.4.2 Defining Alpha Character Warning Switch                 47
  196.   10.4.3 Enter Description Request Switch                        47
  197.   10.4.4 Status Line Position                                    48
  198.   10.5 Preventing Key Creation                                   48
  199.   10.6 Customizing Colors                                        49
  200.                                                         
  201. 11 - LOADING & SAVING MACROS                                     50
  202.   11.1 Save File                                                 50
  203.   11.2 Load File                                                 50
  204.   11.3 Merge File                                                51
  205.   11.4 Default Path and Extension for Macro Files                51
  206.   11.5 Clear Macros                                              52
  207.   11.6 Guarded Macros                                            52
  208. 12 - NEWKEYSP OVERVIEW                                           53
  209.   12.1 Invoking Newkeysp                                         53
  210.   12.2 Execute Multiple Newkeysp Commands                        53
  211.   12.3 Newkeysp Batch Commands                                   53
  212.   12.4 Executing Macros From a Batch File                        54
  213.  
  214. 13 - NOTES ON KEYS SUPPORTED                                     55
  215.   13.1 Synonyms - Different Keys, Same Ascii Codes               55
  216.   13.2 Generating Extended Ascii Codes                           55
  217.  
  218. 14 - TIPS ON USING NEWKEY                                        56
  219.   14.1 Use Your Autoexec.bat File                                56
  220.   14.2 Do Not Forget to Save Your Macros                         56
  221.   14.3 Combining Macro Files                                     56
  222.   14.4 Multiple Macro Files                                      56
  223.   14.5 Save All Macros Files in One Directory                    57
  224.  
  225. 15 - COMMON PROBLEMS                                             58
  226.   15.1 Keys That Used to Work No Longer Work                     58
  227.   15.2 Other Memory-resident Programs Hang                       58
  228.   15.3 Monitor Does Not Clearly Display Newkey Menus             58
  229.   15.4 Screen Does Not Blank                                     58
  230.   15.5 Cannot Restore Blanked Screen                             59
  231.   15.6 Newkey Does Not Work Right With Certain Programs          59
  232.   15.7 Cannot Access Extended Ascii (upper 128) codes            59
  233.   15.8 Losing Part of Macro Definition                           60
  234.   15.9 Limited Memory Considerations                             60
  235.   15.10 Computer Hangs up and Must be Rebooted                   60
  236.  
  237. 16 - TECHNICAL OVERVIEW                                          61
  238.   16.1 Newkey Requirements                                       61
  239.   16.2 Newkeysm, The SMall Version                               61
  240.   16.3 Newkey's Limitations                                      61
  241.   16.4 Hardware Compatibility                                    61
  242.   16.5 Enhanced Keyboard                                         61
  243.   16.6 Hercules Graphics boards                                  62
  244.   16.7 Graphics Modes                                            62
  245.   16.8 Software Compatibility                                    62
  246.   16.9 Shift Status Reset                                        63
  247.                                                                
  248. 7 - MISCELLANEOUS                                                64
  249.   17.1 Support                                                   64
  250.   17.2 Reporting Newkey Bugs                                     64
  251.   17.3 Restricted Permission to Copy                             65
  252.   17.3.1 What May be Copied                                      65
  253. 17.3.2 Rules For Copying Evaluation Version                      66
  254.   17.4 Price List and Order Form                                 66
  255.   17.5 The Shareware Concept                                     67
  256.   17.6 Association of Shareware Professionals                    67
  257.  
  258. A - KEYS SUPPORTED                                               69
  259.  
  260. B - FUNCTIONS                                                    72
  261.  
  262. C - EXTENDED CODES                                               74
  263.                                                  
  264. D - SYNONYMS                                                     77
  265.  
  266. E - COLOR CODES                                                  78
  267.  
  268. F - SUMMARY OF CHANGES                                           79
  269.  
  270. INDEX                                                            81
  271.                                                                  1
  272.  
  273.                           CHAPTER 1 - INTRODUCTION
  274.  
  275.  
  276. 1.1 Purpose and Terminology
  277.  
  278. The Newkey keyboard enhancer simplifies the entry of common
  279. keystroke sequences by allowing these sequences to be
  280. assigned to any key desired.  Once assigned to a particular key,
  281. whenever that key is struck the predefined sequence of
  282. keystrokes will be substituted for the struck key.
  283.  
  284. For example, the <altc> key might be defined as "copy" and
  285. whenever <altc> is struck the string "copy" will be substituted for
  286. it.  The process of assigning a sequence of keystrokes to
  287. another key is called "macro definition".  The process of
  288. substituting the Newkey-assigned sequence for a key that is
  289. actually struck is called "playback".  
  290.  
  291. When we refer to specific keystrokes, such as <altc> in the
  292. above example, the keystroke name will be enclosed in a "<"
  293. and a ">".  The keystroke name will be made up of an optional
  294. prefix (alt, caps, ctrl, or num) plus the a key's name.  To enter
  295. <altc> for example, press the "alt" key and then while continuing
  296. to hold the alt key down, press the "c" key. 
  297.  
  298. Newkey allows customization of software packages, ready
  299. creation of boiler plate passages, keyboard redefinition, and other
  300. useful purposes.  Newkey also provides many more features
  301. including:
  302.  
  303. -  Ability to define any key support by your keyboard
  304. -  Shorthand mode
  305. -  Display windows
  306. -  Menu macros
  307. -  Full-featured macro editor
  308. -  Multi-character macro names
  309. -  Cut & Paste
  310. -  Extended keyboard buffer
  311. -  Screen saver feature
  312. -  Saving macros from memory to disk
  313. -  Many more features too numerous to list
  314.                                                                2
  315.  
  316. Newkeysp, the Newkey Support Program, provides many
  317. functions to complement Newkey, including:
  318.  
  319. -  Execute macros from batch files
  320. -  Execute Newkey functions from batch files
  321. -  Set menu colors and other options
  322.  
  323. 1.2 Installation Tips
  324.  
  325. - First make a copy of the Newkey disk and put away the
  326. supplied disk as a backup.
  327.  
  328. - Next read the "readme" file.  This file will contain the latest
  329. Newkey information which has come up since this manual was
  330. printed plus a section on using Newkey with other software.
  331.  
  332. -  Users of earlier versions should consult the "Summary of
  333. Changes" in appendix F for important conversion information.
  334.  
  335. - Hard disk users will want to put the "newkey.exe" and
  336. "newkeysp.exe" programs in a directory which is specified in their
  337. "path" command so that they are readily accessible from all of
  338. their sub-directories.
  339.  
  340. 1.3 Guided Tour
  341.  
  342. A guided tour comes with Newkey and may be invoked by
  343. issuing the command "demo" while the Newkey disk is in the
  344. default disk drive.  This tour is done entirely using Newkey
  345. macros and illustrates many of Newkey's major features.  
  346.  
  347. 1.4 Files Supplied With Newkey
  348.  
  349. For a list of the files supplied with Newkey print the "readme" file. 
  350. We used to supply a list in the manual, but found that the list
  351. would eventually became obsolete.  The list on the readme will
  352. be up-to-date.
  353.  
  354. 1.5 Sample Macro Files
  355.  
  356. Several sample macro files are supplied with Newkey to illustrate
  357. its use and provide you with a starting point.  These macro files
  358. are self-documenting and you may find it useful to print them
  359. before they are used.
  360.                                                                   3 
  361.                   CHAPTER 2 - GETTING STARTED
  362.  
  363.  
  364. 2.1 How Newkey Works
  365.  
  366. A basic understanding of how Newkey works is important to
  367. using it well.  When you load Newkey, it makes itself part of the
  368. software controlling your computer.  From that time forward it is
  369. continually "listening in" to the conversation you are having with
  370. your computer as you type at the keyboard.  It listens when you
  371. are at the DOS command line, it listens when you are working in
  372. your word-processor, your spreadsheet, or whatever program you
  373. are running at the time.
  374.  
  375. As it listens, it checks each keystroke against its list of macros.
  376. When a keystroke with a macro assigned to it is recognized,
  377. Newkey jumps in and plays the macro back.  It does this by
  378. fooling the computer's software into thinking that it is reading
  379. from the keyboard when in fact, it is Newkey which is feeding the
  380. keystrokes to the computer's software and not you at the
  381. keyboard.  When the macro is done, Newkey returns everything
  382. to normal and lets your computer's software start reading from
  383. the keyboard once again.  
  384.  
  385. Of course Newkey actually does much more than simple macro
  386. playback, but an understanding of its basic functioning will help
  387. you to use it to its fullest.
  388.  
  389. 2.2 Loading Newkey
  390.  
  391. To load Newkey, type
  392.  
  393.         newkey [/buffer size] [/f]
  394.  
  395. and press the <enter> key.  Within a second or two a short
  396. message will be displayed with the line
  397.  
  398.         Newkey loaded
  399.  
  400. at the bottom.
  401.  
  402. When you receive this message, Newkey is loaded and ready to
  403. use.  You may wish to load a predefined set of macros.  To do
  404. this, refer to section 11.2, "Load File", for more information.
  405.                                                                4
  406.  
  407. 2.2.1 Buffer Size
  408.  
  409. Newkey comes with a default macro buffer size which will accept
  410. up to 1000 characters of macro definitions.  This default may be
  411. changed at run time by specifying the parameter /xxxxx when first
  412. invoking Newkey where xxxxx is up to a 5 digit number specifying
  413. the number of characters to be reserved for the macro buffer. 
  414. Newkey will reserve twice this number of bytes in memory (each
  415. character requires two bytes).
  416.  
  417. For example:
  418.  
  419.     newkey /1000
  420.  
  421. will reserve enough space for 1000 characters of playback (2000
  422. bytes of storage.)
  423.  
  424. The legal range for this number is 5 - 32000.
  425.  
  426. 2.2.2 Forced Load
  427.  
  428. Occasionally Newkey will think that it is already loaded when in
  429. fact it is not.  In order to force Newkey to load, add the
  430. parameter '/f' when initially loading Newkey.
  431.  
  432. For example:
  433.  
  434.     newkey /f
  435.     newkey /1000 /f
  436.  
  437. will force newkey to load even if it thinks it is already loaded.
  438.  
  439. The most likely time this will be necessary is when you are using
  440. a warm boot program which preserves certain areas of the
  441. computer's memory (JBOOT, for example).  If Newkey is
  442. accidently loaded a second time, results will be unpredictable.
  443.  
  444. 2.2.3 Newkey Load Order
  445.  
  446. The number of programs interacting with the operating system is
  447. growing every day.  Many of these programs make themselves
  448. resident and latch on to the same interrupts Newkey uses. 
  449. Version 5.0 has been written to provide the maximum possible
  450. compatibility with these programs.
  451.                                                                5
  452.  
  453. Generally speaking, it is impossible to make any hard and fast
  454. rules about the order in which your memory-resident programs
  455. should be loaded.  Some programs require Newkey to be loaded
  456. before they are loaded, some after.  For further information on
  457. using Newkey with other software, refer to the readme file on the
  458. Newkey disk.
  459.  
  460. 2.3 Defining a Macro
  461.  
  462. To define a macro follow these steps:
  463.  
  464. 1.  Press the <alt=> key.
  465.  
  466. A window will open up looking like this:
  467.  
  468.  
  469.                     <─┘
  470. 2.  Press the key you wish to define.
  471.  
  472. Let's assume that you are defining <altc> to be "copy".  Press
  473. <altc> and it will be displayed in the window.
  474.  
  475.  
  476.                     <─┘
  477. 3.  Now you will be asked to enter a description.
  478.  
  479. This optional field allows you to create a short description of
  480. what the macro does.  In the example below, "Start copying" is
  481. the description that has been entered.
  482.  
  483.  
  484.                     <─┘
  485. When you are finished entering the description press <enter>. 
  486. At this point the following 4 things will happen:
  487.                                                                6
  488.  
  489. - The window will close
  490. - A status line will be displayed at the top of your screen
  491. - The cursor will take on a block shape
  492. - A beep will sound each time you press a key
  493.  
  494. As long as you are in macro definition mode, the status line will
  495. be displayed, the cursor will retain some sort of block shape, and
  496. each keystroke will cause a beep.
  497.  
  498. 4.  Now enter the keystrokes you want the macro to
  499. represent ("copy " in our example.)
  500.  
  501. Your software will continue to act on these keystrokes as if macro
  502. definition was not occurring.  Newkey is just listening in as you
  503. type and remembering your keystrokes.  The software you are
  504. using, whether you are at the DOS command line, in your word-
  505. processor, spreadsheet, or whatever does not realize that
  506. Newkey is there.  This enables you to monitor the macro
  507. definition to ensure that you are actually creating a macro that
  508. will do what you wish, because as you type, your software is
  509. reacting to your keystrokes just as it will when you later play the
  510. macro back. 
  511.  
  512. 6.  When you have finished defining the macro press the <alt->
  513. key.
  514.  
  515. The status line will disappear, the cursor will take on its normal
  516. shape, and your macro definition is finished.
  517.  
  518. Now press <altc> and watch "copy" be played back. Unless
  519. saved in a disk file, the new macro will be lost when the system
  520. is rebooted.  For more information on saving macros, refer to
  521. section 11.1, "Save file".
  522.  
  523. Macros may also be created or modified by using Newkey's
  524. macro editor on macros in memory or with your word processor
  525. or text editor on a saved macro file.  For further information on
  526. editing macros, refer to chapter 5, "Editing Macros".
  527.  
  528. Most of the macro definition messages and other aids described
  529. in this chapter as well as others can be customized to suit your
  530. preferences.  If you do not need these aids or protection you can
  531. eliminate them and the additional keystrokes they require.  These
  532. options are described in section 10.4, "Customizing Macro
  533. Definition Messages". 
  534.                                                                7
  535.  
  536.  
  537. 2.4 Macro Definition Status Line
  538.  
  539. Newkey will display a status line during macro definition.  This
  540. status line will display in reverse video the key being defined, the
  541. current defining mode, and which keys to press to end or cancel
  542. macro definition.  Possible defining modes are:
  543.  
  544.     TEXT    = text mode
  545.     FIX    = fixed length pause
  546.     VAR    = variable length pause
  547.  
  548. The status line will not be displayed if your program is currently
  549. in graphics mode.
  550.  
  551. 2.5 Space Considerations
  552.  
  553. Unless told otherwise, Newkey automatically reserves enough
  554. macro space for 1000 characters.  If new macro definitions total
  555. more than 1000 characters in a session, Newkey will display this
  556. message in reverse video:
  557.  
  558.                     *OUT OF MEMORY - PRESS ESC TO CONTINUE*
  559.  
  560. If you receive this message, all further new macro definition will
  561. be halted, including the one you are currently creating.  At this
  562. point there are two ways to get more macro definition space:
  563.  
  564. Method 1
  565.  
  566. 1. Save the current macros (section 11.1)
  567. 2. Unload Newkey (section 4.5).
  568. 3. Reload Newkey increasing the size of the macro buffer
  569. (section 2.2.1).
  570. 4. Reload the saved macros (section 11.2).
  571.  
  572. Method 2
  573.  
  574. Delete some unused or unnecessary macros (section 5.4,
  575. "Deleting a Macro").
  576.  
  577.                                                                8
  578.  
  579. 2.6 Error Correction
  580.  
  581. During macro definition, Newkey treats the <ctrlh> key as a
  582. back space and delete.  This allows you to correct a mistake
  583. during macro definition without the correction becoming part of
  584. the macro.
  585.  
  586. You may also edit the macro being defined by pressing the
  587. <ctrl\> key.  This will take you into the Newkey macro editor for
  588. the key being defined.  You may also edit the macro by entering
  589. the macro editor in the normal manner through the pop-up key.
  590.  
  591. 2.7 Pop-up Access to Newkey's Features
  592.  
  593. Most of Newkey's features may be invoked at any time without
  594. leaving your current program by pressing the pop-up key,
  595. <alt/>.  Newkey will save your current screen, present you with
  596. a menu of options, and when you are done, restore your screen
  597. just where you left off.
  598.  
  599. This feature is not available in the small version of Newkey,
  600. Newkeysm.exe, resulting in a savings of 25K in memory.
  601.  
  602. 2.8 Menu Access to Macro Definition Commands
  603.  
  604. This option allows you another method of executing the macro
  605. commands described later besides pressing the appropriate
  606. control key.  If you don't remember what key does what, instead
  607. of looking it up call up the pop-up menu and select the "Execute
  608. macro commands" option.
  609.  
  610. A menu will be displayed listing all of your possible options. 
  611. Only those which are highlighted may be selected.  Those which
  612. are highlighted will depend on several factors, such as whether
  613. you are in macro definition mode or not.
  614.                                                                9
  615.  
  616.                CHAPTER 3 - MACRO FUNCTIONS
  617.  
  618.  
  619. This chapter describes many of the special purpose functions
  620. which can be invoked by Newkey's macros.  A function may not
  621. be described in this chapter if it is normally inserted by the
  622. display or menu macro editors.  For a complete list of macro
  623. functions refer to Appendix B.  
  624.  
  625. 3.1 Entering a Macro Function
  626.  
  627. Most of Newkey's macro functions must be entered by editing
  628. the macro and inserting the desired functions.  Newkey allows
  629. you to edit a macro as it is being defined or after it has been
  630. defined.  
  631.  
  632. To enter a function as a macro is being defined, press the "edit
  633. macro being defined" key, <ctrl\>.  This will cause you to enter
  634. the macro editor with the cursor positioned at the end of the
  635. macro you are currently defining.  At this point you may insert
  636. special functions (F2) or do any of the other normal macro
  637. editor's functions.  When you are done, Newkey will return you to
  638. where you left off.
  639.  
  640. To enter a function after the macro has been defined use the
  641. macro editor as described in Chapter 5, 'Editing Macros'.
  642.  
  643. 3.2 Beep
  644.  
  645. Macro function:    {beep}
  646.  
  647. Newkey allows you to beep during macro playback.
  648.  
  649. 3.3 Clear Macros
  650.  
  651. Macro function:    {clearmac}
  652.  
  653. This function will clear macros from memory.  It will not clear any
  654. macros currently being played back or guarded macros.
  655.  
  656. 3.4 Clear Screen
  657.  
  658. Macro function:    {cls}
  659.  
  660. This function will clear the screen during macro playback.
  661.                                                               10
  662.  
  663.  
  664. 3.5 Cursor On/Off
  665.  
  666. Macro function:    {cursoff}
  667.                    {curson}
  668.  
  669. These functions will turn the cursor off or on.
  670.  
  671. 3.6 Cut From Screen
  672.  
  673. Macro function:    {cut macroname row,column,lines,length}
  674.  
  675. This function will cut the specified number of lines for the
  676. specified length starting at row and column on your screen and
  677. assign it to the specified macro.  It works just like the cut and
  678. paste option, except that the macro does the cutting for you.
  679.  
  680. 3.7 Date/Time
  681.  
  682. Macro function:    {date}date template{enddate}
  683.                    {time}time template{endtime}
  684.  
  685. Newkey now allows you to display the date and time during
  686. macro playback in an almost unlimited number of formats.  Using
  687. the basic building blocks of the date and time functions you can
  688. build your own date/time template.  These building blocks are:  
  689.  
  690. Time functions                   Date functions                      
  691.  
  692. hh = hours, twelve hour clock    dd = day
  693. mm = minutes                     mm = month
  694. ss = seconds                     yy,yyy,yyyy = year
  695. tt = hours, 24 hour clock        ddd,mmm = abbreviated name
  696. xx = am,pm                       dddd,mmmm = full name
  697. XX = AM,PM
  698.  
  699. You are not limited to just these building blocks.  Any characters
  700. found in the date/time function which can not be interpreted as
  701. one of the building blocks will be returned just as they are.  This
  702. means that you have complete flexibility in creating your own
  703. date/time function.   
  704.  
  705. The following examples illustrate some of the more popular
  706. date/time formats.  For example, assume that it is 1:13:03 pm on
  707. Sunday, September 11, 1986.   
  708.                                                               11
  709.  
  710.  
  711.                              Sample Date Functions
  712.  
  713. template                    What Newkey returns
  714. mm/dd/yy                    5/11/86
  715. yy/mm/dd                    86/5/11
  716. mm-dd-yy                    5-11-86
  717. mm/dd/yyyy                  5/11/1986
  718. mmmm dd, yyyy               September 11, 1986
  719. mmm dd, yyyy                Sep 11, 1986
  720. mmm. dd, yyyy               Sep. 11, 1986
  721. dddd, mmm dd, yyyy          Sunday, Sep 11, 1986
  722. ddd, mmm. dd, yyyy          Sun, Sep. 11, 1986
  723.  
  724.                              Sample Time Functions
  725.  
  726. template                     what Newkey returns
  727. hh:mm:ss                     1:13:3
  728. hh:mm xx                     1:13 pm
  729. hh:mm XX                     1:13 PM
  730. tt:mm:ss                     13:13:3 
  731.  
  732. For further examples load the DATE.KEY macro file. 
  733.  
  734. 3.7.1 Zero Fill Option 
  735.  
  736. The zero fill option will cause the date and time functions to zero
  737. fill the date/time template.  For example, assume the time 8:03:01
  738. am is being displayed by the time function, {begtime}hh:mm:ss{endtime}.  
  739. Normally, "8:3:1", would be displayed, but with the zero fill option on, 
  740. "08:03:01" would be displayed. 
  741.  
  742. 3.8 Define a Macro to a Specific Definition
  743.  
  744. Macro function:    {define macroname}macro definition{defend}
  745.  
  746. This function will define the macro specified by macroname to
  747. macro definition.  For example, when the macro <defineit>,
  748. which is defined as:
  749.  
  750. {begdef defineit}Let's define alta {define alta}I'm alta{defend}
  751. {enddef}
  752.                                                               12
  753.  
  754.  
  755. is executed, it will define <alta> as:
  756.  
  757. {begdef alta}I'm alta{enddef}
  758.  
  759. Now if <alta> is pressed, "I'm alta" will be played back.
  760.  
  761. 3.9 Delete a Macro
  762.  
  763. Macro function:    {delete macroname}
  764.  
  765. This function will delete the macro specified by macroname.  It
  766. may be used to reclaim memory by deleting macros no longer
  767. used.
  768.  
  769. 3.10 Fixed Length Fill-in-the-Blanks
  770.  
  771. Macro function:    {ffld}
  772.                    {ffldtran}
  773.  
  774. Newkey provides you with the ability to define fixed length
  775. fill-in-the-blanks fields within macros.  When one of these is
  776. encountered in a macro, Newkey will stop playback and wait for
  777. the user to enter one keystroke from the keyboard.  There are
  778. two types of fixed length fields, one which will accept the
  779. keystroke and return it without checking to see if a macro is
  780. assigned to it.  This is the {ffld} function.  The {ffldtran} function
  781. behaves the same, except that if there is a macro assigned to
  782. the keystroke, it will playback the macro.
  783.  
  784. In addition to using the macro editor, a {ffld} may be inserted
  785. during macro definition by following these steps:
  786.  
  787.     1.  Press <ctrl]>.  The cursor will change from a full block to
  788.   half block with its top missing and the status line mode will
  789.   change from "TEXT" to "FIX".
  790.  
  791.     2.  Enter whatever keystrokes you wish.
  792.  
  793.     3.  Press <ctrl]>.  The cursor will change back to  a full block
  794.   and the status line mode will change from "FIX" to "TEXT".
  795.  
  796. For example, suppose you frequently started a letter with
  797. "Enclosed are the xx (some number) items per your request", you
  798. might wish to define one macro to mean "Enclosed are the xx
  799.  
  800.                                                               13
  801.  
  802. items per your request".  To do this you would follow these
  803. steps:
  804.  
  805.     1.  Press <alt=> to start macro definition.
  806.     2.  Press <altl>, the key you wish to define.
  807.     3.  Press <enter> to skip the description.
  808.     4.  Type "Enclosed are the ".
  809.     5.  Press <ctrl]> to start fixed length field.
  810.     6.  Type in any two characters.
  811.     7.  Press <ctrl]> to end fixed length field.
  812.     8.  Type in " items per your request".
  813.     9.  Press <alt-> to end macro definition.
  814.  
  815. Now if you were to press <altl>, "Enclosed are the " would be
  816. displayed and the system would wait for you to enter any two
  817. characters.  Once you had entered the second character, the
  818. system would continue with " items per your request".
  819.  
  820. 3.11 Guard a Macro
  821.  
  822. Macro function:    {guard}
  823.  
  824. This function will guard a macro from being deleted when loading
  825. or clearing macros.  For further information, refer to section 11.6,
  826. "Guarded Macros".
  827.  
  828. 3.12 Input to Macro
  829.  
  830. Macro function:    {input macroname row,col,1,length}
  831.  
  832. This function will build a window of 1 line and length columns
  833. starting at row and col and then accept input from the user. 
  834. When <enter> is pressed, the user's input is assigned to the
  835. macro called macroname.  Usually this function will be entered
  836. for you by the display macro editor.
  837.  
  838. 3.13 Load Macros
  839.  
  840. Macro function:    {begload}filename.ext{endload}
  841.                    {begmerge}filename.ext{endmerge}
  842.                    {begmergo}filename.ext{endmergo}
  843.  
  844. The {begload} function will load the macros from filename.ext
  845. into memory.
  846.                                                               14
  847.  
  848. The {begmerge} function will merge the macros from filename.ext
  849. into memory.
  850.  
  851. The {begmergo} function will merge the macros from filename.ext
  852. into memory, overwriting the duplicates already in memory.
  853.  
  854. These functions will load macros more slowly than manually
  855. loading the macros because of the need to protect the macro(s)
  856. currently being played back.  They will be ignored in the small
  857. version, Newkeysm.
  858.  
  859. 3.14 Playback Bypass
  860.  
  861. Macro function:    {notran macroname}
  862.  
  863. Newkey provides the ability to prevent further playback within a
  864. macro.  This is similar to turning Newkey off for just one
  865. keystroke.  To invoke playback bypass follow these steps:
  866.  
  867.     1.  Press the no-translate key, <ctrl2>.
  868.     2.  Press the key you wish to always be returned.
  869.  
  870. When Newkey encounters this key at this spot within the macro,
  871. it will return the key without further playback, even if the key is
  872. defined in the macro file.  For example, suppose you wish to
  873. define the key <altk> to be "<ctrlk><ctrld>", but <ctrlk> is
  874. already defined as "<ctrlj><ctrlq>".  Follow these steps:
  875.  
  876.     1.  Press <alt=> to start macro definition.
  877.     2.  Press <altk>, the key you wish to define.
  878.     3.  Press <enter> to skip the description.    
  879.     4.  Press <ctrl2> to signal that the next key is not to be
  880.   translated.
  881.     5.  Press <ctrlk>, the key you wish to be returned.
  882.     6.  Press <ctrld>.
  883.     7.  Press <alt-> to end macro definition.
  884.  
  885. Now when you press <altk>, <ctrlk>, not "<ctrlj> <ctrlq>",
  886. plus <ctrld> will be returned.  The playback bypass key only
  887. affects the next key entered.  To prevent playback of more than
  888. one key, it is necessary to press the playback bypass key before
  889. entering each of them.
  890.                                                               15
  891.  
  892. 3.15 Pop-up Newkey Menu
  893.  
  894. macro function:    {cmd}input to Newkey{endcmd}
  895.  
  896. This will pop-up the Newkey menu and feed the input to Newkey
  897. string to Newkey.  See section 6.7, "Invoking Newkey From its
  898. Own Macros", for further information.
  899.  
  900. 3.16 Send to Printer
  901.  
  902. Macro function:    {begprint}output to printer{endprint}
  903.  
  904. This will send all characters enclosed between the {begprint}
  905. and {endprint} functions to the designated parallel printer.  The
  906. printer defaults to LPT1, but may be changed by using the {set
  907. printer number} option.
  908.  
  909. 3.17 Restore Screen
  910.  
  911. Macro function:    {restore}
  912.  
  913. This function will restore the portion of your screen that was just
  914. used by a display macro.  Usually this function will be entered for
  915. you by the display macro editor.
  916.  
  917. 3.18 Save Macros
  918.  
  919. Macro function:    {begsave}filename.ext{endsave}
  920.  
  921. The {begsave} function will save the macros from memory into
  922. filename.ext.  It will be ignored in the small version, Newkeysm.
  923.  
  924. 3.19 Screen off/on
  925.  
  926. Macro function:    {scroff}
  927.                    {scron}
  928.  
  929. This function will cause your screen to be turned off/on in the
  930. same way as the screen blanker works.  To turn the screen back
  931. on just press any key a couple of times.  
  932.                                                               16
  933.  
  934. 3.20 Set Option
  935.  
  936. Macro function:    {set option value}
  937.  
  938. This macro function can be used to set any of the values that
  939. can be set on the "Parameters" screen.  For further information
  940. on these parameters refer to section 10.2, "Parameters".  Valid
  941. options are:
  942.  
  943. name        Values    Description
  944.  
  945. alphamsg    on off    turn alphabetic warning message on/off
  946. beepdef     on off    turn beep while defining on/off
  947. blackwht    on off    turn black and white mode on/off
  948. blnkwait    1-99      set video blank wait time to 1-99 minutes
  949. capsctrl    on off    turn enhanced keyboard caps/ctrl switch on/off
  950. click       on off    turn key click on/off
  951. curschg     on off    turn cursor change on/off
  952. defmsg      on off    turn macro defined message on/off 
  953. descmsg     on off    turn description request on/off
  954. diskwait    on off    turn disk wait on/off
  955. displock    on off    turn display num/caps lock display on/off
  956. extbufer    on off    turn extended buffer on/off
  957. fastdlay    1-18      set fast key delay to 1-18
  958. fastkey     on off    turn fast key mode on/off
  959. fastrate    1-99      set fast key rate to 1-99
  960. newkey      on off    turn Newkey on/off
  961. overwrit    on off    turn load/save file overwrite warning on/off
  962. printer     1-3       set printer to lpt1, lpt2, lpt3
  963. scrblank    on off    turn screen blanker on/off
  964. shiftsta    on off    turn shift status reset on/off
  965. shortcap    on off    turn shorthand capitalization on/off
  966. shrthand    on off    turn shorthand mode on/off
  967. singstep    on off    turn single step mode on/off
  968. slowrate    1-255     set slow typing rate to 1-255
  969. slowtype    on off    turn slow typing mode on/off
  970. statline    on off    turn status line display on/off
  971. statpos     0-24      set status line position
  972. videoio     on off    turn video i/o restore screen on/off
  973. zerofill    on off    turn zero fill date on/off
  974.  
  975. The following set options are used in display and menu macros
  976. and are usually entered by the display and menu macro editors:
  977.  
  978. bgcolor     0-7      set background color to 0-7
  979.                                                               17
  980.  
  981. border     on off   turn border on/off
  982. bordtype    0-3      set border type to 0-3
  983. fgcolor     0-15     set foreground color to 0-15
  984.  
  985. for example:
  986.  
  987.     {set slowtype on}    turns slow typing mode on
  988.     {set slowrate 3}     sets slow typing rate to 3
  989.     {set scrblank off}   turns screen blanking off
  990.     {set curschg off}    turns off cursor change
  991.  
  992. 3.21 Control Caps, Num, and Scroll Shift States  
  993.  
  994. Macro function:    {capsoff}    {numoff}     {scrloff}
  995.                    {capson}     {numon}      {scrlon}
  996.                    {capsrest}   {numrest}    {scrlrest}
  997.                    {capssave}   {numsave}    {scrlsave}
  998.  
  999. The functions ending with 'on' and 'off' will turn the caps, num,
  1000. and scroll shift states on and off.  The functions ending with
  1001. 'save' and 'rest' will save and restore the shift states.
  1002.  
  1003. The restore and save functions allow you to preserve the current
  1004. shift state, switch into the desired state, and when done restore
  1005. the previous state.
  1006.  
  1007. 3.22 Slow Typing Mode
  1008.  
  1009. Macro function:    {slowoff}
  1010.                    {slowon}
  1011.  
  1012. These functions will turn slow typing mode on and off.  For
  1013. further information, refer to section 4.6, "Slow Typing Mode".
  1014.  
  1015. 3.23 Time Delay
  1016.  
  1017. Macro function:    {wait MM:SS:HH}
  1018.  
  1019. Macro playback may be delayed for up to 99 minutes, 99
  1020. seconds, and 99 hundredths of a second.  During playback the
  1021. cursor will become a fat bar in the middle of the line.
  1022.  
  1023. Time delays are used when your application program can not
  1024. handle keys returned at Newkey's normal rate.  In these cases, it
  1025. is necessary to give the program some breathing room, otherwise
  1026.                                                               18
  1027.  
  1028. it will throw keys away.  It can also be used for those situations
  1029. in which a delay is necessary in order to wait for some external
  1030. event to occur (a remote site to respond to your communications
  1031. requests, for example).
  1032.  
  1033. 3.24 Variable Length Fill-in-the-Blanks
  1034.  
  1035. Macro function:    {vfld}
  1036.  
  1037. Newkey provides you with the ability to define variable length
  1038. fill-in-the-blanks fields within macros.  When one of these is
  1039. encountered during playback, Newkey will stop playback and wait
  1040. for the user to enter any keystrokes he wishes.  Newkey will
  1041. continue to accept keystrokes until the <enter> key is pressed,
  1042. when normal playback will continue.  To define a variable length
  1043. fill-in-the-blanks field follow these steps:
  1044.  
  1045.     1.  Press <ctrl[>.  The cursor will change from a full block to
  1046.     half block with its bottom missing and the mode in the status
  1047.     line will change from "TEXT" to "VAR".
  1048.  
  1049.     2.  Enter whatever keystrokes you wish.
  1050.  
  1051.     3.  Press <ctrl[>.  The cursor will change back to a full
  1052.     block and the mode in the status line will change from "VAR"
  1053.     to "TEXT".
  1054.  
  1055. For example, suppose you frequently started a letter with "My
  1056. dear John (Frank, Susan, etc.) it is now time", you might wish to
  1057. define one macro to mean "My dear xxxxxx it is now time".  To
  1058. do this you would follow these steps:
  1059.  
  1060.     1.  Press <alt=> to start macro definition.
  1061.     2.  Press <altl>, the key you wish to define.
  1062.     3.  Press <enter> to bypass the description.
  1063.     4.  Type "My dear ".
  1064.     5.  Press <ctrl[> to start variable length field.
  1065.     6.  Type in any name, although it is not necessary to the
  1066.     definition.
  1067.     7.  Press <ctrl[> to end variable length field.
  1068.     8.  Type in " it is now time".
  1069.     9.  Press <alt-> to end macro definition.
  1070.  
  1071. Now if you were to press <altl>, "My dear " would be
  1072. displayed and Newkey would wait for you to enter a name. 
  1073.                                                               19
  1074.  
  1075.  
  1076. Once you had entered a name and pressed the <enter> key,
  1077. the Newkey would continue with " now is the time".
  1078.  
  1079. 3.24.1 Ending a Variable Pause Without Actually Typing the
  1080. Pause End Key
  1081.  
  1082. Variable length pauses will end automatically if the last key in a
  1083. macro is the pause end key (<enter>) and that macro is
  1084. invoked during the variable length pause.  For example:
  1085.  
  1086.     <altf> is defined as "xxx<vfld>end"
  1087.  
  1088.     <altg> is defined as "yyyy<enter>"
  1089.  
  1090. If you were to press <altf>, "xxx" would be returned, Newkey
  1091. would enter the variable pause and wait for you to enter text.  If
  1092. you now pressed <altg>, "yyyy" would be returned and since
  1093. <enter> is the last key in the macro, Newkey will end the
  1094. variable length pause in <altf> and return "end".
  1095.  
  1096. 3.25 Wait for key
  1097.  
  1098. Macro function:    {waitany}
  1099.                    {waitanyk}
  1100.                    {wait4key keyname}
  1101.  
  1102. The {waitany} function will stop playback and wait for any key to
  1103. be pressed.  The keystroke will be discarded and execution will
  1104. continue.
  1105.  
  1106. The {waitanyk} function is identical to the {waitany} function
  1107. except that the keystroke will not be discarded.  Instead, it will be
  1108. left in the keyboard's buffer.
  1109.  
  1110. The {wait4key keyname} function will stop playback and wait for
  1111. the specified key to be pressed before execution continues.  The
  1112. keystroke will be discarded.
  1113.  
  1114. These functions are especially useful in combination with the
  1115. display macros.
  1116.                                                               20
  1117.  
  1118.                    CHAPTER 4 - CONTROLLING MACRO EXECUTION
  1119.  
  1120.  
  1121. Newkey offers many methods of controlling how and when
  1122. macros will be executed.  You can permanently unload Newkey
  1123. or just turn if off for the next keystroke.  You can slow macro
  1124. playback to a crawl or let it zip along.  These methods and more
  1125. are discussed below.
  1126.  
  1127. 4.1 Switching Newkey Off/On
  1128.  
  1129. Newkey may be deactivated/activated by pressing <ctrl6>.  This
  1130. acts as a toggle switching Newkey from one status to another. 
  1131. When deactivated, Newkey is still resident in memory, but will not
  1132. playback any macros.
  1133.  
  1134. 4.2 Playback Bypass
  1135.  
  1136. Macro playback may be bypassed by pressing <ctrl2> followed
  1137. by the key desired.  This is the same procedure used to enter a
  1138. playback bypass key during macro definition described in section
  1139. 4.2, "Playback Bypass".
  1140.  
  1141. 4.3 Inactivated Macros 
  1142.  
  1143. Sometimes you may wish to turn off a macro for an extended
  1144. period of time.  Rather than continually pressing the playback
  1145. bypass key described in the previous section it would be easier
  1146. to temporarily inactivate the key.  Newkey now allows you to do
  1147. this by displaying the key's macro and pressing 'I'. 
  1148.  
  1149. Inactivated macros will be marked by a 'I' in the status field when
  1150. displaying the macro directory.  To reactivate the macro follow
  1151. the same steps, but press 'A' instead of 'I' when displaying the
  1152. macro.  Unlike guarded macros, inactivated macros will not be
  1153. saved to macro files as inactivated macros.   
  1154.  
  1155. 4.4 Cancel Newkey Processing
  1156.  
  1157. Newkey processing may be canceled at anytime by pressing the
  1158. cancel key, <ctrldel>.  This feature will immediately cancel macro
  1159. playback or definition and clear the keyboard buffer.  This is
  1160. especially useful for ending macros which call themselves or long
  1161. macros using slow typing mode or time delays.
  1162.                                                               21
  1163.  
  1164. 4.5 Unload and Reclaim Memory
  1165.  
  1166. Type in "Newkeysp /u" and press <enter>.  This function will
  1167. unload Newkey completely from the system and free up its
  1168. memory for reuse.  Caution must be exercised in using this
  1169. feature.  If another program has been permanently loaded after
  1170. Newkey, then its storage will also be freed.  
  1171.  
  1172. This function will not always free up Newkey's storage if it is
  1173. executed from a batch file (unless it is the last command).  Some
  1174. versions of DOS will not always free the storage, even though
  1175. they report that they did.  If this occurs, try loading and
  1176. unloading Newkey again.  This will sometimes free the old
  1177. storage as well as the new.
  1178.  
  1179. 4.6 Slow Typing Mode
  1180.  
  1181. Newkey may be operated in a special slow typing mode.  This
  1182. mode is provided because some programs cannot handle the
  1183. fast rate at which Newkey normally returns keys, with the result
  1184. that the keys are discarded.  By operating in slow typing mode,
  1185. you can give these programs enough time to complete their
  1186. tasks before being fed the next key.  Macro execution may also
  1187. be delayed by using the time delay function described in section
  1188. 3.5, "Time Delay".
  1189.  
  1190. Newkey comes with slow typing mode turned off, but this may be
  1191. changed by using Newkeysp, through the pop-up menus, or from
  1192. within a macro itself using the {set slowtype on} and {set
  1193. slowtype off} functions.
  1194.  
  1195. 4.6.1 Setting Slow Typing Speed
  1196.  
  1197. You may change the amount of time Newkey will wait between
  1198. keystrokes.  This value divided by 18 gives you the number of
  1199. seconds between each keystroke.  Legal values are 1 (.05
  1200. second) to 255 (14 seconds).  Newkey comes with this delay
  1201. value set to 1.  To change select "Parameters" on the Newkeysp
  1202. menu or Newkey's pop-up menu.  The slow typing speed may
  1203. also be set within a macro by using the {set slowrate xx} macro
  1204. function.
  1205.                                                               22
  1206.  
  1207. 4.7 Single Step Macro Playback
  1208.  
  1209. Macro playback may be put in a special single step mode in
  1210. which Newkey will wait for you to press any key before returning
  1211. the next keystroke in your macro back to the calling program. 
  1212. This feature can be very useful in debugging a complicated
  1213. macro.  
  1214.  
  1215. Two caveats are in order: first, use of the single step features
  1216. eliminates certain timing problems that might be experienced if
  1217. playback were allowed to occur at its normal rate.  So if playback
  1218. in single step mode works correctly, but it doesn't in normal
  1219. mode you are probably encountering a timing problem which can
  1220. be solved by inserting time delays or turning on slow typing
  1221. mode at appropriate spots in your macro.  For more information
  1222. on these refer to section 4.6, "Slow Typing Mode", and section
  1223. 3.5, "Time Delay".
  1224.  
  1225. The second caveat is that you may notice that you must press a
  1226. key more than once before your program appears to take any
  1227. action on the first keystroke.  This is because some programs
  1228. (DOS included) will issue a second keyboard read before acting
  1229. on the first keystroke.  If this occurs, just keep pressing keys until
  1230. you notice some action taking place.  Usually it will not take
  1231. more than one or two more presses.
  1232.  
  1233. 4.8 Disk Wait During Macro Playback 
  1234.  
  1235. Newkey will now allow you to delay macro playback while a
  1236. program is accessing your floppy disk drives.  This is important
  1237. because some programs will throw away keystrokes while your
  1238. floppy disk drives are spinning.
  1239.  
  1240. Newkey comes with disk wait mode turned off, but this may be
  1241. changed by using Newkeysp, through the "Parameters" screen, or
  1242. from within a macro itself using the {set diskwait on} and {set
  1243. diskwait off} functions.
  1244.                                                               23
  1245.  
  1246.                CHAPTER 5 - EDITING MACROS
  1247.  
  1248.  
  1249. You may display and edit macros at any time, even while you are
  1250. defining them.
  1251.  
  1252. 5.1 Display Directory and Descriptions
  1253.  
  1254. Select the "Display directory and descriptions" option on the pop-
  1255. up menu screen.  A directory of all macros that have been
  1256. defined, their status, and one line's worth of their associated
  1257. descriptions will be displayed.  If the macro has not been given a
  1258. description Newkey will display part of the macro's translation. 
  1259. Possible values in the status field are:
  1260.  
  1261.     G    Guarded macro
  1262.     I    Inactive macro
  1263.  
  1264. 5.2 Displaying a Macro
  1265.  
  1266. To display a macro, display the macro directory as described in
  1267. the previous section and press that macro's key.  To see a multi-
  1268. character macro, display the macro directory, press enter, type in
  1269. the multi-character macro name you wish to display, and press
  1270. <enter>.
  1271.  
  1272. 5.3 Editing a Macro 
  1273.  
  1274. To edit a macro, display it using one of the methods described
  1275. in the previous sections and then press 'e' to enter edit mode. 
  1276. Editing is always done in insert mode.  With the following
  1277. exceptions your keystrokes will be translated into their ascii
  1278. equivalent:
  1279.  
  1280.     Back tab - move 5 keystrokes to the left 
  1281.  
  1282.     Bksp - delete keystroke at left of cursor position 
  1283.  
  1284.     Cursor keys - move cursor 
  1285.  
  1286.     Del - delete keystroke at current cursor position 
  1287.  
  1288.     F1 - escape editor's command key processing
  1289.  
  1290.                                                               24
  1291.  
  1292.     F2 - insert one of Newkey's special macro functions
  1293.     described in Chapter 3.
  1294.  
  1295.     F3 - perform one of the following commands
  1296.  
  1297.         - copy another macro in 
  1298.         - move another macro in 
  1299.         - capture the keyboard buffer 
  1300.  
  1301.     F4 - edit current macro as a display macro
  1302.  
  1303.     F10 - stop editing.  You will be asked whether you want to
  1304.     save your changes.
  1305.  
  1306.     Pgdn - scroll screen down 
  1307.  
  1308.     Pgup - scroll screen up 
  1309.  
  1310.     Tab - move 5 keystrokes to the right 
  1311.  
  1312. 5.3.1 Escaping Editor Command Key Processing
  1313.  
  1314. Sometimes you may want to insert a key that is normally treated
  1315. as a command to the editor.  To do this press <F1> followed by
  1316. the desired key to "escape" the editor's command key
  1317. processing.  For example:
  1318.  
  1319. Pressing     Action taken    Pressing    Action taken
  1320. <F1><lft>    inserts <lft>    <lft>      moves cursor 
  1321. <F1><F2>     inserts <F2>     <F2>       displays menu
  1322. <F1><F1>     inserts <F1>     <F1>       starts escape
  1323.  
  1324. By pressing <F1> first you are telling the editor not to do
  1325. anything special with the next key, just insert it into the macro
  1326. being edited.
  1327.  
  1328. 5.3.2 Copying/Moving a Macro
  1329.  
  1330. Start editing the target macro and move the cursor to the point
  1331. at which the selected macro is to be copied/moved in.  Press F3
  1332. to bring up the special functions screen.  Select the "copy
  1333. outside macro" or "move outside macro" option.  You will be
  1334. prompted for the macro to be copied/moved.
  1335.                                                               25
  1336.  
  1337. 5.3.3 Copying the Keyboard Buffer
  1338.  
  1339. Follow the same steps as described in section 5.3.2 but select
  1340. the "copy keyboard buffer" option instead.  This option will copy
  1341. the last 128 keystrokes typed into the macro being edited.
  1342.  
  1343. 5.4 Deleting a Macro
  1344.  
  1345. Macros may be deleted in two ways:
  1346.  
  1347. 1. Undefine the macro.
  1348.  
  1349.     a. Start the normal macro definition process (<alt=>).
  1350.     b. Press the key you wish to undefine.
  1351.     c. Press <enter> to skip the description request.
  1352.     d. Press <alt-> to end macro definition.
  1353.  
  1354. 2.  Display the macro using the "Display Macro" option and press
  1355. "d" to delete the macro. 
  1356.  
  1357. 5.5 Editing Using a Text Editor
  1358.  
  1359. You may also edit a saved macro file using a text editor or word-
  1360. processor capable of editing ascii files.  This is a slightly more
  1361. error prone process than using Newkey's built-in macro editor,
  1362. but if you follow the following rules you should not have any
  1363. problems.
  1364.  
  1365. 1.  All macro definitions must begin with "{begdef macroname}"
  1366. and end with "{enddef}".
  1367.  
  1368. 2.  All single characters may be placed in the macro without the
  1369. surrounding carats.
  1370.  
  1371. 3.  To define a macro within a macro, enter a "{begdef
  1372. macroname}" followed by the key you wish to define.  Do not
  1373. end it with an "{enddef}".
  1374.  
  1375. 4.  Descriptions must be in the lines preceding the macro's
  1376. {begdef} and must begin with a "*".  There is no limit on a
  1377. description's length.
  1378.  
  1379. All non-single character keys may be in upper or lower case.  All
  1380. characters in between macro definitions will be ignored.  This
  1381. allows you to document the macro definitions if desired.
  1382.                                                               26
  1383.  
  1384.           CHAPTER 6 - ADVANCED MACRO FEATURES
  1385.  
  1386.  
  1387. Many of these features are illustrated in the sample macro file,
  1388. example.key and the guided tour (see section 1.3, "Guided
  1389. Tour").
  1390.  
  1391. 6.1 Defining a Multi-Character Macro
  1392.  
  1393. Newkey allows you to define macros with names up to 8
  1394. characters in length.  This allows you to assign meaningful
  1395. names to your macros, names that you will remember.  For
  1396. example, you might have a macro named "sales" that will
  1397. generate your sales report or a macro called "address" that will
  1398. take the address out of a letter in your word processor and print
  1399. it on an envelope.
  1400.  
  1401. To define a multi-character macro, follow the same steps as
  1402. described in "Defining a Macro", except at the point where you
  1403. would normally enter the key to be defined press <enter>
  1404. instead.  Then type the name you have chosen and press
  1405. <enter> when you are done.  Macro definition will then continue
  1406. as normal.
  1407.  
  1408. Macro names must be between 2-8 characters in length and can
  1409. be any combination of alphanumeric and some special
  1410. characters.
  1411.  
  1412. 6.2 Playing back a Multi-Character Macro
  1413.  
  1414. To playback a multi-character macro, press <alt,>.  A window
  1415. will open up asking you to enter the name of the multi-character
  1416. macro you wish to playback.  Once you have keyed in the name,
  1417. press <enter> and playback will occur just as it would if you
  1418. had pressed a normal macro key.
  1419.  
  1420. If you request a multi-character playback while defining another
  1421. macro and you do not have a macro defined with that name, the
  1422. following message will be displayed:
  1423.  
  1424.              "Macro not found - save in current definition? (y/n)"
  1425.  
  1426. If you wish to save the name in the macro definition even though
  1427. it does not yet exist, press "y".  This option allows you to define
  1428. multi-character macros which call themselves or which you plan
  1429.                                                               27
  1430.  
  1431. to define later. 
  1432.  
  1433. Except for the methods of defining and playing back, multi-
  1434. character macros will function just as regular macros do.
  1435.  
  1436. 6.3 Shorthand Mode
  1437.  
  1438. An alternate method of playing back multi-character macros is
  1439. provided through Newkey's shorthand mode.  In shorthand mode
  1440. Newkey watches your keystrokes as you type and when they
  1441. match the name of a multi-character macro, replaces them with
  1442. the multi-character macro.  For example, in preparing this manual
  1443. I defined a multi-character macro called "ne" to be "Newkey". 
  1444. Then, whenever I typed "ne", Newkey was substituted for the "ne".
  1445.  
  1446. Newkey will not recognize a macro name until you have
  1447. completely typed it in and then pressed a key which cannot be
  1448. part of a macro name to delimit it.  This can be any key except
  1449. for the standard alphanumeric character set.  This ensures that
  1450. Newkey will not interpret an imbedded character string as a
  1451. macro.  The key that you press to end the macro should be the
  1452. key that you would normally press after the macro had executed. 
  1453. Newkey will save the key and return it after the macro has
  1454. finished.
  1455.  
  1456. If you do not wish the delimiter key to be returned after the
  1457. macro has finished then you may press the shorthand delimiter
  1458. key.  This key defaults to '\', but may be changed by selecting
  1459. "control Keys" on the main menu.
  1460.  
  1461. For example, if "ne" is defined as "Newkey":
  1462.  
  1463. typing            yields
  1464. plane             - no playback
  1465. nest              - no playback
  1466. honest            - no playback
  1467. ne<space>         - "Newkey "
  1468. ne is the best    - "Newkey is the best"
  1469. I love ne.        - "I love Newkey."
  1470. ne\sp is useful.  - "Newkeysp is useful"
  1471.  
  1472. Be careful in choosing macro names.  It can be very mysterious
  1473. to be typing along and all of a sudden have your computer take
  1474. off on its own when you least expect it.
  1475.                                                               28
  1476.  
  1477. 6.3.1 Capitals in Shorthand Mode
  1478.  
  1479. Multi-character macro names are case insensitive.  They are
  1480. always translated to lower case no matter how you enter them. 
  1481. This poses a potential problem in shorthand mode since in many
  1482. cases you might not want the upper case macro name to cause
  1483. macro playback.  For example, I might want to type "NE" for
  1484. Nebraska rather than for "Newkey", yet if Newkey automatically
  1485. translated "NE" to lower case and then executed the "ne" macro I
  1486. would be frustrated in my intention.  True, I could always press
  1487. <ctrl2>, the playback bypass key, but this would soon become
  1488. very tiresome.
  1489.  
  1490. To help alleviate this situation, Newkey offers the ability to control
  1491. whether macro names with any capitalized letters should be
  1492. treated as real macros or ignored.  To turn this on/off select the
  1493. "Upper case short hand" parameter on the "Parameters" screen
  1494. described in section 10.2.
  1495.  
  1496. There is one exception to Newkey's capitalization rules.  If you
  1497. capitalize the first character in the multi-character name Newkey
  1498. will capitalize the first character in your macro.  This means that
  1499. you can start a sentence with the macro and have the first word
  1500. capitalized.  This feature will only work if the "Upper case short
  1501. hand" parameter is off and only the first character in the macro
  1502. name is capitalized.
  1503.  
  1504. 6.3.2 Controlling Shorthand Mode
  1505.  
  1506. You may control shorthand mode as follows:
  1507.  
  1508. 1.  Turning shorthand mode off/on.
  1509. 2.  Turning Newkey off/on.
  1510. 3.  Pressing <ctrl2>, the playback bypass key either just before,
  1511. during, or just after typing the macro will cause the macro
  1512. playback to be ignored.  For example, 
  1513.  
  1514. typing            yields
  1515. <ctrl2>ne         ne
  1516. n<ctrl2>e         ne
  1517. ne<ctrl2>         ne
  1518.  
  1519. 4.  Inactivating the macro will suppress it until you reactivate it
  1520. again.
  1521.                                                               29
  1522.  
  1523. 6.3.3 Shorthand Mode Backspacing
  1524.  
  1525. When Newkey recognizes a multi-character macro it causes your
  1526. program to backspace back over the macro name by feeding it
  1527. the appropriate number of backspace keys required to erase the
  1528. macro name and then feeding it the contents of the macro.
  1529.  
  1530. For most programs the regular backspace key works well enough
  1531. to erase the macro name, but if it does not for your program
  1532. Newkey offers you the ability to change the key that will be used
  1533. for backspacing.  Just follow the instructions in section 10.2,
  1534. "Parameters", to update the "shorthand backspace" key.  You can
  1535. even assign a macro to the key you select.
  1536.  
  1537. 6.3.4 Shorthand Mode Restrictions
  1538.  
  1539. Shorthand mode will not work when you are:
  1540.  
  1541. 1.  Defining a macro.
  1542. 2.  Playing back a macro.
  1543. 3.  Newkey is inactive.
  1544. 4.  Shorthand mode is turned off.
  1545. 5.  Any part of the macro name is entered in upper-case and the
  1546. shorthand capitalization feature is turned off.
  1547.  
  1548. If you want to invoke a multi-character macro during definition or
  1549. playback you should use the standard method of invoking them
  1550. described in Section 6.2, "Playing back a multi-character macro".
  1551.  
  1552. 6.4 Nested Macro Playback
  1553.  
  1554. Newkey will translate macros within macros down to 8 levels. 
  1555. For example, assume the following macros have been defined as
  1556. follows:
  1557.  
  1558.     <alt1> = level 1 <alt2>
  1559.     <alt2> = level 2 <alt3>
  1560.     <alt3> = level 3 <alt4>
  1561.     <alt4> = level 4 <alt5>
  1562.     <alt5> = level 5 <alt6>
  1563.     <alt6> = level 6 <alt7>
  1564.     <alt7> = level 7 <alt8>
  1565.     <alt8> = level 8 <alt9>
  1566.     <alt9> = level 9 <alt0>
  1567.                                                               30
  1568.  
  1569. When <alt1> is pressed, Newkey will check each character
  1570. returned ("L", "e", "v", "e ", "l"," ","1","<alt2>") to see if they too
  1571. have been defined and if so, will return their translation.  Newkey
  1572. will find that <alt2> has been defined and will check its definition
  1573. for further translation to a depth of 8 levels.  At the eighth level,
  1574. Newkey stops checking and returns that translation without
  1575. further checking.  In this case, Newkey will return "level 1 level 2
  1576. level 3 level 4 level 5 level 6 level 7 level 8 <alt9>".
  1577.  
  1578. Try it out.  Define <alta> as "calling", <altb>.  Now define
  1579. <altb> as " altb".  Press <alta>.
  1580.  
  1581. 6.4.1 Recursion
  1582.  
  1583. If at any time Newkey detects a recursive or circular macro
  1584. definition which would result in an infinite playback loop (a=b,
  1585. b=c, c=a for example), it will display the following message in
  1586. reverse video:
  1587.  
  1588.                   RECURSION DETECTED - PRESS ESC TO CONTINUE
  1589.  
  1590. Press the ESC key to continue.  The key for which recursion was
  1591. detected will be returned untranslated.
  1592.  
  1593. 6.5 Defining Macros From Within Macros
  1594.  
  1595. To define a macro from within a macro, just press the <alt=>
  1596. key and Newkey will start defining a new macro just as if you
  1597. had not been already been defining a macro.  When you are
  1598. done defining the new macro, end it as you would normally
  1599. (<alt->), and you will take up where you left off defining the
  1600. original macro.
  1601.  
  1602. Now when you playback the second macro, Newkey will return
  1603. what you just defined it to.  If you playback the original macro, it
  1604. will stop at the point where you requested it to begin defining the
  1605. second macro and start a new definition for the second macro. 
  1606. This definition will continue until you end it (<alt->), just as you
  1607. would if you had started it yourself.
  1608.  
  1609. The only difference between defining a macro from within another
  1610. macro's playback versus defining it in the normal manner is that
  1611. the Newkey window and warning messages will not be issued if
  1612. the definition is coming from within a playback.
  1613.                                                               31
  1614.  
  1615. Try out the following example:
  1616.  
  1617. 1.  Press <alt=>.    (start <alta> definition)
  1618. 2.  Press <alta>.
  1619. 3.  Press <enter> to skip description.
  1620. 4.  Type "alta defining altb ".
  1621. 5.  Press <alt=>.    (start <altb> definition)
  1622. 6.  Press <altb>.
  1623. 7.  Press <enter> to skip description.
  1624. 8.  Type "altb here!"
  1625. 9.  Press <alt->.    (end <altb> definition)
  1626. 10. Type "- altb now defined"
  1627. 11. Press <alt->.    (end <alta> definition)
  1628.  
  1629. Now press <altb>.  "altb here!" should be returned.  Press
  1630. <alta>.  "alta defining altb " will be returned and Newkey's
  1631. macro definition mode (cursor change, status line) activated. 
  1632. Type "new altb definition" followed by <alt->.  Now press
  1633. <altb>.
  1634.  
  1635. 6.6 Macro May Call Itself
  1636.  
  1637. In certain special circumstances, a macro can call itself.  In order
  1638. for this to occur, the macro must call itself as the last thing it
  1639. does before ending.  To invoke this feature, follow these steps:
  1640.  
  1641. 1.  Start defining your macro and when you reach the end, press
  1642. the key you are defining.
  1643.  
  1644. 2.  Newkey will display a recursion detected message.  Press
  1645. <esc> to exit this message.
  1646.  
  1647. 3.  End the defining process as you would normally (<alt->).
  1648.  
  1649. Now the recursive macro is ready to go.  Just press the key you
  1650. defined and watch it go.  To stop the playback press the Newkey
  1651. cancel key, <ctrldel>.
  1652.  
  1653. Warning
  1654.  
  1655. Be careful how you use this feature.  If you create a macro
  1656. without a pause, time delay, or using slow typing mode, you may
  1657. find that you have created a monster.  Newkey will feed keys to
  1658. your program at a rate beyond your ability to control.  You can
  1659. always stop the playback using the cancel key, but your reaction
  1660.                                                               32
  1661.  
  1662. time will probably not be fast enough to stop at the point you
  1663. wish.
  1664.  
  1665. For this reason, we recommend that all recursive macros include
  1666. a pause or turn on slow typing mode for a portion of the macro
  1667. (Most of the time you will probably want to do this anyway.)
  1668.  
  1669. 6.7 Invoking Newkey From its Own Macros
  1670.  
  1671. Subject to the limitations discussed below in section 6.7.1,
  1672. "Scope of Macro Definition and Playback", Newkey and Newkeysp
  1673. can be called from Newkey's own macros.  
  1674.  
  1675. To invoke Newkey's pop-up menu features follow these steps:
  1676.  
  1677. 1.  Start your macro definition.
  1678. 2.  Call up the pop-up menu.
  1679. 3.  Toggle the "Record mode" option on.
  1680.  
  1681. Now your keystrokes will be captured in the macro.
  1682.  
  1683. 6.7.1 Scope of Macro Definition and Playback
  1684.  
  1685. Except for rare compatibility problems with other software (see
  1686. section 16.7, "Software Compatibility")  Newkey's macros can be
  1687. used with any other application or program, even to do Newkey
  1688. functions themselves.   Although most of the pop-up functions
  1689. can be done through special purpose macro functions, there are
  1690. still occasions where it would be useful to invoke Newkey using
  1691. its own macros.  For example, a macro could be created that
  1692. would pop-up the cut function with one keystroke.
  1693.  
  1694. 6.8 Cut and Paste 
  1695.  
  1696. Newkey allows you to "cut" information off of your current screen
  1697. and then "paste" it into another application.  For example, you
  1698. could cut a cost/benefits analysis from your spreadsheet and
  1699. paste it into a report you are preparing on your word-processor.
  1700.  
  1701. 6.8.1 Cutting
  1702.  
  1703. To cut a piece of your screen, invoke the pop-up features and
  1704. select the "cut" option.  Your screen will be redisplayed.  Move
  1705. the cursor to the point where you wish to start cutting and press
  1706. the <home> key to start marking.  
  1707.                                                               33
  1708.  
  1709.  
  1710. Now move the cursor to the opposite end of the screen block
  1711. you wish to cut and press the <end> key.  Newkey will save the
  1712. marked screen block in the macro <ctrlins> and return you to
  1713. the main pop-up menu.
  1714.  
  1715. You may change the key the cutting is assigned to by pressing
  1716. <F1>.  You will be prompted for a new macro name.
  1717.  
  1718. 6.8.2 Pasting
  1719.  
  1720. Once you have successfully cut a part of the screen, you may
  1721. paste it into another application by playing back the macro to
  1722. which the screen was cut.  Unless otherwise specified, <ctrlins>
  1723. will receive the cutting.
  1724.  
  1725. A cutting can use up to 2k of your macro buffer, so you may find
  1726. it useful to delete the <ctrlins> macro once you are done with it
  1727. (see section 5.4, "Deleting a Macro").
  1728.  
  1729. 6.8.3 Cut and Paste Line End Key
  1730.  
  1731. When you cut from the screen, a line end key is appended to
  1732. each line.  This line end key defaults to <enter> and identifies
  1733. the end of the line to the program into which the cutting is
  1734. pasted.  Usually this is best for word processors and text editors,
  1735. but for some other programs a different line end key may work
  1736. better.  In these cases, the line end key may be changed by
  1737. selecting the "control Keys" on the pop-up menu and updating
  1738. the "cut and paste line end key".
  1739.                                                               34
  1740.  
  1741.               CHAPTER 7 - DISPLAY MACROS
  1742.  
  1743.  
  1744. Display macros will open up a window on your screen and
  1745. display the text you have defined for the window and wait for the
  1746. user to take some specified action, such as hitting the enter key
  1747. or filling in an input field.
  1748.  
  1749. For example, <altw> may be defined as an display macro which
  1750. prompts for a file name and then starts your word-processor with
  1751. the file name you just entered.  When you press <altw>, a
  1752. display window will pop up looking something like this
  1753.  
  1754.         
  1755.  
  1756. and Newkey will wait for you to type a file name.  When you are
  1757. finished press <enter> and the file name will be assigned to the
  1758. input macro specified and inserted into the macro you are
  1759. running.  The macro could then continue by starting up your
  1760. word-processor and retrieving the file you just specified.
  1761.  
  1762. 7.1 Creating and Editing a Display Macro
  1763.  
  1764. Editing a display macro is a two step process.  The first step
  1765. displays a menu and requests information, the second step
  1766. displays the window, allows you to enter the text to be displayed,
  1767. optionally move or resize the window, and define the input field. 
  1768. As you edit, you may toggle between steps one and two by
  1769. pressing <F1>.
  1770.  
  1771. To create or edit a display macro, select the "Display/edit
  1772. macros" option on the pop-up menu.  This will display a list of
  1773. currently defined macros.  Press the key of the macro you wish
  1774. to define or <enter> for a multi-character macro.  The macro's
  1775. definition will be displayed.  Now press 'f' to invoke the display
  1776. macro editor.  A typical screen one follows.
  1777.                                                               35
  1778.  
  1779.                                  SCREEN ONE 
  1780.  
  1781.  
  1782.  
  1783.     
  1784. Many of the fields will be filled in with default values or the values
  1785. from the macro you are editing.  These are the fields to the right
  1786. of the ':'s and filled in with italicized characters.  In the screen
  1787. above, a display macro is being defined to pop-up a window and
  1788. ask for a file name.
  1789.  
  1790. Window definition options:
  1791.  
  1792. These describe how the window will look when it pops up.
  1793.  
  1794. Field name        Value    Description
  1795. Description       text     macro's description
  1796. Starting row      0-24     top row in which to start window 
  1797. Starting column   0-79     left most column to start window
  1798. Foreground color  0-15     see appendix E for list of values
  1799. Background color  0-7      see appendix E for list of values
  1800. Height            1-25     number of lines in window
  1801.                                                               36
  1802.  
  1803. Width            1-80     number of columns in window
  1804. Border on         y/n      display border 
  1805. Border type       0-3      border type of window
  1806.                            0 = double line 
  1807.                            1 = single line 
  1808.                            2 = reverse video double line 
  1809.                            3 = reverse video single line
  1810. Beep              y/n      beep when window displayed
  1811. Clear screen      y/n      clear screen when window displayed
  1812. Cursor off        y/n      turn cursor off when window displayed
  1813.  
  1814. Restore screen options:
  1815.  
  1816. The following options signal when the screen should be restored.
  1817. Only one option should be chosen.
  1818.  
  1819. Enter pressed         y/n    wait until <enter> is pressed
  1820. Next keystroke        y/n    wait until the next key is pressed
  1821. Next key, save        y/n    wait until the next key is pressed
  1822.                              and leave the keystroke in the buffer
  1823. Next key, allow tran  y/n    wait until the next key is pressed
  1824.                              and if the key has a translation
  1825.                              associated with it, playback the
  1826.                              translation
  1827. N keystrokes          0-99   wait for specified number of keystrokes
  1828. MM:SS:HH                     wait for the specified number of
  1829.                              minutes, seconds, and hundredths
  1830.                              of a second to elapse
  1831.  
  1832. These next options apply only if "input to macro" is selected. 
  1833. The "input to macro" option will cause Newkey to wait for the
  1834. user to enter some input into the defined field.  This input will
  1835. then be assigned to the specified macro.  The input field must fit
  1836. within the window and can only be one line in height.
  1837.  
  1838. Input to macro      macro    macro to receive user input, press
  1839.                              key to receive input or type multi-
  1840.                              character macro name
  1841. Starting row        0-24     top row in which to start input row
  1842. Starting column     0-79     left most column to start input field
  1843. Width               1-80     number of columns in input field
  1844. Immediate playback  y/n      playback input macro immediately
  1845.                              after the screen is restored
  1846.                                                               37
  1847.  
  1848. The following keys will cause these actions:
  1849.  
  1850. F1-Next: move to screen two 
  1851. F2-Regular Edit: edit the macro as if it were a regular macro
  1852. <ESC>-cancel: cancel editing 
  1853.  
  1854. The sample window displayed on the right will display the
  1855. options of the window you are defining.
  1856.  
  1857.                                   SCREEN TWO
  1858.  
  1859.         
  1860.  
  1861. Screen 2 will display the window you defined in screen 1 and
  1862. allow you to enter the text to be displayed.  Just type the text
  1863. where you would like to see it displayed.  In the screen displayed
  1864. above a message requesting a file name has been typed in.  The
  1865. shaded area identifies the input field which will be used for the
  1866. filename.  While on screen 2 you can take the following actions:
  1867.  
  1868. F1-Back: Goto screen one
  1869.                                                               38
  1870.  
  1871.  
  1872. F2-Mark input field: Use the cursor to set the starting row,
  1873. starting column, and width of the "input to macro" field.  If an
  1874. "input to macro" field was not defined on screen 1, you will be
  1875. prompted for the macro to be used.
  1876.  
  1877. F3-Move Window: Use the cursor to move the window to a
  1878. different position on the screen.
  1879.  
  1880. F4-Mark Window: Use the cursor to change the window's
  1881. starting row, column, height, and width.
  1882.  
  1883. F10-Save: Save the edited macro.
  1884.  
  1885. <ESC>-Cancel: Cancel editing the macro.
  1886.  
  1887. 7. Suggestions on Creating and Editing
  1888.  
  1889. When initially creating a display macro, you may find it easiest to
  1890. immediately move to screen 2 and then use the "mark window"
  1891. and "mark input field" options to build the window.  This will allow
  1892. you to see exactly where the window and input field will be
  1893. displayed on the screen.  Now enter the window's text.  When
  1894. you are finished go back to screen one by selecting "back" and
  1895. select the other window options desired.  When you are done,
  1896. go to screen 2 and check the window.  When you are satisfied
  1897. with its appearance select "save" on screen 2.
  1898.                                                               39
  1899.  
  1900.                            CHAPTER 8 - MENU MACROS
  1901.  
  1902.  
  1903. Menu macros will open a window and display a list of selections. 
  1904. Each selection corresponds to a macro.  When a selection is
  1905. made, the associated macro is played back.  These macros can
  1906. be used to develop anything from a simpler interface for your
  1907. software to a full customized menu interface.
  1908.  
  1909. 8.1 Creating and Editing a Menu Macro
  1910.  
  1911. To create or edit a menu macro, select the "Display/edit macros"
  1912. option on the pop-up menu.  This will display a list of currently
  1913. defined macros.  Press the key of the macro you wish to define
  1914. or <enter> for a multi-character macro.  The macro's definition
  1915. will be displayed.  Now press 'm' to invoke the menu macro
  1916. editor.  A screen looking like this will be displayed (italicized
  1917. fields illustrate typical information as might be entered in a
  1918. completed screen):
  1919.  
  1920.  
  1921.                           EDITING MENU MACRO: <alt0>
  1922.   Description: Sample Menu Macro
  1923.         Title: Sample Menu Macro for Dos command line
  1924.         Macros    Exit    Macros    Exit
  1925.     1    alt1      n    11           n
  1926.     2    alt2      n    12           n
  1927.     3    alt3      n    13           n
  1928.     4    alt4      n    14           n
  1929.     5    alt5      n    15           n
  1930.     6    alt6      n    16           n
  1931.     7    alt7      n    17           n
  1932.     8              n    18           n
  1933.     9              n    19           n
  1934.     10             n    20           n
  1935.        Footer: Select option, ESC to cancel
  1936.  
  1937.            Starting row (0-24):   6               Beep (y/n):   n
  1938.                  Column (0-79):  17       Clear screen (y/n):   n
  1939.        Foreground color (0-15):  15         Cursor off (y/n):   y
  1940.                Border on (y/n):   y                 Exit key: esc
  1941.              Border type (0-3):   0
  1942.  
  1943.  
  1944.                        PGDN  PGUP  F10-Save  Esc-cancel
  1945.     
  1946.                                                               40
  1947.  
  1948. On the right hand side of the screen is a window displaying the
  1949. macros eligible for inclusion in the menu (sample macros
  1950. included for illustration).  To be eligible a macro must have a
  1951. description, because when the menu is displayed, the description
  1952. is used as the menu choice.  Although macros without
  1953. descriptions can be put in the selection list, they will not be
  1954. displayed when the menu macro is played back.  The macro list
  1955. may be scrolled up and down by the PGUP and PGDN keys.
  1956.  
  1957. The following fields may be entered:
  1958.  
  1959. Field name        Value    Description
  1960. Description       text     macro's description
  1961. Title             text     title displayed at top of menu
  1962. Macros            macro    macro to be on selection list, press key
  1963.                            or type multi-character macro name, up
  1964.                            to 20 macros are allowed
  1965. Exit              y/n      exit menu macro after playback
  1966. Footer            text     footer displayed at bottom of menu
  1967. Starting row      0-24     top row in which to start menu
  1968. Starting column   0-79     left most column to start menu
  1969. Height            1-25     number of lines in window
  1970. Width             1-80     number of columns in window
  1971. Foreground color  0-15     see appendix E for list of values
  1972. Background color  0-7      see appendix E for list of values
  1973. Border on         y/n      display border around menu
  1974. Border type       0-3      Border type of window
  1975.                            0 = double line 
  1976.                            1 = single line 
  1977.                            2 = reverse video double line 
  1978.                            3 = reverse video single line
  1979. Beep             y/n       beep when menu displayed
  1980. Clear screen     y/n       clear screen when menu displayed
  1981. Cursor off       y/n       turn cursor off when menu displayed
  1982. Exit key         key       keystroke that will cause menu to exit
  1983.                                                               41
  1984.  
  1985. 8.2 Preparing to Define a Menu Macro
  1986.  
  1987. Creating a menu macro will be made easier if some initial
  1988. preparation has already been done.  First, identify the menu
  1989. entries to be included and define a macro for each entry.  At this
  1990. point it is only really necessary to create a description for each
  1991. macro, the body can be defined later.  Keep in mind that the
  1992. description will be used as the menu selection when the menu
  1993. macro is played back.  
  1994.  
  1995. When the description is entered you may also specify a select
  1996. letter by putting a '^' in front of the letter.  Later, when the
  1997. menu macro is played back, the select letter can be used to
  1998. choose the menu selection as well as the moving bar.  Although
  1999. not necessary, it will be easier to identify the select letter if it is
  2000. capitalized or is the first letter in the description.
  2001.  
  2002. 8.3 How Menu Macros Work
  2003.  
  2004. When a menu macro is played back, a window is built with the
  2005. title at the top, the footer at the bottom, and the macro
  2006. descriptions in between.  At this point Newkey waits for a
  2007. selection to be made or the exit key to be pressed.  A selection
  2008. may be made by moving the bar to the desired choice and
  2009. pressing enter or by pressing the macro's select letter.  When a
  2010. selection is made, the associated macro will be invoked.  If the
  2011. exit option was specified for this macro control will not be
  2012. returned to the menu macro.
  2013.  
  2014. For a demonstration of menu macros see the "menu.key" file on
  2015. the Newkey disk.
  2016.                                                               42
  2017.  
  2018.             CHAPTER 9 - KEYBOARD AND SCREEN FEATURES
  2019.  
  2020.  
  2021. 9.1 Screen Saver Mode
  2022.  
  2023. The screen saver feature will blank your screen after five minutes
  2024. of inactivity.  The screen will be restored whenever you press a
  2025. key or your program writes to the screen.  This feature protects
  2026. your video terminal from "burn in" caused by prolonged display of
  2027. the same text over a long period of time.  You do not have to
  2028. worry about turning down your video when you leave your PC.
  2029.  
  2030. The screen saver may be turned off by changing the "Blank
  2031. screen" option.  This option and all of the other Screen saver
  2032. options described below may be changed by selecting the
  2033. "Parameters" option from the pop-up menu.
  2034.  
  2035. If you are have trouble restoring the screen, try pressing the alt,
  2036. ctrl, left shift, or right shift keys.  
  2037.  
  2038. 9.1.1 Blank Delay Time
  2039.  
  2040. The screen saver comes set up to wait 5 minutes before blanking
  2041. the screen, but you can change this to be any time between 1-
  2042. 99 minutes by changing the "Blank screen delay" option.
  2043.  
  2044. 9.1.2 Video I/O Restore Screen
  2045.  
  2046. Normally any type of video i/o will cause Newkey to restore your
  2047. blanked screen.  But some programs are constantly writing to
  2048. your screen, even when they are not writing anything new.  This
  2049. keeps the screen saver from working when you would usually
  2050. want it to.  If you use programs like these, you should try turning
  2051. off the "Video i/o restore screen" option.  Some versions of PC-
  2052. Write and Word Perfect do this.
  2053.  
  2054. If you are unsure about whether your program falls into this
  2055. category, start it up and then let it sit for more than 5 minutes (or
  2056. whatever you have set the blank delay time to).  If the screen
  2057. does not blank, turn the "Video i/o restore screen" option off and
  2058. repeat the process.  If the screen still does not blank you may
  2059. have an incompatible video board.
  2060.  
  2061.                                                               43
  2062.  
  2063. 9.2 Extended Keyboard Buffer
  2064.  
  2065. This option increases the size of DOS's type-ahead buffer from
  2066. 16 to 128 keystrokes.  Although it has been designed for
  2067. maximum compatibility, it's possible that it may cause problems
  2068. when run with other software, especially other memory-resident
  2069. programs.  If you are having trouble using Newkey, try turning
  2070. the "Extended Buffer" option off.  This will cause Newkey to use
  2071. DOS's normal buffer.  This option may be found by selecting the
  2072. "Parameters" on the pop-up menu.
  2073.  
  2074. 9.3 Fast Key Parameters
  2075.  
  2076. Newkey will allow you to dramatically increase the speed at
  2077. which your keyboard will repeat a key which is pressed and then
  2078. held down.  You may set both the delay before repetition will
  2079. begin and the rate at which repetition will occur.
  2080.  
  2081. To activate this feature select the "Fast key" option 
  2082. on the "Parameters" menu and set the rate and delay parameters
  2083. described below.  The best way to choose settings for these
  2084. options is to try various combinations out.  
  2085.  
  2086. Newkey helps you control this option by monitoring the state of
  2087. your keyboard buffer and refusing to insert any additional keys if
  2088. your program has not already dealt with the previous ones.  This
  2089. helps to prevent the overrun which might otherwise occur as
  2090. your keyboard buffer fills up with keystrokes that your program
  2091. cannot process.  This means that when you release the key, your
  2092. program will not receive any more unwanted keystrokes.
  2093.  
  2094. The method Newkey uses to prevent overrun does not work with
  2095. all programs.  If you find that key repetition is actually slower, try
  2096. the "Alternate fast key mode" described in section 9.3.3.
  2097.  
  2098. 9.3.1 Fast Key Delay
  2099.  
  2100. The time Newkey will wait before beginning repetition may be set
  2101. to be between 1-18 in 1/18 second intervals.  To do this select
  2102. the "Fast key delay" option on the "Parameters" menu.
  2103.                                                               44
  2104.  
  2105. 9.3.2 Fast Key Rate
  2106.  
  2107. The rate at which Newkey will repeat may be set to between 1 -
  2108. 99 characters per second.  To do this select the "Fast key rate"
  2109. option on the "Parameters" menu.
  2110.  
  2111. 9.3.3 Alternate Fast Key Mode
  2112.  
  2113. Newkey uses a special method to prevent overrun.  While this
  2114. method works for most programs, such as 1-2-3, in a few cases,
  2115. such as Wordstar 4.0, it will actually slow up repetition.  To take
  2116. care of this situation, a new parameter has been added to the
  2117. "Parameters" screen.  This new parameter, "Alternate fast key
  2118. mode", changes the way the fast key option works so that it will
  2119. work with programs such as Wordstar 4.0.
  2120.  
  2121. If you are unsure which mode works best with a specific
  2122. program, try each mode out and pick the one which works the
  2123. best.
  2124.  
  2125. 9.4 Keyboard Click  
  2126.  
  2127. Newkey now offers an optional keyboard feature that will cause a
  2128. click each time you press a key.  To turn it off/on, select the
  2129. "keyboard click" option on the "Parameters" screen.   
  2130.  
  2131. 9.5 Cap/Num Lock Indicators 
  2132.  
  2133. Newkey will display the status of your Caps and Num lock keys
  2134. in the top right hand corner of your screen.  To turn this feature
  2135. off select the "Cap/Num Lock Indicators" option on the
  2136. "Parameters" menu.
  2137.  
  2138. 9.6 Caps/ctrl Key Switch on Enhanced Keyboards
  2139.  
  2140. In order to accommodate the many requests we have received to
  2141. switch the caps and ctrl keys on the enhanced keyboard, a
  2142. "switch caps/ctrl" option has been added.  To invoke this option,
  2143. select the "switch caps/ctrl" option the "Parameters" screen.
  2144.                                                               45
  2145.  
  2146.                  CHAPTER 10 - CUSTOMIZING NEWKEY
  2147.  
  2148.  
  2149. Virtually every aspect of Newkey's operation can be customized
  2150. to accommodate your own unique hardware and software
  2151. environment.  This chapter describes how to change Newkey's
  2152. "hot" keys and parameters.
  2153.  
  2154. 10.1 Control Keys
  2155.  
  2156. The Newkey control keys are those keys which have a special
  2157. meaning to Newkey and are used to control Newkey's operation. 
  2158. These keys are:
  2159.  
  2160. Key        Description
  2161.  
  2162. <alt=>     Begin macro definition
  2163. <alt->     End macro definition
  2164. <alt,>     Playback multi-character macro
  2165. <ctrldel>  Cancel Newkey processing
  2166. <ctrlh>    Backspace and delete during macro definition
  2167. <ctrl]>    Begin/end fixed length pause
  2168. <ctrl[>    Begin/end variable length pause
  2169. <alt/>     Pop-up features request
  2170. <ctrl2>    Do not translate next key
  2171. <bks>      Shorthand backspace & correct
  2172. <\>        Shorthand delimiter key
  2173. <ctrl\>    Edit macro being defined
  2174. <ctrl6>    Newkey on/off toggle
  2175. <enter>    End variable length pause 
  2176. <ctrlins>  Default key to cut to
  2177. <enter>    Cut & paste line end key
  2178.     
  2179.  
  2180. You have complete control over which keys will be used for
  2181. these functions.  You can even deactivate them completely if you
  2182. wish!  To change them, select the "control Keys" option on the
  2183. menu screen, or type in "Newkeysp /x" and press <enter>.  This
  2184. will display the control keys and allow you to change or
  2185. completely deactivate them if desired.  Any changes will take
  2186. effect immediately.  You will then have the option of making them
  2187. permanent by updating the Newkey.exe program.
  2188.  
  2189.                                                               46
  2190.  
  2191. 10.2 Parameters
  2192.  
  2193. Newkey operates in several modes which are controlled by
  2194. various parameters.  These settings may be customized to meet
  2195. your needs.  These modes and their parameters are:
  2196.  
  2197.   Options                   Messages
  2198.  - Newkey status            - Macro already defined
  2199.  - Shorthand                - Defining alpha character
  2200.  - Upper case short hand    - Enter description request
  2201.  - Slow typing              - Defining status line
  2202.  - Slow typing delay        - Status line position
  2203.  - Disk wait                - Beep while defining
  2204.  - Single Step              - Change cursor shape
  2205.  - Shift Status Reset       - Load/save file overwrite
  2206.  - Black & White            - Cap/Num lock indicators
  2207.  - Fast key                 Other options
  2208.  - Fast key delay           - Blank screen 
  2209.  - Fast key rate            - Video i/o restore screen
  2210.  - Alternate fast key mode  - Blank screen delay
  2211.  - Keyboard Click           - Switch caps/ctrl
  2212.  - Zero fill date
  2213.  
  2214. To change them, select the "Parameters" option on the menu
  2215. screen.  This will display the parameters.  To make a change
  2216. select the number/letter of the parameter you want to change
  2217. and press it.  If it is a mode parameter, the status will be toggled
  2218. on/off.  If it is a number, the cursor will move to the selected field
  2219. and the new value can be entered.
  2220.  
  2221. These options may also be set within a macro by using the {set}
  2222. option.
  2223.  
  2224. 10.3 Black and White Mode
  2225.  
  2226. The colors Newkey normally uses were chosen for their
  2227. compatibility with monitors (amber, for example) which use the
  2228. graphics card, but display in one color.  But, just in case the
  2229. colors do not display on your monitor, a new option has been
  2230. added to Newkey.  To invoke this option, load newkey and then
  2231. type in the following:
  2232.  
  2233.    newkeysp/b
  2234.  
  2235. and press <enter>.  This will cause Newkey to toggle its display
  2236.                                                               47
  2237.  
  2238. mode into black & white.  Entering the command again will
  2239. cause the black & white mode to be toggled off.  To make these
  2240. changes permanent, select the "Parameters" option on the pop-
  2241. up screen. 
  2242.  
  2243. An alternative method is to use Newkeysp's color customization
  2244. described in section 10.6, "Customizing Colors".
  2245.  
  2246. 10.4 Customizing Macro Definition Messages
  2247.  
  2248. Much of the macro definition processing (the presence of the
  2249. window, warning messages, the description request, and status
  2250. line) can be customized to suit your preferences.  If you do not
  2251. need these aids or protection you can eliminate them and the
  2252. additional keystrokes they require.  These options are described
  2253. below.
  2254.  
  2255. 10.4.1 Macro Already Defined Warning Switch
  2256.  
  2257. Newkey will warn you when you are about to define a macro 
  2258. which has already been defined.  You will be requested to
  2259. confirm that you wish to reuse this key for a new macro.
  2260. Newkey comes with this option turned on, but you may change it
  2261. by selecting the "Macro already defined" option on the
  2262. "Parameters" menu.
  2263.  
  2264. 10.4.2 Defining Alpha Character Warning Switch
  2265.  
  2266. Newkey will warn you when you are about to define a normal 
  2267. letter (a-z) or number (0-9).  You will be requested to confirm that
  2268. you wish to actually use this key for a macro.
  2269.  
  2270. Newkey comes with this option turned on, but you may change it
  2271. by selecting the "Defining alpha character" option on the
  2272. "Parameters" menu.
  2273.  
  2274. 10.4.3 Enter Description Request Switch 
  2275.  
  2276. You have the option to turn off the "Description =" request in the
  2277. macro definition window.  When turned off, Newkey will
  2278. automatically close the window after you have entered the key to
  2279. be defined.
  2280.  
  2281. Newkey is designed to save you keystrokes and even that one
  2282. additional keystroke at macro definition time can be annoying to
  2283.                                                               48
  2284.  
  2285. some people.  To turn this off, select the "Enter description
  2286. request" option on the "Parameters" menu.
  2287.  
  2288. 10.4.4 Status Line Position
  2289.  
  2290. The macro definition status line's position may be moved to any
  2291. line on the screen by selecting the "Status line position" option
  2292. on the "Parameters" menu and choosing a number between 0 -
  2293. 24.  Usually you will want to move it to the bottom of the screen,
  2294. especially when using a program such as Lotus 123 which uses
  2295. the top line as its status line.
  2296.  
  2297. 10.5 Preventing Key Creation
  2298.  
  2299. Newkey creates several new keys which are not normally
  2300. supported by IBM.  For example, pressing shift and enter
  2301. together will normally return the same keystroke as just pressing
  2302. the enter key.  Newkey, however, returns a new key code,
  2303. <capsent>, when you press shift and enter together.  This
  2304. allows you to assign a macro to shift enter and extends the
  2305. number of keys to which you can assign macros.  Sometimes
  2306. this can cause problems because some programs will recognize
  2307. that an enter key has been struck, check to see if the shift key is
  2308. being  pressed, and if so, treat shift enter as a separate key. 
  2309. But since Newkey has already given the shift enter its own code,
  2310. the program will never recognize that shift enter has been
  2311. pressed, leaving you without a way to create a shift enter for the
  2312. program.   
  2313.  
  2314. Newkey now offers you the chance to specify a list of ignored
  2315. keys.  Any key specified on this list will be ignored by Newkey
  2316. when it is creating new key codes causing the key to revert to its
  2317. original meaning.  To put a key on the ignore list follow these
  2318. steps:  
  2319.  
  2320. 1.  Run Newkeysp. 
  2321. 2.  Select the "update Ignored keys" option. 
  2322. 3.  Select a line number and press the key you wish to ignore. 
  2323. Alternatively, you may select the last option to ignore all of the
  2324. keys that are created.
  2325.  
  2326. When you exit you will be given the option of making the change
  2327. permanent.   
  2328.  
  2329. For example, assume that your IBM AT compatible used alt ctrl /
  2330.                                                               49
  2331.  
  2332. to switch back and forth between turbo and normal mode.  Since
  2333. Newkey will normally create a new key code for both <alt/> and
  2334. <ctrl/> you will need to put both of these keys on the ignored
  2335. list.  This will let your computer recognize the alt ctrl /
  2336. combination.
  2337.  
  2338. Another possible solution in some cases is to just use Newkey to
  2339. redefine shift enter as enter.  This will work in many cases.  For
  2340. a list of key codes created by Newkey refer to appendix C of the
  2341. User's Guide.
  2342.  
  2343. 10.6 Customizing Colors 
  2344.  
  2345. Newkey now offers you the ability to customize its menu and
  2346. message colors.  To change Newkey's colors follow these steps:  
  2347.  
  2348. 1.  Run Newkeysp. 
  2349. 2.  Select the "update message cOlors" option. 
  2350. 3.  Follow the instructions on the screen. 
  2351.  
  2352. When you exit you will be given the option of making the change
  2353. permanent.   
  2354.                                                               50
  2355.  
  2356.                     CHAPTER 11 - LOADING & SAVING MACROS
  2357.  
  2358.  
  2359. This chapter describes Newkey's many options that allow you to
  2360. control the contents of your macro buffer.
  2361.  
  2362. 11.1 Save File
  2363.  
  2364. This function will save your current macros from memory in a
  2365. disk file, which may be loaded later.  If you are about to
  2366. overwrite an existing file Newkey will warn you and request a
  2367. confirmation.
  2368.  
  2369. Select the "Save file" option on the menu screen and another
  2370. screen will be displayed requesting a file name.  
  2371.  
  2372. To execute in batch mode use the following command:
  2373.  
  2374.     newkeysp filename.ext/s
  2375.  
  2376. where "filename.ext" is the name of the macro file in which you
  2377. wish to save your current macros.  The {begsave} macro
  2378. function may be used to save from within a macro being played
  2379. back.
  2380.  
  2381. 11.2 Load File
  2382.  
  2383. This function will load macros from a disk file into memory where
  2384. they can be used by Newkey.  Any previous macros in memory
  2385. will be erased (unless they have been "guarded" by Newkey's
  2386. guard function).  If you have created any new macros, Newkey
  2387. will warn you and request confirmation before continuing.
  2388.  
  2389. Select the "Load file" option on the menu screen.  Another screen
  2390. will be displayed requesting a file name.  
  2391.  
  2392. To execute in batch mode use the following command:
  2393.  
  2394.     newkeysp filename.ext/l
  2395.  
  2396. where "filename.ext" is the name of the macro file in from which
  2397. you wish to load a new set of macros.  The {begload} function
  2398. may be used to load from within a macro being played back.
  2399.  
  2400.                                                               51
  2401.  
  2402. 11.3 Merge File
  2403.  
  2404. This function will merge macros from a disk file into memory,
  2405. where they can be used by Newkey.  The previous macros in
  2406. memory will be kept.  If the same macro is defined both in
  2407. memory and in the merge file, the in-memory definition will be
  2408. retained, unless the overwrite option is specified.  If you have
  2409. created any new macros, Newkey will warn you and request
  2410. confirmation before continuing.
  2411.  
  2412. To merge, select the "Merge file" option on the menu screen. 
  2413. Another screen will be displayed requesting a file name and
  2414. whether you want to use the overwrite option.
  2415.  
  2416. To execute in batch mode use the following command:
  2417.  
  2418. newkeysp filename.ext/m          - or -
  2419. newkeysp filename.ext/m/o
  2420.  
  2421. "Filename.ext" is the name of the macro file you wish to merge
  2422. into memory.  The second form, ending in "/o", will invoke the
  2423. overwrite option.  The {begmerge} and {begmergo} functions
  2424. may be used to merge from within a macro being played back.
  2425.  
  2426. 11.4 Default Path and Extension for Macro Files
  2427.  
  2428. Newkey allows you to set a default path and extension for macro
  2429. files.  When a macro file is loaded or saved, the default path and
  2430. extension will be used to build a full file name if a partial file
  2431. name is specified.  To set the default path and extension select
  2432. the "options" choice on the Newkeysp menu.  Some examples:
  2433.  
  2434. Default path:         c:\newkey\macros
  2435. Default extension:    key
  2436.  
  2437. Loading from or saving to file    Generates
  2438.  
  2439. ed                                c:\newkey\macros\ed.key
  2440. ed.mac                            c:\newkey\macros\ed.mac
  2441. d:\macros\ed                      d:\macros\ed.key
  2442. d:\macros\ed.mac                  d:\macros\ed.mac
  2443.  
  2444.                                                               52
  2445.  
  2446. 11.5 Clear Macros
  2447.  
  2448. This function will clear all current macros from memory.
  2449.  
  2450. To invoke it select the "Clear macros" option on the menu screen. 
  2451. To execute in batch mode type in "Newkeysp /c" and press
  2452. enter.
  2453.  
  2454. 11.6 Guarded Macros
  2455.  
  2456. To protect a macro in your macro buffer from being overwritten
  2457. when loading a new macro file or from being deleted when
  2458. clearing macros from your macro buffer you can guard it.  This
  2459. will protect those macros you want to always be present from
  2460. being accidently deleted.  To guard a macro follow these steps:  
  2461.  
  2462. 1. Edit the macro 
  2463. 2. Press F2. 
  2464. 3. Select the guard option. 
  2465. 4. Stop editing. 
  2466.  
  2467. Guarded macros will be marked by a 'G' in the status field when
  2468. displaying the macro directory.  To unguard a guarded macro
  2469. just edit it and delete the {guard} function.  If at some time you
  2470. want to remove the guarded macro, display the macro and press
  2471. 'd' to delete it.
  2472.                                                               53
  2473.  
  2474.               CHAPTER 12 - NEWKEYSP OVERVIEW
  2475.  
  2476.  
  2477. Newkeysp, the Newkey Support Program, provides many features
  2478. to complement Newkey functions.  You will need to use
  2479. Newkeysp in the following situations:
  2480.  
  2481. - To perform functions from batch files
  2482. - To perform functions not available in the small version 
  2483. - To access customization features only available in Newkeysp
  2484.  
  2485. 12.1 Invoking Newkeysp
  2486.  
  2487. Newkeysp may be invoked in one of two ways:
  2488.  
  2489.     1. Type Newkeysp and press <enter>.  A menu of options will
  2490.   be displayed.
  2491.  
  2492.     2. Type Newkeysp plus one or more parameters, and
  2493.   Newkeysp will perform the requested functions.  This option is
  2494.   particularly useful in a batch file invoked at system initialization. 
  2495.   See the file "example.bat" for examples of Newkeysp's batch
  2496.   functions.
  2497.  
  2498. 12.2 Execute Multiple Newkeysp Commands
  2499.  
  2500. Newkeysp will process more than one command when invoked in
  2501. command mode.  For example,
  2502.  
  2503.     "newkeysp ed.key/l /on /ek=[ctrle]"
  2504.  
  2505. might be used to automatically load a newkey macro file, turn
  2506. newkey on, and then type a key to invoke your editor.  The only
  2507. restrictions on this feature are that only one file oriented
  2508. command may be executed and it must be first on the command
  2509. line.
  2510.  
  2511. If you should want to execute multiple commands and then enter
  2512. Newkeysp's menu mode, place "/run" at the end of the command
  2513. string.
  2514.  
  2515. 12.3 Newkeysp Batch Commands
  2516.  
  2517. To execute Newkeysp in batch mode, type "newkeysp" + one of 
  2518.                                                               54
  2519.  
  2520. the parameters below. 
  2521.  
  2522. Command      Function
  2523. /b           Toggle black & white mode 
  2524. /c           Clear current macros from memory
  2525. /d           Display macro directory
  2526. /eb          Clear Keyboard buffer
  2527. /ek=[macro]  Execute macro (see section 12.4)
  2528. filename/l   Load macros from filename
  2529. filename/m   Merge macros from filename
  2530. /off         Turn Newkey off
  2531. /on          Turn Newkey on
  2532. filename/s   Save macros to filename
  2533. /t           Toggle Newkey on/off
  2534. /u           Unload Newkey and reclaim memory
  2535. /x           Display control keys
  2536. /zoff        Turn off slow typing mode
  2537. /zon         Turn on slow typing mode
  2538.  
  2539. For example:
  2540.  
  2541.     newkeysp ws.key/l    - Load Wordstar macro file
  2542.     newkeysp /off        - Turn off Newkey
  2543.  
  2544. The file "example.bat" contains a complete set of examples.
  2545.  
  2546. 12.4 Executing Macros From a Batch File
  2547.  
  2548. This feature allows you to enter macros from a batch file just as
  2549. if you were typing them yourself.  To invoke this feature issue the
  2550. following command:
  2551.  
  2552.   "newkeysp /ek="
  2553.  
  2554. followed by the key you wish to type as described in appendix A. 
  2555. For example:
  2556.  
  2557.  "newkeysp /ek=h /ek=e /ek=l /ek=l /ek=o /ek=[altn]"
  2558.  
  2559. would type "hello<altn>".  If any of these keys has a macro
  2560. associated with it, that macro will be invoked.  "ek" stands for
  2561. "enter key".  Be sure to use "[" and "]" instead of "<" and ">". 
  2562. DOS uses the carats for its own special purposes.  Only one
  2563. multi-character macro may be executed on a command line.
  2564.                                                               55
  2565.  
  2566.              CHAPTER 13 - NOTES ON KEYS SUPPORTED
  2567.  
  2568.  
  2569. Newkey supports all of the keys normally supported on your
  2570. keyboard.  Many other keys are also supported (For a detailed
  2571. list of the keys supported refer to appendix A.)  These include
  2572. most keys in ctrl, alt or shift modes, but not combinations of
  2573. these modes.  For example, <ctrlins> is supported, but <alt ctrl
  2574. ins> is not.
  2575.  
  2576. Newkey gives these new keys their own unique scan and ascii
  2577. codes and treats them just as if they were normal keys.  This
  2578. means that, if they have not been defined, they will be passed
  2579. back to the requesting program.  
  2580.  
  2581. This should not cause any problems if the requesting program
  2582. ignores unknown keys, as most do.  But, some programs do not
  2583. handle strange keys well, and you should be aware of this as a
  2584. potential problem, especially since you may accidently press one
  2585. of these keys.  See appendix C for a detailed list of these keys
  2586. and their codes.
  2587.  
  2588. 13.1 Synonyms - Different Keys, Same Ascii Codes
  2589.  
  2590. There are several keys which generate the same ascii code, but
  2591. with a different scan code.  These keys have been separated. 
  2592. Only the original key will be translated and not its synonym.  This
  2593. provides more flexibility in defining macros and eliminates a 
  2594. potential source of confusion.  A full listing of synonyms can be
  2595. found in appendix D.
  2596.  
  2597. 13.2 Generating Extended Ascii Codes
  2598.  
  2599. Normally pressing <alt> plus some number(s) on the numeric
  2600. keypad will generate the key code equal to the numbers
  2601. pressed.  For example, to generate the <enter> key (ascii code
  2602. = 13), you would press <alt>, 1, and 3 on the numeric keypad
  2603. and then release the alt key with the same effect as pressing the
  2604. <enter> key.  But Newkey treats the same sequence as two
  2605. different keystrokes, <altend> and <altpgdn>.
  2606.  
  2607. In order to invoke this function, press the left shift key at the
  2608. same time as the alt key and hold until you release the alt key.
  2609.                                                               56
  2610.  
  2611.                       CHAPTER 14 - TIPS ON USING NEWKEY
  2612.  
  2613.  
  2614. 14.1 Use Your Autoexec.bat File
  2615.  
  2616. Put the commands to load Newkey and your macro files in your
  2617. autoexec.bat file.  This will cause Newkey and your macros to be
  2618. automatically loaded whenever you boot.  If you have disks for
  2619. different purposes, each disk could contain a copy of Newkey,
  2620. Newkeysp, and your macro files.
  2621.  
  2622. An example of the statements you would want to use can be
  2623. found in LOADNEW.BAT, a batch file supplied with Newkey.  Use
  2624. your editor to copy these statements into your autoexec.bat file
  2625. and change the parameters as appropriate.
  2626.  
  2627. 14.2 Do Not Forget to Save Your Macros
  2628.  
  2629. Do not forget to save your macros at the end of a session. 
  2630. Unless you save the macros you have defined during the current
  2631. session, they will be lost when you re-boot or turn off the
  2632. computer.
  2633.  
  2634. It is suggested that as soon as you have finished defining a set
  2635. of macros you wish to keep, that you save them immediately.  It
  2636. is very easy to start a session defining new macros, proceed to
  2637. use them for the rest of the session, and then turn off the
  2638. computer.  If this happens, you will have to redefine each macro
  2639. again.  For information on saving your macros refer to section
  2640. 11.1, "Save File".
  2641.  
  2642. 14.3 Combining Macro Files
  2643.  
  2644. Occasionally, you may wish to combine two macro files.  This
  2645. may be done by loading one of the files into memory, merging
  2646. the second into memory, and then saving the macros to disk.
  2647.  
  2648. You may also use your text editor to combine the two macro
  2649. files.
  2650.  
  2651. 14.4 Multiple Macro Files
  2652.  
  2653. You may wish to define multiple macro files based on function. 
  2654. This would allow you to easily build different macro files without
  2655. redefining each function's macros for each macro file.
  2656.                                                               57
  2657.  
  2658.  
  2659. For example, you could define a file for your word processor,
  2660. spreadsheet, general DOS commands, etc. and then merge
  2661. various combinations of them together to create one file.  They
  2662. could also be used to create in-memory macros at boot time
  2663. (using the merge function), without combining them all into one
  2664. macro file.
  2665.  
  2666. 14.5 Save All Macros Files in One Directory
  2667.  
  2668. Newkey now offers an option that makes it easy to save all of
  2669. your macro files in one directory.  This option allows you to set
  2670. the default path and extension to use when loading or saving
  2671. macro files.  This makes it easy to load and save macro files
  2672. because it is no longer necessary to specify the path and
  2673. extension when the file is accessed.  Instead the default path
  2674. and extension will be added to the file name automatically.  See
  2675. section 11.4, "Default Path and Extension for Macro Files", for
  2676. further information.
  2677.                                                               58
  2678.  
  2679.              CHAPTER 15 - COMMON PROBLEMS
  2680.  
  2681.  
  2682. 15.1 Keys That Used to Work No Longer Work 
  2683.  
  2684. Several reasons why keys that used to work no longer work
  2685. follow:
  2686.  
  2687. - You are trying to use one of the synonym keys that Newkey
  2688. has assigned a different key code to.  
  2689.  
  2690. - The program you are using is trying to assign its own key code
  2691. to one of the unused key combinations not supported by IBM,
  2692. yet Newkey has already intercepted that key combination and
  2693. assigned it a different code.
  2694.  
  2695. - The key is also used as one of Newkey's control keys.  See
  2696. section 10.1, "Control keys", for further information.
  2697.  
  2698. See section 10.5,"Preventing Key Creation" and "Appendix D" for
  2699. more information on how to correct this problem.
  2700.  
  2701. 15.2 Other Memory-resident Programs Hang 
  2702.  
  2703. When invoked it appears that other memory-resident programs
  2704. have hung up or will not read certain keystrokes.  Try turning off
  2705. the extended keyboard buffer feature and changing the load
  2706. order.
  2707.  
  2708. 15.3 Monitor Does Not Clearly Display Newkey Menus
  2709.  
  2710. You are probably using an amber or other monochrome monitor
  2711. with a graphics card.  In this case you should turn on Newkey's
  2712. black and white option.  See section 10.3, "Black and White
  2713. Mode" for more information on how to correct this problem.
  2714.  
  2715. 15.4 Screen Does Not Blank
  2716.  
  2717. There are many reasons why your screen may not blank
  2718. depending on the hardware and software you are using.  Newkey
  2719. provides several screen blanking options designed to work with
  2720. these configurations.  Before trying these options, please read
  2721. the full description of them in section 9.1, "Screen Saver Mode". 
  2722. It is not always obvious exactly how they work.  
  2723.                                                               59
  2724.  
  2725. One reason why screen blanking might not work is if your
  2726. software is continually writing to the screen, redisplaying the
  2727. same exact screen, even though you have not touched a key for
  2728. several minutes.  In this case try turning the "Video I/O Restore
  2729. Screen Option" off.  Some versions of PC-Write and Word Perfect
  2730. do this. 
  2731.  
  2732. 15.5 Cannot Restore Blanked Screen
  2733.  
  2734. Normally any keystroke or video i/o will restore the screen. 
  2735. However, some programs completely takeover the interrupts
  2736. Newkey uses to determine when the screen should be restored. 
  2737. If you are having trouble restoring the screen, try pressing the
  2738. alt, ctrl, left shift, or right shift keys.  
  2739.  
  2740. If you are still unable to restore your screen then you may find it
  2741. easiest to turn off the screen saver mode before using the
  2742. problem program (see section 9.1, "Screen Saver Mode").
  2743.  
  2744. 15.6 Newkey Does Not Work Right With Certain Programs
  2745.  
  2746. Some programs throw away parts of Newkey and you will notice
  2747. that certain Newkey features have ceased to function.  When
  2748. these discourteous programs are running, they completely
  2749. takeover the interrupts Newkey uses.  When this happens, these
  2750. parts of Newkey are lost until the guilty program stops running. 
  2751. Fortunately only a few applications programs such as XYWrite
  2752. and Smartcom are guilty of this.
  2753.  
  2754. Newkey has been designed to work around these programs, but
  2755. it cannot protect itself completely.  Rather than fight with these
  2756. programs, Newkey lets them take over, but tries to make sure
  2757. that the disappearance of one part will not affect another part's
  2758. functioning.  Otherwise, you will have to live without the missing
  2759. Newkey functions while running these programs.
  2760.  
  2761. 15.7 Cannot Access Extended Ascii (upper 128) codes
  2762.  
  2763. See section 13.3, "Generating Extended Ascii Codes".
  2764.  
  2765.                                                               60
  2766.  
  2767. 15.8 Losing Part of Macro Definition
  2768.  
  2769. If your macro definition does not include all of the keystrokes you
  2770. originally typed you have probably used Newkey's error
  2771. correction key, the <ctrlh> key.  If you wish to use the <ctrlh>
  2772. key with its normal meaning, you must either redefine or
  2773. deactivate Newkey's error correction key.  For more information,
  2774. see section 2.6, "Error Correction".
  2775.  
  2776. Another reason part of your definition may seem to be lost
  2777. during playback is that some programs ignore keys which are
  2778. returned faster than they expect.  For more information on
  2779. resolving this problem refer to section 4.6, "Slow Typing Mode",
  2780. and section 3.5, "Time Delay".
  2781.  
  2782. 15.9 Limited Memory Considerations
  2783.  
  2784. If you are running into memory problems consider using
  2785. Newkeysm, which will save you 25K at the cost of the pop-up
  2786. features.  See also section 16.1, "Newkey Requirements."
  2787.  
  2788.  Computer Hangs up and Must be Rebooted
  2789.  
  2790. Refer to the "readme" file and section 16.8, "Software
  2791. Compatibility" for information on interactions with other software. 
  2792. Check to make sure that you are not using an old version of
  2793. Newkeysp with a new version of Newkey or vice-versa.  If these
  2794. actions fail to help solve the problem, then refer to section 17.2,
  2795. "Reporting Newkey Bugs" for more information on how to notify
  2796. us of the problem.
  2797.                                                               61
  2798.  
  2799.              CHAPTER 16 - TECHNICAL OVERVIEW
  2800.  
  2801.  
  2802. 16.1 Newkey Requirements
  2803.  
  2804. Newkey requires PC-DOS or MS-DOS 2.0 or greater and will run
  2805. on either a monochrome or color monitor.  Newkey comes in two
  2806. versions, the normal full power version and Newkeysm, which
  2807. lacks the pop-up features of the full-power version, but also
  2808. requires 25K of memory less.  Newkey requires approximately
  2809. 60k (35K for the small version) of memory, plus an additional 2
  2810. bytes per character of translation and reserved macro buffer.
  2811.  
  2812. 16.2 Newkeysm, The SMall Version
  2813.  
  2814. Newkeysm lacks the pop-up features of the full-power version
  2815. and does not support the {begload}, {begmerge}, {begmergo},
  2816. and {begsave} macro functions.  Otherwise Newkeysm will work
  2817. just as the full-power version will at a savings of 25k.
  2818.  
  2819. 16.3 Newkey's Limitations
  2820.  
  2821. Newkey allows redefinition of almost any key, including an
  2822. extended set of keys beyond those supported by IBM (except ctrl
  2823. break, and on the AT, SysReq).  Newkey will handle up to
  2824. approximately 64k of macros, and any macro may be as long as
  2825. you wish up to this maximum.  The 64k maximum includes 16
  2826. bytes for overhead and two bytes per character of translation.
  2827.  
  2828. 16.4 Hardware Compatibility
  2829.  
  2830. Newkey is compatible with IBM PC, XT, Jr, AT, and all true
  2831. compatibles.  Users of amber or similar monitors that display in
  2832. two colors only, but use the graphics card should consult section
  2833. 10.3, "Black and White Mode".
  2834.  
  2835. 16.5 Enhanced Keyboard
  2836.  
  2837. Newkey recognizes and supports the enhanced keyboard.  For a
  2838. list of the additional keys supported refer to Appendix A, "Keys
  2839. Supported.
  2840.                                                               62
  2841.  
  2842. 16.6 Hercules Graphics boards
  2843.  
  2844. Newkey has been designed to recognize Hercules cards and use
  2845. a different method of saving your screen.  This method was
  2846. provided by the Hercules Technology Corporation for use with
  2847. their cards so it should be safe.  Please note that the Hercules
  2848. Technology Corporation has not tested this implementation and
  2849. does not approve or endorse it.  We have tested it and found no
  2850. problems.
  2851.    
  2852. 16.7 Graphics Modes
  2853.  
  2854. Newkey is able to pop-up in the middle of programs using the
  2855. standard graphics modes for the CGA and EGA boards.  You
  2856. may notice some strange behavior such as:
  2857.  
  2858. - When you start a macro definition your screen will appear to 
  2859. have become garbage except for the Newkey macro definition
  2860. window.  This is simply your graphics output being interpreted as
  2861. text.  When you continue, your screen will be redisplayed
  2862. unchanged.
  2863.  
  2864. - The status line will not display.  This is because Newkey 
  2865. cannot display the status line while in graphics modes.  Newkey 
  2866. will beep to remind you that you are defining a key.
  2867.  
  2868. - Your screen may be slightly changed when it is restored, but it
  2869. should still be recognizable.
  2870.  
  2871. 16.8 Software Compatibility
  2872.  
  2873. Many programs operate at Newkey's level, including a new host
  2874. of memory-resident ones.  For the most part these programs
  2875. work very well with each other, but inevitably problems arise.  As
  2876. a result, it has become impossible to give guidelines for which
  2877. programs should be loaded in what order and which of Newkey's
  2878. options should be used with which programs.  
  2879.  
  2880. If you are having trouble, try loading your memory-resident
  2881. programs one at a time in several different orders until you
  2882. isolate which programs are causing your problems.  Once you
  2883. have determined which programs are causing the problem and
  2884. found that changing their order of loading does not solve the
  2885. problem, try changing the Newkey parameters, especially:
  2886.                                                               63
  2887.  
  2888. - Extended keyboard buffer
  2889. - Defining status line
  2890. - Blank screen
  2891. - Fast key
  2892. - Ignore keys option on Newkeysp menu 
  2893.  
  2894. For the most part you will have to use trial and error to
  2895. determine these for yourself.  For information on specific
  2896. programs refer to the "readme" file on the Newkey disk.
  2897.  
  2898. 16.9 Shift Status Reset
  2899.  
  2900. Some programs check the shift status when they read certain
  2901. characters, enabling them to effectively extend the character set
  2902. normally supported by the IBM PC.  This causes problems if you
  2903. have defined some of these characters in a macro which is
  2904. invoked by a shift key (such as ctrl, alt, or caps), because the
  2905. shift status will remain set as the playback occurs.  As a result,
  2906. the application program may interpret certain characters
  2907. incorrectly.
  2908.  
  2909. Newkey now has an option that which will turn the shift flags off
  2910. during playback and restore them when the playback is finished. 
  2911. This option comes turned off, but may be turned on by selecting
  2912. the "Parameters" option in Newkeysp and following instructions. 
  2913. We recommend that you do not activate this option unless you
  2914. have a specific need.
  2915.  
  2916. Timing problems, however, may nullify some of this option's
  2917. usefulness.  Application programs frequently read keys into their
  2918. buffers before they are actually ready to process them.  When
  2919. this happens, the shift status may have been restored before the
  2920. character is processed.  The best way around this is to allow the
  2921. playback to finish before continuing.
  2922.  
  2923. PC-Write is one program which does this.  Whenever it reads a
  2924. space, it checks the shift status to see if the alt or ctrl flags are
  2925. set.  If so, it interprets the space differently than it would a plain
  2926. space.  For example, if you assigned your name and address to
  2927. <altf10>, on playback you would find that they had run together
  2928. and all the spaces had disappeared!  Shift status reset can help
  2929. solve this problem.  
  2930.                                                               64
  2931.  
  2932.                    CHAPTER 17 - MISCELLANEOUS
  2933.  
  2934.  
  2935. 17.1 Support
  2936.  
  2937. Telephone and mail support is available to registered users of
  2938. Newkey from FAB Software or our local representatives.  FAB
  2939. Software provides support on the following basis:  Telephone
  2940. support is generally available from 7 PM - 9 PM weekdays and
  2941. 10 AM - 9 PM weekends.  If we are not available, an answering
  2942. machine will take your message.  For mail support, enclose a
  2943. self-addressed stamped envelope for a faster response.
  2944.  
  2945.   FAB Software
  2946.   P.O. Box 336
  2947.   Wayland, MA 01778
  2948.  
  2949.   Phone number: (508) 358-6357
  2950.   Compuserve:  75206,1366
  2951.  
  2952.  
  2953.  
  2954.  
  2955.  
  2956.  
  2957.  
  2958.  
  2959.  
  2960.  
  2961. 17.2 Reporting Newkey Bugs
  2962.  
  2963. It is our intention to provide a high quality product at very
  2964. reasonable prices.  To this end we do our best to make our
  2965. products as error free and compatible with other software as we
  2966. can.  Please notify us of any problems that you find, so that we
  2967. can provide you with as high a quality product possible.
  2968.  
  2969. To encourage this, if you are the first person to notify us of a
  2970. particular problem, we will send you a free update when the
  2971. problem is corrected (and if not, you will receive a letter
  2972. explaining why.)  This offer applies only to bugs in the Newkey
  2973. programs and not to incompatibilities with specific other
  2974. programs or non-IBM hardware.
  2975.  
  2976.                                                               65
  2977.  
  2978. We have had few true user reported bugs since introducing
  2979. Newkey in March 1984, so we do not expect you to have any
  2980. problems, but if you believe you have discovered a Newkey bug,
  2981. follow these steps:
  2982.  
  2983. 1.  Create a disk which may be used to recreate the problem. 
  2984. This disk should include the following:
  2985.  
  2986.     - Your copy of Newkey
  2987.     - Your macro files
  2988.         - Any other programs, memory-resident and otherwise, that must
  2989.    be present when the problem occurs (if legally possible).
  2990.     - A batch file that recreates your environment
  2991.         - A readme file which describes the problem and how to
  2992.    recreate it.  Mention which version of DOS you are using and
  2993.    your phone number.
  2994.  
  2995. 2.  Send the above items to the address listed in section 17.1,
  2996. "Support".
  2997.  
  2998. 17.3 Restricted Permission to Copy
  2999.  
  3000. A special full-power evaluation copy of Newkey is provided which
  3001. may be copied subject to the restrictions listed below.  The only
  3002. difference between the evaluation version and the version
  3003. available to registered users is a special "evaluation notice"
  3004. screen that is displayed when Newkey or Newkeysp is first
  3005. started up.
  3006.  
  3007. 17.3.1 What May be Copied
  3008.  
  3009. To create an evaluation disk execute the batch file "makeeval.bat"
  3010. and follow instructions.
  3011.  
  3012. The files which may be copied are:
  3013.  
  3014. newkey.doc
  3015. newkey.eva   (evaluation version of Newkey)
  3016. newkeysm.eva (evaluation version of Newkeysm) 
  3017. newkeysp.eva (evaluation version of Newkeysp)
  3018. order.frm
  3019. readme
  3020. all files ending in "bat".
  3021. all files ending in "key".
  3022.                                                               66
  3023.  
  3024. 17.3.2 Rules For Copying Evaluation Version
  3025.  
  3026. Individuals are granted permission to freely copy the Newkey disk
  3027. for their own evaluation or for others to evaluate, so long as no
  3028. price or other consideration is charged.
  3029.  
  3030. Computer clubs are granted permission to freely copy the
  3031. Newkey disk and share it with their members for the purposes of
  3032. evaluation, so long as:
  3033.  
  3034. 1.  No price or other consideration is charged.  However, a
  3035. distribution cost may be charged for the cost of the diskette, so
  3036. long as it is not more than US $10 total.  This includes shipping,
  3037. handling, and all other charges.
  3038.  
  3039. 2.  Club members who receive the programs are informed in
  3040. writing of the user-supported concept and encouraged to support
  3041. it with their payments.
  3042.  
  3043. 3.  The programs and documentation are not modified in any
  3044. way and are distributed together.
  3045.  
  3046. 4.  The Newkey disk may not be packaged together with any
  3047. other programs or materials.  It may not be bundled and sold as
  3048. part of some other more inclusive package.
  3049.  
  3050. 5.  The programs may not be "rented" to others.
  3051.  
  3052. 6.  The printed manual is not copied or reproduced in any way.
  3053.  
  3054. Companies, schools, universities, government, and other
  3055. organizations are granted permission to copy the Newkey
  3056. programs for use on other computers and at other locations in
  3057. the company, so long as:
  3058.  
  3059. 1.  The full registration fee has been paid for each and every
  3060. system on which the program will be used.
  3061.  
  3062. 2.  The printed manual is not copied or reproduced in any way.
  3063.  
  3064. 17.4 Price List and Order Form
  3065.  
  3066. For a detailed price list and order form print the file "order.frm". 
  3067. Dealers and resellers please write or call for latest prices.
  3068.                                                               67
  3069.  
  3070. 17.5 The Shareware Concept
  3071.  
  3072. Shareware, also know as "User-supported software", is an
  3073. experiment in distributing computer programs, based on these
  3074. beliefs:
  3075.  
  3076. 1.  That the value and utility of software is best assessed by the
  3077. user on his/her own system.
  3078.  
  3079. 2.  That the creation of personal computer software can and
  3080. should be supported by the computing community.
  3081.  
  3082. Subject to the rules described in section 17.3, "Restricted
  3083. Permission to Copy" above, anyone may legally obtain an
  3084. evaluation copy of the program from a friend or computer club. 
  3085. After you have had a chance to use and evaluate the program in
  3086. your own environment, you are trusted to either forward a
  3087. payment to the FAB Software, or to discontinue use of the
  3088. program.
  3089.  
  3090. Free distribution of software and voluntary payment for its use
  3091. eliminates costs for advertising and copy protection schemes. 
  3092. Users obtain quality software at greatly reduced cost.  They can
  3093. try it out before buying, and do so at their own pace and in the
  3094. comfort of their own home or office.  The best programs will
  3095. survive, based purely on their quality and usefulness.
  3096.  
  3097. 17.6 Association of Shareware Professionals
  3098.  
  3099. The author of Newkey, Frank Bell, is a member of the Association
  3100. of Shareware Professionals (ASP), an organization formed in April
  3101. 1987 to strengthen the future of shareware as an alternative to
  3102. software distributed through the normal commercial channels.  Its
  3103. members, all of whom are programmers, subscribe to the ASP's
  3104. code of ethics.  Software distributed by ASP members must meet
  3105. the ASP's software standards.  These standards include:
  3106.  
  3107. PROGRAMMING STANDARDS: 
  3108.  
  3109. The program meets the ASP's definition of "shareware" (i.e., it is
  3110. not a commercial demo with major feature disabled, nor a
  3111. time-limited program). 
  3112.  
  3113. The program has been thoroughly tested by the author and
  3114. should not be harmful to other files or hardware if used properly. 
  3115.                                                               68
  3116.  
  3117.   
  3118. DOCUMENTATION STANDARDS: 
  3119.  
  3120. Sufficient documentation is provided to allow the average user to
  3121. try all the major functions of the program. 
  3122.  
  3123. Any discussion of the shareware concept and of registration
  3124. requirements is done in a professional and positive manner. 
  3125.   
  3126. SUPPORT STANDARDS: 
  3127.  
  3128. The member will respond to people who send registration
  3129. payments, as promised in the program's documentation.  At a
  3130. minimum, the member will acknowledge receipt of all payments. 
  3131.  
  3132. The member will establish a procedure for users to report, and
  3133. have acknowledged, matters such as bug reports, and will
  3134. describe such means in the documentation accompanying all
  3135. versions of the programs.  The member will respond to written
  3136. bug reports from registered users when the user provides a 
  3137. self-addressed, stamped envelope.
  3138.  
  3139. Known incompatibilities with other software or hardware and
  3140. major or unusual program limitations are noted in the
  3141. documentation that comes with the shareware (evaluation)
  3142. program. 
  3143.  
  3144. GENERAL: 
  3145.  
  3146. Members will keep the ASP apprised of changes in mailing
  3147. address, of which shareware programs they have published and
  3148. are currently supporting, and of the current version numbers and
  3149. of any changes in the status of their programs.
  3150.  
  3151. If a user has a dispute with an ASP member-author, the user
  3152. may appeal to the ASP to mediate for arbitration of the dispute. 
  3153.  
  3154. The ASP's address is:    Association of Shareware Professionals
  3155.                          325 118th Ave SE, Suite 200
  3156.                          Bellevue, WA 98006
  3157.  
  3158.                                                               69
  3159.  
  3160.                       APPENDIX A - KEYS SUPPORTED
  3161.  
  3162.  
  3163. Newkey supports all keys supported by IBM, plus many more. 
  3164. For a list of additional keys supported by Newkey and not by
  3165. IBM, refer to appendix C.
  3166.  
  3167. The following list includes all keys supported by Newkey.  The
  3168. list is the same format as used by Newkey to load from. 
  3169.  
  3170. <a>     <A>         <alta>     <ctrla>
  3171. <b>     <B>         <altb>     <ctrlb>
  3172. <c>     <C>         <altc>     <ctrlc>
  3173. <d>     <D>         <altd>     <ctrld>
  3174. <e>     <E>         <alte>     <ctrle>
  3175. <f>     <F>         <altf>     <ctrlf>
  3176. <g>     <G>         <altg>     <ctrlg>
  3177. <h>     <H>         <alth>     <ctrlh>
  3178. <i>     <I>         <alti>     <ctrli>
  3179. <j>     <J>         <altj>     <ctrlj>
  3180. <k>     <K>         <altk>     <ctrlk>
  3181. <l>     <L>         <altl>     <ctrll>
  3182. <m>     <M>         <altm>     <ctrlm>
  3183. <n>     <N>         <altn>     <ctrln>
  3184. <o>     <O>         <alto>     <ctrlo>
  3185. <p>     <P>         <altp>     <ctrlp>
  3186. <q>     <Q>         <altq>     <ctrlq>
  3187. <r>     <R>         <altr>     <ctrlr>
  3188. <s>     <S>         <alts>     <ctrls>
  3189. <t>     <T>         <altt>     <ctrlt>
  3190. <u>     <U>         <altu>     <ctrlu>
  3191. <v>     <V>         <altv>     <ctrlv>
  3192. <w>     <W>         <altw>     <ctrlw>
  3193. <x>     <X>         <altx>     <ctrlx>
  3194. <y>     <Y>         <alty>     <ctrly>
  3195. <z>     <Z>         <altz>     <ctrlz>
  3196.                            
  3197. <1>     <!>         <alt1>     <ctrl1>
  3198. <2>     <@>         <alt2>     <ctrl2>
  3199. <3>     <#>         <alt3>     <ctrl3>
  3200. <4>     <$>         <alt4>     <ctrl4>
  3201. <5>     <%>         <alt5>     <ctrl5>
  3202. <6>     <^>         <alt6>     <ctrl6>
  3203. <7>     <&>         <alt7>     <ctrl7>
  3204. <8>     <*>         <alt8>     <ctrl8>
  3205.                                                               70
  3206.  
  3207. <9>     <(>         <alt9>     <ctrl9>
  3208. <0>     <)>         <alt0>     <ctrl0>
  3209.                     
  3210. < >     <capspace>  <altspace> <ctrlspac>
  3211. <->     <_>         <alt->     <ctrl->
  3212. <=>     <+>         <alt=>     <ctrl=>
  3213. <[>     <{>         <alt[>     <ctrl[>
  3214. <]>     <}>         <alt]>     <ctrl]>
  3215. <;>     <:>         <alt;>     <ctrl;>
  3216. <'>     <">         <alt'>     <ctrl'>
  3217. <`>     <~>         <alt`>     <ctrl`>
  3218. <\>     <|>         <alt\>     <ctrl\>
  3219. <,>     <caps,>     <alt,>     <ctrl,>
  3220. <.>     <caps.>     <alt.>     <ctrl.>
  3221. </>     <?>         <alt/>     <ctrl/>
  3222. <esc>   <capsesc>   <altesc>   <ctrlesc>
  3223. <tab>   <capstab>   <alttab>   <ctrltab>
  3224. <bks>   <capsbks>   <altbks>   <ctrlbks>
  3225. <enter> <capsent>   <altent>   <ctrlent>
  3226. <prt>   <altprt>    <ctrlprt>
  3227.                    
  3228. <f1>     <capsf1>   <altf1>    <ctrlf1>
  3229. <f2>     <capsf2>   <altf2>    <ctrlf2>
  3230. <f3>     <capsf3>   <altf3>    <ctrlf3>
  3231. <f4>     <capsf4>   <altf4>    <ctrlf4>
  3232. <f5>     <capsf5>   <altf5>    <ctrlf5>
  3233. <f6>     <capsf6>   <altf6>    <ctrlf6>
  3234. <f7>     <capsf7>   <altf7>    <ctrlf7>
  3235. <f8>     <capsf8>   <altf8>    <ctrlf8>
  3236. <f9>     <capsf9>   <altf9>    <ctrlf9>
  3237. <f10>    <capsf10>  <altf10>   <ctrlf10>
  3238.  
  3239. <home>   <num7>     <althom>   <ctrlhom>
  3240. <up>     <num8>     <altup>    <ctrlup>
  3241. <pgup>   <num9>     <altpgup>  <ctrlpgu>
  3242. <rgt>    <num6>     <altrgt>   <ctrlrgt>
  3243. <ctr>    <num5>     <altctr>   <ctrlctr>
  3244. <lft>    <num4>     <altlft>   <ctrllft>
  3245. <end>    <num1>     <altend>   <ctrlend>
  3246. <dn>     <num2>     <altdn>    <ctrldn>
  3247. <pgdn>   <num3>     <altpgdn>  <ctrlpgd>
  3248. <ins>    <num0>     <altins>   <ctrlins>
  3249. <del>    <num.>     <altdel>   <ctrldel>
  3250. <num->   <capsnu->  <altnu->   <ctrlnu->
  3251. <num+>   <capsnu+>  <altnu+>   <ctrlnu+>
  3252.                                                               71
  3253.  
  3254.  
  3255.     Enhanced Keyboard Entries for separated keys
  3256.        
  3257. <f11>    <capsf11>  <altf11>   <ctrlf11>
  3258. <f12>    <capsf12>  <altf12>   <ctrlf12>
  3259.        
  3260. <shom>   <shom>     <altshom>  <ctrlshom>
  3261. <sup>    <sup>      <altsup>   <ctrlsup>
  3262. <spgu>   <spgu>     <altspgup> <ctrlspgu>
  3263. <srgt>   <srgt>     <altsrgt>  <ctrlsrgt>
  3264. <slft>   <slft>     <altslft>  <ctrlslft>
  3265. <send>   <send>     <altsend>  <ctrlsend>
  3266. <sdn>    <sdn>      <altsdn>   <ctrlsdn>
  3267. <spgd>   <spgd>     <altspgdn> <ctrlspgd>
  3268. <sins>   <sins>     <altsins>  <ctrlsins>
  3269. <sdel>   <sdel>     <altsdel>  <ctrlsdel>
  3270. </>      </>        <altnum/>  <ctrlnum/>    
  3271. <nument> <nument>   <nument>   <ctlnuent>
  3272.  
  3273. All keys in IBM's extended ascii set, those with values in the 128
  3274. - 255 range, may be entered as a single character in the same
  3275. manner as any character in the alphabet.  See "Generating
  3276. Extended Ascii Codes" for information on accessing the extended
  3277. set.
  3278.  
  3279. Undefinable Keys
  3280.  
  3281. These keys (including any combination such as ctrl break)
  3282. cannot be redefined:
  3283.  
  3284.     Alt
  3285.     Break
  3286.     Caps Lock
  3287.     Ctrl
  3288.     Num Lock
  3289.     Scroll Lock
  3290.     Shift (left and right)
  3291.     Shift-Prtsc
  3292.     Sys Req
  3293.                                                               72
  3294.  
  3295.                    APPENDIX B - FUNCTIONS
  3296.  
  3297.  
  3298. Function            Description
  3299.  
  3300. {beep}              beep
  3301. {begdef macroname}  begin macroname definition
  3302. {begdesc}           begin a description
  3303. {begfoot}           begin a footer, used for menu macros
  3304. {begload}           load a macro file
  3305. {begmenu row,col}   begin displaying menu at row and col
  3306. {begmerge}          merge a macro file into memory
  3307. {begmergo}          merge a macro file with overwrite
  3308. {begprint}          begin sending to printer
  3309. {begsave}           save macros to a disk file
  3310. {begtitle}          begin a title, used for menu macros
  3311. {begwind row,col,#lines,length} begin displaying window starting
  3312.                     at row, col, for #lines and length
  3313. {capsoff}           turn caps lock off
  3314. {capson}            turn caps lock on
  3315. {capsrest}          restore caps lock status
  3316. {capssave}          save caps lock status
  3317. {clearmac}          clear macros from memory
  3318. {cls}               clear the screen
  3319. {cmd}               pop up the newkey menu
  3320. {cursoff}           turn the cursor off
  3321. {curson}            turn the cursor on
  3322. {cut macroname row,col,#lines,length} cut from screen starting at
  3323.                     row, col for #lines and length and assign
  3324.                     to macroname
  3325. {date}              begin a date function
  3326. {defend}            end the define function
  3327. {define macroname}  begin defining macroname within a macro
  3328. {delete macroname}  delete macroname
  3329. {endtime}           end time function
  3330. {endcmd}            end of pop up
  3331. {enddate}           end date function    
  3332. {enddef}            end of definition
  3333. {enddesc}           end description
  3334. {endfoot}           end footer function
  3335. {endload}           end load file function
  3336. {endmenu}           end menu function
  3337. {endmerge}          end merge function
  3338. {endmergo}          end merge with overwrite function
  3339. {endprint}          end the print function
  3340.                                                               73
  3341.  
  3342.  
  3343. {endsave}           end save file function
  3344. {endtitle}          end title function
  3345. {endwind}           end display window function
  3346. {exitkey key}       exit from menu macro when key pressed
  3347. {ffld}              fixed length pause
  3348. {ffldtran}          fixed length pause, but allow translation
  3349. {goto macroname}    goto macroname, do not return to current
  3350.                     macro
  3351. {guard}             protect the macro from being deleted when
  3352.                     a new macro file is loaded
  3353. {input macroname row,col,1,length} stop playback and wait for
  3354.                     input entered by user starting at row and
  3355.                     col for length
  3356. {notran macroname}  do not translate macroname
  3357. {numoff}            turn num lock off
  3358. {numon}             turn num lock on
  3359. {numrest}           restore num lock status
  3360. {numsave}           save num lock status
  3361. {restore}           restore screen saved by display macro
  3362. {scrloff}           turn scroll lock off
  3363. {scrlon}            turn scroll lock on
  3364. {scrlrest}          restore scroll lock status
  3365. {scrlsave}          save scroll lock status
  3366. {scroff}            turn screen off
  3367. {scron}             turn screen on
  3368. {set option value}  set option to value
  3369. {time}              begin time function
  3370. {vfld}              variable length function
  3371. {wait MM:SS:HH}     wait for MM minutes, SS seconds, HH
  3372.                     hundredths of a second
  3373. {wait4key key}      wait for key to be pressed, then discard
  3374. {waitany}           wait for any key to be pressed, then
  3375.                     discard
  3376. {waitanyk}          wait for any key, leave in buffer
  3377.                                                               74
  3378.  
  3379.               APPENDIX C - EXTENDED CODES
  3380.  
  3381.  
  3382. Second code    Function
  3383.  
  3384.     1(@)       ALT Esc
  3385.     2(*)       CTRL 1
  3386.     3          CTRL 2
  3387.     4-6(*)     CTRL 3,4,5
  3388.     7(*)       CTRL =
  3389.     8-11(*)    CTRL 7,8,9,0
  3390.     12(*)      CTRL Space
  3391.     13(*)      CAPS Bksp
  3392.     14(@)      ALT Bksp
  3393.     15         Back Tab
  3394.     16-25      ALT Q,W,E,R,T,Y,U,I,O,P
  3395.     26-28(@)   ALT [ ] Enter
  3396.     29(*)      CTRL ;
  3397.     30-38      ALT A,S,D,F,G,H,J,K,L
  3398.     39-41(@)   ALT ; ' `
  3399.     42(*)      CTRL ' (apostrophe)
  3400.     43(@)      ALT \
  3401.     44-50      ALT Z,X,C,V,B,N,M
  3402.     51-53(@)   ALT , .  / (comma, period, slash)
  3403.     54(*)      CTRL `  (back apostrophe)
  3404.     55(@)      ALT Prtsc
  3405.     56-58(*)   CTRL , .  /
  3406.     59-68      F1-F10
  3407.     69(*)      CTRL Esc
  3408.     70(*)      CAPS Esc
  3409.     71         Home
  3410.     72         Up cursor
  3411.     73         PG UP
  3412.     74(@)      ALT NU-
  3413.     75         Left cursor
  3414.     76(@)      CTR
  3415.     77         Right cursor
  3416.     78(@)      ALT NU+
  3417.     79         End
  3418.     80         Down cursor
  3419.     81         PG DN
  3420.     82         INS
  3421.     83         DEL
  3422.     84-93      F1-F10 (Upper case)
  3423.     94-103     F1-F10 (CTRL)
  3424.                                                               75
  3425.  
  3426.     104-113    F1-F10 (ALT)
  3427.     114        CTRL Prtsc
  3428.     115        CTRL left cursor
  3429.     116        CTRL right cursor
  3430.     117        CTRL End
  3431.     118        CTRL PG DN
  3432.     119        CTRL Home
  3433.     120-131    ALT 1,2,3,4,5,6,7,8,9,0,-,=
  3434.                (Top of keyboard)
  3435.     132        CTRL PG UP
  3436.     133(#)     F11
  3437.     134(#)     F12
  3438.     135(#)     CAPS F11
  3439.     136(#)     CAPS F12
  3440.     137(#)     CTRL F11
  3441.     138(#)     CTRL F12
  3442.     139(#)     ALT F11
  3443.     140(#)     ALT F12
  3444.     141(@)     CTRL UP
  3445.     142(@)     CTRL NU-
  3446.     143(@)     CTRL CTR
  3447.     144(@)     CTRL NU+
  3448.     145(@)     CTRL down cursor
  3449.     146(@)     CTRL INS
  3450.     147(@)     CTRL DEL
  3451.     148(@)     CTRL TAB
  3452.     149(#)     CTRL NU/  
  3453.     150(#)     CTRL NU+
  3454.     151(#)     ALT home (separate from numeric keypad)
  3455.     152(#)     ALT up cursor (separate from numeric keypad)
  3456.     153(#)     ALT PGUP (separate from numeric keypad)
  3457.     154(*)     CAPS Space
  3458.     155(#)     ALT left cursor (separate from numeric keypad)
  3459.     156(*)     ALT CTR
  3460.     157(#)     ALT right cursor (separate from numeric keypad)
  3461.     158(*)     ALT SPACE
  3462.     159(#)     ALT end (separate from numeric keypad)
  3463.     160(#)     ALT down cursor (separate from numeric keypad)
  3464.     161(#)     ALT PGDN (separate from numeric keypad)
  3465.     162(#)     ALT INS (separate from numeric keypad)
  3466.     163(#)     ALT DEL (separate from numeric keypad)
  3467.     164(@)     ALT NU/
  3468.     165(@)     ALT TAB
  3469.     166(@)     ALT ENTER (on numeric keypad)
  3470.     167(*)     CAPS NU-
  3471.                                                               76
  3472.  
  3473.     168(*)     CAPS NU+
  3474.     169(*)     CAPS ENTER
  3475.  
  3476. The following keys refer to the numeric keypad.
  3477.  
  3478.     170(*)     ALT home
  3479.     171(*)     ALT end
  3480.     172(*)     ALT down cursor
  3481.     173(*)     ALT up cursor
  3482.     174(*)     ALT left cursor
  3483.     175(*)     ALT right cursor
  3484.     176(*)     ALT page down
  3485.     177(*)     ALT page up
  3486.     178(*)     ALT page ins
  3487.     179(*)     ALT page del
  3488.  
  3489. These keys are part of IBM's keyboard extended functions in
  3490. which an ascii code = 0 and a scan code equal to the number
  3491. in the list above is returned to the program.  
  3492.  
  3493. (*) - Keys with this next to their number have been added by 
  3494. Newkey and will be returned to your program if a translation is
  3495. not found.  This might cause problems, if your program does not
  3496. ignore unknown keys.  Most programs do ignore unrecognizable
  3497. keys. If you are having this problem, try redefining the key to a
  3498. space or use the 'ignore' keys feature.  
  3499.  
  3500. (@) - Keys with this next to their number are created by IBM's
  3501. new keyboard or by Newkey if you are not using the new
  3502. keyboard.  
  3503.  
  3504. (#) - Keys with this next to their number are created by IBM's
  3505. new keyboard, but not by Newkey.
  3506.                                                               77
  3507.  
  3508.                          APPENDIX D - SYNONYMS
  3509.  
  3510.  
  3511. These synonyms are keystrokes which return the same ascii
  3512. value and sometimes with different scan codes.  In most
  3513. programs, they are treated the same.  Newkey now allows you to
  3514. redefine these synonyms individually without redefining its mate. 
  3515. This provides you with greater flexibility and a wider range of
  3516. keys which can be redefined. 
  3517.  
  3518. To do this Newkey must give some of these synonyms (those
  3519. with both identical ascii and scan codes) their own unique key
  3520. codes.  These are the keys in the right hand column in the table
  3521. below.  These keys will not act as they did before Newkey was
  3522. loaded.  For example, the caps enter key will not act like an
  3523. <enter> key as it used to.  If it has not been given a macro it
  3524. will probably be ignored by your programs.  If you want them to
  3525. act like they used to just define them using their native meaning
  3526. or use the "ignore keys" option on the Newkeysp main menu. 
  3527. Following our previous example, you would define the caps enter
  3528. key as enter.
  3529.  
  3530.  
  3531.                                      Synonyms With
  3532.          SYNONYMS                      New Codes
  3533.  
  3534.     0-9         numeric 0-9
  3535.     +           numeric +            caps numeric +
  3536.     -           numeric -            caps numeric -
  3537.     period      numeric period
  3538.     *           prtsc *
  3539.     enter       ctrl m               caps enter
  3540.     backspace   ctrl h               caps backspace
  3541.     ctrl enter  ctrl j       
  3542.     fwd tab     ctrl i
  3543.     esc         ctrl [               caps & ctrl esc
  3544.     space                            alt, caps, ctrl space
  3545.                                                               78
  3546.  
  3547.                   APPENDIX E - COLOR CODES
  3548.  
  3549.  
  3550. When defining display or menu macros a foreground or
  3551. background color will be requested.  The numbers associated
  3552. with these colors are:
  3553.  
  3554. COLOR                CHARACTER              BACKGROUND
  3555. Black                        0                       0
  3556. Blue                         1                      16
  3557. Green                        2                      32
  3558. Cyan                         3                      48
  3559. Red                          4                      64
  3560. Magenta                      5                      80
  3561. Brown                        6                      96
  3562. Light Grey                   7                     112
  3563. Dark Grey                    8
  3564. Light Blue                   9
  3565. Light Green                 10
  3566. Light Cyan                  11
  3567. Light Red                   12
  3568. Light Magenta               13
  3569. Yellow                      14
  3570. White                       15
  3571.  
  3572. Character + background number = attribute
  3573.  
  3574. For example, red on blue is 4 + 16 = 20  
  3575. Add 128 to get blinking
  3576.                                                               79
  3577.  
  3578.  
  3579. APPENDIX F - SUMMARY OF CHANGES
  3580.  
  3581. Important conversion information for users of earlier
  3582. versions is highlighted.
  3583.  
  3584. Version 5.0 (November 1988)
  3585.  
  3586. The version 5.0 macro file format is different than version 4.0. 
  3587. For instructions on how to convert your files, run the program
  3588. CONV4TO5.
  3589.  
  3590. Several control keys have been changed so that the same set
  3591. of keys may be used on both the enhanced and regular
  3592. keyboards.  These keys are:
  3593.  
  3594. Old         New          Description
  3595. <ctrl/>     <alt/>       Pop-up Newkey menu
  3596. <ctrlesc>   <ctrldel>    Cancel Newkey processing
  3597. <cutpaste>  <ctrlins>    Default key to cut to
  3598.  
  3599. If you are unhappy with the new key assignments the "Update
  3600. Control Keys" menu selection may be used to permanently
  3601. change them.
  3602.  
  3603. The <cutpaste> key generated by alt-shift-p is no longer
  3604. created.
  3605.  
  3606. The following functions can no longer be entered by pressing
  3607. a hot key (use the macro editor instead):
  3608.  
  3609. - time delay (<ctrl->)
  3610. - slow typing off (<ctrl3>)
  3611. - slow typing on (<ctrl4>)
  3612.  
  3613. The ability to make absolute parameter changes has been
  3614. replaced by the {set} option.
  3615.  
  3616. All of the extra keys created by Newkey on the regular
  3617. keyboard are now also created on the enhanced keyboard.
  3618.  
  3619. - Improved, mnemonic user interface
  3620. - Significantly faster file loading and macro clearing
  3621. - Display macros allow text to be displayed and input requested
  3622. - Menu macros allow custom build menu systems
  3623.                                                               80
  3624.  
  3625. - Edit macros as they are being defined
  3626. - Default path and extension for macro files
  3627. - Easy control of shift status (alt, ctrl, and scroll)
  3628. - Clear macros, a new macro function
  3629. - Load and merge macros from disk, a new macro function
  3630. - Save macros to disk, a new macro function
  3631. - Define a macro to a specific definition, a new macro function
  3632. - Set Newkey options from within a macro, new macro functions
  3633. - Delete a macro from within a macro, a new macro function
  3634. - Send a macro to the printer, a new macro function,
  3635. - Wait for next key before continuing, a new macro function
  3636. - Wait for next key before continuing, but keep key, a new macro
  3637. function
  3638. - Wait for specific key before continuing, a new macro function
  3639. - Fixed field which allows macro playback of key struck, a new
  3640. macro function
  3641. - Turn cursor on/off, new macro functions
  3642. - Cut from screen, new macro function
  3643. - Specify the key to cut to when cutting
  3644. - Specify the cut and paste line end key
  3645. - Signal shorthand macro end without having delimiter included in
  3646. playback
  3647. - Zerofill date function switch
  3648. - Caps/ctrl key switch on enhanced keyboard
  3649. - Alt, caps, and ctrl space supported
  3650. - Improved support on enhanced keyboards for additional key
  3651. codes
  3652.  
  3653. Version 4.0 (April 1987)
  3654.  
  3655. The version 4.0 macro file format is slightly different than
  3656. version 3.0.  For instructions on how to convert your files run
  3657. the program CONV3TO4.
  3658.                                                               81
  3659.  
  3660.                                     INDEX
  3661.  
  3662.  
  3663.     \  27, 45
  3664.     absolute  79
  3665.     alt,  1, 26, 42, 45, 59, 63, 70, 77, 79, 80
  3666.     alt-  6, 13, 14, 18, 25, 30, 31, 45, 70
  3667.     alt/  8, 45, 49, 70, 79
  3668.     alt=  5, 13, 14, 18, 25, 30, 31, 45, 70
  3669.     autoexec.bat  56
  3670.  
  3671.     backspace  29, 45, 77
  3672.     batch file  21, 53, 54, 56, 65
  3673.     beep  6, 9, 16, 35, 36, 39, 40, 46, 62, 72
  3674.     bks  45, 70
  3675.     black and white mode  16, 46, 58, 61
  3676.     blank  16, 42, 46, 58, 63
  3677.     boiler plate  1
  3678.     boot  4, 56, 57
  3679.     buffer  1, 3, 4, 7, 16, 19, 20, 24, 25, 33, 36, 43, 50, 52, 54, 58,
  3680.      61, 63, 73
  3681.     buffer size  4
  3682.     bugs  60, 64, 65
  3683.     bypass  14, 18, 20, 28
  3684.  
  3685.     cancel  5, 7, 20, 31, 35, 37-39, 45, 79
  3686.     cap/num lock 44, 46
  3687.     caps/ctrl  16, 44, 46, 80
  3688.     circular  30
  3689.     clear  9, 20, 35, 36, 39, 40, 52, 54, 72, 80
  3690.     click  16, 44, 46
  3691.     colors  2, 46, 47, 49, 61, 78
  3692.     combining  56, 57
  3693.     compatibility  32, 43, 46, 60-62
  3694.     control keys  27, 33, 45, 54, 58, 79
  3695.     copying  24, 25, 66
  3696.     ctrl break  61, 71
  3697.     ctrl-  70, 79
  3698.     ctrl/  49, 70, 79
  3699.     ctrl\  8, 9, 45, 70
  3700.     ctrl2  14, 20, 28, 45, 69
  3701.     ctrl6  20, 45, 69
  3702.     ctrldel  20, 31, 45, 70, 79
  3703.     ctrlh  8, 45, 60, 69
  3704.     ctrlins  33, 45, 55, 70, 79
  3705.                                                               82
  3706.  
  3707.     ctrl[  18, 45, 70
  3708.     ctrl]  12, 13, 45, 70
  3709.     cursor  6, 9, 10, 12, 16-18, 23, 24, 31-33, 35, 36, 38-40, 46, 72,
  3710.      74, 75, 80
  3711.     cut  1, 10, 32, 33, 45, 72, 79, 80
  3712.  
  3713.     date  2, 10, 11, 16, 46, 72, 80
  3714.     deactivate  45, 60
  3715.     defining  5-7, 9, 16, 23, 26, 27, 29-31, 37, 46, 47, 55, 56, 62,
  3716.      63, 72, 78
  3717.     deleting  7, 12, 25, 33
  3718.     demo  2, 67
  3719.     description  5, 13, 14, 16, 18, 23, 25, 31, 35, 39-41, 45-48, 58,
  3720.      72, 79
  3721.     directory  2, 20, 23, 39, 52, 54, 57
  3722.     disk wait  16, 22, 46
  3723.     display macro  13, 15, 24, 25, 34, 35, 38, 54, 73
  3724.     documentation  66, 68
  3725.     DOS  3, 6, 21, 22, 39, 43, 54, 57, 61, 65
  3726.  
  3727.     editing  6, 9, 23-25, 34, 35, 37-39, 52
  3728.     EGA  62
  3729.     enhanced  16, 44, 61, 71, 79, 80
  3730.     error correction  8, 60
  3731.     evaluation  1, 65-68
  3732.     example  1, 4-6, 10-12, 14, 17-19, 24, 26-32, 34, 46, 48, 53-57,
  3733.      63, 77, 78
  3734.     extended ascii   59
  3735.     extended codes  74
  3736.     extended keyboard buffer  1, 43, 58, 63
  3737.     extension  51, 57, 79
  3738.  
  3739.     fast key  16, 43, 44, 46, 63
  3740.     fill-in-the-blanks  12, 18
  3741.     forced load  4
  3742.     functions  2, 9-11, 14, 15, 17, 19, 21, 22, 24, 32, 45, 51, 53, 59,
  3743.      61, 68, 72, 76, 79, 80
  3744.  
  3745.     graphics mode  7
  3746.     guard  13, 50, 52, 73
  3747.  
  3748.     Hercules  62
  3749.  
  3750.     ignore keys  60, 63, 77
  3751.     inactivate  20
  3752.                                                               83
  3753.  
  3754.     input macro  34, 36
  3755.     installation  2
  3756.  
  3757.     JBOOT  4
  3758.  
  3759.     keys supported  55, 61, 69
  3760.  
  3761.     limitations  32, 61, 68
  3762.     load order  4, 58
  3763.     loading  4, 13, 14, 21, 50-52, 56, 57, 62, 79
  3764.  
  3765.     macro  1-41, 45-48, 50-54, 56, 57, 60-63, 65, 72, 73, 77, 79, 80
  3766.     macro file  6, 11, 14, 25, 26, 50-54, 56, 57, 72, 73, 79, 80
  3767.     macro functions  9, 24, 32, 61, 80
  3768.     memory  1, 4-9, 12-15, 20, 21, 43, 50-52, 54, 56-58, 60-62, 65,
  3769.      72
  3770.     menu macro  9, 16, 39-41, 73
  3771.     merge  14, 51, 54, 57, 72, 80
  3772.     messages  6, 30, 46, 47
  3773.     monitor  6, 46, 58, 61
  3774.     move  23, 24, 32-34, 37, 38, 46, 48
  3775.     multi-character macro  1, 5, 23, 26-29, 34, 36, 39, 40, 45, 54
  3776.  
  3777.     Newkey  1-12, 14-34, 36, 41-51, 53-67, 69, 72, 76, 77, 79, 80
  3778.     Newkeysm  8, 14, 15, 60, 61, 65
  3779.     Newkeysp  2, 21, 22, 27, 32, 45-54, 56, 60, 63, 65, 77
  3780.  
  3781.     order form  66
  3782.     overwriting  14
  3783.  
  3784.     parameters  16, 21, 22, 28, 29, 42-48, 53, 56, 62, 63
  3785.     paste  1, 10, 32, 33, 45, 80
  3786.     path  2, 51, 57, 79
  3787.     pause  7, 19, 31, 32, 45, 73
  3788.     PC-Write  42, 59, 63
  3789.     permission to copy  1, 65-67
  3790.     playback  1, 3, 4, 9, 10, 12, 14, 17-20, 22, 26-32, 35, 36, 40,
  3791.      45, 60, 63, 73, 80
  3792.     playback bypass  14, 20, 28
  3793.     preventing key creation  48, 58
  3794.     price list  66
  3795.     printer  15, 16, 72, 80
  3796.     problems  22, 25, 32, 43, 48, 55, 58, 60, 62-65, 76
  3797.  
  3798.     readme  2, 5, 60, 63, 65
  3799.                                                               84
  3800.  
  3801.     record mode  32
  3802.     recursion  30, 31
  3803.     requirements  60, 61, 68
  3804.     restore  8, 15-17, 35, 36, 42, 46, 59, 63, 72, 73
  3805.     rules  25, 28, 66, 67
  3806.  
  3807.     sample macro files  2
  3808.     saving macro files  57
  3809.     scan codes  77
  3810.     scope  32
  3811.     screen  1, 6, 8-10, 15-17, 22-24, 28, 32-40, 42, 44-52, 58, 59,
  3812.      62, 63, 65, 72, 73, 80
  3813.     screen saver  1, 42, 58, 59
  3814.     set option  16, 73
  3815.     shift key  48, 55, 63
  3816.     shift status reset  16, 46, 63
  3817.     shorthand  1, 16, 27-29, 45, 46, 80
  3818.     single step   46
  3819.     size  4, 7, 43
  3820.     slow typing  16, 17, 20-22, 31, 32, 46, 54, 60, 79
  3821.     Smartcom  59
  3822.     space  4, 7, 8, 27, 63, 74-77, 80
  3823.     status line  6, 7, 12, 16, 18, 31, 46-48, 62, 63
  3824.     summary of changes  2, 79
  3825.     support  1, 2, 53, 61, 64-66, 68, 80
  3826.     synonym  55, 58
  3827.  
  3828.     time delay  17, 21, 22, 31, 60, 79
  3829.     tips  2, 56
  3830.     title  39-41, 72, 73
  3831.     translation  23, 30, 36, 61, 73, 76
  3832.  
  3833.     undefinable keys  71
  3834.     unload  7, 20, 21, 54
  3835.     user-supported  66, 67
  3836.  
  3837.     wait for key  19, 73
  3838.     window  5, 6, 13, 26, 30, 34-41, 47, 62, 72, 73
  3839.     Word Perfect  42, 59
  3840.     Wordstar  44, 54
  3841.  
  3842.     XYWrite  59
  3843.  
  3844.     zero fill  11, 16, 46
  3845. 
  3846.