summaryrefslogtreecommitdiff
path: root/Source/Core/InputCommon/Src/ControllerInterface
diff options
context:
space:
mode:
Diffstat (limited to 'Source/Core/InputCommon/Src/ControllerInterface')
-rw-r--r--Source/Core/InputCommon/Src/ControllerInterface/ControllerInterface.cpp25
-rw-r--r--Source/Core/InputCommon/Src/ControllerInterface/DInput/DInputJoystick.cpp12
-rw-r--r--Source/Core/InputCommon/Src/ControllerInterface/DInput/DInputKeyboardMouse.cpp20
-rw-r--r--Source/Core/InputCommon/Src/ControllerInterface/SDL/SDL.cpp42
-rw-r--r--Source/Core/InputCommon/Src/ControllerInterface/XInput/XInput.cpp18
5 files changed, 79 insertions, 38 deletions
diff --git a/Source/Core/InputCommon/Src/ControllerInterface/ControllerInterface.cpp b/Source/Core/InputCommon/Src/ControllerInterface/ControllerInterface.cpp
index 8e96231674..6a1427406d 100644
--- a/Source/Core/InputCommon/Src/ControllerInterface/ControllerInterface.cpp
+++ b/Source/Core/InputCommon/Src/ControllerInterface/ControllerInterface.cpp
@@ -157,7 +157,7 @@ bool ControllerInterface::UpdateOutput(const bool force)
if (force)
lk.lock();
else if (!lk.try_lock())
- return false;
+ return false;
size_t ok_count = 0;
@@ -173,7 +173,7 @@ bool ControllerInterface::UpdateOutput(const bool force)
//
// Device :: ~Device
//
-// dtor, delete all inputs/outputs on device destruction
+// Destructor, delete all inputs/outputs on device destruction
//
ControllerInterface::Device::~Device()
{
@@ -209,9 +209,9 @@ void ControllerInterface::Device::AddOutput(Output* const o)
//
// Device :: ClearInputState
//
-// device classes should override this func
-// ControllerInterface will call this when the device returns failure durring UpdateInput
-// used to try to set all buttons and axes to their default state when user unplugs a gamepad durring play
+// Device classes should override this function
+// ControllerInterface will call this when the device returns failure during UpdateInput
+// used to try to set all buttons and axes to their default state when user unplugs a gamepad during play
// buttons/axes that were held down at the time of unplugging should be seen as not pressed after unplugging
//
void ControllerInterface::Device::ClearInputState()
@@ -239,8 +239,10 @@ ControlState ControllerInterface::InputReference::State( const ControlState igno
// bit of hax for "NOT" to work at start of expression
if (ci != ce)
+ {
if (ci->mode == 2)
state = 1;
+ }
for (; ci!=ce; ++ci)
{
@@ -354,7 +356,8 @@ bool ControllerInterface::DeviceQualifier::operator==(const ControllerInterface:
if (name == devq.name)
if (source == devq.source)
return true;
- return false;
+
+ return false;
}
//
@@ -421,7 +424,9 @@ void ControllerInterface::UpdateReference(ControllerInterface::ControlReference*
break; // no terminating '`' character
}
else
+ {
ctrl_str += c;
+ }
}
}
@@ -478,7 +483,9 @@ ControllerInterface::Device::Control* ControllerInterface::InputReference::Detec
return *i;
}
else if ((*i)->GetState() < (1 - INPUT_DETECT_THRESHOLD))
+ {
*state = false;
+ }
}
Common::SleepCurrentThread(10); time += 10;
}
@@ -490,8 +497,8 @@ ControllerInterface::Device::Control* ControllerInterface::InputReference::Detec
//
// OutputReference :: Detect
//
-// totally different from the inputReference detect / i have them combined so it was simplier to make the gui.
-// the gui doesnt know the difference between an input and an output / its odd but i was lazy and it was easy
+// Totally different from the inputReference detect / I have them combined so it was simpler to make the GUI.
+// The GUI doesn't know the difference between an input and an output / it's odd but I was lazy and it was easy
//
// set all binded outputs to <range> power for x milliseconds return false
//
@@ -499,7 +506,7 @@ ControllerInterface::Device::Control* ControllerInterface::OutputReference::Dete
{
// ignore device
- // dont hang if we dont even have any controls mapped
+ // don't hang if we don't even have any controls mapped
if (m_controls.size())
{
State(1);
diff --git a/Source/Core/InputCommon/Src/ControllerInterface/DInput/DInputJoystick.cpp b/Source/Core/InputCommon/Src/ControllerInterface/DInput/DInputJoystick.cpp
index 9bc5364e76..ed5d1383ec 100644
--- a/Source/Core/InputCommon/Src/ControllerInterface/DInput/DInputJoystick.cpp
+++ b/Source/Core/InputCommon/Src/ControllerInterface/DInput/DInputJoystick.cpp
@@ -319,9 +319,13 @@ Joystick::Joystick( /*const LPCDIDEVICEINSTANCE lpddi, */const LPDIRECTINPUTDEVI
eff.lpvTypeSpecificParams = &diCF;
}
else if (1 == f)
+ {
eff.cbTypeSpecificParams = sizeof(DIRAMPFORCE);
+ }
else
+ {
eff.cbTypeSpecificParams = sizeof(DIPERIODIC);
+ }
LPDIRECTINPUTEFFECT pEffect;
if (SUCCEEDED(m_device->CreateEffect(force_type_names[f].guid, &eff, &pEffect, NULL)))
@@ -427,7 +431,9 @@ bool Joystick::UpdateInput()
}
}
else
+ {
hr = m_device->GetDeviceState(sizeof(m_state_in), &m_state_in);
+ }
// try reacquire if input lost
if (DIERR_INPUTLOST == hr || DIERR_NOTACQUIRED == hr)
@@ -460,12 +466,16 @@ bool Joystick::UpdateOutput()
ok_count += SUCCEEDED(i->iface->SetParameters(&eff, DIEP_TYPESPECIFICPARAMS | DIEP_START));
}
else
+ {
ok_count += SUCCEEDED(i->iface->Stop());
+ }
i->params = NULL;
}
else
+ {
++ok_count;
+ }
}
return (m_state_out.size() == ok_count);
@@ -492,7 +502,9 @@ std::string Joystick::Axis::GetName() const
}
// slider
else
+ {
ss << "Slider " << (int)(m_index - 6);
+ }
ss << (m_range < 0 ? '-' : '+');
return ss.str();
diff --git a/Source/Core/InputCommon/Src/ControllerInterface/DInput/DInputKeyboardMouse.cpp b/Source/Core/InputCommon/Src/ControllerInterface/DInput/DInputKeyboardMouse.cpp
index aea12c065c..866bce9671 100644
--- a/Source/Core/InputCommon/Src/ControllerInterface/DInput/DInputKeyboardMouse.cpp
+++ b/Source/Core/InputCommon/Src/ControllerInterface/DInput/DInputKeyboardMouse.cpp
@@ -56,15 +56,19 @@ void InitKeyboardMouse(IDirectInput8* const idi8, std::vector<ControllerInterfac
if (SUCCEEDED(idi8->CreateDevice( GUID_SysKeyboard, &kb_device, NULL)))
{
if (SUCCEEDED(kb_device->SetDataFormat(&c_dfDIKeyboard)))
- if (SUCCEEDED(kb_device->SetCooperativeLevel(NULL, DISCL_BACKGROUND | DISCL_NONEXCLUSIVE)))
{
- if (SUCCEEDED(idi8->CreateDevice( GUID_SysMouse, &mo_device, NULL )))
+ if (SUCCEEDED(kb_device->SetCooperativeLevel(NULL, DISCL_BACKGROUND | DISCL_NONEXCLUSIVE)))
{
- if (SUCCEEDED(mo_device->SetDataFormat(&c_dfDIMouse2)))
- if (SUCCEEDED(mo_device->SetCooperativeLevel(NULL, DISCL_BACKGROUND | DISCL_NONEXCLUSIVE)))
+ if (SUCCEEDED(idi8->CreateDevice( GUID_SysMouse, &mo_device, NULL )))
{
- devices.push_back(new KeyboardMouse(kb_device, mo_device));
- return;
+ if (SUCCEEDED(mo_device->SetDataFormat(&c_dfDIMouse2)))
+ {
+ if (SUCCEEDED(mo_device->SetCooperativeLevel(NULL, DISCL_BACKGROUND | DISCL_NONEXCLUSIVE)))
+ {
+ devices.push_back(new KeyboardMouse(kb_device, mo_device));
+ return;
+ }
+ }
}
}
}
@@ -203,7 +207,9 @@ bool KeyboardMouse::UpdateOutput()
memset( this, 0, sizeof(*this) );
type = INPUT_KEYBOARD;
ki.wVk = key;
- if (up) ki.dwFlags = KEYEVENTF_KEYUP;
+
+ if (up)
+ ki.dwFlags = KEYEVENTF_KEYUP;
}
};
diff --git a/Source/Core/InputCommon/Src/ControllerInterface/SDL/SDL.cpp b/Source/Core/InputCommon/Src/ControllerInterface/SDL/SDL.cpp
index c5ee3af23f..6c74c55d97 100644
--- a/Source/Core/InputCommon/Src/ControllerInterface/SDL/SDL.cpp
+++ b/Source/Core/InputCommon/Src/ControllerInterface/SDL/SDL.cpp
@@ -34,7 +34,7 @@ void Init( std::vector<ControllerInterface::Device*>& devices )
std::map<std::string, int> name_counts;
if (SDL_Init( SDL_INIT_FLAGS ) >= 0)
- {
+ {
// joysticks
for(int i = 0; i < SDL_NumJoysticks(); ++i)
{
@@ -49,7 +49,7 @@ void Init( std::vector<ControllerInterface::Device*>& devices )
delete js;
}
}
- }
+ }
}
Joystick::Joystick(SDL_Joystick* const joystick, const int sdl_index, const unsigned int index)
@@ -63,7 +63,7 @@ Joystick::Joystick(SDL_Joystick* const joystick, const int sdl_index, const unsi
// "why don't my 360 gamepad triggers/rumble work correctly"
#ifdef _WIN32
// checking the name is probably good (and hacky) enough
- // but i'll double check with the num of buttons/axes
+ // but I'll double check with the num of buttons/axes
std::string lcasename = GetName();
std::transform(lcasename.begin(), lcasename.end(), lcasename.begin(), tolower);
@@ -204,7 +204,9 @@ void Joystick::ConstantEffect::SetState(const ControlState state)
m_effect.effect.constant.length = SDL_HAPTIC_INFINITY;
}
else
+ {
m_effect.effect.type = 0;
+ }
const Sint16 old = m_effect.effect.constant.level;
m_effect.effect.constant.level = state * 0x7FFF;
@@ -220,7 +222,9 @@ void Joystick::RampEffect::SetState(const ControlState state)
m_effect.effect.ramp.length = SDL_HAPTIC_INFINITY;
}
else
+ {
m_effect.effect.type = 0;
+ }
const Sint16 old = m_effect.effect.ramp.start;
m_effect.effect.ramp.start = state * 0x7FFF;
@@ -235,15 +239,17 @@ void Joystick::SineEffect::SetState(const ControlState state)
m_effect.effect.type = SDL_HAPTIC_SINE;
m_effect.effect.periodic.length = 250;
}
- else {
+ else
+ {
m_effect.effect.type = 0;
}
const Sint16 old = m_effect.effect.periodic.magnitude;
- m_effect.effect.periodic.period = 5;
+ m_effect.effect.periodic.period = 5;
m_effect.effect.periodic.magnitude = state * 0x5000;
- m_effect.effect.periodic.attack_length = 0;
- m_effect.effect.periodic.fade_length = 500;
+ m_effect.effect.periodic.attack_length = 0;
+ m_effect.effect.periodic.fade_length = 500;
+
if (old != m_effect.effect.periodic.magnitude)
m_effect.changed = true;
}
@@ -255,15 +261,17 @@ void Joystick::SquareEffect::SetState(const ControlState state)
m_effect.effect.type = SDL_HAPTIC_SQUARE;
m_effect.effect.periodic.length = 250;
}
- else {
+ else
+ {
m_effect.effect.type = 0;
}
const Sint16 old = m_effect.effect.periodic.magnitude;
- m_effect.effect.periodic.period = 5;
+ m_effect.effect.periodic.period = 5;
m_effect.effect.periodic.magnitude = state * 0x5000;
- m_effect.effect.periodic.attack_length = 0;
- m_effect.effect.periodic.fade_length = 100;
+ m_effect.effect.periodic.attack_length = 0;
+ m_effect.effect.periodic.fade_length = 100;
+
if (old != m_effect.effect.periodic.magnitude)
m_effect.changed = true;
}
@@ -275,15 +283,17 @@ void Joystick::TriangleEffect::SetState(const ControlState state)
m_effect.effect.type = SDL_HAPTIC_TRIANGLE;
m_effect.effect.periodic.length = 250;
}
- else {
+ else
+ {
m_effect.effect.type = 0;
}
const Sint16 old = m_effect.effect.periodic.magnitude;
- m_effect.effect.periodic.period = 5;
+ m_effect.effect.periodic.period = 5;
m_effect.effect.periodic.magnitude = state * 0x5000;
- m_effect.effect.periodic.attack_length = 0;
- m_effect.effect.periodic.fade_length = 100;
+ m_effect.effect.periodic.attack_length = 0;
+ m_effect.effect.periodic.fade_length = 100;
+
if (old != m_effect.effect.periodic.magnitude)
m_effect.changed = true;
}
@@ -316,7 +326,9 @@ bool Joystick::UpdateOutput()
else // effect is already uploaded
{
if (i->effect.type) // if ouputstate >0
+ {
SDL_HapticUpdateEffect(m_haptic, i->id, &i->effect); // update the effect
+ }
else
{
SDL_HapticStopEffect(m_haptic, i->id); // else, stop and remove the effect
diff --git a/Source/Core/InputCommon/Src/ControllerInterface/XInput/XInput.cpp b/Source/Core/InputCommon/Src/ControllerInterface/XInput/XInput.cpp
index 7fe54d0d09..f9df3891bb 100644
--- a/Source/Core/InputCommon/Src/ControllerInterface/XInput/XInput.cpp
+++ b/Source/Core/InputCommon/Src/ControllerInterface/XInput/XInput.cpp
@@ -31,13 +31,13 @@ static const struct
{ "Thumb R", XINPUT_GAMEPAD_RIGHT_THUMB }
};
-static const char* const named_triggers[] =
+static const char* const named_triggers[] =
{
"Trigger L",
"Trigger R"
};
-static const char* const named_axes[] =
+static const char* const named_axes[] =
{
"Left X",
"Left Y",
@@ -45,7 +45,7 @@ static const char* const named_axes[] =
"Right Y"
};
-static const char* const named_motors[] =
+static const char* const named_motors[] =
{
"Motor L",
"Motor R"
@@ -66,12 +66,14 @@ Device::Device(const XINPUT_CAPABILITIES& caps, u8 index)
ZeroMemory(&m_current_state_out, sizeof(m_current_state_out));
// XInputGetCaps seems to always claim all capabilities are supported
- // but i will leave all this stuff in, incase m$ fixes xinput up a bit
+ // but I will leave all this stuff in, incase m$ fixes xinput up a bit
// get supported buttons
for (int i = 0; i != sizeof(named_buttons)/sizeof(*named_buttons); ++i)
+ {
if (named_buttons[i].bitmask & caps.Gamepad.wButtons)
AddInput(new Button(i, m_state_in.Gamepad.wButtons));
+ }
// get supported triggers
for (int i = 0; i != sizeof(named_triggers)/sizeof(*named_triggers); ++i)
@@ -114,8 +116,8 @@ void Device::ClearInputState()
std::string Device::GetName() const
{
// why aren't these defined
- // subtype doesn't seem to work, i tested with 2 diff arcade sticks, both were shown as gamepad
- // ill leave it in anyway, maybe m$ will fix it
+ // subtype doesn't seem to work, I tested with 2 different arcade sticks, both were shown as gamepad
+ // I'll leave it in anyway, maybe m$ will fix it
switch (m_subtype)
{
@@ -140,7 +142,7 @@ std::string Device::GetSource() const
return "XInput";
}
-// update i/o
+// Update I/O
bool Device::UpdateInput()
{
@@ -157,7 +159,9 @@ bool Device::UpdateOutput()
return (ERROR_SUCCESS == XInputSetState(m_index, &m_state_out));
}
else
+ {
return true;
+ }
}
// GET name/source/id