summaryrefslogtreecommitdiff
path: root/Source/Core/InputCommon/ControllerInterface
diff options
context:
space:
mode:
authorJordan Woyak <jordan.woyak@gmail.com>2024-11-02 17:10:45 -0500
committerJordan Woyak <jordan.woyak@gmail.com>2024-11-03 15:06:50 -0600
commit2f1390e9f9706a3c5c0bc46df17006ddf98d4cec (patch)
tree5aa254e9681de0ff931ab8dc268e5c56353ecac7 /Source/Core/InputCommon/ControllerInterface
parent53ede795a2a7406872f0f5c872c7f67bd22f65e4 (diff)
InputCommon: Rename AddAnalogInputs to AddFullAnalogSurfaceInputs.
Diffstat (limited to 'Source/Core/InputCommon/ControllerInterface')
-rw-r--r--Source/Core/InputCommon/ControllerInterface/Android/Android.cpp2
-rw-r--r--Source/Core/InputCommon/ControllerInterface/CoreDevice.cpp8
-rw-r--r--Source/Core/InputCommon/ControllerInterface/CoreDevice.h15
-rw-r--r--Source/Core/InputCommon/ControllerInterface/DInput/DInputJoystick.cpp4
-rw-r--r--Source/Core/InputCommon/ControllerInterface/Pipes/Pipes.cpp2
-rw-r--r--Source/Core/InputCommon/ControllerInterface/SDL/SDL.cpp4
-rw-r--r--Source/Core/InputCommon/ControllerInterface/WGInput/WGInput.cpp5
-rw-r--r--Source/Core/InputCommon/ControllerInterface/evdev/evdev.cpp3
8 files changed, 26 insertions, 17 deletions
diff --git a/Source/Core/InputCommon/ControllerInterface/Android/Android.cpp b/Source/Core/InputCommon/ControllerInterface/Android/Android.cpp
index c60679daf0..b67974509b 100644
--- a/Source/Core/InputCommon/ControllerInterface/Android/Android.cpp
+++ b/Source/Core/InputCommon/ControllerInterface/Android/Android.cpp
@@ -693,7 +693,7 @@ private:
negative = new AndroidAxis(source, axis, true);
if (positive && negative)
- AddAnalogInputs(positive, negative);
+ AddFullAnalogSurfaceInputs(positive, negative);
else if (positive || negative)
AddInput(positive ? positive : negative);
}
diff --git a/Source/Core/InputCommon/ControllerInterface/CoreDevice.cpp b/Source/Core/InputCommon/ControllerInterface/CoreDevice.cpp
index 8cf3e763e8..cfced12e80 100644
--- a/Source/Core/InputCommon/ControllerInterface/CoreDevice.cpp
+++ b/Source/Core/InputCommon/ControllerInterface/CoreDevice.cpp
@@ -164,6 +164,14 @@ bool Device::FullAnalogSurface::IsMatchingName(std::string_view name) const
return old_name == name;
}
+void Device::AddFullAnalogSurfaceInputs(Input* low, Input* high)
+{
+ AddInput(low);
+ AddInput(high);
+ AddInput(new FullAnalogSurface(low, high));
+ AddInput(new FullAnalogSurface(high, low));
+}
+
void Device::AddCombinedInput(std::string name, const std::pair<std::string, std::string>& inputs)
{
AddInput(new CombinedInput(std::move(name), {FindInput(inputs.first), FindInput(inputs.second)}));
diff --git a/Source/Core/InputCommon/ControllerInterface/CoreDevice.h b/Source/Core/InputCommon/ControllerInterface/CoreDevice.h
index 33a322861b..b34e6a9d15 100644
--- a/Source/Core/InputCommon/ControllerInterface/CoreDevice.h
+++ b/Source/Core/InputCommon/ControllerInterface/CoreDevice.h
@@ -178,13 +178,14 @@ protected:
Input& m_high;
};
- void AddAnalogInputs(Input* low, Input* high)
- {
- AddInput(low);
- AddInput(high);
- AddInput(new FullAnalogSurface(low, high));
- AddInput(new FullAnalogSurface(high, low));
- }
+ // Pass Inputs for center-neutral (- and +) directions of some axis.
+ // This function adds those Inputs and also a FullAnalogSurface Input for each direction.
+ // This is only needed when it's not known if the particular axis is neutral in the center
+ // or neutral on one of the extremes.
+ // Some e.g. DInput devices expose a trigger across the full analog surface
+ // but we have no way of knowing this until the user actually maps the Input,
+ // so both center-neutral and full-surface Inputs need to be created in that case.
+ void AddFullAnalogSurfaceInputs(Input* low, Input* high);
void AddCombinedInput(std::string name, const std::pair<std::string, std::string>& inputs);
diff --git a/Source/Core/InputCommon/ControllerInterface/DInput/DInputJoystick.cpp b/Source/Core/InputCommon/ControllerInterface/DInput/DInputJoystick.cpp
index a78c310f24..95cacc6da7 100644
--- a/Source/Core/InputCommon/ControllerInterface/DInput/DInputJoystick.cpp
+++ b/Source/Core/InputCommon/ControllerInterface/DInput/DInputJoystick.cpp
@@ -167,8 +167,8 @@ Joystick::Joystick(const LPDIRECTINPUTDEVICE8 device) : m_device(device)
const LONG& ax = (&m_state_in.lX)[offset];
// each axis gets a negative and a positive input instance associated with it
- AddAnalogInputs(new Axis(offset, ax, base, range.lMin - base),
- new Axis(offset, ax, base, range.lMax - base));
+ AddFullAnalogSurfaceInputs(new Axis(offset, ax, base, range.lMin - base),
+ new Axis(offset, ax, base, range.lMax - base));
}
}
diff --git a/Source/Core/InputCommon/ControllerInterface/Pipes/Pipes.cpp b/Source/Core/InputCommon/ControllerInterface/Pipes/Pipes.cpp
index 1a2052089e..50175ebaf7 100644
--- a/Source/Core/InputCommon/ControllerInterface/Pipes/Pipes.cpp
+++ b/Source/Core/InputCommon/ControllerInterface/Pipes/Pipes.cpp
@@ -129,7 +129,7 @@ void PipeDevice::AddAxis(const std::string& name, double value)
ax_lo->SetState(value);
m_axes[name + " +"] = ax_hi;
m_axes[name + " -"] = ax_lo;
- AddAnalogInputs(ax_lo, ax_hi);
+ AddFullAnalogSurfaceInputs(ax_lo, ax_hi);
}
void PipeDevice::SetAxis(const std::string& entry, double value)
diff --git a/Source/Core/InputCommon/ControllerInterface/SDL/SDL.cpp b/Source/Core/InputCommon/ControllerInterface/SDL/SDL.cpp
index 324619c927..6a86217190 100644
--- a/Source/Core/InputCommon/ControllerInterface/SDL/SDL.cpp
+++ b/Source/Core/InputCommon/ControllerInterface/SDL/SDL.cpp
@@ -710,8 +710,8 @@ GameController::GameController(SDL_GameController* const gamecontroller,
const bool is_registered = registered_axes.contains(i);
// each axis gets a negative and a positive input instance associated with it
- AddAnalogInputs(new LegacyAxis(m_joystick, i, -32768, is_registered),
- new LegacyAxis(m_joystick, i, 32767, is_registered));
+ AddFullAnalogSurfaceInputs(new LegacyAxis(m_joystick, i, -32768, is_registered),
+ new LegacyAxis(m_joystick, i, 32767, is_registered));
}
// Hats
diff --git a/Source/Core/InputCommon/ControllerInterface/WGInput/WGInput.cpp b/Source/Core/InputCommon/ControllerInterface/WGInput/WGInput.cpp
index 2fa3fc2e77..a688ca0366 100644
--- a/Source/Core/InputCommon/ControllerInterface/WGInput/WGInput.cpp
+++ b/Source/Core/InputCommon/ControllerInterface/WGInput/WGInput.cpp
@@ -125,9 +125,8 @@ public:
u32 i = 0;
for (auto& axis : m_axes)
{
- // AddAnalogInputs adds additional "FullAnalogSurface" Inputs.
- AddAnalogInputs(new IndexedAxis(&axis, 0.5, +0.5, i),
- new IndexedAxis(&axis, 0.5, -0.5, i));
+ AddFullAnalogSurfaceInputs(new IndexedAxis(&axis, 0.5, +0.5, i),
+ new IndexedAxis(&axis, 0.5, -0.5, i));
++i;
}
}
diff --git a/Source/Core/InputCommon/ControllerInterface/evdev/evdev.cpp b/Source/Core/InputCommon/ControllerInterface/evdev/evdev.cpp
index e0ae924b83..bb51d0026e 100644
--- a/Source/Core/InputCommon/ControllerInterface/evdev/evdev.cpp
+++ b/Source/Core/InputCommon/ControllerInterface/evdev/evdev.cpp
@@ -572,7 +572,8 @@ bool evdevDevice::AddNode(std::string devnode, int fd, libevdev* dev)
{
if (libevdev_has_event_code(dev, EV_ABS, axis))
{
- AddAnalogInputs(new Axis(num_axis, axis, false, dev), new Axis(num_axis, axis, true, dev));
+ AddFullAnalogSurfaceInputs(new Axis(num_axis, axis, false, dev),
+ new Axis(num_axis, axis, true, dev));
++num_axis;
}
}