3#include "mc/_HeaderOutputPredefine.h"
25 ::ll::TypedStorage<4, 4, int> buttonMaskForThisChord;
26 ::ll::TypedStorage<4, 4, int> completeChordMask;
27 ::ll::TypedStorage<4, 4, uint> resultantButtonId;
28 ::ll::TypedStorage<4, 4, int> currentStateIndex;
29 ::ll::TypedStorage<4, 4, int> originalChordButtonSequenceIndex;
30 ::ll::TypedStorage<4, 4, float> minHoldTime;
38 ::ll::TypedStorage<4, 4, int> controllerId;
39 ::ll::TypedStorage<4, 4, float> minHoldTime;
40 ::ll::TypedStorage<8, 8, ::std::chrono::steady_clock::time_point> timePressed;
48 ::ll::TypedStorage<8, 64, ::std::unordered_multimap<uint, ::ButtonChordTracker::ChordButtonDetails>> mChordMap;
49 ::ll::TypedStorage<8, 24, ::std::vector<int>> mChordState;
50 ::ll::TypedStorage<8, 24, ::std::vector<::std::vector<uint>>> mButtonSequences;
51 ::ll::TypedStorage<8, 16, ::std::map<uint, ::std::chrono::steady_clock::time_point>> mButtonLastInputTimes;
56 TrackerMappingAndState& operator=(TrackerMappingAndState
const&);
57 TrackerMappingAndState(TrackerMappingAndState
const&);
58 TrackerMappingAndState();
63 MCAPI ::ButtonChordTracker::TrackerMappingAndState& operator=(::ButtonChordTracker::TrackerMappingAndState&&);
65 MCAPI ~TrackerMappingAndState();
75 using ChordMap = ::std::unordered_multimap<uint, ::ButtonChordTracker::ChordButtonDetails>;
77 using ChordState = ::std::vector<int>;
79 using ButtonSequences = ::std::vector<::std::vector<uint>>;
81 using ButtonLastInputTimes = ::std::map<uint, ::std::chrono::steady_clock::time_point>;
86 ::ll::TypedStorage<8, 8, ::InputEventQueue&> mQueue;
87 ::ll::TypedStorage<8, 24, ::std::vector<::ButtonChordTracker::ChordButtonDetails*>> mChordsDown;
88 ::ll::TypedStorage<8, 64, ::std::unordered_map<int, ::ButtonChordTracker::TrackerMappingAndState>>
90 ::ll::TypedStorage<8, 64, ::std::unordered_map<uint, ::ButtonChordTracker::ChordHoldInfo>> mMinHoldTimeTracker;
95 ButtonChordTracker& operator=(ButtonChordTracker
const&);
96 ButtonChordTracker(ButtonChordTracker
const&);
102 MCAPI
void _raiseLongestChordSequences(::ButtonChordTracker::TrackerMappingAndState& trackerData,
int controllerId);
104 MCAPI
void clearMapping(
int controllerId);
106 MCAPI
void setMapping(::std::vector<::ChordButtonMapping>
const& inputMapping,
int controllerId);