mirror of https://github.com/bjornbytes/lovr.git
rm primary DeviceButton and DeviceAxis;
It is confusing and doesn't really solve the intended problem very well. For now we will all just suffer with our tedious device-specific Lua code.
This commit is contained in:
parent
c92c0ef3c5
commit
2b19c64aca
|
@ -39,7 +39,6 @@ const char* Devices[] = {
|
|||
};
|
||||
|
||||
const char* DeviceButtons[] = {
|
||||
[BUTTON_PRIMARY] = "primary",
|
||||
[BUTTON_TRIGGER] = "trigger",
|
||||
[BUTTON_THUMBSTICK] = "thumbstick",
|
||||
[BUTTON_TOUCHPAD] = "touchpad",
|
||||
|
@ -54,7 +53,6 @@ const char* DeviceButtons[] = {
|
|||
};
|
||||
|
||||
const char* DeviceAxes[] = {
|
||||
[AXIS_PRIMARY] = "primary",
|
||||
[AXIS_TRIGGER] = "trigger",
|
||||
[AXIS_THUMBSTICK] = "thumbstick",
|
||||
[AXIS_TOUCHPAD] = "touchpad",
|
||||
|
@ -449,7 +447,6 @@ static const size_t axisCounts[MAX_AXES] = {
|
|||
[AXIS_TRIGGER] = 1,
|
||||
[AXIS_PINCH] = 1,
|
||||
[AXIS_GRIP] = 1,
|
||||
[AXIS_PRIMARY] = 2,
|
||||
[AXIS_THUMBSTICK] = 2,
|
||||
[AXIS_TOUCHPAD] = 2
|
||||
};
|
||||
|
|
|
@ -116,7 +116,7 @@ static bool desktop_getAcceleration(Device device, vec3 acceleration, vec3 angul
|
|||
}
|
||||
|
||||
static bool desktop_isDown(Device device, DeviceButton button, bool* down) {
|
||||
if (device != DEVICE_HAND_LEFT || (button != BUTTON_TRIGGER && button != BUTTON_PRIMARY)) {
|
||||
if (device != DEVICE_HAND_LEFT || button != BUTTON_TRIGGER) {
|
||||
return false;
|
||||
}
|
||||
|
||||
|
|
|
@ -32,7 +32,6 @@ typedef enum {
|
|||
} Device;
|
||||
|
||||
typedef enum {
|
||||
BUTTON_PRIMARY,
|
||||
BUTTON_TRIGGER,
|
||||
BUTTON_THUMBSTICK,
|
||||
BUTTON_TOUCHPAD,
|
||||
|
@ -47,7 +46,6 @@ typedef enum {
|
|||
} DeviceButton;
|
||||
|
||||
typedef enum {
|
||||
AXIS_PRIMARY,
|
||||
AXIS_TRIGGER,
|
||||
AXIS_THUMBSTICK,
|
||||
AXIS_TOUCHPAD,
|
||||
|
|
|
@ -228,7 +228,6 @@ static bool oculus_isDown(Device device, DeviceButton button, bool* down) {
|
|||
case BUTTON_X: *down = (buttons & ovrButton_X); return true;
|
||||
case BUTTON_Y: *down = (buttons & ovrButton_Y); return true;
|
||||
case BUTTON_MENU: *down = (buttons & ovrButton_Enter); return true;
|
||||
case BUTTON_PRIMARY:
|
||||
case BUTTON_TRIGGER: *down = (is->IndexTriggerNoDeadzone[hand] > .5f); return true;
|
||||
case BUTTON_THUMBSTICK: *down = (buttons & (ovrButton_LThumb | ovrButton_RThumb)); return true;
|
||||
case BUTTON_GRIP: *down = (is->HandTrigger[hand] > .9f); return true;
|
||||
|
@ -249,7 +248,6 @@ static bool oculus_isTouched(Device device, DeviceButton button, bool* touched)
|
|||
case BUTTON_B: *touched = (touches & ovrTouch_B); return true;
|
||||
case BUTTON_X: *touched = (touches & ovrTouch_X); return true;
|
||||
case BUTTON_Y: *touched = (touches & ovrTouch_Y); return true;
|
||||
case BUTTON_PRIMARY:
|
||||
case BUTTON_TRIGGER: *touched = (touches & (ovrTouch_LIndexTrigger | ovrTouch_RIndexTrigger)); return true;
|
||||
case BUTTON_THUMBSTICK: *touched = (touches & (ovrTouch_LThumb | ovrTouch_RThumb)); return true;
|
||||
default: return false;
|
||||
|
@ -267,7 +265,6 @@ static bool oculus_getAxis(Device device, DeviceAxis axis, vec3 value) {
|
|||
switch (axis) {
|
||||
case AXIS_GRIP: *value = is->HandTriggerNoDeadzone[hand]; return true;
|
||||
case AXIS_TRIGGER: *value = is->IndexTriggerNoDeadzone[hand]; return true;
|
||||
case AXIS_PRIMARY:
|
||||
case AXIS_THUMBSTICK:
|
||||
value[0] = is->ThumbstickNoDeadzone[hand].x;
|
||||
value[1] = is->ThumbstickNoDeadzone[hand].y;
|
||||
|
|
|
@ -149,7 +149,6 @@ static bool buttonDown(BridgeLovrButton field, DeviceButton button, bool *result
|
|||
if (bridgeLovrMobileData.deviceType == BRIDGE_LOVR_DEVICE_QUEST) {
|
||||
switch (button) {
|
||||
case BUTTON_MENU: *result = field & BRIDGE_LOVR_BUTTON_MENU; break; // Technically "LMENU" but only fires on left controller
|
||||
case BUTTON_PRIMARY:
|
||||
case BUTTON_TRIGGER: *result = field & BRIDGE_LOVR_BUTTON_SHOULDER; break;
|
||||
case BUTTON_GRIP: *result = field & BRIDGE_LOVR_BUTTON_GRIP; break;
|
||||
case BUTTON_TOUCHPAD: *result = field & BRIDGE_LOVR_BUTTON_JOYSTICK; break;
|
||||
|
@ -162,7 +161,6 @@ static bool buttonDown(BridgeLovrButton field, DeviceButton button, bool *result
|
|||
} else {
|
||||
switch (button) {
|
||||
case BUTTON_MENU: *result = field & BRIDGE_LOVR_BUTTON_GOMENU; break; // Technically "RMENU" but quest only has one
|
||||
case BUTTON_PRIMARY:
|
||||
case BUTTON_TRIGGER: *result = field & BRIDGE_LOVR_BUTTON_GOSHOULDER; break;
|
||||
case BUTTON_TOUCHPAD: *result = field & BRIDGE_LOVR_BUTTON_TOUCHPAD; break;
|
||||
default: return false;
|
||||
|
@ -177,7 +175,6 @@ static bool buttonTouch(BridgeLovrTouch field, DeviceButton button, bool *result
|
|||
return false;
|
||||
|
||||
switch (button) {
|
||||
case BUTTON_PRIMARY:
|
||||
case BUTTON_TRIGGER: *result = field & (BRIDGE_LOVR_TOUCH_TRIGGER); break;
|
||||
case BUTTON_TOUCHPAD: *result = field & (BRIDGE_LOVR_TOUCH_TOUCHPAD | BRIDGE_LOVR_TOUCH_JOYSTICK); break;
|
||||
case BUTTON_A: *result = field & BRIDGE_LOVR_TOUCH_A; break;
|
||||
|
@ -214,7 +211,6 @@ static bool vrapi_getAxis(Device device, DeviceAxis axis, float* value) {
|
|||
|
||||
if (bridgeLovrMobileData.deviceType == BRIDGE_LOVR_DEVICE_QUEST) {
|
||||
switch (axis) {
|
||||
case AXIS_PRIMARY:
|
||||
case AXIS_THUMBSTICK:
|
||||
value[0] = data->trackpad.x;
|
||||
value[1] = data->trackpad.y;
|
||||
|
@ -225,7 +221,6 @@ static bool vrapi_getAxis(Device device, DeviceAxis axis, float* value) {
|
|||
}
|
||||
} else {
|
||||
switch (axis) {
|
||||
case AXIS_PRIMARY:
|
||||
case AXIS_TOUCHPAD:
|
||||
value[0] = (data->trackpad.x - 160) / 160.f;
|
||||
value[1] = (data->trackpad.y - 160) / 160.f;
|
||||
|
|
|
@ -262,7 +262,6 @@ var LibraryLOVR = {
|
|||
if (gamepad.id.startsWith('OpenVR')) {
|
||||
switch (axis) {
|
||||
case C.AXIS_TRIGGER: HEAPF32[value >> 2] = gamepad.buttons[1].value; return true;
|
||||
case C.AXIS_PRIMARY:
|
||||
case C.AXIS_TOUCHPAD:
|
||||
HEAPF32[value >> 2 + 0] = gamepad.axes[0];
|
||||
HEAPF32[value >> 2 + 1] = gamepad.axes[1];
|
||||
|
@ -273,7 +272,6 @@ var LibraryLOVR = {
|
|||
switch (axis) {
|
||||
case C.AXIS_TRIGGER: HEAPF32[value >> 2] = gamepad.buttons[1].value; return true;
|
||||
case C.AXIS_GRIP: HEAPF32[value >> 2] = gamepad.buttons[2].value; return true;
|
||||
case C.AXIS_PRIMARY:
|
||||
case C.AXIS_THUMBSTICK:
|
||||
HEAPF32[value >> 2 + 0] = gamepad.axes[0];
|
||||
HEAPF32[value >> 2 + 1] = gamepad.axes[1];
|
||||
|
@ -283,7 +281,6 @@ var LibraryLOVR = {
|
|||
} else if (gamepad.id.startsWith('Spatial Controller')) {
|
||||
switch (axis) {
|
||||
case C.AXIS_TRIGGER: HEAPF32[value >> 2] = gamepad.buttons[0].value; return true;
|
||||
case C.AXIS_PRIMARY:
|
||||
case C.AXIS_THUMBSTICK:
|
||||
HEAPF32[value >> 2 + 0] = gamepad.axes[0];
|
||||
HEAPF32[value >> 2 + 1] = gamepad.axes[1];
|
||||
|
@ -326,12 +323,11 @@ var LibraryLOVR = {
|
|||
ORIGIN_FLOOR: 1,
|
||||
|
||||
// DeviceAxis
|
||||
AXIS_PRIMARY: 0,
|
||||
AXIS_TRIGGER: 1,
|
||||
AXIS_THUMBSTICK: 2,
|
||||
AXIS_TOUCHPAD: 3,
|
||||
AXIS_PINCH: 4,
|
||||
AXIS_GRIP: 5
|
||||
AXIS_TRIGGER: 0,
|
||||
AXIS_THUMBSTICK: 1,
|
||||
AXIS_TOUCHPAD: 2,
|
||||
AXIS_PINCH: 3,
|
||||
AXIS_GRIP: 4
|
||||
}
|
||||
};
|
||||
|
||||
|
|
Loading…
Reference in New Issue