summaryrefslogtreecommitdiff
path: root/src/managers/input/InputMethodRelay.hpp
diff options
context:
space:
mode:
authorvaxerski <43317083+vaxerski@users.noreply.github.com>2022-08-05 13:03:37 +0200
committervaxerski <43317083+vaxerski@users.noreply.github.com>2022-08-05 13:03:37 +0200
commit1c4d0e8c18ca0e269dd2019d50a2f1bb7deffd82 (patch)
treeb7208b2ef623b189c812042825a4915177a2f82f /src/managers/input/InputMethodRelay.hpp
parent3947fe9e9f8fb2912b969a20fbbec3f2ab62cef0 (diff)
added IME protocol support
Diffstat (limited to 'src/managers/input/InputMethodRelay.hpp')
-rw-r--r--src/managers/input/InputMethodRelay.hpp32
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