Home » Archimedes archive » Acorn User » AU 1997-12.adf » PD » Hotkeys/!Hotkeys/!Help

Hotkeys/!Hotkeys/!Help

This website contains an archive of files for the Acorn Electron, BBC Micro, Acorn Archimedes, Commodore 16 and Commodore 64 computers, which Dominic Ford has rescued from his private collection of floppy disks and cassettes.

Some of these files were originally commercial releases in the 1980s and 1990s, but they are now widely available online. I assume that copyright over them is no longer being asserted. If you own the copyright and would like files to be removed, please contact me.

Tape/disk: Home » Archimedes archive » Acorn User » AU 1997-12.adf » PD
Filename: Hotkeys/!Hotkeys/!Help
Read OK:
File size: 33B0 bytes
Load address: 0000
Exec address: 0000
File contents
      20 : REM **************************************************************
      30 : REM ** Module Generation For RPCUtils (Hotkeys)                 **
      40 : REM ** Written by Phillip Camp                                  **
      50 : REM ** Version: 0.25                                            **
      60 : REM ** Date: 21March97                                          **
      70 : REM **************************************************************
      80 : REM ** Version Revision:                                        **
      90 : REM **                                                          **
     100 : REM **  0.01  First attempts                                    **
     110 : REM **  0.02  O' dear this is more tricky than i first thought  **
     120 : REM **  0.03  It did somthing, now it just sits there :-(       **
     130 : REM **  0.04  It sort of works all i need is to get it to do    **
     140 : REM **        somthing useful                                   **
     150 : REM **  0.05  Mem read write usage problems investigated        **
     160 : REM **  0.06  Its slove the weird errors time and rewrite       **
     170 : REM **  0.07  Ok lets get it do somthing usefull                **
     180 : REM **  0.08  Ok lets get rid of that keyboard repeat           **
     190 : REM **  0.09  OK lets have a total rewrite                      **
     200 : REM **  0.10  CD works now lets try out proper hotkeys in this  **
     210 : REM **  0.11  CD track detection added & code tidied            **
     220 : REM **  0.12  More tweeking                                     **
     230 : REM **  0.13  add seconard trigeer & firmkey & trigger config   **
     240 : REM **        (I really should comment my code better it would  **
     250 : REM **        have made this bit a lot less painful.            **
     260 : REM **  0.14  cd dives config now actually works                **
     270 : REM **        (well with  two ide cd-drives anyway)             **
     280 : REM **  0.15  tidycode & error handling in init code            **
     290 : REM **  0.16  Experimental bug fix using sys vars               **
     300 : REM **  0.17  Bug which some times disbaled kybd fixed          **
     310 : REM **  0.18  Fixbug introduced in 0.17 which caused all        **
     320 : REM **        machines runing 3.11 or less to crash.  Bug due   **
     330 : REM **        failure to preserve R14_SVC in event handler.     **
     340 : REM **  0.19  Tidy code replace keydis varval with internal fix **
     350 : REM **  0.20  Init code fixed from 0.19 logic reworked in       **
     360 : REM **        event handler.                                    **
     370 : REM **  0.21  Minor Changes to cd pause function now works      **
     380 : REM **  0.22  Esc Now pauses and unpauses cds                   **
     390 : REM **  0.23  Finally Located bug that was introduced in v0.18  **
     400 : REM **        onwards that caused hotkeys to think it still had **
     410 : REM **        a trigger key pressed on very rare occasions.     **
     420 : REM **        After finding a way of replicating the fault      **
     430 : REM **        accurately.                                       **
     440 : REM **  0.24  trig1 trig2 scroll lock now ejects experimental   **
     450 : REM **        for some people having trouble with play next     **
     460 : REM **        track.                                            **
     470 : REM **  0.25  Gstrans Support added. Leading char as flag       **
     471 : REM **        * oscli                                           **
     472 : REM **        # oscli + gstrans                                 **
     473 : REM **        / firmkey                                         **
     474 : REM **        \ firmkey + gstrans                               **
     475 : REM **                                                          **
     480 : REM **************************************************************

				HotKeys
				-------

  The Hotkeys Utillity is (C) Phillip Camp 1996/7, but is released as freeware.
  This means that you may copy and distribute it, subject to certain
  conditions.  Hotkeys should only be distributed with the whole contents of 
  the original archive, with all files unmodified.

  Specifically, as an individual, you may only charge to cover the cost
  of distributing it, and you may not use it to make money directly or
  indirectly.

  The author does not accept any responsibility for any loss,damage or
  whatever resulting from the use of Hotkeys. It is supplied "as is.".




This is not much of a help file so far details of how to use hotkeys are detailed
in earlier verion histories 0.12-0.17.

Beta Test Hotkeys v0.25
----------------------- 

Nothing really new. Fist char now action identifier.

     * oscli                                           
     # oscli + gstrans                                 
     / firmkey                                         
     \ firmkey + gstrans                                 


Beta Test Hotkeys v0.24
-----------------------

trig1 trig2 scroll lock now ejects.  Experimental for some people having trouble 
with play next track.  Minor Changes to all CDfunctions to do with CDBlock.
 
Beta Test Hotkeys v0.23
-----------------------

Last major bug fixed in triger detection code.  Minior changes to finalisation
code to use the altered disabled keyboard routine.
 
Beta Test Hotkeys v0.22
-----------------------

Pause / Unpause function added to triger-escape key
    
Beta Test Hotkeys v0.21
-----------------------

Problem with pause being called with uninit cdblock fixed.

Beta Test Hotkeys v0.20
-----------------------

Minior Internal Changes. Init code fixed from 0.19, logic reworked in event handler.
Show be a bit faster.

Beta test Hotkeys v0.19
-----------------------

Removed Use of hotkeys$disablekybd var val and tidied code.  Event routine now 
quicker could be considerably slower somtimes on v0.15-18.


Beta test Hotkeys v0.18
-----------------------

New detection routine added in 0.17 was added to event handler before R14_SVC
had been preserved causing R14_SVC to be corrputed by swi call causing,
machines running Risc OS 3.11 or earlier to crash.  Fixed in 0.18

Beta test Hotkeys v0.15 - v0.17
-------------------------------

Improved version of processHK should not fail on archived versions using arcfs
with RMA memory management.  Module should know longer disable kybd if module is 
replaced halfway, though the hotkey cycle. On the fly cddrive config enabled with 
hotkeys$cddrive sys var.

use:

*SetEval  hotkeys$cddrive 1

Also:

*IF <hotkeys$cdDrive> = 1 THEN cdfs:play 11 1 ELSE cdfs:play 11 0

Use cdfs drive 1 for internal cd calls.

Note: Sys Var  hotkeys$disablekybd
Is for internal use winthin the progarm only DO NOT ALTER IT....
If you do you do so at your own risc...... 


Beta test Hotkeys v0.14
-----------------------

Mutliple cd drive config now fixed (after finding error in acorns example cd code) 
and tested by myself to some extent.

And add that the last key in each sequence is now no longer inserted into the kybd
buffer. (was in 0.13 but forgot to document it). :-)


Beta test Hotkeys v0.13
-----------------------

No charcaters are inserted in kybd buffer when using a hotkey.

Firmkey support added (all strings not starting with * are fed into the kybd buffer.

Added cd drive config for hardwired keys.

Added secondary trigger key.
Different keydata files for trigger keys.
just primary = keydata1
primary and secondary = keydata2

eg 

trigkey hotkey and trigkey trigkey2 hotkey.

say prime trig == LALT and sec  trig == RALT
c in keydata1 =*cache OFF
c in keydata2 =*cache ON

so LALT c will turn the cache off and LALT RALT c will turn the cache on.

keyconfig format

cddriveno<NL>
primary trigger key nemonic<NL>
secondary trigger key nemonic<NL>

Beta test Hotkeys v0.12
-----------------------

Ok this is rather primitive at the moment.  Just put the key you wish to add a hotkey for and an nl followed by the oscli command and a nl.  Like in the
Hotkeys file included.

Hard wired hotkeys

Alt escape pause cd  
Alt F1 - F12 play cd track
Alt Print play current track + 1
Alt Scroll Lock eject cd



Current key mappings 

data keycodes[MAX_KEYCODES+1] = {
                               {"`",0x10},
                               {"1",0x11},
                               {"2",0x12},
                               {"3",0x13},
                               {"4",0x14},
                               {"5",0x15},
                               {"6",0x16},
                               {"7",0x17},
                               {"8",0x18},
                               {"9",0x19},
                               {"0",0x1a},
                               {"-",0x1b},
                               {"=",0x1c},
                               {"BackSpace",0x1e},
                               {"v1",0x1f},
                               {"Insert",0x1f},
                               {"Home",0x20},
                               {"PageUp",0x21},
                               {"NumLock",0x22},
                               {"n/",0x23},
                               {"n*",0x24},
                               {"n-",0x25},
                               {"Tab",0x26},
                               {"q",0x27},
                               {"w",0x28},
                               {"e",0x29},
                               {"r",0x2a},
                               {"t",0x2b},
                               {"y",0x2c},
                               {"u",0x2d},
                               {"i",0x2e},
                               {"o",0x2f},
                               {"p",0x30},
                               {"[",0x31},
                               {"]",0x32},
                               {"v2",0x33},
                               {"Delete",0x34},
                               {"Copy",0x35},
                               {"PageDown",0x36},
                               {"n7",0x37},
                               {"n8",0x38},
                               {"n9",0x39},
                               {"v3",0x3a},
                               {"RightControl",0x3b},
                               {"a",0x3c},
                               {"s",0x3d},
                               {"d",0x3e},
                               {"f",0x3f},
                               {"g",0x40},
                               {"h",0x41},
                               {"j",0x42},
                               {"k",0x43},
                               {"l",0x44},
                               {";",0x45},
                               {"'",0x46},
                               {"Return",0x47},
                               {"n4",0x48},
                               {"n5",0x49},
                               {"n6",0x4a},
                               {"n+",0x4b},
                               {"LeftShift",0x4c},
                               {"\\",0x4d},
                               {"z",0x4e},
                               {"x",0x4f},
                               {"c",0x50},
                               {"v",0x51},
                               {"b",0x52},
                               {"n",0x53},
                               {"m",0x54},
                               {",",0x55},
                               {".",0x56},
                               {"/",0x57},
                               {"RightShift",0x58},
                               {"Up",0x59},
                               {"n1",0x5a},
                               {"n2",0x5b},
                               {"n3",0x5c},
                               {"CapsLock",0x5d},
                               {"LeftAlt",0x5e},
                               {"Space",0x5f},
                               {"RightAlt",0x60},
                               {"RightControl",0x61},
                               {"Left",0x62},
                               {"Down",0x63},
                               {"Right",0x64},
                               {"n0",0x65},
                               {"n.",0x66},
                               {"Enter",0x67},
                               {"",BYTE_TERM}
                               };


Wish list
---------

A nice gui to go with the module.
Run helpfile though spell checker
This program reaching no. 1 on hensas download list. :-)


by

+-------------------------------------------------------------------------+
|                -=>>Phillip Camp pssc1@ukc.ac.uk<<=-                     |
+-------------------------------------------------------------------------+
|   "It's what I do," he muttered to himself.                             |
|   "Any time there's somthing so rediculously dangerous that no rational |
|    human being would even consider trying it, they send for me."        |
|               -- Belgarion                                              |
|               (David Eddings, King Of The Murgos)                       |
+-------------------------------------------------------------------------+

00000000  0a 20 20 20 20 20 20 32  30 20 3a 20 52 45 4d 20  |.      20 : REM |
00000010  2a 2a 2a 2a 2a 2a 2a 2a  2a 2a 2a 2a 2a 2a 2a 2a  |****************|
*
00000040  2a 2a 2a 2a 2a 2a 2a 2a  2a 2a 2a 2a 2a 2a 0a 20  |**************. |
00000050  20 20 20 20 20 33 30 20  3a 20 52 45 4d 20 2a 2a  |     30 : REM **|
00000060  20 4d 6f 64 75 6c 65 20  47 65 6e 65 72 61 74 69  | Module Generati|
00000070  6f 6e 20 46 6f 72 20 52  50 43 55 74 69 6c 73 20  |on For RPCUtils |
00000080  28 48 6f 74 6b 65 79 73  29 20 20 20 20 20 20 20  |(Hotkeys)       |
00000090  20 20 20 20 20 20 20 20  20 20 2a 2a 0a 20 20 20  |          **.   |
000000a0  20 20 20 34 30 20 3a 20  52 45 4d 20 2a 2a 20 57  |   40 : REM ** W|
000000b0  72 69 74 74 65 6e 20 62  79 20 50 68 69 6c 6c 69  |ritten by Philli|
000000c0  70 20 43 61 6d 70 20 20  20 20 20 20 20 20 20 20  |p Camp          |
000000d0  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
000000e0  20 20 20 20 20 20 20 20  2a 2a 0a 20 20 20 20 20  |        **.     |
000000f0  20 35 30 20 3a 20 52 45  4d 20 2a 2a 20 56 65 72  | 50 : REM ** Ver|
00000100  73 69 6f 6e 3a 20 30 2e  32 35 20 20 20 20 20 20  |sion: 0.25      |
00000110  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
*
00000130  20 20 20 20 20 20 2a 2a  0a 20 20 20 20 20 20 36  |      **.      6|
00000140  30 20 3a 20 52 45 4d 20  2a 2a 20 44 61 74 65 3a  |0 : REM ** Date:|
00000150  20 32 31 4d 61 72 63 68  39 37 20 20 20 20 20 20  | 21March97      |
00000160  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
*
00000180  20 20 20 20 2a 2a 0a 20  20 20 20 20 20 37 30 20  |    **.      70 |
00000190  3a 20 52 45 4d 20 2a 2a  2a 2a 2a 2a 2a 2a 2a 2a  |: REM **********|
000001a0  2a 2a 2a 2a 2a 2a 2a 2a  2a 2a 2a 2a 2a 2a 2a 2a  |****************|
*
000001d0  2a 2a 2a 2a 0a 20 20 20  20 20 20 38 30 20 3a 20  |****.      80 : |
000001e0  52 45 4d 20 2a 2a 20 56  65 72 73 69 6f 6e 20 52  |REM ** Version R|
000001f0  65 76 69 73 69 6f 6e 3a  20 20 20 20 20 20 20 20  |evision:        |
00000200  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
*
00000220  2a 2a 0a 20 20 20 20 20  20 39 30 20 3a 20 52 45  |**.      90 : RE|
00000230  4d 20 2a 2a 20 20 20 20  20 20 20 20 20 20 20 20  |M **            |
00000240  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
*
00000260  20 20 20 20 20 20 20 20  20 20 20 20 20 20 2a 2a  |              **|
00000270  0a 20 20 20 20 20 31 30  30 20 3a 20 52 45 4d 20  |.     100 : REM |
00000280  2a 2a 20 20 30 2e 30 31  20 20 46 69 72 73 74 20  |**  0.01  First |
00000290  61 74 74 65 6d 70 74 73  20 20 20 20 20 20 20 20  |attempts        |
000002a0  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
000002b0  20 20 20 20 20 20 20 20  20 20 20 20 2a 2a 0a 20  |            **. |
000002c0  20 20 20 20 31 31 30 20  3a 20 52 45 4d 20 2a 2a  |    110 : REM **|
000002d0  20 20 30 2e 30 32 20 20  4f 27 20 64 65 61 72 20  |  0.02  O' dear |
000002e0  74 68 69 73 20 69 73 20  6d 6f 72 65 20 74 72 69  |this is more tri|
000002f0  63 6b 79 20 74 68 61 6e  20 69 20 66 69 72 73 74  |cky than i first|
00000300  20 74 68 6f 75 67 68 74  20 20 2a 2a 0a 20 20 20  | thought  **.   |
00000310  20 20 31 32 30 20 3a 20  52 45 4d 20 2a 2a 20 20  |  120 : REM **  |
00000320  30 2e 30 33 20 20 49 74  20 64 69 64 20 73 6f 6d  |0.03  It did som|
00000330  74 68 69 6e 67 2c 20 6e  6f 77 20 69 74 20 6a 75  |thing, now it ju|
00000340  73 74 20 73 69 74 73 20  74 68 65 72 65 20 3a 2d  |st sits there :-|
00000350  28 20 20 20 20 20 20 20  2a 2a 0a 20 20 20 20 20  |(       **.     |
00000360  31 33 30 20 3a 20 52 45  4d 20 2a 2a 20 20 30 2e  |130 : REM **  0.|
00000370  30 34 20 20 49 74 20 73  6f 72 74 20 6f 66 20 77  |04  It sort of w|
00000380  6f 72 6b 73 20 61 6c 6c  20 69 20 6e 65 65 64 20  |orks all i need |
00000390  69 73 20 74 6f 20 67 65  74 20 69 74 20 74 6f 20  |is to get it to |
000003a0  64 6f 20 20 20 20 2a 2a  0a 20 20 20 20 20 31 34  |do    **.     14|
000003b0  30 20 3a 20 52 45 4d 20  2a 2a 20 20 20 20 20 20  |0 : REM **      |
000003c0  20 20 73 6f 6d 74 68 69  6e 67 20 75 73 65 66 75  |  somthing usefu|
000003d0  6c 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |l               |
000003e0  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
000003f0  20 20 20 20 2a 2a 0a 20  20 20 20 20 31 35 30 20  |    **.     150 |
00000400  3a 20 52 45 4d 20 2a 2a  20 20 30 2e 30 35 20 20  |: REM **  0.05  |
00000410  4d 65 6d 20 72 65 61 64  20 77 72 69 74 65 20 75  |Mem read write u|
00000420  73 61 67 65 20 70 72 6f  62 6c 65 6d 73 20 69 6e  |sage problems in|
00000430  76 65 73 74 69 67 61 74  65 64 20 20 20 20 20 20  |vestigated      |
00000440  20 20 2a 2a 0a 20 20 20  20 20 31 36 30 20 3a 20  |  **.     160 : |
00000450  52 45 4d 20 2a 2a 20 20  30 2e 30 36 20 20 49 74  |REM **  0.06  It|
00000460  73 20 73 6c 6f 76 65 20  74 68 65 20 77 65 69 72  |s slove the weir|
00000470  64 20 65 72 72 6f 72 73  20 74 69 6d 65 20 61 6e  |d errors time an|
00000480  64 20 72 65 77 72 69 74  65 20 20 20 20 20 20 20  |d rewrite       |
00000490  2a 2a 0a 20 20 20 20 20  31 37 30 20 3a 20 52 45  |**.     170 : RE|
000004a0  4d 20 2a 2a 20 20 30 2e  30 37 20 20 4f 6b 20 6c  |M **  0.07  Ok l|
000004b0  65 74 73 20 67 65 74 20  69 74 20 64 6f 20 73 6f  |ets get it do so|
000004c0  6d 74 68 69 6e 67 20 75  73 65 66 75 6c 6c 20 20  |mthing usefull  |
000004d0  20 20 20 20 20 20 20 20  20 20 20 20 20 20 2a 2a  |              **|
000004e0  0a 20 20 20 20 20 31 38  30 20 3a 20 52 45 4d 20  |.     180 : REM |
000004f0  2a 2a 20 20 30 2e 30 38  20 20 4f 6b 20 6c 65 74  |**  0.08  Ok let|
00000500  73 20 67 65 74 20 72 69  64 20 6f 66 20 74 68 61  |s get rid of tha|
00000510  74 20 6b 65 79 62 6f 61  72 64 20 72 65 70 65 61  |t keyboard repea|
00000520  74 20 20 20 20 20 20 20  20 20 20 20 2a 2a 0a 20  |t           **. |
00000530  20 20 20 20 31 39 30 20  3a 20 52 45 4d 20 2a 2a  |    190 : REM **|
00000540  20 20 30 2e 30 39 20 20  4f 4b 20 6c 65 74 73 20  |  0.09  OK lets |
00000550  68 61 76 65 20 61 20 74  6f 74 61 6c 20 72 65 77  |have a total rew|
00000560  72 69 74 65 20 20 20 20  20 20 20 20 20 20 20 20  |rite            |
00000570  20 20 20 20 20 20 20 20  20 20 2a 2a 0a 20 20 20  |          **.   |
00000580  20 20 32 30 30 20 3a 20  52 45 4d 20 2a 2a 20 20  |  200 : REM **  |
00000590  30 2e 31 30 20 20 43 44  20 77 6f 72 6b 73 20 6e  |0.10  CD works n|
000005a0  6f 77 20 6c 65 74 73 20  74 72 79 20 6f 75 74 20  |ow lets try out |
000005b0  70 72 6f 70 65 72 20 68  6f 74 6b 65 79 73 20 69  |proper hotkeys i|
000005c0  6e 20 74 68 69 73 20 20  2a 2a 0a 20 20 20 20 20  |n this  **.     |
000005d0  32 31 30 20 3a 20 52 45  4d 20 2a 2a 20 20 30 2e  |210 : REM **  0.|
000005e0  31 31 20 20 43 44 20 74  72 61 63 6b 20 64 65 74  |11  CD track det|
000005f0  65 63 74 69 6f 6e 20 61  64 64 65 64 20 26 20 63  |ection added & c|
00000600  6f 64 65 20 74 69 64 69  65 64 20 20 20 20 20 20  |ode tidied      |
00000610  20 20 20 20 20 20 2a 2a  0a 20 20 20 20 20 32 32  |      **.     22|
00000620  30 20 3a 20 52 45 4d 20  2a 2a 20 20 30 2e 31 32  |0 : REM **  0.12|
00000630  20 20 4d 6f 72 65 20 74  77 65 65 6b 69 6e 67 20  |  More tweeking |
00000640  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
*
00000660  20 20 20 20 2a 2a 0a 20  20 20 20 20 32 33 30 20  |    **.     230 |
00000670  3a 20 52 45 4d 20 2a 2a  20 20 30 2e 31 33 20 20  |: REM **  0.13  |
00000680  61 64 64 20 73 65 63 6f  6e 61 72 64 20 74 72 69  |add seconard tri|
00000690  67 65 65 72 20 26 20 66  69 72 6d 6b 65 79 20 26  |geer & firmkey &|
000006a0  20 74 72 69 67 67 65 72  20 63 6f 6e 66 69 67 20  | trigger config |
000006b0  20 20 2a 2a 0a 20 20 20  20 20 32 34 30 20 3a 20  |  **.     240 : |
000006c0  52 45 4d 20 2a 2a 20 20  20 20 20 20 20 20 28 49  |REM **        (I|
000006d0  20 72 65 61 6c 6c 79 20  73 68 6f 75 6c 64 20 63  | really should c|
000006e0  6f 6d 6d 65 6e 74 20 6d  79 20 63 6f 64 65 20 62  |omment my code b|
000006f0  65 74 74 65 72 20 69 74  20 77 6f 75 6c 64 20 20  |etter it would  |
00000700  2a 2a 0a 20 20 20 20 20  32 35 30 20 3a 20 52 45  |**.     250 : RE|
00000710  4d 20 2a 2a 20 20 20 20  20 20 20 20 68 61 76 65  |M **        have|
00000720  20 6d 61 64 65 20 74 68  69 73 20 62 69 74 20 61  | made this bit a|
00000730  20 6c 6f 74 20 6c 65 73  73 20 70 61 69 6e 66 75  | lot less painfu|
00000740  6c 2e 20 20 20 20 20 20  20 20 20 20 20 20 2a 2a  |l.            **|
00000750  0a 20 20 20 20 20 32 36  30 20 3a 20 52 45 4d 20  |.     260 : REM |
00000760  2a 2a 20 20 30 2e 31 34  20 20 63 64 20 64 69 76  |**  0.14  cd div|
00000770  65 73 20 63 6f 6e 66 69  67 20 6e 6f 77 20 61 63  |es config now ac|
00000780  74 75 61 6c 6c 79 20 77  6f 72 6b 73 20 20 20 20  |tually works    |
00000790  20 20 20 20 20 20 20 20  20 20 20 20 2a 2a 0a 20  |            **. |
000007a0  20 20 20 20 32 37 30 20  3a 20 52 45 4d 20 2a 2a  |    270 : REM **|
000007b0  20 20 20 20 20 20 20 20  28 77 65 6c 6c 20 77 69  |        (well wi|
000007c0  74 68 20 20 74 77 6f 20  69 64 65 20 63 64 2d 64  |th  two ide cd-d|
000007d0  72 69 76 65 73 20 61 6e  79 77 61 79 29 20 20 20  |rives anyway)   |
000007e0  20 20 20 20 20 20 20 20  20 20 2a 2a 0a 20 20 20  |          **.   |
000007f0  20 20 32 38 30 20 3a 20  52 45 4d 20 2a 2a 20 20  |  280 : REM **  |
00000800  30 2e 31 35 20 20 74 69  64 79 63 6f 64 65 20 26  |0.15  tidycode &|
00000810  20 65 72 72 6f 72 20 68  61 6e 64 6c 69 6e 67 20  | error handling |
00000820  69 6e 20 69 6e 69 74 20  63 6f 64 65 20 20 20 20  |in init code    |
00000830  20 20 20 20 20 20 20 20  2a 2a 0a 20 20 20 20 20  |        **.     |
00000840  32 39 30 20 3a 20 52 45  4d 20 2a 2a 20 20 30 2e  |290 : REM **  0.|
00000850  31 36 20 20 45 78 70 65  72 69 6d 65 6e 74 61 6c  |16  Experimental|
00000860  20 62 75 67 20 66 69 78  20 75 73 69 6e 67 20 73  | bug fix using s|
00000870  79 73 20 76 61 72 73 20  20 20 20 20 20 20 20 20  |ys vars         |
00000880  20 20 20 20 20 20 2a 2a  0a 20 20 20 20 20 33 30  |      **.     30|
00000890  30 20 3a 20 52 45 4d 20  2a 2a 20 20 30 2e 31 37  |0 : REM **  0.17|
000008a0  20 20 42 75 67 20 77 68  69 63 68 20 73 6f 6d 65  |  Bug which some|
000008b0  20 74 69 6d 65 73 20 64  69 73 62 61 6c 65 64 20  | times disbaled |
000008c0  6b 79 62 64 20 66 69 78  65 64 20 20 20 20 20 20  |kybd fixed      |
000008d0  20 20 20 20 2a 2a 0a 20  20 20 20 20 33 31 30 20  |    **.     310 |
000008e0  3a 20 52 45 4d 20 2a 2a  20 20 30 2e 31 38 20 20  |: REM **  0.18  |
000008f0  46 69 78 62 75 67 20 69  6e 74 72 6f 64 75 63 65  |Fixbug introduce|
00000900  64 20 69 6e 20 30 2e 31  37 20 77 68 69 63 68 20  |d in 0.17 which |
00000910  63 61 75 73 65 64 20 61  6c 6c 20 20 20 20 20 20  |caused all      |
00000920  20 20 2a 2a 0a 20 20 20  20 20 33 32 30 20 3a 20  |  **.     320 : |
00000930  52 45 4d 20 2a 2a 20 20  20 20 20 20 20 20 6d 61  |REM **        ma|
00000940  63 68 69 6e 65 73 20 72  75 6e 69 6e 67 20 33 2e  |chines runing 3.|
00000950  31 31 20 6f 72 20 6c 65  73 73 20 74 6f 20 63 72  |11 or less to cr|
00000960  61 73 68 2e 20 20 42 75  67 20 64 75 65 20 20 20  |ash.  Bug due   |
00000970  2a 2a 0a 20 20 20 20 20  33 33 30 20 3a 20 52 45  |**.     330 : RE|
00000980  4d 20 2a 2a 20 20 20 20  20 20 20 20 66 61 69 6c  |M **        fail|
00000990  75 72 65 20 74 6f 20 70  72 65 73 65 72 76 65 20  |ure to preserve |
000009a0  52 31 34 5f 53 56 43 20  69 6e 20 65 76 65 6e 74  |R14_SVC in event|
000009b0  20 68 61 6e 64 6c 65 72  2e 20 20 20 20 20 2a 2a  | handler.     **|
000009c0  0a 20 20 20 20 20 33 34  30 20 3a 20 52 45 4d 20  |.     340 : REM |
000009d0  2a 2a 20 20 30 2e 31 39  20 20 54 69 64 79 20 63  |**  0.19  Tidy c|
000009e0  6f 64 65 20 72 65 70 6c  61 63 65 20 6b 65 79 64  |ode replace keyd|
000009f0  69 73 20 76 61 72 76 61  6c 20 77 69 74 68 20 69  |is varval with i|
00000a00  6e 74 65 72 6e 61 6c 20  66 69 78 20 2a 2a 0a 20  |nternal fix **. |
00000a10  20 20 20 20 33 35 30 20  3a 20 52 45 4d 20 2a 2a  |    350 : REM **|
00000a20  20 20 30 2e 32 30 20 20  49 6e 69 74 20 63 6f 64  |  0.20  Init cod|
00000a30  65 20 66 69 78 65 64 20  66 72 6f 6d 20 30 2e 31  |e fixed from 0.1|
00000a40  39 20 6c 6f 67 69 63 20  72 65 77 6f 72 6b 65 64  |9 logic reworked|
00000a50  20 69 6e 20 20 20 20 20  20 20 2a 2a 0a 20 20 20  | in       **.   |
00000a60  20 20 33 36 30 20 3a 20  52 45 4d 20 2a 2a 20 20  |  360 : REM **  |
00000a70  20 20 20 20 20 20 65 76  65 6e 74 20 68 61 6e 64  |      event hand|
00000a80  6c 65 72 2e 20 20 20 20  20 20 20 20 20 20 20 20  |ler.            |
00000a90  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
00000aa0  20 20 20 20 20 20 20 20  2a 2a 0a 20 20 20 20 20  |        **.     |
00000ab0  33 37 30 20 3a 20 52 45  4d 20 2a 2a 20 20 30 2e  |370 : REM **  0.|
00000ac0  32 31 20 20 4d 69 6e 6f  72 20 43 68 61 6e 67 65  |21  Minor Change|
00000ad0  73 20 74 6f 20 63 64 20  70 61 75 73 65 20 66 75  |s to cd pause fu|
00000ae0  6e 63 74 69 6f 6e 20 6e  6f 77 20 77 6f 72 6b 73  |nction now works|
00000af0  20 20 20 20 20 20 2a 2a  0a 20 20 20 20 20 33 38  |      **.     38|
00000b00  30 20 3a 20 52 45 4d 20  2a 2a 20 20 30 2e 32 32  |0 : REM **  0.22|
00000b10  20 20 45 73 63 20 4e 6f  77 20 70 61 75 73 65 73  |  Esc Now pauses|
00000b20  20 61 6e 64 20 75 6e 70  61 75 73 65 73 20 63 64  | and unpauses cd|
00000b30  73 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |s               |
00000b40  20 20 20 20 2a 2a 0a 20  20 20 20 20 33 39 30 20  |    **.     390 |
00000b50  3a 20 52 45 4d 20 2a 2a  20 20 30 2e 32 33 20 20  |: REM **  0.23  |
00000b60  46 69 6e 61 6c 6c 79 20  4c 6f 63 61 74 65 64 20  |Finally Located |
00000b70  62 75 67 20 74 68 61 74  20 77 61 73 20 69 6e 74  |bug that was int|
00000b80  72 6f 64 75 63 65 64 20  69 6e 20 76 30 2e 31 38  |roduced in v0.18|
00000b90  20 20 2a 2a 0a 20 20 20  20 20 34 30 30 20 3a 20  |  **.     400 : |
00000ba0  52 45 4d 20 2a 2a 20 20  20 20 20 20 20 20 6f 6e  |REM **        on|
00000bb0  77 61 72 64 73 20 74 68  61 74 20 63 61 75 73 65  |wards that cause|
00000bc0  64 20 68 6f 74 6b 65 79  73 20 74 6f 20 74 68 69  |d hotkeys to thi|
00000bd0  6e 6b 20 69 74 20 73 74  69 6c 6c 20 68 61 64 20  |nk it still had |
00000be0  2a 2a 0a 20 20 20 20 20  34 31 30 20 3a 20 52 45  |**.     410 : RE|
00000bf0  4d 20 2a 2a 20 20 20 20  20 20 20 20 61 20 74 72  |M **        a tr|
00000c00  69 67 67 65 72 20 6b 65  79 20 70 72 65 73 73 65  |igger key presse|
00000c10  64 20 6f 6e 20 76 65 72  79 20 72 61 72 65 20 6f  |d on very rare o|
00000c20  63 63 61 73 69 6f 6e 73  2e 20 20 20 20 20 2a 2a  |ccasions.     **|
00000c30  0a 20 20 20 20 20 34 32  30 20 3a 20 52 45 4d 20  |.     420 : REM |
00000c40  2a 2a 20 20 20 20 20 20  20 20 41 66 74 65 72 20  |**        After |
00000c50  66 69 6e 64 69 6e 67 20  61 20 77 61 79 20 6f 66  |finding a way of|
00000c60  20 72 65 70 6c 69 63 61  74 69 6e 67 20 74 68 65  | replicating the|
00000c70  20 66 61 75 6c 74 20 20  20 20 20 20 2a 2a 0a 20  | fault      **. |
00000c80  20 20 20 20 34 33 30 20  3a 20 52 45 4d 20 2a 2a  |    430 : REM **|
00000c90  20 20 20 20 20 20 20 20  61 63 63 75 72 61 74 65  |        accurate|
00000ca0  6c 79 2e 20 20 20 20 20  20 20 20 20 20 20 20 20  |ly.             |
00000cb0  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
00000cc0  20 20 20 20 20 20 20 20  20 20 2a 2a 0a 20 20 20  |          **.   |
00000cd0  20 20 34 34 30 20 3a 20  52 45 4d 20 2a 2a 20 20  |  440 : REM **  |
00000ce0  30 2e 32 34 20 20 74 72  69 67 31 20 74 72 69 67  |0.24  trig1 trig|
00000cf0  32 20 73 63 72 6f 6c 6c  20 6c 6f 63 6b 20 6e 6f  |2 scroll lock no|
00000d00  77 20 65 6a 65 63 74 73  20 65 78 70 65 72 69 6d  |w ejects experim|
00000d10  65 6e 74 61 6c 20 20 20  2a 2a 0a 20 20 20 20 20  |ental   **.     |
00000d20  34 35 30 20 3a 20 52 45  4d 20 2a 2a 20 20 20 20  |450 : REM **    |
00000d30  20 20 20 20 66 6f 72 20  73 6f 6d 65 20 70 65 6f  |    for some peo|
00000d40  70 6c 65 20 68 61 76 69  6e 67 20 74 72 6f 75 62  |ple having troub|
00000d50  6c 65 20 77 69 74 68 20  70 6c 61 79 20 6e 65 78  |le with play nex|
00000d60  74 20 20 20 20 20 2a 2a  0a 20 20 20 20 20 34 36  |t     **.     46|
00000d70  30 20 3a 20 52 45 4d 20  2a 2a 20 20 20 20 20 20  |0 : REM **      |
00000d80  20 20 74 72 61 63 6b 2e  20 20 20 20 20 20 20 20  |  track.        |
00000d90  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
*
00000db0  20 20 20 20 2a 2a 0a 20  20 20 20 20 34 37 30 20  |    **.     470 |
00000dc0  3a 20 52 45 4d 20 2a 2a  20 20 30 2e 32 35 20 20  |: REM **  0.25  |
00000dd0  47 73 74 72 61 6e 73 20  53 75 70 70 6f 72 74 20  |Gstrans Support |
00000de0  61 64 64 65 64 2e 20 4c  65 61 64 69 6e 67 20 63  |added. Leading c|
00000df0  68 61 72 20 61 73 20 66  6c 61 67 20 20 20 20 20  |har as flag     |
00000e00  20 20 2a 2a 0a 20 20 20  20 20 34 37 31 20 3a 20  |  **.     471 : |
00000e10  52 45 4d 20 2a 2a 20 20  20 20 20 20 20 20 2a 20  |REM **        * |
00000e20  6f 73 63 6c 69 20 20 20  20 20 20 20 20 20 20 20  |oscli           |
00000e30  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
*
00000e50  2a 2a 0a 20 20 20 20 20  34 37 32 20 3a 20 52 45  |**.     472 : RE|
00000e60  4d 20 2a 2a 20 20 20 20  20 20 20 20 23 20 6f 73  |M **        # os|
00000e70  63 6c 69 20 2b 20 67 73  74 72 61 6e 73 20 20 20  |cli + gstrans   |
00000e80  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
00000e90  20 20 20 20 20 20 20 20  20 20 20 20 20 20 2a 2a  |              **|
00000ea0  0a 20 20 20 20 20 34 37  33 20 3a 20 52 45 4d 20  |.     473 : REM |
00000eb0  2a 2a 20 20 20 20 20 20  20 20 2f 20 66 69 72 6d  |**        / firm|
00000ec0  6b 65 79 20 20 20 20 20  20 20 20 20 20 20 20 20  |key             |
00000ed0  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
00000ee0  20 20 20 20 20 20 20 20  20 20 20 20 2a 2a 0a 20  |            **. |
00000ef0  20 20 20 20 34 37 34 20  3a 20 52 45 4d 20 2a 2a  |    474 : REM **|
00000f00  20 20 20 20 20 20 20 20  5c 20 66 69 72 6d 6b 65  |        \ firmke|
00000f10  79 20 2b 20 67 73 74 72  61 6e 73 20 20 20 20 20  |y + gstrans     |
00000f20  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
00000f30  20 20 20 20 20 20 20 20  20 20 2a 2a 0a 20 20 20  |          **.   |
00000f40  20 20 34 37 35 20 3a 20  52 45 4d 20 2a 2a 20 20  |  475 : REM **  |
00000f50  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
*
00000f80  20 20 20 20 20 20 20 20  2a 2a 0a 20 20 20 20 20  |        **.     |
00000f90  34 38 30 20 3a 20 52 45  4d 20 2a 2a 2a 2a 2a 2a  |480 : REM ******|
00000fa0  2a 2a 2a 2a 2a 2a 2a 2a  2a 2a 2a 2a 2a 2a 2a 2a  |****************|
*
00000fd0  2a 2a 2a 2a 2a 2a 2a 2a  0a 0a 09 09 09 09 48 6f  |********......Ho|
00000fe0  74 4b 65 79 73 0a 09 09  09 09 2d 2d 2d 2d 2d 2d  |tKeys.....------|
00000ff0  2d 0a 0a 20 20 54 68 65  20 48 6f 74 6b 65 79 73  |-..  The Hotkeys|
00001000  20 55 74 69 6c 6c 69 74  79 20 69 73 20 28 43 29  | Utillity is (C)|
00001010  20 50 68 69 6c 6c 69 70  20 43 61 6d 70 20 31 39  | Phillip Camp 19|
00001020  39 36 2f 37 2c 20 62 75  74 20 69 73 20 72 65 6c  |96/7, but is rel|
00001030  65 61 73 65 64 20 61 73  20 66 72 65 65 77 61 72  |eased as freewar|
00001040  65 2e 0a 20 20 54 68 69  73 20 6d 65 61 6e 73 20  |e..  This means |
00001050  74 68 61 74 20 79 6f 75  20 6d 61 79 20 63 6f 70  |that you may cop|
00001060  79 20 61 6e 64 20 64 69  73 74 72 69 62 75 74 65  |y and distribute|
00001070  20 69 74 2c 20 73 75 62  6a 65 63 74 20 74 6f 20  | it, subject to |
00001080  63 65 72 74 61 69 6e 0a  20 20 63 6f 6e 64 69 74  |certain.  condit|
00001090  69 6f 6e 73 2e 20 20 48  6f 74 6b 65 79 73 20 73  |ions.  Hotkeys s|
000010a0  68 6f 75 6c 64 20 6f 6e  6c 79 20 62 65 20 64 69  |hould only be di|
000010b0  73 74 72 69 62 75 74 65  64 20 77 69 74 68 20 74  |stributed with t|
000010c0  68 65 20 77 68 6f 6c 65  20 63 6f 6e 74 65 6e 74  |he whole content|
000010d0  73 20 6f 66 20 0a 20 20  74 68 65 20 6f 72 69 67  |s of .  the orig|
000010e0  69 6e 61 6c 20 61 72 63  68 69 76 65 2c 20 77 69  |inal archive, wi|
000010f0  74 68 20 61 6c 6c 20 66  69 6c 65 73 20 75 6e 6d  |th all files unm|
00001100  6f 64 69 66 69 65 64 2e  0a 0a 20 20 53 70 65 63  |odified...  Spec|
00001110  69 66 69 63 61 6c 6c 79  2c 20 61 73 20 61 6e 20  |ifically, as an |
00001120  69 6e 64 69 76 69 64 75  61 6c 2c 20 79 6f 75 20  |individual, you |
00001130  6d 61 79 20 6f 6e 6c 79  20 63 68 61 72 67 65 20  |may only charge |
00001140  74 6f 20 63 6f 76 65 72  20 74 68 65 20 63 6f 73  |to cover the cos|
00001150  74 0a 20 20 6f 66 20 64  69 73 74 72 69 62 75 74  |t.  of distribut|
00001160  69 6e 67 20 69 74 2c 20  61 6e 64 20 79 6f 75 20  |ing it, and you |
00001170  6d 61 79 20 6e 6f 74 20  75 73 65 20 69 74 20 74  |may not use it t|
00001180  6f 20 6d 61 6b 65 20 6d  6f 6e 65 79 20 64 69 72  |o make money dir|
00001190  65 63 74 6c 79 20 6f 72  0a 20 20 69 6e 64 69 72  |ectly or.  indir|
000011a0  65 63 74 6c 79 2e 0a 0a  20 20 54 68 65 20 61 75  |ectly...  The au|
000011b0  74 68 6f 72 20 64 6f 65  73 20 6e 6f 74 20 61 63  |thor does not ac|
000011c0  63 65 70 74 20 61 6e 79  20 72 65 73 70 6f 6e 73  |cept any respons|
000011d0  69 62 69 6c 69 74 79 20  66 6f 72 20 61 6e 79 20  |ibility for any |
000011e0  6c 6f 73 73 2c 64 61 6d  61 67 65 20 6f 72 0a 20  |loss,damage or. |
000011f0  20 77 68 61 74 65 76 65  72 20 72 65 73 75 6c 74  | whatever result|
00001200  69 6e 67 20 66 72 6f 6d  20 74 68 65 20 75 73 65  |ing from the use|
00001210  20 6f 66 20 48 6f 74 6b  65 79 73 2e 20 49 74 20  | of Hotkeys. It |
00001220  69 73 20 73 75 70 70 6c  69 65 64 20 22 61 73 20  |is supplied "as |
00001230  69 73 2e 22 2e 0a 0a 0a  0a 0a 54 68 69 73 20 69  |is."......This i|
00001240  73 20 6e 6f 74 20 6d 75  63 68 20 6f 66 20 61 20  |s not much of a |
00001250  68 65 6c 70 20 66 69 6c  65 20 73 6f 20 66 61 72  |help file so far|
00001260  20 64 65 74 61 69 6c 73  20 6f 66 20 68 6f 77 20  | details of how |
00001270  74 6f 20 75 73 65 20 68  6f 74 6b 65 79 73 20 61  |to use hotkeys a|
00001280  72 65 20 64 65 74 61 69  6c 65 64 0a 69 6e 20 65  |re detailed.in e|
00001290  61 72 6c 69 65 72 20 76  65 72 69 6f 6e 20 68 69  |arlier verion hi|
000012a0  73 74 6f 72 69 65 73 20  30 2e 31 32 2d 30 2e 31  |stories 0.12-0.1|
000012b0  37 2e 0a 0a 42 65 74 61  20 54 65 73 74 20 48 6f  |7...Beta Test Ho|
000012c0  74 6b 65 79 73 20 76 30  2e 32 35 0a 2d 2d 2d 2d  |tkeys v0.25.----|
000012d0  2d 2d 2d 2d 2d 2d 2d 2d  2d 2d 2d 2d 2d 2d 2d 2d  |----------------|
000012e0  2d 2d 2d 20 0a 0a 4e 6f  74 68 69 6e 67 20 72 65  |--- ..Nothing re|
000012f0  61 6c 6c 79 20 6e 65 77  2e 20 46 69 73 74 20 63  |ally new. Fist c|
00001300  68 61 72 20 6e 6f 77 20  61 63 74 69 6f 6e 20 69  |har now action i|
00001310  64 65 6e 74 69 66 69 65  72 2e 0a 0a 20 20 20 20  |dentifier...    |
00001320  20 2a 20 6f 73 63 6c 69  20 20 20 20 20 20 20 20  | * oscli        |
00001330  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
*
00001350  20 20 20 0a 20 20 20 20  20 23 20 6f 73 63 6c 69  |   .     # oscli|
00001360  20 2b 20 67 73 74 72 61  6e 73 20 20 20 20 20 20  | + gstrans      |
00001370  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
00001380  20 20 20 20 20 20 20 20  20 20 20 0a 20 20 20 20  |           .    |
00001390  20 2f 20 66 69 72 6d 6b  65 79 20 20 20 20 20 20  | / firmkey      |
000013a0  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
*
000013c0  20 20 20 0a 20 20 20 20  20 5c 20 66 69 72 6d 6b  |   .     \ firmk|
000013d0  65 79 20 2b 20 67 73 74  72 61 6e 73 20 20 20 20  |ey + gstrans    |
000013e0  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
000013f0  20 20 20 20 20 20 20 20  20 20 20 20 20 0a 0a 0a  |             ...|
00001400  42 65 74 61 20 54 65 73  74 20 48 6f 74 6b 65 79  |Beta Test Hotkey|
00001410  73 20 76 30 2e 32 34 0a  2d 2d 2d 2d 2d 2d 2d 2d  |s v0.24.--------|
00001420  2d 2d 2d 2d 2d 2d 2d 2d  2d 2d 2d 2d 2d 2d 2d 0a  |---------------.|
00001430  0a 74 72 69 67 31 20 74  72 69 67 32 20 73 63 72  |.trig1 trig2 scr|
00001440  6f 6c 6c 20 6c 6f 63 6b  20 6e 6f 77 20 65 6a 65  |oll lock now eje|
00001450  63 74 73 2e 20 20 45 78  70 65 72 69 6d 65 6e 74  |cts.  Experiment|
00001460  61 6c 20 66 6f 72 20 73  6f 6d 65 20 70 65 6f 70  |al for some peop|
00001470  6c 65 20 68 61 76 69 6e  67 20 74 72 6f 75 62 6c  |le having troubl|
00001480  65 20 0a 77 69 74 68 20  70 6c 61 79 20 6e 65 78  |e .with play nex|
00001490  74 20 74 72 61 63 6b 2e  20 20 4d 69 6e 6f 72 20  |t track.  Minor |
000014a0  43 68 61 6e 67 65 73 20  74 6f 20 61 6c 6c 20 43  |Changes to all C|
000014b0  44 66 75 6e 63 74 69 6f  6e 73 20 74 6f 20 64 6f  |Dfunctions to do|
000014c0  20 77 69 74 68 20 43 44  42 6c 6f 63 6b 2e 0a 20  | with CDBlock.. |
000014d0  0a 42 65 74 61 20 54 65  73 74 20 48 6f 74 6b 65  |.Beta Test Hotke|
000014e0  79 73 20 76 30 2e 32 33  0a 2d 2d 2d 2d 2d 2d 2d  |ys v0.23.-------|
000014f0  2d 2d 2d 2d 2d 2d 2d 2d  2d 2d 2d 2d 2d 2d 2d 2d  |----------------|
00001500  0a 0a 4c 61 73 74 20 6d  61 6a 6f 72 20 62 75 67  |..Last major bug|
00001510  20 66 69 78 65 64 20 69  6e 20 74 72 69 67 65 72  | fixed in triger|
00001520  20 64 65 74 65 63 74 69  6f 6e 20 63 6f 64 65 2e  | detection code.|
00001530  20 20 4d 69 6e 69 6f 72  20 63 68 61 6e 67 65 73  |  Minior changes|
00001540  20 74 6f 20 66 69 6e 61  6c 69 73 61 74 69 6f 6e  | to finalisation|
00001550  0a 63 6f 64 65 20 74 6f  20 75 73 65 20 74 68 65  |.code to use the|
00001560  20 61 6c 74 65 72 65 64  20 64 69 73 61 62 6c 65  | altered disable|
00001570  64 20 6b 65 79 62 6f 61  72 64 20 72 6f 75 74 69  |d keyboard routi|
00001580  6e 65 2e 0a 20 0a 42 65  74 61 20 54 65 73 74 20  |ne.. .Beta Test |
00001590  48 6f 74 6b 65 79 73 20  76 30 2e 32 32 0a 2d 2d  |Hotkeys v0.22.--|
000015a0  2d 2d 2d 2d 2d 2d 2d 2d  2d 2d 2d 2d 2d 2d 2d 2d  |----------------|
000015b0  2d 2d 2d 2d 2d 0a 0a 50  61 75 73 65 20 2f 20 55  |-----..Pause / U|
000015c0  6e 70 61 75 73 65 20 66  75 6e 63 74 69 6f 6e 20  |npause function |
000015d0  61 64 64 65 64 20 74 6f  20 74 72 69 67 65 72 2d  |added to triger-|
000015e0  65 73 63 61 70 65 20 6b  65 79 0a 20 20 20 20 0a  |escape key.    .|
000015f0  42 65 74 61 20 54 65 73  74 20 48 6f 74 6b 65 79  |Beta Test Hotkey|
00001600  73 20 76 30 2e 32 31 0a  2d 2d 2d 2d 2d 2d 2d 2d  |s v0.21.--------|
00001610  2d 2d 2d 2d 2d 2d 2d 2d  2d 2d 2d 2d 2d 2d 2d 0a  |---------------.|
00001620  0a 50 72 6f 62 6c 65 6d  20 77 69 74 68 20 70 61  |.Problem with pa|
00001630  75 73 65 20 62 65 69 6e  67 20 63 61 6c 6c 65 64  |use being called|
00001640  20 77 69 74 68 20 75 6e  69 6e 69 74 20 63 64 62  | with uninit cdb|
00001650  6c 6f 63 6b 20 66 69 78  65 64 2e 0a 0a 42 65 74  |lock fixed...Bet|
00001660  61 20 54 65 73 74 20 48  6f 74 6b 65 79 73 20 76  |a Test Hotkeys v|
00001670  30 2e 32 30 0a 2d 2d 2d  2d 2d 2d 2d 2d 2d 2d 2d  |0.20.-----------|
00001680  2d 2d 2d 2d 2d 2d 2d 2d  2d 2d 2d 2d 0a 0a 4d 69  |------------..Mi|
00001690  6e 69 6f 72 20 49 6e 74  65 72 6e 61 6c 20 43 68  |nior Internal Ch|
000016a0  61 6e 67 65 73 2e 20 49  6e 69 74 20 63 6f 64 65  |anges. Init code|
000016b0  20 66 69 78 65 64 20 66  72 6f 6d 20 30 2e 31 39  | fixed from 0.19|
000016c0  2c 20 6c 6f 67 69 63 20  72 65 77 6f 72 6b 65 64  |, logic reworked|
000016d0  20 69 6e 20 65 76 65 6e  74 20 68 61 6e 64 6c 65  | in event handle|
000016e0  72 2e 0a 53 68 6f 77 20  62 65 20 61 20 62 69 74  |r..Show be a bit|
000016f0  20 66 61 73 74 65 72 2e  0a 0a 42 65 74 61 20 74  | faster...Beta t|
00001700  65 73 74 20 48 6f 74 6b  65 79 73 20 76 30 2e 31  |est Hotkeys v0.1|
00001710  39 0a 2d 2d 2d 2d 2d 2d  2d 2d 2d 2d 2d 2d 2d 2d  |9.--------------|
00001720  2d 2d 2d 2d 2d 2d 2d 2d  2d 0a 0a 52 65 6d 6f 76  |---------..Remov|
00001730  65 64 20 55 73 65 20 6f  66 20 68 6f 74 6b 65 79  |ed Use of hotkey|
00001740  73 24 64 69 73 61 62 6c  65 6b 79 62 64 20 76 61  |s$disablekybd va|
00001750  72 20 76 61 6c 20 61 6e  64 20 74 69 64 69 65 64  |r val and tidied|
00001760  20 63 6f 64 65 2e 20 20  45 76 65 6e 74 20 72 6f  | code.  Event ro|
00001770  75 74 69 6e 65 20 6e 6f  77 20 0a 71 75 69 63 6b  |utine now .quick|
00001780  65 72 20 63 6f 75 6c 64  20 62 65 20 63 6f 6e 73  |er could be cons|
00001790  69 64 65 72 61 62 6c 79  20 73 6c 6f 77 65 72 20  |iderably slower |
000017a0  73 6f 6d 74 69 6d 65 73  20 6f 6e 20 76 30 2e 31  |somtimes on v0.1|
000017b0  35 2d 31 38 2e 0a 0a 0a  42 65 74 61 20 74 65 73  |5-18....Beta tes|
000017c0  74 20 48 6f 74 6b 65 79  73 20 76 30 2e 31 38 0a  |t Hotkeys v0.18.|
000017d0  2d 2d 2d 2d 2d 2d 2d 2d  2d 2d 2d 2d 2d 2d 2d 2d  |----------------|
000017e0  2d 2d 2d 2d 2d 2d 2d 0a  0a 4e 65 77 20 64 65 74  |-------..New det|
000017f0  65 63 74 69 6f 6e 20 72  6f 75 74 69 6e 65 20 61  |ection routine a|
00001800  64 64 65 64 20 69 6e 20  30 2e 31 37 20 77 61 73  |dded in 0.17 was|
00001810  20 61 64 64 65 64 20 74  6f 20 65 76 65 6e 74 20  | added to event |
00001820  68 61 6e 64 6c 65 72 20  62 65 66 6f 72 65 20 52  |handler before R|
00001830  31 34 5f 53 56 43 0a 68  61 64 20 62 65 65 6e 20  |14_SVC.had been |
00001840  70 72 65 73 65 72 76 65  64 20 63 61 75 73 69 6e  |preserved causin|
00001850  67 20 52 31 34 5f 53 56  43 20 74 6f 20 62 65 20  |g R14_SVC to be |
00001860  63 6f 72 72 70 75 74 65  64 20 62 79 20 73 77 69  |corrputed by swi|
00001870  20 63 61 6c 6c 20 63 61  75 73 69 6e 67 2c 0a 6d  | call causing,.m|
00001880  61 63 68 69 6e 65 73 20  72 75 6e 6e 69 6e 67 20  |achines running |
00001890  52 69 73 63 20 4f 53 20  33 2e 31 31 20 6f 72 20  |Risc OS 3.11 or |
000018a0  65 61 72 6c 69 65 72 20  74 6f 20 63 72 61 73 68  |earlier to crash|
000018b0  2e 20 20 46 69 78 65 64  20 69 6e 20 30 2e 31 38  |.  Fixed in 0.18|
000018c0  0a 0a 42 65 74 61 20 74  65 73 74 20 48 6f 74 6b  |..Beta test Hotk|
000018d0  65 79 73 20 76 30 2e 31  35 20 2d 20 76 30 2e 31  |eys v0.15 - v0.1|
000018e0  37 0a 2d 2d 2d 2d 2d 2d  2d 2d 2d 2d 2d 2d 2d 2d  |7.--------------|
000018f0  2d 2d 2d 2d 2d 2d 2d 2d  2d 2d 2d 2d 2d 2d 2d 2d  |----------------|
00001900  2d 0a 0a 49 6d 70 72 6f  76 65 64 20 76 65 72 73  |-..Improved vers|
00001910  69 6f 6e 20 6f 66 20 70  72 6f 63 65 73 73 48 4b  |ion of processHK|
00001920  20 73 68 6f 75 6c 64 20  6e 6f 74 20 66 61 69 6c  | should not fail|
00001930  20 6f 6e 20 61 72 63 68  69 76 65 64 20 76 65 72  | on archived ver|
00001940  73 69 6f 6e 73 20 75 73  69 6e 67 20 61 72 63 66  |sions using arcf|
00001950  73 0a 77 69 74 68 20 52  4d 41 20 6d 65 6d 6f 72  |s.with RMA memor|
00001960  79 20 6d 61 6e 61 67 65  6d 65 6e 74 2e 20 20 4d  |y management.  M|
00001970  6f 64 75 6c 65 20 73 68  6f 75 6c 64 20 6b 6e 6f  |odule should kno|
00001980  77 20 6c 6f 6e 67 65 72  20 64 69 73 61 62 6c 65  |w longer disable|
00001990  20 6b 79 62 64 20 69 66  20 6d 6f 64 75 6c 65 20  | kybd if module |
000019a0  69 73 20 0a 72 65 70 6c  61 63 65 64 20 68 61 6c  |is .replaced hal|
000019b0  66 77 61 79 2c 20 74 68  6f 75 67 68 20 74 68 65  |fway, though the|
000019c0  20 68 6f 74 6b 65 79 20  63 79 63 6c 65 2e 20 4f  | hotkey cycle. O|
000019d0  6e 20 74 68 65 20 66 6c  79 20 63 64 64 72 69 76  |n the fly cddriv|
000019e0  65 20 63 6f 6e 66 69 67  20 65 6e 61 62 6c 65 64  |e config enabled|
000019f0  20 77 69 74 68 20 0a 68  6f 74 6b 65 79 73 24 63  | with .hotkeys$c|
00001a00  64 64 72 69 76 65 20 73  79 73 20 76 61 72 2e 0a  |ddrive sys var..|
00001a10  0a 75 73 65 3a 0a 0a 2a  53 65 74 45 76 61 6c 20  |.use:..*SetEval |
00001a20  20 68 6f 74 6b 65 79 73  24 63 64 64 72 69 76 65  | hotkeys$cddrive|
00001a30  20 31 0a 0a 41 6c 73 6f  3a 0a 0a 2a 49 46 20 3c  | 1..Also:..*IF <|
00001a40  68 6f 74 6b 65 79 73 24  63 64 44 72 69 76 65 3e  |hotkeys$cdDrive>|
00001a50  20 3d 20 31 20 54 48 45  4e 20 63 64 66 73 3a 70  | = 1 THEN cdfs:p|
00001a60  6c 61 79 20 31 31 20 31  20 45 4c 53 45 20 63 64  |lay 11 1 ELSE cd|
00001a70  66 73 3a 70 6c 61 79 20  31 31 20 30 0a 0a 55 73  |fs:play 11 0..Us|
00001a80  65 20 63 64 66 73 20 64  72 69 76 65 20 31 20 66  |e cdfs drive 1 f|
00001a90  6f 72 20 69 6e 74 65 72  6e 61 6c 20 63 64 20 63  |or internal cd c|
00001aa0  61 6c 6c 73 2e 0a 0a 4e  6f 74 65 3a 20 53 79 73  |alls...Note: Sys|
00001ab0  20 56 61 72 20 20 68 6f  74 6b 65 79 73 24 64 69  | Var  hotkeys$di|
00001ac0  73 61 62 6c 65 6b 79 62  64 0a 49 73 20 66 6f 72  |sablekybd.Is for|
00001ad0  20 69 6e 74 65 72 6e 61  6c 20 75 73 65 20 77 69  | internal use wi|
00001ae0  6e 74 68 69 6e 20 74 68  65 20 70 72 6f 67 61 72  |nthin the progar|
00001af0  6d 20 6f 6e 6c 79 20 44  4f 20 4e 4f 54 20 41 4c  |m only DO NOT AL|
00001b00  54 45 52 20 49 54 2e 2e  2e 2e 0a 49 66 20 79 6f  |TER IT.....If yo|
00001b10  75 20 64 6f 20 79 6f 75  20 64 6f 20 73 6f 20 61  |u do you do so a|
00001b20  74 20 79 6f 75 72 20 6f  77 6e 20 72 69 73 63 2e  |t your own risc.|
00001b30  2e 2e 2e 2e 2e 20 0a 0a  0a 42 65 74 61 20 74 65  |..... ...Beta te|
00001b40  73 74 20 48 6f 74 6b 65  79 73 20 76 30 2e 31 34  |st Hotkeys v0.14|
00001b50  0a 2d 2d 2d 2d 2d 2d 2d  2d 2d 2d 2d 2d 2d 2d 2d  |.---------------|
00001b60  2d 2d 2d 2d 2d 2d 2d 2d  0a 0a 4d 75 74 6c 69 70  |--------..Mutlip|
00001b70  6c 65 20 63 64 20 64 72  69 76 65 20 63 6f 6e 66  |le cd drive conf|
00001b80  69 67 20 6e 6f 77 20 66  69 78 65 64 20 28 61 66  |ig now fixed (af|
00001b90  74 65 72 20 66 69 6e 64  69 6e 67 20 65 72 72 6f  |ter finding erro|
00001ba0  72 20 69 6e 20 61 63 6f  72 6e 73 20 65 78 61 6d  |r in acorns exam|
00001bb0  70 6c 65 20 63 64 20 63  6f 64 65 29 20 0a 61 6e  |ple cd code) .an|
00001bc0  64 20 74 65 73 74 65 64  20 62 79 20 6d 79 73 65  |d tested by myse|
00001bd0  6c 66 20 74 6f 20 73 6f  6d 65 20 65 78 74 65 6e  |lf to some exten|
00001be0  74 2e 0a 0a 41 6e 64 20  61 64 64 20 74 68 61 74  |t...And add that|
00001bf0  20 74 68 65 20 6c 61 73  74 20 6b 65 79 20 69 6e  | the last key in|
00001c00  20 65 61 63 68 20 73 65  71 75 65 6e 63 65 20 69  | each sequence i|
00001c10  73 20 6e 6f 77 20 6e 6f  20 6c 6f 6e 67 65 72 20  |s now no longer |
00001c20  69 6e 73 65 72 74 65 64  20 69 6e 74 6f 20 74 68  |inserted into th|
00001c30  65 20 6b 79 62 64 0a 62  75 66 66 65 72 2e 20 28  |e kybd.buffer. (|
00001c40  77 61 73 20 69 6e 20 30  2e 31 33 20 62 75 74 20  |was in 0.13 but |
00001c50  66 6f 72 67 6f 74 20 74  6f 20 64 6f 63 75 6d 65  |forgot to docume|
00001c60  6e 74 20 69 74 29 2e 20  3a 2d 29 0a 0a 0a 42 65  |nt it). :-)...Be|
00001c70  74 61 20 74 65 73 74 20  48 6f 74 6b 65 79 73 20  |ta test Hotkeys |
00001c80  76 30 2e 31 33 0a 2d 2d  2d 2d 2d 2d 2d 2d 2d 2d  |v0.13.----------|
00001c90  2d 2d 2d 2d 2d 2d 2d 2d  2d 2d 2d 2d 2d 0a 0a 4e  |-------------..N|
00001ca0  6f 20 63 68 61 72 63 61  74 65 72 73 20 61 72 65  |o charcaters are|
00001cb0  20 69 6e 73 65 72 74 65  64 20 69 6e 20 6b 79 62  | inserted in kyb|
00001cc0  64 20 62 75 66 66 65 72  20 77 68 65 6e 20 75 73  |d buffer when us|
00001cd0  69 6e 67 20 61 20 68 6f  74 6b 65 79 2e 0a 0a 46  |ing a hotkey...F|
00001ce0  69 72 6d 6b 65 79 20 73  75 70 70 6f 72 74 20 61  |irmkey support a|
00001cf0  64 64 65 64 20 28 61 6c  6c 20 73 74 72 69 6e 67  |dded (all string|
00001d00  73 20 6e 6f 74 20 73 74  61 72 74 69 6e 67 20 77  |s not starting w|
00001d10  69 74 68 20 2a 20 61 72  65 20 66 65 64 20 69 6e  |ith * are fed in|
00001d20  74 6f 20 74 68 65 20 6b  79 62 64 20 62 75 66 66  |to the kybd buff|
00001d30  65 72 2e 0a 0a 41 64 64  65 64 20 63 64 20 64 72  |er...Added cd dr|
00001d40  69 76 65 20 63 6f 6e 66  69 67 20 66 6f 72 20 68  |ive config for h|
00001d50  61 72 64 77 69 72 65 64  20 6b 65 79 73 2e 0a 0a  |ardwired keys...|
00001d60  41 64 64 65 64 20 73 65  63 6f 6e 64 61 72 79 20  |Added secondary |
00001d70  74 72 69 67 67 65 72 20  6b 65 79 2e 0a 44 69 66  |trigger key..Dif|
00001d80  66 65 72 65 6e 74 20 6b  65 79 64 61 74 61 20 66  |ferent keydata f|
00001d90  69 6c 65 73 20 66 6f 72  20 74 72 69 67 67 65 72  |iles for trigger|
00001da0  20 6b 65 79 73 2e 0a 6a  75 73 74 20 70 72 69 6d  | keys..just prim|
00001db0  61 72 79 20 3d 20 6b 65  79 64 61 74 61 31 0a 70  |ary = keydata1.p|
00001dc0  72 69 6d 61 72 79 20 61  6e 64 20 73 65 63 6f 6e  |rimary and secon|
00001dd0  64 61 72 79 20 3d 20 6b  65 79 64 61 74 61 32 0a  |dary = keydata2.|
00001de0  0a 65 67 20 0a 0a 74 72  69 67 6b 65 79 20 68 6f  |.eg ..trigkey ho|
00001df0  74 6b 65 79 20 61 6e 64  20 74 72 69 67 6b 65 79  |tkey and trigkey|
00001e00  20 74 72 69 67 6b 65 79  32 20 68 6f 74 6b 65 79  | trigkey2 hotkey|
00001e10  2e 0a 0a 73 61 79 20 70  72 69 6d 65 20 74 72 69  |...say prime tri|
00001e20  67 20 3d 3d 20 4c 41 4c  54 20 61 6e 64 20 73 65  |g == LALT and se|
00001e30  63 20 20 74 72 69 67 20  3d 3d 20 52 41 4c 54 0a  |c  trig == RALT.|
00001e40  63 20 69 6e 20 6b 65 79  64 61 74 61 31 20 3d 2a  |c in keydata1 =*|
00001e50  63 61 63 68 65 20 4f 46  46 0a 63 20 69 6e 20 6b  |cache OFF.c in k|
00001e60  65 79 64 61 74 61 32 20  3d 2a 63 61 63 68 65 20  |eydata2 =*cache |
00001e70  4f 4e 0a 0a 73 6f 20 4c  41 4c 54 20 63 20 77 69  |ON..so LALT c wi|
00001e80  6c 6c 20 74 75 72 6e 20  74 68 65 20 63 61 63 68  |ll turn the cach|
00001e90  65 20 6f 66 66 20 61 6e  64 20 4c 41 4c 54 20 52  |e off and LALT R|
00001ea0  41 4c 54 20 63 20 77 69  6c 6c 20 74 75 72 6e 20  |ALT c will turn |
00001eb0  74 68 65 20 63 61 63 68  65 20 6f 6e 2e 0a 0a 6b  |the cache on...k|
00001ec0  65 79 63 6f 6e 66 69 67  20 66 6f 72 6d 61 74 0a  |eyconfig format.|
00001ed0  0a 63 64 64 72 69 76 65  6e 6f 3c 4e 4c 3e 0a 70  |.cddriveno<NL>.p|
00001ee0  72 69 6d 61 72 79 20 74  72 69 67 67 65 72 20 6b  |rimary trigger k|
00001ef0  65 79 20 6e 65 6d 6f 6e  69 63 3c 4e 4c 3e 0a 73  |ey nemonic<NL>.s|
00001f00  65 63 6f 6e 64 61 72 79  20 74 72 69 67 67 65 72  |econdary trigger|
00001f10  20 6b 65 79 20 6e 65 6d  6f 6e 69 63 3c 4e 4c 3e  | key nemonic<NL>|
00001f20  0a 0a 42 65 74 61 20 74  65 73 74 20 48 6f 74 6b  |..Beta test Hotk|
00001f30  65 79 73 20 76 30 2e 31  32 0a 2d 2d 2d 2d 2d 2d  |eys v0.12.------|
00001f40  2d 2d 2d 2d 2d 2d 2d 2d  2d 2d 2d 2d 2d 2d 2d 2d  |----------------|
00001f50  2d 0a 0a 4f 6b 20 74 68  69 73 20 69 73 20 72 61  |-..Ok this is ra|
00001f60  74 68 65 72 20 70 72 69  6d 69 74 69 76 65 20 61  |ther primitive a|
00001f70  74 20 74 68 65 20 6d 6f  6d 65 6e 74 2e 20 20 4a  |t the moment.  J|
00001f80  75 73 74 20 70 75 74 20  74 68 65 20 6b 65 79 20  |ust put the key |
00001f90  79 6f 75 20 77 69 73 68  20 74 6f 20 61 64 64 20  |you wish to add |
00001fa0  61 20 68 6f 74 6b 65 79  20 66 6f 72 20 61 6e 64  |a hotkey for and|
00001fb0  20 61 6e 20 6e 6c 20 66  6f 6c 6c 6f 77 65 64 20  | an nl followed |
00001fc0  62 79 20 74 68 65 20 6f  73 63 6c 69 20 63 6f 6d  |by the oscli com|
00001fd0  6d 61 6e 64 20 61 6e 64  20 61 20 6e 6c 2e 20 20  |mand and a nl.  |
00001fe0  4c 69 6b 65 20 69 6e 20  74 68 65 0a 48 6f 74 6b  |Like in the.Hotk|
00001ff0  65 79 73 20 66 69 6c 65  20 69 6e 63 6c 75 64 65  |eys file include|
00002000  64 2e 0a 0a 48 61 72 64  20 77 69 72 65 64 20 68  |d...Hard wired h|
00002010  6f 74 6b 65 79 73 0a 0a  41 6c 74 20 65 73 63 61  |otkeys..Alt esca|
00002020  70 65 20 70 61 75 73 65  20 63 64 20 20 0a 41 6c  |pe pause cd  .Al|
00002030  74 20 46 31 20 2d 20 46  31 32 20 70 6c 61 79 20  |t F1 - F12 play |
00002040  63 64 20 74 72 61 63 6b  0a 41 6c 74 20 50 72 69  |cd track.Alt Pri|
00002050  6e 74 20 70 6c 61 79 20  63 75 72 72 65 6e 74 20  |nt play current |
00002060  74 72 61 63 6b 20 2b 20  31 0a 41 6c 74 20 53 63  |track + 1.Alt Sc|
00002070  72 6f 6c 6c 20 4c 6f 63  6b 20 65 6a 65 63 74 20  |roll Lock eject |
00002080  63 64 0a 0a 0a 0a 43 75  72 72 65 6e 74 20 6b 65  |cd....Current ke|
00002090  79 20 6d 61 70 70 69 6e  67 73 20 0a 0a 64 61 74  |y mappings ..dat|
000020a0  61 20 6b 65 79 63 6f 64  65 73 5b 4d 41 58 5f 4b  |a keycodes[MAX_K|
000020b0  45 59 43 4f 44 45 53 2b  31 5d 20 3d 20 7b 0a 20  |EYCODES+1] = {. |
000020c0  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
000020d0  20 20 20 20 20 20 20 20  20 20 20 20 20 20 7b 22  |              {"|
000020e0  60 22 2c 30 78 31 30 7d  2c 0a 20 20 20 20 20 20  |`",0x10},.      |
000020f0  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
00002100  20 20 20 20 20 20 20 20  20 7b 22 31 22 2c 30 78  |         {"1",0x|
00002110  31 31 7d 2c 0a 20 20 20  20 20 20 20 20 20 20 20  |11},.           |
00002120  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
00002130  20 20 20 20 7b 22 32 22  2c 30 78 31 32 7d 2c 0a  |    {"2",0x12},.|
00002140  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
00002150  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 7b  |               {|
00002160  22 33 22 2c 30 78 31 33  7d 2c 0a 20 20 20 20 20  |"3",0x13},.     |
00002170  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
00002180  20 20 20 20 20 20 20 20  20 20 7b 22 34 22 2c 30  |          {"4",0|
00002190  78 31 34 7d 2c 0a 20 20  20 20 20 20 20 20 20 20  |x14},.          |
000021a0  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
000021b0  20 20 20 20 20 7b 22 35  22 2c 30 78 31 35 7d 2c  |     {"5",0x15},|
000021c0  0a 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |.               |
000021d0  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
000021e0  7b 22 36 22 2c 30 78 31  36 7d 2c 0a 20 20 20 20  |{"6",0x16},.    |
000021f0  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
00002200  20 20 20 20 20 20 20 20  20 20 20 7b 22 37 22 2c  |           {"7",|
00002210  30 78 31 37 7d 2c 0a 20  20 20 20 20 20 20 20 20  |0x17},.         |
00002220  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
00002230  20 20 20 20 20 20 7b 22  38 22 2c 30 78 31 38 7d  |      {"8",0x18}|
00002240  2c 0a 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |,.              |
00002250  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
00002260  20 7b 22 39 22 2c 30 78  31 39 7d 2c 0a 20 20 20  | {"9",0x19},.   |
00002270  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
00002280  20 20 20 20 20 20 20 20  20 20 20 20 7b 22 30 22  |            {"0"|
00002290  2c 30 78 31 61 7d 2c 0a  20 20 20 20 20 20 20 20  |,0x1a},.        |
000022a0  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
000022b0  20 20 20 20 20 20 20 7b  22 2d 22 2c 30 78 31 62  |       {"-",0x1b|
000022c0  7d 2c 0a 20 20 20 20 20  20 20 20 20 20 20 20 20  |},.             |
000022d0  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
000022e0  20 20 7b 22 3d 22 2c 30  78 31 63 7d 2c 0a 20 20  |  {"=",0x1c},.  |
000022f0  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
00002300  20 20 20 20 20 20 20 20  20 20 20 20 20 7b 22 42  |             {"B|
00002310  61 63 6b 53 70 61 63 65  22 2c 30 78 31 65 7d 2c  |ackSpace",0x1e},|
00002320  0a 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |.               |
00002330  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
00002340  7b 22 76 31 22 2c 30 78  31 66 7d 2c 0a 20 20 20  |{"v1",0x1f},.   |
00002350  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
00002360  20 20 20 20 20 20 20 20  20 20 20 20 7b 22 49 6e  |            {"In|
00002370  73 65 72 74 22 2c 30 78  31 66 7d 2c 0a 20 20 20  |sert",0x1f},.   |
00002380  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
00002390  20 20 20 20 20 20 20 20  20 20 20 20 7b 22 48 6f  |            {"Ho|
000023a0  6d 65 22 2c 30 78 32 30  7d 2c 0a 20 20 20 20 20  |me",0x20},.     |
000023b0  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
000023c0  20 20 20 20 20 20 20 20  20 20 7b 22 50 61 67 65  |          {"Page|
000023d0  55 70 22 2c 30 78 32 31  7d 2c 0a 20 20 20 20 20  |Up",0x21},.     |
000023e0  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
000023f0  20 20 20 20 20 20 20 20  20 20 7b 22 4e 75 6d 4c  |          {"NumL|
00002400  6f 63 6b 22 2c 30 78 32  32 7d 2c 0a 20 20 20 20  |ock",0x22},.    |
00002410  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
00002420  20 20 20 20 20 20 20 20  20 20 20 7b 22 6e 2f 22  |           {"n/"|
00002430  2c 30 78 32 33 7d 2c 0a  20 20 20 20 20 20 20 20  |,0x23},.        |
00002440  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
00002450  20 20 20 20 20 20 20 7b  22 6e 2a 22 2c 30 78 32  |       {"n*",0x2|
00002460  34 7d 2c 0a 20 20 20 20  20 20 20 20 20 20 20 20  |4},.            |
00002470  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
00002480  20 20 20 7b 22 6e 2d 22  2c 30 78 32 35 7d 2c 0a  |   {"n-",0x25},.|
00002490  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
000024a0  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 7b  |               {|
000024b0  22 54 61 62 22 2c 30 78  32 36 7d 2c 0a 20 20 20  |"Tab",0x26},.   |
000024c0  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
000024d0  20 20 20 20 20 20 20 20  20 20 20 20 7b 22 71 22  |            {"q"|
000024e0  2c 30 78 32 37 7d 2c 0a  20 20 20 20 20 20 20 20  |,0x27},.        |
000024f0  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
00002500  20 20 20 20 20 20 20 7b  22 77 22 2c 30 78 32 38  |       {"w",0x28|
00002510  7d 2c 0a 20 20 20 20 20  20 20 20 20 20 20 20 20  |},.             |
00002520  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
00002530  20 20 7b 22 65 22 2c 30  78 32 39 7d 2c 0a 20 20  |  {"e",0x29},.  |
00002540  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
00002550  20 20 20 20 20 20 20 20  20 20 20 20 20 7b 22 72  |             {"r|
00002560  22 2c 30 78 32 61 7d 2c  0a 20 20 20 20 20 20 20  |",0x2a},.       |
00002570  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
00002580  20 20 20 20 20 20 20 20  7b 22 74 22 2c 30 78 32  |        {"t",0x2|
00002590  62 7d 2c 0a 20 20 20 20  20 20 20 20 20 20 20 20  |b},.            |
000025a0  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
000025b0  20 20 20 7b 22 79 22 2c  30 78 32 63 7d 2c 0a 20  |   {"y",0x2c},. |
000025c0  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
000025d0  20 20 20 20 20 20 20 20  20 20 20 20 20 20 7b 22  |              {"|
000025e0  75 22 2c 30 78 32 64 7d  2c 0a 20 20 20 20 20 20  |u",0x2d},.      |
000025f0  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
00002600  20 20 20 20 20 20 20 20  20 7b 22 69 22 2c 30 78  |         {"i",0x|
00002610  32 65 7d 2c 0a 20 20 20  20 20 20 20 20 20 20 20  |2e},.           |
00002620  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
00002630  20 20 20 20 7b 22 6f 22  2c 30 78 32 66 7d 2c 0a  |    {"o",0x2f},.|
00002640  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
00002650  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 7b  |               {|
00002660  22 70 22 2c 30 78 33 30  7d 2c 0a 20 20 20 20 20  |"p",0x30},.     |
00002670  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
00002680  20 20 20 20 20 20 20 20  20 20 7b 22 5b 22 2c 30  |          {"[",0|
00002690  78 33 31 7d 2c 0a 20 20  20 20 20 20 20 20 20 20  |x31},.          |
000026a0  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
000026b0  20 20 20 20 20 7b 22 5d  22 2c 30 78 33 32 7d 2c  |     {"]",0x32},|
000026c0  0a 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |.               |
000026d0  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
000026e0  7b 22 76 32 22 2c 30 78  33 33 7d 2c 0a 20 20 20  |{"v2",0x33},.   |
000026f0  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
00002700  20 20 20 20 20 20 20 20  20 20 20 20 7b 22 44 65  |            {"De|
00002710  6c 65 74 65 22 2c 30 78  33 34 7d 2c 0a 20 20 20  |lete",0x34},.   |
00002720  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
00002730  20 20 20 20 20 20 20 20  20 20 20 20 7b 22 43 6f  |            {"Co|
00002740  70 79 22 2c 30 78 33 35  7d 2c 0a 20 20 20 20 20  |py",0x35},.     |
00002750  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
00002760  20 20 20 20 20 20 20 20  20 20 7b 22 50 61 67 65  |          {"Page|
00002770  44 6f 77 6e 22 2c 30 78  33 36 7d 2c 0a 20 20 20  |Down",0x36},.   |
00002780  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
00002790  20 20 20 20 20 20 20 20  20 20 20 20 7b 22 6e 37  |            {"n7|
000027a0  22 2c 30 78 33 37 7d 2c  0a 20 20 20 20 20 20 20  |",0x37},.       |
000027b0  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
000027c0  20 20 20 20 20 20 20 20  7b 22 6e 38 22 2c 30 78  |        {"n8",0x|
000027d0  33 38 7d 2c 0a 20 20 20  20 20 20 20 20 20 20 20  |38},.           |
000027e0  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
000027f0  20 20 20 20 7b 22 6e 39  22 2c 30 78 33 39 7d 2c  |    {"n9",0x39},|
00002800  0a 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |.               |
00002810  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
00002820  7b 22 76 33 22 2c 30 78  33 61 7d 2c 0a 20 20 20  |{"v3",0x3a},.   |
00002830  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
00002840  20 20 20 20 20 20 20 20  20 20 20 20 7b 22 52 69  |            {"Ri|
00002850  67 68 74 43 6f 6e 74 72  6f 6c 22 2c 30 78 33 62  |ghtControl",0x3b|
00002860  7d 2c 0a 20 20 20 20 20  20 20 20 20 20 20 20 20  |},.             |
00002870  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
00002880  20 20 7b 22 61 22 2c 30  78 33 63 7d 2c 0a 20 20  |  {"a",0x3c},.  |
00002890  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
000028a0  20 20 20 20 20 20 20 20  20 20 20 20 20 7b 22 73  |             {"s|
000028b0  22 2c 30 78 33 64 7d 2c  0a 20 20 20 20 20 20 20  |",0x3d},.       |
000028c0  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
000028d0  20 20 20 20 20 20 20 20  7b 22 64 22 2c 30 78 33  |        {"d",0x3|
000028e0  65 7d 2c 0a 20 20 20 20  20 20 20 20 20 20 20 20  |e},.            |
000028f0  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
00002900  20 20 20 7b 22 66 22 2c  30 78 33 66 7d 2c 0a 20  |   {"f",0x3f},. |
00002910  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
00002920  20 20 20 20 20 20 20 20  20 20 20 20 20 20 7b 22  |              {"|
00002930  67 22 2c 30 78 34 30 7d  2c 0a 20 20 20 20 20 20  |g",0x40},.      |
00002940  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
00002950  20 20 20 20 20 20 20 20  20 7b 22 68 22 2c 30 78  |         {"h",0x|
00002960  34 31 7d 2c 0a 20 20 20  20 20 20 20 20 20 20 20  |41},.           |
00002970  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
00002980  20 20 20 20 7b 22 6a 22  2c 30 78 34 32 7d 2c 0a  |    {"j",0x42},.|
00002990  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
000029a0  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 7b  |               {|
000029b0  22 6b 22 2c 30 78 34 33  7d 2c 0a 20 20 20 20 20  |"k",0x43},.     |
000029c0  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
000029d0  20 20 20 20 20 20 20 20  20 20 7b 22 6c 22 2c 30  |          {"l",0|
000029e0  78 34 34 7d 2c 0a 20 20  20 20 20 20 20 20 20 20  |x44},.          |
000029f0  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
00002a00  20 20 20 20 20 7b 22 3b  22 2c 30 78 34 35 7d 2c  |     {";",0x45},|
00002a10  0a 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |.               |
00002a20  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
00002a30  7b 22 27 22 2c 30 78 34  36 7d 2c 0a 20 20 20 20  |{"'",0x46},.    |
00002a40  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
00002a50  20 20 20 20 20 20 20 20  20 20 20 7b 22 52 65 74  |           {"Ret|
00002a60  75 72 6e 22 2c 30 78 34  37 7d 2c 0a 20 20 20 20  |urn",0x47},.    |
00002a70  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
00002a80  20 20 20 20 20 20 20 20  20 20 20 7b 22 6e 34 22  |           {"n4"|
00002a90  2c 30 78 34 38 7d 2c 0a  20 20 20 20 20 20 20 20  |,0x48},.        |
00002aa0  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
00002ab0  20 20 20 20 20 20 20 7b  22 6e 35 22 2c 30 78 34  |       {"n5",0x4|
00002ac0  39 7d 2c 0a 20 20 20 20  20 20 20 20 20 20 20 20  |9},.            |
00002ad0  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
00002ae0  20 20 20 7b 22 6e 36 22  2c 30 78 34 61 7d 2c 0a  |   {"n6",0x4a},.|
00002af0  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
00002b00  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 7b  |               {|
00002b10  22 6e 2b 22 2c 30 78 34  62 7d 2c 0a 20 20 20 20  |"n+",0x4b},.    |
00002b20  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
00002b30  20 20 20 20 20 20 20 20  20 20 20 7b 22 4c 65 66  |           {"Lef|
00002b40  74 53 68 69 66 74 22 2c  30 78 34 63 7d 2c 0a 20  |tShift",0x4c},. |
00002b50  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
00002b60  20 20 20 20 20 20 20 20  20 20 20 20 20 20 7b 22  |              {"|
00002b70  5c 5c 22 2c 30 78 34 64  7d 2c 0a 20 20 20 20 20  |\\",0x4d},.     |
00002b80  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
00002b90  20 20 20 20 20 20 20 20  20 20 7b 22 7a 22 2c 30  |          {"z",0|
00002ba0  78 34 65 7d 2c 0a 20 20  20 20 20 20 20 20 20 20  |x4e},.          |
00002bb0  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
00002bc0  20 20 20 20 20 7b 22 78  22 2c 30 78 34 66 7d 2c  |     {"x",0x4f},|
00002bd0  0a 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |.               |
00002be0  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
00002bf0  7b 22 63 22 2c 30 78 35  30 7d 2c 0a 20 20 20 20  |{"c",0x50},.    |
00002c00  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
00002c10  20 20 20 20 20 20 20 20  20 20 20 7b 22 76 22 2c  |           {"v",|
00002c20  30 78 35 31 7d 2c 0a 20  20 20 20 20 20 20 20 20  |0x51},.         |
00002c30  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
00002c40  20 20 20 20 20 20 7b 22  62 22 2c 30 78 35 32 7d  |      {"b",0x52}|
00002c50  2c 0a 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |,.              |
00002c60  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
00002c70  20 7b 22 6e 22 2c 30 78  35 33 7d 2c 0a 20 20 20  | {"n",0x53},.   |
00002c80  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
00002c90  20 20 20 20 20 20 20 20  20 20 20 20 7b 22 6d 22  |            {"m"|
00002ca0  2c 30 78 35 34 7d 2c 0a  20 20 20 20 20 20 20 20  |,0x54},.        |
00002cb0  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
00002cc0  20 20 20 20 20 20 20 7b  22 2c 22 2c 30 78 35 35  |       {",",0x55|
00002cd0  7d 2c 0a 20 20 20 20 20  20 20 20 20 20 20 20 20  |},.             |
00002ce0  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
00002cf0  20 20 7b 22 2e 22 2c 30  78 35 36 7d 2c 0a 20 20  |  {".",0x56},.  |
00002d00  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
00002d10  20 20 20 20 20 20 20 20  20 20 20 20 20 7b 22 2f  |             {"/|
00002d20  22 2c 30 78 35 37 7d 2c  0a 20 20 20 20 20 20 20  |",0x57},.       |
00002d30  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
00002d40  20 20 20 20 20 20 20 20  7b 22 52 69 67 68 74 53  |        {"RightS|
00002d50  68 69 66 74 22 2c 30 78  35 38 7d 2c 0a 20 20 20  |hift",0x58},.   |
00002d60  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
00002d70  20 20 20 20 20 20 20 20  20 20 20 20 7b 22 55 70  |            {"Up|
00002d80  22 2c 30 78 35 39 7d 2c  0a 20 20 20 20 20 20 20  |",0x59},.       |
00002d90  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
00002da0  20 20 20 20 20 20 20 20  7b 22 6e 31 22 2c 30 78  |        {"n1",0x|
00002db0  35 61 7d 2c 0a 20 20 20  20 20 20 20 20 20 20 20  |5a},.           |
00002dc0  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
00002dd0  20 20 20 20 7b 22 6e 32  22 2c 30 78 35 62 7d 2c  |    {"n2",0x5b},|
00002de0  0a 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |.               |
00002df0  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
00002e00  7b 22 6e 33 22 2c 30 78  35 63 7d 2c 0a 20 20 20  |{"n3",0x5c},.   |
00002e10  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
00002e20  20 20 20 20 20 20 20 20  20 20 20 20 7b 22 43 61  |            {"Ca|
00002e30  70 73 4c 6f 63 6b 22 2c  30 78 35 64 7d 2c 0a 20  |psLock",0x5d},. |
00002e40  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
00002e50  20 20 20 20 20 20 20 20  20 20 20 20 20 20 7b 22  |              {"|
00002e60  4c 65 66 74 41 6c 74 22  2c 30 78 35 65 7d 2c 0a  |LeftAlt",0x5e},.|
00002e70  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
00002e80  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 7b  |               {|
00002e90  22 53 70 61 63 65 22 2c  30 78 35 66 7d 2c 0a 20  |"Space",0x5f},. |
00002ea0  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
00002eb0  20 20 20 20 20 20 20 20  20 20 20 20 20 20 7b 22  |              {"|
00002ec0  52 69 67 68 74 41 6c 74  22 2c 30 78 36 30 7d 2c  |RightAlt",0x60},|
00002ed0  0a 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |.               |
00002ee0  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
00002ef0  7b 22 52 69 67 68 74 43  6f 6e 74 72 6f 6c 22 2c  |{"RightControl",|
00002f00  30 78 36 31 7d 2c 0a 20  20 20 20 20 20 20 20 20  |0x61},.         |
00002f10  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
00002f20  20 20 20 20 20 20 7b 22  4c 65 66 74 22 2c 30 78  |      {"Left",0x|
00002f30  36 32 7d 2c 0a 20 20 20  20 20 20 20 20 20 20 20  |62},.           |
00002f40  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
00002f50  20 20 20 20 7b 22 44 6f  77 6e 22 2c 30 78 36 33  |    {"Down",0x63|
00002f60  7d 2c 0a 20 20 20 20 20  20 20 20 20 20 20 20 20  |},.             |
00002f70  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
00002f80  20 20 7b 22 52 69 67 68  74 22 2c 30 78 36 34 7d  |  {"Right",0x64}|
00002f90  2c 0a 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |,.              |
00002fa0  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
00002fb0  20 7b 22 6e 30 22 2c 30  78 36 35 7d 2c 0a 20 20  | {"n0",0x65},.  |
00002fc0  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
00002fd0  20 20 20 20 20 20 20 20  20 20 20 20 20 7b 22 6e  |             {"n|
00002fe0  2e 22 2c 30 78 36 36 7d  2c 0a 20 20 20 20 20 20  |.",0x66},.      |
00002ff0  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
00003000  20 20 20 20 20 20 20 20  20 7b 22 45 6e 74 65 72  |         {"Enter|
00003010  22 2c 30 78 36 37 7d 2c  0a 20 20 20 20 20 20 20  |",0x67},.       |
00003020  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
00003030  20 20 20 20 20 20 20 20  7b 22 22 2c 42 59 54 45  |        {"",BYTE|
00003040  5f 54 45 52 4d 7d 0a 20  20 20 20 20 20 20 20 20  |_TERM}.         |
00003050  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
00003060  20 20 20 20 20 20 7d 3b  0a 0a 0a 57 69 73 68 20  |      };...Wish |
00003070  6c 69 73 74 0a 2d 2d 2d  2d 2d 2d 2d 2d 2d 0a 0a  |list.---------..|
00003080  41 20 6e 69 63 65 20 67  75 69 20 74 6f 20 67 6f  |A nice gui to go|
00003090  20 77 69 74 68 20 74 68  65 20 6d 6f 64 75 6c 65  | with the module|
000030a0  2e 0a 52 75 6e 20 68 65  6c 70 66 69 6c 65 20 74  |..Run helpfile t|
000030b0  68 6f 75 67 68 20 73 70  65 6c 6c 20 63 68 65 63  |hough spell chec|
000030c0  6b 65 72 0a 54 68 69 73  20 70 72 6f 67 72 61 6d  |ker.This program|
000030d0  20 72 65 61 63 68 69 6e  67 20 6e 6f 2e 20 31 20  | reaching no. 1 |
000030e0  6f 6e 20 68 65 6e 73 61  73 20 64 6f 77 6e 6c 6f  |on hensas downlo|
000030f0  61 64 20 6c 69 73 74 2e  20 3a 2d 29 0a 0a 0a 62  |ad list. :-)...b|
00003100  79 0a 0a 2b 2d 2d 2d 2d  2d 2d 2d 2d 2d 2d 2d 2d  |y..+------------|
00003110  2d 2d 2d 2d 2d 2d 2d 2d  2d 2d 2d 2d 2d 2d 2d 2d  |----------------|
*
00003140  2d 2d 2d 2d 2d 2d 2d 2d  2d 2d 2d 2d 2d 2b 0a 7c  |-------------+.||
00003150  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
00003160  2d 3d 3e 3e 50 68 69 6c  6c 69 70 20 43 61 6d 70  |-=>>Phillip Camp|
00003170  20 70 73 73 63 31 40 75  6b 63 2e 61 63 2e 75 6b  | pssc1@ukc.ac.uk|
00003180  3c 3c 3d 2d 20 20 20 20  20 20 20 20 20 20 20 20  |<<=-            |
00003190  20 20 20 20 20 20 20 20  20 7c 0a 2b 2d 2d 2d 2d  |         |.+----|
000031a0  2d 2d 2d 2d 2d 2d 2d 2d  2d 2d 2d 2d 2d 2d 2d 2d  |----------------|
*
000031e0  2d 2d 2d 2d 2d 2b 0a 7c  20 20 20 22 49 74 27 73  |-----+.|   "It's|
000031f0  20 77 68 61 74 20 49 20  64 6f 2c 22 20 68 65 20  | what I do," he |
00003200  6d 75 74 74 65 72 65 64  20 74 6f 20 68 69 6d 73  |muttered to hims|
00003210  65 6c 66 2e 20 20 20 20  20 20 20 20 20 20 20 20  |elf.            |
00003220  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
00003230  20 7c 0a 7c 20 20 20 22  41 6e 79 20 74 69 6d 65  | |.|   "Any time|
00003240  20 74 68 65 72 65 27 73  20 73 6f 6d 74 68 69 6e  | there's somthin|
00003250  67 20 73 6f 20 72 65 64  69 63 75 6c 6f 75 73 6c  |g so rediculousl|
00003260  79 20 64 61 6e 67 65 72  6f 75 73 20 74 68 61 74  |y dangerous that|
00003270  20 6e 6f 20 72 61 74 69  6f 6e 61 6c 20 7c 0a 7c  | no rational |.||
00003280  20 20 20 20 68 75 6d 61  6e 20 62 65 69 6e 67 20  |    human being |
00003290  77 6f 75 6c 64 20 65 76  65 6e 20 63 6f 6e 73 69  |would even consi|
000032a0  64 65 72 20 74 72 79 69  6e 67 20 69 74 2c 20 74  |der trying it, t|
000032b0  68 65 79 20 73 65 6e 64  20 66 6f 72 20 6d 65 2e  |hey send for me.|
000032c0  22 20 20 20 20 20 20 20  20 7c 0a 7c 20 20 20 20  |"        |.|    |
000032d0  20 20 20 20 20 20 20 20  20 20 20 2d 2d 20 42 65  |           -- Be|
000032e0  6c 67 61 72 69 6f 6e 20  20 20 20 20 20 20 20 20  |lgarion         |
000032f0  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
*
00003310  20 20 20 20 20 7c 0a 7c  20 20 20 20 20 20 20 20  |     |.|        |
00003320  20 20 20 20 20 20 20 28  44 61 76 69 64 20 45 64  |       (David Ed|
00003330  64 69 6e 67 73 2c 20 4b  69 6e 67 20 4f 66 20 54  |dings, King Of T|
00003340  68 65 20 4d 75 72 67 6f  73 29 20 20 20 20 20 20  |he Murgos)      |
00003350  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
00003360  20 7c 0a 2b 2d 2d 2d 2d  2d 2d 2d 2d 2d 2d 2d 2d  | |.+------------|
00003370  2d 2d 2d 2d 2d 2d 2d 2d  2d 2d 2d 2d 2d 2d 2d 2d  |----------------|
*
000033a0  2d 2d 2d 2d 2d 2d 2d 2d  2d 2d 2d 2d 2d 2b 0a 0a  |-------------+..|
000033b0