@@ -43,49 +43,6 @@ enum ESteamControllerPad
4343};
4444#endif
4545
46- enum EControllerSource
47- {
48- k_EControllerSource_None,
49- k_EControllerSource_LeftTrackpad,
50- k_EControllerSource_RightTrackpad,
51- k_EControllerSource_Joystick,
52- k_EControllerSource_ABXY,
53- k_EControllerSource_Switch,
54- k_EControllerSource_LeftTrigger,
55- k_EControllerSource_RightTrigger,
56- k_EControllerSource_LeftBumper,
57- k_EControllerSource_RightBumper,
58- k_EControllerSource_Gyro,
59- k_EControllerSource_CenterTrackpad, // PS4
60- k_EControllerSource_RightJoystick, // Traditional Controllers
61- k_EControllerSource_DPad, // Traditional Controllers
62- k_EControllerSource_Key, // Keyboards with scan codes - Unused
63- k_EControllerSource_Mouse, // Traditional mouse - Unused
64- k_EControllerSource_LeftGyro, // Secondary Gyro - Switch - Unused
65- k_EControllerSource_Count
66- };
67-
68- enum EControllerSourceMode
69- {
70- k_EControllerSourceMode_None,
71- k_EControllerSourceMode_Dpad,
72- k_EControllerSourceMode_Buttons,
73- k_EControllerSourceMode_FourButtons,
74- k_EControllerSourceMode_AbsoluteMouse,
75- k_EControllerSourceMode_RelativeMouse,
76- k_EControllerSourceMode_JoystickMove,
77- k_EControllerSourceMode_JoystickMouse,
78- k_EControllerSourceMode_JoystickCamera,
79- k_EControllerSourceMode_ScrollWheel,
80- k_EControllerSourceMode_Trigger,
81- k_EControllerSourceMode_TouchMenu,
82- k_EControllerSourceMode_MouseJoystick,
83- k_EControllerSourceMode_MouseRegion,
84- k_EControllerSourceMode_RadialMenu,
85- k_EControllerSourceMode_SingleButton,
86- k_EControllerSourceMode_Switches
87- };
88-
8946// Note: Please do not use action origins as a way to identify controller types. There is no
9047// guarantee that they will be added in a contiguous manner - use GetInputTypeForHandle instead
9148// Versions of Steam that add new controller types in the future will extend this enum if you're
@@ -353,6 +310,144 @@ enum EControllerActionOrigin
353310 k_EControllerActionOrigin_XBox360_DPad_Move,
354311 k_EControllerActionOrigin_Switch_DPad_Move,
355312
313+ // Added in SDK 1.51
314+ k_EControllerActionOrigin_PS5_X,
315+ k_EControllerActionOrigin_PS5_Circle,
316+ k_EControllerActionOrigin_PS5_Triangle,
317+ k_EControllerActionOrigin_PS5_Square,
318+ k_EControllerActionOrigin_PS5_LeftBumper,
319+ k_EControllerActionOrigin_PS5_RightBumper,
320+ k_EControllerActionOrigin_PS5_Option, // Start
321+ k_EControllerActionOrigin_PS5_Create, // Back
322+ k_EControllerActionOrigin_PS5_Mute,
323+ k_EControllerActionOrigin_PS5_LeftPad_Touch,
324+ k_EControllerActionOrigin_PS5_LeftPad_Swipe,
325+ k_EControllerActionOrigin_PS5_LeftPad_Click,
326+ k_EControllerActionOrigin_PS5_LeftPad_DPadNorth,
327+ k_EControllerActionOrigin_PS5_LeftPad_DPadSouth,
328+ k_EControllerActionOrigin_PS5_LeftPad_DPadWest,
329+ k_EControllerActionOrigin_PS5_LeftPad_DPadEast,
330+ k_EControllerActionOrigin_PS5_RightPad_Touch,
331+ k_EControllerActionOrigin_PS5_RightPad_Swipe,
332+ k_EControllerActionOrigin_PS5_RightPad_Click,
333+ k_EControllerActionOrigin_PS5_RightPad_DPadNorth,
334+ k_EControllerActionOrigin_PS5_RightPad_DPadSouth,
335+ k_EControllerActionOrigin_PS5_RightPad_DPadWest,
336+ k_EControllerActionOrigin_PS5_RightPad_DPadEast,
337+ k_EControllerActionOrigin_PS5_CenterPad_Touch,
338+ k_EControllerActionOrigin_PS5_CenterPad_Swipe,
339+ k_EControllerActionOrigin_PS5_CenterPad_Click,
340+ k_EControllerActionOrigin_PS5_CenterPad_DPadNorth,
341+ k_EControllerActionOrigin_PS5_CenterPad_DPadSouth,
342+ k_EControllerActionOrigin_PS5_CenterPad_DPadWest,
343+ k_EControllerActionOrigin_PS5_CenterPad_DPadEast,
344+ k_EControllerActionOrigin_PS5_LeftTrigger_Pull,
345+ k_EControllerActionOrigin_PS5_LeftTrigger_Click,
346+ k_EControllerActionOrigin_PS5_RightTrigger_Pull,
347+ k_EControllerActionOrigin_PS5_RightTrigger_Click,
348+ k_EControllerActionOrigin_PS5_LeftStick_Move,
349+ k_EControllerActionOrigin_PS5_LeftStick_Click,
350+ k_EControllerActionOrigin_PS5_LeftStick_DPadNorth,
351+ k_EControllerActionOrigin_PS5_LeftStick_DPadSouth,
352+ k_EControllerActionOrigin_PS5_LeftStick_DPadWest,
353+ k_EControllerActionOrigin_PS5_LeftStick_DPadEast,
354+ k_EControllerActionOrigin_PS5_RightStick_Move,
355+ k_EControllerActionOrigin_PS5_RightStick_Click,
356+ k_EControllerActionOrigin_PS5_RightStick_DPadNorth,
357+ k_EControllerActionOrigin_PS5_RightStick_DPadSouth,
358+ k_EControllerActionOrigin_PS5_RightStick_DPadWest,
359+ k_EControllerActionOrigin_PS5_RightStick_DPadEast,
360+ k_EControllerActionOrigin_PS5_DPad_Move,
361+ k_EControllerActionOrigin_PS5_DPad_North,
362+ k_EControllerActionOrigin_PS5_DPad_South,
363+ k_EControllerActionOrigin_PS5_DPad_West,
364+ k_EControllerActionOrigin_PS5_DPad_East,
365+ k_EControllerActionOrigin_PS5_Gyro_Move,
366+ k_EControllerActionOrigin_PS5_Gyro_Pitch,
367+ k_EControllerActionOrigin_PS5_Gyro_Yaw,
368+ k_EControllerActionOrigin_PS5_Gyro_Roll,
369+
370+ k_EControllerActionOrigin_XBoxOne_LeftGrip_Lower,
371+ k_EControllerActionOrigin_XBoxOne_LeftGrip_Upper,
372+ k_EControllerActionOrigin_XBoxOne_RightGrip_Lower,
373+ k_EControllerActionOrigin_XBoxOne_RightGrip_Upper,
374+ k_EControllerActionOrigin_XBoxOne_Share,
375+
376+ // Added in SDK 1.53
377+ k_EControllerActionOrigin_SteamDeck_A,
378+ k_EControllerActionOrigin_SteamDeck_B,
379+ k_EControllerActionOrigin_SteamDeck_X,
380+ k_EControllerActionOrigin_SteamDeck_Y,
381+ k_EControllerActionOrigin_SteamDeck_L1,
382+ k_EControllerActionOrigin_SteamDeck_R1,
383+ k_EControllerActionOrigin_SteamDeck_Menu,
384+ k_EControllerActionOrigin_SteamDeck_View,
385+ k_EControllerActionOrigin_SteamDeck_LeftPad_Touch,
386+ k_EControllerActionOrigin_SteamDeck_LeftPad_Swipe,
387+ k_EControllerActionOrigin_SteamDeck_LeftPad_Click,
388+ k_EControllerActionOrigin_SteamDeck_LeftPad_DPadNorth,
389+ k_EControllerActionOrigin_SteamDeck_LeftPad_DPadSouth,
390+ k_EControllerActionOrigin_SteamDeck_LeftPad_DPadWest,
391+ k_EControllerActionOrigin_SteamDeck_LeftPad_DPadEast,
392+ k_EControllerActionOrigin_SteamDeck_RightPad_Touch,
393+ k_EControllerActionOrigin_SteamDeck_RightPad_Swipe,
394+ k_EControllerActionOrigin_SteamDeck_RightPad_Click,
395+ k_EControllerActionOrigin_SteamDeck_RightPad_DPadNorth,
396+ k_EControllerActionOrigin_SteamDeck_RightPad_DPadSouth,
397+ k_EControllerActionOrigin_SteamDeck_RightPad_DPadWest,
398+ k_EControllerActionOrigin_SteamDeck_RightPad_DPadEast,
399+ k_EControllerActionOrigin_SteamDeck_L2_SoftPull,
400+ k_EControllerActionOrigin_SteamDeck_L2,
401+ k_EControllerActionOrigin_SteamDeck_R2_SoftPull,
402+ k_EControllerActionOrigin_SteamDeck_R2,
403+ k_EControllerActionOrigin_SteamDeck_LeftStick_Move,
404+ k_EControllerActionOrigin_SteamDeck_L3,
405+ k_EControllerActionOrigin_SteamDeck_LeftStick_DPadNorth,
406+ k_EControllerActionOrigin_SteamDeck_LeftStick_DPadSouth,
407+ k_EControllerActionOrigin_SteamDeck_LeftStick_DPadWest,
408+ k_EControllerActionOrigin_SteamDeck_LeftStick_DPadEast,
409+ k_EControllerActionOrigin_SteamDeck_LeftStick_Touch,
410+ k_EControllerActionOrigin_SteamDeck_RightStick_Move,
411+ k_EControllerActionOrigin_SteamDeck_R3,
412+ k_EControllerActionOrigin_SteamDeck_RightStick_DPadNorth,
413+ k_EControllerActionOrigin_SteamDeck_RightStick_DPadSouth,
414+ k_EControllerActionOrigin_SteamDeck_RightStick_DPadWest,
415+ k_EControllerActionOrigin_SteamDeck_RightStick_DPadEast,
416+ k_EControllerActionOrigin_SteamDeck_RightStick_Touch,
417+ k_EControllerActionOrigin_SteamDeck_L4,
418+ k_EControllerActionOrigin_SteamDeck_R4,
419+ k_EControllerActionOrigin_SteamDeck_L5,
420+ k_EControllerActionOrigin_SteamDeck_R5,
421+ k_EControllerActionOrigin_SteamDeck_DPad_Move,
422+ k_EControllerActionOrigin_SteamDeck_DPad_North,
423+ k_EControllerActionOrigin_SteamDeck_DPad_South,
424+ k_EControllerActionOrigin_SteamDeck_DPad_West,
425+ k_EControllerActionOrigin_SteamDeck_DPad_East,
426+ k_EControllerActionOrigin_SteamDeck_Gyro_Move,
427+ k_EControllerActionOrigin_SteamDeck_Gyro_Pitch,
428+ k_EControllerActionOrigin_SteamDeck_Gyro_Yaw,
429+ k_EControllerActionOrigin_SteamDeck_Gyro_Roll,
430+ k_EControllerActionOrigin_SteamDeck_Reserved1,
431+ k_EControllerActionOrigin_SteamDeck_Reserved2,
432+ k_EControllerActionOrigin_SteamDeck_Reserved3,
433+ k_EControllerActionOrigin_SteamDeck_Reserved4,
434+ k_EControllerActionOrigin_SteamDeck_Reserved5,
435+ k_EControllerActionOrigin_SteamDeck_Reserved6,
436+ k_EControllerActionOrigin_SteamDeck_Reserved7,
437+ k_EControllerActionOrigin_SteamDeck_Reserved8,
438+ k_EControllerActionOrigin_SteamDeck_Reserved9,
439+ k_EControllerActionOrigin_SteamDeck_Reserved10,
440+ k_EControllerActionOrigin_SteamDeck_Reserved11,
441+ k_EControllerActionOrigin_SteamDeck_Reserved12,
442+ k_EControllerActionOrigin_SteamDeck_Reserved13,
443+ k_EControllerActionOrigin_SteamDeck_Reserved14,
444+ k_EControllerActionOrigin_SteamDeck_Reserved15,
445+ k_EControllerActionOrigin_SteamDeck_Reserved16,
446+ k_EControllerActionOrigin_SteamDeck_Reserved17,
447+ k_EControllerActionOrigin_SteamDeck_Reserved18,
448+ k_EControllerActionOrigin_SteamDeck_Reserved19,
449+ k_EControllerActionOrigin_SteamDeck_Reserved20,
450+
356451 k_EControllerActionOrigin_Count, // If Steam has added support for new controllers origins will go here.
357452 k_EControllerActionOrigin_MaximumPossibleValue = 32767 , // Origins are currently a maximum of 16 bits.
358453};
@@ -405,6 +500,7 @@ enum ESteamInputType
405500 k_ESteamInputType_SwitchProController,
406501 k_ESteamInputType_MobileTouch, // Steam Link App On-screen Virtual Controller
407502 k_ESteamInputType_PS3Controller, // Currently uses PS4 Origins
503+ k_ESteamInputType_PS5Controller, // Added in SDK 151
408504 k_ESteamInputType_Count,
409505 k_ESteamInputType_MaximumPossibleValue = 255 ,
410506};
@@ -576,14 +672,15 @@ class ISteamController
576672 virtual void SetLEDColor ( ControllerHandle_t controllerHandle, uint8 nColorR, uint8 nColorG, uint8 nColorB, unsigned int nFlags ) = 0;
577673
578674 // -----------------------------------------------------------------------------
579- // Utility functions availible without using the rest of Steam Input API
675+ // Utility functions available without using the rest of Steam Input API
580676 // -----------------------------------------------------------------------------
581677
582678 // Invokes the Steam overlay and brings up the binding screen if the user is using Big Picture Mode
583679 // If the user is not in Big Picture Mode it will open up the binding in a new window
584680 virtual bool ShowBindingPanel ( ControllerHandle_t controllerHandle ) = 0;
585681
586- // Returns the input type for a particular handle
682+ // Returns the input type for a particular handle - unlike EControllerActionOrigin which update with Steam and may return unrecognized values
683+ // ESteamInputType will remain static and only return valid values from your SDK version
587684 virtual ESteamInputType GetInputTypeForHandle ( ControllerHandle_t controllerHandle ) = 0;
588685
589686 // Returns the associated controller handle for the specified emulated gamepad - can be used with the above 2 functions
@@ -610,7 +707,7 @@ class ISteamController
610707 virtual bool GetControllerBindingRevision ( ControllerHandle_t controllerHandle, int *pMajor, int *pMinor ) = 0;
611708};
612709
613- #define STEAMCONTROLLER_INTERFACE_VERSION " SteamController007 "
710+ #define STEAMCONTROLLER_INTERFACE_VERSION " SteamController008 "
614711
615712// Global interface accessor
616713inline ISteamController *SteamController ();
0 commit comments