summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorbajones@chromium.org <bajones@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2014-02-01 00:35:03 +0000
committerbajones@chromium.org <bajones@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2014-02-01 00:35:03 +0000
commit14887f5588bbfaa68155e904aa6eaf49ba04e1aa (patch)
tree7afb0030a4fa231cc688e9fc98f8393daf70116b
parent40e32fccfa6001ef10353709545058744f8b505b (diff)
downloadchromium_src-14887f5588bbfaa68155e904aa6eaf49ba04e1aa.zip
chromium_src-14887f5588bbfaa68155e904aa6eaf49ba04e1aa.tar.gz
chromium_src-14887f5588bbfaa68155e904aa6eaf49ba04e1aa.tar.bz2
Added Linux and OSX mappings for the OnLive gamepad
BUG= R=scottmg@chromium.org Review URL: https://codereview.chromium.org/151693003 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@248315 0039d316-1c4b-4281-b951-d872f2087c98
-rw-r--r--content/browser/gamepad/gamepad_standard_mappings_linux.cc24
-rw-r--r--content/browser/gamepad/gamepad_standard_mappings_mac.mm27
2 files changed, 51 insertions, 0 deletions
diff --git a/content/browser/gamepad/gamepad_standard_mappings_linux.cc b/content/browser/gamepad/gamepad_standard_mappings_linux.cc
index cdfe2d0..08104dc 100644
--- a/content/browser/gamepad/gamepad_standard_mappings_linux.cc
+++ b/content/browser/gamepad/gamepad_standard_mappings_linux.cc
@@ -162,6 +162,28 @@ void MapperDragonRiseGeneric(
mapped->axesLength = kNumAxes;
}
+void MapperOnLiveWireless(
+ const blink::WebGamepad& input,
+ blink::WebGamepad* mapped) {
+ *mapped = input;
+ mapped->buttons[kButtonLeftTrigger] = AxisToButton(input.axes[2]);
+ mapped->buttons[kButtonRightTrigger] = AxisToButton(input.axes[5]);
+ mapped->buttons[kButtonBackSelect] = input.buttons[6];
+ mapped->buttons[kButtonStart] = input.buttons[7];
+ mapped->buttons[kButtonLeftThumbstick] = input.buttons[9];
+ mapped->buttons[kButtonRightThumbstick] = input.buttons[10];
+ mapped->buttons[kButtonDpadUp] = AxisNegativeAsButton(input.axes[7]);
+ mapped->buttons[kButtonDpadDown] = AxisPositiveAsButton(input.axes[7]);
+ mapped->buttons[kButtonDpadLeft] = AxisNegativeAsButton(input.axes[6]);
+ mapped->buttons[kButtonDpadRight] = AxisPositiveAsButton(input.axes[6]);
+ mapped->buttons[kButtonMeta] = input.buttons[8];
+ mapped->axes[kAxisRightStickX] = input.axes[3];
+ mapped->axes[kAxisRightStickY] = input.axes[4];
+
+ mapped->buttonsLength = kNumButtons;
+ mapped->axesLength = kNumAxes;
+}
+
struct MappingData {
const char* const vendor_id;
@@ -180,6 +202,8 @@ struct MappingData {
{ "0925", "0005", MapperLakeviewResearch }, // SmartJoy PLUS Adapter
{ "0925", "8866", MapperLakeviewResearch }, // WiseGroup MP-8866
{ "0e8f", "0003", MapperXGEAR }, // XFXforce XGEAR PS2 Controller
+ { "2378", "1008", MapperOnLiveWireless }, // OnLive Controller (Bluetooth)
+ { "2378", "100a", MapperOnLiveWireless }, // OnLive Controller (Wired)
};
} // namespace
diff --git a/content/browser/gamepad/gamepad_standard_mappings_mac.mm b/content/browser/gamepad/gamepad_standard_mappings_mac.mm
index 1d6b114..af41b4c 100644
--- a/content/browser/gamepad/gamepad_standard_mappings_mac.mm
+++ b/content/browser/gamepad/gamepad_standard_mappings_mac.mm
@@ -214,6 +214,31 @@ void MapperDragonRiseGeneric(
mapped->axesLength = kNumAxes;
}
+void MapperOnLiveWireless(
+ const blink::WebGamepad& input,
+ blink::WebGamepad* mapped) {
+ *mapped = input;
+ mapped->buttons[kButtonPrimary] = input.buttons[0];
+ mapped->buttons[kButtonSecondary] = input.buttons[1];
+ mapped->buttons[kButtonTertiary] = input.buttons[3];
+ mapped->buttons[kButtonQuaternary] = input.buttons[4];
+ mapped->buttons[kButtonLeftShoulder] = input.buttons[6];
+ mapped->buttons[kButtonRightShoulder] = input.buttons[7];
+ mapped->buttons[kButtonLeftTrigger] = AxisToButton(input.axes[2]);
+ mapped->buttons[kButtonRightTrigger] = AxisToButton(input.axes[5]);
+ mapped->buttons[kButtonBackSelect] = input.buttons[10];
+ mapped->buttons[kButtonStart] = input.buttons[11];
+ mapped->buttons[kButtonLeftThumbstick] = input.buttons[13];
+ mapped->buttons[kButtonRightThumbstick] = input.buttons[14];
+ mapped->buttons[kButtonMeta] = input.buttons[12];
+ mapped->axes[kAxisRightStickX] = input.axes[3];
+ mapped->axes[kAxisRightStickY] = input.axes[4];
+ DpadFromAxis(mapped, input.axes[9]);
+
+ mapped->buttonsLength = kNumButtons;
+ mapped->axesLength = kNumAxes;
+}
+
struct MappingData {
const char* const vendor_id;
const char* const product_id;
@@ -232,6 +257,8 @@ struct MappingData {
{ "0e8f", "0003", MapperXGEAR }, // XFXforce XGEAR PS2 Controller
{ "2222", "0060", MapperDirectInputStyle }, // Macally iShockX, analog mode
{ "2222", "4010", MapperMacallyIShock }, // Macally iShock
+ { "2378", "1008", MapperOnLiveWireless }, // OnLive Controller (Bluetooth)
+ { "2378", "100a", MapperOnLiveWireless }, // OnLive Controller (Wired)
};
} // namespace