home *** CD-ROM | disk | FTP | other *** search
/ Mega Top 1 / os2_top1.zip / os2_top1 / DEMO / RIM22 / MACROS / KBD.RM < prev    next >
Text File  |  1994-02-04  |  8KB  |  244 lines

  1. /*
  2. ** Macro module: kbd.c - ASCII key bindings macros
  3. **
  4. ** Copyright (C) 1993 Brian L. Smith
  5. ** Copyright (C) 1993 RimStar Technology, Inc.
  6. ** All rights reserved internationally.
  7. ** Unlicensed use is a violation of applicable laws.
  8. **
  9. ** This source code is provided to licensed users of RimStar's products
  10. ** for the purpose of allowing the user to customize and/or enhance RimStar's
  11. ** products. The source code remains the property of the copyright holders
  12. ** with all rights reserved internationally.
  13. ** Any modifications to the source code are considered derivative works and
  14. ** all rights thereto are reserved to the copyright holders except
  15. ** that the purchaser may use the derivitive work in the same manner
  16. ** as permitted by the license governing the unmodified product.
  17. ** Distribution in any manner of any part of the original source code,
  18. ** whether in source or object form, is expressly prohibited without the
  19. ** express written permission of the copyright holders.
  20. **
  21. */
  22.  
  23. /*
  24. ** KbdBindAsciiKeys()
  25. **
  26. **    Binds (assigns) all the typable keys to the current keyboard mapping.
  27. **    Called by KbdBindDefault()
  28. **    If you are defining a new keyboard and want the standard typables
  29. **    just make your new keyboard the current keyboard and call this function.
  30. */
  31. void
  32. KbdBindAsciiKeys(void) {
  33.     /*
  34.     ** To save memory only specify the string
  35.     ** once, then use a pointer to it
  36.     */
  37.  
  38.     char  *self_insert = "SelfInsert";    
  39.     char    *p;
  40.  
  41.     /* Bind the default CUA system menu accels */
  42.  
  43.     KbdBind("Ctrl+F4",        "WinDeleteCurrentWindow");
  44.     KbdBind("Ctrl+F5",        "WinRestore");
  45.     KbdBind("Ctrl+F7",        "WinMove");
  46.     KbdBind("Ctrl+F8",        "WinSize");
  47.     KbdBind("Ctrl+F9",        "WinMinimize");
  48.     KbdBind("Ctrl+F10",        "WinMaximize");
  49.     KbdBind("Ctrl+Space",    "WinSysMenu");
  50.     KbdBind("Alt+F4",            "ExitEditor");
  51.     KbdBind("Alt+F5",            "WinMainRestore");
  52.     KbdBind("Alt+F7",            "WinMainMove");
  53.     KbdBind("Alt+F8",            "WinMainSize");
  54.     KbdBind("Alt+F9",            "WinMainMinimize");
  55.     KbdBind("Alt+F10",        "WinMainMaximize");
  56.     KbdBind("Alt+F11",        "WinMainHide");
  57.     KbdBind("Alt+Space",        "WinMainSysMenu");
  58.  
  59.     /*
  60.     ** These are the standard typable key bindings
  61.     */
  62.  
  63.     KbdBind("KP_MINUS",              self_insert);
  64.     KbdBind("KP_PLUS",            self_insert);
  65.     KbdBind("KP_SLASH",              self_insert);
  66.     KbdBind("KP_STAR",            self_insert);
  67.     KbdBind("Shift+KP_DELETE", self_insert);  // .
  68.     KbdBind("Shift+KP_INSERT", self_insert);  // 0
  69.     KbdBind("Shift+KP_END",         self_insert);  // 1
  70.     KbdBind("Shift+KP_DOWN",    self_insert);  // 2
  71.     KbdBind("Shift+KP_PGDN",    self_insert);  // 3
  72.     KbdBind("Shift+KP_LEFT",    self_insert);  // 4
  73.     KbdBind("Shift+KP_5",        self_insert);  // 5
  74.     KbdBind("Shift+KP_RIGHT",  self_insert);  // 6
  75.     KbdBind("Shift+KP_HOME",    self_insert);  // 7
  76.     KbdBind("Shift+KP_UP",          self_insert);  // 8
  77.     KbdBind("Shift+KP_PGUP",    self_insert);  // 9
  78.     KbdBind("Shift+KP_SLASH",  self_insert);  // /
  79.     KbdBind("Shift+KP_STAR",    self_insert);  // *
  80.     KbdBind("Shift+KP_MINUS",  self_insert);  // -
  81.     KbdBind("Shift+KP_PLUS",    self_insert);  // +
  82.  
  83.     KbdBind("Ctrl+`", self_insert);
  84.     KbdBind("Ctrl+1", self_insert);
  85.     KbdBind("Ctrl+2", self_insert);
  86.     KbdBind("Ctrl+3", self_insert);
  87.     KbdBind("Ctrl+4", self_insert);
  88.     KbdBind("Ctrl+5", self_insert);
  89.     KbdBind("Ctrl+6", self_insert);
  90.     KbdBind("Ctrl+7", self_insert);
  91.     KbdBind("Ctrl+8", self_insert);
  92.     KbdBind("Ctrl+9", self_insert);
  93.     KbdBind("Ctrl+0", self_insert);
  94.     KbdBind("Ctrl+=", self_insert);
  95.     KbdBind("Ctrl+[", self_insert);
  96.     KbdBind("Ctrl+]", self_insert);
  97.     KbdBind("Ctrl+\\",self_insert);
  98.     KbdBind("Ctrl+;", self_insert);
  99.     KbdBind("Ctrl+'", self_insert);
  100.     KbdBind("Ctrl+,", self_insert);
  101.     KbdBind("Ctrl+.", self_insert);
  102.     KbdBind("Ctrl+/", self_insert);
  103.     KbdBind("ESCAPE", self_insert);
  104.  
  105.     KbdBind("Ctrl+A", self_insert);
  106.     KbdBind("Ctrl+B", self_insert);
  107.     KbdBind("Ctrl+C", self_insert);
  108.     KbdBind("Ctrl+D", self_insert);
  109.     KbdBind("Ctrl+E", self_insert);
  110.     KbdBind("Ctrl+F", self_insert);
  111.     KbdBind("Ctrl+G", self_insert);
  112.     KbdBind("Ctrl+H", self_insert);
  113.     KbdBind("Ctrl+I", self_insert);
  114.     KbdBind("Ctrl+J", self_insert);
  115.     KbdBind("Ctrl+L", self_insert);
  116.     KbdBind("Ctrl+M", self_insert);
  117.     KbdBind("Ctrl+N", self_insert);
  118.     KbdBind("Ctrl+O", self_insert);
  119.     KbdBind("Ctrl+P", self_insert);
  120.     KbdBind("Ctrl+Q", self_insert);
  121.     KbdBind("Ctrl+R", self_insert);
  122.     KbdBind("Ctrl+S", self_insert);
  123.     KbdBind("Ctrl+T", self_insert);
  124.     KbdBind("Ctrl+U", self_insert);
  125.     KbdBind("Ctrl+V", self_insert);
  126.     KbdBind("Ctrl+W", self_insert);
  127.     KbdBind("Ctrl+X", self_insert);
  128.     KbdBind("Ctrl+Y", self_insert);
  129.     KbdBind("Ctrl+Z", self_insert);
  130.  
  131.     KbdBind("`", self_insert);
  132.     KbdBind("1", self_insert);
  133.     KbdBind("2", self_insert);
  134.     KbdBind("3", self_insert);
  135.     KbdBind("4", self_insert);
  136.     KbdBind("5", self_insert);
  137.     KbdBind("6", self_insert);
  138.     KbdBind("7", self_insert);
  139.     KbdBind("8", self_insert);
  140.     KbdBind("9", self_insert);
  141.     KbdBind("0", self_insert);
  142.     KbdBind("-", self_insert);
  143.     KbdBind("=", self_insert);
  144.     KbdBind("[", self_insert);
  145.     KbdBind("]", self_insert);
  146.     KbdBind("\\",self_insert);
  147.     KbdBind(";", self_insert);
  148.     KbdBind("'", self_insert);
  149.     KbdBind(",", self_insert);
  150.     KbdBind(".", self_insert);
  151.     KbdBind("/", self_insert);
  152.  
  153.     KbdBind("Shift+`", self_insert);    // ~    Shifted punctuation - 
  154.     KbdBind("Shift+1", self_insert); // !    You could use the shifted
  155.     KbdBind("Shift+2", self_insert);    // @    ascii version of the letter
  156.     KbdBind("Shift+3", self_insert);    // #    but you MUST still specify
  157.     KbdBind("Shift+4", self_insert);    //    $    the SHIFT key modifier.
  158.     KbdBind("Shift+5", self_insert);    //    %
  159.     KbdBind("Shift+6", self_insert);    //    ^
  160.     KbdBind("Shift+7", self_insert);    //    &
  161.     KbdBind("Shift+8", self_insert);    //    *
  162.     KbdBind("Shift+9", self_insert);    //    (
  163.     KbdBind("Shift+0", self_insert);    // )
  164.     KbdBind("Shift+-", self_insert);    // _
  165.     KbdBind("Shift+=", self_insert);    // +
  166.     KbdBind("Shift+[", self_insert);    // {
  167.     KbdBind("Shift+]", self_insert);    // }
  168.     KbdBind("Shift+|", self_insert);    // |
  169.     KbdBind("Shift+;", self_insert);    //    :
  170.     KbdBind("Shift+'", self_insert);    //    "
  171.     KbdBind("Shift+,", self_insert);    // <
  172.     KbdBind("Shift+.", self_insert);    //    >
  173.     KbdBind("Shift+/", self_insert);    // ?
  174.  
  175.     KbdBind("Shift+A", self_insert);    // Upper-case letters
  176.     KbdBind("Shift+B", self_insert);
  177.     KbdBind("Shift+C", self_insert);
  178.     KbdBind("Shift+D", self_insert);
  179.     KbdBind("Shift+E", self_insert);
  180.     KbdBind("Shift+F", self_insert);
  181.     KbdBind("Shift+G", self_insert);
  182.     KbdBind("Shift+H", self_insert);
  183.     KbdBind("Shift+I", self_insert);
  184.     KbdBind("Shift+J", self_insert);
  185.     KbdBind("Shift+K", self_insert);
  186.     KbdBind("Shift+L", self_insert);
  187.     KbdBind("Shift+M", self_insert);
  188.     KbdBind("Shift+N", self_insert);
  189.     KbdBind("Shift+O", self_insert);
  190.     KbdBind("Shift+P", self_insert);
  191.     KbdBind("Shift+Q", self_insert);
  192.     KbdBind("Shift+R", self_insert);
  193.     KbdBind("Shift+S", self_insert);
  194.     KbdBind("Shift+T", self_insert);
  195.     KbdBind("Shift+U", self_insert);
  196.     KbdBind("Shift+V", self_insert);
  197.     KbdBind("Shift+W", self_insert);
  198.     KbdBind("Shift+X", self_insert);
  199.     KbdBind("Shift+Y", self_insert);
  200.     KbdBind("Shift+Z", self_insert);
  201.  
  202.     KbdBind("A", self_insert);    // Lower-case letters
  203.     KbdBind("B", self_insert);
  204.     KbdBind("C", self_insert);
  205.     KbdBind("D", self_insert);
  206.     KbdBind("E", self_insert);
  207.     KbdBind("F", self_insert);
  208.     KbdBind("G", self_insert);
  209.     KbdBind("H", self_insert);
  210.     KbdBind("I", self_insert);
  211.     KbdBind("J", self_insert);
  212.     KbdBind("K", self_insert);
  213.     KbdBind("L", self_insert);
  214.     KbdBind("M", self_insert);
  215.     KbdBind("N", self_insert);
  216.     KbdBind("O", self_insert);
  217.     KbdBind("P", self_insert);
  218.     KbdBind("Q", self_insert);
  219.     KbdBind("R", self_insert);
  220.     KbdBind("S", self_insert);
  221.     KbdBind("T", self_insert);
  222.     KbdBind("U", self_insert);
  223.     KbdBind("V", self_insert);
  224.     KbdBind("W", self_insert);
  225.     KbdBind("X", self_insert);
  226.     KbdBind("Y", self_insert);
  227.     KbdBind("Z", self_insert);
  228.  
  229.     KbdBind("Shift+ENTER",        p = "BufInsertChar 10");
  230.     KbdBind("Shift+KP_ENTER",    p);
  231.     KbdBind("KP_ENTER",            p);
  232.     KbdBind("ENTER",                p);
  233.  
  234.     KbdBind("TAB",                    self_insert);
  235.     KbdBind("Shift+SPACE",        self_insert);
  236.     KbdBind("SPACE",                self_insert);
  237.  
  238. } /* end KbdBindAsciiKeys() */
  239.  
  240.  
  241. /*
  242. ** End module: kbd.c
  243. */
  244.