home *** CD-ROM | disk | FTP | other *** search
/ Amiga ISO Collection / AmigaUtilCD2.iso / Programming / C / BC_DICE2.DMS / in.adf / INCLUDE / devices / inputevent.h < prev    next >
Encoding:
C/C++ Source or Header  |  1995-01-10  |  3.9 KB  |  210 lines

  1. #ifndef DEVICES_INPUTEVENT_H
  2. #define DEVICES_INPUTEVENT_H
  3. /*
  4. ** $Filename: devices/inputevent.h $
  5. ** $Release: 2.04 Includes, V37.4 $
  6. ** $Revision: 36.7 $
  7. ** $Date: 91/01/22 $
  8. **
  9. ** input event definitions
  10. **
  11. ** (C) Copyright 1985-1991 Commodore-Amiga, Inc.
  12. ** All Rights Reserved
  13. */
  14.  
  15. #ifndef DEVICES_TIMER_H
  16. #include "devices/timer.h"
  17. #endif
  18.  
  19.  
  20.  
  21.  
  22.  
  23. #define IECLASS_NULL 0x00
  24.  
  25. #define IECLASS_RAWKEY 0x01
  26.  
  27. #define IECLASS_RAWMOUSE 0x02
  28.  
  29. #define IECLASS_EVENT 0x03
  30.  
  31. #define IECLASS_POINTERPOS 0x04
  32.  
  33. #define IECLASS_TIMER 0x06
  34.  
  35. #define IECLASS_GADGETDOWN 0x07
  36.  
  37. #define IECLASS_GADGETUP 0x08
  38.  
  39. #define IECLASS_REQUESTER 0x09
  40.  
  41. #define IECLASS_MENULIST 0x0A
  42.  
  43. #define IECLASS_CLOSEWINDOW 0x0B
  44.  
  45. #define IECLASS_SIZEWINDOW 0x0C
  46.  
  47. #define IECLASS_REFRESHWINDOW 0x0D
  48.  
  49. #define IECLASS_NEWPREFS 0x0E
  50.  
  51. #define IECLASS_DISKREMOVED 0x0F
  52.  
  53. #define IECLASS_DISKINSERTED 0x10
  54.  
  55. #define IECLASS_ACTIVEWINDOW 0x11
  56.  
  57. #define IECLASS_INACTIVEWINDOW 0x12
  58.  
  59. #define IECLASS_NEWPOINTERPOS 0x13
  60.  
  61. #define IECLASS_MENUHELP 0x14
  62.  
  63. #define IECLASS_CHANGEWINDOW 0x15
  64.  
  65.  
  66. #define IECLASS_MAX 0x15
  67.  
  68.  
  69.  
  70.  
  71.  
  72. #define IESUBCLASS_COMPATIBLE 0x00
  73.  
  74. #define IESUBCLASS_PIXEL 0x01
  75.  
  76. #define IESUBCLASS_TABLET 0x02
  77.  
  78.  
  79. struct IEPointerPixel {
  80.  struct Screen *iepp_Screen; 
  81.  struct { 
  82.  WORD X;
  83.  WORD Y;
  84.  } iepp_Position;
  85. };
  86.  
  87.  
  88. struct IEPointerTablet {
  89.  struct {
  90.  UWORD X;
  91.  UWORD Y;
  92.  } iept_Range; 
  93.  struct {
  94.  UWORD X;
  95.  UWORD Y;
  96.  } iept_Value; 
  97.  
  98.  WORD iept_Pressure; 
  99. };
  100.  
  101.  
  102.  
  103.  
  104.  
  105. #define IECODE_UP_PREFIX 0x80
  106. #define IECODE_KEY_CODE_FIRST 0x00
  107. #define IECODE_KEY_CODE_LAST 0x77
  108. #define IECODE_COMM_CODE_FIRST 0x78
  109. #define IECODE_COMM_CODE_LAST 0x7F
  110.  
  111.  
  112. #define IECODE_C0_FIRST 0x00
  113. #define IECODE_C0_LAST 0x1F
  114. #define IECODE_ASCII_FIRST 0x20
  115. #define IECODE_ASCII_LAST 0x7E
  116. #define IECODE_ASCII_DEL 0x7F
  117. #define IECODE_C1_FIRST 0x80
  118. #define IECODE_C1_LAST 0x9F
  119. #define IECODE_LATIN1_FIRST 0xA0
  120. #define IECODE_LATIN1_LAST 0xFF
  121.  
  122.  
  123. #define IECODE_LBUTTON 0x68 
  124. #define IECODE_RBUTTON 0x69
  125. #define IECODE_MBUTTON 0x6A
  126. #define IECODE_NOBUTTON 0xFF
  127.  
  128.  
  129. #define IECODE_NEWACTIVE 0x01 
  130. #define IECODE_NEWSIZE 0x02 
  131. #define IECODE_REFRESH 0x03 
  132.  
  133.  
  134.  
  135.  
  136. #define IECODE_REQSET 0x01
  137.  
  138. #define IECODE_REQCLEAR 0x00
  139.  
  140.  
  141.  
  142.  
  143. #define IEQUALIFIER_LSHIFT 0x0001
  144. #define IEQUALIFIER_RSHIFT 0x0002
  145. #define IEQUALIFIER_CAPSLOCK 0x0004
  146. #define IEQUALIFIER_CONTROL 0x0008
  147. #define IEQUALIFIER_LALT 0x0010
  148. #define IEQUALIFIER_RALT 0x0020
  149. #define IEQUALIFIER_LCOMMAND 0x0040
  150. #define IEQUALIFIER_RCOMMAND 0x0080
  151. #define IEQUALIFIER_NUMERICPAD 0x0100
  152. #define IEQUALIFIER_REPEAT 0x0200
  153. #define IEQUALIFIER_INTERRUPT 0x0400
  154. #define IEQUALIFIER_MULTIBROADCAST 0x0800
  155. #define IEQUALIFIER_MIDBUTTON 0x1000
  156. #define IEQUALIFIER_RBUTTON 0x2000
  157. #define IEQUALIFIER_LEFTBUTTON 0x4000
  158. #define IEQUALIFIER_RELATIVEMOUSE 0x8000
  159.  
  160. #define IEQUALIFIERB_LSHIFT 0
  161. #define IEQUALIFIERB_RSHIFT 1
  162. #define IEQUALIFIERB_CAPSLOCK 2
  163. #define IEQUALIFIERB_CONTROL 3
  164. #define IEQUALIFIERB_LALT 4
  165. #define IEQUALIFIERB_RALT 5
  166. #define IEQUALIFIERB_LCOMMAND 6
  167. #define IEQUALIFIERB_RCOMMAND 7
  168. #define IEQUALIFIERB_NUMERICPAD 8
  169. #define IEQUALIFIERB_REPEAT 9
  170. #define IEQUALIFIERB_INTERRUPT 10
  171. #define IEQUALIFIERB_MULTIBROADCAST 11
  172. #define IEQUALIFIERB_MIDBUTTON 12
  173. #define IEQUALIFIERB_RBUTTON 13
  174. #define IEQUALIFIERB_LEFTBUTTON 14
  175. #define IEQUALIFIERB_RELATIVEMOUSE 15
  176.  
  177.  
  178.  
  179. struct InputEvent {
  180.  struct InputEvent *ie_NextEvent; 
  181.  UBYTE ie_Class; 
  182.  UBYTE ie_SubClass; 
  183.  UWORD ie_Code; 
  184.  UWORD ie_Qualifier; 
  185.  union {
  186.  struct {
  187.  WORD ie_x; 
  188.  WORD ie_y;
  189.  } ie_xy;
  190.  APTR ie_addr; 
  191.  struct {
  192.  UBYTE ie_prev1DownCode; 
  193.  UBYTE ie_prev1DownQual; 
  194.  UBYTE ie_prev2DownCode; 
  195.  UBYTE ie_prev2DownQual; 
  196.  } ie_dead;
  197.  } ie_position;
  198.  struct timeval ie_TimeStamp; 
  199. };
  200.  
  201. #define ie_X ie_position.ie_xy.ie_x
  202. #define ie_Y ie_position.ie_xy.ie_y
  203. #define ie_EventAddress ie_position.ie_addr
  204. #define ie_Prev1DownCode ie_position.ie_dead.ie_prev1DownCode
  205. #define ie_Prev1DownQual ie_position.ie_dead.ie_prev1DownQual
  206. #define ie_Prev2DownCode ie_position.ie_dead.ie_prev2DownCode
  207. #define ie_Prev2DownQual ie_position.ie_dead.ie_prev2DownQual
  208.  
  209. #endif 
  210.