剥离 HSI_Sevenocean_EF3 工程
This commit is contained in:
@@ -0,0 +1,86 @@
|
||||
#pragma once
|
||||
|
||||
#ifndef DIRECTINPUT_VERSION
|
||||
#define DIRECTINPUT_VERSION 0x0800
|
||||
#endif
|
||||
|
||||
#include <dinput.h>
|
||||
#include "CXDirectXInput.h"
|
||||
|
||||
enum ENUM_JOYSTICK_BUTTON
|
||||
{
|
||||
BUTTON_X_AXIS_LOCK=0,
|
||||
BUTTON_Y_AXIS_LOCK=1,
|
||||
BUTTON_Z_AXIS_LOCK=2,
|
||||
BUTTON_ROTATETABLE_REFLECTOR=3,
|
||||
BUTTON_RESERVED_1=4,
|
||||
BUTTON_LASER_PEN=5,
|
||||
BUTTON_SPEED_PLUS=6,
|
||||
BUTTON_SPEED_MINUS=7,
|
||||
BUTTON_MAX=8
|
||||
};
|
||||
|
||||
enum ENUM_BUTTON_STATE
|
||||
{
|
||||
BUTTON_STATE_RELEASE=0,
|
||||
BUTTON_STATE_PRESS=1
|
||||
};
|
||||
|
||||
struct ENUM_JOYSTICK_BUTTON_STATE
|
||||
{
|
||||
ENUM_BUTTON_STATE buttonState;
|
||||
BYTE lastValue;
|
||||
};
|
||||
|
||||
enum ENUM_MOVE_STATE
|
||||
{
|
||||
MOVE_STATE_NONE=0,
|
||||
MOVE_STATE_ROTATETABLE_CLOCKWISE,
|
||||
MOVE_STATE_ROTATETABLE_ANTICLOCKWISE,
|
||||
MOVE_STATE_REFLECTOR_LEFT,
|
||||
MOVE_STATE_REFLECTOR_RIGHT,
|
||||
MOVE_STATE_X_AXIS_LEFT,
|
||||
MOVE_STATE_X_AXIS_RIGHT,
|
||||
MOVE_STATE_Y_AXIS_UP,
|
||||
MOVE_STATE_Y_AXIS_DOWN,
|
||||
MOVE_STATE_Z_AXIS_UP,
|
||||
MOVE_STATE_Z_AXIS_DOWN
|
||||
};
|
||||
|
||||
struct JoystickControlState
|
||||
{
|
||||
ENUM_JOYSTICK_BUTTON_STATE joystickButtonStates[BUTTON_MAX];
|
||||
int joystickSpeed;
|
||||
};
|
||||
|
||||
class HSI_Joystick
|
||||
{
|
||||
public:
|
||||
|
||||
HSI_Joystick(LPVOID ptr);
|
||||
~HSI_Joystick();
|
||||
|
||||
public:
|
||||
HANDLE m_hSuspendEvent;
|
||||
HANDLE m_ResumeEvent;
|
||||
HANDLE m_hExitEvent;
|
||||
HANDLE m_hExitNotifyEvent;
|
||||
HANDLE handles[2];
|
||||
ENUM_JOYSTICK_BUTTON_STATE joystickButtonStates[BUTTON_MAX];
|
||||
int joystickSpeed;
|
||||
JoystickControlState *joystickControlState;
|
||||
ENUM_BUTTON_STATE laserPenLastState;
|
||||
void UpdateJosstickData();
|
||||
void SuspendJoyStickThread();
|
||||
void ResumeJoyStickThread();
|
||||
void SendJoystickControlState();
|
||||
private:
|
||||
bool m_bEnableJoyStick;
|
||||
CXDirectXInput *m_pXDirectInput;
|
||||
ENUM_MOVE_STATE m_eMoveState;
|
||||
HANDLE m_hJoyStickThread;
|
||||
|
||||
void CreateJoyStickThread();
|
||||
void DestoryJoyStickThread();
|
||||
};extern HSI_Joystick *g_pHSI_JoyStick;
|
||||
|
||||
Reference in New Issue
Block a user