aboutsummaryrefslogtreecommitdiffstats
path: root/src/virtualkeyboard/qvirtualkeyboardinputcontext.cpp
diff options
context:
space:
mode:
authorMikko Seppänen <mikko.seppanen123@gmail.com>2019-06-12 15:50:35 +0300
committerJarkko Koivikko <jarkko.koivikko@code-q.fi>2019-06-20 12:50:28 +0000
commit0e206d4df32bfb4567438fd20c99e712dba5f804 (patch)
tree04c7cece74b9369390cdb865aee4cbd31bc78405 /src/virtualkeyboard/qvirtualkeyboardinputcontext.cpp
parent412cf0efe22a3690f5132fc7f877282be757d5a6 (diff)
Enable virtualkeyboard key events and shiftkey without focus
This patch enables creation of virtual keyboard that functions with all X11 applications, including the ones that do not provide focus information from text input fields. The patch introdudes usage of an environment variable. When this variable is set, virtualkeyboard shift key is enabled and virtualkeyboard is able to send key events without a focus object. [ChangeLog] Added QT_VIRTUAL_KEYBOARD_FORCE_EVENTS_WITHOUT_FOCUS environment variable to allow Qt Virtual Keyboard to send key events and enable Shift key without a focused input object. Change-Id: I89b3cff0f019a12daf6c6b0474b39758ffea7c65 Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
Diffstat (limited to 'src/virtualkeyboard/qvirtualkeyboardinputcontext.cpp')
-rw-r--r--src/virtualkeyboard/qvirtualkeyboardinputcontext.cpp2
1 files changed, 1 insertions, 1 deletions
diff --git a/src/virtualkeyboard/qvirtualkeyboardinputcontext.cpp b/src/virtualkeyboard/qvirtualkeyboardinputcontext.cpp
index f1140260..b86492e1 100644
--- a/src/virtualkeyboard/qvirtualkeyboardinputcontext.cpp
+++ b/src/virtualkeyboard/qvirtualkeyboardinputcontext.cpp
@@ -218,7 +218,7 @@ QVirtualKeyboardInputEngine *QVirtualKeyboardInputContext::inputEngine() const
void QVirtualKeyboardInputContext::sendKeyClick(int key, const QString &text, int modifiers)
{
Q_D(QVirtualKeyboardInputContext);
- if (d->_focus && d->platformInputContext) {
+ if ((d->_focus && d->platformInputContext) || QT_VIRTUALKEYBOARD_FORCE_EVENTS_WITHOUT_FOCUS) {
QKeyEvent pressEvent(QEvent::KeyPress, key, Qt::KeyboardModifiers(modifiers), text);
QKeyEvent releaseEvent(QEvent::KeyRelease, key, Qt::KeyboardModifiers(modifiers), text);
VIRTUALKEYBOARD_DEBUG().nospace() << "InputContext::sendKeyClick()"