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