{ $Id$ This file is part of the Free Pascal run time library. Copyright (c) 2004 Karoly Balogh for Genesi S.a.r.l. input.device event definitions unit for MorphOS/PowerPC MorphOS port was done on a free Pegasos II/G4 machine provided by Genesi S.a.r.l. See the file COPYING.FPC, included in this distribution, for details about the copyright. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. **********************************************************************} {$PACKRECORDS 2} unit inputevent; interface uses exec, utility, timer; { * input.device event definitions * Copyright (c) 2002 The MorphOS Development Team, All Rights Reserved. * } const IECLASS_NULL = $00; IECLASS_RAWKEY = $01; IECLASS_RAWMOUSE = $02; IECLASS_EVENT = $03; IECLASS_POINTERPOS = $04; IECLASS_TIMER = $06; IECLASS_GADGETDOWN = $07; IECLASS_GADGETUP = $08; IECLASS_REQUESTER = $09; IECLASS_MENULIST = $0A; IECLASS_CLOSEWINDOW = $0B; IECLASS_SIZEWINDOW = $0C; IECLASS_REFRESHWINDOW = $0D; IECLASS_NEWPREFS = $0E; IECLASS_DISKREMOVED = $0F; IECLASS_DISKINSERTED = $10; IECLASS_ACTIVEWINDOW = $11; IECLASS_INACTIVEWINDOW = $12; IECLASS_NEWPOINTERPOS = $13; IECLASS_MENUHELP = $14; IECLASS_CHANGEWINDOW = $15; {$ifndef IECLASS_NEWMOUSE} const IECLASS_NEWMOUSE = $16; {$endif} const IECLASS_MAX = $16; IESUBCLASS_COMPATIBLE = $00; IESUBCLASS_PIXEL = $01; IESUBCLASS_TABLET = $02; IESUBCLASS_NEWTABLET = $03; type PIEPointerPixel = ^TIEPointerPixel; TIEPointerPixel = record iepp_Screen : Pointer; iepp_Position : record X : Integer; Y : Integer; end; end; PIEPointerTablet = ^TIEPointerTablet; TIEPointerTablet = record iept_Range : record X : Word; Y : Word; end; iept_Value : record X : Word; Y : Word; end; iept_Pressure : Integer; end; PIENewTablet = ^TIENewTablet; TIENewTablet = record ient_CallBack : PHook; ient_ScaledX : Word; ient_ScaledY : Word; ient_ScaledXFraction : Word; ient_ScaledYFraction : Word; ient_TabletX : DWord; ient_TabletY : DWord; ient_RangeX : DWord; ient_RangeY : DWord; ient_TagList : PTagItem; end; const IECODE_UP_PREFIX = $80; IECODE_KEY_CODE_FIRST = $00; IECODE_KEY_CODE_LAST = $77; IECODE_COMM_CODE_FIRST = $78; IECODE_COMM_CODE_LAST = $7F; IECODE_C0_FIRST = $00; IECODE_C0_LAST = $1F; IECODE_ASCII_FIRST = $20; IECODE_ASCII_LAST = $7E; IECODE_ASCII_DEL = $7F; IECODE_C1_FIRST = $80; IECODE_C1_LAST = $9F; IECODE_LATIN1_FIRST = $A0; IECODE_LATIN1_LAST = $FF; IECODE_LBUTTON = $68; IECODE_RBUTTON = $69; IECODE_MBUTTON = $6A; IECODE_NOBUTTON = $FF; IECODE_NEWACTIVE = $01; IECODE_NEWSIZE = $02; IECODE_REFRESH = $03; IECODE_REQSET = $01; IECODE_REQCLEAR = $00; IEQUALIFIER_LSHIFT = $0001; IEQUALIFIER_RSHIFT = $0002; IEQUALIFIER_CAPSLOCK = $0004; IEQUALIFIER_CONTROL = $0008; IEQUALIFIER_LALT = $0010; IEQUALIFIER_RALT = $0020; IEQUALIFIER_LCOMMAND = $0040; IEQUALIFIER_RCOMMAND = $0080; IEQUALIFIER_NUMERICPAD = $0100; IEQUALIFIER_REPEAT = $0200; IEQUALIFIER_INTERRUPT = $0400; IEQUALIFIER_MULTIBROADCAST = $0800; IEQUALIFIER_MIDBUTTON = $1000; IEQUALIFIER_RBUTTON = $2000; IEQUALIFIER_LEFTBUTTON = $4000; IEQUALIFIER_RELATIVEMOUSE = $8000; IEQUALIFIERB_LSHIFT = 0; IEQUALIFIERB_RSHIFT = 1; IEQUALIFIERB_CAPSLOCK = 2; IEQUALIFIERB_CONTROL = 3; IEQUALIFIERB_LALT = 4; IEQUALIFIERB_RALT = 5; IEQUALIFIERB_LCOMMAND = 6; IEQUALIFIERB_RCOMMAND = 7; IEQUALIFIERB_NUMERICPAD = 8; IEQUALIFIERB_REPEAT = 9; IEQUALIFIERB_INTERRUPT = 10; IEQUALIFIERB_MULTIBROADCAST = 11; IEQUALIFIERB_MIDBUTTON = 12; IEQUALIFIERB_RBUTTON = 13; IEQUALIFIERB_LEFTBUTTON = 14; IEQUALIFIERB_RELATIVEMOUSE = 15; { * NewMouse events. } {$ifndef NM_WHEEL_UP} const NM_WHEEL_UP = $7a; {$endif} {$ifndef NM_WHEEL_DOWN} const NM_WHEEL_DOWN = $7b; {$endif} {$ifndef NM_WHEEL_LEFT} const NM_WHEEL_LEFT = $7c; {$endif} {$ifndef NM_WHEEL_RIGHT} const NM_WHEEL_RIGHT = $7d; {$endif} {$ifndef NM_BUTTON_FOURTH} const NM_BUTTON_FOURTH = $7e; {$endif} type PInputEvent = ^TInputEvent; TInputEvent = record ie_NextEvent : PInputEvent; ie_Class : Byte; ie_SubClass : Byte; ie_Code : Word; ie_Qualifier : Word; ie_position : record case longint of 0 : ( ie_xy : record ie_x : Integer; ie_y : Integer; end ); 1 : ( ie_addr : Pointer ); 2 : ( ie_dead : record ie_prev1DownCode : Byte; ie_prev1DownQual : Byte; ie_prev2DownCode : Byte; ie_prev2DownQual : Byte; end ); end; ie_TimeStamp : TTimeval; end; implementation end. { $Log$ Revision 1.1 2004-11-16 13:32:21 karoly * initial revision }