diff options
author | bajones@chromium.org <bajones@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2014-02-01 00:35:03 +0000 |
---|---|---|
committer | bajones@chromium.org <bajones@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2014-02-01 00:35:03 +0000 |
commit | 14887f5588bbfaa68155e904aa6eaf49ba04e1aa (patch) | |
tree | 7afb0030a4fa231cc688e9fc98f8393daf70116b | |
parent | 40e32fccfa6001ef10353709545058744f8b505b (diff) | |
download | chromium_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.cc | 24 | ||||
-rw-r--r-- | content/browser/gamepad/gamepad_standard_mappings_mac.mm | 27 |
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 |