Add actions and placeholder functions to movecentertab

This commit is contained in:
Kung-vr
2019-03-02 23:54:27 +09:00
parent de069ee42e
commit 53d5431da7
6 changed files with 200 additions and 11 deletions
+58 -5
View File
@@ -131,13 +131,13 @@ SteamIVRInput::SteamIVRInput()
ActionType::Digital ),
m_stopTrack( input_strings::k_actionStopTrack, ActionType::Digital ),
m_leftHandSpaceTurn( input_strings::k_actionLeftHandSpaceTurn,
ActionType::Digital ),
ActionType::Digital ),
m_rightHandSpaceTurn( input_strings::k_actionRightHandSpaceTurn,
ActionType::Digital ),
ActionType::Digital ),
m_leftHandSpaceDrag( input_strings::k_actionLeftHandSpaceDrag,
ActionType::Digital ),
m_rightHandSpaceDrag( input_strings::k_actionRightHandSpaceDrag,
ActionType::Digital ),
m_rightHandSpaceDrag( input_strings::k_actionRightHandSpaceDrag,
ActionType::Digital ),
m_optionalOverrideLeftHandSpaceTurn(
input_strings::k_actionOptionalOverrideLeftHandSpaceTurn,
ActionType::Digital ),
@@ -149,7 +149,23 @@ SteamIVRInput::SteamIVRInput()
ActionType::Digital ),
m_optionalOverrideRightHandSpaceDrag(
input_strings::k_actionOptionalOverrideRightHandSpaceDrag,
ActionType::Digital )
ActionType::Digital ),
m_swapSpaceDragToLeftHandOverride(
input_strings::k_actionSwapSpaceDragToLeftHandOverride,
ActionType::Digital ),
m_swapSpaceDragToRightHandOverride(
input_strings::k_actionSwapSpaceDragToRightHandOverride,
ActionType::Digital ),
m_gravityToggle( input_strings::k_actionGravityToggle,
ActionType::Digital ),
m_heightToggle( input_strings::k_actionHeightToggle,
ActionType::Digital ),
m_resetOffsets( input_strings::k_actionResetOffsets,
ActionType::Digital ),
m_snapTurnLeft( input_strings::k_actionSnapTurnLeft,
ActionType::Digital ),
m_snapTurnRight( input_strings::k_actionSnapTurnRight,
ActionType::Digital )
{
m_activeActionSet.ulActionSet = m_mainSet.handle();
m_activeActionSet.ulRestrictedToDevice = vr::k_ulInvalidInputValueHandle;
@@ -242,6 +258,43 @@ bool SteamIVRInput::optionalOverrideRightHandSpaceDrag()
m_optionalOverrideRightHandSpaceDrag );
}
bool SteamIVRInput::swapSpaceDragToLeftHandOverride()
{
return isDigitalActionActivatedConstant(
m_swapSpaceDragToLeftHandOverride );
}
bool SteamIVRInput::swapSpaceDragToRightHandOverride()
{
return isDigitalActionActivatedConstant(
m_swapSpaceDragToRightHandOverride );
}
bool SteamIVRInput::gravityToggle()
{
return isDigitalActionActivatedOnce( m_gravityToggle );
}
bool SteamIVRInput::heightToggle()
{
return isDigitalActionActivatedOnce( m_heightToggle );
}
bool SteamIVRInput::resetOffsets()
{
return isDigitalActionActivatedOnce( m_resetOffsets );
}
bool SteamIVRInput::snapTurnLeft()
{
return isDigitalActionActivatedOnce( m_snapTurnLeft );
}
bool SteamIVRInput::snapTurnRight()
{
return isDigitalActionActivatedOnce( m_snapTurnRight );
}
/*!
Updates the active action set(s).
Should be called every frame, or however often you want the input system to
+23
View File
@@ -48,6 +48,13 @@ public:
bool optionalOverrideRightHandSpaceTurn();
bool optionalOverrideLeftHandSpaceDrag();
bool optionalOverrideRightHandSpaceDrag();
bool swapSpaceDragToLeftHandOverride();
bool swapSpaceDragToRightHandOverride();
bool gravityToggle();
bool heightToggle();
bool resetOffsets();
bool snapTurnLeft();
bool snapTurnRight();
// Destructor. There are no terminating calls for the IVRInput API, so it
// is left blank.
@@ -87,6 +94,13 @@ private:
Action m_optionalOverrideRightHandSpaceTurn;
Action m_optionalOverrideLeftHandSpaceDrag;
Action m_optionalOverrideRightHandSpaceDrag;
Action m_swapSpaceDragToLeftHandOverride;
Action m_swapSpaceDragToRightHandOverride;
Action m_gravityToggle;
Action m_heightToggle;
Action m_resetOffsets;
Action m_snapTurnLeft;
Action m_snapTurnRight;
};
/*!
@@ -117,6 +131,15 @@ namespace input_strings
= "/actions/main/in/OptionalOverrideLeftHandSpaceDrag";
constexpr auto k_actionOptionalOverrideRightHandSpaceDrag
= "/actions/main/in/OptionalOverrideRightHandSpaceDrag";
constexpr auto k_actionSwapSpaceDragToLeftHandOverride
= "/actions/main/in/SwapSpaceDragToLeftHandOverride";
constexpr auto k_actionSwapSpaceDragToRightHandOverride
= "/actions/main/in/SwapSpaceDragToRightHandOverride";
constexpr auto k_actionGravityToggle = "/actions/main/in/GravityToggle";
constexpr auto k_actionHeightToggle = "/actions/main/in/HeightToggle";
constexpr auto k_actionResetOffsets = "/actions/main/in/ResetOffsets";
constexpr auto k_actionSnapTurnLeft = "/actions/main/in/SnapTurnLeft";
constexpr auto k_actionSnapTurnRight = "/actions/main/in/SnapTurnRight";
constexpr auto k_setMain = "/actions/main";
+13 -2
View File
@@ -493,12 +493,19 @@ void OverlayController::processInputBindings()
// reorder these. Override actions must always come after normal because
// active priority is set based on which action is "newest"
// normal actions:
m_moveCenterTabController.leftHandSpaceDrag( m_actions.leftHandSpaceDrag() );
m_moveCenterTabController.leftHandSpaceDrag(
m_actions.leftHandSpaceDrag() );
m_moveCenterTabController.rightHandSpaceDrag(
m_actions.rightHandSpaceDrag() );
m_moveCenterTabController.leftHandSpaceTurn( m_actions.leftHandSpaceTurn() );
m_moveCenterTabController.leftHandSpaceTurn(
m_actions.leftHandSpaceTurn() );
m_moveCenterTabController.rightHandSpaceTurn(
m_actions.rightHandSpaceTurn() );
m_moveCenterTabController.gravityToggle( m_actions.gravityToggle() );
m_moveCenterTabController.heightToggle( m_actions.heightToggle() );
m_moveCenterTabController.resetOffsets( m_actions.resetOffsets() );
m_moveCenterTabController.snapTurnLeft( m_actions.snapTurnLeft() );
m_moveCenterTabController.snapTurnRight( m_actions.snapTurnRight() );
// override actions:
m_moveCenterTabController.optionalOverrideLeftHandSpaceDrag(
@@ -509,6 +516,10 @@ void OverlayController::processInputBindings()
m_actions.optionalOverrideLeftHandSpaceTurn() );
m_moveCenterTabController.optionalOverrideRightHandSpaceTurn(
m_actions.optionalOverrideRightHandSpaceTurn() );
m_moveCenterTabController.swapSpaceDragToLeftHandOverride(
m_actions.swapSpaceDragToLeftHandOverride() );
m_moveCenterTabController.swapSpaceDragToRightHandOverride(
m_actions.swapSpaceDragToRightHandOverride() );
}
// vsync implementation:
+46 -4
View File
@@ -65,6 +65,41 @@
"name": "/actions/main/in/OptionalOverrideRightHandSpaceDrag",
"requirement": "optional",
"type": "boolean"
},
{
"name": "/actions/main/in/SwapSpaceDragToLeftHandOverride",
"requirement": "optional",
"type": "boolean"
},
{
"name": "/actions/main/in/SwapSpaceDragToRightHandOverride",
"requirement": "optional",
"type": "boolean"
},
{
"name": "/actions/main/in/GravityToggle",
"requirement": "optional",
"type": "boolean"
},
{
"name": "/actions/main/in/HeightToggle",
"requirement": "optional",
"type": "boolean"
},
{
"name": "/actions/main/in/ResetOffsets",
"requirement": "optional",
"type": "boolean"
},
{
"name": "/actions/main/in/SnapTurnLeft",
"requirement": "optional",
"type": "boolean"
},
{
"name": "/actions/main/in/SnapTurnRight",
"requirement": "optional",
"type": "boolean"
}
],
"action_sets": [
@@ -87,10 +122,17 @@
"/actions/main/in/RightHandSpaceTurn" : "Right Hand Space Turn",
"/actions/main/in/LeftHandSpaceDrag" : "Left Hand Space Drag",
"/actions/main/in/RightHandSpaceDrag" : "Right Hand Space Drag",
"/actions/main/in/OptionalOverrideLeftHandSpaceTurn" : "Optional Override Left Hand Space Turn",
"/actions/main/in/OptionalOverrideRightHandSpaceTurn" : "Optional Override Right Hand Space Turn",
"/actions/main/in/OptionalOverrideLeftHandSpaceDrag" : "Optional Override Left Hand Space Drag",
"/actions/main/in/OptionalOverrideRightHandSpaceDrag" : "Optional Override Right Hand Space Drag"
"/actions/main/in/OptionalOverrideLeftHandSpaceTurn" : "(Optional Override) Left Hand Space Turn",
"/actions/main/in/OptionalOverrideRightHandSpaceTurn" : "(Optional Override) Right Hand Space Turn",
"/actions/main/in/OptionalOverrideLeftHandSpaceDrag" : "(Optional Override) Left Hand Space Drag",
"/actions/main/in/OptionalOverrideRightHandSpaceDrag" : "(Optional Override) Right Hand Space Drag",
"/actions/main/in/SwapSpaceDragToLeftHandOverride" : "Swap Active Space Drag to Left Hand (Override)",
"/actions/main/in/SwapSpaceDragToRightHandOverride" : "Swap Active Space Drag to Right Hand (Override)",
"/actions/main/in/GravityToggle" : "Gravity Toggle",
"/actions/main/in/HeightToggle" : "Height Toggle",
"/actions/main/in/ResetOffsets" : "Reset Offsets",
"/actions/main/in/SnapTurnLeft" : "Snap-Turn Left",
"/actions/main/in/SnapTurnRight" : "Snap-Turn Right"
}
]
}
@@ -956,6 +956,59 @@ void MoveCenterTabController::optionalOverrideRightHandSpaceTurn(
// END of turn bindings.
// START of other bindings.
void MoveCenterTabController::swapSpaceDragToLeftHandOverride(
bool swapDragToLeftHand )
{
// temp set to false
swapDragToLeftHand = false;
// TODO STUFF
}
void MoveCenterTabController::swapSpaceDragToRightHandOverride(
bool swapDragToRightHand )
{
// temp set to false
swapDragToRightHand = false;
// TODO STUFF
}
void MoveCenterTabController::gravityToggle( bool gravityToggleJustPressed )
{
// temp set to false
gravityToggleJustPressed = false;
// TODO STUFF
}
void MoveCenterTabController::heightToggle( bool heightToggleJustPressed )
{
// temp set to false
heightToggleJustPressed = false;
// TODO STUFF
}
void MoveCenterTabController::resetOffsets( bool resetOffsetsJustPressed )
{
// temp set to false
resetOffsetsJustPressed = false;
// TODO STUFF
}
void MoveCenterTabController::snapTurnLeft( bool snapTurnLeftJustPressed )
{
// temp set to false
snapTurnLeftJustPressed = false;
// TODO STUFF
}
void MoveCenterTabController::snapTurnRight( bool snapTurnRightJustPressed )
{
// temp set to false
snapTurnRightJustPressed = false;
// TODO STUFF
}
void MoveCenterTabController::updateHmdRotationCounter(
vr::TrackedDevicePose_t hmdPose,
double angle )
@@ -150,6 +150,13 @@ public:
void rightHandSpaceTurn( bool rightHandTurnActive );
void optionalOverrideLeftHandSpaceTurn( bool overrideLeftHandTurnActive );
void optionalOverrideRightHandSpaceTurn( bool overrideRightHandTurnActive );
void swapSpaceDragToLeftHandOverride( bool swapDragToLeftHandActive );
void swapSpaceDragToRightHandOverride( bool swapDragToRightHandActive );
void gravityToggle( bool gravityToggleJustPressed );
void heightToggle( bool heightToggleJustPressed );
void resetOffsets( bool resetOffsetsJustPressed );
void snapTurnLeft( bool snapTurnLeftJustPressed );
void snapTurnRight( bool snapTurnRightJustPressed );
public slots:
int trackingUniverse() const;