home *** CD-ROM | disk | FTP | other *** search
/ QBasic & Borland Pascal & C / Delphi5.iso / C / Samples / CSAPE32.ARJ / INCLUDE / KBRECORD.H < prev    next >
Text File  |  1990-12-05  |  2KB  |  78 lines

  1. /*
  2.       kbrecord.h
  3.  
  4.     % Header for kbrecord function
  5.  
  6.     OWL 1.2
  7.     Copyright (c) 1988-1990, by Oakland Group, Inc.
  8.     ALL RIGHTS RESERVED.
  9.  
  10.     Revision History:
  11.     -----------------
  12.      9/13/88 jmd    Changed KB_LEARN to KB_RECORD
  13.  
  14.      3/28/90 jmd    ansi-fied
  15.      8/15/90 jdc    added kb_Macro stuff
  16.      8/29/90 jdc    added KB_MACSTART and KB_MACPLAY modes
  17.      9/03/90 jdc    added MAXNEST check
  18.      9/21/90 pmcm    changed extern to OEXTERN for kb_keylist
  19.     10/28/90 jdc    fixed boolean/int ret conflict
  20.     12/05/90 ted    changed 'scancode' to '_scancode' in macromsg_func macro.
  21. */
  22.  
  23. typedef struct keyS_tag {
  24.  
  25.     int     scan;        /* never == 0 */
  26.     char   *name;
  27.  
  28.     int        size;        /* no macro allowed for key if size == -1        */
  29.  
  30.     iarray    macro;        /* not set by programmer always == NULL */
  31.  
  32. } key_struct;
  33.  
  34. #define KB_NAME_MAXLEN    22
  35. #define KB_LIST_END        0, "", 0, NULL
  36.  
  37. /* KBLIST.C */
  38. OEXTERN key_struct kb_keylist[];
  39.  
  40. /* kb_Record modes */
  41. #define KB_STOP        0
  42. #define KB_RECORD    1
  43. #define KB_PLAY        2
  44.  
  45. /* KBRECORD.C */
  46. extern void        kb_Record(FILE *fp, int mode, int delay);
  47.  
  48. /* kb_Macro modes */
  49. #define KB_MACRO    0
  50. #define KB_MACKEY    1
  51. #define KB_MACLEARN    2
  52. #define KB_MACSTOP    3
  53. #define KB_MACOFF    4
  54. #define KB_MACRESET    5
  55. #define KB_MACCLEAR    6
  56. #define KB_MACSTART    7
  57. #define KB_MACPLAY    8
  58. #define KB_MAXNEST    9
  59.  
  60. #define macromsg_func(fname)            boolean fname(int _msg, int _scancode)
  61. typedef macromsg_func ((*macromsg_fptr));
  62.  
  63. /* KBMACRO.C */
  64. extern    boolean    kb_Macro(int mode, int key, moupos_struct *mposp, macromsg_fptr macromsg);
  65.  
  66. extern    int        key_GetCurrKey(void);
  67. extern    int        key_GetLearnKey(void);
  68. extern    int        key_GetMode(void);
  69. extern    char    *key_GetName(int key);
  70. extern    boolean    key_IsMacro(int key);
  71.  
  72. extern    boolean key_SetMacroStr(char *str);
  73. extern    boolean key_GetMacroStr(int key, char *str);
  74.  
  75. #define key_GetCurrName()    key_GetName(key_GetCurrKey())
  76. #define key_IsCurrMacro()    key_IsMacro(key_GetCurrKey())
  77.  
  78.