diff options
Diffstat (limited to 'src/managers/input/InputMethodRelay.hpp')
| -rw-r--r-- | src/managers/input/InputMethodRelay.hpp | 32 |
1 files changed, 32 insertions, 0 deletions
diff --git a/src/managers/input/InputMethodRelay.hpp b/src/managers/input/InputMethodRelay.hpp new file mode 100644 index 00000000..4a9ea7b1 --- /dev/null +++ b/src/managers/input/InputMethodRelay.hpp @@ -0,0 +1,32 @@ +#pragma once + +#include "../../defines.hpp" +#include "../../helpers/WLClasses.hpp" + +class CInputMethodRelay { +public: + CInputMethodRelay(); + + void onNewIME(wlr_input_method_v2*); + void onNewTextInput(wlr_text_input_v3*); + + wlr_input_method_v2* m_pWLRIME = nullptr; + + void commitIMEState(wlr_text_input_v3*); + void removeTextInput(wlr_text_input_v3*); + + void onKeyboardFocus(wlr_surface*); + + STextInput* getFocusedTextInput(); + STextInput* getFocusableTextInput(); + +private: + + std::list<STextInput> m_lTextInputs; + + DYNLISTENER(textInputNew); + DYNLISTENER(IMECommit); + DYNLISTENER(IMEDestroy); + + void createNewTextInput(wlr_text_input_v3*); +};
\ No newline at end of file |
