Thanks for your fancy work on virtual keyboard.
I found a build failure when building current master against recent fcitx5.
Environment
- fcitx5-virtualkeyboard-ui commit:
d451680
- fcitx5:
5.1.21
- GCC:
16.1.1
- Distribution: Arch Linux
Build Error
src/virtualkeygeneral.cpp:27:19: error: 'class fcitx::InputContext' has no member named 'virtualKeyEvent'; did you mean 'virtualKeyboardEvent'?
27 | inputContext->virtualKeyEvent(event);
| ^~~~~~~~~~~~~~~
| virtualKeyboardEvent
In recent fcitx5, InputContext::virtualKeyEvent(KeyEvent&) appears to have been replaced by InputContext::virtualKeyboardEvent(VirtualKeyboardEvent&).
The patch below updates NormalKey::click() to use VirtualKeyboardEvent and set the converted key explicitly.
Possible Solution
diff --git a/src/virtualkeygeneral.cpp b/src/virtualkeygeneral.cpp
index 1fd93ea..45f8633 100644
--- a/src/virtualkeygeneral.cpp
+++ b/src/virtualkeygeneral.cpp
@@ -23,8 +23,9 @@ void NormalKey::click(VirtualKeyboard *keyboard, InputContext *inputContext, boo
keyboard->sendShiftModifierToIM(inputContext, false);
}
- auto event = KeyEvent(inputContext, convert(keyboard->isShiftOn()), isRelease);
- inputContext->virtualKeyEvent(event);
+ auto event = VirtualKeyboardEvent(inputContext, isRelease);
+ event.setKey(convert(keyboard->isShiftOn()));
+ inputContext->virtualKeyboardEvent(event);
if (keyboard->isShiftOn()) {
keyboard->sendShiftModifierToIM(inputContext, true);
With this patch applied, the project builds successfully for the Wayland-only configuration against fcitx5 5.1.21.
Thanks for your fancy work on virtual keyboard.
I found a build failure when building current
masteragainst recent fcitx5.Environment
d4516805.1.2116.1.1Build Error
In recent fcitx5,
InputContext::virtualKeyEvent(KeyEvent&)appears to have been replaced byInputContext::virtualKeyboardEvent(VirtualKeyboardEvent&).The patch below updates
NormalKey::click()to useVirtualKeyboardEventand set the converted key explicitly.Possible Solution
With this patch applied, the project builds successfully for the Wayland-only configuration against fcitx5
5.1.21.