2022-03-21 21:52:44 -04:00
|
|
|
#pragma once
|
|
|
|
#include "Controller.h"
|
|
|
|
#include <string>
|
|
|
|
|
|
|
|
namespace Ship {
|
|
|
|
class KeyboardController : public Controller {
|
|
|
|
public:
|
|
|
|
KeyboardController(int32_t dwControllerNumber);
|
|
|
|
~KeyboardController();
|
|
|
|
|
|
|
|
void ReadFromSource();
|
|
|
|
void WriteToSource(ControllerCallback* controller);
|
2022-04-26 19:50:24 -04:00
|
|
|
bool Connected() const { return true; }
|
|
|
|
bool CanRumble() const { return false; }
|
2022-03-21 21:52:44 -04:00
|
|
|
|
|
|
|
bool PressButton(int32_t dwScancode);
|
|
|
|
bool ReleaseButton(int32_t dwScancode);
|
|
|
|
void ReleaseAllButtons();
|
|
|
|
|
2022-04-26 19:50:24 -04:00
|
|
|
bool HasPadConf() const { return false; }
|
|
|
|
std::optional<std::string> GetPadConfSection() { return {}; }
|
|
|
|
|
2022-03-21 21:52:44 -04:00
|
|
|
protected:
|
|
|
|
std::string GetControllerType();
|
|
|
|
std::string GetConfSection();
|
|
|
|
std::string GetBindingConfSection();
|
|
|
|
};
|
|
|
|
}
|