t7x/src/client/steam/interfaces/controller.hpp

29 lines
1.4 KiB
C++
Raw Normal View History

2022-05-21 06:04:08 -04:00
#pragma once
namespace steam
{
using ControllerHandle_t = uint64_t;
class controller
{
public:
~controller() = default;
virtual bool Init();
virtual bool Shutdown();
virtual void RunFrame();
virtual int GetConnectedControllers(ControllerHandle_t* handlesOut);
virtual bool ShowBindingPanel(ControllerHandle_t controllerHandle);
virtual uint64_t GetActionSetHandle(const char* pszActionSetName);
virtual void ActivateActionSet(ControllerHandle_t controllerHandle, uint64_t actionSetHandle);
virtual uint64_t GetCurrentActionSet(ControllerHandle_t controllerHandle);
virtual uint64_t GetDigitalActionHandle(const char* pszActionName);
virtual uint64_t GetDigitalActionData(ControllerHandle_t controllerHandle, uint64_t digitalActionHandle);
virtual int GetDigitalActionOrigins(ControllerHandle_t controllerHandle, uint64_t actionSetHandle, uint64_t digitalActionHandle, uint64_t* originsOut);
virtual uint64_t GetAnalogActionHandle(const char* pszActionName);
virtual uint64_t GetAnalogActionData(ControllerHandle_t controllerHandle, uint64_t analogActionHandle);
virtual int GetAnalogActionOrigins(ControllerHandle_t controllerHandle, uint64_t actionSetHandle, uint64_t analogActionHandle, uint64_t* originsOut);
virtual void StopAnalogActionMomentum(ControllerHandle_t controllerHandle, uint64_t eAction);
virtual void TriggerHapticPulse(ControllerHandle_t controllerHandle, uint64_t eTargetPad, unsigned short usDurationMicroSec);
};
}