I had the same problem with the macOS Windows App rdp client against krdp
6.3.5-1.
The following patch makes my input work again:
```
--- a/src/InputHandler.cpp
+++ b/src/InputHandler.cpp
@@ -186,12 +186,12 @@
virtualCode = flags & KBD_FLAGS_EXTENDED ? virtualCode | KBDEXT :
virtualCode;
// While "type" suggests an EVDEV code, the actual code is an X code
#ifdef FREERDP3
- quint32 keycode = GetKeycodeFromVirtualKeyCode(virtualCode,
WINPR_KEYCODE_TYPE_EVDEV) - 8;
+ quint32 keycode = GetKeycodeFromVirtualKeyCode(virtualCode,
WINPR_KEYCODE_TYPE_EVDEV);
#else
quint32 keycode = GetKeycodeFromVirtualKeyCode(virtualCode,
KEYCODE_TYPE_EVDEV) - 8;
#endif
- auto type = flags & KBD_FLAGS_DOWN ? QEvent::KeyPress : QEvent::KeyRelease;
+ auto type = flags & KBD_FLAGS_RELEASE ? QEvent::KeyRelease :
QEvent::KeyPress;
auto event = std::make_shared<QKeyEvent>(type, 0, Qt::KeyboardModifiers{},
keycode, 0, 0);
Q_EMIT inputEvent(event);
@@ -207,7 +207,7 @@
return true;
}
- auto type = flags & KBD_FLAGS_DOWN ? QEvent::KeyPress : QEvent::KeyRelease;
+ auto type = flags & KBD_FLAGS_RELEASE ? QEvent::KeyRelease :
QEvent::KeyPress;
auto event = std::make_shared<QKeyEvent>(type, 0, Qt::KeyboardModifiers{},
0, keysym, 0);
Q_EMIT inputEvent(event);
```
This patch is llm generated, I have not done the work to figure out why the
issue occurred or why it fixes the issue. The llm indicated commit
https://github.com/KDE/krdp/commit/0fcf4e51e4683d9253ad226c3d8b663651cec9e0 is
not in 6.3.5 and is related to this issue as well as the
upstream_mr_69_add-support-for-freerdp3.patch. I have not verified this.
Max