home *** CD-ROM | disk | FTP | other *** search
/ High Voltage Shareware / high1.zip / high1 / DIR8 / TDE32.ZIP / DEFAULT.H < prev    next >
Text File  |  1993-11-13  |  27KB  |  590 lines

  1. /*
  2.  * New editor name:  TDE, the Thomson-Davis Editor.
  3.  * Author:           Frank Davis
  4.  * Date:             June 5, 1991
  5.  *
  6.  * This modification of Douglas Thomson's code is released into the
  7.  * public domain, Frank Davis.  You may distribute it freely.
  8.  *
  9.  * Set up default dispatch table.
  10.  *
  11.  * If you want to change the default key assignments - it's really easy.  All
  12.  * you have to do is set the appropriate array element to the desired function
  13.  * and then recompile the source code.  The available functions are in the
  14.  * define.h file.
  15.  *
  16.  * The key code returned by pressing a function key is added to 256.  This is
  17.  * done because it makes it easy to allow the ASCII and Extended ASCII
  18.  * characters to get thru as normal characters and to trap the function keys
  19.  * because they are greater than 256.  Once a function is detected, 256 is
  20.  * subtracted from the key code, which maps the function key codes to
  21.  * 0-256 (MAX_KEYS).  See function getfunc( ) in console.c.
  22.  *
  23.  * Look in the back of the MSC 6.0a manual or a MASM manual to find out what
  24.  * the extended codes are for the various key combinations.  For example,
  25.  * ALT+M = 50.  Add 50 to 256 which equals 306.
  26.  *
  27.  * **************************************************************************
  28.  * **** In tde, version 1.4, I added support for assigning characters    ****
  29.  * **** to Control and Alt keys.  This allows those who need various     ****
  30.  * **** accent and dot characters to assign any ASCII or Extended ASCII  ****
  31.  * **** character to unused function keys.                               ****
  32.  * **************************************************************************
  33.  *
  34.  * **************************************************************************
  35.  * **** In tde, version 1.5, I took out support for assigning characters ****
  36.  * **** to Control and Alt keys.  Macros may now be assigned to function ****
  37.  * **** keys, which will accomplish the same task.                       ****
  38.  * **************************************************************************
  39.  *
  40.  * If you change the default key assignments, you should also change the help
  41.  * screen in help.h to show what function the new keys are assigned to.
  42.  *
  43.  * The insert_overwrite function is assigned the index of 0.  If the key
  44.  * code is less than 256 then a character is written to the file.  DO NOT
  45.  * assign any function to 256, it is used to call insert_overwrite( ) and
  46.  * add text characters to the file.  DO NOT put an index to it in the
  47.  * cfgkeys utility.
  48.  *
  49.  * See the end of this file for default two-key assignments.
  50.  */
  51.  
  52. KEY_FUNC key_func = {
  53.      "$  keys",             /* signature for the .exe file */
  54. /* 256 */
  55.      0,                     /* DO NOT assign this to any function */
  56.      0,                     /* Alt + ESC  -  101 Keyboard */
  57.      AbortCommand,          /* ESC    - manually map to 258 */
  58.      0,                     /* #ESC   - manually map to 259 */
  59. /* 260 */                   
  60.      ClearAllMacros,        /* ^ESC    - mannuall map to 260 */
  61.      0,                     /* no key assigned here */
  62.      Rturn,                 /*  Enter  - manually map to 262 */
  63.      NextLine,              /* #Enter  - manually map to 263 */
  64.      BegNextLine,           /* ^Enter  - manually map to 264 */
  65.      BackSpace,             /*  BackSpace - manually map to 265 */
  66.      BackSpace,             /* #BackSpace - manually map to 266 */
  67.      0,                     /* ^BackSpace - manually map to 267 */
  68.      Tab,                   /*  Tab       - manually map to 268 */
  69.      0,                     /* Control-Break - manually map to 269
  70.                              *    DO NOT assign any function to Control-Break.
  71.                              *    It is used to stop run away functions.
  72.                              */
  73. /* 270 */                   
  74.      0,                     /* Alt + Backspace  - 101 keyboard */
  75.      BackTab,               /* Shift + Tab */
  76.      Quit,                  /* Alt-Q  272 */
  77.      BlockToFile,           /* Alt-W  273 */
  78.      BlockExpandTabs,       /* Alt-E  274 */
  79.      ToggleRuler,           /* Alt-R  275 */
  80.      BlockTrimTrailing,     /* Alt-T  276 */
  81.      UndoDelete,            /* ALT-Y  277 */
  82.      UnMarkBlock,           /* Alt-U  278 */
  83.      ToggleIndent,          /* Alt-I  279 */
  84. /* 280 */                   
  85.      OverlayBlock,          /* Alt-O  280 */
  86.      PrintBlock,            /* Alt-P  281 */
  87.      0,                     /* Alt-[     - 101 keyboard */
  88.      0,                     /* Alt-]     - 101 keyboard */
  89.      0,                     /* Alt-Enter - 101 keyboard */
  90.      0,                     /* manually map Grey Enter to this hole */
  91.      AddLine,               /* Alt-A  286 */
  92.      SortBoxBlock,          /* Alt-S  287 */
  93.      DeleteLine,            /* Alt-D  288 */
  94.      FillBlock,             /* Alt-F  289 */
  95. /* 290 */                   
  96.      DeleteBlock,           /* Alt-G  290 */
  97.      Help,                  /* Alt-H  291 */
  98.      JoinLine,              /* Alt-J  292 */
  99.      KopyBlock,             /* Alt-K  293 */
  100.      MarkLine,              /* Alt-L  294 */
  101.      0,                     /* Alt-;: - 101 keyboard */
  102.      0,                     /* Alt-'" - 101 keyboard */
  103.      0,                     /* Alt-`~ - 101 keyboard */
  104.      0,                     /* manually map Shift+Grey Enter to this hole */
  105.      0,                     /* manually map Control+Greay Enter to this hole */
  106. /* 300 */                   
  107.      ToggleZ,               /* Alt-Z  300 */
  108.      MarkStream,            /* Alt-X  301 */
  109.      CopyBlock,             /* Alt-C  302 */
  110.      ToggleWordWrap,        /* Alt-V  303 */
  111.      MarkBox,               /* Alt-B  304 */
  112.      NumberBlock,           /* Alt-N  305 */
  113.      MoveBlock,             /* Alt-M  306 */
  114.      BlockUpperCase,        /* Alt-<  added for 83/84 keyboards, fmd */
  115.      BlockLowerCase,        /* Alt->  added for 83/84 keyboards, fmd */
  116.      BlockStripHiBit,       /* ALt-?  added for 83/84 keyboards, fmd */
  117. /* 310 */                   
  118.      0,                     /*  hole in key codes, not used */
  119.      0,                     /*  hole in key codes, not used */
  120.      0,                     /*  hole in key codes, not used */
  121.      0,                     /*  hole in key codes, not used */
  122.      0,                     /*  hole in key codes, not used */
  123.      Help,                  /* F1     315 */
  124.      Save,                  /* F2     316 */
  125.      Quit,                  /* F3     317 */
  126.      File,                  /* F4     318 */
  127.      RepeatFindForward1,    /* F5     319 */
  128. /* 320 */                   
  129.      RepeatFindBackward1,   /* F6     320 */
  130.      RepeatFindRegX,        /* F7     321 */
  131.      SplitVertical,         /* F8     322 */
  132.      SplitHorizontal,       /* F9     323 */
  133.      NextWindow,            /* F10    324 */
  134.      0,                     /*  hole in key codes, not used */
  135.      0,                     /*  hole in key codes, not used */
  136.      BegOfLine,             /* Home   327 */
  137.      LineUp,                /* Up     328 */
  138.      ScreenUp,              /* PgUp   329 */
  139. /* 330 */                   
  140.      0,                     /*  hole in key codes, not used */
  141.      CharLeft,              /* Left   331 */
  142.      CenterWindow,          /* Center 332 */
  143.      CharRight,             /* Right  333 */
  144.      0,                     /*  hole in key codes, not used */
  145.      EndOfLine,             /* End    335 */
  146.      LineDown,              /* Down   336 */
  147.      ScreenDown,            /* PgDn   337 */
  148.      ToggleOverWrite,       /* Ins    338 */
  149.      DeleteChar,            /* Del    339 */
  150. /* 340 */                   
  151.      SaveMacro,             /* Shift F1  */
  152.      SaveAs,                /* Shift F2  */
  153.      LoadMacro,             /* Shift F3  */
  154.      EditFile,              /* Shift F4  */
  155.      FindForward,           /* Shift F5  */
  156.      FindBackward,          /* Shift F6  */
  157.      FindRegX,              /* Shift F7  */
  158.      ReplaceString,         /* Shift F8  */
  159.      SizeWindow,            /* Shift F9  */
  160.      PreviousWindow,        /* Shift F10 */
  161. /* 350 */                   
  162.      ToggleSync,            /* Control F1 */
  163.      ToggleEol,             /* Control F2 */
  164.      ToggleCRLF,            /* Control F3 */
  165.      ToggleTrailing,        /* Control F4 */
  166.      ToggleSearchCase,      /* Control F5 */
  167.      SetLeftMargin,         /* Control F6 */
  168.      SetRightMargin,        /* Control F7 */
  169.      SetParagraphMargin,    /* Control F8 */
  170.      ZoomWindow,            /* Control F9  */
  171.      NextHiddenWindow,      /* Control F10 */
  172. /* 360 */                   
  173.      DirList,               /* Alt-F1   360 */
  174.      SetFileAttributes,     /* Alt-F2   361 */
  175.      RecordMacro,           /* Alt-F3   362 */
  176.      EditNextFile,          /* Alt-F4   363 */
  177.      NextDirtyLine,         /* Alt-F5   364 */
  178.      PrevDirtyLine,         /* Alt-F6   365 */
  179. /*     FormatParagraph,   */    /* Alt-F7   366 */
  180.      RepeatFindRegXBackward,/* Alt-F7   366 */
  181.      LeftJustify,           /* Alt-F8   367 */
  182.      RightJustify,          /* Alt-F9   368 */
  183.      CenterJustify,         /* Alt-F10  369 */
  184. /* 370 */                   
  185.      0,                     /*  hole in key codes, not used */
  186.      WordLeft,              /* Control Left  371 */
  187.      WordRight,             /* Control Right 372 */
  188.      BotOfScreen,           /* Control End   373 */
  189.      EndOfFile,             /* Control PgUp  374 */
  190.      TopOfScreen,           /* Control Home  375 */
  191.      SetMark1,              /* Alt-1! */
  192.      SetMark2,              /* Alt-2@ */
  193.      SetMark3,              /* Alt-3# */
  194.      0,                     /* Alt-4$ */
  195. /* 380 */                   
  196.      0,                     /* Alt-5% */
  197.      0,                     /* Alt-6^ */
  198.      0,                     /* Alt-7& */
  199.      0,                     /* Alt-8* */
  200.      0,                     /* Alt-9( */
  201.      0,                     /* Alt-0) */
  202.      DelEndOfLine,          /* Alt '-'  386      */
  203.      DuplicateLine,         /* Alt '='  387      */
  204.      TopOfFile,             /* Control Pgup  388 */
  205.      RepeatDiff,            /* F11          - 101 keyboard */
  206. /* 390 */                   
  207.      RepeatGrep,            /* F12          - 101 keyboard */
  208.      DefineDiff,            /* Shift F11    - 101 keyboard */
  209.      DefineGrep,            /* Shift F12    - 101 keyboard */
  210.      0,                     /* Control F11  - 101 keyboard */
  211.      DefineRegXGrep,        /* Control F12  - 101 keyboard */
  212.      0,                     /* Alt F11      - 101 keyboard */
  213.      RepeatFindRegX,        /* Alt F12      - 101 keyboard */
  214.      ScrollUpLine,          /* Control Up */
  215.      PanUp,                 /* Control Grey - */
  216.      CenterLine,            /* Control Center */
  217. /* 400 */                   
  218.      PanDn,                 /* Control Grey + */
  219.      ScrollDnLine,          /* Control Down   */
  220.      0,                     /* Control Ins    */
  221.      StreamDeleteChar,      /* Control Del    */
  222.      SetTabs,               /* Control TAB    */
  223.      IfCapsLock,            /* Control Grey /  */
  224.      IfNotCapsLock,         /* Control Grey *  */
  225.      0,                     /* Alt + Grey Home  */
  226.      PanUp,                 /* Alt + Grey Up    */
  227.      HorizontalScreenLeft,  /* Alt + Grey PgUp  */
  228. /* 410 */                   
  229.      0,                     /*  hole in key codes, not used */
  230.      PanLeft,               /* Alt + Grey Left  */
  231.      0,                     /*  hole in key codes, not used */
  232.      PanRight,              /* Alt + Grey Right */
  233.      0,                     /*  hole in key codes, not used */
  234.      0,                     /* Alt + Grey End   */
  235.      PanDn,                 /* Alt + Grey Down  */
  236.      HorizontalScreenRight, /* Alt + Grey PgDn  */
  237.      0,                     /* Alt + Grey Ins   */
  238.      0,                     /* Alt + Grey Del   */
  239. /* 420 */                   
  240.      0,                     /* Alt + Grey /     */
  241.      ToggleSmartTabs,       /* Alt + Tab        */
  242.      0,                     /* Alt + Grey Enter */
  243.      ScrollUpLine,          /* Shift Grey - (Num Lock off), fmd key */
  244.      ScrollDnLine,          /* Shift Grey + (Num Lock off), fmd  key */
  245.      Rturn,                 /* Hard code Enter to 425 - DO NOT let users
  246.                              * change, used in the reassignment of
  247.                              * ALT-013 <lf> */
  248.      PanLeft,               /* hard code - control+shift+left, fmd key  */
  249.      PanRight,              /* hard code - control+shift+right, fmd key */
  250.      0,                     /* no keys are assigned here */
  251.      0,                     /* no keys are assigned here */
  252.  
  253.    /*
  254.     * Add 430 to keycodes 0-31 if ALT key is not pressed.  This effectively
  255.     * remaps the Control code sequence to 430-461.
  256.     */
  257. #if defined( __UNIX__ )
  258.  
  259.      DateTimeStamp,         /* ctrl @  ==== control keys for Linux ==== */
  260.      AddLine,               /* ctrl a  */
  261.      MarkBox,               /* ctrl b  */
  262.      CopyBlock,             /* ctrl c  */
  263.      DeleteLine,            /* ctrl d  */
  264.      BlockExpandTabs,       /* ctrl e  */
  265.      FillBlock,             /* ctrl f  */
  266.      DeleteBlock,           /* ctrl g  */
  267.      BackSpace,             /* ctrl h  */
  268.      Tab,                   /* ctrl i  */
  269.      Rturn,                 /* ctrl j  */
  270.      KopyBlock,             /* ctrl k  */
  271.      MarkLine,              /* ctrl l  */
  272.      MoveBlock,             /* ctrl m  */
  273.      NumberBlock,           /* ctrl n  */
  274.      OverlayBlock,          /* ctrl o  */
  275.      0,                     /* ctrl p  */
  276.      ToggleEol,             /* ctrl q  */
  277.      ToggleRuler,           /* ctrl r  */
  278.      SortBoxBlock,          /* ctrl s  */
  279.      ToggleTabInflate,      /* ctrl t  */
  280.      UndoDelete,            /* ctrl u  */
  281.      ToggleOverWrite,       /* ctrl v  */
  282.      ToggleSync,            /* ctrl w  */
  283.      MarkStream,            /* ctrl x  */
  284.      DeleteLine,            /* ctrl y  */
  285.      ToggleTrailing,        /* ctrl z  */
  286.      AbortCommand,          /* ctrl [  */
  287.      PullDown,              /* ctrl \  */
  288.      ParenBalance,          /* ctrl ]  */
  289.      UnMarkBlock,           /* ctrl ^  */
  290.      SplitLine,             /* ctrl _  */
  291.  
  292. #else
  293. /* 430 */
  294.      DateTimeStamp,         /* Control @ - Control keys for Dos */
  295.      WordLeft,              /* Control a */
  296.      FormatText,            /* Control b */
  297.      ScreenDown,            /* Control c */
  298.      CharRight,             /* Control d */
  299.      LineUp,                /* Control e */
  300.      WordRight,             /* Control f */
  301.      DeleteChar,            /* Control g */
  302.      BackSpace,             /* Control h */
  303.      Tab,                   /* Control i */
  304.      Help,                  /* Control j */
  305.      TwoCharKey,            /* Control k */
  306.      0,                     /* Control l */
  307.      Rturn,                 /* Control m */
  308.      AddLine,               /* Control n */
  309.      0,                     /* Control o */
  310.      Pause,                 /* Control p */
  311.      0,                     /* Control q */
  312.      ScreenUp,              /* Control r */
  313.      CharLeft,              /* Control s */
  314.      WordDelete,            /* Control t */
  315.      UndoDelete,            /* Control u */
  316.      ToggleOverWrite,       /* Control v */
  317.      ScrollUpLine,          /* Control w */
  318.      LineDown,              /* Control x */
  319.      DeleteLine,            /* Control y */
  320.      ScrollDnLine,          /* Control z */
  321.      AbortCommand,          /* Control [ */
  322.      PullDown,              /* Control \ */
  323.      ParenBalance,          /* Control ] */
  324. /* 460 */
  325.      0,                     /* Control ^     460 */
  326.      SplitLine,             /* Control _     461 */
  327.  
  328. #endif
  329.  
  330. /* 462 */
  331.      GotoMark1,             /* Shift Alt 1!  462 */
  332.      GotoMark2,             /* Shift Alt 2@  463 */
  333.      GotoMark3,             /* Shift Alt 3#  464 */
  334.      0,                     /* Shift Alt 4$  465 */
  335.      0,                     /* Shift Alt 5%  466 */
  336.      0,                     /* Shift Alt 6^  467 */
  337.      0,                     /* Shift Alt 7&  468 */
  338.      0,                     /* Shift Alt 8*  469 */
  339. /* 470 */
  340.      0,                     /* Shift Alt 9(  470 */
  341.      0,                     /* Shift Alt 0)  471 */
  342.      0,                     /* Shift Alt -_  472 */
  343.      0,                     /* Shift Alt +=  473 */
  344.      DefineGrep,            /* Shift Alt-Q   474 */
  345.      RepeatGrep,            /* Shift Alt-W   475 */
  346.      0,                     /* Shift Alt-E   476 */
  347.      0,                     /* Shift Alt-R   477 */
  348.      ToggleTabInflate,      /* Shift Alt-T   478 */
  349.      0,                     /* Shift ALT-Y   479 */
  350. /* 480 */
  351.      0,                     /* Shift Alt-U   480 */
  352.      BlockIndentTabs,       /* Shift Alt-I   481 */
  353.      0,                     /* Shift Alt-O   482 */
  354.      0,                     /* Shift Alt-P   483 */
  355.      0,                     /* Shift Alt-[     - 101 keyboard */
  356.      0,                     /* Shift Alt-]     - 101 keyboard */
  357.      0,                     /* Shift Alt-Enter - 101 keyboard */
  358.      0,                     /* hole in the key codes here */
  359.      0,                     /* Shift Alt-A   488 */
  360.      SwapBlock,             /* Shift Alt-S   489 */
  361. /* 490 */
  362.      RepeatDiff,            /* Shift Alt-D   490 */
  363.      0,                     /* Shift Alt-F   491 */
  364.      0,                     /* Shift Alt-G   492 */
  365.      0,                     /* Shift Alt-H   493 */
  366.      JumpToLine,            /* Shift Alt-J   494 */
  367.      0,                     /* Shift Alt-K   495 */
  368.      0,                     /* Shift Alt-L   496 */
  369.      0,                     /* Shift Alt-;: - 101 keyboard */
  370.      0,                     /* Shift Alt-'" - 101 keyboard */
  371.      0,                     /* Shift Alt-`~ - 101 keyboard */
  372. /* 500 */
  373.      0,                     /* hole in the key codes here */
  374.      0,                     /* see pages 194-195 of MASM man. for more info */
  375.      0,                     /* Shift Alt-Z   502 */
  376.      0,                     /* Shift Alt-X   503 */
  377.      BlockCompressTabs,     /* Shift Alt-C   504 */
  378.      0,                     /* Shift Alt-V   505 */
  379.      0,                     /* Shift Alt-B   506 */
  380.      0,                     /* Shift Alt-N   507 */
  381.      0,                     /* Shift Alt-M   508 */
  382.      BlockRot13,            /* Shift Alt-<  added for 83/84 keyboards, fmd */
  383. /* 510 */
  384.      BlockFixUUE,           /* Shift Alt->  added for 83/84 keyboards, fmd */
  385.      BlockEmailReply        /* Shift ALt-?  added for 83/84 keyboards, fmd */
  386. };
  387.  
  388.  
  389. /*
  390.  * there are MAX_TWO_KEY == 128 combinations for user customization.
  391.  *   the first entry is the first key and the second entry is the next
  392.  *   key.  the function assigned to the two-key combination is the last
  393.  *   entry.
  394.  *
  395.  * the first key entry MUST be a recognized function key.  the second key
  396.  *   can be any any ASCII, Extended ASCII, or function key.  the second key
  397.  *   may even be a repeat of the first function key.
  398.  */
  399. TWO_KEY two_key_list = {
  400.    "$twokey",
  401.    { { _CNTRL_K, 'q', Quit },       /* example */
  402.    { 0, 0, 0 }, { 0, 0, 0 }, { 0, 0, 0 }, { 0, 0, 0 }, { 0, 0, 0 },  /* 6 */
  403.    { 0, 0, 0 }, { 0, 0, 0 }, { 0, 0, 0 }, { 0, 0, 0 }, { 0, 0, 0 },
  404.    { 0, 0, 0 }, { 0, 0, 0 }, { 0, 0, 0 }, { 0, 0, 0 }, { 0, 0, 0 },
  405.    { 0, 0, 0 }, { 0, 0, 0 }, { 0, 0, 0 }, { 0, 0, 0 }, { 0, 0, 0 },
  406.    { 0, 0, 0 }, { 0, 0, 0 }, { 0, 0, 0 }, { 0, 0, 0 }, { 0, 0, 0 },  /* 26 */
  407.    { 0, 0, 0 }, { 0, 0, 0 }, { 0, 0, 0 }, { 0, 0, 0 }, { 0, 0, 0 },
  408.    { 0, 0, 0 }, { 0, 0, 0 }, { 0, 0, 0 }, { 0, 0, 0 }, { 0, 0, 0 },
  409.    { 0, 0, 0 }, { 0, 0, 0 }, { 0, 0, 0 }, { 0, 0, 0 }, { 0, 0, 0 },
  410.    { 0, 0, 0 }, { 0, 0, 0 }, { 0, 0, 0 }, { 0, 0, 0 }, { 0, 0, 0 },
  411.    { 0, 0, 0 }, { 0, 0, 0 }, { 0, 0, 0 }, { 0, 0, 0 }, { 0, 0, 0 },  /* 51 */
  412.    { 0, 0, 0 }, { 0, 0, 0 }, { 0, 0, 0 }, { 0, 0, 0 }, { 0, 0, 0 },
  413.    { 0, 0, 0 }, { 0, 0, 0 }, { 0, 0, 0 }, { 0, 0, 0 }, { 0, 0, 0 },
  414.    { 0, 0, 0 }, { 0, 0, 0 }, { 0, 0, 0 }, { 0, 0, 0 }, { 0, 0, 0 },
  415.    { 0, 0, 0 }, { 0, 0, 0 }, { 0, 0, 0 }, { 0, 0, 0 }, { 0, 0, 0 },
  416.    { 0, 0, 0 }, { 0, 0, 0 }, { 0, 0, 0 }, { 0, 0, 0 }, { 0, 0, 0 },  /* 76 */
  417.    { 0, 0, 0 }, { 0, 0, 0 }, { 0, 0, 0 }, { 0, 0, 0 }, { 0, 0, 0 },
  418.    { 0, 0, 0 }, { 0, 0, 0 }, { 0, 0, 0 }, { 0, 0, 0 }, { 0, 0, 0 },
  419.    { 0, 0, 0 }, { 0, 0, 0 }, { 0, 0, 0 }, { 0, 0, 0 }, { 0, 0, 0 },
  420.    { 0, 0, 0 }, { 0, 0, 0 }, { 0, 0, 0 }, { 0, 0, 0 }, { 0, 0, 0 },
  421.    { 0, 0, 0 }, { 0, 0, 0 }, { 0, 0, 0 }, { 0, 0, 0 }, { 0, 0, 0 },  /* 101 */
  422.    { 0, 0, 0 }, { 0, 0, 0 }, { 0, 0, 0 }, { 0, 0, 0 }, { 0, 0, 0 },
  423.    { 0, 0, 0 }, { 0, 0, 0 }, { 0, 0, 0 }, { 0, 0, 0 }, { 0, 0, 0 },
  424.    { 0, 0, 0 }, { 0, 0, 0 }, { 0, 0, 0 }, { 0, 0, 0 }, { 0, 0, 0 },
  425.    { 0, 0, 0 }, { 0, 0, 0 }, { 0, 0, 0 }, { 0, 0, 0 }, { 0, 0, 0 },
  426.    { 0, 0, 0 }, { 0, 0, 0 }, { 0, 0, 0 }, { 0, 0, 0 }, { 0, 0, 0 },  /* 126 */
  427.    { 0, 0, 0 }, { 0, 0, 0 } }
  428. };
  429.  
  430.  
  431. #if defined( __UNIX__ )
  432.  
  433. int curses_to_tde[MAX_CURSES_KEYS] = {
  434. /* TDE-key                  NCURSES-key  (Linux curses) */
  435.    256,    /* junk              256 */
  436.    269,    /* break key?        257 */
  437.    336,    /* down arrow        258 */
  438.    328,    /* up arrow          259 */
  439.    331,    /* left arrow        260 */
  440.    333,    /* right arrow       261 */
  441.    327,    /* home              262 */
  442.    265,    /* back space        263 */
  443.    256,    /* f0                264 */
  444.    315,    /* f1                265 */
  445.    316,    /* f2                266 */
  446.    317,    /* f3                267 */
  447.    318,    /* f4                268 */
  448.    319,    /* f5                269 */
  449.    320,    /* f6                270 */
  450.    321,    /* f7                271 */
  451.    322,    /* f8                272 */
  452.    323,    /* f9                273 */
  453.    324,    /* f10               274 */
  454.    389,    /* f11               275 */
  455.    390,    /* f12               276 */
  456.    256,    /* f13               277 */
  457.    256,    /* f14               278 */
  458.    256,    /* f15               279 */
  459.    256,    /* f16               280 */
  460.    256,    /* f17               281 */
  461.    256,    /* f18               282 */
  462.    256,    /* f19               283 */
  463.    256,    /* f20               284 */
  464.    256,    /* f21               285 */
  465.    256,    /* f22               286 */
  466.    256,    /* f23               287 */
  467.    256,    /* f24               288 */
  468.    256,    /* f25               289 */
  469.    256,    /* f26               290 */
  470.    256,    /* f27               291 */
  471.    256,    /* f28               292 */
  472.    256,    /* f29               293 */
  473.    256,    /* f30               294 */
  474.    256,    /* f31               295 */
  475.    256,    /* f32               296 */
  476.    256,    /* f33               297 */
  477.    256,    /* f34               298 */
  478.    256,    /* f35               299 */
  479.    256,    /* f36               300 */
  480.    256,    /* f37               301 */
  481.    256,    /* f38               302 */
  482.    256,    /* f39               303 */
  483.    256,    /* f40               304 */
  484.    256,    /* f41               305 */
  485.    256,    /* f42               306 */
  486.    256,    /* f43               307 */
  487.    256,    /* f44               308 */
  488.    256,    /* f45               309 */
  489.    256,    /* f46               310 */
  490.    256,    /* f47               311 */
  491.    256,    /* f48               312 */
  492.    256,    /* f49               313 */
  493.    256,    /* f50               314 */
  494.    256,    /* f51               315 */
  495.    256,    /* f52               316 */
  496.    256,    /* f53               317 */
  497.    256,    /* f54               318 */
  498.    256,    /* f55               319 */
  499.    256,    /* f56               320 */
  500.    256,    /* f57               321 */
  501.    256,    /* f58               322 */
  502.    256,    /* f59               323 */
  503.    256,    /* f60               324 */
  504.    256,    /* f61               325 */
  505.    256,    /* f62               326 */
  506.    256,    /* f63               327 */
  507.    256,    /* delete line       328 */
  508.    256,    /* insert line       329 */
  509.    339,    /* delete char       330 */
  510.    338,    /* insert char       331 */
  511.    338,    /* insert char?      332 */
  512.    256,    /* clear screen      333 */
  513.    256,    /* clear eos         334 */
  514.    256,    /* clear eol         335 */
  515.    401,    /* scroll forward    336 */
  516.    397,    /* scroll backward   337 */
  517.    337,    /* page down         338 */
  518.    329,    /* page up           339 */
  519.    404,    /* set tabs          340 */
  520.    404,    /* clear tabs        341 */
  521.    404,    /* clear all tabs    342 */
  522.    262,    /* enter             343 */
  523.    256,    /* soft reset        344 */
  524.    256,    /* hard reset        345 */
  525.    256,    /* print             346 */
  526.    256,    /* lower left        347 */
  527.    327,    /* home (a1)         348 */
  528.    329,    /* page up (a3)      349 */
  529.    332,    /* center (b2)       350 */
  530.    335,    /* end (c1)          351 */
  531.    337,    /* page down (c3)    352 */
  532.    271,    /* back tab          353 */
  533.    256,    /* begin             354 */
  534.    256,    /* cancel            355 */
  535.    256,    /* close             356 */
  536.    256,    /* command           357 */
  537.    256,    /* copy              358 */
  538.    256,    /* create            359 */
  539.    256,    /* end               360 */
  540.    256,    /* exit              361 */
  541.    256,    /* find              362 */
  542.    256,    /* help              363 */
  543.    256,    /* mark              364 */
  544.    256,    /* message           365 */
  545.    256,    /* move              366 */
  546.    256,    /* next              367 */
  547.    256,    /* open              368 */
  548.    256,    /* options           369 */
  549.    256,    /* previous          370 */
  550.    256,    /* redo              371 */
  551.    256,    /* reference         372 */
  552.    256,    /* refresh           373 */
  553.    256,    /* replace           374 */
  554.    256,    /* restart           375 */
  555.    256,    /* resume            376 */
  556.    256,    /* save              377 */
  557.    256,    /* shift begin       378 */
  558.    256,    /* shift cancel      379 */
  559.    256,    /* shift command     380 */
  560.    256,    /* shift copy        381 */
  561.    256,    /* shift create      382 */
  562.    256,    /* shift delete char 383 */
  563.    256,    /* shift del line    384 */
  564.    256,    /* shift select      385 */
  565.    256,    /* shift end         386 */
  566.    256,    /* shift clear line  387 */
  567.    256,    /* shift exit        388 */
  568.    256,    /* shift find        389 */
  569.    256,    /* shift help        390 */
  570.    256,    /* shift home        391 */
  571.    256,    /* shift input       392 */
  572.    256,    /* shift left arrow  393 */
  573.    256,    /* shift message     394 */
  574.    256,    /* shift move        395 */
  575.    256,    /* shift next        396 */
  576.    256,    /* shift options     397 */
  577.    256,    /* shift prev        398 */
  578.    256,    /* shift print       399 */
  579.    256,    /* shift redo        400 */
  580.    256,    /* shift replace     401 */
  581.    256,    /* shift right arrow 402 */
  582.    256,    /* shift resume      403 */
  583.    256,    /* shift save        404 */
  584.    256,    /* shift suspend     405 */
  585.    256,    /* shift undo        406 */
  586.    256,    /* suspend           407 */
  587.    256     /* undo              408 */
  588. };
  589. #endif
  590.