summaryrefslogtreecommitdiff
path: root/src/input_common/main.cpp
diff options
context:
space:
mode:
authorGravatar wwylele2017-01-21 13:04:00 +0200
committerGravatar wwylele2017-03-01 23:30:57 +0200
commita6bd7917cbc06f9b8f5a7ae24e75db776dc1cd6a (patch)
tree2ed60e602d520f80f57f88f879c4f50363432c17 /src/input_common/main.cpp
parentInputCommon: add Keyboard (diff)
downloadyuzu-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.cpp18
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;
14void Init() { 15void 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
19void Shutdown() { 22void 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
24Keyboard* GetKeyboard() { 28Keyboard* GetKeyboard() {
@@ -32,4 +36,18 @@ std::string GenerateKeyboardParam(int key_code) {
32 return param.Serialize(); 36 return param.Serialize();
33} 37}
34 38
39std::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