summaryrefslogtreecommitdiff
path: root/src/managers/input/InputMethodRelay.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/managers/input/InputMethodRelay.cpp')
-rw-r--r--src/managers/input/InputMethodRelay.cpp19
1 files changed, 19 insertions, 0 deletions
diff --git a/src/managers/input/InputMethodRelay.cpp b/src/managers/input/InputMethodRelay.cpp
index e348dcaf..8c21247a 100644
--- a/src/managers/input/InputMethodRelay.cpp
+++ b/src/managers/input/InputMethodRelay.cpp
@@ -160,6 +160,25 @@ void CInputMethodRelay::updateAllPopups() {
}
}
+void CInputMethodRelay::activateIME(CTextInput* pInput) {
+ if (!m_pWLRIME)
+ return;
+
+ wlr_input_method_v2_send_activate(g_pInputManager->m_sIMERelay.m_pWLRIME);
+ commitIMEState(pInput);
+}
+
+void CInputMethodRelay::deactivateIME(CTextInput* pInput) {
+ if (!m_pWLRIME)
+ return;
+
+ if (!m_pWLRIME->active)
+ return;
+
+ wlr_input_method_v2_send_deactivate(g_pInputManager->m_sIMERelay.m_pWLRIME);
+ commitIMEState(pInput);
+}
+
void CInputMethodRelay::commitIMEState(CTextInput* pInput) {
if (!m_pWLRIME)
return;