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"
30 ::ll::TypedStorage<1, 1, bool> mIsEdu;
31 ::ll::TypedStorage<8, 16, ::std::weak_ptr<::IOptionRegistry>> mOptions;
32 ::ll::TypedStorage<8, 16, ::Bedrock::PubSub::Subscription> mRegenerateTemplatesDueToScriptKeys;
37 VanillaClientInputMappingFactory();
42 virtual void createInputMappingTemplates(::IOptionRegistry& options) ;
44 virtual void _updateKeyboardAndMouseControls(::IOptionRegistry& options) ;
46 virtual void _updateGameControllerControls() ;
48 virtual void _updateTouchMappingControls() ;
55 VanillaClientInputMappingFactory(::std::weak_ptr<::KeyboardRemappingLayout> currentKeyboardLayout,
bool isEdu);
57 MCAPI
void _addBlockSelectButton(::TouchInputMapping& touchMapping)
const;
59 MCAPI
void _addClassicDPadButtons(::TouchInputMapping& touchMapping,
bool sneak,
bool jump)
const;
61 MCAPI
void _addCommandMacrosKeyboardAndMouseMapping(
62 ::KeyboardInputMapping& screenKeyboardMapping,
63 ::MouseInputMapping& screenMouseMapping
66 MCAPI
void _addCommandMacrosKeyboardAndMouseMappingChord(::std::vector<::ChordButtonMapping>& result);
68 MCAPI
void _addDebugChords(::std::vector<::ChordButtonMapping>& result);
70 MCAPI
void _addDebugKeyboardControls(::KeyboardInputMapping& keyboardMapping, ::MouseInputMapping&)
const;
72 MCAPI
void _addFullKeyboardGamePlayControls(
73 ::KeyboardInputMapping& keyboardMapping,
74 ::MouseInputMapping& mouseMapping,
75 bool withInventoryCycle
78 MCAPI
void _addGamePlayTouchFlyingMovementControls(::TouchInputMapping& result)
const;
80 MCAPI
void _addGameplayMouseControls(
81 ::KeyboardInputMapping& normalGamePlayKeyboardMapping,
82 ::MouseInputMapping& normalGamePlayMouseMapping
85 MCAPI
void _addInvariantGameControllerControls(::GameControllerInputMapping& gameControllerMapping);
87 MCAPI
void _addInvariantGamePlayGameControllerControls(::GameControllerInputMapping& gameControllerMapping);
89 MCAPI
void _addInvariantGamePlayTouchControls(::TouchInputMapping& touchMapping)
const;
91 MCAPI
void _addInvariantKeyboardControls(
92 ::KeyboardInputMapping& keyboardMapping,
93 ::MouseInputMapping& mouseMapping,
97 MCAPI
void _addNewTouchControlsActionButtons(::TouchInputMapping& touchMapping)
const;
99 MCAPI
void _addSharedGamePlayGameControllerControls(::GameControllerInputMapping& gameControllerMapping);
101 MCAPI
void _bindActionToGameControllerInput(
102 ::GameControllerInputMapping& map,
103 ::GamePadRemappingLayout
const& layout,
104 ::std::string
const& buttonID,
105 ::Remapping::ActionEnum action,
106 float triggerThreshold,
110 MCAPI
void _bindActionToKeyboardAndMouseInput(
111 ::KeyboardInputMapping& keyboardMap,
112 ::MouseInputMapping& mouseMap,
113 ::std::string
const& buttonID,
114 ::Remapping::ActionEnum action,
115 ::FocusImpact focusImpact
118 MCAPI
void _createBaseNormalGamePlayKeyboardAndMouseMapping(
119 ::KeyboardInputMapping& normalGamePlayKeyboardMapping,
120 ::MouseInputMapping& normalGamePlayMouseMapping,
125 _createBedKeyboardAndMouseMapping(::KeyboardInputMapping& bedKeyboardMapping, ::MouseInputMapping& bedMouseMapping);
127 MCAPI ::TouchInputMapping _createBedTouchMapping();
129 MCAPI ::GameControllerInputMapping _createBoatAndMinecartGameControllerMapping();
131 MCAPI
void _createBoatKeyboardAndMouseMapping(
132 ::KeyboardInputMapping& boatKeyboardMapping,
133 ::MouseInputMapping& boatMouseMapping
136 MCAPI ::TestAutoInputMapping _createBoatTestAutoInputMapping();
138 MCAPI ::TouchInputMapping _createBoatTouchMapping();
141 _createDeathKeyboardAndMouseMapping(::KeyboardInputMapping& keyboardMapping, ::MouseInputMapping& mouseMapping);
143 MCAPI ::TouchInputMapping _createDeathTouchMapping();
145 MCAPI
void _createEditorKeyboardAndMouseMapping(
146 ::KeyboardInputMapping& editorKeyboardMapping,
147 ::MouseInputMapping& editorMouseMapping
150 MCAPI ::GameControllerInputMapping _createEmoteGameControllerMapping();
152 MCAPI
void _createExpediateEmoteKeyboardAndMouseMapping(
153 ::KeyboardInputMapping& emoteKeyboardMapping,
154 ::MouseInputMapping& emoteMouseMapping
157 MCFOLD ::GameControllerInputMapping _createFlyingGameControllerMapping();
159 MCAPI ::GameControllerInputMapping _createGazeMouseControllerMapping();
161 MCAPI ::GameControllerInputMapping _createGazeScreenGameControllerMapping();
163 MCAPI ::TouchInputMapping _createInScaffoldingTouchMapping();
165 MCAPI ::GameControllerInputMapping _createInWaterGameControllerMapping();
167 MCAPI ::TouchInputMapping _createInWaterTouchMapping();
169 MCAPI ::TouchInputMapping _createMinecartTouchMapping();
171 MCAPI ::std::vector<::ChordButtonMapping> _createNormalGamePlayChordMapping(
bool withDropAll);
173 MCAPI ::std::vector<::DeviceButtonMapping> _createNormalGamePlayDeviceButtonMapping();
175 MCAPI ::GameControllerInputMapping _createNormalGamePlayGameControllerMapping();
177 MCAPI
void _createNormalGamePlayKeyboardAndMouseMapping(
178 ::KeyboardInputMapping& normalGamePlayKeyboardMapping,
179 ::MouseInputMapping& normalGamePlayMouseMapping
182 MCAPI ::TestAutoInputMapping _createNormalGamePlayTestAutoInputMapping();
184 MCAPI ::TouchInputMapping _createNormalGamePlayTouchMapping();
186 MCAPI ::GameControllerInputMapping _createRideableGameControllerMapping();
188 MCAPI
void _createRideableKeyboardAndMouseMapping(
189 ::KeyboardInputMapping& rideableKeyboardMapping,
190 ::MouseInputMapping& rideableMouseMapping
193 MCAPI ::TouchInputMapping _createRideableTouchMapping();
195 MCAPI ::std::vector<::ChordButtonMapping> _createScreenChordMapping();
197 MCAPI ::GameControllerInputMapping _createScreenGameControllerMapping();
199 MCAPI
void _createScreenKeyboardAndMouseMapping(
200 ::KeyboardInputMapping& screenKeyboardMapping,
201 ::MouseInputMapping& screenMouseMapping
204 MCAPI ::KeyboardInputMapping _createScreenKeyboardMapping();
206 MCAPI ::MouseInputMapping _createScreenMouseMapping();
208 MCAPI ::TestAutoInputMapping _createScreenTestAutoInputMapping();
210 MCAPI ::GameControllerInputMapping _createSpectatorModeGameControllerMapping();
212 MCAPI
void _createSpectatorModeKeyboardAndMouseMapping(
213 ::KeyboardInputMapping& spectatorModeGamePlayKeyboardMapping,
214 ::MouseInputMapping& spectatorModeGamePlayMouseMapping
217 MCAPI ::TestAutoInputMapping _createSpectatorModeTestAutoInputMapping();
219 MCAPI ::TouchInputMapping _createSpectatorModeTouchMapping();
221 MCFOLD ::GameControllerInputMapping _createSwimmingGameControllerMapping();
223 MCAPI
void _createSwimmingKeyboardAndMouseMapping(
224 ::KeyboardInputMapping& swimmingKeyboardMapping,
225 ::MouseInputMapping& swimmingMouseMapping
228 MCAPI
bool _hasSwappedJumpAndSneak()
const;
230 MCAPI
bool _isUsingActionButtons()
const;
232 MCAPI
void _populateFullKeyboardDefaults(::RemappingLayout& layout)
const;
234 MCAPI
void _populateGamepadDefaults(::RemappingLayout& layout)
const;
236 MCAPI
void _populateKeyboardDefaults(::RemappingLayout& layout)
const;
238 MCAPI
bool _shouldAddBinding(
239 ::std::string action,
241 ::std::unordered_map<::std::string, ::std::unordered_set<int>>& actionToKeyMap
248 MCAPI
void* $ctor(::std::weak_ptr<::KeyboardRemappingLayout> currentKeyboardLayout,
bool isEdu);
254 MCAPI
void $createInputMappingTemplates(::IOptionRegistry& options);
256 MCAPI
void $_updateKeyboardAndMouseControls(::IOptionRegistry& options);
258 MCAPI
void $_updateGameControllerControls();
260 MCAPI
void $_updateTouchMappingControls();
Definition GamePadRemappingLayout.h:5
Definition IOptionRegistry.h:5
Definition KeyboardRemappingLayout.h:5
Definition RemappingLayout.h:5