Commit c9349817 authored by Bill Orr's avatar Bill Orr Committed by Commit Bot

Fix defacto mapping for OpenVR controllers

A recent change accidentally modified the mapping of OpenVR
contoller state to Gamepad buttons/axes.  This change moves back
to the original behavior.

Cq-Include-Trybots: luci.chromium.try:win_optional_gpu_tests_rel
Change-Id: Ifa821ef1610e04be42cd8a6c352d4dc93c006cfa
Reviewed-on: https://chromium-review.googlesource.com/1171663
Commit-Queue: Bill Orr <billorr@chromium.org>
Reviewed-by: default avatarBrandon Jones <bajones@chromium.org>
Cr-Commit-Position: refs/heads/master@{#582455}
parent ac410622
...@@ -93,15 +93,15 @@ mojom::XRGamepadDataPtr OpenVRGamepadHelper::GetGamepadData( ...@@ -93,15 +93,15 @@ mojom::XRGamepadDataPtr OpenVRGamepadHelper::GetGamepadData(
} }
} break; } break;
case vr::k_eControllerAxis_Trigger: { case vr::k_eControllerAxis_Trigger: {
gamepad->axes.push_back(controller_state.rAxis[j].x); auto button = mojom::XRGamepadButton::New();
button->value = controller_state.rAxis[j].x;
uint64_t button_mask = vr::ButtonMaskFromId( uint64_t button_mask = vr::ButtonMaskFromId(
static_cast<vr::EVRButtonId>(vr::k_EButton_Axis0 + j)); static_cast<vr::EVRButtonId>(vr::k_EButton_Axis0 + j));
if ((supported_buttons & button_mask) != 0) { if ((supported_buttons & button_mask) != 0) {
auto button = mojom::XRGamepadButton::New();
button->pressed = button->pressed =
(controller_state.ulButtonPressed & button_mask) != 0; (controller_state.ulButtonPressed & button_mask) != 0;
gamepad->buttons.push_back(std::move(button));
} }
gamepad->buttons.push_back(std::move(button));
} break; } break;
} }
} }
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment