summaryrefslogtreecommitdiffstats
path: root/src/plugins/platforms/wasm/qwasmclipboard.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/plugins/platforms/wasm/qwasmclipboard.cpp')
-rw-r--r--src/plugins/platforms/wasm/qwasmclipboard.cpp15
1 files changed, 15 insertions, 0 deletions
diff --git a/src/plugins/platforms/wasm/qwasmclipboard.cpp b/src/plugins/platforms/wasm/qwasmclipboard.cpp
index 97a0547563..d290fe245b 100644
--- a/src/plugins/platforms/wasm/qwasmclipboard.cpp
+++ b/src/plugins/platforms/wasm/qwasmclipboard.cpp
@@ -183,6 +183,21 @@ void QWasmClipboard::setMimeData(QMimeData *mimeData, QClipboard::Mode mode)
isPaste = false;
}
+bool QWasmClipboard::processKeyboard(const QWasmEventTranslator::TranslatedEvent &event,
+ const QFlags<Qt::KeyboardModifier> &modifiers)
+{
+ // Clipboard path: cut/copy/paste are handled by clipboard event or direct clipboard
+ // access.
+ if (hasClipboardApi)
+ return false;
+ if (event.type != QEvent::KeyPress || !modifiers.testFlag(Qt::ControlModifier)
+ || (event.key != Qt::Key_C && event.key != Qt::Key_V && event.key != Qt::Key_X)) {
+ return false;
+ }
+ isPaste = event.key == Qt::Key_V;
+ return true;
+}
+
bool QWasmClipboard::supportsMode(QClipboard::Mode mode) const
{
return mode == QClipboard::Clipboard;