summaryrefslogtreecommitdiffstats
path: root/src/input_common/main.cpp
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--src/input_common/main.cpp35
1 files changed, 35 insertions, 0 deletions
diff --git a/src/input_common/main.cpp b/src/input_common/main.cpp
new file mode 100644
index 000000000..ff25220b4
--- /dev/null
+++ b/src/input_common/main.cpp
@@ -0,0 +1,35 @@
+// Copyright 2017 Citra Emulator Project
+// Licensed under GPLv2 or any later version
+// Refer to the license.txt file included.
+
+#include <memory>
+#include "common/param_package.h"
+#include "input_common/keyboard.h"
+#include "input_common/main.h"
+
+namespace InputCommon {
+
+static std::shared_ptr<Keyboard> keyboard;
+
+void Init() {
+ keyboard = std::make_shared<InputCommon::Keyboard>();
+ Input::RegisterFactory<Input::ButtonDevice>("keyboard", keyboard);
+}
+
+void Shutdown() {
+ Input::UnregisterFactory<Input::ButtonDevice>("keyboard");
+ keyboard.reset();
+}
+
+Keyboard* GetKeyboard() {
+ return keyboard.get();
+}
+
+std::string GenerateKeyboardParam(int key_code) {
+ Common::ParamPackage param{
+ {"engine", "keyboard"}, {"code", std::to_string(key_code)},
+ };
+ return param.Serialize();
+}
+
+} // namespace InputCommon