diff options
author | Yuqian Yang <crupest@crupest.life> | 2025-10-16 21:16:43 +0800 |
---|---|---|
committer | Yuqian Yang <crupest@crupest.life> | 2025-10-16 21:16:43 +0800 |
commit | a8b83f7b483a516fb92e2e22b3f364d51b7eb273 (patch) | |
tree | cc869eaa751935e13b983c0bdd961e9c0be8f44f /src/platform/gui/xcb/InputMethod.cpp | |
parent | 073a1e3e5af78fb0d220169009fd6a0939b432d2 (diff) | |
download | cru-a8b83f7b483a516fb92e2e22b3f364d51b7eb273.tar.gz cru-a8b83f7b483a516fb92e2e22b3f364d51b7eb273.tar.bz2 cru-a8b83f7b483a516fb92e2e22b3f364d51b7eb273.zip |
Resort input method demo.
Diffstat (limited to 'src/platform/gui/xcb/InputMethod.cpp')
-rw-r--r-- | src/platform/gui/xcb/InputMethod.cpp | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/src/platform/gui/xcb/InputMethod.cpp b/src/platform/gui/xcb/InputMethod.cpp index 2b495925..1d0cd538 100644 --- a/src/platform/gui/xcb/InputMethod.cpp +++ b/src/platform/gui/xcb/InputMethod.cpp @@ -2,6 +2,7 @@ #include "cru/base/log/Logger.h" #include "cru/platform/Check.h" #include "cru/platform/gui/InputMethod.h" +#include "cru/platform/gui/Keyboard.h" #include "cru/platform/gui/xcb/Keyboard.h" #include "cru/platform/gui/xcb/UiApplication.h" #include "cru/platform/gui/xcb/Window.h" @@ -29,7 +30,10 @@ XcbXimInputMethodManager::XcbXimInputMethodManager( auto text = manager->application_->GetXcbKeyboardManager()->KeycodeToUtf8( event->detail); - if (text.empty() || text == "\b") { + auto modifiers = ConvertModifiersOfEvent(event->detail); + if (text.empty() || text == "\b" || + modifiers.Has(KeyModifiers::Alt) || + modifiers.Has(KeyModifiers::Ctrl)) { if (manager->forward_event_callback_) { manager->forward_event_callback_(event); } |