no OSK in Plasma Mobile

Martin Flöser mgraesslin at kde.org
Tue Mar 20 16:47:33 UTC 2018


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.ellsworth at 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


More information about the Plasma-devel mailing list