00001
00002 #ifndef INPUT_H
00003 #define INPUT_H
00004
00005
00006
00007 #define MAX_JOYSTICKS 4
00008 #define MAX_AXIS 6
00009
00010 typedef struct {
00011 IDirectInputDevice2 *Device;
00012 long Axis[MAX_AXIS];
00013 DIDEVCAPS Caps;
00014 char Name[MAX_PATH];
00015 } JOYSTICK;
00016
00017 enum {
00018 X_AXIS,
00019 Y_AXIS,
00020 Z_AXIS,
00021 ROTX_AXIS,
00022 ROTY_AXIS,
00023 ROTZ_AXIS,
00024 };
00025
00026
00027
00028 extern long InitInput(HINSTANCE inst);
00029 extern BOOL CALLBACK EnumJoystickCallback(DIDEVICEINSTANCE *inst, void *user);
00030 extern BOOL CALLBACK EnumObjectsCallback(DIDEVICEOBJECTINSTANCE *inst, void *user);
00031 extern void KillInput(void);
00032 extern void ReadKeyboard(void);
00033 extern void ReadMouse(void);
00034 extern void ReadJoystick(void);
00035 extern void SetMouseExclusive(long flag);
00036 extern unsigned char GetKeyPress(void);
00037
00038
00039
00040 extern char Keys[256];
00041 extern char LastKeys[256];
00042 extern DIMOUSESTATE Mouse;
00043 extern long JoystickNum, CurrentJoystick;
00044 extern JOYSTICK Joystick[MAX_JOYSTICKS];
00045 extern DIJOYSTATE JoystickState;
00046
00047 #endif