Skip to content

Commit d8ae0ea

Browse files
authored
Merge pull request #553 from RetroPie/revert-449-trigger_fix
Revert "InputManager: improve trigger axis calibration"
2 parents e45458d + 945a4c9 commit d8ae0ea

2 files changed

Lines changed: 5 additions & 20 deletions

File tree

es-core/src/InputManager.cpp

Lines changed: 5 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -101,14 +101,7 @@ void InputManager::addJoystickByDeviceIndex(int id)
101101
// set up the prevAxisValues
102102
int numAxes = SDL_JoystickNumAxes(joy);
103103
mPrevAxisValues[joyId] = new int[numAxes];
104-
mInitAxisValues[joyId] = new int[numAxes];
105-
106-
int axis;
107-
for (int i = 0; i< numAxes; i++) {
108-
axis = SDL_JoystickGetAxis(joy, i);
109-
mInitAxisValues[joyId][i] = axis;
110-
mPrevAxisValues[joyId][i] = axis;
111-
}
104+
std::fill(mPrevAxisValues[joyId], mPrevAxisValues[joyId] + numAxes, 0); //initialize array to 0
112105
}
113106

114107
void InputManager::removeJoystickByJoystickID(SDL_JoystickID joyId)
@@ -205,28 +198,21 @@ InputConfig* InputManager::getInputConfigByDevice(int device)
205198
bool InputManager::parseEvent(const SDL_Event& ev, Window* window)
206199
{
207200
bool causedEvent = false;
208-
int axis;
209201
switch(ev.type)
210202
{
211203
case SDL_JOYAXISMOTION:
212-
axis = ev.jaxis.value;
213-
// Check for ABS_Z/ABS_RZ trigger axes which rest at -32768
214-
if ((ev.jaxis.axis == 2 || ev.jaxis.axis == 5) && mInitAxisValues[ev.jaxis.which][ev.jaxis.axis] == -32768)
215-
{
216-
// shift to 0 - 32767.
217-
axis = axis / 2 + 16384;
218-
}
219204
//if it switched boundaries
220-
if((abs(axis) > DEADZONE) != (abs(mPrevAxisValues[ev.jaxis.which][ev.jaxis.axis]) > DEADZONE))
205+
if((abs(ev.jaxis.value) > DEADZONE) != (abs(mPrevAxisValues[ev.jaxis.which][ev.jaxis.axis]) > DEADZONE))
221206
{
222207
int normValue;
223-
if(abs(axis) <= DEADZONE)
208+
if(abs(ev.jaxis.value) <= DEADZONE)
224209
normValue = 0;
225210
else
226-
if(axis > 0)
211+
if(ev.jaxis.value > 0)
227212
normValue = 1;
228213
else
229214
normValue = -1;
215+
230216
window->input(getInputConfigByDevice(ev.jaxis.which), Input(ev.jaxis.which, TYPE_AXIS, ev.jaxis.axis, normValue, false));
231217
causedEvent = true;
232218
}

es-core/src/InputManager.h

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,6 @@ class InputManager
2727
InputConfig* mCECInputConfig;
2828

2929
std::map<SDL_JoystickID, int*> mPrevAxisValues;
30-
std::map<SDL_JoystickID, int*> mInitAxisValues;
3130

3231
bool initialized() const;
3332

0 commit comments

Comments
 (0)