config BR2_PACKAGE_QT5VIRTUALKEYBOARD
	bool "qt5virtualkeyboard"
	depends on BR2_PACKAGE_QT5_JSCORE_AVAILABLE # qt5declarative
	select BR2_PACKAGE_QT5DECLARATIVE
	select BR2_PACKAGE_QT5DECLARATIVE_QUICK
	select BR2_PACKAGE_QT5SVG
	help
	  Qt Virtual Keyboard is a virtual keyboard framework that
	  consists of a C++ backend supporting custom input methods as
	  well as a UI frontend implemented in QML.

	  https://doc.qt.io/qt-5/qtvirtualkeyboard-index.html

if BR2_PACKAGE_QT5VIRTUALKEYBOARD

config BR2_PACKAGE_QT5VIRTUALKEYBOARD_LANGUAGE_LAYOUTS
	string "language layouts"
	default "en_GB"
	help
	  The Virtual Keyboard supports the following languages:
	  - Arabic (ar_AR)
	  - Danish (da_DK)
	  - English (en_GB)
	  - Finnish (fi_FI)
	  - French (fr_FR)
	  - German (de_DE)
	  - Hindi (hi_IN)
	  - Italian (it_IT)
	  - Japanese (ja_JP)
	  - Korean (ko_KR)
	  - Norwegian (nb_NO)
	  - Persian/Farsi (fa_FA)
	  - Polish (pl_PL)
	  - Portugese (pt_PT)
	  - Romanian (ro_RO)
	  - Russian (ru_RU)
	  - Simplified Chinese (zh_CN)
	  - Traditional Chinese (zh_TW)
	  - Spanish (es_ES)
	  - Swedish (sv_SE)

	  Note: the special value "all" can be used to install support
	  for all supported languages.

config BR2_PACKAGE_QT5VIRTUALKEYBOARD_HANDWRITING
	bool "handwriting"
	help
	  Handwriting support, with gestures for fullscreen input.

	  Lipi Toolkit (LipiTk) is an open source toolkit for online
	  Handwriting Recognition.

config BR2_PACKAGE_QT5VIRTUALKEYBOARD_ARROW_KEY_NAVIGATION
	bool "Arrow key navigation"
	help
	  Allows controlling the keyboard using the arrow and return
	  keys.

endif
