3#include "mc/_HeaderOutputPredefine.h"
6#include "mc/client/input/IconSize.h"
7#include "mc/deps/core/utility/pub_sub/Publisher.h"
8#include "mc/deps/input/enums/RawInputType.h"
21 using RefreshKeymappingPublisher =
22 ::Bedrock::PubSub::Publisher<void(::std::optional<uint64>), ::Bedrock::PubSub::ThreadModel::SingleThreaded, 0>;
27 ::ll::TypedStorage<8, 24, ::std::vector<::Keymapping>> mKeymappings;
28 ::ll::TypedStorage<8, 24, ::std::vector<::Keymapping>> mDefaultMappings;
34 Publisher<void(::std::optional<uint64>), ::Bedrock::PubSub::ThreadModel::SingleThreaded, 0>>>
35 mRefreshKeymappingsPublisher;
41 virtual ~RemappingLayout();
43 virtual void setMappingWithRawInput(::std::string
const&,
int, ::RawInputType);
45 virtual int getAdjustedKey(
int key)
const;
47 virtual ::std::string getSaveString(::std::string
const& action)
const;
49 virtual ::std::string getMappedKeyName(
int key)
const;
51 virtual ::std::string getMappedKeyName(
int key,
bool checkUserConfiguredSwap)
const;
53 virtual ::std::string getMappedKeyName(::Keymapping
const& keyMapping)
const;
55 virtual ::std::string getKeySpriteLocation(
int key, ::IconSize iconSize)
const;
57 virtual ::std::string getKeySpriteLocation(::Keymapping
const& keyMapping)
const;
59 virtual int _rawKeyToKey(
int, ::RawInputType)
const = 0;
65 MCAPI RemappingLayout();
67 MCAPI
void assignDefaultMapping(::std::vector<::Keymapping>&& newDefaultMapping);
69 MCAPI
void defaultKeyAtIndex(uint index);
71 MCAPI ::Keymapping
const& getKeymappingByAction(::std::string
const& action)
const;
73 MCAPI ::Bedrock::PubSub::Subscription
74 registerRefreshKeymappingsListener(::std::function<
void(::std::optional<uint64>)> callback);
76 MCAPI
void setMapping(::std::string
const& action, ::std::vector<int>
const& keys);
78 MCAPI
void unassignDuplicateKeys(
int index);
80 MCAPI
void unassignKeyAtIndex(uint index);
86 MCAPI static ::std::vector<::DuplicateKey>
87 _generateIndicesOfDuplicatesForMappings(::std::vector<::Keymapping>
const& mappings);
105 MCFOLD
int $getAdjustedKey(
int key)
const;
107 MCFOLD ::std::string $getSaveString(::std::string
const& action)
const;
109 MCFOLD ::std::string $getMappedKeyName(
int key)
const;
111 MCFOLD ::std::string $getMappedKeyName(
int key,
bool checkUserConfiguredSwap)
const;
113 MCAPI ::std::string $getMappedKeyName(::Keymapping
const& keyMapping)
const;
115 MCFOLD ::std::string $getKeySpriteLocation(
int key, ::IconSize iconSize)
const;
117 MCAPI ::std::string $getKeySpriteLocation(::Keymapping
const& keyMapping)
const;
Definition Subscription.h:10
Definition Keymapping.h:5
Definition RemappingLayout.h:5
static MCAPI void ** $vftable()
Definition SingleThreaded.h:7
Definition DuplicateKey.h:5