Qt Virtual Keyboard

The Qt Virtual Keyboard project provides an input framework and reference keyboard frontend for Qt 5 on Linux Desktop/X11, Windows Desktop, and Boot2Qt targets.

The input framework makes it easy to write custom input methods or to integrate 3rd party input engines. The input methods can be implemented in C++ or QML.


Key features of the Qt Virtual Keyboard include:

  • Customizable keyboard layouts and styles with dynamic switching.
  • Predictive text input with word selection.
  • Character preview and alternative character view.
  • Automatic capitalization and space insertion.
  • Scalability to different resolutions.
  • Support for different character sets (Latin, Simplified/Traditional Chinese, Hindi, Japanese, Arabic, Korean, and others).
  • Support for most common input languages, with possibility to easily extend the language support.
  • Left-to-right and right-to-left input.
  • Hardware key support for 2-way and 5-way navigation.
  • Handwriting support, with gestures for fullscreen input.
  • Audio feedback.
  • Cross-platform functionality.

Supported Languages

The Virtual Keyboard supports the following languages:

  • Arabic
  • Danish
  • English
  • Finnish
  • French
  • German
  • Hindi
  • Italian
  • Japanese
  • Korean
  • Norwegian
  • Persian/Farsi
  • Polish
  • Portugese
  • Russian
  • Simplified Chinese
  • Traditional Chinese
  • Spanish
  • Swedish

To add support for an additional language, see Adding New Keyboard Layouts.


API Reference


© 2016 The Qt Company Ltd. Documentation contributions included herein are the copyrights of their respective owners. The documentation provided herein is licensed under the terms of the GNU Free Documentation License version 1.3 as published by the Free Software Foundation. Qt and respective logos are trademarks of The Qt Company Ltd. in Finland and/or other countries worldwide. All other trademarks are property of their respective owners.