home *** CD-ROM | disk | FTP | other *** search
- IFND DEVICES_INPUTEVENT_I
- DEVICES_INPUTEVENT_I SET 1
- **
- ** $Filename: devices/inputevent.i $
- ** $Release: 1.3 $
- **
- ** input event definitions
- **
- ** (C) Copyright 1985,1986,1987,1988 Commodore-Amiga, Inc.
- ** All Rights Reserved
- **
-
- IFND DEVICES_TIMER_I
- INCLUDE "devices/timer.i"
- ENDC
-
- *------ constants ----------------------------------------------------
-
- * --- InputEvent.ie_Class ---
- * A NOP input event
- IECLASS_NULL EQU $00
- * A raw keycode from the keyboard device
- IECLASS_RAWKEY EQU $01
- * A raw mouse report from the game port device
- IECLASS_RAWMOUSE EQU $02
- * A private console event
- IECLASS_EVENT EQU $03
- * A Pointer Position report
- IECLASS_POINTERPOS EQU $04
- * A timer event
- IECLASS_TIMER EQU $06
- * select button pressed down over a Gadget (address in ie_EventAddress)
- IECLASS_GADGETDOWN EQU $07
- * select button released over the same Gadget (address in ie_EventAddress)
- IECLASS_GADGETUP EQU $08
- * some Requester activity has taken place. See Codes REQCLEAR and REQSET
- IECLASS_REQUESTER EQU $09
- * this is a Menu Number transmission (Menu number is in ie_Code)
- IECLASS_MENULIST EQU $0A
- * User has selected the active Window's Close Gadget
- IECLASS_CLOSEWINDOW EQU $0B
- * this Window has a new size
- IECLASS_SIZEWINDOW EQU $0C
- * the Window pointed to by ie_EventAddress needs to be refreshed
- IECLASS_REFRESHWINDOW EQU $0D
- * new preferences are available
- IECLASS_NEWPREFS EQU $0E
- * the disk has been removed
- IECLASS_DISKREMOVED EQU $0F
- * the disk has been inserted
- IECLASS_DISKINSERTED EQU $10
- * the window is about to be been made active
- IECLASS_ACTIVEWINDOW EQU $11
- * the window is about to be made inactive
- IECLASS_INACTIVEWINDOW EQU $12
-
- * the last class
- IECLASS_MAX EQU $12
-
- * --- InputEvent.ie_Code ---
- * IECLASS_RAWKEY
- 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
-
- * IECLASS_ANSI
- 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
-
- * IECLASS_RAWMOUSE
- IECODE_LBUTTON EQU $68 ; also uses IECODE_UP_PREFIX
- IECODE_RBUTTON EQU $69 ;
- IECODE_MBUTTON EQU $6A ;
- IECODE_NOBUTTON EQU $FF
-
- * IECLASS_EVENT
- IECODE_NEWACTIVE EQU $01 ; active input window changed
-
- * IECLASS_REQUESTER Codes
- * REQSET is broadcast when the first Requester (not subsequent ones) opens
- * in the Window
- IECODE_REQSET EQU $01
- * REQCLEAR is broadcast when the last Requester clears out of the Window
- IECODE_REQCLEAR EQU $00
-
-
- * --- InputEvent.ie_Qualifier ---
- IEQUALIFIER_LSHIFT EQU $0001
- IEQUALIFIERB_LSHIFT EQU 0
- IEQUALIFIER_RSHIFT EQU $0002
- IEQUALIFIERB_RSHIFT EQU 1
- IEQUALIFIER_CAPSLOCK EQU $0004
- IEQUALIFIERB_CAPSLOCK EQU 2
- IEQUALIFIER_CONTROL EQU $0008
- IEQUALIFIERB_CONTROL EQU 3
- IEQUALIFIER_LALT EQU $0010
- IEQUALIFIERB_LALT EQU 4
- IEQUALIFIER_RALT EQU $0020
- IEQUALIFIERB_RALT EQU 5
- IEQUALIFIER_LCOMMAND EQU $0040
- IEQUALIFIERB_LCOMMAND EQU 6
- IEQUALIFIER_RCOMMAND EQU $0080
- IEQUALIFIERB_RCOMMAND EQU 7
- IEQUALIFIER_NUMERICPAD EQU $0100
- IEQUALIFIERB_NUMERICPAD EQU 8
- IEQUALIFIER_REPEAT EQU $0200
- IEQUALIFIERB_REPEAT EQU 9
- IEQUALIFIER_INTERRUPT EQU $0400
- IEQUALIFIERB_INTERRUPT EQU 10
- IEQUALIFIER_MULTIBROADCAST EQU $0800
- IEQUALIFIERB_MULTIBROADCAST EQU 11
- IEQUALIFIER_MIDBUTTON EQU $1000
- IEQUALIFIERB_MIDBUTTON EQU 12
- IEQUALIFIER_RBUTTON EQU $2000
- IEQUALIFIERB_RBUTTON EQU 13
- IEQUALIFIER_LEFTBUTTON EQU $4000
- IEQUALIFIERB_LEFTBUTTON EQU 14
- IEQUALIFIER_RELATIVEMOUSE EQU $8000
- IEQUALIFIERB_RELATIVEMOUSE EQU 15
-
- *------ InputEvent ---------------------------------------------------
-
- STRUCTURE InputEvent,0
- APTR ie_NextEvent ; the chronologically next event
- UBYTE ie_Class ; the input event class
- UBYTE ie_SubClass ; optional subclass of the class
- UWORD ie_Code ; the input event code
- UWORD ie_Qualifier ; qualifiers in effect for the event
- LABEL ie_EventAddress ; a pointer parameter for an event
- WORD ie_X ; the pointer position for the event,
- WORD ie_Y ; usually in canvas relative coords
- STRUCT ie_TimeStamp,TV_SIZE ; the system tick at the event
- LABEL ie_SIZEOF
-
- ENDC ; DEVICES_INPUTEVENT_I
-