Invert the Y-axis on thumbsticks and trackpads in WebXR

(cherry picked from commit 7a0d4275a2)
This commit is contained in:
David Snopek 2021-01-08 09:23:05 -06:00 committed by Rémi Verschelde
parent 3873a1331b
commit bd0f5f50b2
No known key found for this signature in database
GPG Key ID: C3336907360768E1

View File

@ -602,7 +602,13 @@ const GodotWebXR = {
const buf = GodotRuntime.malloc((axes_count + 1) * 4);
GodotRuntime.setHeapValue(buf, axes_count, 'i32');
for (let i = 0; i < axes_count; i++) {
GodotRuntime.setHeapValue(buf + 4 + (i * 4), controller.gamepad.axes[i], 'float');
let value = controller.gamepad.axes[i];
if (i === 1 || i === 3) {
// Invert the Y-axis on thumbsticks and trackpads, in order to
// match OpenXR and other XR platform SDKs.
value *= -1.0;
}
GodotRuntime.setHeapValue(buf + 4 + (i * 4), value, 'float');
}
return buf;
},