aboutsummaryrefslogtreecommitdiff
path: root/include/cru/platform/gui/xcb/InputMethod.h
diff options
context:
space:
mode:
authorYuqian Yang <crupest@crupest.life>2025-10-05 16:39:31 +0800
committerYuqian Yang <crupest@crupest.life>2025-10-05 16:39:31 +0800
commitf502391ceb2fc7fd441718d2152ef14e2ec24973 (patch)
treeb25b50c7eaaf3309723858098ea113a959eaa407 /include/cru/platform/gui/xcb/InputMethod.h
parent047e0eba34c669ff71535602c09edec587912059 (diff)
downloadcru-f502391ceb2fc7fd441718d2152ef14e2ec24973.tar.gz
cru-f502391ceb2fc7fd441718d2152ef14e2ec24973.tar.bz2
cru-f502391ceb2fc7fd441718d2152ef14e2ec24973.zip
Use xkb.
Diffstat (limited to 'include/cru/platform/gui/xcb/InputMethod.h')
-rw-r--r--include/cru/platform/gui/xcb/InputMethod.h5
1 files changed, 4 insertions, 1 deletions
diff --git a/include/cru/platform/gui/xcb/InputMethod.h b/include/cru/platform/gui/xcb/InputMethod.h
index a325c1da..0c928b24 100644
--- a/include/cru/platform/gui/xcb/InputMethod.h
+++ b/include/cru/platform/gui/xcb/InputMethod.h
@@ -1,8 +1,8 @@
#pragma once
+#include <cru/base/Base.h>
#include "../InputMethod.h"
#include "Base.h"
-#include <cru/base/Base.h>
#include <xcb-imdkit/imclient.h>
#include <xcb/xcb.h>
@@ -28,10 +28,13 @@ class XcbXimInputMethodManager : public XcbResource {
void DispatchComposition(xcb_xim_t* im, xcb_xic_t ic, CompositionText text);
bool HandleXEvent(xcb_generic_event_t* event);
+ void SetXimServerUnprocessedXEventCallback(
+ std::function<void(xcb_key_press_event_t* event)> callback);
private:
XcbUiApplication* application_;
xcb_xim_t* im_;
+ std::function<void(xcb_key_press_event_t* event)> forward_event_callback_;
};
class XcbXimInputMethodContext : public XcbResource,