3#include "mc/_HeaderOutputPredefine.h"
6#include "mc/client/input/IconSize.h"
7#include "mc/client/input/RemappingLayoutRawIndex.h"
8#include "mc/deps/core/utility/pub_sub/Publisher.h"
9#include "mc/deps/input/enums/RawInputType.h"
22 using RefreshKeymappingPublisher =
23 ::Bedrock::PubSub::Publisher<void(::std::optional<uint64>), ::Bedrock::PubSub::ThreadModel::SingleThreaded, 0>;
28 ::ll::TypedStorage<8, 24, ::std::vector<::Keymapping>> mKeymappings;
29 ::ll::TypedStorage<8, 24, ::std::vector<::Keymapping>> mDefaultMappings;
35 Publisher<void(::std::optional<uint64>), ::Bedrock::PubSub::ThreadModel::SingleThreaded, 0>>>
36 mRefreshKeymappingsPublisher;
37 ::ll::TypedStorage<8, 32, ::RemappingLayoutRawIndex> mLayoutRawIndex;
43 virtual ~RemappingLayout();
45 virtual void setMappingWithRawInput(::std::string
const& action,
int key, ::RawInputType type);
47 virtual int getAdjustedKey(
int key)
const;
49 virtual ::std::string getSaveString(::std::string
const& action)
const;
51 virtual ::std::string getMappedKeyName(
int key)
const;
53 virtual ::std::string getMappedKeyName(
int key,
bool checkUserConfiguredSwap)
const;
55 virtual ::std::string getMappedKeyName(::Keymapping
const& keyMapping)
const;
57 virtual ::std::string getKeySpriteLocation(
int key, ::IconSize iconSize)
const;
59 virtual ::std::string getKeySpriteLocation(::Keymapping
const& keyMapping)
const;
61 virtual int _rawKeyToKey(
int rawInputKey, ::RawInputType rawInputType)
const = 0;
67 MCAPI RemappingLayout();
69 MCAPI
void assignDefaultMapping(::std::vector<::Keymapping>&& newDefaultMapping);
71 MCAPI ::std::vector<::DuplicateKey> generateIndicesOfDuplicates()
const;
73 MCAPI ::Keymapping
const& getKeymappingByAction(::std::string
const& action)
const;
75 MCAPI ::Bedrock::PubSub::Subscription
76 registerRefreshKeymappingsListener(::std::function<
void(::std::optional<uint64>)> callback);
78 MCAPI
void setMapping(::std::string
const& action, ::std::vector<int>
const& keys);
80 MCAPI
void unassignDuplicateKeys(uint64 index);
98 MCAPI
void $setMappingWithRawInput(::std::string
const& action,
int key, ::RawInputType type);
100 MCFOLD
int $getAdjustedKey(
int key)
const;
102 MCFOLD ::std::string $getSaveString(::std::string
const& action)
const;
104 MCFOLD ::std::string $getMappedKeyName(
int key)
const;
106 MCFOLD ::std::string $getMappedKeyName(
int key,
bool checkUserConfiguredSwap)
const;
108 MCAPI ::std::string $getMappedKeyName(::Keymapping
const& keyMapping)
const;
110 MCFOLD ::std::string $getKeySpriteLocation(
int key, ::IconSize iconSize)
const;
112 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