iwer 0.0.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/build/iwer.js +4628 -0
- package/build/iwer.min.js +1 -0
- package/build/iwer.module.js +4591 -0
- package/build/iwer.module.min.js +1 -0
- package/lib/action/ActionPlayer.d.ts +75 -0
- package/lib/action/ActionPlayer.d.ts.map +1 -0
- package/lib/action/ActionPlayer.js +206 -0
- package/lib/action/ActionPlayer.js.map +1 -0
- package/lib/action/ActionRecorder.d.ts +59 -0
- package/lib/action/ActionRecorder.d.ts.map +1 -0
- package/lib/action/ActionRecorder.js +162 -0
- package/lib/action/ActionRecorder.js.map +1 -0
- package/lib/action/Capture.d.ts +3 -0
- package/lib/action/Capture.d.ts.map +1 -0
- package/lib/action/Capture.js +26907 -0
- package/lib/action/Capture.js.map +1 -0
- package/lib/device/XRController.d.ts +24 -0
- package/lib/device/XRController.d.ts.map +1 -0
- package/lib/device/XRController.js +82 -0
- package/lib/device/XRController.js.map +1 -0
- package/lib/device/XRDevice.d.ts +142 -0
- package/lib/device/XRDevice.d.ts.map +1 -0
- package/lib/device/XRDevice.js +370 -0
- package/lib/device/XRDevice.js.map +1 -0
- package/lib/device/XRHandInput.d.ts +44 -0
- package/lib/device/XRHandInput.d.ts.map +1 -0
- package/lib/device/XRHandInput.js +133 -0
- package/lib/device/XRHandInput.js.map +1 -0
- package/lib/device/XRTrackedInput.d.ts +22 -0
- package/lib/device/XRTrackedInput.d.ts.map +1 -0
- package/lib/device/XRTrackedInput.js +89 -0
- package/lib/device/XRTrackedInput.js.map +1 -0
- package/lib/device/configs/controller/meta.d.ts +6 -0
- package/lib/device/configs/controller/meta.d.ts.map +1 -0
- package/lib/device/configs/controller/meta.js +152 -0
- package/lib/device/configs/controller/meta.js.map +1 -0
- package/lib/device/configs/hand/pinch.d.ts +3 -0
- package/lib/device/configs/hand/pinch.d.ts.map +1 -0
- package/lib/device/configs/hand/pinch.js +237 -0
- package/lib/device/configs/hand/pinch.js.map +1 -0
- package/lib/device/configs/hand/point.d.ts +3 -0
- package/lib/device/configs/hand/point.d.ts.map +1 -0
- package/lib/device/configs/hand/point.js +236 -0
- package/lib/device/configs/hand/point.js.map +1 -0
- package/lib/device/configs/hand/relaxed.d.ts +3 -0
- package/lib/device/configs/hand/relaxed.d.ts.map +1 -0
- package/lib/device/configs/hand/relaxed.js +236 -0
- package/lib/device/configs/hand/relaxed.js.map +1 -0
- package/lib/device/configs/headset/meta.d.ts +6 -0
- package/lib/device/configs/headset/meta.d.ts.map +1 -0
- package/lib/device/configs/headset/meta.js +99 -0
- package/lib/device/configs/headset/meta.js.map +1 -0
- package/lib/device/controllers.d.ts +31 -0
- package/lib/device/controllers.d.ts.map +1 -0
- package/lib/device/controllers.js +8 -0
- package/lib/device/controllers.js.map +1 -0
- package/lib/events/XRInputSourceEvent.d.ts +16 -0
- package/lib/events/XRInputSourceEvent.d.ts.map +1 -0
- package/lib/events/XRInputSourceEvent.js +14 -0
- package/lib/events/XRInputSourceEvent.js.map +1 -0
- package/lib/events/XRInputSourcesChangeEvent.d.ts +18 -0
- package/lib/events/XRInputSourcesChangeEvent.d.ts.map +1 -0
- package/lib/events/XRInputSourcesChangeEvent.js +18 -0
- package/lib/events/XRInputSourcesChangeEvent.js.map +1 -0
- package/lib/events/XRReferenceSpaceEvent.d.ts +16 -0
- package/lib/events/XRReferenceSpaceEvent.d.ts.map +1 -0
- package/lib/events/XRReferenceSpaceEvent.js +11 -0
- package/lib/events/XRReferenceSpaceEvent.js.map +1 -0
- package/lib/events/XRSessionEvent.d.ts +13 -0
- package/lib/events/XRSessionEvent.d.ts.map +1 -0
- package/lib/events/XRSessionEvent.js +10 -0
- package/lib/events/XRSessionEvent.js.map +1 -0
- package/lib/frameloop/XRFrame.d.ts +28 -0
- package/lib/frameloop/XRFrame.d.ts.map +1 -0
- package/lib/frameloop/XRFrame.js +117 -0
- package/lib/frameloop/XRFrame.js.map +1 -0
- package/lib/gamepad/Gamepad.d.ts +72 -0
- package/lib/gamepad/Gamepad.d.ts.map +1 -0
- package/lib/gamepad/Gamepad.js +126 -0
- package/lib/gamepad/Gamepad.js.map +1 -0
- package/lib/index.d.ts +24 -0
- package/lib/index.d.ts.map +1 -0
- package/lib/index.js +36 -0
- package/lib/index.js.map +1 -0
- package/lib/initialization/XRSystem.d.ts +13 -0
- package/lib/initialization/XRSystem.d.ts.map +1 -0
- package/lib/initialization/XRSystem.js +65 -0
- package/lib/initialization/XRSystem.js.map +1 -0
- package/lib/input/XRHand.d.ts +31 -0
- package/lib/input/XRHand.d.ts.map +1 -0
- package/lib/input/XRHand.js +31 -0
- package/lib/input/XRHand.js.map +1 -0
- package/lib/input/XRInputSource.d.ts +37 -0
- package/lib/input/XRInputSource.d.ts.map +1 -0
- package/lib/input/XRInputSource.js +51 -0
- package/lib/input/XRInputSource.js.map +1 -0
- package/lib/input/XRInputSourceArray.d.ts +11 -0
- package/lib/input/XRInputSourceArray.d.ts.map +1 -0
- package/lib/input/XRInputSourceArray.js +17 -0
- package/lib/input/XRInputSourceArray.js.map +1 -0
- package/lib/layers/XRWebGLLayer.d.ts +31 -0
- package/lib/layers/XRWebGLLayer.d.ts.map +1 -0
- package/lib/layers/XRWebGLLayer.js +67 -0
- package/lib/layers/XRWebGLLayer.js.map +1 -0
- package/lib/pose/XRJointPose.d.ts +11 -0
- package/lib/pose/XRJointPose.d.ts.map +1 -0
- package/lib/pose/XRJointPose.js +12 -0
- package/lib/pose/XRJointPose.js.map +1 -0
- package/lib/pose/XRPose.d.ts +16 -0
- package/lib/pose/XRPose.d.ts.map +1 -0
- package/lib/pose/XRPose.js +24 -0
- package/lib/pose/XRPose.js.map +1 -0
- package/lib/pose/XRViewerPose.d.ts +12 -0
- package/lib/pose/XRViewerPose.d.ts.map +1 -0
- package/lib/pose/XRViewerPose.js +14 -0
- package/lib/pose/XRViewerPose.js.map +1 -0
- package/lib/primitives/XRRigidTransform.d.ts +17 -0
- package/lib/primitives/XRRigidTransform.d.ts.map +1 -0
- package/lib/primitives/XRRigidTransform.js +54 -0
- package/lib/primitives/XRRigidTransform.js.map +1 -0
- package/lib/session/XRRenderState.d.ts +22 -0
- package/lib/session/XRRenderState.d.ts.map +1 -0
- package/lib/session/XRRenderState.js +26 -0
- package/lib/session/XRRenderState.js.map +1 -0
- package/lib/session/XRSession.d.ts +103 -0
- package/lib/session/XRSession.d.ts.map +1 -0
- package/lib/session/XRSession.js +459 -0
- package/lib/session/XRSession.js.map +1 -0
- package/lib/spaces/XRJointSpace.d.ts +13 -0
- package/lib/spaces/XRJointSpace.d.ts.map +1 -0
- package/lib/spaces/XRJointSpace.js +12 -0
- package/lib/spaces/XRJointSpace.js.map +1 -0
- package/lib/spaces/XRReferenceSpace.d.ts +22 -0
- package/lib/spaces/XRReferenceSpace.d.ts.map +1 -0
- package/lib/spaces/XRReferenceSpace.js +42 -0
- package/lib/spaces/XRReferenceSpace.js.map +1 -0
- package/lib/spaces/XRSpace.d.ts +20 -0
- package/lib/spaces/XRSpace.d.ts.map +1 -0
- package/lib/spaces/XRSpace.js +45 -0
- package/lib/spaces/XRSpace.js.map +1 -0
- package/lib/utils/DOMPointReadOnly.d.ts +17 -0
- package/lib/utils/DOMPointReadOnly.d.ts.map +1 -0
- package/lib/utils/DOMPointReadOnly.js +26 -0
- package/lib/utils/DOMPointReadOnly.js.map +1 -0
- package/lib/utils/Math.d.ts +49 -0
- package/lib/utils/Math.d.ts.map +1 -0
- package/lib/utils/Math.js +129 -0
- package/lib/utils/Math.js.map +1 -0
- package/lib/version.d.ts +2 -0
- package/lib/version.d.ts.map +1 -0
- package/lib/version.js +2 -0
- package/lib/version.js.map +1 -0
- package/lib/views/XRView.d.ts +25 -0
- package/lib/views/XRView.d.ts.map +1 -0
- package/lib/views/XRView.js +39 -0
- package/lib/views/XRView.js.map +1 -0
- package/lib/views/XRViewport.d.ts +15 -0
- package/lib/views/XRViewport.d.ts.map +1 -0
- package/lib/views/XRViewport.js +19 -0
- package/lib/views/XRViewport.js.map +1 -0
- package/package.json +63 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"XRDevice.js","sourceRoot":"","sources":["../../src/device/XRDevice.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
import { GlobalSpace } from '../spaces/XRSpace';
|
|
2
|
+
import { XRHandJoint } from '../input/XRHand';
|
|
3
|
+
import { XRHandedness } from '../input/XRInputSource';
|
|
4
|
+
import { XRTrackedInput } from './XRTrackedInput';
|
|
5
|
+
import { mat4 } from 'gl-matrix';
|
|
6
|
+
import { XRFrame } from '../frameloop/XRFrame';
|
|
7
|
+
export interface HandPose {
|
|
8
|
+
jointTransforms: {
|
|
9
|
+
[joint in XRHandJoint]: {
|
|
10
|
+
offsetMatrix: mat4;
|
|
11
|
+
radius: number;
|
|
12
|
+
};
|
|
13
|
+
};
|
|
14
|
+
gripOffsetMatrix?: mat4;
|
|
15
|
+
}
|
|
16
|
+
export interface XRHandInputConfig {
|
|
17
|
+
profileId: string;
|
|
18
|
+
fallbackProfileIds: string[];
|
|
19
|
+
poses: {
|
|
20
|
+
default: HandPose;
|
|
21
|
+
pinch: HandPose;
|
|
22
|
+
[poseId: string]: HandPose;
|
|
23
|
+
};
|
|
24
|
+
}
|
|
25
|
+
export declare const oculusHandConfig: XRHandInputConfig;
|
|
26
|
+
export declare const PRIVATE: unique symbol;
|
|
27
|
+
export declare class XRHandInput extends XRTrackedInput {
|
|
28
|
+
[PRIVATE]: {
|
|
29
|
+
poseId: string;
|
|
30
|
+
poses: {
|
|
31
|
+
default: HandPose;
|
|
32
|
+
pinch: HandPose;
|
|
33
|
+
[poseId: string]: HandPose;
|
|
34
|
+
};
|
|
35
|
+
};
|
|
36
|
+
constructor(handInputConfig: XRHandInputConfig, handedness: XRHandedness, globalSpace: GlobalSpace);
|
|
37
|
+
get poseId(): string;
|
|
38
|
+
set poseId(poseId: string);
|
|
39
|
+
updateHandPose(): void;
|
|
40
|
+
get pinchValue(): number;
|
|
41
|
+
updatePinchValue(value: number): void;
|
|
42
|
+
onFrameStart(frame: XRFrame): void;
|
|
43
|
+
}
|
|
44
|
+
//# sourceMappingURL=XRHandInput.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"XRHandInput.d.ts","sourceRoot":"","sources":["../../src/device/XRHandInput.ts"],"names":[],"mappings":"AAMA,OAAO,EACN,WAAW,EAGX,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EAAU,WAAW,EAAE,MAAM,iBAAiB,CAAC;AACtD,OAAO,EACN,YAAY,EAGZ,MAAM,wBAAwB,CAAC;AAKhC,OAAO,EAEN,cAAc,EACd,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EAAE,IAAI,EAAc,MAAM,WAAW,CAAC;AAE7C,OAAO,EAAE,OAAO,EAAE,MAAM,sBAAsB,CAAC;AAK/C,MAAM,WAAW,QAAQ;IACxB,eAAe,EAAE;SACf,KAAK,IAAI,WAAW,GAAG;YACvB,YAAY,EAAE,IAAI,CAAC;YACnB,MAAM,EAAE,MAAM,CAAC;SACf;KACD,CAAC;IACF,gBAAgB,CAAC,EAAE,IAAI,CAAC;CACxB;AAED,MAAM,WAAW,iBAAiB;IACjC,SAAS,EAAE,MAAM,CAAC;IAClB,kBAAkB,EAAE,MAAM,EAAE,CAAC;IAE7B,KAAK,EAAE;QACN,OAAO,EAAE,QAAQ,CAAC;QAClB,KAAK,EAAE,QAAQ,CAAC;QAEhB,CAAC,MAAM,EAAE,MAAM,GAAG,QAAQ,CAAC;KAC3B,CAAC;CACF;AAED,eAAO,MAAM,gBAAgB,EAAE,iBAY9B,CAAC;AAkDF,eAAO,MAAM,OAAO,eAA2D,CAAC;AAEhF,qBAAa,WAAY,SAAQ,cAAc;IAC9C,CAAC,OAAO,CAAC,EAAE;QACV,MAAM,EAAE,MAAM,CAAC;QACf,KAAK,EAAE;YACN,OAAO,EAAE,QAAQ,CAAC;YAClB,KAAK,EAAE,QAAQ,CAAC;YAEhB,CAAC,MAAM,EAAE,MAAM,GAAG,QAAQ,CAAC;SAC3B,CAAC;KACF,CAAC;gBAGD,eAAe,EAAE,iBAAiB,EAClC,UAAU,EAAE,YAAY,EACxB,WAAW,EAAE,WAAW;IA4CzB,IAAI,MAAM,IAIS,MAAM,CAFxB;IAED,IAAI,MAAM,CAAC,MAAM,EAAE,MAAM,EAMxB;IAED,cAAc;IAgCd,IAAI,UAAU,WAGb;IAED,gBAAgB,CAAC,KAAK,EAAE,MAAM;IAW9B,YAAY,CAAC,KAAK,EAAE,OAAO,GAAG,IAAI;CAIlC"}
|
|
@@ -0,0 +1,133 @@
|
|
|
1
|
+
import { PRIVATE as GAMEPAD_PRIVATE, Gamepad, GamepadMappingType, } from '../gamepad/Gamepad';
|
|
2
|
+
import { PRIVATE as XRSPACE_PRIVATE, XRSpace, } from '../spaces/XRSpace';
|
|
3
|
+
import { XRHand, XRHandJoint } from '../input/XRHand';
|
|
4
|
+
import { XRHandedness, XRInputSource, XRTargetRayMode, } from '../input/XRInputSource';
|
|
5
|
+
import { PRIVATE as XRJOINTSPACE_PRIVATE, XRJointSpace, } from '../spaces/XRJointSpace';
|
|
6
|
+
import { PRIVATE as XRTRACKEDINPUT_PRIVATE, XRTrackedInput, } from './XRTrackedInput';
|
|
7
|
+
import { mat4, quat, vec3 } from 'gl-matrix';
|
|
8
|
+
import { pinchHandPose } from './configs/hand/pinch';
|
|
9
|
+
import { pointHandPose } from './configs/hand/point';
|
|
10
|
+
import { relaxedHandPose } from './configs/hand/relaxed';
|
|
11
|
+
export const oculusHandConfig = {
|
|
12
|
+
profileId: 'oculus-hand',
|
|
13
|
+
fallbackProfileIds: [
|
|
14
|
+
'generic-hand',
|
|
15
|
+
'generic-hand-select',
|
|
16
|
+
'generic-trigger',
|
|
17
|
+
],
|
|
18
|
+
poses: {
|
|
19
|
+
default: relaxedHandPose,
|
|
20
|
+
pinch: pinchHandPose,
|
|
21
|
+
point: pointHandPose,
|
|
22
|
+
},
|
|
23
|
+
};
|
|
24
|
+
const XRHandGamepadConfig = {
|
|
25
|
+
mapping: GamepadMappingType.None,
|
|
26
|
+
buttons: [{ id: 'pinch', type: 'analog', eventTrigger: 'select' }],
|
|
27
|
+
axes: [],
|
|
28
|
+
};
|
|
29
|
+
const fromPosition = vec3.create();
|
|
30
|
+
const fromQuaternion = quat.create();
|
|
31
|
+
const fromScale = vec3.create();
|
|
32
|
+
const toPosition = vec3.create();
|
|
33
|
+
const toQuaternion = quat.create();
|
|
34
|
+
const toScale = vec3.create();
|
|
35
|
+
const interpolatedPosition = vec3.create();
|
|
36
|
+
const interpolatedQuaternion = quat.create();
|
|
37
|
+
const interpolatedScale = vec3.create();
|
|
38
|
+
const interpolateMatrix = (out, fromMatrix, toMatrix, alpha) => {
|
|
39
|
+
mat4.getTranslation(fromPosition, fromMatrix);
|
|
40
|
+
mat4.getRotation(fromQuaternion, fromMatrix);
|
|
41
|
+
mat4.getScaling(fromScale, fromMatrix);
|
|
42
|
+
mat4.getTranslation(toPosition, toMatrix);
|
|
43
|
+
mat4.getRotation(toQuaternion, toMatrix);
|
|
44
|
+
mat4.getScaling(toScale, toMatrix);
|
|
45
|
+
vec3.lerp(interpolatedPosition, fromPosition, toPosition, alpha);
|
|
46
|
+
quat.slerp(interpolatedQuaternion, fromQuaternion, toQuaternion, alpha);
|
|
47
|
+
vec3.lerp(interpolatedScale, fromScale, toScale, alpha);
|
|
48
|
+
mat4.fromRotationTranslationScale(out, interpolatedQuaternion, interpolatedPosition, interpolatedScale);
|
|
49
|
+
return out;
|
|
50
|
+
};
|
|
51
|
+
const mirrorMultiplierMatrix = [
|
|
52
|
+
1, -1, -1, 0, -1, 1, 1, 0, -1, 1, 1, 0, -1, 1, 1, 1,
|
|
53
|
+
];
|
|
54
|
+
const mirrorMatrixToRight = (matrixLeft) => {
|
|
55
|
+
for (let i = 0; i < 16; i++) {
|
|
56
|
+
matrixLeft[i] *= mirrorMultiplierMatrix[i];
|
|
57
|
+
}
|
|
58
|
+
};
|
|
59
|
+
export const PRIVATE = Symbol('@immersive-web-emulation-runtime/xr-hand-input');
|
|
60
|
+
export class XRHandInput extends XRTrackedInput {
|
|
61
|
+
constructor(handInputConfig, handedness, globalSpace) {
|
|
62
|
+
if (handedness !== XRHandedness.Left && handedness !== XRHandedness.Right) {
|
|
63
|
+
throw new DOMException('handedness for XRHandInput must be either "left" or "right"', 'InvalidStateError');
|
|
64
|
+
}
|
|
65
|
+
if (!handInputConfig.poses.default || !handInputConfig.poses.pinch) {
|
|
66
|
+
throw new DOMException('"default" and "pinch" hand pose configs are required', 'InvalidStateError');
|
|
67
|
+
}
|
|
68
|
+
const targetRaySpace = new XRSpace(globalSpace);
|
|
69
|
+
const gripSpace = new XRSpace(targetRaySpace);
|
|
70
|
+
const profiles = [
|
|
71
|
+
handInputConfig.profileId,
|
|
72
|
+
...handInputConfig.fallbackProfileIds,
|
|
73
|
+
];
|
|
74
|
+
const hand = new XRHand();
|
|
75
|
+
Object.values(XRHandJoint).forEach((jointName) => {
|
|
76
|
+
hand.set(jointName, new XRJointSpace(jointName, targetRaySpace));
|
|
77
|
+
});
|
|
78
|
+
const inputSource = new XRInputSource(handedness, XRTargetRayMode.TrackedPointer, profiles, targetRaySpace, new Gamepad(XRHandGamepadConfig), gripSpace, hand);
|
|
79
|
+
super(inputSource);
|
|
80
|
+
this[PRIVATE] = {
|
|
81
|
+
poseId: 'default',
|
|
82
|
+
poses: handInputConfig.poses,
|
|
83
|
+
};
|
|
84
|
+
this.updateHandPose();
|
|
85
|
+
}
|
|
86
|
+
get poseId() {
|
|
87
|
+
return this[PRIVATE].poseId;
|
|
88
|
+
}
|
|
89
|
+
set poseId(poseId) {
|
|
90
|
+
if (!this[PRIVATE].poses[poseId]) {
|
|
91
|
+
console.warn(`Pose config ${poseId} not found`);
|
|
92
|
+
return;
|
|
93
|
+
}
|
|
94
|
+
this[PRIVATE].poseId = poseId;
|
|
95
|
+
}
|
|
96
|
+
updateHandPose() {
|
|
97
|
+
const targetPose = this[PRIVATE].poses[this[PRIVATE].poseId];
|
|
98
|
+
const pinchPose = this[PRIVATE].poses.pinch;
|
|
99
|
+
Object.values(XRHandJoint).forEach((jointName) => {
|
|
100
|
+
const targetJointMatrix = targetPose.jointTransforms[jointName].offsetMatrix;
|
|
101
|
+
const pinchJointMatrix = pinchPose.jointTransforms[jointName].offsetMatrix;
|
|
102
|
+
const jointSpace = this.inputSource.hand.get(jointName);
|
|
103
|
+
interpolateMatrix(jointSpace[XRSPACE_PRIVATE].offsetMatrix, targetJointMatrix, pinchJointMatrix, this.pinchValue);
|
|
104
|
+
if (this.inputSource.handedness === XRHandedness.Right) {
|
|
105
|
+
mirrorMatrixToRight(jointSpace[XRSPACE_PRIVATE].offsetMatrix);
|
|
106
|
+
}
|
|
107
|
+
jointSpace[XRJOINTSPACE_PRIVATE].radius =
|
|
108
|
+
(1 - this.pinchValue) * targetPose.jointTransforms[jointName].radius +
|
|
109
|
+
this.pinchValue * pinchPose.jointTransforms[jointName].radius;
|
|
110
|
+
});
|
|
111
|
+
if (targetPose.gripOffsetMatrix && pinchPose.gripOffsetMatrix) {
|
|
112
|
+
interpolateMatrix(this.inputSource.gripSpace[XRSPACE_PRIVATE].offsetMatrix, targetPose.gripOffsetMatrix, pinchPose.gripOffsetMatrix, this.pinchValue);
|
|
113
|
+
}
|
|
114
|
+
}
|
|
115
|
+
get pinchValue() {
|
|
116
|
+
return this[XRTRACKEDINPUT_PRIVATE].inputSource.gamepad[GAMEPAD_PRIVATE]
|
|
117
|
+
.buttonsMap['pinch'].value;
|
|
118
|
+
}
|
|
119
|
+
updatePinchValue(value) {
|
|
120
|
+
if (value > 1 || value < 0) {
|
|
121
|
+
console.warn(`Out-of-range value ${value} provided for pinch`);
|
|
122
|
+
return;
|
|
123
|
+
}
|
|
124
|
+
const gamepadButton = this[XRTRACKEDINPUT_PRIVATE].inputSource.gamepad[GAMEPAD_PRIVATE]
|
|
125
|
+
.buttonsMap['pinch'];
|
|
126
|
+
gamepadButton[GAMEPAD_PRIVATE].pendingValue = value;
|
|
127
|
+
}
|
|
128
|
+
onFrameStart(frame) {
|
|
129
|
+
super.onFrameStart(frame);
|
|
130
|
+
this.updateHandPose();
|
|
131
|
+
}
|
|
132
|
+
}
|
|
133
|
+
//# sourceMappingURL=XRHandInput.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"XRHandInput.js","sourceRoot":"","sources":["../../src/device/XRHandInput.ts"],"names":[],"mappings":"AAAA,OAAO,EACN,OAAO,IAAI,eAAe,EAC1B,OAAO,EAEP,kBAAkB,GAClB,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EAEN,OAAO,IAAI,eAAe,EAC1B,OAAO,GACP,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AACtD,OAAO,EACN,YAAY,EACZ,aAAa,EACb,eAAe,GACf,MAAM,wBAAwB,CAAC;AAChC,OAAO,EACN,OAAO,IAAI,oBAAoB,EAC/B,YAAY,GACZ,MAAM,wBAAwB,CAAC;AAChC,OAAO,EACN,OAAO,IAAI,sBAAsB,EACjC,cAAc,GACd,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAG7C,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AACrD,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AACrD,OAAO,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AAwBzD,MAAM,CAAC,MAAM,gBAAgB,GAAsB;IAClD,SAAS,EAAE,aAAa;IACxB,kBAAkB,EAAE;QACnB,cAAc;QACd,qBAAqB;QACrB,iBAAiB;KACjB;IACD,KAAK,EAAE;QACN,OAAO,EAAE,eAAe;QACxB,KAAK,EAAE,aAAa;QACpB,KAAK,EAAE,aAAa;KACpB;CACD,CAAC;AAEF,MAAM,mBAAmB,GAAkB;IAC1C,OAAO,EAAE,kBAAkB,CAAC,IAAI;IAChC,OAAO,EAAE,CAAC,EAAE,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,YAAY,EAAE,QAAQ,EAAE,CAAC;IAClE,IAAI,EAAE,EAAE;CACR,CAAC;AAEF,MAAM,YAAY,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC;AACnC,MAAM,cAAc,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC;AACrC,MAAM,SAAS,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC;AAChC,MAAM,UAAU,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC;AACjC,MAAM,YAAY,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC;AACnC,MAAM,OAAO,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC;AAC9B,MAAM,oBAAoB,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC;AAC3C,MAAM,sBAAsB,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC;AAC7C,MAAM,iBAAiB,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC;AACxC,MAAM,iBAAiB,GAAG,CACzB,GAAS,EACT,UAAgB,EAChB,QAAc,EACd,KAAa,EACZ,EAAE;IACH,IAAI,CAAC,cAAc,CAAC,YAAY,EAAE,UAAU,CAAC,CAAC;IAC9C,IAAI,CAAC,WAAW,CAAC,cAAc,EAAE,UAAU,CAAC,CAAC;IAC7C,IAAI,CAAC,UAAU,CAAC,SAAS,EAAE,UAAU,CAAC,CAAC;IACvC,IAAI,CAAC,cAAc,CAAC,UAAU,EAAE,QAAQ,CAAC,CAAC;IAC1C,IAAI,CAAC,WAAW,CAAC,YAAY,EAAE,QAAQ,CAAC,CAAC;IACzC,IAAI,CAAC,UAAU,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;IACnC,IAAI,CAAC,IAAI,CAAC,oBAAoB,EAAE,YAAY,EAAE,UAAU,EAAE,KAAK,CAAC,CAAC;IACjE,IAAI,CAAC,KAAK,CAAC,sBAAsB,EAAE,cAAc,EAAE,YAAY,EAAE,KAAK,CAAC,CAAC;IACxE,IAAI,CAAC,IAAI,CAAC,iBAAiB,EAAE,SAAS,EAAE,OAAO,EAAE,KAAK,CAAC,CAAC;IACxD,IAAI,CAAC,4BAA4B,CAChC,GAAG,EACH,sBAAsB,EACtB,oBAAoB,EACpB,iBAAiB,CACjB,CAAC;IACF,OAAO,GAAG,CAAC;AACZ,CAAC,CAAC;AAEF,MAAM,sBAAsB,GAAG;IAC9B,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC;CACnD,CAAC;AACF,MAAM,mBAAmB,GAAG,CAAC,UAAgB,EAAE,EAAE;IAChD,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,EAAE,EAAE;QAC5B,UAAU,CAAC,CAAC,CAAC,IAAI,sBAAsB,CAAC,CAAC,CAAC,CAAC;KAC3C;AACF,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,OAAO,GAAG,MAAM,CAAC,gDAAgD,CAAC,CAAC;AAEhF,MAAM,OAAO,WAAY,SAAQ,cAAc;IAW9C,YACC,eAAkC,EAClC,UAAwB,EACxB,WAAwB;QAExB,IAAI,UAAU,KAAK,YAAY,CAAC,IAAI,IAAI,UAAU,KAAK,YAAY,CAAC,KAAK,EAAE;YAC1E,MAAM,IAAI,YAAY,CACrB,6DAA6D,EAC7D,mBAAmB,CACnB,CAAC;SACF;QACD,IAAI,CAAC,eAAe,CAAC,KAAK,CAAC,OAAO,IAAI,CAAC,eAAe,CAAC,KAAK,CAAC,KAAK,EAAE;YACnE,MAAM,IAAI,YAAY,CACrB,sDAAsD,EACtD,mBAAmB,CACnB,CAAC;SACF;QAED,MAAM,cAAc,GAAG,IAAI,OAAO,CAAC,WAAW,CAAC,CAAC;QAChD,MAAM,SAAS,GAAG,IAAI,OAAO,CAAC,cAAc,CAAC,CAAC;QAC9C,MAAM,QAAQ,GAAG;YAChB,eAAe,CAAC,SAAS;YACzB,GAAG,eAAe,CAAC,kBAAkB;SACrC,CAAC;QACF,MAAM,IAAI,GAAG,IAAI,MAAM,EAAE,CAAC;QAC1B,MAAM,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC,OAAO,CAAC,CAAC,SAAS,EAAE,EAAE;YAChD,IAAI,CAAC,GAAG,CAAC,SAAS,EAAE,IAAI,YAAY,CAAC,SAAS,EAAE,cAAc,CAAC,CAAC,CAAC;QAClE,CAAC,CAAC,CAAC;QACH,MAAM,WAAW,GAAG,IAAI,aAAa,CACpC,UAAU,EACV,eAAe,CAAC,cAAc,EAC9B,QAAQ,EACR,cAAc,EACd,IAAI,OAAO,CAAC,mBAAmB,CAAC,EAChC,SAAS,EACT,IAAI,CACJ,CAAC;QAEF,KAAK,CAAC,WAAW,CAAC,CAAC;QACnB,IAAI,CAAC,OAAO,CAAC,GAAG;YACf,MAAM,EAAE,SAAS;YACjB,KAAK,EAAE,eAAe,CAAC,KAAK;SAC5B,CAAC;QAEF,IAAI,CAAC,cAAc,EAAE,CAAC;IACvB,CAAC;IAED,IAAI,MAAM;QACT,OAAO,IAAI,CAAC,OAAO,CAAC,CAAC,MAAM,CAAC;IAC7B,CAAC;IAED,IAAI,MAAM,CAAC,MAAc;QACxB,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,EAAE;YACjC,OAAO,CAAC,IAAI,CAAC,eAAe,MAAM,YAAY,CAAC,CAAC;YAChD,OAAO;SACP;QACD,IAAI,CAAC,OAAO,CAAC,CAAC,MAAM,GAAG,MAAM,CAAC;IAC/B,CAAC;IAED,cAAc;QACb,MAAM,UAAU,GAAG,IAAI,CAAC,OAAO,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,MAAM,CAAC,CAAC;QAC7D,MAAM,SAAS,GAAG,IAAI,CAAC,OAAO,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC;QAC5C,MAAM,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC,OAAO,CAAC,CAAC,SAAS,EAAE,EAAE;YAChD,MAAM,iBAAiB,GACtB,UAAU,CAAC,eAAe,CAAC,SAAS,CAAC,CAAC,YAAY,CAAC;YACpD,MAAM,gBAAgB,GACrB,SAAS,CAAC,eAAe,CAAC,SAAS,CAAC,CAAC,YAAY,CAAC;YACnD,MAAM,UAAU,GAAG,IAAI,CAAC,WAAW,CAAC,IAAK,CAAC,GAAG,CAAC,SAAS,CAAE,CAAC;YAC1D,iBAAiB,CAChB,UAAU,CAAC,eAAe,CAAC,CAAC,YAAY,EACxC,iBAAiB,EACjB,gBAAgB,EAChB,IAAI,CAAC,UAAU,CACf,CAAC;YACF,IAAI,IAAI,CAAC,WAAW,CAAC,UAAU,KAAK,YAAY,CAAC,KAAK,EAAE;gBACvD,mBAAmB,CAAC,UAAU,CAAC,eAAe,CAAC,CAAC,YAAY,CAAC,CAAC;aAC9D;YACD,UAAU,CAAC,oBAAoB,CAAC,CAAC,MAAM;gBACtC,CAAC,CAAC,GAAG,IAAI,CAAC,UAAU,CAAC,GAAG,UAAU,CAAC,eAAe,CAAC,SAAS,CAAC,CAAC,MAAM;oBACpE,IAAI,CAAC,UAAU,GAAG,SAAS,CAAC,eAAe,CAAC,SAAS,CAAC,CAAC,MAAM,CAAC;QAChE,CAAC,CAAC,CAAC;QACH,IAAI,UAAU,CAAC,gBAAgB,IAAI,SAAS,CAAC,gBAAgB,EAAE;YAC9D,iBAAiB,CAChB,IAAI,CAAC,WAAW,CAAC,SAAU,CAAC,eAAe,CAAC,CAAC,YAAY,EACzD,UAAU,CAAC,gBAAiB,EAC5B,SAAS,CAAC,gBAAiB,EAC3B,IAAI,CAAC,UAAU,CACf,CAAC;SACF;IACF,CAAC;IAED,IAAI,UAAU;QACb,OAAO,IAAI,CAAC,sBAAsB,CAAC,CAAC,WAAW,CAAC,OAAQ,CAAC,eAAe,CAAC;aACvE,UAAU,CAAC,OAAO,CAAE,CAAC,KAAK,CAAC;IAC9B,CAAC;IAED,gBAAgB,CAAC,KAAa;QAC7B,IAAI,KAAK,GAAG,CAAC,IAAI,KAAK,GAAG,CAAC,EAAE;YAC3B,OAAO,CAAC,IAAI,CAAC,sBAAsB,KAAK,qBAAqB,CAAC,CAAC;YAC/D,OAAO;SACP;QACD,MAAM,aAAa,GAClB,IAAI,CAAC,sBAAsB,CAAC,CAAC,WAAW,CAAC,OAAQ,CAAC,eAAe,CAAC;aAChE,UAAU,CAAC,OAAO,CAAE,CAAC;QACxB,aAAa,CAAC,eAAe,CAAC,CAAC,YAAY,GAAG,KAAK,CAAC;IACrD,CAAC;IAED,YAAY,CAAC,KAAc;QAC1B,KAAK,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC;QAC1B,IAAI,CAAC,cAAc,EAAE,CAAC;IACvB,CAAC;CACD"}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import { Quaternion, Vector3 } from '../utils/Math';
|
|
2
|
+
import { XRInputSource } from '../input/XRInputSource';
|
|
3
|
+
import { XRFrame } from '../frameloop/XRFrame';
|
|
4
|
+
export declare const PRIVATE: unique symbol;
|
|
5
|
+
export declare class XRTrackedInput {
|
|
6
|
+
[PRIVATE]: {
|
|
7
|
+
inputSource: XRInputSource;
|
|
8
|
+
position: Vector3;
|
|
9
|
+
quaternion: Quaternion;
|
|
10
|
+
connected: boolean;
|
|
11
|
+
lastFrameConnected: boolean;
|
|
12
|
+
inputSourceChanged: boolean;
|
|
13
|
+
};
|
|
14
|
+
constructor(inputSource: XRInputSource);
|
|
15
|
+
get position(): Vector3;
|
|
16
|
+
get quaternion(): Quaternion;
|
|
17
|
+
get inputSource(): XRInputSource;
|
|
18
|
+
get connected(): boolean;
|
|
19
|
+
set connected(value: boolean);
|
|
20
|
+
onFrameStart(frame: XRFrame): void;
|
|
21
|
+
}
|
|
22
|
+
//# sourceMappingURL=XRTrackedInput.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"XRTrackedInput.d.ts","sourceRoot":"","sources":["../../src/device/XRTrackedInput.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,UAAU,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;AACpD,OAAO,EAAgB,aAAa,EAAE,MAAM,wBAAwB,CAAC;AAErE,OAAO,EAAE,OAAO,EAAE,MAAM,sBAAsB,CAAC;AAK/C,eAAO,MAAM,OAAO,eAEnB,CAAC;AAiBF,qBAAa,cAAc;IAC1B,CAAC,OAAO,CAAC,EAAE;QACV,WAAW,EAAE,aAAa,CAAC;QAE3B,QAAQ,EAAE,OAAO,CAAC;QAClB,UAAU,EAAE,UAAU,CAAC;QACvB,SAAS,EAAE,OAAO,CAAC;QACnB,kBAAkB,EAAE,OAAO,CAAC;QAC5B,kBAAkB,EAAE,OAAO,CAAC;KAC5B,CAAC;gBAEU,WAAW,EAAE,aAAa;IAWtC,IAAI,QAAQ,IAAI,OAAO,CAEtB;IAED,IAAI,UAAU,IAAI,UAAU,CAE3B;IAED,IAAI,WAAW,IAAI,aAAa,CAE/B;IAED,IAAI,SAAS,IAIQ,OAAO,CAF3B;IAED,IAAI,SAAS,CAAC,KAAK,EAAE,OAAO,EAG3B;IAED,YAAY,CAAC,KAAK,EAAE,OAAO;CA4D3B"}
|
|
@@ -0,0 +1,89 @@
|
|
|
1
|
+
import { PRIVATE as GAMEPAD_PRIVATE, GamepadButton } from '../gamepad/Gamepad';
|
|
2
|
+
import { Quaternion, Vector3 } from '../utils/Math';
|
|
3
|
+
import { XRHandedness } from '../input/XRInputSource';
|
|
4
|
+
import { XRInputSourceEvent } from '../events/XRInputSourceEvent';
|
|
5
|
+
import { PRIVATE as XRSPACE_PRIVATE } from '../spaces/XRSpace';
|
|
6
|
+
import { mat4 } from 'gl-matrix';
|
|
7
|
+
export const PRIVATE = Symbol('@immersive-web-emulation-runtime/xr-tracked-input');
|
|
8
|
+
const DEFAULT_TRANSFORM = {
|
|
9
|
+
[XRHandedness.Left]: {
|
|
10
|
+
position: new Vector3(-0.25, 1.5, -0.4),
|
|
11
|
+
quaternion: new Quaternion(),
|
|
12
|
+
},
|
|
13
|
+
[XRHandedness.Right]: {
|
|
14
|
+
position: new Vector3(0.25, 1.5, -0.4),
|
|
15
|
+
quaternion: new Quaternion(),
|
|
16
|
+
},
|
|
17
|
+
[XRHandedness.None]: {
|
|
18
|
+
position: new Vector3(0.25, 1.5, -0.4),
|
|
19
|
+
quaternion: new Quaternion(),
|
|
20
|
+
},
|
|
21
|
+
};
|
|
22
|
+
export class XRTrackedInput {
|
|
23
|
+
constructor(inputSource) {
|
|
24
|
+
this[PRIVATE] = {
|
|
25
|
+
inputSource,
|
|
26
|
+
position: DEFAULT_TRANSFORM[inputSource.handedness].position.clone(),
|
|
27
|
+
quaternion: DEFAULT_TRANSFORM[inputSource.handedness].quaternion.clone(),
|
|
28
|
+
connected: true,
|
|
29
|
+
lastFrameConnected: false,
|
|
30
|
+
inputSourceChanged: true,
|
|
31
|
+
};
|
|
32
|
+
}
|
|
33
|
+
get position() {
|
|
34
|
+
return this[PRIVATE].position;
|
|
35
|
+
}
|
|
36
|
+
get quaternion() {
|
|
37
|
+
return this[PRIVATE].quaternion;
|
|
38
|
+
}
|
|
39
|
+
get inputSource() {
|
|
40
|
+
return this[PRIVATE].inputSource;
|
|
41
|
+
}
|
|
42
|
+
get connected() {
|
|
43
|
+
return this[PRIVATE].connected;
|
|
44
|
+
}
|
|
45
|
+
set connected(value) {
|
|
46
|
+
this[PRIVATE].connected = value;
|
|
47
|
+
this[PRIVATE].inputSource.gamepad[GAMEPAD_PRIVATE].connected = value;
|
|
48
|
+
}
|
|
49
|
+
onFrameStart(frame) {
|
|
50
|
+
const targetRaySpace = this[PRIVATE].inputSource.targetRaySpace;
|
|
51
|
+
mat4.fromRotationTranslation(targetRaySpace[XRSPACE_PRIVATE].offsetMatrix, this[PRIVATE].quaternion.quat, this[PRIVATE].position.vec3);
|
|
52
|
+
const session = frame.session;
|
|
53
|
+
this[PRIVATE].inputSource.gamepad.buttons.forEach((button) => {
|
|
54
|
+
if (button instanceof GamepadButton) {
|
|
55
|
+
// apply pending values and record last frame values
|
|
56
|
+
button[GAMEPAD_PRIVATE].lastFrameValue = button[GAMEPAD_PRIVATE].value;
|
|
57
|
+
if (button[GAMEPAD_PRIVATE].pendingValue != null) {
|
|
58
|
+
button[GAMEPAD_PRIVATE].value = button[GAMEPAD_PRIVATE].pendingValue;
|
|
59
|
+
button[GAMEPAD_PRIVATE].pendingValue = null;
|
|
60
|
+
}
|
|
61
|
+
// trigger input source events
|
|
62
|
+
if (button[GAMEPAD_PRIVATE].eventTrigger != null) {
|
|
63
|
+
if (button[GAMEPAD_PRIVATE].lastFrameValue === 0 &&
|
|
64
|
+
button[GAMEPAD_PRIVATE].value > 0) {
|
|
65
|
+
session.dispatchEvent(new XRInputSourceEvent(button[GAMEPAD_PRIVATE].eventTrigger, {
|
|
66
|
+
frame,
|
|
67
|
+
inputSource: this[PRIVATE].inputSource,
|
|
68
|
+
}));
|
|
69
|
+
session.dispatchEvent(new XRInputSourceEvent(button[GAMEPAD_PRIVATE].eventTrigger + 'start', {
|
|
70
|
+
frame,
|
|
71
|
+
inputSource: this[PRIVATE].inputSource,
|
|
72
|
+
}));
|
|
73
|
+
}
|
|
74
|
+
else if (button[GAMEPAD_PRIVATE].lastFrameValue > 0 &&
|
|
75
|
+
button[GAMEPAD_PRIVATE].value === 0) {
|
|
76
|
+
session.dispatchEvent(new XRInputSourceEvent(button[GAMEPAD_PRIVATE].eventTrigger + 'end', {
|
|
77
|
+
frame,
|
|
78
|
+
inputSource: this[PRIVATE].inputSource,
|
|
79
|
+
}));
|
|
80
|
+
}
|
|
81
|
+
}
|
|
82
|
+
}
|
|
83
|
+
});
|
|
84
|
+
this[PRIVATE].inputSourceChanged =
|
|
85
|
+
this.connected !== this[PRIVATE].lastFrameConnected;
|
|
86
|
+
this[PRIVATE].lastFrameConnected = this.connected;
|
|
87
|
+
}
|
|
88
|
+
}
|
|
89
|
+
//# sourceMappingURL=XRTrackedInput.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"XRTrackedInput.js","sourceRoot":"","sources":["../../src/device/XRTrackedInput.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import { XRControllerConfig } from '../../XRController';
|
|
2
|
+
export declare const oculusTouchV2: XRControllerConfig;
|
|
3
|
+
export declare const oculusTouchV3: XRControllerConfig;
|
|
4
|
+
export declare const metaQuestTouchPro: XRControllerConfig;
|
|
5
|
+
export declare const metaQuestTouchPlus: XRControllerConfig;
|
|
6
|
+
//# sourceMappingURL=meta.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"meta.d.ts","sourceRoot":"","sources":["../../../../src/device/configs/controller/meta.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,kBAAkB,EAAE,MAAM,oBAAoB,CAAC;AAwCxD,eAAO,MAAM,aAAa,EAAE,kBAyB3B,CAAC;AAEF,eAAO,MAAM,aAAa,EAAE,kBAyB3B,CAAC;AAEF,eAAO,MAAM,iBAAiB,EAAE,kBA6B/B,CAAC;AAEF,eAAO,MAAM,kBAAkB,EAAE,kBA6BhC,CAAC"}
|
|
@@ -0,0 +1,152 @@
|
|
|
1
|
+
// value pulled from https://felixtrz.github.io/webxr-device-config/
|
|
2
|
+
// on Oculus Quest 1, Meta Quest 2, Meta Quest Pro, Meta Quest 3
|
|
3
|
+
import { GamepadMappingType } from '../../../gamepad/Gamepad';
|
|
4
|
+
const gamepadConfigLeft = {
|
|
5
|
+
mapping: GamepadMappingType.XRStandard,
|
|
6
|
+
buttons: [
|
|
7
|
+
{ id: 'trigger', type: 'analog', eventTrigger: 'select' },
|
|
8
|
+
{ id: 'squeeze', type: 'analog', eventTrigger: 'squeeze' },
|
|
9
|
+
null,
|
|
10
|
+
{ id: 'thumbstick', type: 'binary' },
|
|
11
|
+
{ id: 'x-button', type: 'binary' },
|
|
12
|
+
{ id: 'y-button', type: 'binary' },
|
|
13
|
+
{ id: 'thumbrest', type: 'binary' },
|
|
14
|
+
],
|
|
15
|
+
axes: [
|
|
16
|
+
null,
|
|
17
|
+
null,
|
|
18
|
+
{ id: 'thumbstick', type: 'x-axis' },
|
|
19
|
+
{ id: 'thumbstick', type: 'y-axis' },
|
|
20
|
+
],
|
|
21
|
+
};
|
|
22
|
+
const gamepadConfigRight = {
|
|
23
|
+
mapping: GamepadMappingType.XRStandard,
|
|
24
|
+
buttons: [
|
|
25
|
+
{ id: 'trigger', type: 'analog', eventTrigger: 'select' },
|
|
26
|
+
{ id: 'squeeze', type: 'analog', eventTrigger: 'squeeze' },
|
|
27
|
+
null,
|
|
28
|
+
{ id: 'thumbstick', type: 'binary' },
|
|
29
|
+
{ id: 'a-button', type: 'binary' },
|
|
30
|
+
{ id: 'b-button', type: 'binary' },
|
|
31
|
+
{ id: 'thumbrest', type: 'binary' },
|
|
32
|
+
],
|
|
33
|
+
axes: [
|
|
34
|
+
null,
|
|
35
|
+
null,
|
|
36
|
+
{ id: 'thumbstick', type: 'x-axis' },
|
|
37
|
+
{ id: 'thumbstick', type: 'y-axis' },
|
|
38
|
+
],
|
|
39
|
+
};
|
|
40
|
+
export const oculusTouchV2 = {
|
|
41
|
+
profileId: 'oculus-touch-v2',
|
|
42
|
+
fallbackProfileIds: ['oculus-touch', 'generic-trigger-squeeze-thumbstick'],
|
|
43
|
+
layout: {
|
|
44
|
+
left: {
|
|
45
|
+
gamepad: gamepadConfigLeft,
|
|
46
|
+
gripOffsetMatrix: [
|
|
47
|
+
0.9925461411476135, 4.673031295254759e-9, -0.12186938524246216, 0,
|
|
48
|
+
0.08617470413446426, 0.7071065306663513, 0.7018362283706665, 0,
|
|
49
|
+
0.0861746296286583, -0.70710688829422, 0.7018358707427979, 0,
|
|
50
|
+
-0.003979847766458988, -0.01585787907242775, 0.04964185878634453, 1,
|
|
51
|
+
],
|
|
52
|
+
numHapticActuators: 1,
|
|
53
|
+
},
|
|
54
|
+
right: {
|
|
55
|
+
gamepad: gamepadConfigRight,
|
|
56
|
+
gripOffsetMatrix: [
|
|
57
|
+
0.9925461411476135, 3.688163374704345e-8, 0.12186937034130096, 0,
|
|
58
|
+
-0.08617469668388367, 0.7071066498756409, 0.7018361687660217, 0,
|
|
59
|
+
-0.0861746147274971, -0.7071068286895752, 0.7018359899520874, 0,
|
|
60
|
+
0.003979853354394436, -0.01585787907242775, 0.04964182525873184, 1,
|
|
61
|
+
],
|
|
62
|
+
numHapticActuators: 1,
|
|
63
|
+
},
|
|
64
|
+
},
|
|
65
|
+
};
|
|
66
|
+
export const oculusTouchV3 = {
|
|
67
|
+
profileId: 'oculus-touch-v3',
|
|
68
|
+
fallbackProfileIds: ['oculus-touch', 'generic-trigger-squeeze-thumbstick'],
|
|
69
|
+
layout: {
|
|
70
|
+
left: {
|
|
71
|
+
gamepad: gamepadConfigLeft,
|
|
72
|
+
gripOffsetMatrix: [
|
|
73
|
+
0.9925461411476135, 2.0823669899527886e-8, -0.12186937034130096, 0,
|
|
74
|
+
0.08617465198040009, 0.7071067094802856, 0.701836109161377, 0,
|
|
75
|
+
0.08617466688156128, -0.7071067690849304, 0.7018360495567322, 0,
|
|
76
|
+
-0.003979838453233242, -0.015857907012104988, 0.04964181408286095, 1,
|
|
77
|
+
],
|
|
78
|
+
numHapticActuators: 1,
|
|
79
|
+
},
|
|
80
|
+
right: {
|
|
81
|
+
gamepad: gamepadConfigRight,
|
|
82
|
+
gripOffsetMatrix: [
|
|
83
|
+
0.9925461411476135, -8.329467959811154e-8, 0.12186941504478455, 0,
|
|
84
|
+
-0.08617465943098068, 0.7071066498756409, 0.7018361687660217, 0,
|
|
85
|
+
-0.08617471158504486, -0.7071068286895752, 0.7018359303474426, 0,
|
|
86
|
+
0.003979798872023821, -0.015857888385653496, 0.049641866236925125, 1,
|
|
87
|
+
],
|
|
88
|
+
numHapticActuators: 1,
|
|
89
|
+
},
|
|
90
|
+
},
|
|
91
|
+
};
|
|
92
|
+
export const metaQuestTouchPro = {
|
|
93
|
+
profileId: 'meta-quest-touch-pro',
|
|
94
|
+
fallbackProfileIds: [
|
|
95
|
+
'oculus-touch-v2',
|
|
96
|
+
'oculus-touch',
|
|
97
|
+
'generic-trigger-squeeze-thumbstick',
|
|
98
|
+
],
|
|
99
|
+
layout: {
|
|
100
|
+
left: {
|
|
101
|
+
gamepad: gamepadConfigLeft,
|
|
102
|
+
gripOffsetMatrix: [
|
|
103
|
+
0.9925461411476135, -1.5779937356796836e-8, -0.12186935544013977, 0,
|
|
104
|
+
0.08617467433214188, 0.7071067094802856, 0.701836109161377, 0,
|
|
105
|
+
0.0861746296286583, -0.7071067690849304, 0.7018360495567322, 0,
|
|
106
|
+
-0.003979836590588093, -0.015857847407460213, 0.049641840159893036, 1,
|
|
107
|
+
],
|
|
108
|
+
numHapticActuators: 3,
|
|
109
|
+
},
|
|
110
|
+
right: {
|
|
111
|
+
gamepad: gamepadConfigRight,
|
|
112
|
+
gripOffsetMatrix: [
|
|
113
|
+
0.9925461411476135, 9.267653311439972e-11, 0.12186937034130096, 0,
|
|
114
|
+
-0.08617467433214188, 0.7071067094802856, 0.7018361687660217, 0,
|
|
115
|
+
-0.08617464452981949, -0.7071067690849304, 0.7018360495567322, 0,
|
|
116
|
+
0.003979847766458988, -0.01585782691836357, 0.04964186251163483, 1,
|
|
117
|
+
],
|
|
118
|
+
numHapticActuators: 3,
|
|
119
|
+
},
|
|
120
|
+
},
|
|
121
|
+
};
|
|
122
|
+
export const metaQuestTouchPlus = {
|
|
123
|
+
profileId: 'meta-quest-touch-plus',
|
|
124
|
+
fallbackProfileIds: [
|
|
125
|
+
'oculus-touch-v3',
|
|
126
|
+
'oculus-touch',
|
|
127
|
+
'generic-trigger-squeeze-thumbstick',
|
|
128
|
+
],
|
|
129
|
+
layout: {
|
|
130
|
+
left: {
|
|
131
|
+
gamepad: gamepadConfigLeft,
|
|
132
|
+
gripOffsetMatrix: [
|
|
133
|
+
0.9925461411476135, 1.0736208366779465e-8, -0.12186933308839798, 0,
|
|
134
|
+
0.08617459982633591, 0.70710688829422, 0.7018360495567322, 0,
|
|
135
|
+
0.08617466688156128, -0.7071067094802856, 0.7018362283706665, 0,
|
|
136
|
+
-0.003979803062975407, -0.015857873484492302, 0.04964187368750572, 1,
|
|
137
|
+
],
|
|
138
|
+
numHapticActuators: 1,
|
|
139
|
+
},
|
|
140
|
+
right: {
|
|
141
|
+
gamepad: gamepadConfigRight,
|
|
142
|
+
gripOffsetMatrix: [
|
|
143
|
+
0.9925461411476135, -2.6238110351073374e-8, 0.12186934053897858, 0,
|
|
144
|
+
-0.0861746147274971, 0.7071067690849304, 0.7018360495567322, 0,
|
|
145
|
+
-0.08617465943098068, -0.7071067094802856, 0.701836109161377, 0,
|
|
146
|
+
0.003979838453233242, -0.015857869759202003, 0.04964182525873184, 1,
|
|
147
|
+
],
|
|
148
|
+
numHapticActuators: 1,
|
|
149
|
+
},
|
|
150
|
+
},
|
|
151
|
+
};
|
|
152
|
+
//# sourceMappingURL=meta.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"meta.js","sourceRoot":"","sources":["../../../../src/device/configs/controller/meta.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"pinch.d.ts","sourceRoot":"","sources":["../../../../src/device/configs/hand/pinch.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAE7C,eAAO,MAAM,aAAa,EAAE,QA2O3B,CAAC"}
|