diff options
| author | 2016-06-10 22:28:58 -0400 | |
|---|---|---|
| committer | 2016-06-10 22:28:58 -0400 | |
| commit | f99961581ee129c44625dbd8890fab349253271a (patch) | |
| tree | 9a2610d391d795b533054a91c22763e869bdd62b /src/core/settings.h | |
| parent | Merge pull request #1896 from citra-emu/revert-1893-interpreter-split (diff) | |
| parent | fixup! fixup! Refactor input system (diff) | |
| download | yuzu-f99961581ee129c44625dbd8890fab349253271a.tar.gz yuzu-f99961581ee129c44625dbd8890fab349253271a.tar.xz yuzu-f99961581ee129c44625dbd8890fab349253271a.zip | |
Merge pull request #1789 from wwylele/input-refactor
Refactor input mapping & implement circle pad modifier
Diffstat (limited to 'src/core/settings.h')
| -rw-r--r-- | src/core/settings.h | 22 |
1 files changed, 17 insertions, 5 deletions
diff --git a/src/core/settings.h b/src/core/settings.h index ea72f4d9c..f95e62390 100644 --- a/src/core/settings.h +++ b/src/core/settings.h | |||
| @@ -13,29 +13,40 @@ namespace Settings { | |||
| 13 | 13 | ||
| 14 | namespace NativeInput { | 14 | namespace NativeInput { |
| 15 | enum Values { | 15 | enum Values { |
| 16 | // directly mapped keys | ||
| 16 | A, B, X, Y, | 17 | A, B, X, Y, |
| 17 | L, R, ZL, ZR, | 18 | L, R, ZL, ZR, |
| 18 | START, SELECT, HOME, | 19 | START, SELECT, HOME, |
| 19 | DUP, DDOWN, DLEFT, DRIGHT, | 20 | DUP, DDOWN, DLEFT, DRIGHT, |
| 20 | SUP, SDOWN, SLEFT, SRIGHT, | ||
| 21 | CUP, CDOWN, CLEFT, CRIGHT, | 21 | CUP, CDOWN, CLEFT, CRIGHT, |
| 22 | |||
| 23 | // indirectly mapped keys | ||
| 24 | CIRCLE_UP, CIRCLE_DOWN, CIRCLE_LEFT, CIRCLE_RIGHT, | ||
| 25 | CIRCLE_MODIFIER, | ||
| 26 | |||
| 22 | NUM_INPUTS | 27 | NUM_INPUTS |
| 23 | }; | 28 | }; |
| 29 | |||
| 24 | static const std::array<const char*, NUM_INPUTS> Mapping = {{ | 30 | static const std::array<const char*, NUM_INPUTS> Mapping = {{ |
| 31 | // directly mapped keys | ||
| 25 | "pad_a", "pad_b", "pad_x", "pad_y", | 32 | "pad_a", "pad_b", "pad_x", "pad_y", |
| 26 | "pad_l", "pad_r", "pad_zl", "pad_zr", | 33 | "pad_l", "pad_r", "pad_zl", "pad_zr", |
| 27 | "pad_start", "pad_select", "pad_home", | 34 | "pad_start", "pad_select", "pad_home", |
| 28 | "pad_dup", "pad_ddown", "pad_dleft", "pad_dright", | 35 | "pad_dup", "pad_ddown", "pad_dleft", "pad_dright", |
| 29 | "pad_sup", "pad_sdown", "pad_sleft", "pad_sright", | 36 | "pad_cup", "pad_cdown", "pad_cleft", "pad_cright", |
| 30 | "pad_cup", "pad_cdown", "pad_cleft", "pad_cright" | 37 | |
| 38 | // indirectly mapped keys | ||
| 39 | "pad_circle_up", "pad_circle_down", "pad_circle_left", "pad_circle_right", | ||
| 40 | "pad_circle_modifier", | ||
| 31 | }}; | 41 | }}; |
| 32 | static const std::array<Values, NUM_INPUTS> All = {{ | 42 | static const std::array<Values, NUM_INPUTS> All = {{ |
| 33 | A, B, X, Y, | 43 | A, B, X, Y, |
| 34 | L, R, ZL, ZR, | 44 | L, R, ZL, ZR, |
| 35 | START, SELECT, HOME, | 45 | START, SELECT, HOME, |
| 36 | DUP, DDOWN, DLEFT, DRIGHT, | 46 | DUP, DDOWN, DLEFT, DRIGHT, |
| 37 | SUP, SDOWN, SLEFT, SRIGHT, | 47 | CUP, CDOWN, CLEFT, CRIGHT, |
| 38 | CUP, CDOWN, CLEFT, CRIGHT | 48 | CIRCLE_UP, CIRCLE_DOWN, CIRCLE_LEFT, CIRCLE_RIGHT, |
| 49 | CIRCLE_MODIFIER, | ||
| 39 | }}; | 50 | }}; |
| 40 | } | 51 | } |
| 41 | 52 | ||
| @@ -46,6 +57,7 @@ struct Values { | |||
| 46 | 57 | ||
| 47 | // Controls | 58 | // Controls |
| 48 | std::array<int, NativeInput::NUM_INPUTS> input_mappings; | 59 | std::array<int, NativeInput::NUM_INPUTS> input_mappings; |
| 60 | float pad_circle_modifier_scale; | ||
| 49 | 61 | ||
| 50 | // Core | 62 | // Core |
| 51 | int frame_skip; | 63 | int frame_skip; |