Cogs.Core
GamepadMapping.h
1#pragma once
2
3namespace Cogs
4{
5 namespace Core
6 {
7 struct Gamepad
8 {
9 enum AxisNo
10 {
11 TriggerLeft,
12 TriggerRight,
13 StickLeftX,
14 StickLeftY,
15 StickRightX,
16 StickRightY,
17 };
18
19 enum ButtonNo {
20 DPadUp,
21 DPadDown,
22 DPadLeft,
23 DPadRight,
24 Start,
25 Back,
26 LeftThumb,
27 RightThumb,
28 LeftShoulder,
29 RightShoulder,
30 PlaceHolder0,
31 PlaceHolder1,
32 A,
33 B,
34 X,
35 Y,
36 Cross = A,
37 Circle = B,
38 Square = X,
39 Triangle = Y,
40 };
41 };
42
43 static std::unordered_map<std::string, size_t> gamepadAxisMapping = {
44 { "LeftTrigger", Gamepad::TriggerLeft },
45 { "RightTrigger", Gamepad::TriggerRight },
46 { "LeftStickX", Gamepad::StickLeftX },
47 { "LeftStickY", Gamepad::StickLeftY },
48 { "RightStickX", Gamepad::StickRightX },
49 { "RightStickY", Gamepad::StickRightY },
50 };
51
52 static std::unordered_map<std::string, size_t> gamepadButtonMapping = {
53 { "Up", Gamepad::DPadUp },
54 { "Down", Gamepad::DPadDown },
55 { "Left", Gamepad::DPadLeft },
56 { "Right", Gamepad::DPadRight },
57 { "Start", Gamepad::Start },
58 { "Back", Gamepad::Back },
59 { "LeftThumb", Gamepad::LeftThumb },
60 { "RightThumb", Gamepad::RightThumb },
61 { "LeftShoulder", Gamepad::LeftShoulder },
62 { "RightShoulder", Gamepad::RightShoulder },
63 { "A", Gamepad::A },
64 { "B", Gamepad::B },
65 { "X", Gamepad::X },
66 { "Y", Gamepad::Y },
67 { "Cross", Gamepad::Cross },
68 { "Circle", Gamepad::Circle },
69 { "Square", Gamepad::Square },
70 { "Triangle", Gamepad::Triangle },
71 };
72 }
73}
Contains all Cogs related functionality.
Definition: FieldSetter.h:23