diff options
| author | vaxerski <43317083+vaxerski@users.noreply.github.com> | 2022-08-05 13:03:37 +0200 |
|---|---|---|
| committer | vaxerski <43317083+vaxerski@users.noreply.github.com> | 2022-08-05 13:03:37 +0200 |
| commit | 1c4d0e8c18ca0e269dd2019d50a2f1bb7deffd82 (patch) | |
| tree | b7208b2ef623b189c812042825a4915177a2f82f /src/managers/input/InputMethodRelay.hpp | |
| parent | 3947fe9e9f8fb2912b969a20fbbec3f2ab62cef0 (diff) | |
added IME protocol support
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 |
