{$if not def DEVICES_INPUTEVENT_H}
Const DEVICES_INPUTEVENT_H=0;
{$if not def DEVICES_TIMER_H;incl"devices/timer.h";endif}
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_MAX=$12;
 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_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;
Type
p_InputEvent=^InputEvent;
InputEvent=Record
 ie_NextEvent:p_InputEvent;
 ie_Class,ie_SubClass:Byte;
 ie_Code,ie_Qualifier:Word;
 ie_position:
  Record
  Case integer of
  0:(ie_xy:Record ie_x,ie_y:integer end);
  1:(ie_addr:Ptr)
  End;
 ie_TimeStamp:timeval;
End;
{$endif}

