#pragma once #include "Observer.h" #define ANYKEY 0xFF #define MATRIXKEY 0xFE typedef struct _InputEvent { const char* source; char inputEvent; char kbchar; } InputEvent; class InputBroker : public Observable { CallbackObserver inputEventObserver = CallbackObserver(this, &InputBroker::handleInputEvent); public: InputBroker(); void registerSource(Observable *source); protected: int handleInputEvent(const InputEvent *event); }; extern InputBroker *inputBroker;