17#include <vrvUtil/DtVirtualBaseClass.h>
21#include <unordered_map>
24#include <boost/signals2.hpp>
53 template <
class T1,
class T2>
55 auto h1 = std::hash<T1>{}(p.first);
56 auto h2 = std::hash<T2>{}(p.second);
84 using DeviceList = std::vector<std::unique_ptr<DtInputDevice>>;
98 std::unordered_map<std::string, std::unique_ptr<DtDeviceMapping>>
deviceMappings;
180 virtual bool addMappingLayer(
const std::string& configName,
const std::string& group,
bool alwaysOnTop,
bool alwaysEnabled);
233 virtual const std::unique_ptr<DtInputDevice>&
findDevice(
int id)
const;
Modern delegate class that can bind and invoke callables with any number of parameters.
Definition delegate.h:31
Factory class for creating objects of different derived types.
Definition factory.h:79
Top-level class representing the VR-Engage application.
Definition playerStationApp.h:163
Defines mapping between device inputs and actions.
Provides a template-based factory system for object creation.
Include export definitions for this library.
Definition glsVreMessageUtil.h:49
std::unordered_map< std::pair< std::string, std::string >, DtActionDelegate, pair_hash > ActionHandlerMap
Definition vreInputManager.h:68
DtDelegate< void, float > DtActionDelegate
Delegate type for handling action events.
Definition vreInputManager.h:66
DtDelegate< bool, const DtInputData & > DtInputDelegate
Delegate type for handling raw input data events.
Definition vreInputManager.h:73
Structure representing an input action with a name and value.
Definition vreInputManager.h:39
std::string group
Group name for categorizing actions (e.g., "movement", "combat")
Definition vreInputManager.h:41
float value
Intensity or value of the action (range typically -1.0 to 1.0)
Definition vreInputManager.h:47
std::string name
Name of the action to be performed.
Definition vreInputManager.h:44
Definition vreInputManager.h:52
std::size_t operator()(const std::pair< T1, T2 > &p) const
Definition vreInputManager.h:54