From ac2a60befb73dd11fe4d04a3cf90e8e8a6be3f03 Mon Sep 17 00:00:00 2001 From: Brad Davis Date: Wed, 21 Oct 2015 10:57:41 -0700 Subject: [PATCH] Adding primary/secondary thumb abstraction --- .../src/controllers/StandardController.cpp | 81 ++++++++++--------- .../src/controllers/StandardControls.h | 11 +++ 2 files changed, 55 insertions(+), 37 deletions(-) diff --git a/libraries/controllers/src/controllers/StandardController.cpp b/libraries/controllers/src/controllers/StandardController.cpp index e9a2e71973..061fc4ea56 100644 --- a/libraries/controllers/src/controllers/StandardController.cpp +++ b/libraries/controllers/src/controllers/StandardController.cpp @@ -40,59 +40,66 @@ void StandardController::buildDeviceProxy(DeviceProxy::Pointer proxy) { proxy->getAvailabeInputs = [this] () -> QVector { QVector availableInputs; // Buttons - availableInputs.append(Input::NamedPair(makeInput(controller::A), "A")); - availableInputs.append(Input::NamedPair(makeInput(controller::B), "B")); - availableInputs.append(Input::NamedPair(makeInput(controller::X), "X")); - availableInputs.append(Input::NamedPair(makeInput(controller::Y), "Y")); + availableInputs.append(makePair(A, "A")); + availableInputs.append(makePair(B, "B")); + availableInputs.append(makePair(X, "X")); + availableInputs.append(makePair(Y, "Y")); // DPad - availableInputs.append(Input::NamedPair(makeInput(controller::DU), "DU")); - availableInputs.append(Input::NamedPair(makeInput(controller::DD), "DD")); - availableInputs.append(Input::NamedPair(makeInput(controller::DL), "DL")); - availableInputs.append(Input::NamedPair(makeInput(controller::DR), "DR")); + availableInputs.append(makePair(DU, "DU")); + availableInputs.append(makePair(DD, "DD")); + availableInputs.append(makePair(DL, "DL")); + availableInputs.append(makePair(DR, "DR")); // Bumpers - availableInputs.append(Input::NamedPair(makeInput(controller::LB), "LB")); - availableInputs.append(Input::NamedPair(makeInput(controller::RB), "RB")); + availableInputs.append(makePair(LB, "LB")); + availableInputs.append(makePair(RB, "RB")); // Stick press - availableInputs.append(Input::NamedPair(makeInput(controller::LS), "LS")); - availableInputs.append(Input::NamedPair(makeInput(controller::RS), "RS")); + availableInputs.append(makePair(LS, "LS")); + availableInputs.append(makePair(RS, "RS")); // Center buttons - availableInputs.append(Input::NamedPair(makeInput(controller::START), "Start")); - availableInputs.append(Input::NamedPair(makeInput(controller::BACK), "Back")); + availableInputs.append(makePair(START, "Start")); + availableInputs.append(makePair(BACK, "Back")); // Analog sticks - availableInputs.append(Input::NamedPair(makeInput(controller::LY), "LY")); - availableInputs.append(Input::NamedPair(makeInput(controller::LX), "LX")); - availableInputs.append(Input::NamedPair(makeInput(controller::RY), "RY")); - availableInputs.append(Input::NamedPair(makeInput(controller::RX), "RX")); + availableInputs.append(makePair(LY, "LY")); + availableInputs.append(makePair(LX, "LX")); + availableInputs.append(makePair(RY, "RY")); + availableInputs.append(makePair(RX, "RX")); // Triggers - availableInputs.append(Input::NamedPair(makeInput(controller::LT), "LT")); - availableInputs.append(Input::NamedPair(makeInput(controller::RT), "RT")); + availableInputs.append(makePair(LT, "LT")); + availableInputs.append(makePair(RT, "RT")); // Poses - availableInputs.append(UserInputMapper::InputPair(makeInput(controller::LEFT_HAND), "LeftHand")); - availableInputs.append(UserInputMapper::InputPair(makeInput(controller::RIGHT_HAND), "RightHand")); + availableInputs.append(makePair(LEFT_HAND, "LeftHand")); + availableInputs.append(makePair(RIGHT_HAND, "RightHand")); // Aliases, PlayStation style names - availableInputs.append(Input::NamedPair(makeInput(controller::LB), "L1")); - availableInputs.append(Input::NamedPair(makeInput(controller::RB), "R1")); - availableInputs.append(Input::NamedPair(makeInput(controller::LT), "L2")); - availableInputs.append(Input::NamedPair(makeInput(controller::RT), "R2")); - availableInputs.append(Input::NamedPair(makeInput(controller::LS), "L3")); - availableInputs.append(Input::NamedPair(makeInput(controller::RS), "R3")); - availableInputs.append(Input::NamedPair(makeInput(controller::BACK), "Select")); - availableInputs.append(Input::NamedPair(makeInput(controller::A), "Cross")); - availableInputs.append(Input::NamedPair(makeInput(controller::B), "Circle")); - availableInputs.append(Input::NamedPair(makeInput(controller::X), "Square")); - availableInputs.append(Input::NamedPair(makeInput(controller::Y), "Triangle")); - availableInputs.append(Input::NamedPair(makeInput(controller::DU), "Up")); - availableInputs.append(Input::NamedPair(makeInput(controller::DD), "Down")); - availableInputs.append(Input::NamedPair(makeInput(controller::DL), "Left")); - availableInputs.append(Input::NamedPair(makeInput(controller::DR), "Right")); + availableInputs.append(makePair(LB, "L1")); + availableInputs.append(makePair(RB, "R1")); + availableInputs.append(makePair(LT, "L2")); + availableInputs.append(makePair(RT, "R2")); + availableInputs.append(makePair(LS, "L3")); + availableInputs.append(makePair(RS, "R3")); + availableInputs.append(makePair(BACK, "Select")); + availableInputs.append(makePair(A, "Cross")); + availableInputs.append(makePair(B, "Circle")); + availableInputs.append(makePair(X, "Square")); + availableInputs.append(makePair(Y, "Triangle")); + availableInputs.append(makePair(DU, "Up")); + availableInputs.append(makePair(DD, "Down")); + availableInputs.append(makePair(DL, "Left")); + availableInputs.append(makePair(DR, "Right")); + + + availableInputs.append(makePair(LeftPrimaryThumb, "LeftPrimaryThumb")); + availableInputs.append(makePair(LeftSecondaryThumb, "LeftSecondaryThumb")); + availableInputs.append(makePair(RightPrimaryThumb, "RightPrimaryThumb")); + availableInputs.append(makePair(RightSecondaryThumb, "RightSecondaryThumb")); + return availableInputs; }; } diff --git a/libraries/controllers/src/controllers/StandardControls.h b/libraries/controllers/src/controllers/StandardControls.h index dc39a8bbeb..26644e2f38 100644 --- a/libraries/controllers/src/controllers/StandardControls.h +++ b/libraries/controllers/src/controllers/StandardControls.h @@ -16,21 +16,32 @@ namespace controller { B, X, Y, + // Center buttons BACK, GUIDE, START, + // Stick press LS, RS, + // Bumper press LB, RB, + // DPad DU, DD, DL, DR, + + // These don't map to SDL types + LeftPrimaryThumb, + LeftSecondaryThumb, + RightPrimaryThumb, + RightSecondaryThumb, + NUM_STANDARD_BUTTONS };