diff options
Diffstat (limited to 'chromium/content/browser/gamepad/gamepad_standard_mappings_win.cc')
-rw-r--r-- | chromium/content/browser/gamepad/gamepad_standard_mappings_win.cc | 269 |
1 files changed, 0 insertions, 269 deletions
diff --git a/chromium/content/browser/gamepad/gamepad_standard_mappings_win.cc b/chromium/content/browser/gamepad/gamepad_standard_mappings_win.cc deleted file mode 100644 index efdcc1333cb..00000000000 --- a/chromium/content/browser/gamepad/gamepad_standard_mappings_win.cc +++ /dev/null @@ -1,269 +0,0 @@ -// Copyright (c) 2012 The Chromium Authors. All rights reserved. -// Use of this source code is governed by a BSD-style license that can be -// found in the LICENSE file. - -#include <stddef.h> - -#include "base/macros.h" -#include "content/browser/gamepad/gamepad_standard_mappings.h" - -namespace content { - -namespace { - -void MapperLogitechDualAction(const blink::WebGamepad& input, - blink::WebGamepad* mapped) { - *mapped = input; - mapped->buttons[BUTTON_INDEX_PRIMARY] = input.buttons[1]; - mapped->buttons[BUTTON_INDEX_SECONDARY] = input.buttons[2]; - mapped->buttons[BUTTON_INDEX_TERTIARY] = input.buttons[0]; - mapped->axes[AXIS_INDEX_RIGHT_STICK_Y] = input.axes[5]; - DpadFromAxis(mapped, input.axes[9]); - - mapped->buttonsLength = BUTTON_INDEX_COUNT; - mapped->axesLength = AXIS_INDEX_COUNT; -} - -void Mapper2Axes8Keys(const blink::WebGamepad& input, - blink::WebGamepad* mapped) { - *mapped = input; - mapped->buttons[BUTTON_INDEX_PRIMARY] = input.buttons[2]; - mapped->buttons[BUTTON_INDEX_SECONDARY] = input.buttons[1]; - mapped->buttons[BUTTON_INDEX_TERTIARY] = input.buttons[3]; - mapped->buttons[BUTTON_INDEX_QUATERNARY] = input.buttons[0]; - mapped->buttons[BUTTON_INDEX_DPAD_UP] = AxisNegativeAsButton(input.axes[1]); - mapped->buttons[BUTTON_INDEX_DPAD_DOWN] = AxisPositiveAsButton(input.axes[1]); - mapped->buttons[BUTTON_INDEX_DPAD_LEFT] = AxisNegativeAsButton(input.axes[0]); - mapped->buttons[BUTTON_INDEX_DPAD_RIGHT] = - AxisPositiveAsButton(input.axes[0]); - - // Missing buttons - mapped->buttons[BUTTON_INDEX_LEFT_TRIGGER] = blink::WebGamepadButton(); - mapped->buttons[BUTTON_INDEX_RIGHT_TRIGGER] = blink::WebGamepadButton(); - mapped->buttons[BUTTON_INDEX_LEFT_THUMBSTICK] = blink::WebGamepadButton(); - mapped->buttons[BUTTON_INDEX_RIGHT_THUMBSTICK] = blink::WebGamepadButton(); - mapped->buttons[BUTTON_INDEX_META] = blink::WebGamepadButton(); - - mapped->buttonsLength = BUTTON_INDEX_COUNT - 1; - mapped->axesLength = 0; -} - -void MapperDualshock4(const blink::WebGamepad& input, - blink::WebGamepad* mapped) { - enum Dualshock4Buttons { - DUALSHOCK_BUTTON_TOUCHPAD = BUTTON_INDEX_COUNT, - DUALSHOCK_BUTTON_COUNT - }; - - *mapped = input; - mapped->buttons[BUTTON_INDEX_PRIMARY] = input.buttons[1]; - mapped->buttons[BUTTON_INDEX_SECONDARY] = input.buttons[2]; - mapped->buttons[BUTTON_INDEX_TERTIARY] = input.buttons[0]; - mapped->buttons[BUTTON_INDEX_QUATERNARY] = input.buttons[3]; - mapped->buttons[BUTTON_INDEX_LEFT_SHOULDER] = input.buttons[4]; - mapped->buttons[BUTTON_INDEX_RIGHT_SHOULDER] = input.buttons[5]; - mapped->buttons[BUTTON_INDEX_LEFT_TRIGGER] = AxisToButton(input.axes[3]); - mapped->buttons[BUTTON_INDEX_RIGHT_TRIGGER] = AxisToButton(input.axes[4]); - mapped->buttons[BUTTON_INDEX_BACK_SELECT] = input.buttons[8]; - mapped->buttons[BUTTON_INDEX_START] = input.buttons[9]; - mapped->buttons[BUTTON_INDEX_LEFT_THUMBSTICK] = input.buttons[10]; - mapped->buttons[BUTTON_INDEX_RIGHT_THUMBSTICK] = input.buttons[11]; - mapped->buttons[BUTTON_INDEX_META] = input.buttons[12]; - mapped->buttons[DUALSHOCK_BUTTON_TOUCHPAD] = input.buttons[13]; - mapped->axes[AXIS_INDEX_RIGHT_STICK_Y] = input.axes[5]; - DpadFromAxis(mapped, input.axes[9]); - - mapped->buttonsLength = DUALSHOCK_BUTTON_COUNT; - mapped->axesLength = AXIS_INDEX_COUNT; -} - -void MapperIBuffalo(const blink::WebGamepad& input, blink::WebGamepad* mapped) { - *mapped = input; - mapped->buttons[BUTTON_INDEX_PRIMARY] = input.buttons[1]; - mapped->buttons[BUTTON_INDEX_SECONDARY] = input.buttons[0]; - mapped->buttons[BUTTON_INDEX_TERTIARY] = input.buttons[3]; - mapped->buttons[BUTTON_INDEX_QUATERNARY] = input.buttons[2]; - mapped->buttons[BUTTON_INDEX_BACK_SELECT] = input.buttons[6]; - mapped->buttons[BUTTON_INDEX_START] = input.buttons[7]; - mapped->buttons[BUTTON_INDEX_LEFT_TRIGGER] = input.buttons[4]; - mapped->buttons[BUTTON_INDEX_RIGHT_TRIGGER] = input.buttons[5]; - mapped->buttons[BUTTON_INDEX_DPAD_UP] = AxisNegativeAsButton(input.axes[1]); - mapped->buttons[BUTTON_INDEX_DPAD_DOWN] = AxisPositiveAsButton(input.axes[1]); - mapped->buttons[BUTTON_INDEX_DPAD_LEFT] = AxisNegativeAsButton(input.axes[0]); - mapped->buttons[BUTTON_INDEX_DPAD_RIGHT] = - AxisPositiveAsButton(input.axes[0]); - mapped->buttonsLength = BUTTON_INDEX_COUNT - 1; /* no meta */ - mapped->axesLength = 2; -} - -void MapperOnLiveWireless(const blink::WebGamepad& input, - blink::WebGamepad* mapped) { - *mapped = input; - mapped->buttons[BUTTON_INDEX_PRIMARY] = input.buttons[0]; - mapped->buttons[BUTTON_INDEX_SECONDARY] = input.buttons[1]; - mapped->buttons[BUTTON_INDEX_TERTIARY] = input.buttons[3]; - mapped->buttons[BUTTON_INDEX_QUATERNARY] = input.buttons[4]; - mapped->buttons[BUTTON_INDEX_LEFT_SHOULDER] = input.buttons[6]; - mapped->buttons[BUTTON_INDEX_RIGHT_SHOULDER] = input.buttons[7]; - mapped->buttons[BUTTON_INDEX_LEFT_TRIGGER] = AxisToButton(input.axes[2]); - mapped->buttons[BUTTON_INDEX_RIGHT_TRIGGER] = AxisToButton(input.axes[5]); - mapped->buttons[BUTTON_INDEX_BACK_SELECT] = input.buttons[10]; - mapped->buttons[BUTTON_INDEX_START] = input.buttons[11]; - mapped->buttons[BUTTON_INDEX_LEFT_THUMBSTICK] = input.buttons[13]; - mapped->buttons[BUTTON_INDEX_RIGHT_THUMBSTICK] = input.buttons[14]; - mapped->buttons[BUTTON_INDEX_META] = input.buttons[12]; - mapped->axes[AXIS_INDEX_RIGHT_STICK_X] = input.axes[3]; - mapped->axes[AXIS_INDEX_RIGHT_STICK_Y] = input.axes[4]; - DpadFromAxis(mapped, input.axes[9]); - - mapped->buttonsLength = BUTTON_INDEX_COUNT; - mapped->axesLength = AXIS_INDEX_COUNT; -} - -void MapperADT1(const blink::WebGamepad& input, blink::WebGamepad* mapped) { - *mapped = input; - mapped->buttons[BUTTON_INDEX_PRIMARY] = input.buttons[0]; - mapped->buttons[BUTTON_INDEX_SECONDARY] = input.buttons[1]; - mapped->buttons[BUTTON_INDEX_TERTIARY] = input.buttons[3]; - mapped->buttons[BUTTON_INDEX_QUATERNARY] = input.buttons[4]; - mapped->buttons[BUTTON_INDEX_LEFT_SHOULDER] = input.buttons[6]; - mapped->buttons[BUTTON_INDEX_RIGHT_SHOULDER] = input.buttons[7]; - mapped->buttons[BUTTON_INDEX_LEFT_TRIGGER] = AxisToButton(input.axes[4]); - mapped->buttons[BUTTON_INDEX_RIGHT_TRIGGER] = AxisToButton(input.axes[3]); - mapped->buttons[BUTTON_INDEX_BACK_SELECT] = NullButton(); - mapped->buttons[BUTTON_INDEX_START] = NullButton(); - mapped->buttons[BUTTON_INDEX_LEFT_THUMBSTICK] = input.buttons[13]; - mapped->buttons[BUTTON_INDEX_RIGHT_THUMBSTICK] = input.buttons[14]; - mapped->buttons[BUTTON_INDEX_META] = input.buttons[12]; - mapped->axes[AXIS_INDEX_RIGHT_STICK_Y] = input.axes[5]; - DpadFromAxis(mapped, input.axes[9]); - - mapped->buttonsLength = BUTTON_INDEX_COUNT; - mapped->axesLength = AXIS_INDEX_COUNT; -} - -void MapperNvShield(const blink::WebGamepad& input, blink::WebGamepad* mapped) { - *mapped = input; - mapped->buttons[BUTTON_INDEX_PRIMARY] = input.buttons[0]; - mapped->buttons[BUTTON_INDEX_SECONDARY] = input.buttons[1]; - mapped->buttons[BUTTON_INDEX_TERTIARY] = input.buttons[3]; - mapped->buttons[BUTTON_INDEX_QUATERNARY] = input.buttons[4]; - mapped->buttons[BUTTON_INDEX_LEFT_SHOULDER] = input.buttons[6]; - mapped->buttons[BUTTON_INDEX_RIGHT_SHOULDER] = input.buttons[7]; - mapped->buttons[BUTTON_INDEX_LEFT_TRIGGER] = AxisToButton(input.axes[4]); - mapped->buttons[BUTTON_INDEX_RIGHT_TRIGGER] = AxisToButton(input.axes[3]); - mapped->buttons[BUTTON_INDEX_BACK_SELECT] = NullButton(); - mapped->buttons[BUTTON_INDEX_START] = input.buttons[11]; - mapped->buttons[BUTTON_INDEX_LEFT_THUMBSTICK] = input.buttons[13]; - mapped->buttons[BUTTON_INDEX_RIGHT_THUMBSTICK] = input.buttons[14]; - mapped->buttons[BUTTON_INDEX_META] = input.buttons[8]; - mapped->axes[AXIS_INDEX_RIGHT_STICK_Y] = input.axes[5]; - DpadFromAxis(mapped, input.axes[9]); - - mapped->buttonsLength = BUTTON_INDEX_COUNT; - mapped->axesLength = AXIS_INDEX_COUNT; -} - -void MapperOUYA(const blink::WebGamepad& input, blink::WebGamepad* mapped) { - *mapped = input; - mapped->buttons[BUTTON_INDEX_PRIMARY] = input.buttons[0]; - mapped->buttons[BUTTON_INDEX_SECONDARY] = input.buttons[3]; - mapped->buttons[BUTTON_INDEX_TERTIARY] = input.buttons[1]; - mapped->buttons[BUTTON_INDEX_QUATERNARY] = input.buttons[2]; - mapped->buttons[BUTTON_INDEX_LEFT_SHOULDER] = input.buttons[4]; - mapped->buttons[BUTTON_INDEX_RIGHT_SHOULDER] = input.buttons[5]; - mapped->buttons[BUTTON_INDEX_LEFT_TRIGGER] = AxisToButton(input.axes[2]); - mapped->buttons[BUTTON_INDEX_RIGHT_TRIGGER] = AxisToButton(input.axes[5]); - mapped->buttons[BUTTON_INDEX_BACK_SELECT] = NullButton(); - mapped->buttons[BUTTON_INDEX_START] = NullButton(); - mapped->buttons[BUTTON_INDEX_LEFT_THUMBSTICK] = input.buttons[6]; - mapped->buttons[BUTTON_INDEX_RIGHT_THUMBSTICK] = input.buttons[7]; - mapped->buttons[BUTTON_INDEX_DPAD_UP] = input.buttons[8]; - mapped->buttons[BUTTON_INDEX_DPAD_DOWN] = input.buttons[9]; - mapped->buttons[BUTTON_INDEX_DPAD_LEFT] = input.buttons[10]; - mapped->buttons[BUTTON_INDEX_DPAD_RIGHT] = input.buttons[11]; - mapped->buttons[BUTTON_INDEX_META] = input.buttons[15]; - mapped->axes[AXIS_INDEX_RIGHT_STICK_X] = input.axes[3]; - mapped->axes[AXIS_INDEX_RIGHT_STICK_Y] = input.axes[4]; - - mapped->buttonsLength = BUTTON_INDEX_COUNT; - mapped->axesLength = AXIS_INDEX_COUNT; -} - -void MapperRazerServal(const blink::WebGamepad& input, - blink::WebGamepad* mapped) { - *mapped = input; - mapped->buttons[BUTTON_INDEX_PRIMARY] = input.buttons[0]; - mapped->buttons[BUTTON_INDEX_SECONDARY] = input.buttons[1]; - mapped->buttons[BUTTON_INDEX_TERTIARY] = input.buttons[3]; - mapped->buttons[BUTTON_INDEX_QUATERNARY] = input.buttons[4]; - mapped->buttons[BUTTON_INDEX_LEFT_SHOULDER] = input.buttons[6]; - mapped->buttons[BUTTON_INDEX_RIGHT_SHOULDER] = input.buttons[7]; - mapped->buttons[BUTTON_INDEX_LEFT_TRIGGER] = AxisToButton(input.axes[4]); - mapped->buttons[BUTTON_INDEX_RIGHT_TRIGGER] = AxisToButton(input.axes[3]); - mapped->buttons[BUTTON_INDEX_BACK_SELECT] = input.buttons[10]; - mapped->buttons[BUTTON_INDEX_START] = input.buttons[11]; - mapped->buttons[BUTTON_INDEX_LEFT_THUMBSTICK] = input.buttons[13]; - mapped->buttons[BUTTON_INDEX_RIGHT_THUMBSTICK] = input.buttons[14]; - mapped->axes[AXIS_INDEX_RIGHT_STICK_Y] = input.axes[5]; - DpadFromAxis(mapped, input.axes[9]); - - mapped->buttonsLength = BUTTON_INDEX_COUNT - 1; /* no meta */ - mapped->axesLength = AXIS_INDEX_COUNT; -} - -void MapperMogaPro(const blink::WebGamepad& input, blink::WebGamepad* mapped) { - *mapped = input; - mapped->buttons[BUTTON_INDEX_PRIMARY] = input.buttons[0]; - mapped->buttons[BUTTON_INDEX_SECONDARY] = input.buttons[1]; - mapped->buttons[BUTTON_INDEX_TERTIARY] = input.buttons[3]; - mapped->buttons[BUTTON_INDEX_QUATERNARY] = input.buttons[4]; - mapped->buttons[BUTTON_INDEX_LEFT_SHOULDER] = input.buttons[6]; - mapped->buttons[BUTTON_INDEX_RIGHT_SHOULDER] = input.buttons[7]; - mapped->buttons[BUTTON_INDEX_LEFT_TRIGGER] = AxisToButton(input.axes[4]); - mapped->buttons[BUTTON_INDEX_RIGHT_TRIGGER] = AxisToButton(input.axes[3]); - mapped->buttons[BUTTON_INDEX_BACK_SELECT] = NullButton(); - mapped->buttons[BUTTON_INDEX_START] = input.buttons[11]; - mapped->buttons[BUTTON_INDEX_LEFT_THUMBSTICK] = input.buttons[13]; - mapped->buttons[BUTTON_INDEX_RIGHT_THUMBSTICK] = input.buttons[14]; - mapped->axes[AXIS_INDEX_RIGHT_STICK_Y] = input.axes[5]; - DpadFromAxis(mapped, input.axes[9]); - - mapped->buttonsLength = BUTTON_INDEX_COUNT - 1; /* no meta */ - mapped->axesLength = AXIS_INDEX_COUNT; -} - -struct MappingData { - const char* const vendor_id; - const char* const product_id; - GamepadStandardMappingFunction function; -} AvailableMappings[] = { - // http://www.linux-usb.org/usb.ids - {"0079", "0011", Mapper2Axes8Keys}, // 2Axes 8Keys Game Pad - {"046d", "c216", MapperLogitechDualAction}, // Logitech DualAction - {"054c", "05c4", MapperDualshock4}, // Playstation Dualshock 4 - {"0583", "2060", MapperIBuffalo}, // iBuffalo Classic - {"0955", "7210", MapperNvShield}, // Nvidia Shield gamepad - {"0b05", "4500", MapperADT1}, // Nexus Player Controller - {"1532", "0900", MapperRazerServal}, // Razer Serval Controller - {"18d1", "2c40", MapperADT1}, // ADT-1 Controller - {"20d6", "6271", MapperMogaPro}, // Moga Pro Controller (HID mode) - {"2378", "1008", MapperOnLiveWireless}, // OnLive Controller (Bluetooth) - {"2378", "100a", MapperOnLiveWireless}, // OnLive Controller (Wired) - {"2836", "0001", MapperOUYA}, // OUYA Controller -}; - -} // namespace - -GamepadStandardMappingFunction GetGamepadStandardMappingFunction( - const base::StringPiece& vendor_id, - const base::StringPiece& product_id) { - for (size_t i = 0; i < arraysize(AvailableMappings); ++i) { - MappingData& item = AvailableMappings[i]; - if (vendor_id == item.vendor_id && product_id == item.product_id) - return item.function; - } - return NULL; -} - -} // namespace content |