Skip to content

Commit e7b954a

Browse files
committed
Merge branch 'feature/support-extra-gamepad-buttons' into 'master'
Add support for modern SDL controller buttons (Touchpad, Misc1, Paddles) See merge request OpenMW/openmw!5017
2 parents 8550ac4 + d7ad994 commit e7b954a

File tree

4 files changed

+31
-0
lines changed

4 files changed

+31
-0
lines changed

apps/openmw/mwinput/controllermanager.cpp

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -546,6 +546,12 @@ namespace MWInput
546546
return "textures/omw_psx_button_triangle.dds";
547547
return "textures/omw_steam_button_y.dds";
548548
case SDL_CONTROLLER_BUTTON_GUIDE:
549+
case SDL_CONTROLLER_BUTTON_MISC1:
550+
case SDL_CONTROLLER_BUTTON_PADDLE1:
551+
case SDL_CONTROLLER_BUTTON_PADDLE2:
552+
case SDL_CONTROLLER_BUTTON_PADDLE3:
553+
case SDL_CONTROLLER_BUTTON_PADDLE4:
554+
case SDL_CONTROLLER_BUTTON_TOUCHPAD:
549555
default:
550556
return {};
551557
}

apps/openmw/mwlua/inputbindings.cpp

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -345,6 +345,13 @@ namespace MWLua
345345
{ "DPadDown", SDL_CONTROLLER_BUTTON_DPAD_DOWN },
346346
{ "DPadLeft", SDL_CONTROLLER_BUTTON_DPAD_LEFT },
347347
{ "DPadRight", SDL_CONTROLLER_BUTTON_DPAD_RIGHT },
348+
{ "Misc1", SDL_CONTROLLER_BUTTON_MISC1 },
349+
{ "Paddle1", SDL_CONTROLLER_BUTTON_PADDLE1 },
350+
{ "Paddle2", SDL_CONTROLLER_BUTTON_PADDLE2 },
351+
{ "Paddle3", SDL_CONTROLLER_BUTTON_PADDLE3 },
352+
{ "Paddle4", SDL_CONTROLLER_BUTTON_PADDLE4 },
353+
{ "Touchpad", SDL_CONTROLLER_BUTTON_TOUCHPAD },
354+
{ "Max", SDL_CONTROLLER_BUTTON_MAX },
348355
}));
349356

350357
api["CONTROLLER_AXIS"] = LuaUtil::makeStrictReadOnly(LuaUtil::tableFromPairs<std::string_view, int>(lua,

components/sdlutil/sdlmappings.cpp

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -33,12 +33,24 @@ namespace SDLUtil
3333
return "Left Shoulder";
3434
case SDL_CONTROLLER_BUTTON_LEFTSTICK:
3535
return "Left Stick Button";
36+
case SDL_CONTROLLER_BUTTON_MISC1:
37+
return "Misc 1";
38+
case SDL_CONTROLLER_BUTTON_PADDLE1:
39+
return "Paddle 1";
40+
case SDL_CONTROLLER_BUTTON_PADDLE2:
41+
return "Paddle 2";
42+
case SDL_CONTROLLER_BUTTON_PADDLE3:
43+
return "Paddle 3";
44+
case SDL_CONTROLLER_BUTTON_PADDLE4:
45+
return "Paddle 4";
3646
case SDL_CONTROLLER_BUTTON_RIGHTSHOULDER:
3747
return "Right Shoulder";
3848
case SDL_CONTROLLER_BUTTON_RIGHTSTICK:
3949
return "Right Stick Button";
4050
case SDL_CONTROLLER_BUTTON_START:
4151
return "Start Button";
52+
case SDL_CONTROLLER_BUTTON_TOUCHPAD:
53+
return "Touchpad";
4254
case SDL_CONTROLLER_BUTTON_X:
4355
return "X Button";
4456
case SDL_CONTROLLER_BUTTON_Y:

files/lua_api/openmw/input.lua

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -200,6 +200,12 @@
200200
-- @field [parent=#CONTROLLER_BUTTON] #number DPadDown
201201
-- @field [parent=#CONTROLLER_BUTTON] #number DPadLeft
202202
-- @field [parent=#CONTROLLER_BUTTON] #number DPadRight
203+
-- @field [parent=#CONTROLLER_BUTTON] #number Misc1
204+
-- @field [parent=#CONTROLLER_BUTTON] #number Paddle1
205+
-- @field [parent=#CONTROLLER_BUTTON] #number Paddle2
206+
-- @field [parent=#CONTROLLER_BUTTON] #number Paddle3
207+
-- @field [parent=#CONTROLLER_BUTTON] #number Paddle4
208+
-- @field [parent=#CONTROLLER_BUTTON] #number Touchpad
203209

204210
---
205211
-- Values that can be passed to onControllerButtonPress/onControllerButtonRelease engine handlers.

0 commit comments

Comments
 (0)