diff options
| author | 2017-01-21 13:04:00 +0200 | |
|---|---|---|
| committer | 2017-03-01 23:30:57 +0200 | |
| commit | a6bd7917cbc06f9b8f5a7ae24e75db776dc1cd6a (patch) | |
| tree | 2ed60e602d520f80f57f88f879c4f50363432c17 /src/input_common/main.cpp | |
| parent | InputCommon: add Keyboard (diff) | |
| download | yuzu-a6bd7917cbc06f9b8f5a7ae24e75db776dc1cd6a.tar.gz yuzu-a6bd7917cbc06f9b8f5a7ae24e75db776dc1cd6a.tar.xz yuzu-a6bd7917cbc06f9b8f5a7ae24e75db776dc1cd6a.zip | |
InputCommon: add AnalogFromButton
Diffstat (limited to 'src/input_common/main.cpp')
| -rw-r--r-- | src/input_common/main.cpp | 18 |
1 files changed, 18 insertions, 0 deletions
diff --git a/src/input_common/main.cpp b/src/input_common/main.cpp index ff25220b4..8455fdc17 100644 --- a/src/input_common/main.cpp +++ b/src/input_common/main.cpp | |||
| @@ -4,6 +4,7 @@ | |||
| 4 | 4 | ||
| 5 | #include <memory> | 5 | #include <memory> |
| 6 | #include "common/param_package.h" | 6 | #include "common/param_package.h" |
| 7 | #include "input_common/analog_from_button.h" | ||
| 7 | #include "input_common/keyboard.h" | 8 | #include "input_common/keyboard.h" |
| 8 | #include "input_common/main.h" | 9 | #include "input_common/main.h" |
| 9 | 10 | ||
| @@ -14,11 +15,14 @@ static std::shared_ptr<Keyboard> keyboard; | |||
| 14 | void Init() { | 15 | void Init() { |
| 15 | keyboard = std::make_shared<InputCommon::Keyboard>(); | 16 | keyboard = std::make_shared<InputCommon::Keyboard>(); |
| 16 | Input::RegisterFactory<Input::ButtonDevice>("keyboard", keyboard); | 17 | Input::RegisterFactory<Input::ButtonDevice>("keyboard", keyboard); |
| 18 | Input::RegisterFactory<Input::AnalogDevice>("analog_from_button", | ||
| 19 | std::make_shared<InputCommon::AnalogFromButton>()); | ||
| 17 | } | 20 | } |
| 18 | 21 | ||
| 19 | void Shutdown() { | 22 | void Shutdown() { |
| 20 | Input::UnregisterFactory<Input::ButtonDevice>("keyboard"); | 23 | Input::UnregisterFactory<Input::ButtonDevice>("keyboard"); |
| 21 | keyboard.reset(); | 24 | keyboard.reset(); |
| 25 | Input::UnregisterFactory<Input::AnalogDevice>("analog_from_button"); | ||
| 22 | } | 26 | } |
| 23 | 27 | ||
| 24 | Keyboard* GetKeyboard() { | 28 | Keyboard* GetKeyboard() { |
| @@ -32,4 +36,18 @@ std::string GenerateKeyboardParam(int key_code) { | |||
| 32 | return param.Serialize(); | 36 | return param.Serialize(); |
| 33 | } | 37 | } |
| 34 | 38 | ||
| 39 | std::string GenerateAnalogParamFromKeys(int key_up, int key_down, int key_left, int key_right, | ||
| 40 | int key_modifier, float modifier_scale) { | ||
| 41 | Common::ParamPackage circle_pad_param{ | ||
| 42 | {"engine", "analog_from_button"}, | ||
| 43 | {"up", GenerateKeyboardParam(key_up)}, | ||
| 44 | {"down", GenerateKeyboardParam(key_down)}, | ||
| 45 | {"left", GenerateKeyboardParam(key_left)}, | ||
| 46 | {"right", GenerateKeyboardParam(key_right)}, | ||
| 47 | {"modifier", GenerateKeyboardParam(key_modifier)}, | ||
| 48 | {"modifier_scale", std::to_string(modifier_scale)}, | ||
| 49 | }; | ||
| 50 | return circle_pad_param.Serialize(); | ||
| 51 | } | ||
| 52 | |||
| 35 | } // namespace InputCommon | 53 | } // namespace InputCommon |