	IFND	DEVICES_INPUTEVENT_I
DEVICES_INPUTEVENT_I	SET	1
	IFND	DEVICES_TIMER_I
	INCLUDE	"devices/timer.i"
	ENDC

IECLASS_NULL		EQU	$00
IECLASS_RAWKEY		EQU	$01
IECLASS_RAWMOUSE	EQU	$02
IECLASS_EVENT		EQU	$03
IECLASS_POINTERPOS	EQU	$04
IECLASS_TIMER		EQU	$06
IECLASS_GADGETDOWN	EQU	$07
IECLASS_GADGETUP	EQU	$08
IECLASS_REQUESTER	EQU	$09
IECLASS_MENULIST	EQU	$0A
IECLASS_CLOSEWINDOW	EQU	$0B
IECLASS_SIZEWINDOW	EQU	$0C
IECLASS_REFRESHWINDOW	EQU	$0D
IECLASS_NEWPREFS	EQU	$0E
IECLASS_DISKREMOVED	EQU	$0F
IECLASS_DISKINSERTED	EQU	$10
IECLASS_ACTIVEWINDOW	EQU	$11
IECLASS_INACTIVEWINDOW	EQU	$12
IECLASS_NEWPOINTERPOS	EQU	$13
IECLASS_MENUHELP	EQU	$14
IECLASS_CHANGEWINDOW	EQU	$15
IECLASS_MAX		EQU	$15

IESUBCLASS_COMPATIBLE	EQU	$00
IESUBCLASS_PIXEL	EQU	$01
IESUBCLASS_TABLET	EQU	$02

	rsreset
IEPointerPixel	rs.b	0
iepp_Screen	rs.l	1
iepp_Position	rs.w	0
iepp_PositionX	rs.w	1
iepp_PositionY	rs.w	1
IEPointerPixel_SIZEOF	rs.w	0

	rsreset
IEPointerTablet	rs.b	0
iept_Range	rs.w	0
iept_RangeX	rs.w	1
iept_RangeY	rs.w	1
iept_Value	rs.w	0
iept_ValueX	rs.w	1
iept_ValueY	rs.w	1
iept_Pressure	rs.w	1
IEPointerTablet_SIZEOF	rs.w	0

IECODE_UP_PREFIX	EQU	$80
IECODEB_UP_PREFIX	EQU	7
IECODE_KEY_CODE_FIRST	EQU	$00
IECODE_KEY_CODE_LAST	EQU	$77
IECODE_COMM_CODE_FIRST	EQU	$78
IECODE_COMM_CODE_LAST	EQU	$7F
IECODE_C0_FIRST		EQU	$00
IECODE_C0_LAST		EQU	$1F
IECODE_ASCII_FIRST	EQU	$20
IECODE_ASCII_LAST	EQU	$7E
IECODE_ASCII_DEL	EQU	$7F
IECODE_C1_FIRST		EQU	$80
IECODE_C1_LAST		EQU	$9F
IECODE_LATIN1_FIRST	EQU	$A0
IECODE_LATIN1_LAST	EQU	$FF
IECODE_LBUTTON		EQU	$68
IECODE_RBUTTON		EQU	$69
IECODE_MBUTTON		EQU	$6A
IECODE_NOBUTTON		EQU	$FF
IECODE_NEWACTIVE	EQU	$01
IECODE_NEWSIZE		EQU	$02
IECODE_REFRESH		EQU	$03
IECODE_REQSET		EQU	$01
IECODE_REQCLEAR		EQU	$00

IEQUALIFIER_LSHIFT	EQU	1
IEQUALIFIER_RSHIFT	EQU	2
IEQUALIFIER_CAPSLOCK	EQU	4
IEQUALIFIER_CONTROL	EQU	8
IEQUALIFIER_LALT	EQU	$10
IEQUALIFIER_RALT	EQU	$20
IEQUALIFIER_LCOMMAND	EQU	$40
IEQUALIFIER_RCOMMAND	EQU	$80
IEQUALIFIER_NUMERICPAD	EQU	$100
IEQUALIFIER_REPEAT	EQU	$200
IEQUALIFIER_INTERRUPT	EQU	$400
IEQUALIFIER_MULTIBROADCAST EQU	$800
IEQUALIFIER_MIDBUTTON	EQU	$1000
IEQUALIFIER_RBUTTON	EQU	$2000
IEQUALIFIER_LEFTBUTTON	EQU	$4000
IEQUALIFIER_RELATIVEMOUSE EQU	$8000

IEQUALIFIERB_LSHIFT	EQU	0
IEQUALIFIERB_RSHIFT	EQU	1
IEQUALIFIERB_CAPSLOCK	EQU	2
IEQUALIFIERB_CONTROL	EQU	3
IEQUALIFIERB_LALT	EQU	4
IEQUALIFIERB_RALT	EQU	5
IEQUALIFIERB_LCOMMAND	EQU	6
IEQUALIFIERB_RCOMMAND	EQU	7
IEQUALIFIERB_NUMERICPAD	EQU	8
IEQUALIFIERB_REPEAT	EQU	9
IEQUALIFIERB_INTERRUPT	EQU	10
IEQUALIFIERB_MULTIBROADCAST EQU	11
IEQUALIFIERB_MIDBUTTON	EQU	12
IEQUALIFIERB_RBUTTON	EQU	13
IEQUALIFIERB_LEFTBUTTON	EQU	14
IEQUALIFIERB_RELATIVEMOUSE EQU	15

	rsreset
InputEvent	rs.b	0
ie_NextEvent	rs.l	1
ie_Class	rs.b	1
ie_SubClass	rs.b	1
ie_Code		rs.w	1
ie_Qualifier	rs.w	1
ie_EventAddress	rs.w	0
ie_X		rs.w	0
ie_Prev1DownCode rs.b	1
ie_Prev1DownQual rs.b	1
ie_Y		rs.w	0
ie_Prev2DownCode rs.b	1
ie_Prev2DownQual rs.b	1
ie_TimeStamp	rs.b	TV_SIZE
ie_SIZEOF	rs.w	0

	ENDC	;DEVICES_INPUTEVENT_I
