diff options
Diffstat (limited to 'lib/windows64/include/steam/isteamcontroller.h')
-rw-r--r-- | lib/windows64/include/steam/isteamcontroller.h | 251 |
1 files changed, 0 insertions, 251 deletions
diff --git a/lib/windows64/include/steam/isteamcontroller.h b/lib/windows64/include/steam/isteamcontroller.h deleted file mode 100644 index 68f7af6..0000000 --- a/lib/windows64/include/steam/isteamcontroller.h +++ /dev/null @@ -1,251 +0,0 @@ -//====== Copyright 1996-2013, Valve Corporation, All rights reserved. ======= -// -// Purpose: interface to valve controller -// -//============================================================================= - -#ifndef ISTEAMCONTROLLER_H -#define ISTEAMCONTROLLER_H -#ifdef _WIN32 -#pragma once -#endif - -#include "isteamclient.h" - -#define STEAM_CONTROLLER_MAX_COUNT 16 - -#define STEAM_CONTROLLER_MAX_ANALOG_ACTIONS 16 - -#define STEAM_CONTROLLER_MAX_DIGITAL_ACTIONS 128 - -#define STEAM_CONTROLLER_MAX_ORIGINS 8 - -// When sending an option to a specific controller handle, you can send to all controllers via this command -#define STEAM_CONTROLLER_HANDLE_ALL_CONTROLLERS UINT64_MAX - -#define STEAM_CONTROLLER_MIN_ANALOG_ACTION_DATA -1.0f -#define STEAM_CONTROLLER_MAX_ANALOG_ACTION_DATA 1.0f - -enum ESteamControllerPad -{ - k_ESteamControllerPad_Left, - k_ESteamControllerPad_Right -}; - -enum EControllerSource -{ - k_EControllerSource_None, - k_EControllerSource_LeftTrackpad, - k_EControllerSource_RightTrackpad, - k_EControllerSource_Joystick, - k_EControllerSource_ABXY, - k_EControllerSource_Switch, - k_EControllerSource_LeftTrigger, - k_EControllerSource_RightTrigger, - k_EControllerSource_Gyro, - k_EControllerSource_Count -}; - -enum EControllerSourceMode -{ - k_EControllerSourceMode_None, - k_EControllerSourceMode_Dpad, - k_EControllerSourceMode_Buttons, - k_EControllerSourceMode_FourButtons, - k_EControllerSourceMode_AbsoluteMouse, - k_EControllerSourceMode_RelativeMouse, - k_EControllerSourceMode_JoystickMove, - k_EControllerSourceMode_JoystickCamera, - k_EControllerSourceMode_ScrollWheel, - k_EControllerSourceMode_Trigger, - k_EControllerSourceMode_TouchMenu, - k_EControllerSourceMode_MouseJoystick, - k_EControllerSourceMode_MouseRegion, - k_EControllerSourceMode_RadialMenu, - k_EControllerSourceMode_Switches -}; - -enum EControllerActionOrigin -{ - k_EControllerActionOrigin_None, - k_EControllerActionOrigin_A, - k_EControllerActionOrigin_B, - k_EControllerActionOrigin_X, - k_EControllerActionOrigin_Y, - k_EControllerActionOrigin_LeftBumper, - k_EControllerActionOrigin_RightBumper, - k_EControllerActionOrigin_LeftGrip, - k_EControllerActionOrigin_RightGrip, - k_EControllerActionOrigin_Start, - k_EControllerActionOrigin_Back, - k_EControllerActionOrigin_LeftPad_Touch, - k_EControllerActionOrigin_LeftPad_Swipe, - k_EControllerActionOrigin_LeftPad_Click, - k_EControllerActionOrigin_LeftPad_DPadNorth, - k_EControllerActionOrigin_LeftPad_DPadSouth, - k_EControllerActionOrigin_LeftPad_DPadWest, - k_EControllerActionOrigin_LeftPad_DPadEast, - k_EControllerActionOrigin_RightPad_Touch, - k_EControllerActionOrigin_RightPad_Swipe, - k_EControllerActionOrigin_RightPad_Click, - k_EControllerActionOrigin_RightPad_DPadNorth, - k_EControllerActionOrigin_RightPad_DPadSouth, - k_EControllerActionOrigin_RightPad_DPadWest, - k_EControllerActionOrigin_RightPad_DPadEast, - k_EControllerActionOrigin_LeftTrigger_Pull, - k_EControllerActionOrigin_LeftTrigger_Click, - k_EControllerActionOrigin_RightTrigger_Pull, - k_EControllerActionOrigin_RightTrigger_Click, - k_EControllerActionOrigin_LeftStick_Move, - k_EControllerActionOrigin_LeftStick_Click, - k_EControllerActionOrigin_LeftStick_DPadNorth, - k_EControllerActionOrigin_LeftStick_DPadSouth, - k_EControllerActionOrigin_LeftStick_DPadWest, - k_EControllerActionOrigin_LeftStick_DPadEast, - k_EControllerActionOrigin_Gyro_Move, - k_EControllerActionOrigin_Gyro_Pitch, - k_EControllerActionOrigin_Gyro_Yaw, - k_EControllerActionOrigin_Gyro_Roll, - - k_EControllerActionOrigin_Count -}; - -// ControllerHandle_t is used to refer to a specific controller. -// This handle will consistently identify a controller, even if it is disconnected and re-connected -typedef uint64 ControllerHandle_t; - - -// These handles are used to refer to a specific in-game action or action set -// All action handles should be queried during initialization for performance reasons -typedef uint64 ControllerActionSetHandle_t; -typedef uint64 ControllerDigitalActionHandle_t; -typedef uint64 ControllerAnalogActionHandle_t; - -#pragma pack( push, 1 ) - -struct ControllerAnalogActionData_t -{ - // Type of data coming from this action, this will match what got specified in the action set - EControllerSourceMode eMode; - - // The current state of this action; will be delta updates for mouse actions - float x, y; - - // Whether or not this action is currently available to be bound in the active action set - bool bActive; -}; - -struct ControllerDigitalActionData_t -{ - // The current state of this action; will be true if currently pressed - bool bState; - - // Whether or not this action is currently available to be bound in the active action set - bool bActive; -}; - -struct ControllerMotionData_t -{ - // Sensor-fused absolute rotation; will drift in heading - float rotQuatX; - float rotQuatY; - float rotQuatZ; - float rotQuatW; - - // Positional acceleration - float posAccelX; - float posAccelY; - float posAccelZ; - - // Angular velocity - float rotVelX; - float rotVelY; - float rotVelZ; -}; - -#pragma pack( pop ) - - -//----------------------------------------------------------------------------- -// Purpose: Native Steam controller support API -//----------------------------------------------------------------------------- -class ISteamController -{ -public: - - // Init and Shutdown must be called when starting/ending use of this interface - virtual bool Init() = 0; - virtual bool Shutdown() = 0; - - // Synchronize API state with the latest Steam Controller inputs available. This - // is performed automatically by SteamAPI_RunCallbacks, but for the absolute lowest - // possible latency, you call this directly before reading controller state. - virtual void RunFrame() = 0; - - // Enumerate currently connected controllers - // handlesOut should point to a STEAM_CONTROLLER_MAX_COUNT sized array of ControllerHandle_t handles - // Returns the number of handles written to handlesOut - virtual int GetConnectedControllers( ControllerHandle_t *handlesOut ) = 0; - - // Invokes the Steam overlay and brings up the binding screen - // Returns false is overlay is disabled / unavailable, or the user is not in Big Picture mode - virtual bool ShowBindingPanel( ControllerHandle_t controllerHandle ) = 0; - - // ACTION SETS - // Lookup the handle for an Action Set. Best to do this once on startup, and store the handles for all future API calls. - virtual ControllerActionSetHandle_t GetActionSetHandle( const char *pszActionSetName ) = 0; - - // Reconfigure the controller to use the specified action set (ie 'Menu', 'Walk' or 'Drive') - // This is cheap, and can be safely called repeatedly. It's often easier to repeatedly call it in - // your state loops, instead of trying to place it in all of your state transitions. - virtual void ActivateActionSet( ControllerHandle_t controllerHandle, ControllerActionSetHandle_t actionSetHandle ) = 0; - virtual ControllerActionSetHandle_t GetCurrentActionSet( ControllerHandle_t controllerHandle ) = 0; - - // ACTIONS - // Lookup the handle for a digital action. Best to do this once on startup, and store the handles for all future API calls. - virtual ControllerDigitalActionHandle_t GetDigitalActionHandle( const char *pszActionName ) = 0; - - // Returns the current state of the supplied digital game action - virtual ControllerDigitalActionData_t GetDigitalActionData( ControllerHandle_t controllerHandle, ControllerDigitalActionHandle_t digitalActionHandle ) = 0; - - // Get the origin(s) for a digital action within an action set. Returns the number of origins supplied in originsOut. Use this to display the appropriate on-screen prompt for the action. - // originsOut should point to a STEAM_CONTROLLER_MAX_ORIGINS sized array of EControllerActionOrigin handles - virtual int GetDigitalActionOrigins( ControllerHandle_t controllerHandle, ControllerActionSetHandle_t actionSetHandle, ControllerDigitalActionHandle_t digitalActionHandle, EControllerActionOrigin *originsOut ) = 0; - - // Lookup the handle for an analog action. Best to do this once on startup, and store the handles for all future API calls. - virtual ControllerAnalogActionHandle_t GetAnalogActionHandle( const char *pszActionName ) = 0; - - // Returns the current state of these supplied analog game action - virtual ControllerAnalogActionData_t GetAnalogActionData( ControllerHandle_t controllerHandle, ControllerAnalogActionHandle_t analogActionHandle ) = 0; - - // Get the origin(s) for an analog action within an action set. Returns the number of origins supplied in originsOut. Use this to display the appropriate on-screen prompt for the action. - // originsOut should point to a STEAM_CONTROLLER_MAX_ORIGINS sized array of EControllerActionOrigin handles - virtual int GetAnalogActionOrigins( ControllerHandle_t controllerHandle, ControllerActionSetHandle_t actionSetHandle, ControllerAnalogActionHandle_t analogActionHandle, EControllerActionOrigin *originsOut ) = 0; - - virtual void StopAnalogActionMomentum( ControllerHandle_t controllerHandle, ControllerAnalogActionHandle_t eAction ) = 0; - - // Trigger a haptic pulse on a controller - virtual void TriggerHapticPulse( ControllerHandle_t controllerHandle, ESteamControllerPad eTargetPad, unsigned short usDurationMicroSec ) = 0; - - // Trigger a pulse with a duty cycle of usDurationMicroSec / usOffMicroSec, unRepeat times. - // nFlags is currently unused and reserved for future use. - virtual void TriggerRepeatedHapticPulse( ControllerHandle_t controllerHandle, ESteamControllerPad eTargetPad, unsigned short usDurationMicroSec, unsigned short usOffMicroSec, unsigned short unRepeat, unsigned int nFlags ) = 0; - - // Returns the associated gamepad index for the specified controller, if emulating a gamepad - virtual int GetGamepadIndexForController( ControllerHandle_t ulControllerHandle ) = 0; - - // Returns the associated controller handle for the specified emulated gamepad - virtual ControllerHandle_t GetControllerForGamepadIndex( int nIndex ) = 0; - - // Returns raw motion data from the specified controller - virtual ControllerMotionData_t GetMotionData( ControllerHandle_t controllerHandle ) = 0; - - // Attempt to display origins of given action in the controller HUD, for the currently active action set - // Returns false is overlay is disabled / unavailable, or the user is not in Big Picture mode - virtual bool ShowDigitalActionOrigins( ControllerHandle_t controllerHandle, ControllerDigitalActionHandle_t digitalActionHandle, float flScale, float flXPosition, float flYPosition ) = 0; - virtual bool ShowAnalogActionOrigins( ControllerHandle_t controllerHandle, ControllerAnalogActionHandle_t analogActionHandle, float flScale, float flXPosition, float flYPosition ) = 0; -}; - -#define STEAMCONTROLLER_INTERFACE_VERSION "SteamController004" - -#endif // ISTEAMCONTROLLER_H |