123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212 |
- {
- This file is part of the Free Pascal run time library.
- Copyright (c) 2004 Karoly Balogh for Genesi S.a.r.l. <www.genesi.lu>
- 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. <www.genesi.lu>
- 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.
|