Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(266)

Unified Diff: ui/events/ozone/evdev/gamepad_mapping.cc

Issue 2805793002: ozone: evdev: Add gamepad support (Closed)
Patch Set: Created 3 years, 8 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
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 &map;
+}
+
+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 &map;
+}
+
+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 &map;
+}
+
+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 &map;
+}
+
+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 &map;
+}
+
+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 &map;
+}
+
+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 &map;
+}
+
+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 &map;
+}
+
+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 &map;
+}
+
+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 &map;
+}
+
+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 &map;
+}
+
+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 &map;
+}
+
+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 &map;
+}
+
+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 &map;
+}
+
+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 &map;
+}
+
+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 &map;
+}
+
+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 &map;
+}
+
+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 &map;
+}
+
+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 &map;
+}
+
+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 &map;
+}
+
+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 &map;
+}
+
+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 &map;
+}
+
+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 &map;
+}
+
+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 &map;
+}
+
+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 &map;
+}
+
+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 &map;
+}
+
+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 &map;
+}
+
+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

Powered by Google App Engine
This is Rietveld 408576698