There are basically two virtual keyboards that everyone knows about:
matchbox (apt install matchbox-keyboard)
onboard (apt install onboard)
Matchbox is lightweight with almost no ability to configure. It seems to suffer from high cpu usage atm. It doesn't have the ability to automatically popup when the user enters an input field. And, it has a 90's style, which I don't quite dig. But it does work.
Onboard looks beautiful and has lots of customization options. It has an option to automatically popup the keyboard when the user enters an input field—very handy indeed! Its drawback is that it is slow to start and takes quite a lot of precious memory and cpu to operate. But, it still is a nice option.
I found a new (actually, old) option by Suckless—they make minimal apps that require the user to compile them:
Unfortunately, the download git for that app is not up; however, scouring the net, I was able to procure a copy!
https://slackbuilds.org/repository/14.2 ... ity/svkbd/
Apparently, the keyboard is 9 years old, but it works like new, as it is written in C and its deps are only 'suckless-tools' and an X11-dev of some sort.
The keyboard can be changed to ANY colour via its config.h before compiling (onboard has themes, but you cannot choose your own specific colours). It takes a parameter for size and location and also can be run in dock mode which works perfectly in my dwm window manager if it is told to be in float mode.
It uses such a small amount of memory as to not even mention. Uses no cpu at idle and little to none when in use. And, it starts blazingly fast.
Another thing that I like about it is that you don't need to be Linus to be able to edit its layout. The system of configuring the layout is extremely easy and intuitive, the oboard keyboard is a different story...
Its layout is a new-school, flat, androidish look, which I like—not a 90's style with concave buttons.
Is it worth the trouble to compile? For me it was. I'll post a pic a little later. Ask if you have issues compiling.
Feel free to post your alternatives.