Chromium Code Reviews| Index: ui/events/ozone/evdev/gamepad_mapping.cc |
| diff --git a/ui/events/ozone/evdev/gamepad_mapping.cc b/ui/events/ozone/evdev/gamepad_mapping.cc |
| new file mode 100644 |
| index 0000000000000000000000000000000000000000..de52049ecf4708e25b360558c6d054e21cadca99 |
| --- /dev/null |
| +++ b/ui/events/ozone/evdev/gamepad_mapping.cc |
| @@ -0,0 +1,682 @@ |
| +// Copyright 2017 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 <linux/input.h> |
| + |
| +#include "ui/events/ozone/evdev/gamepad_mapping.h" |
| +#include "ui/events/webgamepad_constants.h" |
| + |
| +namespace ui { |
| +/////////////////////////////////////////////////////////////////////////////// |
| +// The following maps are converted from android kl files. |
| +using MappingData = std::vector<ui::GamepadMappingEntry>; |
| + |
| +MappingData* GetVendor_2378Product_100aMap() { |
| + static MappingData map = { |
|
spang
2017/04/13 00:52:20
Several comments about this
- Why copy these stati
jkwang
2017/04/19 19:42:23
Well, there is problems with original design. Lots
|
| + {EV_KEY, BTN_A, GamepadEventType::BUTTON, WG_BUTTON_A}, |
| + {EV_KEY, BTN_B, GamepadEventType::BUTTON, WG_BUTTON_B}, |
| + {EV_KEY, BTN_X, GamepadEventType::BUTTON, WG_BUTTON_X}, |
| + {EV_KEY, BTN_Y, GamepadEventType::BUTTON, WG_BUTTON_Y}, |
| + {EV_KEY, BTN_TL, GamepadEventType::BUTTON, WG_BUTTON_L1}, |
| + {EV_KEY, BTN_TR, GamepadEventType::BUTTON, WG_BUTTON_R1}, |
| + {EV_KEY, BTN_SELECT, GamepadEventType::BUTTON, WG_BUTTON_SELECT}, |
| + {EV_KEY, BTN_START, GamepadEventType::BUTTON, WG_BUTTON_START}, |
| + {EV_KEY, BTN_THUMBL, GamepadEventType::BUTTON, WG_BUTTON_THUMBL}, |
| + {EV_KEY, BTN_THUMBR, GamepadEventType::BUTTON, WG_BUTTON_THUMBR}, |
| + {EV_ABS, ABS_X, GamepadEventType::AXIS, WG_ABS_X}, |
| + {EV_ABS, ABS_Y, GamepadEventType::AXIS, WG_ABS_Y}, |
| + {EV_ABS, ABS_RX, GamepadEventType::AXIS, WG_ABS_Z}, |
| + {EV_ABS, ABS_RY, GamepadEventType::AXIS, WG_ABS_RZ}, |
| + {EV_ABS, ABS_Z, GamepadEventType::BUTTON, WG_BUTTON_L2}, |
| + {EV_ABS, ABS_RZ, GamepadEventType::BUTTON, WG_BUTTON_R2}, |
| + {EV_ABS, ABS_HAT0X, GamepadEventType::BUTTON, kHAT_X}, |
| + {EV_ABS, ABS_HAT0Y, GamepadEventType::BUTTON, kHAT_Y}}; |
| + return ↦ |
| +} |
| + |
| +MappingData* GetVendor_046dProduct_c216Map() { |
| + static MappingData map = { |
| + {EV_KEY, BTN_TRIGGER, GamepadEventType::BUTTON, WG_BUTTON_A}, |
| + {EV_KEY, BTN_TOP, GamepadEventType::BUTTON, WG_BUTTON_B}, |
| + {EV_KEY, BTN_THUMB, GamepadEventType::BUTTON, WG_BUTTON_X}, |
| + {EV_KEY, BTN_THUMB2, GamepadEventType::BUTTON, WG_BUTTON_Y}, |
| + {EV_KEY, BTN_TOP2, GamepadEventType::BUTTON, WG_BUTTON_L1}, |
| + {EV_KEY, BTN_PINKIE, GamepadEventType::BUTTON, WG_BUTTON_R1}, |
| + {EV_KEY, BTN_BASE, GamepadEventType::BUTTON, WG_BUTTON_L2}, |
| + {EV_KEY, BTN_BASE2, GamepadEventType::BUTTON, WG_BUTTON_R2}, |
| + {EV_KEY, BTN_BASE3, GamepadEventType::BUTTON, WG_BUTTON_SELECT}, |
| + {EV_KEY, BTN_BASE4, GamepadEventType::BUTTON, WG_BUTTON_START}, |
| + {EV_KEY, BTN_BASE5, GamepadEventType::BUTTON, WG_BUTTON_THUMBL}, |
| + {EV_KEY, BTN_BASE6, GamepadEventType::BUTTON, WG_BUTTON_THUMBR}, |
| + {EV_ABS, ABS_X, GamepadEventType::AXIS, WG_ABS_X}, |
| + {EV_ABS, ABS_Y, GamepadEventType::AXIS, WG_ABS_Y}, |
| + {EV_ABS, ABS_Z, GamepadEventType::AXIS, WG_ABS_Z}, |
| + {EV_ABS, ABS_RZ, GamepadEventType::AXIS, WG_ABS_RZ}, |
| + {EV_ABS, ABS_HAT0X, GamepadEventType::BUTTON, kHAT_X}, |
| + {EV_ABS, ABS_HAT0Y, GamepadEventType::BUTTON, kHAT_Y}}; |
| + return ↦ |
| +} |
| + |
| +MappingData* GetVendor_045eProduct_028eMap() { |
| + static MappingData map = { |
| + {EV_KEY, BTN_A, GamepadEventType::BUTTON, WG_BUTTON_A}, |
| + {EV_KEY, BTN_B, GamepadEventType::BUTTON, WG_BUTTON_B}, |
| + {EV_KEY, BTN_X, GamepadEventType::BUTTON, WG_BUTTON_X}, |
| + {EV_KEY, BTN_Y, GamepadEventType::BUTTON, WG_BUTTON_Y}, |
| + {EV_KEY, BTN_TL, GamepadEventType::BUTTON, WG_BUTTON_L1}, |
| + {EV_KEY, BTN_TR, GamepadEventType::BUTTON, WG_BUTTON_R1}, |
| + {EV_KEY, BTN_START, GamepadEventType::BUTTON, WG_BUTTON_START}, |
| + {EV_KEY, BTN_THUMBL, GamepadEventType::BUTTON, WG_BUTTON_THUMBL}, |
| + {EV_KEY, BTN_THUMBR, GamepadEventType::BUTTON, WG_BUTTON_THUMBR}, |
| + {EV_ABS, ABS_X, GamepadEventType::AXIS, WG_ABS_X}, |
| + {EV_ABS, ABS_Y, GamepadEventType::AXIS, WG_ABS_Y}, |
| + {EV_ABS, ABS_RX, GamepadEventType::AXIS, WG_ABS_Z}, |
| + {EV_ABS, ABS_RY, GamepadEventType::AXIS, WG_ABS_RZ}, |
| + {EV_ABS, ABS_Z, GamepadEventType::BUTTON, WG_BUTTON_L2}, |
| + {EV_ABS, ABS_RZ, GamepadEventType::BUTTON, WG_BUTTON_R2}, |
| + {EV_ABS, ABS_HAT0X, GamepadEventType::BUTTON, kHAT_X}, |
| + {EV_ABS, ABS_HAT0Y, GamepadEventType::BUTTON, kHAT_Y}}; |
| + return ↦ |
| +} |
| + |
| +MappingData* GetVendor_054cProduct_0268Map() { |
| + static MappingData map = { |
| + {EV_KEY, 0x12e, GamepadEventType::BUTTON, WG_BUTTON_A}, |
| + {EV_KEY, 0x12d, GamepadEventType::BUTTON, WG_BUTTON_B}, |
| + {EV_KEY, BTN_DEAD, GamepadEventType::BUTTON, WG_BUTTON_X}, |
| + {EV_KEY, 0x12c, GamepadEventType::BUTTON, WG_BUTTON_Y}, |
| + {EV_KEY, BTN_BASE5, GamepadEventType::BUTTON, WG_BUTTON_L1}, |
| + {EV_KEY, BTN_BASE6, GamepadEventType::BUTTON, WG_BUTTON_R1}, |
| + {EV_KEY, BTN_BASE3, GamepadEventType::BUTTON, WG_BUTTON_L2}, |
| + {EV_KEY, BTN_BASE4, GamepadEventType::BUTTON, WG_BUTTON_R2}, |
| + {EV_KEY, BTN_TRIGGER, GamepadEventType::BUTTON, WG_BUTTON_SELECT}, |
| + {EV_KEY, BTN_TOP, GamepadEventType::BUTTON, WG_BUTTON_START}, |
| + {EV_KEY, BTN_THUMB, GamepadEventType::BUTTON, WG_BUTTON_THUMBL}, |
| + {EV_KEY, BTN_THUMB2, GamepadEventType::BUTTON, WG_BUTTON_THUMBR}, |
| + {EV_KEY, BTN_TOP2, GamepadEventType::BUTTON, WG_BUTTON_DPAD_UP}, |
| + {EV_KEY, BTN_BASE, GamepadEventType::BUTTON, WG_BUTTON_DPAD_DOWN}, |
| + {EV_KEY, BTN_BASE2, GamepadEventType::BUTTON, WG_BUTTON_DPAD_LEFT}, |
| + {EV_KEY, BTN_PINKIE, GamepadEventType::BUTTON, WG_BUTTON_DPAD_RIGHT}, |
| + {EV_ABS, ABS_X, GamepadEventType::AXIS, WG_ABS_X}, |
| + {EV_ABS, ABS_Y, GamepadEventType::AXIS, WG_ABS_Y}, |
| + {EV_ABS, ABS_Z, GamepadEventType::AXIS, WG_ABS_Z}, |
| + {EV_ABS, ABS_RZ, GamepadEventType::AXIS, WG_ABS_RZ}, |
| + {EV_ABS, ABS_MT_TOUCH_MAJOR, GamepadEventType::BUTTON, WG_BUTTON_L2}, |
| + {EV_ABS, ABS_MT_TOUCH_MINOR, GamepadEventType::BUTTON, WG_BUTTON_R2}}; |
| + return ↦ |
| +} |
| + |
| +MappingData* GetVendor_046dProduct_b501Map() { |
| + static MappingData map = { |
| + {EV_KEY, BTN_A, GamepadEventType::BUTTON, WG_BUTTON_A}, |
| + {EV_KEY, BTN_B, GamepadEventType::BUTTON, WG_BUTTON_B}, |
| + {EV_KEY, BTN_X, GamepadEventType::BUTTON, WG_BUTTON_X}, |
| + {EV_KEY, BTN_Y, GamepadEventType::BUTTON, WG_BUTTON_Y}, |
| + {EV_KEY, BTN_TL, GamepadEventType::BUTTON, WG_BUTTON_L1}, |
| + {EV_KEY, BTN_TR, GamepadEventType::BUTTON, WG_BUTTON_R1}, |
| + {EV_KEY, BTN_TL2, GamepadEventType::BUTTON, WG_BUTTON_L2}, |
| + {EV_KEY, BTN_TR2, GamepadEventType::BUTTON, WG_BUTTON_R2}, |
| + {EV_KEY, BTN_SELECT, GamepadEventType::BUTTON, WG_BUTTON_SELECT}, |
| + {EV_KEY, BTN_START, GamepadEventType::BUTTON, WG_BUTTON_START}, |
| + {EV_KEY, BTN_THUMBL, GamepadEventType::BUTTON, WG_BUTTON_THUMBL}, |
| + {EV_KEY, BTN_THUMBR, GamepadEventType::BUTTON, WG_BUTTON_THUMBR}, |
| + {EV_KEY, KEY_UP, GamepadEventType::BUTTON, WG_BUTTON_DPAD_UP}, |
| + {EV_KEY, KEY_DOWN, GamepadEventType::BUTTON, WG_BUTTON_DPAD_DOWN}, |
| + {EV_KEY, KEY_LEFT, GamepadEventType::BUTTON, WG_BUTTON_DPAD_LEFT}, |
| + {EV_KEY, KEY_RIGHT, GamepadEventType::BUTTON, WG_BUTTON_DPAD_RIGHT}, |
| + {EV_KEY, BTN_MODE, GamepadEventType::BUTTON, WG_BUTTON_MODE}, |
| + {EV_ABS, ABS_X, GamepadEventType::AXIS, WG_ABS_X}, |
| + {EV_ABS, ABS_Y, GamepadEventType::AXIS, WG_ABS_Y}, |
| + {EV_ABS, ABS_Z, GamepadEventType::AXIS, WG_ABS_Z}, |
| + {EV_ABS, ABS_RZ, GamepadEventType::AXIS, WG_ABS_RZ}, |
| + {EV_ABS, ABS_BRAKE, GamepadEventType::BUTTON, WG_BUTTON_L2}, |
| + {EV_ABS, ABS_GAS, GamepadEventType::BUTTON, WG_BUTTON_R2}, |
| + {EV_ABS, ABS_HAT0X, GamepadEventType::BUTTON, kHAT_X}, |
| + {EV_ABS, ABS_HAT0Y, GamepadEventType::BUTTON, kHAT_Y}}; |
| + return ↦ |
| +} |
| + |
| +MappingData* GetVendor_1689Product_fd00Map() { |
| + static MappingData map = { |
| + {EV_KEY, BTN_A, GamepadEventType::BUTTON, WG_BUTTON_A}, |
| + {EV_KEY, BTN_B, GamepadEventType::BUTTON, WG_BUTTON_B}, |
| + {EV_KEY, BTN_X, GamepadEventType::BUTTON, WG_BUTTON_X}, |
| + {EV_KEY, BTN_Y, GamepadEventType::BUTTON, WG_BUTTON_Y}, |
| + {EV_KEY, BTN_TL, GamepadEventType::BUTTON, WG_BUTTON_L1}, |
| + {EV_KEY, BTN_TR, GamepadEventType::BUTTON, WG_BUTTON_R1}, |
| + {EV_KEY, BTN_START, GamepadEventType::BUTTON, WG_BUTTON_START}, |
| + {EV_KEY, BTN_THUMBL, GamepadEventType::BUTTON, WG_BUTTON_THUMBL}, |
| + {EV_KEY, BTN_THUMBR, GamepadEventType::BUTTON, WG_BUTTON_THUMBR}, |
| + {EV_KEY, BTN_TRIGGER_HAPPY3, GamepadEventType::BUTTON, WG_BUTTON_DPAD_UP}, |
| + {EV_KEY, BTN_TRIGGER_HAPPY4, GamepadEventType::BUTTON, |
| + WG_BUTTON_DPAD_DOWN}, |
| + {EV_KEY, BTN_TRIGGER_HAPPY1, GamepadEventType::BUTTON, |
| + WG_BUTTON_DPAD_LEFT}, |
| + {EV_KEY, BTN_TRIGGER_HAPPY2, GamepadEventType::BUTTON, |
| + WG_BUTTON_DPAD_RIGHT}, |
| + {EV_ABS, ABS_X, GamepadEventType::AXIS, WG_ABS_X}, |
| + {EV_ABS, ABS_Y, GamepadEventType::AXIS, WG_ABS_Y}, |
| + {EV_ABS, ABS_RX, GamepadEventType::AXIS, WG_ABS_Z}, |
| + {EV_ABS, ABS_RY, GamepadEventType::AXIS, WG_ABS_RZ}, |
| + {EV_ABS, ABS_Z, GamepadEventType::BUTTON, WG_BUTTON_L2}, |
| + {EV_ABS, ABS_RZ, GamepadEventType::BUTTON, WG_BUTTON_R2}}; |
| + return ↦ |
| +} |
| + |
| +MappingData* GetVendor_046dProduct_c294Map() { |
| + static MappingData map = { |
| + {EV_KEY, BTN_THUMB, GamepadEventType::BUTTON, WG_BUTTON_A}, |
| + {EV_KEY, BTN_TOP, GamepadEventType::BUTTON, WG_BUTTON_B}, |
| + {EV_KEY, BTN_TRIGGER, GamepadEventType::BUTTON, WG_BUTTON_X}, |
| + {EV_KEY, BTN_THUMB2, GamepadEventType::BUTTON, WG_BUTTON_Y}, |
| + {EV_KEY, BTN_BASE2, GamepadEventType::BUTTON, WG_BUTTON_L1}, |
| + {EV_KEY, BTN_BASE, GamepadEventType::BUTTON, WG_BUTTON_R1}, |
| + {EV_KEY, BTN_PINKIE, GamepadEventType::BUTTON, WG_BUTTON_L2}, |
| + {EV_KEY, BTN_TOP2, GamepadEventType::BUTTON, WG_BUTTON_R2}, |
| + {EV_ABS, ABS_HAT0X, GamepadEventType::BUTTON, kHAT_X}, |
| + {EV_ABS, ABS_HAT0Y, GamepadEventType::BUTTON, kHAT_Y}}; |
| + return ↦ |
| +} |
| + |
| +MappingData* GetVendor_0079Product_0011Map() { |
| + static MappingData map = { |
| + {EV_KEY, BTN_THUMB, GamepadEventType::BUTTON, WG_BUTTON_A}, |
| + {EV_KEY, BTN_THUMB2, GamepadEventType::BUTTON, WG_BUTTON_B}, |
| + {EV_KEY, BTN_TRIGGER, GamepadEventType::BUTTON, WG_BUTTON_X}, |
| + {EV_KEY, BTN_TOP, GamepadEventType::BUTTON, WG_BUTTON_Y}, |
| + {EV_KEY, BTN_TOP2, GamepadEventType::BUTTON, WG_BUTTON_L1}, |
| + {EV_KEY, BTN_PINKIE, GamepadEventType::BUTTON, WG_BUTTON_R1}, |
| + {EV_KEY, BTN_BASE3, GamepadEventType::BUTTON, WG_BUTTON_SELECT}, |
| + {EV_KEY, BTN_BASE4, GamepadEventType::BUTTON, WG_BUTTON_START}, |
| + {EV_ABS, ABS_X, GamepadEventType::BUTTON, kHAT_X}, |
| + {EV_ABS, ABS_Y, GamepadEventType::BUTTON, kHAT_Y}}; |
| + return ↦ |
| +} |
| + |
| +MappingData* GetVendor_1badProduct_f023Map() { |
| + static MappingData map = { |
| + {EV_KEY, BTN_A, GamepadEventType::BUTTON, WG_BUTTON_A}, |
| + {EV_KEY, BTN_B, GamepadEventType::BUTTON, WG_BUTTON_B}, |
| + {EV_KEY, BTN_X, GamepadEventType::BUTTON, WG_BUTTON_X}, |
| + {EV_KEY, BTN_Y, GamepadEventType::BUTTON, WG_BUTTON_Y}, |
| + {EV_KEY, BTN_TL, GamepadEventType::BUTTON, WG_BUTTON_L1}, |
| + {EV_KEY, BTN_TR, GamepadEventType::BUTTON, WG_BUTTON_R1}, |
| + {EV_KEY, BTN_START, GamepadEventType::BUTTON, WG_BUTTON_START}, |
| + {EV_KEY, BTN_THUMBL, GamepadEventType::BUTTON, WG_BUTTON_THUMBL}, |
| + {EV_KEY, BTN_THUMBR, GamepadEventType::BUTTON, WG_BUTTON_THUMBR}, |
| + {EV_ABS, ABS_X, GamepadEventType::AXIS, WG_ABS_X}, |
| + {EV_ABS, ABS_Y, GamepadEventType::AXIS, WG_ABS_Y}, |
| + {EV_ABS, ABS_RX, GamepadEventType::AXIS, WG_ABS_Z}, |
| + {EV_ABS, ABS_RY, GamepadEventType::AXIS, WG_ABS_RZ}, |
| + {EV_ABS, ABS_Z, GamepadEventType::BUTTON, WG_BUTTON_L2}, |
| + {EV_ABS, ABS_RZ, GamepadEventType::BUTTON, WG_BUTTON_R2}, |
| + {EV_ABS, ABS_HAT0X, GamepadEventType::BUTTON, kHAT_X}, |
| + {EV_ABS, ABS_HAT0Y, GamepadEventType::BUTTON, kHAT_Y}}; |
| + return ↦ |
| +} |
| + |
| +MappingData* GetVendor_1badProduct_f027Map() { |
| + static MappingData map = { |
| + {EV_KEY, BTN_A, GamepadEventType::BUTTON, WG_BUTTON_A}, |
| + {EV_KEY, BTN_B, GamepadEventType::BUTTON, WG_BUTTON_B}, |
| + {EV_KEY, BTN_X, GamepadEventType::BUTTON, WG_BUTTON_X}, |
| + {EV_KEY, BTN_Y, GamepadEventType::BUTTON, WG_BUTTON_Y}, |
| + {EV_KEY, BTN_TL, GamepadEventType::BUTTON, WG_BUTTON_L1}, |
| + {EV_KEY, BTN_TR, GamepadEventType::BUTTON, WG_BUTTON_R1}, |
| + {EV_KEY, BTN_START, GamepadEventType::BUTTON, WG_BUTTON_START}, |
| + {EV_KEY, BTN_THUMBL, GamepadEventType::BUTTON, WG_BUTTON_THUMBL}, |
| + {EV_KEY, BTN_THUMBR, GamepadEventType::BUTTON, WG_BUTTON_THUMBR}, |
| + {EV_ABS, ABS_X, GamepadEventType::AXIS, WG_ABS_X}, |
| + {EV_ABS, ABS_Y, GamepadEventType::AXIS, WG_ABS_Y}, |
| + {EV_ABS, ABS_RX, GamepadEventType::AXIS, WG_ABS_Z}, |
| + {EV_ABS, ABS_RY, GamepadEventType::AXIS, WG_ABS_RZ}, |
| + {EV_ABS, ABS_Z, GamepadEventType::BUTTON, WG_BUTTON_L2}, |
| + {EV_ABS, ABS_RZ, GamepadEventType::BUTTON, WG_BUTTON_R2}, |
| + {EV_ABS, ABS_HAT0X, GamepadEventType::BUTTON, kHAT_X}, |
| + {EV_ABS, ABS_HAT0Y, GamepadEventType::BUTTON, kHAT_Y}}; |
| + return ↦ |
| +} |
| + |
| +MappingData* GetVendor_0583Product_2060Map() { |
| + static MappingData map = { |
| + {EV_KEY, BTN_TRIGGER, GamepadEventType::BUTTON, WG_BUTTON_A}, |
| + {EV_KEY, BTN_THUMB, GamepadEventType::BUTTON, WG_BUTTON_B}, |
| + {EV_KEY, BTN_THUMB2, GamepadEventType::BUTTON, WG_BUTTON_X}, |
| + {EV_KEY, BTN_TOP, GamepadEventType::BUTTON, WG_BUTTON_Y}, |
| + {EV_KEY, BTN_BASE, GamepadEventType::BUTTON, WG_BUTTON_L1}, |
| + {EV_KEY, BTN_BASE2, GamepadEventType::BUTTON, WG_BUTTON_R1}, |
| + {EV_KEY, BTN_TOP2, GamepadEventType::BUTTON, WG_BUTTON_L2}, |
| + {EV_KEY, BTN_PINKIE, GamepadEventType::BUTTON, WG_BUTTON_R2}, |
| + {EV_ABS, ABS_X, GamepadEventType::BUTTON, kHAT_X}, |
| + {EV_ABS, ABS_Y, GamepadEventType::BUTTON, kHAT_Y}}; |
| + return ↦ |
| +} |
| + |
| +MappingData* GetVendor_046dProduct_c299Map() { |
| + static MappingData map = { |
| + {EV_KEY, BTN_THUMB, GamepadEventType::BUTTON, WG_BUTTON_A}, |
| + {EV_KEY, BTN_TOP, GamepadEventType::BUTTON, WG_BUTTON_B}, |
| + {EV_KEY, BTN_TRIGGER, GamepadEventType::BUTTON, WG_BUTTON_X}, |
| + {EV_KEY, BTN_THUMB2, GamepadEventType::BUTTON, WG_BUTTON_Y}, |
| + {EV_KEY, BTN_BASE2, GamepadEventType::BUTTON, WG_BUTTON_L1}, |
| + {EV_KEY, BTN_BASE, GamepadEventType::BUTTON, WG_BUTTON_R1}, |
| + {EV_KEY, BTN_PINKIE, GamepadEventType::BUTTON, WG_BUTTON_L2}, |
| + {EV_KEY, BTN_TOP2, GamepadEventType::BUTTON, WG_BUTTON_R2}, |
| + {EV_ABS, ABS_HAT0X, GamepadEventType::BUTTON, kHAT_X}, |
| + {EV_ABS, ABS_HAT0Y, GamepadEventType::BUTTON, kHAT_Y}}; |
| + return ↦ |
| +} |
| + |
| +MappingData* GetVendor_1d79Product_0009Map() { |
| + static MappingData map = { |
| + {EV_KEY, BTN_A, GamepadEventType::BUTTON, WG_BUTTON_A}, |
| + {EV_KEY, BTN_B, GamepadEventType::BUTTON, WG_BUTTON_B}, |
| + {EV_KEY, BTN_X, GamepadEventType::BUTTON, WG_BUTTON_X}, |
| + {EV_KEY, BTN_Y, GamepadEventType::BUTTON, WG_BUTTON_Y}, |
| + {EV_KEY, BTN_TL, GamepadEventType::BUTTON, WG_BUTTON_L1}, |
| + {EV_KEY, BTN_TR, GamepadEventType::BUTTON, WG_BUTTON_R1}, |
| + {EV_KEY, BTN_START, GamepadEventType::BUTTON, WG_BUTTON_START}, |
| + {EV_KEY, BTN_THUMBL, GamepadEventType::BUTTON, WG_BUTTON_THUMBL}, |
| + {EV_KEY, BTN_THUMBR, GamepadEventType::BUTTON, WG_BUTTON_THUMBR}, |
| + {EV_KEY, KEY_UP, GamepadEventType::BUTTON, WG_BUTTON_DPAD_UP}, |
| + {EV_KEY, KEY_DOWN, GamepadEventType::BUTTON, WG_BUTTON_DPAD_DOWN}, |
| + {EV_KEY, KEY_LEFT, GamepadEventType::BUTTON, WG_BUTTON_DPAD_LEFT}, |
| + {EV_KEY, KEY_RIGHT, GamepadEventType::BUTTON, WG_BUTTON_DPAD_RIGHT}, |
| + {EV_ABS, ABS_X, GamepadEventType::AXIS, WG_ABS_X}, |
| + {EV_ABS, ABS_Y, GamepadEventType::AXIS, WG_ABS_Y}, |
| + {EV_ABS, ABS_Z, GamepadEventType::AXIS, WG_ABS_Z}, |
| + {EV_ABS, ABS_RZ, GamepadEventType::AXIS, WG_ABS_RZ}, |
| + {EV_ABS, ABS_BRAKE, GamepadEventType::BUTTON, WG_BUTTON_L2}, |
| + {EV_ABS, ABS_GAS, GamepadEventType::BUTTON, WG_BUTTON_R2}, |
| + {EV_ABS, ABS_HAT0X, GamepadEventType::BUTTON, kHAT_X}, |
| + {EV_ABS, ABS_HAT0Y, GamepadEventType::BUTTON, kHAT_Y}}; |
| + return ↦ |
| +} |
| + |
| +MappingData* GetVendor_0b05Product_4500Map() { |
| + static MappingData map = { |
| + {EV_KEY, BTN_A, GamepadEventType::BUTTON, WG_BUTTON_A}, |
| + {EV_KEY, BTN_B, GamepadEventType::BUTTON, WG_BUTTON_B}, |
| + {EV_KEY, BTN_X, GamepadEventType::BUTTON, WG_BUTTON_X}, |
| + {EV_KEY, BTN_Y, GamepadEventType::BUTTON, WG_BUTTON_Y}, |
| + {EV_KEY, BTN_TL, GamepadEventType::BUTTON, WG_BUTTON_L1}, |
| + {EV_KEY, BTN_TR, GamepadEventType::BUTTON, WG_BUTTON_R1}, |
| + {EV_KEY, BTN_THUMBL, GamepadEventType::BUTTON, WG_BUTTON_THUMBL}, |
| + {EV_KEY, BTN_THUMBR, GamepadEventType::BUTTON, WG_BUTTON_THUMBR}, |
| + {EV_KEY, BTN_MODE, GamepadEventType::BUTTON, WG_BUTTON_MODE}, |
| + {EV_ABS, ABS_X, GamepadEventType::AXIS, WG_ABS_X}, |
| + {EV_ABS, ABS_Y, GamepadEventType::AXIS, WG_ABS_Y}, |
| + {EV_ABS, ABS_Z, GamepadEventType::AXIS, WG_ABS_Z}, |
| + {EV_ABS, ABS_RZ, GamepadEventType::AXIS, WG_ABS_RZ}, |
| + {EV_ABS, ABS_BRAKE, GamepadEventType::BUTTON, WG_BUTTON_L2}, |
| + {EV_ABS, ABS_GAS, GamepadEventType::BUTTON, WG_BUTTON_R2}, |
| + {EV_ABS, ABS_HAT0X, GamepadEventType::BUTTON, kHAT_X}, |
| + {EV_ABS, ABS_HAT0Y, GamepadEventType::BUTTON, kHAT_Y}}; |
| + return ↦ |
| +} |
| + |
| +MappingData* GetVendor_046dProduct_c21dMap() { |
| + static MappingData map = { |
| + {EV_KEY, BTN_A, GamepadEventType::BUTTON, WG_BUTTON_A}, |
| + {EV_KEY, BTN_B, GamepadEventType::BUTTON, WG_BUTTON_B}, |
| + {EV_KEY, BTN_X, GamepadEventType::BUTTON, WG_BUTTON_X}, |
| + {EV_KEY, BTN_Y, GamepadEventType::BUTTON, WG_BUTTON_Y}, |
| + {EV_KEY, BTN_TL, GamepadEventType::BUTTON, WG_BUTTON_L1}, |
| + {EV_KEY, BTN_TR, GamepadEventType::BUTTON, WG_BUTTON_R1}, |
| + {EV_KEY, BTN_START, GamepadEventType::BUTTON, WG_BUTTON_START}, |
| + {EV_KEY, BTN_THUMBL, GamepadEventType::BUTTON, WG_BUTTON_THUMBL}, |
| + {EV_KEY, BTN_THUMBR, GamepadEventType::BUTTON, WG_BUTTON_THUMBR}, |
| + {EV_ABS, ABS_X, GamepadEventType::AXIS, WG_ABS_X}, |
| + {EV_ABS, ABS_Y, GamepadEventType::AXIS, WG_ABS_Y}, |
| + {EV_ABS, ABS_RX, GamepadEventType::AXIS, WG_ABS_Z}, |
| + {EV_ABS, ABS_RY, GamepadEventType::AXIS, WG_ABS_RZ}, |
| + {EV_ABS, ABS_HAT0X, GamepadEventType::BUTTON, kHAT_X}, |
| + {EV_ABS, ABS_HAT0Y, GamepadEventType::BUTTON, kHAT_Y}}; |
| + return ↦ |
| +} |
| + |
| +MappingData* GetVendor_18d1Product_2c40Map() { |
| + static MappingData map = { |
| + {EV_KEY, BTN_A, GamepadEventType::BUTTON, WG_BUTTON_A}, |
| + {EV_KEY, BTN_B, GamepadEventType::BUTTON, WG_BUTTON_B}, |
| + {EV_KEY, BTN_X, GamepadEventType::BUTTON, WG_BUTTON_X}, |
| + {EV_KEY, BTN_Y, GamepadEventType::BUTTON, WG_BUTTON_Y}, |
| + {EV_KEY, BTN_TL, GamepadEventType::BUTTON, WG_BUTTON_L1}, |
| + {EV_KEY, BTN_TR, GamepadEventType::BUTTON, WG_BUTTON_R1}, |
| + {EV_KEY, BTN_THUMBL, GamepadEventType::BUTTON, WG_BUTTON_THUMBL}, |
| + {EV_KEY, BTN_THUMBR, GamepadEventType::BUTTON, WG_BUTTON_THUMBR}, |
| + {EV_KEY, BTN_MODE, GamepadEventType::BUTTON, WG_BUTTON_MODE}, |
| + {EV_ABS, ABS_X, GamepadEventType::AXIS, WG_ABS_X}, |
| + {EV_ABS, ABS_Y, GamepadEventType::AXIS, WG_ABS_Y}, |
| + {EV_ABS, ABS_Z, GamepadEventType::AXIS, WG_ABS_Z}, |
| + {EV_ABS, ABS_RZ, GamepadEventType::AXIS, WG_ABS_RZ}, |
| + {EV_ABS, ABS_BRAKE, GamepadEventType::BUTTON, WG_BUTTON_L2}, |
| + {EV_ABS, ABS_GAS, GamepadEventType::BUTTON, WG_BUTTON_R2}, |
| + {EV_ABS, ABS_HAT0X, GamepadEventType::BUTTON, kHAT_X}, |
| + {EV_ABS, ABS_HAT0Y, GamepadEventType::BUTTON, kHAT_Y}}; |
| + return ↦ |
| +} |
| + |
| +MappingData* GetVendor_2378Product_1008Map() { |
| + static MappingData map = { |
| + {EV_KEY, BTN_A, GamepadEventType::BUTTON, WG_BUTTON_A}, |
| + {EV_KEY, BTN_B, GamepadEventType::BUTTON, WG_BUTTON_B}, |
| + {EV_KEY, BTN_X, GamepadEventType::BUTTON, WG_BUTTON_X}, |
| + {EV_KEY, BTN_Y, GamepadEventType::BUTTON, WG_BUTTON_Y}, |
| + {EV_KEY, BTN_TL, GamepadEventType::BUTTON, WG_BUTTON_L1}, |
| + {EV_KEY, BTN_TR, GamepadEventType::BUTTON, WG_BUTTON_R1}, |
| + {EV_KEY, BTN_SELECT, GamepadEventType::BUTTON, WG_BUTTON_SELECT}, |
| + {EV_KEY, BTN_START, GamepadEventType::BUTTON, WG_BUTTON_START}, |
| + {EV_KEY, BTN_THUMBL, GamepadEventType::BUTTON, WG_BUTTON_THUMBL}, |
| + {EV_KEY, BTN_THUMBR, GamepadEventType::BUTTON, WG_BUTTON_THUMBR}, |
| + {EV_ABS, ABS_X, GamepadEventType::AXIS, WG_ABS_X}, |
| + {EV_ABS, ABS_Y, GamepadEventType::AXIS, WG_ABS_Y}, |
| + {EV_ABS, ABS_RX, GamepadEventType::AXIS, WG_ABS_Z}, |
| + {EV_ABS, ABS_RY, GamepadEventType::AXIS, WG_ABS_RZ}, |
| + {EV_ABS, ABS_Z, GamepadEventType::BUTTON, WG_BUTTON_L2}, |
| + {EV_ABS, ABS_RZ, GamepadEventType::BUTTON, WG_BUTTON_R2}, |
| + {EV_ABS, ABS_HAT0X, GamepadEventType::BUTTON, kHAT_X}, |
| + {EV_ABS, ABS_HAT0Y, GamepadEventType::BUTTON, kHAT_Y}}; |
| + return ↦ |
| +} |
| + |
| +MappingData* GetVendor_1689Product_fd01Map() { |
| + static MappingData map = { |
| + {EV_KEY, BTN_A, GamepadEventType::BUTTON, WG_BUTTON_A}, |
| + {EV_KEY, BTN_B, GamepadEventType::BUTTON, WG_BUTTON_B}, |
| + {EV_KEY, BTN_X, GamepadEventType::BUTTON, WG_BUTTON_X}, |
| + {EV_KEY, BTN_Y, GamepadEventType::BUTTON, WG_BUTTON_Y}, |
| + {EV_KEY, BTN_TL, GamepadEventType::BUTTON, WG_BUTTON_L1}, |
| + {EV_KEY, BTN_TR, GamepadEventType::BUTTON, WG_BUTTON_R1}, |
| + {EV_KEY, BTN_START, GamepadEventType::BUTTON, WG_BUTTON_START}, |
| + {EV_KEY, BTN_THUMBL, GamepadEventType::BUTTON, WG_BUTTON_THUMBL}, |
| + {EV_KEY, BTN_THUMBR, GamepadEventType::BUTTON, WG_BUTTON_THUMBR}, |
| + {EV_ABS, ABS_X, GamepadEventType::AXIS, WG_ABS_X}, |
| + {EV_ABS, ABS_Y, GamepadEventType::AXIS, WG_ABS_Y}, |
| + {EV_ABS, ABS_RX, GamepadEventType::AXIS, WG_ABS_Z}, |
| + {EV_ABS, ABS_RY, GamepadEventType::AXIS, WG_ABS_RZ}, |
| + {EV_ABS, ABS_Z, GamepadEventType::BUTTON, WG_BUTTON_L2}, |
| + {EV_ABS, ABS_RZ, GamepadEventType::BUTTON, WG_BUTTON_R2}, |
| + {EV_ABS, ABS_HAT0X, GamepadEventType::BUTTON, kHAT_X}, |
| + {EV_ABS, ABS_HAT0Y, GamepadEventType::BUTTON, kHAT_Y}}; |
| + return ↦ |
| +} |
| + |
| +MappingData* GetVendor_12bdProduct_d015Map() { |
| + static MappingData map = { |
| + {EV_KEY, BTN_C, GamepadEventType::BUTTON, WG_BUTTON_A}, |
| + {EV_KEY, BTN_B, GamepadEventType::BUTTON, WG_BUTTON_B}, |
| + {EV_KEY, BTN_X, GamepadEventType::BUTTON, WG_BUTTON_X}, |
| + {EV_KEY, BTN_A, GamepadEventType::BUTTON, WG_BUTTON_Y}, |
| + {EV_KEY, BTN_Y, GamepadEventType::BUTTON, WG_BUTTON_L1}, |
| + {EV_KEY, BTN_Z, GamepadEventType::BUTTON, WG_BUTTON_R1}, |
| + {EV_KEY, BTN_TL2, GamepadEventType::BUTTON, WG_BUTTON_SELECT}, |
| + {EV_KEY, BTN_TR2, GamepadEventType::BUTTON, WG_BUTTON_START}, |
| + {EV_ABS, ABS_X, GamepadEventType::BUTTON, kHAT_X}, |
| + {EV_ABS, ABS_Y, GamepadEventType::BUTTON, kHAT_Y}}; |
| + return ↦ |
| +} |
| + |
| +MappingData* GetVendor_1038Product_1412Map() { |
| + static MappingData map = { |
| + {EV_KEY, BTN_A, GamepadEventType::BUTTON, WG_BUTTON_A}, |
| + {EV_KEY, BTN_B, GamepadEventType::BUTTON, WG_BUTTON_B}, |
| + {EV_KEY, BTN_X, GamepadEventType::BUTTON, WG_BUTTON_X}, |
| + {EV_KEY, BTN_Y, GamepadEventType::BUTTON, WG_BUTTON_Y}, |
| + {EV_KEY, BTN_TL, GamepadEventType::BUTTON, WG_BUTTON_L1}, |
| + {EV_KEY, BTN_TR, GamepadEventType::BUTTON, WG_BUTTON_R1}, |
| + {EV_KEY, BTN_MODE, GamepadEventType::BUTTON, WG_BUTTON_SELECT}, |
| + {EV_KEY, BTN_START, GamepadEventType::BUTTON, WG_BUTTON_START}, |
| + {EV_ABS, ABS_X, GamepadEventType::AXIS, WG_ABS_X}, |
| + {EV_ABS, ABS_Y, GamepadEventType::AXIS, WG_ABS_Y}, |
| + {EV_ABS, ABS_Z, GamepadEventType::AXIS, WG_ABS_Z}, |
| + {EV_ABS, ABS_RZ, GamepadEventType::AXIS, WG_ABS_RZ}, |
| + {EV_ABS, ABS_HAT0X, GamepadEventType::BUTTON, kHAT_X}, |
| + {EV_ABS, ABS_HAT0Y, GamepadEventType::BUTTON, kHAT_Y}}; |
| + return ↦ |
| +} |
| + |
| +MappingData* GetVendor_1badProduct_f036Map() { |
| + static MappingData map = { |
| + {EV_KEY, BTN_A, GamepadEventType::BUTTON, WG_BUTTON_A}, |
| + {EV_KEY, BTN_B, GamepadEventType::BUTTON, WG_BUTTON_B}, |
| + {EV_KEY, BTN_X, GamepadEventType::BUTTON, WG_BUTTON_X}, |
| + {EV_KEY, BTN_Y, GamepadEventType::BUTTON, WG_BUTTON_Y}, |
| + {EV_KEY, BTN_TL, GamepadEventType::BUTTON, WG_BUTTON_L1}, |
| + {EV_KEY, BTN_TR, GamepadEventType::BUTTON, WG_BUTTON_R1}, |
| + {EV_KEY, BTN_START, GamepadEventType::BUTTON, WG_BUTTON_START}, |
| + {EV_KEY, BTN_THUMBL, GamepadEventType::BUTTON, WG_BUTTON_THUMBL}, |
| + {EV_KEY, BTN_THUMBR, GamepadEventType::BUTTON, WG_BUTTON_THUMBR}, |
| + {EV_ABS, ABS_X, GamepadEventType::AXIS, WG_ABS_X}, |
| + {EV_ABS, ABS_Y, GamepadEventType::AXIS, WG_ABS_Y}, |
| + {EV_ABS, ABS_RX, GamepadEventType::AXIS, WG_ABS_Z}, |
| + {EV_ABS, ABS_RY, GamepadEventType::AXIS, WG_ABS_RZ}, |
| + {EV_ABS, ABS_Z, GamepadEventType::BUTTON, WG_BUTTON_L2}, |
| + {EV_ABS, ABS_RZ, GamepadEventType::BUTTON, WG_BUTTON_R2}, |
| + {EV_ABS, ABS_HAT0X, GamepadEventType::BUTTON, kHAT_X}, |
| + {EV_ABS, ABS_HAT0Y, GamepadEventType::BUTTON, kHAT_Y}}; |
| + return ↦ |
| +} |
| + |
| +MappingData* GetVendor_1badProduct_f016Map() { |
| + static MappingData map = { |
| + {EV_KEY, BTN_A, GamepadEventType::BUTTON, WG_BUTTON_A}, |
| + {EV_KEY, BTN_B, GamepadEventType::BUTTON, WG_BUTTON_B}, |
| + {EV_KEY, BTN_X, GamepadEventType::BUTTON, WG_BUTTON_X}, |
| + {EV_KEY, BTN_Y, GamepadEventType::BUTTON, WG_BUTTON_Y}, |
| + {EV_KEY, BTN_TL, GamepadEventType::BUTTON, WG_BUTTON_L1}, |
| + {EV_KEY, BTN_TR, GamepadEventType::BUTTON, WG_BUTTON_R1}, |
| + {EV_KEY, BTN_START, GamepadEventType::BUTTON, WG_BUTTON_START}, |
| + {EV_KEY, BTN_THUMBL, GamepadEventType::BUTTON, WG_BUTTON_THUMBL}, |
| + {EV_KEY, BTN_THUMBR, GamepadEventType::BUTTON, WG_BUTTON_THUMBR}, |
| + {EV_ABS, ABS_X, GamepadEventType::AXIS, WG_ABS_X}, |
| + {EV_ABS, ABS_Y, GamepadEventType::AXIS, WG_ABS_Y}, |
| + {EV_ABS, ABS_RX, GamepadEventType::AXIS, WG_ABS_Z}, |
| + {EV_ABS, ABS_RY, GamepadEventType::AXIS, WG_ABS_RZ}, |
| + {EV_ABS, ABS_Z, GamepadEventType::BUTTON, WG_BUTTON_L2}, |
| + {EV_ABS, ABS_RZ, GamepadEventType::BUTTON, WG_BUTTON_R2}, |
| + {EV_ABS, ABS_HAT0X, GamepadEventType::BUTTON, kHAT_X}, |
| + {EV_ABS, ABS_HAT0Y, GamepadEventType::BUTTON, kHAT_Y}}; |
| + return ↦ |
| +} |
| + |
| +MappingData* GetVendor_1689Product_fe00Map() { |
| + static MappingData map = { |
| + {EV_KEY, BTN_A, GamepadEventType::BUTTON, WG_BUTTON_A}, |
| + {EV_KEY, BTN_B, GamepadEventType::BUTTON, WG_BUTTON_B}, |
| + {EV_KEY, BTN_X, GamepadEventType::BUTTON, WG_BUTTON_X}, |
| + {EV_KEY, BTN_Y, GamepadEventType::BUTTON, WG_BUTTON_Y}, |
| + {EV_KEY, BTN_TL, GamepadEventType::BUTTON, WG_BUTTON_L1}, |
| + {EV_KEY, BTN_TR, GamepadEventType::BUTTON, WG_BUTTON_R1}, |
| + {EV_KEY, BTN_START, GamepadEventType::BUTTON, WG_BUTTON_START}, |
| + {EV_KEY, BTN_THUMBL, GamepadEventType::BUTTON, WG_BUTTON_THUMBL}, |
| + {EV_KEY, BTN_THUMBR, GamepadEventType::BUTTON, WG_BUTTON_THUMBR}, |
| + {EV_ABS, ABS_X, GamepadEventType::AXIS, WG_ABS_X}, |
| + {EV_ABS, ABS_Y, GamepadEventType::AXIS, WG_ABS_Y}, |
| + {EV_ABS, ABS_RX, GamepadEventType::AXIS, WG_ABS_Z}, |
| + {EV_ABS, ABS_RY, GamepadEventType::AXIS, WG_ABS_RZ}, |
| + {EV_ABS, ABS_Z, GamepadEventType::BUTTON, WG_BUTTON_L2}, |
| + {EV_ABS, ABS_RZ, GamepadEventType::BUTTON, WG_BUTTON_R2}, |
| + {EV_ABS, ABS_HAT0X, GamepadEventType::BUTTON, kHAT_X}, |
| + {EV_ABS, ABS_HAT0Y, GamepadEventType::BUTTON, kHAT_Y}}; |
| + return ↦ |
| +} |
| + |
| +MappingData* GetVendor_1532Product_0900Map() { |
| + static MappingData map = { |
| + {EV_KEY, BTN_A, GamepadEventType::BUTTON, WG_BUTTON_A}, |
| + {EV_KEY, BTN_B, GamepadEventType::BUTTON, WG_BUTTON_B}, |
| + {EV_KEY, BTN_X, GamepadEventType::BUTTON, WG_BUTTON_X}, |
| + {EV_KEY, BTN_Y, GamepadEventType::BUTTON, WG_BUTTON_Y}, |
| + {EV_KEY, BTN_TL, GamepadEventType::BUTTON, WG_BUTTON_L1}, |
| + {EV_KEY, BTN_TR, GamepadEventType::BUTTON, WG_BUTTON_R1}, |
| + {EV_KEY, BTN_THUMBL, GamepadEventType::BUTTON, WG_BUTTON_THUMBL}, |
| + {EV_KEY, BTN_THUMBR, GamepadEventType::BUTTON, WG_BUTTON_THUMBR}, |
| + {EV_KEY, BTN_MODE, GamepadEventType::BUTTON, WG_BUTTON_MODE}, |
| + {EV_ABS, ABS_X, GamepadEventType::AXIS, WG_ABS_X}, |
| + {EV_ABS, ABS_Y, GamepadEventType::AXIS, WG_ABS_Y}, |
| + {EV_ABS, ABS_Z, GamepadEventType::AXIS, WG_ABS_Z}, |
| + {EV_ABS, ABS_RZ, GamepadEventType::AXIS, WG_ABS_RZ}, |
| + {EV_ABS, ABS_BRAKE, GamepadEventType::BUTTON, WG_BUTTON_L2}, |
| + {EV_ABS, ABS_GAS, GamepadEventType::BUTTON, WG_BUTTON_R2}, |
| + {EV_ABS, ABS_HAT0X, GamepadEventType::BUTTON, kHAT_X}, |
| + {EV_ABS, ABS_HAT0Y, GamepadEventType::BUTTON, kHAT_Y}}; |
| + return ↦ |
| +} |
| + |
| +MappingData* GetVendor_046dProduct_c21fMap() { |
| + static MappingData map = { |
| + {EV_KEY, BTN_A, GamepadEventType::BUTTON, WG_BUTTON_A}, |
| + {EV_KEY, BTN_B, GamepadEventType::BUTTON, WG_BUTTON_B}, |
| + {EV_KEY, BTN_X, GamepadEventType::BUTTON, WG_BUTTON_X}, |
| + {EV_KEY, BTN_Y, GamepadEventType::BUTTON, WG_BUTTON_Y}, |
| + {EV_KEY, BTN_TL, GamepadEventType::BUTTON, WG_BUTTON_L1}, |
| + {EV_KEY, BTN_TR, GamepadEventType::BUTTON, WG_BUTTON_R1}, |
| + {EV_KEY, BTN_START, GamepadEventType::BUTTON, WG_BUTTON_START}, |
| + {EV_KEY, BTN_THUMBL, GamepadEventType::BUTTON, WG_BUTTON_THUMBL}, |
| + {EV_KEY, BTN_THUMBR, GamepadEventType::BUTTON, WG_BUTTON_THUMBR}, |
| + {EV_ABS, ABS_X, GamepadEventType::AXIS, WG_ABS_X}, |
| + {EV_ABS, ABS_Y, GamepadEventType::AXIS, WG_ABS_Y}, |
| + {EV_ABS, ABS_RX, GamepadEventType::AXIS, WG_ABS_Z}, |
| + {EV_ABS, ABS_RY, GamepadEventType::AXIS, WG_ABS_RZ}, |
| + {EV_ABS, ABS_Z, GamepadEventType::BUTTON, WG_BUTTON_L2}, |
| + {EV_ABS, ABS_RZ, GamepadEventType::BUTTON, WG_BUTTON_R2}, |
| + {EV_ABS, ABS_HAT0X, GamepadEventType::BUTTON, kHAT_X}, |
| + {EV_ABS, ABS_HAT0Y, GamepadEventType::BUTTON, kHAT_Y}}; |
| + return ↦ |
| +} |
| + |
| +MappingData* GetVendor_046dProduct_c219Map() { |
| + static MappingData map = { |
| + {EV_KEY, BTN_B, GamepadEventType::BUTTON, WG_BUTTON_A}, |
| + {EV_KEY, BTN_C, GamepadEventType::BUTTON, WG_BUTTON_B}, |
| + {EV_KEY, BTN_A, GamepadEventType::BUTTON, WG_BUTTON_X}, |
| + {EV_KEY, BTN_X, GamepadEventType::BUTTON, WG_BUTTON_Y}, |
| + {EV_KEY, BTN_Y, GamepadEventType::BUTTON, WG_BUTTON_L1}, |
| + {EV_KEY, BTN_Z, GamepadEventType::BUTTON, WG_BUTTON_R1}, |
| + {EV_KEY, BTN_TL, GamepadEventType::BUTTON, WG_BUTTON_L2}, |
| + {EV_KEY, BTN_TR, GamepadEventType::BUTTON, WG_BUTTON_R2}, |
| + {EV_KEY, BTN_TR2, GamepadEventType::BUTTON, WG_BUTTON_START}, |
| + {EV_KEY, BTN_SELECT, GamepadEventType::BUTTON, WG_BUTTON_THUMBL}, |
| + {EV_KEY, BTN_START, GamepadEventType::BUTTON, WG_BUTTON_THUMBR}, |
| + {EV_ABS, ABS_X, GamepadEventType::AXIS, WG_ABS_X}, |
| + {EV_ABS, ABS_Y, GamepadEventType::AXIS, WG_ABS_Y}, |
| + {EV_ABS, ABS_Z, GamepadEventType::AXIS, WG_ABS_Z}, |
| + {EV_ABS, ABS_RZ, GamepadEventType::AXIS, WG_ABS_RZ}, |
| + {EV_ABS, ABS_HAT0X, GamepadEventType::BUTTON, kHAT_X}, |
| + {EV_ABS, ABS_HAT0Y, GamepadEventType::BUTTON, kHAT_Y}}; |
| + return ↦ |
| +} |
| + |
| +MappingData* GetGenericMap() { |
| + static MappingData map = { |
| + {EV_KEY, BTN_A, GamepadEventType::BUTTON, WG_BUTTON_A}, |
| + {EV_KEY, BTN_B, GamepadEventType::BUTTON, WG_BUTTON_B}, |
| + {EV_KEY, BTN_X, GamepadEventType::BUTTON, WG_BUTTON_X}, |
| + {EV_KEY, BTN_Y, GamepadEventType::BUTTON, WG_BUTTON_Y}, |
| + {EV_KEY, BTN_TL, GamepadEventType::BUTTON, WG_BUTTON_L1}, |
| + {EV_KEY, BTN_TR, GamepadEventType::BUTTON, WG_BUTTON_R1}, |
| + {EV_KEY, BTN_TL2, GamepadEventType::BUTTON, WG_BUTTON_L2}, |
| + {EV_KEY, BTN_TR2, GamepadEventType::BUTTON, WG_BUTTON_R2}, |
| + {EV_KEY, BTN_SELECT, GamepadEventType::BUTTON, WG_BUTTON_SELECT}, |
| + {EV_KEY, BTN_START, GamepadEventType::BUTTON, WG_BUTTON_START}, |
| + {EV_KEY, BTN_THUMBL, GamepadEventType::BUTTON, WG_BUTTON_THUMBL}, |
| + {EV_KEY, BTN_THUMBR, GamepadEventType::BUTTON, WG_BUTTON_THUMBR}, |
| + {EV_KEY, KEY_UP, GamepadEventType::BUTTON, WG_BUTTON_DPAD_UP}, |
| + {EV_KEY, KEY_DOWN, GamepadEventType::BUTTON, WG_BUTTON_DPAD_DOWN}, |
| + {EV_KEY, KEY_LEFT, GamepadEventType::BUTTON, WG_BUTTON_DPAD_LEFT}, |
| + {EV_KEY, KEY_RIGHT, GamepadEventType::BUTTON, WG_BUTTON_DPAD_RIGHT}, |
| + {EV_KEY, BTN_MODE, GamepadEventType::BUTTON, WG_BUTTON_MODE}, |
| + {EV_ABS, ABS_X, GamepadEventType::AXIS, WG_ABS_X}, |
| + {EV_ABS, ABS_Y, GamepadEventType::AXIS, WG_ABS_Y}, |
| + {EV_ABS, ABS_Z, GamepadEventType::AXIS, WG_ABS_Z}, |
| + {EV_ABS, ABS_RZ, GamepadEventType::AXIS, WG_ABS_RZ}, |
| + {EV_ABS, ABS_HAT0X, GamepadEventType::BUTTON, kHAT_X}, |
| + {EV_ABS, ABS_HAT0Y, GamepadEventType::BUTTON, kHAT_Y}}; |
| + return ↦ |
| +} |
| + |
| +MappingData* GetGamepadMapping(unsigned short vendor_id, |
| + unsigned short product_id) { |
| + if (vendor_id == 0x2378 && product_id == 0x100a) { |
| + return GetVendor_2378Product_100aMap(); |
| + } |
| + if (vendor_id == 0x046d && product_id == 0xc216) { |
| + return GetVendor_046dProduct_c216Map(); |
| + } |
| + if (vendor_id == 0x045e && product_id == 0x028e) { |
| + return GetVendor_045eProduct_028eMap(); |
| + } |
| + if (vendor_id == 0x054c && product_id == 0x0268) { |
| + return GetVendor_054cProduct_0268Map(); |
| + } |
| + if (vendor_id == 0x046d && product_id == 0xb501) { |
| + return GetVendor_046dProduct_b501Map(); |
| + } |
| + if (vendor_id == 0x1689 && product_id == 0xfd00) { |
| + return GetVendor_1689Product_fd00Map(); |
| + } |
| + if (vendor_id == 0x046d && product_id == 0xc294) { |
| + return GetVendor_046dProduct_c294Map(); |
| + } |
| + if (vendor_id == 0x0079 && product_id == 0x0011) { |
| + return GetVendor_0079Product_0011Map(); |
| + } |
| + if (vendor_id == 0x1bad && product_id == 0xf023) { |
| + return GetVendor_1badProduct_f023Map(); |
| + } |
| + if (vendor_id == 0x1bad && product_id == 0xf027) { |
| + return GetVendor_1badProduct_f027Map(); |
| + } |
| + if (vendor_id == 0x0583 && product_id == 0x2060) { |
| + return GetVendor_0583Product_2060Map(); |
| + } |
| + if (vendor_id == 0x046d && product_id == 0xc299) { |
| + return GetVendor_046dProduct_c299Map(); |
| + } |
| + if (vendor_id == 0x1d79 && product_id == 0x0009) { |
| + return GetVendor_1d79Product_0009Map(); |
| + } |
| + if (vendor_id == 0x0b05 && product_id == 0x4500) { |
| + return GetVendor_0b05Product_4500Map(); |
| + } |
| + if (vendor_id == 0x046d && product_id == 0xc21d) { |
| + return GetVendor_046dProduct_c21dMap(); |
| + } |
| + if (vendor_id == 0x18d1 && product_id == 0x2c40) { |
| + return GetVendor_18d1Product_2c40Map(); |
| + } |
| + if (vendor_id == 0x2378 && product_id == 0x1008) { |
| + return GetVendor_2378Product_1008Map(); |
| + } |
| + if (vendor_id == 0x1689 && product_id == 0xfd01) { |
| + return GetVendor_1689Product_fd01Map(); |
| + } |
| + if (vendor_id == 0x12bd && product_id == 0xd015) { |
| + return GetVendor_12bdProduct_d015Map(); |
| + } |
| + if (vendor_id == 0x1038 && product_id == 0x1412) { |
| + return GetVendor_1038Product_1412Map(); |
| + } |
| + if (vendor_id == 0x1bad && product_id == 0xf036) { |
| + return GetVendor_1badProduct_f036Map(); |
| + } |
| + if (vendor_id == 0x1bad && product_id == 0xf016) { |
| + return GetVendor_1badProduct_f016Map(); |
| + } |
| + if (vendor_id == 0x1689 && product_id == 0xfe00) { |
| + return GetVendor_1689Product_fe00Map(); |
| + } |
| + if (vendor_id == 0x1532 && product_id == 0x0900) { |
| + return GetVendor_1532Product_0900Map(); |
| + } |
| + if (vendor_id == 0x046d && product_id == 0xc21f) { |
| + return GetVendor_046dProduct_c21fMap(); |
| + } |
| + if (vendor_id == 0x046d && product_id == 0xc219) { |
| + return GetVendor_046dProduct_c219Map(); |
| + } |
| + return GetGenericMap(); |
| +} |
| +} // namespace |