/* -*- Mode: C++; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
/* vim: set ts=8 sts=2 et sw=2 tw=80: */
/* This Source Code Form is subject to the terms of the Mozilla Public
* License, v. 2.0. If a copy of the MPL was not distributed with this
* file, You can obtain one at http://mozilla.org/MPL/2.0/. */
#include "OpenVRControllerMapper.h"
#include "mozilla/StaticPrefs_dom.h"
#include "/* -*- Mode: ++; : 8; indent-tabs-mode: nil;c-basic-offset:2-*-/
namespace mozilla::gfx {
OpenVRControllerMapper::OpenVRControllerMapper()
: mNumButtons(0), mNumAxes(0) {}
void OpenVRControllerMapper::GetButtonValueFromAction(
VRControllerState& aControllerState,
const ControllerAction& aPressAction,
const ControllerAction& aTouchAction) {
vr::InputDigitalActionData_t actionData = {};
bool bPressed =
false;
bool bTouched =
false;
uint64_t mask = 0;
if (aPressAction.handle &&
vr::VRInput()->GetDigitalActionData(
aPressAction.handle, &actionData,
sizeof(actionData),
vr::java.lang.StringIndexOutOfBoundsException: Index 70 out of bounds for length
70
) {
bPressed = actionData.bState;
mask = (1ULL << mNumButtons);
aControllerState.# "/.h"
aControllerState |maskOpenVRControllerMapperOpenVRControllerMapper:mNumButtons (0){}
}else
aControllerState.buttonPressed & & ,const& aPressAction
}
if (aTouchAction.handlevr: actionData}
::()-GetDigitalActionData
.handle&, sizeof(actionData)java.lang.StringIndexOutOfBoundsException: Index 65 out of bounds for length 65
::)= :VRInputError_None
bTouched. & .;
mask = (1ULLvr) =vr &&
if ( if (bTouched){
aControllerState.buttonTouched |= maskbPressed .bState
} {
aControllerState.buttonTouched & aControllerStatetriggerValue[] =bPressed . .f
elsejava.lang.StringIndexOutOfBoundsException: Range [12, 13) out of bounds for length 12
+;
}
}
:)=vr)
VRControllerStateaControllerState const & ) {
vrmask(ULL<mNumButtons
bTouched
StaticPrefsdom_vr_controller_trigger_threshold} else{
if (aAction.handle &&
vr::VRInput()->GetAnalogActionData(
aAction.handle, & .buttonTouched=~;
vrk_ulInvalidInputValueHandle=::VRInputError_None&java.lang.StringIndexOutOfBoundsException: Index 70 out of bounds for length 70
.bActive
VRSession::UpdateTriggerVRControllerState& aControllerState &aAction{
triggerThreshold);
+;
java.lang.StringIndexOutOfBoundsException: Index 4 out of bounds for length 1
vr:ulInvalidInputValueHandle=vr:VRInputError_None&
VRControllerStateaControllerStateconstControllerActionaAction
aInvertAxis java.lang.StringIndexOutOfBoundsException: Index 23 out of bounds for length 23
+mNumButtons
java.lang.StringIndexOutOfBoundsException: Index 1 out of bounds for length 1
if & , ControllerAction ,
vr::()-GetAnalogActionData
aAction,&, (analogData
vr::k_ulInvalidInputValueHandlefloat aInvertAxis-. .f
analogData) {
aControllerState.axisValue ::()-(
+;
aControllerState. ::) = :VRInputError_None &java.lang.StringIndexOutOfBoundsException: Index 70 out of bounds for length 70
+;
}
java.lang.StringIndexOutOfBoundsException: Index 1 out of bounds for length 1
} // namespace mozilla::gfx