home *** CD-ROM | disk | FTP | other *** search
/ Amiga Developer CD 2.1 / Amiga Developer CD v2.1.iso / CD32 / CD32_Support / examples / SA_Examples / lowlevel / KBInt / kbint.h < prev    next >
Encoding:
C/C++ Source or Header  |  1993-08-31  |  2.9 KB  |  98 lines

  1. /*
  2.  * Constants
  3.  */
  4.  
  5. #define PROGRAM_NAME "KBInt"            /* Program name */
  6.  
  7. #define KICKSTART_VERSION 40            /* Minimum Kickstart version */
  8. #define WORKBENCH_VERSION 40            /* Minimum Workbench version */
  9. #define KEYMAP_VERSION 37               /* Minimum keymap.library version */
  10.                                         /* !!! kludge alert -- keymap.library
  11.                                            version does not match Kickstart or
  12.                                            Workbench version at time of writing !!! */
  13.  
  14. #define GUI_TYPEFACE "topaz.font"       /* Typeface for GUI */
  15. #define GUI_TYPESIZE 8                  /* Typesize for GUI */
  16.  
  17. #define GUI_KEY_ID 1
  18. #define GUI_CODE_ID 2
  19. #define GUI_TRANSITION_ID 3
  20. #define GUI_LSHIFT_ID 4
  21. #define GUI_RSHIFT_ID 5
  22. #define GUI_CAPSLOCK_ID 6
  23. #define GUI_CONTROL_ID 7
  24. #define GUI_LALT_ID 8
  25. #define GUI_RALT_ID 9
  26. #define GUI_LAMIGA_ID 10
  27. #define GUI_RAMIGA_ID 11
  28.  
  29. #define KBINT_COOKIE 0xC0EDBABE         /* Cookie for interrupt data */
  30.  
  31. #define KB_MAP_LENGTH 4                 /* Length of buffer for mapped
  32.                                            keyboard event */
  33.  
  34. /*
  35.  * Prototypes
  36.  */
  37.  
  38. void main(int argc,char *argv[]);
  39. void goodbye(int returnCode);
  40.  
  41. BOOL guiOpen(void);
  42. void guiClose(void);
  43. void guiLoop(void);
  44.  
  45. void kbUpdate(void);
  46. void __asm __interrupt __saveds kbInterrupt(register __d0 UBYTE rawKey,
  47.     register __a1 APTR intData);
  48.  
  49. /*
  50.  * Globals
  51.  */
  52.  
  53. #ifdef MAIN
  54.  
  55. struct Library *IntuitionBase=NULL,             /* intuition.library base */
  56.     *GadtoolsBase=NULL,                         /* gadtools.library base */
  57.     *KeymapBase=NULL,                           /* keymap.library base */
  58.     *LowLevelBase=NULL;                         /* lowlevel.library base */
  59.  
  60. struct Window *window=NULL;
  61. void *visualInfo=NULL;
  62. struct Gadget *gadgetList=NULL,
  63.     *keyGadget, *codeGadget, *transitionGadget,
  64.     *lShiftGadget, *rShiftGadget,
  65.     *capsLockGadget, *controlGadget,
  66.     *lAltGadget, *rAltGadget,
  67.     *lAmigaGadget, *rAmigaGadget;
  68.  
  69. APTR kbIntHandle=NULL;                          /* Keyboard interrupt handler */
  70. struct Task *kbIntTask;                         /* KBInt task */
  71. BYTE kbSignal=-1;                               /* Keyboard signal */
  72. ULONG kbIntBadData=0L;                          /* Counter for bad data passed to
  73.                                                    keyboard interrupt handler */
  74. ULONG kbCode;                                   /* Keyboard code */
  75.  
  76. #else
  77.  
  78. extern struct Library *IntuitionBase, *GadtoolsBase, *KeymapBase,
  79.     *LowLevelBase;
  80.  
  81. extern struct Window *window;
  82. extern void *visualInfo;
  83. extern struct Gadget *gadgetList,
  84.     *keyGadget, *codeGadget, *transitionGadget,
  85.     *lShiftGadget, *rShiftGadget,
  86.     *capsLockGadget, *controlGadget,
  87.     *lAltGadget, *rAltGadget,
  88.     *lAmigaGadget, *rAmigaGadget;
  89.  
  90. extern APTR kbIntHandle;
  91. extern struct Task *kbIntTask;
  92. extern BYTE kbSignal;
  93. extern ULONG kbIntBadData;
  94.  
  95. extern ULONG kbCode;
  96.  
  97. #endif /* DEBUG */
  98.