From 28cf033bec6935d89b67c8d38d5ad26b2fb1b5f9 Mon Sep 17 00:00:00 2001 From: Vitaly Date: Fri, 15 Feb 2019 18:13:23 +0100 Subject: [PATCH] Add PushToTalk action --- src/ivrinput/ivrinput.cpp | 8 +++++++- src/ivrinput/ivrinput.h | 9 +++++++++ src/package_files/action_manifest.json | 9 ++++++++- 3 files changed, 24 insertions(+), 2 deletions(-) diff --git a/src/ivrinput/ivrinput.cpp b/src/ivrinput/ivrinput.cpp index d793dd3..090ccd3 100644 --- a/src/ivrinput/ivrinput.cpp +++ b/src/ivrinput/ivrinput.cpp @@ -149,7 +149,8 @@ SteamIVRInput::SteamIVRInput() ActionType::Digital ), m_optionalOverrideRightHandRoomDrag( input_strings::k_actionOptionalOverrideRightHandRoomDrag, - ActionType::Digital ) + ActionType::Digital ), + m_pushToTalk( input_strings::k_actionPushToTalk, ActionType::Digital ) { m_activeActionSet.ulActionSet = m_mainSet.handle(); m_activeActionSet.ulRestrictedToDevice = vr::k_ulInvalidInputValueHandle; @@ -242,6 +243,11 @@ bool SteamIVRInput::optionalOverrideRightHandRoomDrag() m_optionalOverrideRightHandRoomDrag ); } +bool SteamIVRInput::pushToTalk() +{ + return isDigitalActionActivatedConstant( m_pushToTalk ); +} + /*! Updates the active action set(s). Should be called every frame, or however often you want the input system to diff --git a/src/ivrinput/ivrinput.h b/src/ivrinput/ivrinput.h index d212a83..53b8f4f 100644 --- a/src/ivrinput/ivrinput.h +++ b/src/ivrinput/ivrinput.h @@ -36,10 +36,12 @@ public: SteamIVRInput(); void UpdateStates(); + bool nextSong(); bool previousSong(); bool pausePlaySong(); bool stopSong(); + bool leftHandRoomTurn(); bool rightHandRoomTurn(); bool leftHandRoomDrag(); @@ -49,6 +51,8 @@ public: bool optionalOverrideLeftHandRoomDrag(); bool optionalOverrideRightHandRoomDrag(); + bool pushToTalk(); + // Destructor. There are no terminating calls for the IVRInput API, so it // is left blank. ~SteamIVRInput() {} @@ -87,6 +91,9 @@ private: Action m_optionalOverrideRightHandRoomTurn; Action m_optionalOverrideLeftHandRoomDrag; Action m_optionalOverrideRightHandRoomDrag; + + // Push To Talk + Action m_pushToTalk; }; /*! @@ -118,6 +125,8 @@ namespace input_strings constexpr auto k_actionOptionalOverrideRightHandRoomDrag = "/actions/main/in/OptionalOverrideRightHandRoomDrag"; + constexpr auto k_actionPushToTalk = "/actions/main/in/PushToTalk"; + constexpr auto k_setMain = "/actions/main"; } // namespace input_strings diff --git a/src/package_files/action_manifest.json b/src/package_files/action_manifest.json index 9225ab1..1acedca 100644 --- a/src/package_files/action_manifest.json +++ b/src/package_files/action_manifest.json @@ -65,6 +65,11 @@ "name": "/actions/main/in/OptionalOverrideRightHandRoomDrag", "requirement": "optional", "type": "boolean" + }, + { + "name": "/actions/main/in/PushToTalk", + "requirement": "optional", + "type": "boolean" } ], "action_sets": [ @@ -90,7 +95,9 @@ "/actions/main/in/OptionalOverrideLeftHandRoomTurn" : "Optional Override Left Hand Room Turn", "/actions/main/in/OptionalOverrideRightHandRoomTurn" : "Optional Override Right Hand Room Turn", "/actions/main/in/OptionalOverrideLeftHandRoomDrag" : "Optional Override Left Hand Room Drag", - "/actions/main/in/OptionalOverrideRightHandRoomDrag" : "Optional Override Right Hand Room Drag" + "/actions/main/in/OptionalOverrideRightHandRoomDrag" : "Optional Override Right Hand Room Drag", + + "/actions/main/in/PushToTalk" : "Push To Talk" } ] } \ No newline at end of file