27 , m_bSecondController(b)
32 [[nodiscard]]
auto IsEmpty()
const ->
bool
34 return m_deviceButton == DeviceButton_Invalid &&
35 m_gb == GameButton_Invalid;
38 int m_iSlotIndex{ -1 };
39 DeviceButton m_deviceButton{ DeviceButton_Invalid };
49 bool m_bSecondController{
false };
158 const char* m_szName;
159 int m_iButtonsPerController;
162 const char* m_szName;
164 GameButton m_SecondaryMenuButton;
170 [[nodiscard]]
auto ButtonNameToIndex(
const std::string& sButtonName)
const
172 [[nodiscard]]
auto GameButtonToMenuButton(GameButton gb)
const
174 void MenuButtonToGameInputs(GameButton MenuI,
176 std::vector<GameInput>& GameIout)
const;
177 void MenuButtonToGameButtons(GameButton MenuI,
178 std::vector<GameButton>& aGameButtons)
const;
179 [[nodiscard]]
auto GetGameButtonInfo(GameButton gb)
const
181 [[nodiscard]]
auto GetGameButtonName(GameButton gb)
const ->
const char*;
219 void PushSelf(lua_State* L);
221 void SetInputScheme(
const InputScheme* pInputScheme);
222 [[nodiscard]]
auto GetInputScheme()
const ->
const InputScheme*;
223 void SetJoinControllers(PlayerNumber pn);
225 void ReadMappingsFromDisk();
226 void SaveMappingsToDisk();
227 void ResetMappingsToDefault();
228 void CheckButtonAndAddToReason(GameButton menu,
229 std::vector<std::string>& full_reason,
230 std::string
const& sub_reason);
231 void SanityCheckMappings(std::vector<std::string>& reason);
233 void ClearAllMappings();
238 void ClearFromInputMap(
const DeviceInput& DeviceI);
239 auto ClearFromInputMap(
const GameInput& GameI,
int iSlotIndex) -> bool;
241 void AddDefaultMappingsForCurrentGameIfUnmapped();
242 void AutoMapJoysticksForCurrentGame();
243 auto CheckForChangedInputDevicesAndRemap(std::string& sMessageOut) -> bool;
245 [[nodiscard]]
auto IsMapped(
const DeviceInput& DeviceI)
const -> bool;
249 auto GameToDevice(
const GameInput& GameI,
254 [[nodiscard]]
auto GameButtonToMenuButton(GameButton gb)
const
256 void MenuToGame(GameButton MenuI,
258 std::vector<GameInput>& GameIout)
const;
259 [[nodiscard]]
auto ControllerToPlayerNumber(GameController controller)
const
262 [[nodiscard]]
auto GetSecsHeld(
const GameInput& GameI,
263 MultiPlayer mp = MultiPlayer_Invalid)
const
265 [[nodiscard]]
auto GetSecsHeld(GameButton MenuI, PlayerNumber pn)
const
268 auto IsBeingPressed(
const GameInput& GameI,
269 MultiPlayer mp = MultiPlayer_Invalid,
270 const DeviceInputList* pButtonState =
nullptr)
const
272 [[nodiscard]]
auto IsBeingPressed(GameButton MenuI, PlayerNumber pn)
const
274 auto IsBeingPressed(
const std::vector<GameInput>& GameI,
275 MultiPlayer mp = MultiPlayer_Invalid,
276 const DeviceInputList* pButtonState =
nullptr)
const
279 void ResetKeyRepeat(
const GameInput& GameI);
280 void ResetKeyRepeat(GameButton MenuI, PlayerNumber pn);
282 void RepeatStopKey(
const GameInput& GameI);
283 void RepeatStopKey(GameButton MenuI, PlayerNumber pn);
285 [[nodiscard]]
auto GetLevel(
const GameInput& GameI)
const -> float;
286 [[nodiscard]]
auto GetLevel(GameButton MenuI, PlayerNumber pn)
const
289 static auto MultiPlayerToInputDevice(MultiPlayer mp) -> InputDevice;
290 static auto InputDeviceToMultiPlayer(InputDevice
id) -> MultiPlayer;
292 void Unmap(InputDevice device);
293 void ApplyMapping(
const std::vector<AutoMappingEntry>& vMmaps,
300 void UpdateTempDItoGI();
Definition InputMapper.h:22