LeviLamina
Loading...
Searching...
No Matches
ButtonChordTracker Class Reference

Classes

struct  ChordButtonDetails
 
struct  ChordHoldInfo
 
struct  TrackerMappingAndState
 

Public Types

using ChordMap = ::std::unordered_multimap<uint, ::ButtonChordTracker::ChordButtonDetails>
 
using ChordState = ::std::vector<int>
 
using ButtonSequences = ::std::vector<::std::vector<uint>>
 
using ButtonLastInputTimes = ::std::map<uint, ::std::chrono::steady_clock::time_point>
 

Public Member Functions

ButtonChordTrackeroperator= (ButtonChordTracker const &)
 
 ButtonChordTracker (ButtonChordTracker const &)
 
MCAPI void _checkChordHoldDurations ()
 
MCAPI void _raiseLongestChordSequences (::ButtonChordTracker::TrackerMappingAndState &trackerData, int controllerId)
 
MCAPI void changeControllerId (int oldId, int newId)
 
MCAPI void setMapping (::std::vector<::ChordButtonMapping > const &inputMapping, int controllerId)
 
MCAPI::ChordTrackingResult trackButtonEvent (uint buttonId, ::ButtonState state, int controllerId)
 

Public Attributes

::ll::TypedStorage< 8, 8, ::InputEventQueue & > mQueue
 
::ll::TypedStorage< 8, 24, ::std::vector<::ButtonChordTracker::ChordButtonDetails * > > mChordsDown
 
::ll::TypedStorage< 8, 64, ::std::unordered_map< int, ::ButtonChordTracker::TrackerMappingAndState > > mPerIdTrackerData
 
::ll::TypedStorage< 8, 64, ::std::unordered_map< uint, ::ButtonChordTracker::ChordHoldInfo > > mMinHoldTimeTracker
 

The documentation for this class was generated from the following files: