home *** CD-ROM | disk | FTP | other *** search
/ ftp.barnyard.co.uk / 2015.02.ftp.barnyard.co.uk.tar / ftp.barnyard.co.uk / cpm / walnut-creek-CDROM / CPM / TERM / QK21.LBR / QK21.DQC / QK21.DOC
Text File  |  2000-06-30  |  9KB  |  221 lines

  1.  
  2.                                   Q W I K K E Y
  3.  
  4.  
  5.  
  6.                          A Keyboard Redefinition Program
  7.                                 V2.1  24-MAR-1985
  8.  
  9.  
  10.                    Copyright (c) 1984, 1985 by Anton R. Fleig
  11.               QwikKey may be used for non-commercial purposes only.
  12.               No commercial use of QwikKey may be made without the
  13.                       author's express written permission.
  14.  
  15.  
  16.         1.0  INTRODUCTION
  17.  
  18.         QwikKey  allows  the user to assign a character strings to  keys.  
  19.         When  a key having a string defined in this way  is  struck,  the 
  20.         defined  string,  rather  than the character normally  associated 
  21.         with the key, is delivered to the program running at the time.
  22.  
  23.         Key  definitions may be loaded from files  containing  previously 
  24.         saved definitions,  or they may be defined on-the-fly, even while 
  25.         a program is running.   Both normal keys (i.e.  keys generating a 
  26.         single  character)  and  keys  generating  escape  sequences  are 
  27.         supported.
  28.  
  29.         The  maximum length of the defined string is 31 minus the  length 
  30.         of  the  character  or string normally generated by  the  key  in 
  31.         question.  Thirty-one different keys may be defined.
  32.  
  33.  
  34.         2.0  OPERATION
  35.  
  36.         2.1  The First Time
  37.  
  38.         QwikKey  V2.0  should  be  invoked for the first  time  with  the 
  39.         command "QK".   QwikKey will prompt for an "attention/termination 
  40.         character" and an "escape sequence lead-in character".
  41.  
  42.         The attention/termination character is used to gain the attention 
  43.         of  QwikKey  in order to enter a new key  definition.   The  same 
  44.         character is used to terminate the definition string.  Thus, this 
  45.         character  should be one that is seldom if ever used,  both  from 
  46.         the keyboard, and in key definition strings.
  47.  
  48.         The  escape  sequence lead-in character is  the  first  character 
  49.         generated  by  keys which generate escape sequences  rather  than 
  50.  
  51.  
  52.  
  53.  
  54.  
  55.  
  56.         single  characters.   This is almost always the ESCAPE  character 
  57.         (ASCII 27 decimal).
  58.  
  59.         After  the attention and lead-in characters are entered,  QwikKey 
  60.         loads  itself  below the CCP  (Console  Command  Processor),  and 
  61.         returns  control  to CP/M.   The message "QwikKey  loaded."  will 
  62.         appear  at  each warm boot to remind you that QwikKey  is  indeed 
  63.         active.
  64.  
  65.         At  this point,  striking the attention character key will  cause 
  66.         QwikKey to respond with the following prompt:
  67.  
  68.              Key:
  69.  
  70.         Now  strike the key you wish to define.   The character  normally 
  71.         generated  by  the key will be displayed,  followed by an  equals 
  72.         sign.   Suppose for example,  you wished to define the  control-K 
  73.         key.  The following would appear after striking CTRL-K:
  74.  
  75.              Key: ^K =
  76.  
  77.         Now  enter  the  definition string,  followed  by  the  attention 
  78.         character  again.   Suppose  we  wished  to  define  ^K  as  "PIP 
  79.         A:=B:*.*[V]".   The  following would be displayed just before  we 
  80.         hit the attention character to terminate the definition:
  81.  
  82.              Key: ^K = PIP A:=B:*.*[V]
  83.  
  84.         Upon  entry  of  the termination character,  the  key  definition 
  85.         dialogue  is  erased.   Note that characters overwritten  by  the 
  86.         definition dialogue are not rewritten, but replaced on the screen 
  87.         with spaces.
  88.  
  89.         At this point, the key has been defined, and striking the defined 
  90.         key  will result in the definition string being delivered to  the 
  91.         current program (perhaps the CCP).
  92.  
  93.  
  94.         2.2  Saving Definitions
  95.  
  96.         The  following  command  will save your current  definitions  for 
  97.         later  recall in the file KEYDEF.DAT.   It can only be issued  at 
  98.         the CCP prompt level (e.g. A>).
  99.  
  100.              A>QK SAVE KEYDEF.DAT
  101.  
  102.         If the filename is omitted in the above example,  the definitions 
  103.         will be saved in the file QWIKKEY.DEF.   SAVE may be  abbreviated 
  104.         to the single character "S".
  105.  
  106.         Note  that  the  attention/termination character and  the  escape 
  107.         sequence lead-in character are also saved in the definition file.
  108.  
  109.  
  110.         2.3  Loading Previously Saved Definitions
  111.  
  112.  
  113.  
  114.  
  115.  
  116.  
  117.  
  118.         The  following command will load previously saved  commands  from 
  119.         KEYDEF.DAT  into QwikKey's definition table in memory,  replacing 
  120.         any current definitions.  It can only be issued at the CCP prompt 
  121.         level (e.g. A>).
  122.  
  123.              A>QK LOAD KEYDEF.DAT
  124.  
  125.         If the filename is omitted in the above example,  the definitions 
  126.         will be read from the file QWIKKEY.DEF.   LOAD may be abbreviated 
  127.         to the single character "L".
  128.  
  129.         Note  that  the attention/termination character  and  the  escape 
  130.         sequence  lead-in  character  are also read from  the  definition 
  131.         file.
  132.  
  133.  
  134.     2.4  Removing QwikKey
  135.     
  136.     QwikKey can be removed from memory with the following command.
  137.     
  138.         A>QK REMOVE
  139.     
  140.     The word  "remove"  in  the above command can be abbreviated with 
  141.     the single character "R".
  142.     
  143.     
  144.     
  145.     3.0  ADVANCED TOPICS
  146.  
  147.         The following topics are intended for those familiar with DDT and 
  148.         the attendant risks in its use.
  149.  
  150.  
  151.         3.1  Creating Definitions Containing Non-keyboard Characters
  152.  
  153.         Definitions may be created containing characters not generated by 
  154.         any key on the computer's keyboard through direct modification of 
  155.         the key definition file(s).  This might be useful to add a DELETE 
  156.         key to a computer having only a BACKSPACE key, for example.
  157.  
  158.         In  order to do this,  the structure of the key  definition  file 
  159.         must  be  understood.   The  key definition file consists  of  32 
  160.         logical records of 32 bytes each.   The first record's first  two 
  161.         bytes  are  the attention character and  the  lead-in  character, 
  162.         respectively.   The  third  byte contains a warm boot  flag  (see 
  163.         section  3.2).  The  remainder of the first record  is  currently 
  164.         unused  and  uninitialized.   The  remaining 31  records  contain 
  165.         definition strings in the following format:
  166.  
  167.              [Key string] 0 [Definition string] 0
  168.  
  169.         The key string is the keyboard generated character(s).   Both the 
  170.         key  string  and the definition string  are  null-terminated,  as 
  171.         shown above.
  172.  
  173.  
  174.  
  175.  
  176.  
  177.  
  178.  
  179.         The  following is an example of the sequence of commands used  to 
  180.         define  CTRL-D  to be DELETE,  assuming the keyboard  being  used 
  181.         cannot generate the DELETE character.
  182.  
  183.              A>DDT QWIKKEY.DEF           Default definition file
  184.              DDT VERS 2.2
  185.              NEXT  PC
  186.              0500 0100
  187.              -S100                       First record
  188.              0100 2B 0B                  Make ^K attn char
  189.              0101 1B .                   Quit now (note lead-in char)
  190.              -S120                       First definition
  191.              0120 56 08                  Key string is BS char
  192.              0121 1A 00                  Null terminate
  193.              0122 09 7F                  Delete char is definition
  194.              0123 AC 00                  Null terminate
  195.              -G0                         Mods done
  196.              
  197.              A>SAVE 5 QWIKKEY.DEF        Save on disk
  198.  
  199.          
  200.  
  201.         3.2  Disabling the Warm Boot Message
  202.  
  203.         The  third byte in the key definition  file,  if  non-zero,  (the 
  204.         default)  causes the "QwikKey loaded." message to be displayed on 
  205.         each  warm  boot.   Setting this byte to zero will  disable  this 
  206.         feature.
  207.  
  208.  
  209.         4.0  MISCELLANEOUS
  210.  
  211.     QwikKey  occupies the  memory space  just below  CP/M's Console 
  212.     Command Processor (CCP).  In order to accomplish  this, several 
  213.     pointers within the system are modified as QwikKey is installed 
  214.     (notably the WBOOT, CONST,  and  CONIN vectors in the BIOS jump 
  215.     table, and the BDOS vector at location 5).  It is possible that 
  216.     QwikKey  could  interact  detrimentally  with  other  programs, 
  217.     especially any that attempt similar modifications.  Should this 
  218.     circumstance occur, you may  want  to  remove QwikKey while the 
  219.     other program is executing.  The REMOVE command may be used for 
  220.     this.
  221.