Am 2018-03-19 21:25, schrieb Heather Ellsworth:
On 03/17/2018 02:41 PM, Martin Flöser wrote:


Am 17. März 2018 02:01:24 MEZ schrieb Heather Ellsworth <heather.ellswo...@puri.sm>:
On 03/15/2018 09:10 PM, Bhushan Shah wrote:
Hello Heather,

On Thu, Mar 15, 2018 at 06:57:27PM -0600, Heather Ellsworth wrote:
I've been running Plasma Mobile on my iMX6 dev board (precursor to
the
dev kit for the Librem 5) and I've notices there's no onscreen
keyboard.
Is it there and I'm just not initializing it? Or what is the story
with
the OSK in Plasma Mobile?

For OSK, you just need to install qtvirtualkeyboard-plugin package,
it
should give you working on-screen-keyboard for the Qt applications.
It
is however possible that QtVirtualKeyboard is disabled by default if
you
have keyboard attached. In that case you can enable it by clicking on
virtualkeyboard icon in top drawer.

You can also "export QT_VIRTUALKEYBOARD_STYLE=Plasma" for better
theming
integration with Plasma Mobile.

After installing qtvirtualkeyboard-plugin and exporting
QT_VIRTUALKEYBOARD_STYLE, we still do not see a keyboard icon in the
top
left of the Plasma Mobile desktop.

Similarly, we do not see the icon after manually enabling the keyboard
with:

$ qdbus org.kde.KWin /VirtualKeyboard
org.kde.kwin.VirtualKeyboard.enable

However, after enabling the keyboard with the above qdbus command, we
see the keyboard pop up when a text field is clicked (like the search
bar, kwrite, konsole) but then the keyboard immediately goes away.

Also in the lock screen, I see the virtual keyboard icon in the bottom
left. When I click it, the virtual keyboard appears and does not
disappear. Then I can type in the password (using Ctrl+Super to guide
my
mouse) to log back in.

So the virtual keyboard works, but when in the desktop session the
keyboard goes away right after it appears. Any troubleshooting advice
you have would be helpful.


It might sound stupid, but just unplug the physical keyboard. Then it should work best. If the keyboard still hides, run the apps with WAYLAND_DEBUG=1 then we can see what's going on and why it hides. It should only hide if the application requests it and that's something we can see in the debug output.


Thank you for the suggestion. It turns out that the issue was actually
setting the QT_IM_MODULE:

$ export QT_IM_MODULE=qtvirtualkeyboard

With this variable set, I see the keyboard come up and then disappear
when a text field is clicked. I was testing with this variable on
Friday. However with this variable unset, the keyboard seems to _stay
around_ and be usable when a text field is clicked. So the trick is to
not set this :)

Yes, that makes sense. If the env variable is set, Qt creates a window in the process. If the env variable is not set the wayland protocol is used and KWin can provide the virtual keyboard.

I think I also understand why it closed directly: when the window opens KWin passes it keyboard focus. Thus the text field which triggered the keyboard loses keyboard focus and closes the keyboard again.

Cheers
Martin

Reply via email to