diff options
Diffstat (limited to 'src/managers/input/InputMethodRelay.cpp')
| -rw-r--r-- | src/managers/input/InputMethodRelay.cpp | 19 |
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; |
