home *** CD-ROM | disk | FTP | other *** search
/ CP/M / CPM_CDROM.iso / cpminfo / cpm-cc06.art < prev    next >
Text File  |  1994-07-13  |  14KB  |  264 lines

  1.  
  2. ==============================================================================
  3. [   THE KAY*FOG RBBS  |  CPM-CC06.ART  |  posted 01/18/86  |  261 lines 14k  ]
  4.  
  5.           The CP/M Connection                   Originally published in    
  6.                   by                               Computer Currents       
  7.              Ted Silveira                           2550 9th Street        
  8.   (copyright and all rights reserved)             Berkeley, CA  94710      
  9.  
  10.  
  11.                                  June 4, 1985 
  12.                               KEYS AND OUTLINES
  13.  
  14.      If you own a CP/M computer, it's easy to feel left out.  When you read 
  15. most major computer magazines, you get the impression that no one bothers 
  16. to write software for anything except IBM and Apple anymore.  Well, take 
  17. heart.  Two hot items currently are key-redefinition programs (SuperKey, 
  18. ProKey, etc.) and outline processors (ThinkTank, MaxThink, etc.), and CP/M 
  19. users can get them free from the public domain.
  20.  
  21.  
  22. QK21
  23.  
  24.      QK21 (QwikKey version 2.1), by Anton Fleig, is a public domain key-
  25. redefinition program.  It lets you redefine a key to be any string of 
  26. characters you want, either plain text (your name, address, and phone 
  27. number) or a program command (like ^K^S^Q^P in WordStar).  You can then run 
  28. another program, like WordStar, and everything will go normally, until you 
  29. hit the redefined key.  At that point, the key-redefinition program will 
  30. spit out the stored string of characters just as if you'd typed it at the 
  31. keyboard, only faster.
  32.  
  33.      Key-redefinition programs are meant to work with other programs, and 
  34. they work especially well with word processors.  WordStar, for example, has 
  35. no command to move forward or backward by pages (only by screens).  But by 
  36. using a key-redefinition program, I can create my own page-forward 
  37. command--I set one key to send out the sequence [^C^C^C^X^X^X^X^Z^Z^Z^Z^Z].  
  38. This sequence would be too clumsy if I had to type it in each time.  But 
  39. with the key-redefinition program, I just hit one key, and the program does 
  40. the work, fast.  I've become so addicted to this trick that I now have a 
  41. set of 20 "new" WordStar commands, including ones to move to the beginning 
  42. or end of a sentence or paragraph and to delete a sentence or paragraph.
  43.  
  44.      QK21 isn't quite as versatile as the commercial key-redefinition 
  45. programs, but it's very useful.  It can redefine any key on your keyboard, 
  46. including special function keys.  It can redefine up to 31 different keys, 
  47. and each definition can be approximately 30 characters long (31 minus the 
  48. number of characters originally sent by the key).
  49.  
  50.      QK21 lets you save and load sets of key definitions, so you can have 
  51. one set for your word processor, another for your spreadsheet, and so on.  
  52. It also lets you make new definitions "on-the-fly," in the middle of using 
  53. another program.  For example, about one paragraph into this article, I set 
  54. one of my keys to send the characters [QK21], without leaving WordStar.
  55.  
  56.      QK21 handles special function keys well.  My Televideo 925 terminal 
  57. has function keys that send out a three character sequence, starting with 
  58. ^A and ending with ^M (so one key sends out ^AA^M, the next ^AB^M, and so 
  59. on).  QK21 handles this sequence perfectly, recognizing the ^A as the lead-
  60. in character, redefining the following character, and ignoring the trailing 
  61. ^M.  It can also distinguish between the sequence ^AB^M sent by a function 
  62. key, which it translates, and the same sequence typed in at the keyboard, 
  63. which it ignores.  Without this feature, I wouldn't be able to use my 
  64. function keys with WordStar, which uses ^A as one of its major commands.
  65.  
  66.      The QK21 documentation also tells you how to send characters that 
  67. aren't on your keyboard, if you're handy with DDT.COM or a disk editor like 
  68. DU.  You could use the same method to make QK21 distinguish between keypad 
  69. and keyboard characters, if your computer sets the high bit on keypad 
  70. characters (as Kaypros do, for example).
  71.  
  72.      All key-redefinition programs have a few drawbacks in common, because 
  73. of the way they work.  First, all steal part of your computer's upper 
  74. memory for themselves and the key definitions.  With QK21, you lose close 
  75. to 4K, so if you have a very large spreadsheet or BASIC program, for 
  76. example, that just fits in memory under normal circumstances, it may not 
  77. fit with QK21 running.  (You can easily remove QK21 when you need to and 
  78. reload it later.)
  79.  
  80.      Second, all key-redefinition programs change certain addresses in CP/M 
  81. in order to intercept characters from the keyboard before they go to CP/M 
  82. or another program.  This interception can cause conflicts with a few other 
  83. programs, mostly those that also want to intercept these characters.  
  84. Again, the solution is to remove QK21 temporarily.
  85.  
  86.      QK21 also has a few weaknesses of its own.  It accepts only a limited 
  87. number of definitions, though enough for most purposes.  It won't let one 
  88. definition call another definition.  And it gives you no way to control the 
  89. speed at which it sends out its stored strings.  With most programs, like 
  90. WordStar, that's no problem, but a few, like dBase II, will gag if they get 
  91. characters too quickly.
  92.  
  93.      Most important, QK21 has no "supershift" key.  You can redefine 
  94. function keys easily, if you have them.  But if you don't, you can only 
  95. redefine your regular keyboard keys, which means that you won't be able to 
  96. use those keys in their usual way.  Most people can find half a dozen 
  97. keyboard keys they don't use, but after that, it's a problem.  Commercial 
  98. programs get around this problem by defining a supershift key, usually the 
  99. backslash (\).  With the supershift, you can redefine the two-key sequence 
  100. [\A] however you want and still be able to use your normal [A] when you 
  101. need it.
  102.  
  103.      Though QK21 has some limitations, its good points more than make up 
  104. for them.  And if you've never used a key-redefinition program, you have a 
  105. treat in store.
  106.  
  107.  
  108. TOUR20
  109.  
  110.      TOUR20's author, Ed Taychert, calls it a "document hierarchy editor," 
  111. but most people will call it an "outline processor."  Briefly, TOUR20 is a 
  112. tool for handling ideas rather than for writing text.  You jot down ideas 
  113. in one-line headings, shuffle the headings around and arrange them 
  114. hierarchically, with indentations:
  115.  
  116. 0. Contents
  117.      1. What are the TOUR20 commands?
  118.           1.1 For adding new headings
  119.                1.1.1 APPEND
  120.                1.1.2 INSERT
  121.           1.2 For moving around
  122.                1.2.1 UP and DOWN
  123.                1.2.2 NEXT and BACK
  124.                1.2.3 <INDEX>
  125.                1.2.4 TOP
  126.           1.3 For editing outlines
  127.                1.3.1 CUT and PASTE
  128.                1.3.2 CHANGE
  129.                1.3.3 DELETE
  130.           1.4 For viewing outlines
  131.                1.4.1 VIEW and LIST
  132.                1.4.2 SUBTREES
  133.                1.4.3 ENTIRE
  134.           1.5 For adding text
  135.                1.5.1 INTRO
  136.                1.5.2 SUMMARY
  137.           1.6 For reading and writing files
  138.                1.6.1 WRITE
  139.                1.6.2 READ
  140.                1.6.3 TYPE
  141.  
  142.      The basic unit in TOUR20 is the heading, a one-line (or slightly 
  143. longer) piece of text.  These can be entered one at a time or in an 
  144. automatic append mode that lets you dash off a string of headings and worry 
  145. about exactly where they belong later.  A heading can also be inserted into 
  146. an existing outline at any point, causing all following headings to be 
  147. renumbered.
  148.  
  149.      You move through the outline you've created by using UP and DOWN 
  150. (which move you up or down a level), NEXT and BACK (which move you forward 
  151. or backward one item, regardless of level), or <INDEX>.  <INDEX> is the 
  152. address of a particular heading, specified by its levels; in the outline 
  153. above, the index 0.1.3.1 would take you to the heading "CUT and PASTE."
  154.  
  155.       When it's time to edit, you can CHANGE any heading (rewrite it, in 
  156. other words).  You can also DELETE any heading, which also deletes any 
  157. subordinate headings so that deleting heading 1.5 above would also delete 
  158. 1.5.1, 1.5.2, and 1.5.3.
  159.  
  160.      The most important editing tools are CUT and PASTE.  CUT removes a 
  161. heading and stores it in a buffer; PASTE takes the heading out of the 
  162. buffer and places wherever you want.  You can cut 20 headings before 
  163. pasting, but you must be careful about the order--the last heading cut is 
  164. the first heading pasted.
  165.  
  166.      While you're working, you see only a small part of your outline--the 
  167. current heading and its immediate subheadings.  If your current heading 
  168. were 1.4 above, you'd see only subheadings 1.4.1, 1.4.2, and 1.4.3.  This 
  169. "information hiding" is meant to help you concentrate on parts of your 
  170. problem or project.  You can use VIEW (or LIST) to see other parts of the 
  171. outline, SUBTREES to see everything below any particular heading (its 
  172. subheadings, their sub-subheadings, and so on), and ENTIRE to see the 
  173. complete outline.
  174.  
  175.      TOUR20 has only two commands for adding text to the outline.  INTRO 
  176. will place a block of text before a group of subheadings, and SUMMARIZE 
  177. will place one after; both are very limited.
  178.  
  179.      TOUR20 can also WRITE all or part of your outline into a disk file, 
  180. READ another TOUR20 file into your current outline, and TYPE a text file on 
  181. the screen without inserting it into the outline.
  182.  
  183.      What's TOUR20 like to use?  It has a strong personality; you could 
  184. even say it has a theory about life.  TOUR20 believes you'll do best if you 
  185. work with a top-down, divide-and-conquer approach, gradually breaking your 
  186. project or problem into smaller and smaller pieces.  It also believes you 
  187. should concentrate on one section at a time.  You don't have to play along, 
  188. but that's the way TOUR20 "wants" to work.
  189.  
  190.      In practice, you'll probably use TOUR20 one of two ways.  You can use 
  191. the top-down method by stating your subject in a general form ("What are 
  192. the TOUR20 commands?").  You divide that into smaller pieces (movement 
  193. commands, editing commands, etc.), and those pieces into still smaller 
  194. ones, refining and extending your outline, focusing on each small section, 
  195. until you have everything worked out in detail.  As you work, you use the 
  196. viewing commands to see how your current section fits into the general 
  197. scheme, and you use the editing commands to rearrange things as new ideas 
  198. crop up.  This approach suits TOUR20 very well and can turn huge projects 
  199. into a series of manageable steps.
  200.  
  201.      You can also use the brainstorming approach.  Here you put TOUR20 into 
  202. APPEND mode and bang in a series of ideas, without regard to their 
  203. relationship to each other or their level of generality.  In the process, 
  204. you create a list of ideas, questions, and odd bits of information.  Then 
  205. you sort through your list, using CUT, PASTE, and other editing commands to 
  206. discard the junk and to group related details under more general ideas.  
  207. Your structure and your controlling idea grow out of the details as you 
  208. fight to get them in order.  This approach also works but doesn't go as 
  209. smoothly as the top-down approach, largely because it's inherently messier, 
  210. partly because TOUR20 makes it easier to work with small sections than with 
  211. the whole outline.
  212.  
  213.      With either method, your final steps will be adding any necessary text 
  214. with INTRODUCE and SUMMARIZE, and then creating a paper printout (formatted 
  215. with indentations) or a disk file (no indentations, unfortunately) for 
  216. reference.  All the output is done through a separate program, ROFFTOUR--
  217. not an easy program to make friends with and not up to the quality of TOUR 
  218. itself.  
  219.  
  220.      TOUR20 has at least three weak spots in its generally solid user 
  221. interface:
  222.  
  223.      1) You can enter a very long heading--TOUR20 will simply wrap the line 
  224. when you hit the edge of the screen--but at about 130 characters, TOUR20 
  225. starts putting your text in the next heading, without any warning.  You 
  226. don't find out what's happened until you hit <RETURN>.  
  227.  
  228.      2) If you accidentally hit ^C during a session, you drop straight out 
  229. of TOUR20 into CP/M, without any chance to save your work.  
  230.  
  231.      3) If you hit ^Z accidentally, TOUR20 goes into an infinite loop (at 
  232. least on my machine).  
  233.  
  234.      You're warned against these last two in the documentation, but that's 
  235. no protection against accidents.  All three of these problems need to be 
  236. fixed.
  237.  
  238.      Is TOUR20 worth having?  Absolutely yes--it's an interesting new 
  239. program and easy to use, once you're familiar with it.  TOUR20 lets you do 
  240. things you can't do with a word processor, and because it works entirely in 
  241. memory, it's fast.
  242.  
  243.      You have to get a feel for how the program works and understand its 
  244. limits.  At first, TOUR20 and I circled each other two stray cats.  But now 
  245. it's settled in to a regular space on my working disks.
  246.  
  247.      TOUR20 was originally released as "shareware" (free distribution, $30 
  248. suggested contribution), but Ed Taychert has now generously released it 
  249. completely into the public domain and plans to remove the shareware notice 
  250. for TOUR21. 
  251.  
  252.  
  253.      Next issue, some odds and ends--a batch of miscellaneous programs 
  254. useful for people who work with words.
  255.  
  256. ------------------------------------------------------------------------------
  257.       Ted Silveira is a freelance writer and contributing editor to several
  258.    computer-oriented publications.  He appreciates suggestions or feedback
  259.    and can be reached through the KAY*FOG RBBS (415)285-2687 and CompuServe
  260.    (72135,1447) or by mail to 2756 Mattison Lane, Santa Cruz, CA 95065.
  261.  
  262. -------------------------  End of CPM-CC06.ART Text  -------------------------
  263.  
  264.