3#include "mc/_HeaderOutputPredefine.h"
6#include "mc/client/input/ClientInputMappingFactory.h"
7#include "mc/client/input/vanilla/remapping/ActionEnum.h"
8#include "mc/deps/core/utility/pub_sub/Subscription.h"
9#include "mc/deps/input/enums/FocusImpact.h"
29 ::ll::TypedStorage<1, 1, bool> mIsEdu;
30 ::ll::TypedStorage<8, 16, ::std::weak_ptr<::IOptions>> mOptions;
31 ::ll::TypedStorage<8, 16, ::Bedrock::PubSub::Subscription> mRegenerateTemplatesDueToScriptKeys;
37 virtual void createInputMappingTemplates(::IOptions& options) ;
39 virtual void _updateKeyboardAndMouseControls(::IOptions& options) ;
41 virtual void _updateGameControllerControls() ;
43 virtual void _updateTouchMappingControls() ;
45 virtual ~VanillaClientInputMappingFactory() =
default;
51 MCAPI
void _addBlockSelectButton(::TouchInputMapping& touchMapping)
const;
53 MCAPI
void _addClassicDPadButtons(::TouchInputMapping& touchMapping,
bool sneak,
bool jump)
const;
55 MCAPI
void _addCommandMacrosKeyboardAndMouseMapping(
56 ::KeyboardInputMapping& screenKeyboardMapping,
57 ::MouseInputMapping& screenMouseMapping
60 MCAPI
void _addCommandMacrosKeyboardAndMouseMappingChord(::std::vector<::ChordButtonMapping>& result);
62 MCAPI
void _addDebugChords(::std::vector<::ChordButtonMapping>& result);
65 _addDebugKeyboardControls(::KeyboardInputMapping& keyboardMapping, ::MouseInputMapping& mouseMapping)
const;
67 MCAPI
void _addFullKeyboardGamePlayControls(
68 ::KeyboardInputMapping& keyboardMapping,
69 ::MouseInputMapping& mouseMapping,
70 bool withInventoryCycle
73 MCAPI
void _addGamePlayTouchFlyingMovementControls(::TouchInputMapping& result)
const;
75 MCAPI
void _addGameplayMouseControls(
76 ::KeyboardInputMapping& normalGamePlayKeyboardMapping,
77 ::MouseInputMapping& normalGamePlayMouseMapping
80 MCAPI
void _addInvariantGameControllerControls(::GameControllerInputMapping& gameControllerMapping);
82 MCAPI
void _addInvariantGamePlayGameControllerControls(::GameControllerInputMapping& gameControllerMapping);
84 MCAPI
void _addInvariantGamePlayTouchControls(::TouchInputMapping& touchMapping)
const;
86 MCAPI
void _addInvariantKeyboardControls(
87 ::KeyboardInputMapping& keyboardMapping,
88 ::MouseInputMapping& mouseMapping,
92 MCAPI
void _addNewTouchControlsActionButtons(::TouchInputMapping& touchMapping)
const;
94 MCAPI
void _addSharedGamePlayGameControllerControls(::GameControllerInputMapping& gameControllerMapping);
96 MCAPI
void _bindActionToGameControllerInput(
97 ::GameControllerInputMapping& map,
98 ::GamePadRemappingLayout
const& layout,
99 ::std::string
const& buttonID,
100 ::Remapping::ActionEnum action,
101 float triggerThreshold,
105 MCAPI
void _bindActionToKeyboardAndMouseInput(
106 ::KeyboardInputMapping& keyboardMap,
107 ::MouseInputMapping& mouseMap,
108 ::std::string
const& buttonID,
109 ::Remapping::ActionEnum action,
110 ::FocusImpact focusImpact
113 MCAPI
void _createBaseNormalGamePlayKeyboardAndMouseMapping(
114 ::KeyboardInputMapping& normalGamePlayKeyboardMapping,
115 ::MouseInputMapping& normalGamePlayMouseMapping,
120 _createBedKeyboardAndMouseMapping(::KeyboardInputMapping& bedKeyboardMapping, ::MouseInputMapping& bedMouseMapping);
122 MCAPI ::TestAutoInputMapping _createBedTestAutoInputMapping();
124 MCAPI ::TouchInputMapping _createBedTouchMapping();
126 MCAPI ::GameControllerInputMapping _createBoatAndMinecartGameControllerMapping();
128 MCAPI
void _createBoatKeyboardAndMouseMapping(
129 ::KeyboardInputMapping& boatKeyboardMapping,
130 ::MouseInputMapping& boatMouseMapping
133 MCAPI ::TestAutoInputMapping _createBoatTestAutoInputMapping();
135 MCAPI ::TouchInputMapping _createBoatTouchMapping();
138 _createDeathKeyboardAndMouseMapping(::KeyboardInputMapping& keyboardMapping, ::MouseInputMapping& mouseMapping);
140 MCAPI ::TouchInputMapping _createDeathTouchMapping();
142 MCAPI ::GameControllerInputMapping _createEmoteGameControllerMapping();
144 MCAPI
void _createExpediateEmoteKeyboardAndMouseMapping(
145 ::KeyboardInputMapping& emoteKeyboardMapping,
146 ::MouseInputMapping& emoteMouseMapping
149 MCFOLD ::GameControllerInputMapping _createFlyingGameControllerMapping();
151 MCAPI ::TouchInputMapping _createFlyingTouchMapping();
153 MCAPI ::GameControllerInputMapping _createGazeMouseControllerMapping();
155 MCAPI ::GameControllerInputMapping _createGazeScreenGameControllerMapping();
157 MCAPI ::TouchInputMapping _createInScaffoldingTouchMapping();
159 MCAPI ::GameControllerInputMapping _createInWaterGameControllerMapping();
161 MCAPI ::TouchInputMapping _createInWaterTouchMapping();
163 MCAPI ::TouchInputMapping _createMinecartTouchMapping();
165 MCAPI ::std::vector<::ChordButtonMapping> _createNormalGamePlayChordMapping(
bool withDropAll);
167 MCAPI ::std::vector<::DeviceButtonMapping> _createNormalGamePlayDeviceButtonMapping();
169 MCAPI ::GameControllerInputMapping _createNormalGamePlayGameControllerMapping();
171 MCAPI ::TestAutoInputMapping _createNormalGamePlayTestAutoInputMapping();
173 MCAPI ::TouchInputMapping _createNormalGamePlayTouchMapping();
175 MCAPI ::GameControllerInputMapping _createRideableGameControllerMapping();
177 MCAPI
void _createRideableKeyboardAndMouseMapping(
178 ::KeyboardInputMapping& rideableKeyboardMapping,
179 ::MouseInputMapping& rideableMouseMapping
182 MCAPI ::TouchInputMapping _createRideableTouchMapping();
184 MCAPI ::std::vector<::ChordButtonMapping> _createScreenChordMapping();
186 MCAPI ::GameControllerInputMapping _createScreenGameControllerMapping();
188 MCAPI
void _createScreenKeyboardAndMouseMapping(
189 ::KeyboardInputMapping& screenKeyboardMapping,
190 ::MouseInputMapping& screenMouseMapping
193 MCAPI ::KeyboardInputMapping _createScreenKeyboardMapping();
195 MCAPI ::MouseInputMapping _createScreenMouseMapping();
197 MCAPI ::TestAutoInputMapping _createScreenTestAutoInputMapping();
199 MCAPI ::GameControllerInputMapping _createSpectatorModeGameControllerMapping();
201 MCAPI
void _createSpectatorModeKeyboardAndMouseMapping(
202 ::KeyboardInputMapping& spectatorModeGamePlayKeyboardMapping,
203 ::MouseInputMapping& spectatorModeGamePlayMouseMapping
206 MCAPI ::TestAutoInputMapping _createSpectatorModeTestAutoInputMapping();
208 MCAPI ::TouchInputMapping _createSpectatorModeTouchMapping();
210 MCFOLD ::GameControllerInputMapping _createSwimmingGameControllerMapping();
212 MCAPI
void _createSwimmingKeyboardAndMouseMapping(
213 ::KeyboardInputMapping& swimmingKeyboardMapping,
214 ::MouseInputMapping& swimmingMouseMapping
217 MCAPI
bool _hasSwappedJumpAndSneak()
const;
219 MCAPI
bool _isUsingActionButtons()
const;
221 MCAPI
bool _isUsingNewTouchControls()
const;
223 MCAPI
void _populateFullKeyboardDefaults(::RemappingLayout& layout)
const;
225 MCAPI
void _populateGamepadDefaults(::RemappingLayout& layout)
const;
227 MCAPI
void _populateKeyboardDefaults(::RemappingLayout& layout)
const;
229 MCAPI
bool _shouldAddBinding(
230 ::std::string action,
232 ::std::unordered_map<::std::string, ::std::unordered_set<int>>& actionToKeyMap
239 MCAPI
void $createInputMappingTemplates(::IOptions& options);
241 MCAPI
void $_updateKeyboardAndMouseControls(::IOptions& options);
243 MCAPI
void $_updateGameControllerControls();
245 MCAPI
void $_updateTouchMappingControls();
Definition GamePadRemappingLayout.h:5
Definition RemappingLayout.h:5