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:
bjorn 2019-07-17 17:33:21 -07:00
parent c92c0ef3c5
commit 2b19c64aca
6 changed files with 6 additions and 23 deletions

View File

@ -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
};

View File

@ -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;
}

View File

@ -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,

View File

@ -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;

View File

@ -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;

View File

@ -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
}
};