[accessibility] kwinvirtualkeyboard and Kvkbd vs. Maliit
I am attempting once again to find a home for this thread, to work out what to do about the issue raised at GitHub: maliit/keyboard№80 before @dobey locked it, essentially leaving it to me to figure out where it should go.
It seems unlikely KWin's issue tracker is going to be this thread's ultimate home, but perhaps it will be, it does contain this docbook file after all: https://invent.kde.org/plasma/kwin/-/blob/master/doc/kwinvirtualkeyboard/index.docbook
That docbook file contains this…
This module lets you choose the virtual keyboard to use. The virtual keyboard will be automatically enabled when there is no hardware keyboard detected.
Which is as good a starting point as any. There seems to be some confusion among Plasma/KDE developers as to what the point of an on screen keyboard (OSK) is, and so, we've seen a merger of the idea of a mobile/tablet keyboard, with the much older idea of a PC OSK, as one would see under the Accessibility menu in e.g. Windows XP.
Even I had some of this confusion before maliit/keyboard№80, but after a comment from @bshah, it seems there's quite a strong case for a separation of concerns…not expecting Maliit to meet the accessibility use case, not expecting Kvkbd to meet the mobile use case.
Essentially, a PC / accessibility OSK should be expected to be run on a system that already has a keyboard. The purpose of such a program is as varied as are people's physical disabilities…people may find some keys difficult to access, (e.g. F keys), or certain combinations required by unconfigurable programs impossible to press (e.g. the famous Ctrl Alt Delete). Some people may have neurological problems causing it to be difficult to hold down keys for extended periods due to tremors, etc. Accessibility OSK is meant to solve all these problems.
Mobile OSK, meanwhile, is something already well supported in Plasma via Maliit, it is meant to be a keyboard for use on a non-PC device, (small screen device) that doesn't have a keyboard on purpose. Meant for use by anyone, not just physically disabled user.
And so, while in Maliit it might make sense to withhold certain features, (F keys, compose key, rare keys and so on), or to keep hiding/showing the keyboard, for accessibility OSK it makes no sense.
Kvkbd was deprecated by KDE team. It's no longer here on invent.kde.org. The community has maintained a Qt5 port for X11 called "kvkbd5" (https://github.com/bvbfan/kvkbd). I have a Wayland fork (https://github.com/ctrlcctrlv/kvkbd5/tree/wayland) which is still WIP.
However I want to know what KDE/Plasma's plans are for OSK for disabled users, Maliit keyboard is insufficient for us, as I wrote in maliit/keyboard№80. Can Kvkbd5 Wayland port receive some kind of support once again? Accessibility story in KWin under Wayland is not going to be solved with Maliit alone.