2012-11-12 15:38:21 +00:00
|
|
|
#pragma once
|
|
|
|
#include "InputDevice.h"
|
|
|
|
#include "Xinput.h"
|
|
|
|
|
2013-05-17 19:31:06 +09:00
|
|
|
struct RawInputState;
|
|
|
|
|
2012-11-12 15:38:21 +00:00
|
|
|
class XinputDevice :
|
|
|
|
public InputDevice
|
|
|
|
{
|
|
|
|
public:
|
|
|
|
XinputDevice();
|
2013-03-30 23:32:34 +01:00
|
|
|
virtual int UpdateState(InputState &input_state);
|
2013-04-07 18:41:26 -07:00
|
|
|
virtual bool IsPad() { return true; }
|
2013-05-17 19:31:06 +09:00
|
|
|
int UpdateRawStateSingle(RawInputState &rawState);
|
2012-11-12 15:38:21 +00:00
|
|
|
private:
|
2013-03-31 00:25:10 +01:00
|
|
|
void ApplyDiff(XINPUT_STATE &state, InputState &input_state);
|
2012-11-12 15:38:21 +00:00
|
|
|
int gamepad_idx;
|
|
|
|
int check_delay;
|
|
|
|
XINPUT_STATE prevState;
|
|
|
|
};
|
|
|
|
|