diff options
Diffstat (limited to 'src')
| -rw-r--r-- | src/common/key_map.cpp | 30 | ||||
| -rw-r--r-- | src/common/key_map.h | 14 |
2 files changed, 24 insertions, 20 deletions
diff --git a/src/common/key_map.cpp b/src/common/key_map.cpp index 61572cde6..ad311d66b 100644 --- a/src/common/key_map.cpp +++ b/src/common/key_map.cpp | |||
| @@ -19,11 +19,11 @@ const std::array<KeyTarget, Settings::NativeInput::NUM_INPUTS> mapping_targets = | |||
| 19 | Service::HID::PAD_UP, Service::HID::PAD_DOWN, Service::HID::PAD_LEFT, Service::HID::PAD_RIGHT, | 19 | Service::HID::PAD_UP, Service::HID::PAD_DOWN, Service::HID::PAD_LEFT, Service::HID::PAD_RIGHT, |
| 20 | Service::HID::PAD_C_UP, Service::HID::PAD_C_DOWN, Service::HID::PAD_C_LEFT, Service::HID::PAD_C_RIGHT, | 20 | Service::HID::PAD_C_UP, Service::HID::PAD_C_DOWN, Service::HID::PAD_C_LEFT, Service::HID::PAD_C_RIGHT, |
| 21 | 21 | ||
| 22 | IndirectTarget::CIRCLE_PAD_UP, | 22 | IndirectTarget::CirclePadUp, |
| 23 | IndirectTarget::CIRCLE_PAD_DOWN, | 23 | IndirectTarget::CirclePadDown, |
| 24 | IndirectTarget::CIRCLE_PAD_LEFT, | 24 | IndirectTarget::CirclePadLeft, |
| 25 | IndirectTarget::CIRCLE_PAD_RIGHT, | 25 | IndirectTarget::CirclePadRight, |
| 26 | IndirectTarget::CIRCLE_PAD_MODIFIER, | 26 | IndirectTarget::CirclePadModifier, |
| 27 | }}; | 27 | }}; |
| 28 | 28 | ||
| 29 | static std::map<HostDeviceKey, KeyTarget> key_map; | 29 | static std::map<HostDeviceKey, KeyTarget> key_map; |
| @@ -79,23 +79,23 @@ void PressKey(EmuWindow& emu_window, HostDeviceKey key) { | |||
| 79 | emu_window.ButtonPressed({{target->second.target.direct_target_hex}}); | 79 | emu_window.ButtonPressed({{target->second.target.direct_target_hex}}); |
| 80 | } else { | 80 | } else { |
| 81 | switch (target->second.target.indirect_target) { | 81 | switch (target->second.target.indirect_target) { |
| 82 | case IndirectTarget::CIRCLE_PAD_UP: | 82 | case IndirectTarget::CirclePadUp: |
| 83 | circle_pad_up = true; | 83 | circle_pad_up = true; |
| 84 | UpdateCirclePad(emu_window); | 84 | UpdateCirclePad(emu_window); |
| 85 | break; | 85 | break; |
| 86 | case IndirectTarget::CIRCLE_PAD_DOWN: | 86 | case IndirectTarget::CirclePadDown: |
| 87 | circle_pad_down = true; | 87 | circle_pad_down = true; |
| 88 | UpdateCirclePad(emu_window); | 88 | UpdateCirclePad(emu_window); |
| 89 | break; | 89 | break; |
| 90 | case IndirectTarget::CIRCLE_PAD_LEFT: | 90 | case IndirectTarget::CirclePadLeft: |
| 91 | circle_pad_left = true; | 91 | circle_pad_left = true; |
| 92 | UpdateCirclePad(emu_window); | 92 | UpdateCirclePad(emu_window); |
| 93 | break; | 93 | break; |
| 94 | case IndirectTarget::CIRCLE_PAD_RIGHT: | 94 | case IndirectTarget::CirclePadRight: |
| 95 | circle_pad_right = true; | 95 | circle_pad_right = true; |
| 96 | UpdateCirclePad(emu_window); | 96 | UpdateCirclePad(emu_window); |
| 97 | break; | 97 | break; |
| 98 | case IndirectTarget::CIRCLE_PAD_MODIFIER: | 98 | case IndirectTarget::CirclePadModifier: |
| 99 | circle_pad_modifier = true; | 99 | circle_pad_modifier = true; |
| 100 | UpdateCirclePad(emu_window); | 100 | UpdateCirclePad(emu_window); |
| 101 | break; | 101 | break; |
| @@ -112,23 +112,23 @@ void ReleaseKey(EmuWindow& emu_window,HostDeviceKey key) { | |||
| 112 | emu_window.ButtonReleased({{target->second.target.direct_target_hex}}); | 112 | emu_window.ButtonReleased({{target->second.target.direct_target_hex}}); |
| 113 | } else { | 113 | } else { |
| 114 | switch (target->second.target.indirect_target) { | 114 | switch (target->second.target.indirect_target) { |
| 115 | case IndirectTarget::CIRCLE_PAD_UP: | 115 | case IndirectTarget::CirclePadUp: |
| 116 | circle_pad_up = false; | 116 | circle_pad_up = false; |
| 117 | UpdateCirclePad(emu_window); | 117 | UpdateCirclePad(emu_window); |
| 118 | break; | 118 | break; |
| 119 | case IndirectTarget::CIRCLE_PAD_DOWN: | 119 | case IndirectTarget::CirclePadDown: |
| 120 | circle_pad_down = false; | 120 | circle_pad_down = false; |
| 121 | UpdateCirclePad(emu_window); | 121 | UpdateCirclePad(emu_window); |
| 122 | break; | 122 | break; |
| 123 | case IndirectTarget::CIRCLE_PAD_LEFT: | 123 | case IndirectTarget::CirclePadLeft: |
| 124 | circle_pad_left = false; | 124 | circle_pad_left = false; |
| 125 | UpdateCirclePad(emu_window); | 125 | UpdateCirclePad(emu_window); |
| 126 | break; | 126 | break; |
| 127 | case IndirectTarget::CIRCLE_PAD_RIGHT: | 127 | case IndirectTarget::CirclePadRight: |
| 128 | circle_pad_right = false; | 128 | circle_pad_right = false; |
| 129 | UpdateCirclePad(emu_window); | 129 | UpdateCirclePad(emu_window); |
| 130 | break; | 130 | break; |
| 131 | case IndirectTarget::CIRCLE_PAD_MODIFIER: | 131 | case IndirectTarget::CirclePadModifier: |
| 132 | circle_pad_modifier = false; | 132 | circle_pad_modifier = false; |
| 133 | UpdateCirclePad(emu_window); | 133 | UpdateCirclePad(emu_window); |
| 134 | break; | 134 | break; |
diff --git a/src/common/key_map.h b/src/common/key_map.h index ec371bdde..4b585c1b9 100644 --- a/src/common/key_map.h +++ b/src/common/key_map.h | |||
| @@ -12,12 +12,16 @@ class EmuWindow; | |||
| 12 | 12 | ||
| 13 | namespace KeyMap { | 13 | namespace KeyMap { |
| 14 | 14 | ||
| 15 | /** | ||
| 16 | * Represents a key mapping target that are not 3DS real buttons. | ||
| 17 | * They will be handled by KeyMap and translated to 3DS input. | ||
| 18 | */ | ||
| 15 | enum class IndirectTarget { | 19 | enum class IndirectTarget { |
| 16 | CIRCLE_PAD_UP, | 20 | CirclePadUp, |
| 17 | CIRCLE_PAD_DOWN, | 21 | CirclePadDown, |
| 18 | CIRCLE_PAD_LEFT, | 22 | CirclePadLeft, |
| 19 | CIRCLE_PAD_RIGHT, | 23 | CirclePadRight, |
| 20 | CIRCLE_PAD_MODIFIER, | 24 | CirclePadModifier, |
| 21 | }; | 25 | }; |
| 22 | 26 | ||
| 23 | /** | 27 | /** |