Bug 1305890 - Part 3: Change OpenVR and Oculus Touch gamepad id; r?kip
MozReview-Commit-ID: Igp2mmlI5sW
--- a/gfx/vr/VRDisplayHost.h
+++ b/gfx/vr/VRDisplayHost.h
@@ -90,17 +90,17 @@ public:
const VRControllerInfo& GetControllerInfo() const;
void SetIndex(uint32_t aIndex);
uint32_t GetIndex();
void SetButtonPressed(uint64_t aBit);
uint64_t GetButtonPressed();
void SetPose(const dom::GamepadPoseState& aPose);
const dom::GamepadPoseState& GetPose();
- void SetHand(dom::GamepadHand aHand);
+ virtual void SetHand(dom::GamepadHand aHand);
dom::GamepadHand GetHand();
protected:
explicit VRControllerHost(VRDeviceType aType);
virtual ~VRControllerHost();
VRControllerInfo mControllerInfo;
// The controller index in VRControllerManager.
--- a/gfx/vr/gfxVROculus.cpp
+++ b/gfx/vr/gfxVROculus.cpp
@@ -831,17 +831,17 @@ VRDisplayOculus::NotifyVSync()
ovrResult ovr = ovr_GetSessionStatus(mSession, &sessionStatus);
mDisplayInfo.mIsConnected = (ovr == ovrSuccess && sessionStatus.HmdPresent);
}
VRControllerOculus::VRControllerOculus()
: VRControllerHost(VRDeviceType::Oculus)
{
MOZ_COUNT_CTOR_INHERITED(VRControllerOculus, VRControllerHost);
- mControllerInfo.mControllerName.AssignLiteral("Oculus Touch Controller");
+ mControllerInfo.mControllerName.AssignLiteral("Oculus Touch");
mControllerInfo.mMappingType = GamepadMappingType::_empty;
mControllerInfo.mHand = GamepadHand::_empty;
mControllerInfo.mNumButtons = kNumOculusButton;
mControllerInfo.mNumAxes = static_cast<uint32_t>(
OculusControllerAxisType::NumVRControllerAxisType);;
}
float
@@ -851,16 +851,26 @@ VRControllerOculus::GetAxisMove(uint32_t
}
void
VRControllerOculus::SetAxisMove(uint32_t aAxis, float aValue)
{
mAxisMove[aAxis] = aValue;
}
+void
+VRControllerOculus::SetHand(dom::GamepadHand aHand)
+{
+ VRControllerHost::SetHand(aHand);
+ mControllerInfo.mControllerName.AssignLiteral("Oculus Touch (");
+ mControllerInfo.mControllerName.AppendPrintf("%s%s",
+ GamepadHandValues::strings[uint32_t(aHand)].value,
+ ")");
+}
+
VRControllerOculus::~VRControllerOculus()
{
MOZ_COUNT_DTOR_INHERITED(VRControllerOculus, VRControllerHost);
}
/*static*/ already_AddRefed<VRSystemManagerOculus>
VRSystemManagerOculus::Create()
{
--- a/gfx/vr/gfxVROculus.h
+++ b/gfx/vr/gfxVROculus.h
@@ -95,16 +95,17 @@ protected:
};
class VRControllerOculus : public VRControllerHost
{
public:
explicit VRControllerOculus();
float GetAxisMove(uint32_t aAxis);
void SetAxisMove(uint32_t aAxis, float aValue);
+ virtual void SetHand(dom::GamepadHand aHand) override;
protected:
virtual ~VRControllerOculus();
float mAxisMove[static_cast<uint32_t>(
OculusControllerAxisType::NumVRControllerAxisType)];
};
} // namespace impl
--- a/gfx/vr/gfxVROpenVR.cpp
+++ b/gfx/vr/gfxVROpenVR.cpp
@@ -419,17 +419,17 @@ VRDisplayOpenVR::NotifyVSync()
// Make sure we respond to OpenVR events even when not presenting
PollEvents();
}
VRControllerOpenVR::VRControllerOpenVR()
: VRControllerHost(VRDeviceType::OpenVR)
{
MOZ_COUNT_CTOR_INHERITED(VRControllerOpenVR, VRControllerHost);
- mControllerInfo.mControllerName.AssignLiteral("OpenVR Controller");
+ mControllerInfo.mControllerName.AssignLiteral("OpenVR Gamepad");
mControllerInfo.mMappingType = GamepadMappingType::_empty;
mControllerInfo.mHand = GamepadHand::_empty;
mControllerInfo.mNumButtons = gNumOpenVRButtonMask;
mControllerInfo.mNumAxes = gNumOpenVRAxis;
}
VRControllerOpenVR::~VRControllerOpenVR()
{