
/** $VER: TTX_WordStar.dfn Demo 1.0 (9.1.91)
 **
 ** This definition file contains keyboard definitions to emulate the WordStar
 ** text editor.
 **
 ** Written by Martin Taillefer
 **/


KEYBOARD:

  CURSOR_UP    MoveUp
  CURSOR_DOWN  MoveDown
  CURSOR_RIGHT MoveRight
  CURSOR_LEFT  MoveLeft
  F2           SaveFile
  F3           OpenFile

  CTRL-A            MovePrevWord
  CTRL-C            MoveDownScr
  CTRL-D            MoveRight
  CTRL-E            MoveUp
  CTRL-F            MoveNextWord
  CTRL-G            Delete
  CTRL-I            Insert "	"
  CTRL-K            SetMeta2
  CTRL-L            Find
  CTRL-N            InsertLine
  CTRL-O            NOP
  CTRL-P            NOP
  CTRL-Q            SetMeta
  CTRL-R            MoveUpScr
  CTRL-S            MoveLeft
  CTRL-T            DeleteEOW
  CTRL-U            NOP		/* Abort operation */
  CTRL-V            SetPrefs Overstrike Toggle
  CTRL-W            ExecARexxString "OPTIONS RESULTS; GetViewInfo; PARSE VAR RESULT x x x top .; GetCursorPos; PARSE VAR RESULT line .; ScrollView line-top+2"
  CTRL-X            MoveDown
  CTRL-Y            DeleteLine
  CTRL-Z            ExecARexxString "OPTIONS RESULTS; GetViewInfo; PARSE VAR RESULT x x x top .; GetCursorPos; PARSE VAR RESULT line .; ScrollView line-top"
  CTRL-CURSOR_LEFT  MovePrevWord
  CTRL-CURSOR_RIGHT MoveNextWord

  META-A   OpenRequester FindChange
  META-B   NOP		/* Move to start of block */
  META-C   MoveEOF
  META-D   MoveEOL
  META-E   ExecARexxString "OPTIONS RESULTS; GetViewInfo; PARSE VAR RESULT x x x top .; Move top"
  META-F   OpenRequester Find
  META-I   SetPrefs AutoIndent Toggle
  META-K   NOP		/* Move to end of block */
  META-L   UndoLine
  META-P   MoveAutomark
  META-R   MoveSOF
  META-S   MoveSOL
  META-T   SetPrefs TabsGiveSpaces Toggle
  META-X   ExecARexxString "OPTIONS RESULTS; GetViewInfo; PARSE VAR RESULT x num x top .; Move num+top-1"
  META-Y   DeleteEOL
  META-0   MoveBookmark 1
  META-1   MoveBookmark 2
  META-2   MoveBookmark 3
  META-3   MoveBookmark 4
  META-[   MoveMatchBkt
  META-]   MoveMatchBkt
  META-DEL DeleteSOL

  META2-B MarkBlk
  META2-C CopyBlk
  META2-D CloseDoc
  META2-I ShiftRight
  META2-H NOP           /* Hide/display block */
  META2-K NOP           /* Mark block end */
  META2-P ExecARexxMacro PrintBlk
  META2-Q CloseDoc Quiet
  META2-R ExecARexxString "OPTIONS RESULTS; RequestFile PROMPT '*"Select File to Insert*"'; IF RC=0 THEN DO; 'OpenClip' RESULT; IF RC = 0 THEN PasteClip; END"
  META2-S SaveFile
  META2-U ShiftLeft
  META2-V CutBlk        /* Move block */
  META2-W ExecARexxMacro SaveBlk
  META2-Y DeleteBlk
  META2-0 SetBookmark 1
  META2-1 SetBookmark 2
  META2-2 SetBookmark 3
  META2-3 SetBookmark 4

  SHIFT-NP_NUML     SetMode Toggle
  MODE-NP_INS       SetPrefs Overstrike Toggle
  MODE-NP_END       MoveEOL
  MODE-NP_DOWN      MoveDown
  MODE-NP_PGDN      MoveDownScr
  MODE-NP_LEFT      MoveLeft
  MODE-NUM_PAD-5    NOP
  MODE-NP_RIGHT     MoveRight
  MODE-NP_HOME      MoveSOL
  MODE-NP_UP        MoveUp
  MODE-NP_PGUP      MoveUpScr
  MODE-NP_NUML      SetMode OFF
  MODE-NP_DEL       Delete
  MODE-CTRL-NP_HOME ExecARexxString "OPTIONS RESULTS; GetViewInfo; PARSE VAR RESULT x x x top .; Move top"
  MODE-CTRL-NP_END  ExecARexxString "OPTIONS RESULTS; GetViewInfo; PARSE VAR RESULT x num x top .; Move num+top-1"
  MODE-CTRL-NP_PGUP MoveSOF
  MODE-CTRL-NP_PGDN MoveEOF
#
