There is an increasing need to support text input via virtual keyboards not only on Mobile phones but also on embedded devices and in in-vehicle infotainment systems. Qt provides an input method API to provide exactly that support. We will look at the Qt API and show how it can be used from applications and how it can be integrated in different embedded device use cases with either single process fullscreen EGL or in a multi process Wayland compositor scenario. We will have a look at some virtual keyboards like the Qt Virtual Keyboard and other open source solutions. We will look at some advanced features of virtual keyboards like support for different layouts, support for text correction and prediction, support for handwriting and support for multiple languages especially CJK languages.