| Index: device/gamepad/gamepad_standard_mappings_linux.cc
|
| diff --git a/device/gamepad/gamepad_standard_mappings_linux.cc b/device/gamepad/gamepad_standard_mappings_linux.cc
|
| index b4de59fc05aac144a01de1f7ce4f3276c42435d6..38367685c4716a0d3b21a82bb52d7b03fc85a1d6 100644
|
| --- a/device/gamepad/gamepad_standard_mappings_linux.cc
|
| +++ b/device/gamepad/gamepad_standard_mappings_linux.cc
|
| @@ -317,6 +317,38 @@ void MapperMogaPro(const blink::WebGamepad& input, blink::WebGamepad* mapped) {
|
| mapped->axesLength = AXIS_INDEX_COUNT;
|
| }
|
|
|
| +void MapperSamsung_EI_GP20(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] = NullButton();
|
| + mapped->buttons[BUTTON_INDEX_RIGHT_SHOULDER] = NullButton();
|
| + mapped->buttons[BUTTON_INDEX_LEFT_TRIGGER] = input.buttons[6];
|
| + mapped->buttons[BUTTON_INDEX_RIGHT_TRIGGER] = input.buttons[7];
|
| + mapped->buttons[BUTTON_INDEX_BACK_SELECT] = input.buttons[10];
|
| + mapped->buttons[BUTTON_INDEX_START] = input.buttons[11];
|
| + mapped->buttons[BUTTON_INDEX_LEFT_THUMBSTICK] = NullButton();
|
| + mapped->buttons[BUTTON_INDEX_RIGHT_THUMBSTICK] = NullButton();
|
| +
|
| + mapped->buttons[BUTTON_INDEX_DPAD_UP] = AxisNegativeAsButton(input.axes[5]);
|
| + mapped->buttons[BUTTON_INDEX_DPAD_DOWN] = AxisPositiveAsButton(input.axes[5]);
|
| + mapped->buttons[BUTTON_INDEX_DPAD_LEFT] = AxisNegativeAsButton(input.axes[4]);
|
| + mapped->buttons[BUTTON_INDEX_DPAD_RIGHT] =
|
| + AxisPositiveAsButton(input.axes[4]);
|
| + mapped->buttons[BUTTON_INDEX_META] = input.buttons[15];
|
| +
|
| + mapped->axes[AXIS_INDEX_LEFT_STICK_X] = input.axes[0];
|
| + mapped->axes[AXIS_INDEX_LEFT_STICK_Y] = input.axes[1];
|
| + mapped->axes[AXIS_INDEX_RIGHT_STICK_X] = input.axes[2];
|
| + mapped->axes[AXIS_INDEX_RIGHT_STICK_Y] = input.axes[3];
|
| +
|
| + mapped->buttonsLength = BUTTON_INDEX_COUNT;
|
| + mapped->axesLength = AXIS_INDEX_COUNT;
|
| +}
|
| +
|
| struct MappingData {
|
| const char* const vendor_id;
|
| const char* const product_id;
|
| @@ -335,6 +367,7 @@ struct MappingData {
|
| {"046d", "c21d", MapperXInputStyleGamepad}, // Logitech F310
|
| {"046d", "c21e", MapperXInputStyleGamepad}, // Logitech F510
|
| {"046d", "c21f", MapperXInputStyleGamepad}, // Logitech F710
|
| + {"04e8", "a000", MapperSamsung_EI_GP20}, // Samsung Gamepad EI-GP20
|
| {"054c", "0268", MapperPlaystationSixAxis}, // Playstation SIXAXIS
|
| {"054c", "05c4", MapperDualshock4}, // Playstation Dualshock 4
|
| {"054c", "09cc", MapperDualshock4}, // Dualshock 4 (PS4 Slim)
|
|
|