2017-01-21 01:53:03 -08:00
|
|
|
// Copyright 2017 Citra Emulator Project
|
|
|
|
// Licensed under GPLv2 or any later version
|
|
|
|
// Refer to the license.txt file included.
|
|
|
|
|
|
|
|
#pragma once
|
|
|
|
|
|
|
|
#include <string>
|
|
|
|
|
|
|
|
namespace InputCommon {
|
|
|
|
|
|
|
|
/// Initializes and registers all built-in input device factories.
|
|
|
|
void Init();
|
|
|
|
|
2017-08-13 14:15:39 -07:00
|
|
|
/// Deregisters all built-in input device factories and shuts them down.
|
2017-01-21 01:53:03 -08:00
|
|
|
void Shutdown();
|
|
|
|
|
|
|
|
class Keyboard;
|
|
|
|
|
|
|
|
/// Gets the keyboard button device factory.
|
|
|
|
Keyboard* GetKeyboard();
|
|
|
|
|
2017-08-06 14:04:06 -07:00
|
|
|
class MotionEmu;
|
|
|
|
|
|
|
|
/// Gets the motion emulation factory.
|
|
|
|
MotionEmu* GetMotionEmu();
|
|
|
|
|
2017-01-21 01:53:03 -08:00
|
|
|
/// Generates a serialized param package for creating a keyboard button device
|
|
|
|
std::string GenerateKeyboardParam(int key_code);
|
|
|
|
|
2017-01-21 03:04:00 -08:00
|
|
|
/// Generates a serialized param package for creating an analog device taking input from keyboard
|
|
|
|
std::string GenerateAnalogParamFromKeys(int key_up, int key_down, int key_left, int key_right,
|
|
|
|
int key_modifier, float modifier_scale);
|
|
|
|
|
2017-01-21 01:53:03 -08:00
|
|
|
} // namespace InputCommon
|