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.
Features
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.
Guides
QML Types
Backspace key for keyboard layouts | |
Common parent for all key types | |
Change language key for keyboard layouts | |
Enter key for keyboard layouts | |
Filler key for keyboard layouts | |
Provides a handwriting panel add-on for the virtual keyboard UI | |
Hand writing mode key for keyboard layouts | |
Hide keyboard key for keyboard layouts | |
Provides the virtual keyboard UI | |
Regular character key for keyboard layouts | |
Keyboard column for keyboard layouts | |
Keyboard layout | |
Allows dynamic loading of keyboard layout | |
Keyboard row for keyboard layouts | |
Generic mode key for keyboard layouts | |
Specialized number key for keyboard layouts | |
Shift key for keyboard layouts | |
Space key for keyboard layouts | |
Symbol mode key for keyboard layouts | |
A specialized MultiPointTouchArea for collecting touch input data | |
A specialized key for collecting touch input data | |
Provides attached properties for customizing the enter key | |
Provides access to an input context | |
Maps the user input to the input methods | |
Base type for creating input method in QML | |
Provides a data model for the selection lists | |
Manages the shift state | |
Data model for touch input data |
Styling components:
Key icon with adjustable color | |
A base type of the styled keys | |
Provides a styling interface for the Virtual Keyboard | |
A base type for selection list item delegates | |
A specialized Canvas type for rendering Trace objects | |
A base type of the trace input key |
Settings components:
Provides settings for virtual keyboard |