LeviLamina
Loading...
Searching...
No Matches
ButtonChordTracker.h
1#pragma once
2
3#include "mc/_HeaderOutputPredefine.h"
4
5// auto generated inclusion list
6#include "mc/deps/input/enums/ButtonState.h"
7#include "mc/deps/input/enums/ChordTrackingResult.h"
8
9// auto generated forward declare list
10// clang-format off
11class InputEventQueue;
13// clang-format on
14
16public:
17 // ButtonChordTracker inner types declare
18 // clang-format off
19 struct ChordButtonDetails;
20 struct ChordHoldInfo;
21 struct TrackerMappingAndState;
22 // clang-format on
23
24 // ButtonChordTracker inner types define
26
27 struct ChordHoldInfo {};
28
30
31 using ChordMap = ::std::unordered_multimap<uint, ::ButtonChordTracker::ChordButtonDetails>;
32
33 using ChordState = ::std::vector<int>;
34
35 using ButtonSequences = ::std::vector<::std::vector<uint>>;
36
37 using ButtonLastInputTimes = ::std::map<uint, ::std::chrono::steady_clock::time_point>;
38
39public:
40 // member variables
41 // NOLINTBEGIN
42 ::ll::TypedStorage<8, 8, ::InputEventQueue&> mQueue;
43 ::ll::TypedStorage<8, 24, ::std::vector<::ButtonChordTracker::ChordButtonDetails*>> mChordsDown;
44 ::ll::TypedStorage<8, 64, ::std::unordered_map<int, ::ButtonChordTracker::TrackerMappingAndState>>
45 mPerIdTrackerData;
46 ::ll::TypedStorage<8, 64, ::std::unordered_map<uint, ::ButtonChordTracker::ChordHoldInfo>> mMinHoldTimeTracker;
47 // NOLINTEND
48
49public:
50 // prevent constructor by default
51 ButtonChordTracker& operator=(ButtonChordTracker const&);
54
55public:
56 // member functions
57 // NOLINTBEGIN
58 MCAPI void _checkChordHoldDurations();
59
60 MCAPI void _raiseLongestChordSequences(::ButtonChordTracker::TrackerMappingAndState& trackerData, int controllerId);
61
62 MCAPI void changeControllerId(int oldId, int newId);
63
64 MCAPI void setMapping(::std::vector<::ChordButtonMapping> const& inputMapping, int controllerId);
65
66 MCAPI ::ChordTrackingResult trackButtonEvent(uint buttonId, ::ButtonState state, int controllerId);
67 // NOLINTEND
68};
Definition ButtonChordTracker.h:5
Definition InputEventQueue.h:5
Definition ButtonChordTracker.h:25
Definition ButtonChordTracker.h:27
Definition ButtonChordTracker.h:29
Definition ChordButtonMapping.h:5