2013-09-11 22:49:49 +02:00
|
|
|
#pragma once
|
|
|
|
|
#include "KeyboardHandler.h"
|
|
|
|
|
|
2014-08-24 19:42:19 +02:00
|
|
|
class KeyboardManager
|
2013-09-11 22:49:49 +02:00
|
|
|
{
|
2015-02-22 15:52:20 +01:00
|
|
|
bool m_inited = false;
|
2014-04-01 02:02:27 +02:00
|
|
|
std::unique_ptr<KeyboardHandlerBase> m_keyboard_handler;
|
2013-09-11 22:49:49 +02:00
|
|
|
|
|
|
|
|
public:
|
|
|
|
|
KeyboardManager();
|
|
|
|
|
~KeyboardManager();
|
|
|
|
|
|
|
|
|
|
void Init(const u32 max_connect);
|
|
|
|
|
void Close();
|
|
|
|
|
|
2014-03-31 16:18:44 +02:00
|
|
|
std::vector<Keyboard>& GetKeyboards() { return m_keyboard_handler->GetKeyboards(); }
|
2013-09-11 22:49:49 +02:00
|
|
|
KbInfo& GetInfo() { return m_keyboard_handler->GetInfo(); }
|
2014-03-31 16:18:44 +02:00
|
|
|
std::vector<KbButton>& GetButtons(const u32 keyboard) { return m_keyboard_handler->GetButtons(keyboard); }
|
2014-08-28 03:18:35 +02:00
|
|
|
KbData& GetData(const u32 keyboard) { return m_keyboard_handler->GetData(keyboard); }
|
|
|
|
|
KbConfig& GetConfig(const u32 keyboard) { return m_keyboard_handler->GetConfig(keyboard); }
|
2013-09-11 22:49:49 +02:00
|
|
|
|
2014-03-24 13:47:30 +01:00
|
|
|
bool IsInited() const { return m_inited; }
|
2014-08-24 19:42:19 +02:00
|
|
|
};
|
2013-09-11 22:49:49 +02:00
|
|
|
|
2014-08-24 19:42:19 +02:00
|
|
|
typedef int(*GetKeyboardHandlerCountCb)();
|
|
|
|
|
typedef KeyboardHandlerBase*(*GetKeyboardHandlerCb)(int i);
|
|
|
|
|
|
|
|
|
|
void SetGetKeyboardHandlerCountCallback(GetKeyboardHandlerCountCb cb);
|
|
|
|
|
void SetGetKeyboardHandlerCallback(GetKeyboardHandlerCb cb);
|