home *** CD-ROM | disk | FTP | other *** search
/ Amiga Developer CD v1.2 / amidev_cd_12.iso / devcon / sanfrancisco_1989 / sf-devcon89.1 / commodities / include / cx / ix.h < prev    next >
C/C++ Source or Header  |  1992-08-27  |  1KB  |  51 lines

  1. /* ix.h -- input expression definitions */
  2.  
  3. /*
  4. Copyright (c) 1987, 1988, 1989 Jim Mackraz and I&I Computing.
  5.  
  6. Executables based on this information may be used in software
  7. for Commodore Amiga computers.  All other rights reserved.
  8. This information is provided "as is"; no warranties are made.
  9. All use is at your own risk, and no liability or responsibility
  10. is assumed.
  11. */
  12.  
  13. #ifndef    IX_H
  14. #define IX_H 1
  15.  
  16. #ifndef DEVICES_INPUTEVENT_H
  17. #include <devices/inputevent.h>
  18. #endif
  19.  
  20. #define IX_VERSION    2
  21.  
  22. struct InputXpression {
  23.     UBYTE    ix_Version;        /* must be set to IX_VERSION    */
  24.     UBYTE    ix_Class;        /* class must match exactly        */
  25.  
  26.     UWORD    ix_Code;
  27.     UWORD    ix_CodeMask;    /* normally used for UPCODE        */
  28.  
  29.     UWORD    ix_Qualifier;
  30.     UWORD    ix_QualMask;
  31.     UWORD    ix_QualSame;    /* synonyms in qualifier        */
  32.     };
  33. typedef struct InputXpression IX;
  34.  
  35. /* QualSame identifiers    */
  36. #define    IXSYM_SHIFT    1        /* left- and right- shift are equivalent    */
  37. #define    IXSYM_CAPS    2        /* either shift or caps lock are equivalent    */
  38. #define    IXSYM_ALT    4        /* left- and right- alt are equivalent        */
  39.  
  40. /* corresponding QualSame masks    */
  41. #define    IXSYM_SHIFTMASK    (IEQUALIFIER_LSHIFT    |  IEQUALIFIER_RSHIFT)
  42. #define    IXSYM_CAPSMASK    (IXSYM_SHIFTMASK    | IEQUALIFIER_CAPSLOCK)
  43. #define    IXSYM_ALTMASK    (IEQUALIFIER_LALT    |  IEQUALIFIER_RALT)
  44.  
  45. #define IX_NORMALQUALS    0x7FFF;  /* for QualMask field: avoid RELATIVEMOUSE */
  46.  
  47. /* matches nothing    */
  48. #define    NULL_IX(I)  ((I)->ix_Class == IECLASS_NULL)
  49.  
  50. #endif
  51.