#pragma once #include "../defines.hpp" #include "CursorShape.hpp" #include "wayland.hpp" #include #include class CSeatManager { public: CSeatManager() = default; ~CSeatManager(); void registerSeat(SP seat); void registerCursorShape(SP shape); bool registered(); std::string getActiveKbLayoutName(); SP m_pKeeb; SP m_pPointer; UP m_pCursorShape; xkb_context* m_pXKBContext = nullptr; xkb_keymap* m_pXKBKeymap = nullptr; xkb_state* m_pXKBState = nullptr; xkb_compose_state* m_pXKBComposeState = nullptr; private: SP m_pSeat; }; inline UP g_pSeatManager = makeUnique();