aboutsummaryrefslogtreecommitdiffstats
path: root/src/virtualkeyboard
diff options
context:
space:
mode:
Diffstat (limited to 'src/virtualkeyboard')
-rw-r--r--src/virtualkeyboard/.prev_CMakeLists.txt357
-rw-r--r--src/virtualkeyboard/.prev_configure.cmake373
-rw-r--r--src/virtualkeyboard/CMakeLists.txt679
-rw-r--r--src/virtualkeyboard/EnterKey.qml8
-rw-r--r--src/virtualkeyboard/HandwritingInputPanel.qml (renamed from src/virtualkeyboard/content/HandwritingInputPanel.qml)50
-rw-r--r--src/virtualkeyboard/InputPanel.qml (renamed from src/virtualkeyboard/content/InputPanel.qml)73
-rw-r--r--src/virtualkeyboard/abstractinputpanel.cpp30
-rw-r--r--src/virtualkeyboard/abstractinputpanel_p.h33
-rw-r--r--src/virtualkeyboard/appinputpanel.cpp30
-rw-r--r--src/virtualkeyboard/appinputpanel_p.h32
-rw-r--r--src/virtualkeyboard/appinputpanel_p_p.h32
-rw-r--r--src/virtualkeyboard/configure.cmake166
-rw-r--r--src/virtualkeyboard/configure.json497
-rw-r--r--src/virtualkeyboard/configure.pri181
-rw-r--r--src/virtualkeyboard/content/components/AlternativeKeys.qml129
-rw-r--r--src/virtualkeyboard/content/components/BackspaceKey.qml49
-rw-r--r--src/virtualkeyboard/content/components/BaseKey.qml250
-rw-r--r--src/virtualkeyboard/content/components/ChangeLanguageKey.qml79
-rw-r--r--src/virtualkeyboard/content/components/CharacterPreviewBubble.qml56
-rw-r--r--src/virtualkeyboard/content/components/EnterKey.qml57
-rw-r--r--src/virtualkeyboard/content/components/FillerKey.qml45
-rw-r--r--src/virtualkeyboard/content/components/HandwritingModeKey.qml54
-rw-r--r--src/virtualkeyboard/content/components/HideKeyboardKey.qml48
-rw-r--r--src/virtualkeyboard/content/components/InputModeKey.qml123
-rw-r--r--src/virtualkeyboard/content/components/Key.qml47
-rw-r--r--src/virtualkeyboard/content/components/Keyboard.qml1643
-rw-r--r--src/virtualkeyboard/content/components/KeyboardColumn.qml63
-rw-r--r--src/virtualkeyboard/content/components/KeyboardLayout.qml148
-rw-r--r--src/virtualkeyboard/content/components/KeyboardLayoutLoader.qml127
-rw-r--r--src/virtualkeyboard/content/components/KeyboardRow.qml62
-rw-r--r--src/virtualkeyboard/content/components/ModeKey.qml63
-rw-r--r--src/virtualkeyboard/content/components/MultiSoundEffect.qml73
-rw-r--r--src/virtualkeyboard/content/components/MultitapInputMethod.qml132
-rw-r--r--src/virtualkeyboard/content/components/NumberKey.qml47
-rw-r--r--src/virtualkeyboard/content/components/PopupList.qml67
-rw-r--r--src/virtualkeyboard/content/components/SelectionControl.qml100
-rw-r--r--src/virtualkeyboard/content/components/ShadowInputControl.qml141
-rw-r--r--src/virtualkeyboard/content/components/ShiftKey.qml52
-rw-r--r--src/virtualkeyboard/content/components/SpaceKey.qml50
-rw-r--r--src/virtualkeyboard/content/components/SymbolModeKey.qml49
-rw-r--r--src/virtualkeyboard/content/components/TraceInputArea.qml186
-rw-r--r--src/virtualkeyboard/content/components/TraceInputKey.qml116
-rw-r--r--src/virtualkeyboard/content/components/WordCandidatePopupList.qml85
-rw-r--r--src/virtualkeyboard/content/layouts/ar_AR/dialpad.fallback0
-rw-r--r--src/virtualkeyboard/content/layouts/ar_AR/digits.qml121
-rw-r--r--src/virtualkeyboard/content/layouts/ar_AR/handwriting.qml116
-rw-r--r--src/virtualkeyboard/content/layouts/ar_AR/main.qml340
-rw-r--r--src/virtualkeyboard/content/layouts/ar_AR/numbers.qml194
-rw-r--r--src/virtualkeyboard/content/layouts/ar_AR/symbols.qml388
-rw-r--r--src/virtualkeyboard/content/layouts/bg_BG/dialpad.fallback0
-rw-r--r--src/virtualkeyboard/content/layouts/bg_BG/digits.fallback0
-rw-r--r--src/virtualkeyboard/content/layouts/bg_BG/handwriting.qml99
-rw-r--r--src/virtualkeyboard/content/layouts/bg_BG/main.qml370
-rw-r--r--src/virtualkeyboard/content/layouts/bg_BG/numbers.fallback0
-rw-r--r--src/virtualkeyboard/content/layouts/bg_BG/symbols.fallback0
-rw-r--r--src/virtualkeyboard/content/layouts/cs_CZ/dialpad.fallback0
-rw-r--r--src/virtualkeyboard/content/layouts/cs_CZ/digits.fallback0
-rw-r--r--src/virtualkeyboard/content/layouts/cs_CZ/handwriting.qml97
-rw-r--r--src/virtualkeyboard/content/layouts/cs_CZ/main.qml207
-rw-r--r--src/virtualkeyboard/content/layouts/cs_CZ/numbers.fallback0
-rw-r--r--src/virtualkeyboard/content/layouts/cs_CZ/symbols.fallback0
-rw-r--r--src/virtualkeyboard/content/layouts/da_DK/dialpad.fallback0
-rw-r--r--src/virtualkeyboard/content/layouts/da_DK/digits.fallback0
-rw-r--r--src/virtualkeyboard/content/layouts/da_DK/handwriting.fallback0
-rw-r--r--src/virtualkeyboard/content/layouts/da_DK/main.qml215
-rw-r--r--src/virtualkeyboard/content/layouts/da_DK/numbers.fallback0
-rw-r--r--src/virtualkeyboard/content/layouts/da_DK/symbols.fallback0
-rw-r--r--src/virtualkeyboard/content/layouts/de_DE/dialpad.fallback0
-rw-r--r--src/virtualkeyboard/content/layouts/de_DE/digits.fallback0
-rw-r--r--src/virtualkeyboard/content/layouts/de_DE/handwriting.fallback0
-rw-r--r--src/virtualkeyboard/content/layouts/de_DE/main.qml210
-rw-r--r--src/virtualkeyboard/content/layouts/de_DE/numbers.fallback0
-rw-r--r--src/virtualkeyboard/content/layouts/de_DE/symbols.fallback0
-rw-r--r--src/virtualkeyboard/content/layouts/el_GR/dialpad.fallback0
-rw-r--r--src/virtualkeyboard/content/layouts/el_GR/digits.fallback0
-rw-r--r--src/virtualkeyboard/content/layouts/el_GR/handwriting.qml99
-rw-r--r--src/virtualkeyboard/content/layouts/el_GR/main.qml364
-rw-r--r--src/virtualkeyboard/content/layouts/el_GR/numbers.fallback0
-rw-r--r--src/virtualkeyboard/content/layouts/el_GR/symbols.fallback0
-rw-r--r--src/virtualkeyboard/content/layouts/en_GB/dialpad.fallback0
-rw-r--r--src/virtualkeyboard/content/layouts/en_GB/digits.fallback0
-rw-r--r--src/virtualkeyboard/content/layouts/en_GB/handwriting.fallback0
-rw-r--r--src/virtualkeyboard/content/layouts/en_GB/main.fallback0
-rw-r--r--src/virtualkeyboard/content/layouts/en_GB/numbers.fallback0
-rw-r--r--src/virtualkeyboard/content/layouts/en_GB/symbols.fallback0
-rw-r--r--src/virtualkeyboard/content/layouts/en_US/dialpad.fallback0
-rw-r--r--src/virtualkeyboard/content/layouts/en_US/digits.fallback0
-rw-r--r--src/virtualkeyboard/content/layouts/en_US/handwriting.fallback0
-rw-r--r--src/virtualkeyboard/content/layouts/en_US/main.fallback0
-rw-r--r--src/virtualkeyboard/content/layouts/en_US/numbers.fallback0
-rw-r--r--src/virtualkeyboard/content/layouts/en_US/symbols.fallback0
-rw-r--r--src/virtualkeyboard/content/layouts/es_ES/dialpad.fallback0
-rw-r--r--src/virtualkeyboard/content/layouts/es_ES/digits.fallback0
-rw-r--r--src/virtualkeyboard/content/layouts/es_ES/handwriting.qml97
-rw-r--r--src/virtualkeyboard/content/layouts/es_ES/main.qml211
-rw-r--r--src/virtualkeyboard/content/layouts/es_ES/numbers.fallback0
-rw-r--r--src/virtualkeyboard/content/layouts/es_ES/symbols.qml378
-rw-r--r--src/virtualkeyboard/content/layouts/es_MX/dialpad.fallback0
-rw-r--r--src/virtualkeyboard/content/layouts/es_MX/digits.fallback0
-rw-r--r--src/virtualkeyboard/content/layouts/es_MX/handwriting.qml97
-rw-r--r--src/virtualkeyboard/content/layouts/es_MX/main.qml211
-rw-r--r--src/virtualkeyboard/content/layouts/es_MX/numbers.fallback0
-rw-r--r--src/virtualkeyboard/content/layouts/es_MX/symbols.qml378
-rw-r--r--src/virtualkeyboard/content/layouts/et_EE/dialpad.fallback0
-rw-r--r--src/virtualkeyboard/content/layouts/et_EE/digits.fallback0
-rw-r--r--src/virtualkeyboard/content/layouts/et_EE/handwriting.fallback0
-rw-r--r--src/virtualkeyboard/content/layouts/et_EE/main.qml215
-rw-r--r--src/virtualkeyboard/content/layouts/et_EE/numbers.fallback0
-rw-r--r--src/virtualkeyboard/content/layouts/et_EE/symbols.fallback0
-rw-r--r--src/virtualkeyboard/content/layouts/fa_FA/dialpad.fallback0
-rw-r--r--src/virtualkeyboard/content/layouts/fa_FA/digits.qml111
-rw-r--r--src/virtualkeyboard/content/layouts/fa_FA/handwriting.qml116
-rw-r--r--src/virtualkeyboard/content/layouts/fa_FA/main.qml344
-rw-r--r--src/virtualkeyboard/content/layouts/fa_FA/numbers.qml184
-rw-r--r--src/virtualkeyboard/content/layouts/fa_FA/symbols.qml378
-rw-r--r--src/virtualkeyboard/content/layouts/fallback/dialpad.qml113
-rw-r--r--src/virtualkeyboard/content/layouts/fallback/digits.qml112
-rw-r--r--src/virtualkeyboard/content/layouts/fallback/handwriting.qml96
-rw-r--r--src/virtualkeyboard/content/layouts/fallback/main.qml208
-rw-r--r--src/virtualkeyboard/content/layouts/fallback/numbers.qml184
-rw-r--r--src/virtualkeyboard/content/layouts/fallback/symbols.qml376
-rw-r--r--src/virtualkeyboard/content/layouts/fi_FI/dialpad.fallback0
-rw-r--r--src/virtualkeyboard/content/layouts/fi_FI/digits.fallback0
-rw-r--r--src/virtualkeyboard/content/layouts/fi_FI/handwriting.fallback0
-rw-r--r--src/virtualkeyboard/content/layouts/fi_FI/main.qml209
-rw-r--r--src/virtualkeyboard/content/layouts/fi_FI/numbers.fallback0
-rw-r--r--src/virtualkeyboard/content/layouts/fi_FI/symbols.fallback0
-rw-r--r--src/virtualkeyboard/content/layouts/fr_CA/dialpad.fallback0
-rw-r--r--src/virtualkeyboard/content/layouts/fr_CA/digits.fallback0
-rw-r--r--src/virtualkeyboard/content/layouts/fr_CA/handwriting.fallback0
-rw-r--r--src/virtualkeyboard/content/layouts/fr_CA/main.qml200
-rw-r--r--src/virtualkeyboard/content/layouts/fr_CA/numbers.fallback0
-rw-r--r--src/virtualkeyboard/content/layouts/fr_CA/symbols.fallback0
-rw-r--r--src/virtualkeyboard/content/layouts/fr_FR/dialpad.fallback0
-rw-r--r--src/virtualkeyboard/content/layouts/fr_FR/digits.fallback0
-rw-r--r--src/virtualkeyboard/content/layouts/fr_FR/handwriting.fallback0
-rw-r--r--src/virtualkeyboard/content/layouts/fr_FR/main.qml204
-rw-r--r--src/virtualkeyboard/content/layouts/fr_FR/numbers.fallback0
-rw-r--r--src/virtualkeyboard/content/layouts/fr_FR/symbols.fallback0
-rw-r--r--src/virtualkeyboard/content/layouts/he_IL/dialpad.fallback0
-rw-r--r--src/virtualkeyboard/content/layouts/he_IL/digits.fallback0
-rw-r--r--src/virtualkeyboard/content/layouts/he_IL/handwriting.qml99
-rw-r--r--src/virtualkeyboard/content/layouts/he_IL/main.qml381
-rw-r--r--src/virtualkeyboard/content/layouts/he_IL/numbers.fallback0
-rw-r--r--src/virtualkeyboard/content/layouts/he_IL/symbols.qml376
-rw-r--r--src/virtualkeyboard/content/layouts/hi_IN/dialpad.fallback0
-rw-r--r--src/virtualkeyboard/content/layouts/hi_IN/digits.fallback0
-rw-r--r--src/virtualkeyboard/content/layouts/hi_IN/handwriting.qml103
-rw-r--r--src/virtualkeyboard/content/layouts/hi_IN/main.qml340
-rw-r--r--src/virtualkeyboard/content/layouts/hi_IN/numbers.fallback0
-rw-r--r--src/virtualkeyboard/content/layouts/hi_IN/symbols.qml386
-rw-r--r--src/virtualkeyboard/content/layouts/hr_HR/dialpad.fallback0
-rw-r--r--src/virtualkeyboard/content/layouts/hr_HR/digits.fallback0
-rw-r--r--src/virtualkeyboard/content/layouts/hr_HR/handwriting.qml102
-rw-r--r--src/virtualkeyboard/content/layouts/hr_HR/main.qml218
-rw-r--r--src/virtualkeyboard/content/layouts/hr_HR/numbers.fallback0
-rw-r--r--src/virtualkeyboard/content/layouts/hr_HR/symbols.fallback0
-rw-r--r--src/virtualkeyboard/content/layouts/hu_HU/dialpad.fallback0
-rw-r--r--src/virtualkeyboard/content/layouts/hu_HU/digits.fallback0
-rw-r--r--src/virtualkeyboard/content/layouts/hu_HU/handwriting.qml97
-rw-r--r--src/virtualkeyboard/content/layouts/hu_HU/main.qml201
-rw-r--r--src/virtualkeyboard/content/layouts/hu_HU/numbers.fallback0
-rw-r--r--src/virtualkeyboard/content/layouts/hu_HU/symbols.fallback0
-rw-r--r--src/virtualkeyboard/content/layouts/id_ID/dialpad.fallback0
-rw-r--r--src/virtualkeyboard/content/layouts/id_ID/digits.fallback0
-rw-r--r--src/virtualkeyboard/content/layouts/id_ID/handwriting.fallback0
-rw-r--r--src/virtualkeyboard/content/layouts/id_ID/main.fallback0
-rw-r--r--src/virtualkeyboard/content/layouts/id_ID/numbers.fallback0
-rw-r--r--src/virtualkeyboard/content/layouts/id_ID/symbols.fallback0
-rw-r--r--src/virtualkeyboard/content/layouts/it_IT/dialpad.fallback0
-rw-r--r--src/virtualkeyboard/content/layouts/it_IT/digits.fallback0
-rw-r--r--src/virtualkeyboard/content/layouts/it_IT/handwriting.fallback0
-rw-r--r--src/virtualkeyboard/content/layouts/it_IT/main.qml198
-rw-r--r--src/virtualkeyboard/content/layouts/it_IT/numbers.fallback0
-rw-r--r--src/virtualkeyboard/content/layouts/it_IT/symbols.fallback0
-rw-r--r--src/virtualkeyboard/content/layouts/ja_JP/dialpad.fallback0
-rw-r--r--src/virtualkeyboard/content/layouts/ja_JP/digits.fallback0
-rw-r--r--src/virtualkeyboard/content/layouts/ja_JP/handwriting.qml99
-rw-r--r--src/virtualkeyboard/content/layouts/ja_JP/main.qml432
-rw-r--r--src/virtualkeyboard/content/layouts/ja_JP/numbers.fallback0
-rw-r--r--src/virtualkeyboard/content/layouts/ja_JP/symbols.qml294
-rw-r--r--src/virtualkeyboard/content/layouts/ko_KR/dialpad.fallback0
-rw-r--r--src/virtualkeyboard/content/layouts/ko_KR/digits.fallback0
-rw-r--r--src/virtualkeyboard/content/layouts/ko_KR/handwriting.qml118
-rw-r--r--src/virtualkeyboard/content/layouts/ko_KR/main.qml313
-rw-r--r--src/virtualkeyboard/content/layouts/ko_KR/numbers.fallback0
-rw-r--r--src/virtualkeyboard/content/layouts/ko_KR/symbols.qml380
-rw-r--r--src/virtualkeyboard/content/layouts/ms_MY/dialpad.fallback0
-rw-r--r--src/virtualkeyboard/content/layouts/ms_MY/digits.fallback0
-rw-r--r--src/virtualkeyboard/content/layouts/ms_MY/handwriting.fallback0
-rw-r--r--src/virtualkeyboard/content/layouts/ms_MY/main.fallback0
-rw-r--r--src/virtualkeyboard/content/layouts/ms_MY/numbers.fallback0
-rw-r--r--src/virtualkeyboard/content/layouts/ms_MY/symbols.fallback0
-rw-r--r--src/virtualkeyboard/content/layouts/nb_NO/dialpad.fallback0
-rw-r--r--src/virtualkeyboard/content/layouts/nb_NO/digits.fallback0
-rw-r--r--src/virtualkeyboard/content/layouts/nb_NO/handwriting.fallback0
-rw-r--r--src/virtualkeyboard/content/layouts/nb_NO/main.qml215
-rw-r--r--src/virtualkeyboard/content/layouts/nb_NO/numbers.fallback0
-rw-r--r--src/virtualkeyboard/content/layouts/nb_NO/symbols.fallback0
-rw-r--r--src/virtualkeyboard/content/layouts/nl_NL/dialpad.fallback0
-rw-r--r--src/virtualkeyboard/content/layouts/nl_NL/digits.fallback0
-rw-r--r--src/virtualkeyboard/content/layouts/nl_NL/handwriting.fallback0
-rw-r--r--src/virtualkeyboard/content/layouts/nl_NL/main.fallback0
-rw-r--r--src/virtualkeyboard/content/layouts/nl_NL/numbers.fallback0
-rw-r--r--src/virtualkeyboard/content/layouts/nl_NL/symbols.fallback0
-rw-r--r--src/virtualkeyboard/content/layouts/pl_PL/dialpad.fallback0
-rw-r--r--src/virtualkeyboard/content/layouts/pl_PL/digits.fallback0
-rw-r--r--src/virtualkeyboard/content/layouts/pl_PL/handwriting.fallback0
-rw-r--r--src/virtualkeyboard/content/layouts/pl_PL/main.qml202
-rw-r--r--src/virtualkeyboard/content/layouts/pl_PL/numbers.fallback0
-rw-r--r--src/virtualkeyboard/content/layouts/pl_PL/symbols.fallback0
-rw-r--r--src/virtualkeyboard/content/layouts/pt_BR/dialpad.fallback0
-rw-r--r--src/virtualkeyboard/content/layouts/pt_BR/digits.fallback0
-rw-r--r--src/virtualkeyboard/content/layouts/pt_BR/handwriting.fallback0
-rw-r--r--src/virtualkeyboard/content/layouts/pt_BR/main.qml207
-rw-r--r--src/virtualkeyboard/content/layouts/pt_BR/numbers.fallback0
-rw-r--r--src/virtualkeyboard/content/layouts/pt_BR/symbols.fallback0
-rw-r--r--src/virtualkeyboard/content/layouts/pt_PT/dialpad.fallback0
-rw-r--r--src/virtualkeyboard/content/layouts/pt_PT/digits.fallback0
-rw-r--r--src/virtualkeyboard/content/layouts/pt_PT/handwriting.fallback0
-rw-r--r--src/virtualkeyboard/content/layouts/pt_PT/main.qml207
-rw-r--r--src/virtualkeyboard/content/layouts/pt_PT/numbers.fallback0
-rw-r--r--src/virtualkeyboard/content/layouts/pt_PT/symbols.fallback0
-rw-r--r--src/virtualkeyboard/content/layouts/ro_RO/dialpad.fallback0
-rw-r--r--src/virtualkeyboard/content/layouts/ro_RO/digits.fallback0
-rw-r--r--src/virtualkeyboard/content/layouts/ro_RO/handwriting.qml102
-rw-r--r--src/virtualkeyboard/content/layouts/ro_RO/main.qml229
-rw-r--r--src/virtualkeyboard/content/layouts/ro_RO/numbers.fallback0
-rw-r--r--src/virtualkeyboard/content/layouts/ro_RO/symbols.fallback0
-rw-r--r--src/virtualkeyboard/content/layouts/ru_RU/dialpad.fallback0
-rw-r--r--src/virtualkeyboard/content/layouts/ru_RU/digits.fallback0
-rw-r--r--src/virtualkeyboard/content/layouts/ru_RU/handwriting.fallback0
-rw-r--r--src/virtualkeyboard/content/layouts/ru_RU/main.qml394
-rw-r--r--src/virtualkeyboard/content/layouts/ru_RU/numbers.fallback0
-rw-r--r--src/virtualkeyboard/content/layouts/ru_RU/symbols.fallback0
-rw-r--r--src/virtualkeyboard/content/layouts/sk_SK/dialpad.fallback0
-rw-r--r--src/virtualkeyboard/content/layouts/sk_SK/digits.fallback0
-rw-r--r--src/virtualkeyboard/content/layouts/sk_SK/handwriting.fallback0
-rw-r--r--src/virtualkeyboard/content/layouts/sk_SK/main.qml208
-rw-r--r--src/virtualkeyboard/content/layouts/sk_SK/numbers.fallback0
-rw-r--r--src/virtualkeyboard/content/layouts/sk_SK/symbols.fallback0
-rw-r--r--src/virtualkeyboard/content/layouts/sl_SI/dialpad.fallback0
-rw-r--r--src/virtualkeyboard/content/layouts/sl_SI/digits.fallback0
-rw-r--r--src/virtualkeyboard/content/layouts/sl_SI/handwriting.fallback0
-rw-r--r--src/virtualkeyboard/content/layouts/sl_SI/main.qml203
-rw-r--r--src/virtualkeyboard/content/layouts/sl_SI/numbers.fallback0
-rw-r--r--src/virtualkeyboard/content/layouts/sl_SI/symbols.fallback0
-rw-r--r--src/virtualkeyboard/content/layouts/sq_AL/dialpad.fallback0
-rw-r--r--src/virtualkeyboard/content/layouts/sq_AL/digits.fallback0
-rw-r--r--src/virtualkeyboard/content/layouts/sq_AL/handwriting.fallback0
-rw-r--r--src/virtualkeyboard/content/layouts/sq_AL/main.qml205
-rw-r--r--src/virtualkeyboard/content/layouts/sq_AL/numbers.fallback0
-rw-r--r--src/virtualkeyboard/content/layouts/sq_AL/symbols.fallback0
-rw-r--r--src/virtualkeyboard/content/layouts/sr_SP/dialpad.fallback0
-rw-r--r--src/virtualkeyboard/content/layouts/sr_SP/digits.fallback0
-rw-r--r--src/virtualkeyboard/content/layouts/sr_SP/handwriting.qml99
-rw-r--r--src/virtualkeyboard/content/layouts/sr_SP/main.qml363
-rw-r--r--src/virtualkeyboard/content/layouts/sr_SP/numbers.fallback0
-rw-r--r--src/virtualkeyboard/content/layouts/sr_SP/symbols.fallback0
-rw-r--r--src/virtualkeyboard/content/layouts/sv_SE/dialpad.fallback0
-rw-r--r--src/virtualkeyboard/content/layouts/sv_SE/digits.fallback0
-rw-r--r--src/virtualkeyboard/content/layouts/sv_SE/handwriting.fallback0
-rw-r--r--src/virtualkeyboard/content/layouts/sv_SE/main.qml209
-rw-r--r--src/virtualkeyboard/content/layouts/sv_SE/numbers.fallback0
-rw-r--r--src/virtualkeyboard/content/layouts/sv_SE/symbols.fallback0
-rw-r--r--src/virtualkeyboard/content/layouts/th_TH/dialpad.fallback0
-rw-r--r--src/virtualkeyboard/content/layouts/th_TH/digits.fallback0
-rw-r--r--src/virtualkeyboard/content/layouts/th_TH/handwriting.fallback0
-rw-r--r--src/virtualkeyboard/content/layouts/th_TH/handwriting.qml99
-rw-r--r--src/virtualkeyboard/content/layouts/th_TH/main.qml489
-rw-r--r--src/virtualkeyboard/content/layouts/th_TH/numbers.fallback0
-rw-r--r--src/virtualkeyboard/content/layouts/th_TH/symbols.qml376
-rw-r--r--src/virtualkeyboard/content/layouts/tr_TR/dialpad.fallback0
-rw-r--r--src/virtualkeyboard/content/layouts/tr_TR/digits.fallback0
-rw-r--r--src/virtualkeyboard/content/layouts/tr_TR/handwriting.fallback0
-rw-r--r--src/virtualkeyboard/content/layouts/tr_TR/main.qml221
-rw-r--r--src/virtualkeyboard/content/layouts/tr_TR/numbers.fallback0
-rw-r--r--src/virtualkeyboard/content/layouts/tr_TR/symbols.fallback0
-rw-r--r--src/virtualkeyboard/content/layouts/uk_UA/dialpad.fallback0
-rw-r--r--src/virtualkeyboard/content/layouts/uk_UA/digits.fallback0
-rw-r--r--src/virtualkeyboard/content/layouts/uk_UA/handwriting.fallback0
-rw-r--r--src/virtualkeyboard/content/layouts/uk_UA/main.qml373
-rw-r--r--src/virtualkeyboard/content/layouts/uk_UA/numbers.fallback0
-rw-r--r--src/virtualkeyboard/content/layouts/uk_UA/symbols.fallback0
-rw-r--r--src/virtualkeyboard/content/layouts/vi_VN/dialpad.fallback0
-rw-r--r--src/virtualkeyboard/content/layouts/vi_VN/digits.fallback0
-rw-r--r--src/virtualkeyboard/content/layouts/vi_VN/handwriting.fallback0
-rw-r--r--src/virtualkeyboard/content/layouts/vi_VN/main.qml205
-rw-r--r--src/virtualkeyboard/content/layouts/vi_VN/numbers.fallback0
-rw-r--r--src/virtualkeyboard/content/layouts/vi_VN/symbols.qml376
-rw-r--r--src/virtualkeyboard/content/layouts/zh_CN/dialpad.fallback0
-rw-r--r--src/virtualkeyboard/content/layouts/zh_CN/digits.fallback0
-rw-r--r--src/virtualkeyboard/content/layouts/zh_CN/handwriting.qml116
-rw-r--r--src/virtualkeyboard/content/layouts/zh_CN/main.qml204
-rw-r--r--src/virtualkeyboard/content/layouts/zh_CN/numbers.fallback0
-rw-r--r--src/virtualkeyboard/content/layouts/zh_CN/symbols.qml294
-rw-r--r--src/virtualkeyboard/content/layouts/zh_TW/dialpad.fallback0
-rw-r--r--src/virtualkeyboard/content/layouts/zh_TW/digits.fallback0
-rw-r--r--src/virtualkeyboard/content/layouts/zh_TW/handwriting.qml116
-rw-r--r--src/virtualkeyboard/content/layouts/zh_TW/main.qml458
-rw-r--r--src/virtualkeyboard/content/layouts/zh_TW/numbers.fallback0
-rw-r--r--src/virtualkeyboard/content/layouts/zh_TW/symbols.qml294
-rw-r--r--src/virtualkeyboard/content/styles/default/images/backspace-868482.svg23
-rw-r--r--src/virtualkeyboard/content/styles/default/images/check-868482.svg8
-rw-r--r--src/virtualkeyboard/content/styles/default/images/enter-868482.svg13
-rw-r--r--src/virtualkeyboard/content/styles/default/images/globe-868482.svg26
-rw-r--r--src/virtualkeyboard/content/styles/default/images/handwriting-868482.svg18
-rw-r--r--src/virtualkeyboard/content/styles/default/images/hidekeyboard-868482.svg55
-rw-r--r--src/virtualkeyboard/content/styles/default/images/search-868482.svg14
-rw-r--r--src/virtualkeyboard/content/styles/default/images/selectionhandle-bottom.svg201
-rw-r--r--src/virtualkeyboard/content/styles/default/images/shift-80c342.svg12
-rw-r--r--src/virtualkeyboard/content/styles/default/images/shift-868482.svg12
-rw-r--r--src/virtualkeyboard/content/styles/default/images/shift-c5d6b6.svg12
-rw-r--r--src/virtualkeyboard/content/styles/default/images/textmode-868482.svg33
-rw-r--r--src/virtualkeyboard/content/styles/default/style.qml1036
-rw-r--r--src/virtualkeyboard/content/styles/default/virtualkeyboard_default_style.qrc17
-rw-r--r--src/virtualkeyboard/content/styles/retro/images/backspace-c5a96f.svg23
-rw-r--r--src/virtualkeyboard/content/styles/retro/images/check-c5a96f.svg8
-rw-r--r--src/virtualkeyboard/content/styles/retro/images/enter-c5a96f.svg13
-rw-r--r--src/virtualkeyboard/content/styles/retro/images/globe-110b05.svg26
-rw-r--r--src/virtualkeyboard/content/styles/retro/images/handwriting-110b05.svg18
-rw-r--r--src/virtualkeyboard/content/styles/retro/images/hidekeyboard-c5a96f.svg55
-rw-r--r--src/virtualkeyboard/content/styles/retro/images/key154px_black.pngbin9977 -> 0 bytes
-rw-r--r--src/virtualkeyboard/content/styles/retro/images/key154px_black_long.pngbin11828 -> 0 bytes
-rw-r--r--src/virtualkeyboard/content/styles/retro/images/key154px_capslock.pngbin21410 -> 0 bytes
-rw-r--r--src/virtualkeyboard/content/styles/retro/images/key154px_capslock_long.pngbin24503 -> 0 bytes
-rw-r--r--src/virtualkeyboard/content/styles/retro/images/key154px_colorA.pngbin16911 -> 0 bytes
-rw-r--r--src/virtualkeyboard/content/styles/retro/images/key154px_colorA.svg19
-rw-r--r--src/virtualkeyboard/content/styles/retro/images/key154px_colorA_long.pngbin21161 -> 0 bytes
-rw-r--r--src/virtualkeyboard/content/styles/retro/images/key154px_colorB.pngbin17447 -> 0 bytes
-rw-r--r--src/virtualkeyboard/content/styles/retro/images/key154px_shiftcase.pngbin9675 -> 0 bytes
-rw-r--r--src/virtualkeyboard/content/styles/retro/images/key154px_shiftcase_long.pngbin10444 -> 0 bytes
-rw-r--r--src/virtualkeyboard/content/styles/retro/images/key156px_black_long.pngbin10931 -> 0 bytes
-rw-r--r--src/virtualkeyboard/content/styles/retro/images/key156px_black_medium_long.pngbin11989 -> 0 bytes
-rw-r--r--src/virtualkeyboard/content/styles/retro/images/key156px_colorA.pngbin17049 -> 0 bytes
-rw-r--r--src/virtualkeyboard/content/styles/retro/images/key156px_colorB.pngbin17462 -> 0 bytes
-rw-r--r--src/virtualkeyboard/content/styles/retro/images/key160px_black.pngbin10165 -> 0 bytes
-rw-r--r--src/virtualkeyboard/content/styles/retro/images/key160px_colorA.pngbin17575 -> 0 bytes
-rw-r--r--src/virtualkeyboard/content/styles/retro/images/key160px_colorB.pngbin18291 -> 0 bytes
-rw-r--r--src/virtualkeyboard/content/styles/retro/images/key_preview.pngbin14779 -> 0 bytes
-rw-r--r--src/virtualkeyboard/content/styles/retro/images/search-c5a96f.svg14
-rw-r--r--src/virtualkeyboard/content/styles/retro/images/selectionhandle-bottom.svg9
-rw-r--r--src/virtualkeyboard/content/styles/retro/images/shift-c5a96f.svg12
-rw-r--r--src/virtualkeyboard/content/styles/retro/images/shift-cd8865.svg12
-rw-r--r--src/virtualkeyboard/content/styles/retro/images/shift-dc4f28.svg12
-rw-r--r--src/virtualkeyboard/content/styles/retro/images/textmode-110b05.svg33
-rw-r--r--src/virtualkeyboard/content/styles/retro/images/triangle_black.pngbin2249 -> 0 bytes
-rw-r--r--src/virtualkeyboard/content/styles/retro/images/triangle_highlight.pngbin2120 -> 0 bytes
-rw-r--r--src/virtualkeyboard/content/styles/retro/style.qml1079
-rw-r--r--src/virtualkeyboard/content/styles/retro/virtualkeyboard_retro_style.qrc37
-rw-r--r--src/virtualkeyboard/content/virtualkeyboard_content.qrc35
-rw-r--r--src/virtualkeyboard/desktopinputpanel.cpp81
-rw-r--r--src/virtualkeyboard/desktopinputpanel_p.h32
-rw-r--r--src/virtualkeyboard/desktopinputselectioncontrol.cpp48
-rw-r--r--src/virtualkeyboard/desktopinputselectioncontrol_p.h33
-rw-r--r--src/virtualkeyboard/doc/doc.pri8
-rw-r--r--src/virtualkeyboard/doc/qtvirtualkeyboard.qdocconf28
-rw-r--r--src/virtualkeyboard/doc/snippets/CustomInputMethod.qml38
-rw-r--r--src/virtualkeyboard/doc/snippets/cmake.txt4
-rw-r--r--src/virtualkeyboard/doc/snippets/qtvirtualkeyboard-custom-language-popup.qml28
-rw-r--r--src/virtualkeyboard/doc/src/build.qdoc463
-rw-r--r--src/virtualkeyboard/doc/src/deployment-guide.qdoc168
-rw-r--r--src/virtualkeyboard/doc/src/handwriting.qdoc96
-rw-r--r--src/virtualkeyboard/doc/src/includes/build.qdocinc7
-rw-r--r--src/virtualkeyboard/doc/src/layouts.qdoc28
-rw-r--r--src/virtualkeyboard/doc/src/qtvirtualkeyboard-components.qdoc17
-rw-r--r--src/virtualkeyboard/doc/src/qtvirtualkeyboard-examples.qdoc36
-rw-r--r--src/virtualkeyboard/doc/src/qtvirtualkeyboard-index.qdoc167
-rw-r--r--src/virtualkeyboard/doc/src/qtvirtualkeyboard-module-cpp.qdoc38
-rw-r--r--src/virtualkeyboard/doc/src/qtvirtualkeyboard-namespace.qdoc53
-rw-r--r--src/virtualkeyboard/doc/src/technical-guide.qdoc333
-rw-r--r--src/virtualkeyboard/doc/src/user-guide.qdoc31
-rw-r--r--src/virtualkeyboard/doc/src/xt9.qdoc58
-rw-r--r--src/virtualkeyboard/enterkeyaction.cpp31
-rw-r--r--src/virtualkeyboard/enterkeyaction_p.h40
-rw-r--r--src/virtualkeyboard/enterkeyactionattachedtype.cpp30
-rw-r--r--src/virtualkeyboard/enterkeyactionattachedtype_p.h35
-rw-r--r--src/virtualkeyboard/fallbackinputmethod.cpp30
-rw-r--r--src/virtualkeyboard/fallbackinputmethod_p.h33
-rw-r--r--src/virtualkeyboard/gesturerecognizer.cpp30
-rw-r--r--src/virtualkeyboard/gesturerecognizer_p.h33
-rw-r--r--src/virtualkeyboard/handwritinggesturerecognizer.cpp36
-rw-r--r--src/virtualkeyboard/handwritinggesturerecognizer_p.h32
-rw-r--r--src/virtualkeyboard/inputmethod.cpp37
-rw-r--r--src/virtualkeyboard/inputmethod_p.h38
-rw-r--r--src/virtualkeyboard/inputselectionhandle.cpp30
-rw-r--r--src/virtualkeyboard/inputselectionhandle_p.h33
-rw-r--r--src/virtualkeyboard/inputview.cpp30
-rw-r--r--src/virtualkeyboard/inputview_p.h33
-rw-r--r--src/virtualkeyboard/plaininputmethod.cpp30
-rw-r--r--src/virtualkeyboard/plaininputmethod_p.h35
-rw-r--r--src/virtualkeyboard/platforminputcontext.cpp74
-rw-r--r--src/virtualkeyboard/platforminputcontext_p.h37
-rw-r--r--src/virtualkeyboard/qt_cmdline.cmake24
-rw-r--r--src/virtualkeyboard/qvirtualkeyboard_global.h45
-rw-r--r--src/virtualkeyboard/qvirtualkeyboard_global_p.h40
-rw-r--r--src/virtualkeyboard/qvirtualkeyboard_namespace.h13
-rw-r--r--src/virtualkeyboard/qvirtualkeyboard_staticplugin_p.h69
-rw-r--r--src/virtualkeyboard/qvirtualkeyboardabstractinputmethod.cpp76
-rw-r--r--src/virtualkeyboard/qvirtualkeyboardabstractinputmethod.h40
-rw-r--r--src/virtualkeyboard/qvirtualkeyboardabstractinputmethod_p.cpp19
-rw-r--r--src/virtualkeyboard/qvirtualkeyboardabstractinputmethod_p.h35
-rw-r--r--src/virtualkeyboard/qvirtualkeyboarddictionary.cpp70
-rw-r--r--src/virtualkeyboard/qvirtualkeyboarddictionary.h39
-rw-r--r--src/virtualkeyboard/qvirtualkeyboarddictionarymanager.cpp214
-rw-r--r--src/virtualkeyboard/qvirtualkeyboarddictionarymanager.h54
-rw-r--r--src/virtualkeyboard/qvirtualkeyboardextensionplugin.cpp68
-rw-r--r--src/virtualkeyboard/qvirtualkeyboardextensionplugin.h54
-rw-r--r--src/virtualkeyboard/qvirtualkeyboardfeatures_namespace_p.h46
-rw-r--r--src/virtualkeyboard/qvirtualkeyboardinputcontext.cpp68
-rw-r--r--src/virtualkeyboard/qvirtualkeyboardinputcontext.h58
-rw-r--r--src/virtualkeyboard/qvirtualkeyboardinputcontext_p.cpp220
-rw-r--r--src/virtualkeyboard/qvirtualkeyboardinputcontext_p.h69
-rw-r--r--src/virtualkeyboard/qvirtualkeyboardinputengine.cpp64
-rw-r--r--src/virtualkeyboard/qvirtualkeyboardinputengine.h45
-rw-r--r--src/virtualkeyboard/qvirtualkeyboardnamespace_p.h70
-rw-r--r--src/virtualkeyboard/qvirtualkeyboardobserver.cpp65
-rw-r--r--src/virtualkeyboard/qvirtualkeyboardobserver.h39
-rw-r--r--src/virtualkeyboard/qvirtualkeyboardselectionlistmodel.cpp56
-rw-r--r--src/virtualkeyboard/qvirtualkeyboardselectionlistmodel.h40
-rw-r--r--src/virtualkeyboard/qvirtualkeyboardtrace.cpp77
-rw-r--r--src/virtualkeyboard/qvirtualkeyboardtrace.h48
-rw-r--r--src/virtualkeyboard/settings.cpp204
-rw-r--r--src/virtualkeyboard/settings_p.h71
-rw-r--r--src/virtualkeyboard/shadowinputcontext.cpp49
-rw-r--r--src/virtualkeyboard/shadowinputcontext_p.h37
-rw-r--r--src/virtualkeyboard/shifthandler.cpp46
-rw-r--r--src/virtualkeyboard/shifthandler_p.h38
-rw-r--r--src/virtualkeyboard/unipentrace.cpp32
-rw-r--r--src/virtualkeyboard/unipentrace_p.h33
-rw-r--r--src/virtualkeyboard/virtualkeyboard.cpp52
-rw-r--r--src/virtualkeyboard/virtualkeyboard.pro433
-rw-r--r--src/virtualkeyboard/virtualkeyboard_p.h44
-rw-r--r--src/virtualkeyboard/virtualkeyboardattachedtype.cpp33
-rw-r--r--src/virtualkeyboard/virtualkeyboardattachedtype_p.h48
-rw-r--r--src/virtualkeyboard/virtualkeyboarddebug_p.h31
-rw-r--r--src/virtualkeyboard/virtualkeyboardsettings.cpp471
-rw-r--r--src/virtualkeyboard/virtualkeyboardsettings_p.h135
438 files changed, 2674 insertions, 30820 deletions
diff --git a/src/virtualkeyboard/.prev_CMakeLists.txt b/src/virtualkeyboard/.prev_CMakeLists.txt
deleted file mode 100644
index ce750e90..00000000
--- a/src/virtualkeyboard/.prev_CMakeLists.txt
+++ /dev/null
@@ -1,357 +0,0 @@
-# Generated from virtualkeyboard.pro.
-
-#####################################################################
-## VirtualKeyboard Module:
-#####################################################################
-
-qt_add_module(VirtualKeyboard
- PLUGIN_TYPES virtualkeyboard
- SOURCES
- abstractinputpanel.cpp abstractinputpanel_p.h
- appinputpanel.cpp appinputpanel_p.h
- appinputpanel_p_p.h
- desktopinputselectioncontrol.cpp desktopinputselectioncontrol_p.h
- enterkeyaction.cpp enterkeyaction_p.h
- enterkeyactionattachedtype.cpp enterkeyactionattachedtype_p.h
- fallbackinputmethod.cpp fallbackinputmethod_p.h
- gesturerecognizer.cpp gesturerecognizer_p.h
- handwritinggesturerecognizer.cpp handwritinggesturerecognizer_p.h
- inputmethod.cpp inputmethod_p.h
- inputselectionhandle.cpp inputselectionhandle_p.h
- plaininputmethod.cpp plaininputmethod_p.h
- platforminputcontext.cpp platforminputcontext_p.h
- qvirtualkeyboard_global.h qvirtualkeyboard_global_p.h
- qvirtualkeyboard_staticplugin_p.h
- qvirtualkeyboardabstractinputmethod.cpp qvirtualkeyboardabstractinputmethod.h
- qvirtualkeyboardextensionplugin.cpp qvirtualkeyboardextensionplugin.h
- qvirtualkeyboardinputcontext.cpp qvirtualkeyboardinputcontext.h qvirtualkeyboardinputcontext_p.cpp qvirtualkeyboardinputcontext_p.h
- qvirtualkeyboardinputengine.cpp qvirtualkeyboardinputengine.h
- qvirtualkeyboardselectionlistmodel.cpp qvirtualkeyboardselectionlistmodel.h
- qvirtualkeyboardtrace.cpp qvirtualkeyboardtrace.h
- settings.cpp settings_p.h
- shadowinputcontext.cpp shadowinputcontext_p.h
- shifthandler.cpp shifthandler_p.h
- virtualkeyboarddebug_p.h
- virtualkeyboardsettings.cpp virtualkeyboardsettings_p.h
- DEFINES
- QT_ASCII_CAST_WARNINGS
- QT_NO_CAST_FROM_ASCII
- QT_NO_CAST_FROM_BYTEARRAY
- QT_NO_CAST_TO_ASCII
- QT_VIRTUALKEYBOARD_DEFAULT_LAYOUTS_DIR=\\\"qrc:/QtQuick/VirtualKeyboard/content/layouts\\\"
- QVIRTUALKEYBOARD_LIBRARY
- LIBRARIES
- Qt::CorePrivate
- Qt::GuiPrivate
- PUBLIC_LIBRARIES
- Qt::Core
- Qt::Gui
- Qt::Qml
- Qt::Quick
- PRIVATE_MODULE_INTERFACE
- Qt::CorePrivate
- Qt::GuiPrivate
-)
-
-# Resources:
-set(virtualkeyboard_content_resource_files
- "HandwritingInputPanel.qml"
- "InputPanel.qml"
- "components/AlternativeKeys.qml"
- "components/BackspaceKey.qml"
- "components/BaseKey.qml"
- "components/ChangeLanguageKey.qml"
- "components/CharacterPreviewBubble.qml"
- "components/EnterKey.qml"
- "components/FillerKey.qml"
- "components/HandwritingModeKey.qml"
- "components/HideKeyboardKey.qml"
- "components/InputModeKey.qml"
- "components/Key.qml"
- "components/Keyboard.qml"
- "components/KeyboardColumn.qml"
- "components/KeyboardLayout.qml"
- "components/KeyboardLayoutLoader.qml"
- "components/KeyboardRow.qml"
- "components/ModeKey.qml"
- "components/MultiSoundEffect.qml"
- "components/MultitapInputMethod.qml"
- "components/NumberKey.qml"
- "components/PopupList.qml"
- "components/SelectionControl.qml"
- "components/ShadowInputControl.qml"
- "components/ShiftKey.qml"
- "components/SpaceKey.qml"
- "components/SymbolModeKey.qml"
- "components/TraceInputArea.qml"
- "components/TraceInputKey.qml"
- "components/WordCandidatePopupList.qml"
-)
-
-qt_add_resource(VirtualKeyboard "virtualkeyboard_content"
- PREFIX
- "/QtQuick/VirtualKeyboard/content"
- BASE
- "content"
- FILES
- ${virtualkeyboard_content_resource_files}
-)
-
-
-#### Keys ignored in scope 1:.:.:virtualkeyboard.pro:<TRUE>:
-# LAYOUT_FILES = "content/layouts/fallback/dialpad.qml" "content/layouts/fallback/digits.qml" "content/layouts/fallback/numbers.qml" "content/layouts/fallback/main.qml" "content/layouts/fallback/symbols.qml"
-# MODULE = "virtualkeyboard"
-# OTHER_FILES = "$$PWD/qtvirtualkeyboard.qdocconf" "$$PWD/src/qtvirtualkeyboard-index.qdoc" "$$PWD/src/deployment-guide.qdoc" "$$PWD/src/technical-guide.qdoc" "$$PWD/src/user-guide.qdoc" "$$PWD/src/build.qdoc" "$$PWD/src/snippets/CustomInputMethod.qml" "content/styles/default/*.qml" "content/styles/retro/*.qml" "content/*.qml" "content/components/*.qml" "qtvirtualkeyboard.json" "$$LAYOUT_FILES"
-
-## Scopes:
-#####################################################################
-
-qt_extend_target(VirtualKeyboard CONDITION QT_FEATURE_vkb_sensitive_debug
- PUBLIC_DEFINES
- SENSITIVE_DEBUG
-)
-
-if(NOT no-builtin-style)
- # Resources:
- set(virtualkeyboard_default_style_resource_files
- "images/backspace-868482.svg"
- "images/check-868482.svg"
- "images/enter-868482.svg"
- "images/globe-868482.svg"
- "images/handwriting-868482.svg"
- "images/hidekeyboard-868482.svg"
- "images/search-868482.svg"
- "images/selectionhandle-bottom.svg"
- "images/shift-80c342.svg"
- "images/shift-868482.svg"
- "images/shift-c5d6b6.svg"
- "images/textmode-868482.svg"
- "style.qml"
- )
-
- qt_add_resource(VirtualKeyboard "virtualkeyboard_default_style"
- PREFIX
- "/QtQuick/VirtualKeyboard/content/styles/default"
- BASE
- "content/styles/default"
- FILES
- ${virtualkeyboard_default_style_resource_files}
- )
- set(virtualkeyboard_retro_style_resource_files
- "images/backspace-c5a96f.svg"
- "images/check-c5a96f.svg"
- "images/enter-c5a96f.svg"
- "images/globe-110b05.svg"
- "images/handwriting-110b05.svg"
- "images/hidekeyboard-c5a96f.svg"
- "images/key154px_black.png"
- "images/key154px_black_long.png"
- "images/key154px_capslock.png"
- "images/key154px_capslock_long.png"
- "images/key154px_colorA.png"
- "images/key154px_colorA.svg"
- "images/key154px_colorA_long.png"
- "images/key154px_colorB.png"
- "images/key154px_shiftcase.png"
- "images/key154px_shiftcase_long.png"
- "images/key156px_black_long.png"
- "images/key156px_black_medium_long.png"
- "images/key156px_colorA.png"
- "images/key156px_colorB.png"
- "images/key160px_black.png"
- "images/key160px_colorA.png"
- "images/key160px_colorB.png"
- "images/key_preview.png"
- "images/search-c5a96f.svg"
- "images/selectionhandle-bottom.svg"
- "images/shift-c5a96f.svg"
- "images/shift-cd8865.svg"
- "images/shift-dc4f28.svg"
- "images/textmode-110b05.svg"
- "images/triangle_black.png"
- "images/triangle_highlight.png"
- "style.qml"
- )
-
- qt_add_resource(VirtualKeyboard "virtualkeyboard_retro_style"
- PREFIX
- "/QtQuick/VirtualKeyboard/content/styles/retro"
- BASE
- "content/styles/retro"
- FILES
- ${virtualkeyboard_retro_style_resource_files}
- )
-endif()
-
-#### Keys ignored in scope 4:.:.:virtualkeyboard.pro:QT_FEATURE_vkb_lang_en_GB:
-# LAYOUT_FILES = "content/layouts/en_GB/dialpad.fallback" "content/layouts/en_GB/digits.fallback" "content/layouts/en_GB/main.fallback" "content/layouts/en_GB/numbers.fallback" "content/layouts/en_GB/symbols.fallback"
-
-#### Keys ignored in scope 5:.:.:virtualkeyboard.pro:QT_FEATURE_vkb_lang_en_US:
-# LAYOUT_FILES = "content/layouts/en_US/dialpad.fallback" "content/layouts/en_US/digits.fallback" "content/layouts/en_US/main.fallback" "content/layouts/en_US/numbers.fallback" "content/layouts/en_US/symbols.fallback"
-
-#### Keys ignored in scope 6:.:.:virtualkeyboard.pro:QT_FEATURE_vkb_lang_ar_AR:
-# LAYOUT_FILES = "content/layouts/ar_AR/dialpad.fallback" "content/layouts/ar_AR/digits.qml" "content/layouts/ar_AR/main.qml" "content/layouts/ar_AR/numbers.qml" "content/layouts/ar_AR/symbols.qml"
-
-#### Keys ignored in scope 7:.:.:virtualkeyboard.pro:QT_FEATURE_vkb_lang_bg_BG:
-# LAYOUT_FILES = "content/layouts/bg_BG/dialpad.fallback" "content/layouts/bg_BG/digits.fallback" "content/layouts/bg_BG/main.qml" "content/layouts/bg_BG/numbers.fallback" "content/layouts/bg_BG/symbols.fallback"
-
-#### Keys ignored in scope 8:.:.:virtualkeyboard.pro:QT_FEATURE_vkb_lang_cs_CZ:
-# LAYOUT_FILES = "content/layouts/cs_CZ/dialpad.fallback" "content/layouts/cs_CZ/digits.fallback" "content/layouts/cs_CZ/main.qml" "content/layouts/cs_CZ/numbers.fallback" "content/layouts/cs_CZ/symbols.fallback"
-
-#### Keys ignored in scope 9:.:.:virtualkeyboard.pro:QT_FEATURE_vkb_lang_da_DK:
-# LAYOUT_FILES = "content/layouts/da_DK/dialpad.fallback" "content/layouts/da_DK/digits.fallback" "content/layouts/da_DK/main.qml" "content/layouts/da_DK/numbers.fallback" "content/layouts/da_DK/symbols.fallback"
-
-#### Keys ignored in scope 10:.:.:virtualkeyboard.pro:QT_FEATURE_vkb_lang_de_DE:
-# LAYOUT_FILES = "content/layouts/de_DE/dialpad.fallback" "content/layouts/de_DE/digits.fallback" "content/layouts/de_DE/main.qml" "content/layouts/de_DE/numbers.fallback" "content/layouts/de_DE/symbols.fallback"
-
-#### Keys ignored in scope 11:.:.:virtualkeyboard.pro:QT_FEATURE_vkb_lang_el_GR:
-# LAYOUT_FILES = "content/layouts/el_GR/dialpad.fallback" "content/layouts/el_GR/digits.fallback" "content/layouts/el_GR/main.qml" "content/layouts/el_GR/numbers.fallback" "content/layouts/el_GR/symbols.fallback"
-
-#### Keys ignored in scope 12:.:.:virtualkeyboard.pro:QT_FEATURE_vkb_lang_es_ES:
-# LAYOUT_FILES = "content/layouts/es_ES/dialpad.fallback" "content/layouts/es_ES/digits.fallback" "content/layouts/es_ES/main.qml" "content/layouts/es_ES/numbers.fallback" "content/layouts/es_ES/symbols.qml"
-
-#### Keys ignored in scope 13:.:.:virtualkeyboard.pro:QT_FEATURE_vkb_lang_es_MX:
-# LAYOUT_FILES = "content/layouts/es_MX/dialpad.fallback" "content/layouts/es_MX/digits.fallback" "content/layouts/es_MX/main.qml" "content/layouts/es_MX/numbers.fallback" "content/layouts/es_MX/symbols.qml"
-
-#### Keys ignored in scope 14:.:.:virtualkeyboard.pro:QT_FEATURE_vkb_lang_et_EE:
-# LAYOUT_FILES = "content/layouts/et_EE/dialpad.fallback" "content/layouts/et_EE/digits.fallback" "content/layouts/et_EE/main.qml" "content/layouts/et_EE/numbers.fallback" "content/layouts/et_EE/symbols.fallback"
-
-#### Keys ignored in scope 15:.:.:virtualkeyboard.pro:QT_FEATURE_vkb_lang_fa_FA:
-# LAYOUT_FILES = "content/layouts/fa_FA/dialpad.fallback" "content/layouts/fa_FA/digits.qml" "content/layouts/fa_FA/main.qml" "content/layouts/fa_FA/numbers.qml" "content/layouts/fa_FA/symbols.qml"
-
-#### Keys ignored in scope 16:.:.:virtualkeyboard.pro:QT_FEATURE_vkb_lang_fi_FI:
-# LAYOUT_FILES = "content/layouts/fi_FI/dialpad.fallback" "content/layouts/fi_FI/digits.fallback" "content/layouts/fi_FI/main.qml" "content/layouts/fi_FI/numbers.fallback" "content/layouts/fi_FI/symbols.fallback"
-
-#### Keys ignored in scope 17:.:.:virtualkeyboard.pro:QT_FEATURE_vkb_lang_fr_CA:
-# LAYOUT_FILES = "content/layouts/fr_CA/dialpad.fallback" "content/layouts/fr_CA/digits.fallback" "content/layouts/fr_CA/main.qml" "content/layouts/fr_CA/numbers.fallback" "content/layouts/fr_CA/symbols.fallback"
-
-#### Keys ignored in scope 18:.:.:virtualkeyboard.pro:QT_FEATURE_vkb_lang_fr_FR:
-# LAYOUT_FILES = "content/layouts/fr_FR/dialpad.fallback" "content/layouts/fr_FR/digits.fallback" "content/layouts/fr_FR/main.qml" "content/layouts/fr_FR/numbers.fallback" "content/layouts/fr_FR/symbols.fallback"
-
-#### Keys ignored in scope 19:.:.:virtualkeyboard.pro:QT_FEATURE_vkb_lang_he_IL:
-# LAYOUT_FILES = "content/layouts/he_IL/dialpad.fallback" "content/layouts/he_IL/digits.fallback" "content/layouts/he_IL/main.qml" "content/layouts/he_IL/numbers.fallback" "content/layouts/he_IL/symbols.qml"
-
-#### Keys ignored in scope 20:.:.:virtualkeyboard.pro:QT_FEATURE_vkb_lang_hi_IN:
-# LAYOUT_FILES = "content/layouts/hi_IN/dialpad.fallback" "content/layouts/hi_IN/digits.fallback" "content/layouts/hi_IN/main.qml" "content/layouts/hi_IN/numbers.fallback" "content/layouts/hi_IN/symbols.qml"
-
-#### Keys ignored in scope 21:.:.:virtualkeyboard.pro:QT_FEATURE_vkb_lang_hr_HR:
-# LAYOUT_FILES = "content/layouts/hr_HR/dialpad.fallback" "content/layouts/hr_HR/digits.fallback" "content/layouts/hr_HR/main.qml" "content/layouts/hr_HR/numbers.fallback" "content/layouts/hr_HR/symbols.fallback"
-
-#### Keys ignored in scope 22:.:.:virtualkeyboard.pro:QT_FEATURE_vkb_lang_hu_HU:
-# LAYOUT_FILES = "content/layouts/hu_HU/dialpad.fallback" "content/layouts/hu_HU/digits.fallback" "content/layouts/hu_HU/main.qml" "content/layouts/hu_HU/numbers.fallback" "content/layouts/hu_HU/symbols.fallback"
-
-#### Keys ignored in scope 23:.:.:virtualkeyboard.pro:QT_FEATURE_vkb_lang_id_ID:
-# LAYOUT_FILES = "content/layouts/id_ID/dialpad.fallback" "content/layouts/id_ID/digits.fallback" "content/layouts/id_ID/main.fallback" "content/layouts/id_ID/numbers.fallback" "content/layouts/id_ID/symbols.fallback"
-
-#### Keys ignored in scope 24:.:.:virtualkeyboard.pro:QT_FEATURE_vkb_lang_it_IT:
-# LAYOUT_FILES = "content/layouts/it_IT/dialpad.fallback" "content/layouts/it_IT/digits.fallback" "content/layouts/it_IT/main.qml" "content/layouts/it_IT/numbers.fallback" "content/layouts/it_IT/symbols.fallback"
-
-#### Keys ignored in scope 25:.:.:virtualkeyboard.pro:QT_FEATURE_vkb_lang_nb_NO:
-# LAYOUT_FILES = "content/layouts/nb_NO/dialpad.fallback" "content/layouts/nb_NO/digits.fallback" "content/layouts/nb_NO/main.qml" "content/layouts/nb_NO/numbers.fallback" "content/layouts/nb_NO/symbols.fallback"
-
-#### Keys ignored in scope 26:.:.:virtualkeyboard.pro:QT_FEATURE_vkb_lang_ms_MY:
-# LAYOUT_FILES = "content/layouts/ms_MY/dialpad.fallback" "content/layouts/ms_MY/digits.fallback" "content/layouts/ms_MY/main.fallback" "content/layouts/ms_MY/numbers.fallback" "content/layouts/ms_MY/symbols.fallback"
-
-#### Keys ignored in scope 27:.:.:virtualkeyboard.pro:QT_FEATURE_vkb_lang_nl_NL:
-# LAYOUT_FILES = "content/layouts/nl_NL/dialpad.fallback" "content/layouts/nl_NL/digits.fallback" "content/layouts/nl_NL/main.fallback" "content/layouts/nl_NL/numbers.fallback" "content/layouts/nl_NL/symbols.fallback"
-
-#### Keys ignored in scope 28:.:.:virtualkeyboard.pro:QT_FEATURE_vkb_lang_pl_PL:
-# LAYOUT_FILES = "content/layouts/pl_PL/dialpad.fallback" "content/layouts/pl_PL/digits.fallback" "content/layouts/pl_PL/main.qml" "content/layouts/pl_PL/numbers.fallback" "content/layouts/pl_PL/symbols.fallback"
-
-#### Keys ignored in scope 29:.:.:virtualkeyboard.pro:QT_FEATURE_vkb_lang_pt_BR:
-# LAYOUT_FILES = "content/layouts/pt_BR/dialpad.fallback" "content/layouts/pt_BR/digits.fallback" "content/layouts/pt_BR/main.qml" "content/layouts/pt_BR/numbers.fallback" "content/layouts/pt_BR/symbols.fallback"
-
-#### Keys ignored in scope 30:.:.:virtualkeyboard.pro:QT_FEATURE_vkb_lang_pt_PT:
-# LAYOUT_FILES = "content/layouts/pt_PT/dialpad.fallback" "content/layouts/pt_PT/digits.fallback" "content/layouts/pt_PT/main.qml" "content/layouts/pt_PT/numbers.fallback" "content/layouts/pt_PT/symbols.fallback"
-
-#### Keys ignored in scope 31:.:.:virtualkeyboard.pro:QT_FEATURE_vkb_lang_ro_RO:
-# LAYOUT_FILES = "content/layouts/ro_RO/dialpad.fallback" "content/layouts/ro_RO/digits.fallback" "content/layouts/ro_RO/main.qml" "content/layouts/ro_RO/numbers.fallback" "content/layouts/ro_RO/symbols.fallback"
-
-#### Keys ignored in scope 32:.:.:virtualkeyboard.pro:QT_FEATURE_vkb_lang_ru_RU:
-# LAYOUT_FILES = "content/layouts/ru_RU/dialpad.fallback" "content/layouts/ru_RU/digits.fallback" "content/layouts/ru_RU/main.qml" "content/layouts/ru_RU/numbers.fallback" "content/layouts/ru_RU/symbols.fallback"
-
-#### Keys ignored in scope 33:.:.:virtualkeyboard.pro:QT_FEATURE_vkb_lang_sk_SK:
-# LAYOUT_FILES = "content/layouts/sk_SK/dialpad.fallback" "content/layouts/sk_SK/digits.fallback" "content/layouts/sk_SK/main.qml" "content/layouts/sk_SK/numbers.fallback" "content/layouts/sk_SK/symbols.fallback"
-
-#### Keys ignored in scope 34:.:.:virtualkeyboard.pro:QT_FEATURE_vkb_lang_sl_SI:
-# LAYOUT_FILES = "content/layouts/sl_SI/dialpad.fallback" "content/layouts/sl_SI/digits.fallback" "content/layouts/sl_SI/main.qml" "content/layouts/sl_SI/numbers.fallback" "content/layouts/sl_SI/symbols.fallback"
-
-#### Keys ignored in scope 35:.:.:virtualkeyboard.pro:QT_FEATURE_vkb_lang_sq_AL:
-# LAYOUT_FILES = "content/layouts/sq_AL/dialpad.fallback" "content/layouts/sq_AL/digits.fallback" "content/layouts/sq_AL/main.qml" "content/layouts/sq_AL/numbers.fallback" "content/layouts/sq_AL/symbols.fallback"
-
-#### Keys ignored in scope 36:.:.:virtualkeyboard.pro:QT_FEATURE_vkb_lang_sr_SP:
-# LAYOUT_FILES = "content/layouts/sr_SP/dialpad.fallback" "content/layouts/sr_SP/digits.fallback" "content/layouts/sr_SP/main.qml" "content/layouts/sr_SP/numbers.fallback" "content/layouts/sr_SP/symbols.fallback"
-
-#### Keys ignored in scope 37:.:.:virtualkeyboard.pro:QT_FEATURE_vkb_lang_sv_SE:
-# LAYOUT_FILES = "content/layouts/sv_SE/dialpad.fallback" "content/layouts/sv_SE/digits.fallback" "content/layouts/sv_SE/main.qml" "content/layouts/sv_SE/numbers.fallback" "content/layouts/sv_SE/symbols.fallback"
-
-#### Keys ignored in scope 38:.:.:virtualkeyboard.pro:QT_FEATURE_vkb_lang_tr_TR:
-# LAYOUT_FILES = "content/layouts/tr_TR/dialpad.fallback" "content/layouts/tr_TR/digits.fallback" "content/layouts/tr_TR/main.qml" "content/layouts/tr_TR/numbers.fallback" "content/layouts/tr_TR/symbols.fallback"
-
-#### Keys ignored in scope 39:.:.:virtualkeyboard.pro:QT_FEATURE_vkb_lang_uk_UA:
-# LAYOUT_FILES = "content/layouts/uk_UA/dialpad.fallback" "content/layouts/uk_UA/digits.fallback" "content/layouts/uk_UA/main.qml" "content/layouts/uk_UA/numbers.fallback" "content/layouts/uk_UA/symbols.fallback"
-
-#### Keys ignored in scope 40:.:.:virtualkeyboard.pro:QT_FEATURE_vkb_lang_vi_VN:
-# LAYOUT_FILES = "content/layouts/vi_VN/dialpad.fallback" "content/layouts/vi_VN/digits.fallback" "content/layouts/vi_VN/main.qml" "content/layouts/vi_VN/numbers.fallback" "content/layouts/vi_VN/symbols.qml"
-
-qt_extend_target(VirtualKeyboard CONDITION QT_FEATURE_vkb_no_builtin_style
- DEFINES
- QT_VIRTUALKEYBOARD_DEFAULT_STYLE=\\\"\\\"
-)
-
-qt_extend_target(VirtualKeyboard CONDITION QT_FEATURE_vkb_retro_style AND NOT QT_FEATURE_vkb_no_builtin_style
- DEFINES
- QT_VIRTUALKEYBOARD_DEFAULT_STYLE=\\\"retro\\\"
-)
-
-qt_extend_target(VirtualKeyboard CONDITION NOT QT_FEATURE_vkb_no_builtin_style AND NOT QT_FEATURE_vkb_retro_style
- DEFINES
- QT_VIRTUALKEYBOARD_DEFAULT_STYLE=\\\"default\\\"
-)
-
-qt_extend_target(VirtualKeyboard CONDITION QT_FEATURE_vkb_desktop
- SOURCES
- desktopinputpanel.cpp desktopinputpanel_p.h
- inputview.cpp inputview_p.h
- DEFINES
- QT_VIRTUALKEYBOARD_DESKTOP
-)
-
-qt_extend_target(VirtualKeyboard CONDITION QT_FEATURE_vkb_desktop AND QT_FEATURE_vkb_xcb
- PUBLIC_LIBRARIES
- XCB::XFIXES
-)
-
-qt_extend_target(VirtualKeyboard CONDITION QT_FEATURE_vkb_record_trace_input
- SOURCES
- unipentrace.cpp unipentrace_p.h
- PUBLIC_DEFINES
- QT_VIRTUALKEYBOARD_RECORD_TRACE_INPUT
-)
-
-qt_extend_target(VirtualKeyboard CONDITION QT_FEATURE_vkb_arrow_keynavigation
- DEFINES
- QT_VIRTUALKEYBOARD_ARROW_KEY_NAVIGATION
-)
-
-if(QT_FEATURE_vkb_layouts)
- # Resources:
- set(qmake_virtualkeyboard_layouts_resource_files
- "content/layouts/fallback/dialpad.qml"
- "content/layouts/fallback/digits.qml"
- "content/layouts/fallback/main.qml"
- "content/layouts/fallback/numbers.qml"
- "content/layouts/fallback/symbols.qml"
- )
-
- qt_add_resource(VirtualKeyboard "qmake_virtualkeyboard_layouts"
- PREFIX
- "$$LAYOUTS_PREFIX"
- FILES
- ${qmake_virtualkeyboard_layouts_resource_files}
- )
-endif()
-qt_add_docs(VirtualKeyboard
- doc/qtvirtualkeyboard.qdocconf
-)
-
diff --git a/src/virtualkeyboard/.prev_configure.cmake b/src/virtualkeyboard/.prev_configure.cmake
deleted file mode 100644
index 33c2be77..00000000
--- a/src/virtualkeyboard/.prev_configure.cmake
+++ /dev/null
@@ -1,373 +0,0 @@
-
-
-#### Inputs
-
-# input vkb-hunspell
-set(INPUT_vkb_hunspell "undefined" CACHE STRING "")
-set_property(CACHE INPUT_vkb_hunspell PROPERTY STRINGS undefined no 3rdparty system)
-
-
-
-#### Libraries
-
-qt_find_package(Hunspell PROVIDED_TARGETS Hunspell::Hunspell)
-if((LINUX) OR QT_FIND_ALL_PACKAGES_ALWAYS)
- qt_find_package(XCB 1.9 PROVIDED_TARGETS XCB::XCB)
-endif()
-if((LINUX) OR QT_FIND_ALL_PACKAGES_ALWAYS)
- qt_find_package(XCB COMPONENTS XFIXES PROVIDED_TARGETS XCB::XFIXES)
-endif()
-
-
-#### Tests
-
-
-
-#### Features
-
-qt_feature("vkb-record-trace-input" PUBLIC
- LABEL "Input trace recording"
- AUTODETECT false
-)
-qt_feature("vkb-arrow-keynavigation" PUBLIC
- LABEL "Key navigation"
- AUTODETECT false
-)
-qt_feature("vkb-desktop" PUBLIC
- LABEL "Desktop integration"
- CONDITION NOT cross_compile
-)
-qt_feature("vkb-xcb" PUBLIC
- LABEL "XCB integration"
- CONDITION TARGET XCB::XCB AND XCB_XFIXES_FOUND
-)
-qt_feature("vkb-layouts" PUBLIC
- LABEL "Built-in layouts"
-)
-qt_feature("vkb-no-builtin-style" PUBLIC
- LABEL "Disable builtin styles"
- AUTODETECT OFF
- ENABLE INPUT_vkb_style STREQUAL 'none'
-)
-qt_feature("vkb-retro-style" PUBLIC
- LABEL "Retro style as default"
- AUTODETECT OFF
- ENABLE INPUT_vkb_style STREQUAL 'retro'
-)
-qt_feature("vkb-default-style" PUBLIC
- LABEL "Default style"
- AUTODETECT ON
- CONDITION NOT QT_FEATURE_vkb_retro_style AND NOT QT_FEATURE_vkb_no_builtin_style
- ENABLE INPUT_vkb_style STREQUAL 'default'
-)
-qt_feature("vkb-sensitive-debug" PRIVATE
- LABEL "Sensitive Debug"
- AUTODETECT OFF
-)
-qt_feature("t9write-alphabetic" PRIVATE
- LABEL " Alphabetic"
- CONDITION VKB_HAVE_T9WRITE_ALPHA
-)
-qt_feature("t9write-cjk" PRIVATE
- LABEL " CJK"
- CONDITION VKB_HAVE_T9WRITE_CJK
-)
-qt_feature("t9write" PRIVATE
- LABEL "T9Write handwriting"
- CONDITION QT_FEATURE_t9write_alphabetic OR QT_FEATURE_t9write_cjk
- ENABLE INPUT_vkb_handwriting STREQUAL 't9write'
- DISABLE INPUT_vkb_handwriting STREQUAL 'no' OR INPUT_vkb_handwriting STREQUAL 'lipi'
-)
-qt_feature("lipi-toolkit" PRIVATE
- LABEL "Lipi handwriting"
- AUTODETECT OFF
- ENABLE INPUT_vkb_handwriting STREQUAL 'lipi'
- DISABLE INPUT_vkb_handwriting STREQUAL 'no' OR INPUT_vkb_handwriting STREQUAL 't9write'
-)
-qt_feature("system-hunspell" PRIVATE
- LABEL "System Hunspell"
- CONDITION Hunspell_FOUND
-)
-qt_feature("3rdparty-hunspell" PRIVATE
- LABEL " Using Hunspell copy from 3rdparty/"
- CONDITION VKB_HAVE_3RDPARTY_HUNSPELL
- DISABLE INPUT_vkb_hunspell STREQUAL 'no' OR INPUT_vkb_hunspell STREQUAL 'system'
-)
-qt_feature("hunspell" PRIVATE
- LABEL "Hunspell"
- CONDITION QT_FEATURE_3rdparty_hunspell OR QT_FEATURE_system_hunspell
-)
-qt_feature("openwnn" PRIVATE
- LABEL "OpenWnn"
- AUTODETECT ( NOT INPUT_lang_ja_JP STREQUAL 'no' )
-)
-qt_feature("vkb-myscript" PRIVATE
- LABEL "MyScript"
- AUTODETECT OFF
-)
-qt_feature("pinyin" PRIVATE
- LABEL "libpinyin"
- AUTODETECT ( NOT INPUT_lang_ch_CN STREQUAL 'no' )
-)
-qt_feature("tcime" PRIVATE
- LABEL "Traditional Chinese IME (tcime)"
- AUTODETECT ( NOT INPUT_lang_ch_TW STREQUAL 'no' )
- CONDITION QT_FEATURE_zhuyin OR QT_FEATURE_cangjie
-)
-qt_feature("zhuyin" PRIVATE
- LABEL "Zhuyin"
- AUTODETECT ( NOT INPUT_lang_zh_TW STREQUAL 'no' )
-)
-qt_feature("cangjie" PRIVATE
- LABEL "Cangjie"
- AUTODETECT ( NOT INPUT_lang_zh_TW STREQUAL 'no' )
-)
-qt_feature("hangul" PRIVATE
- LABEL "Hangul"
-)
-qt_feature("thai" PRIVATE
- LABEL "Thai"
-)
-qt_feature("vkb-lang-ar_AR" PRIVATE
- LABEL "Arabic"
- AUTODETECT ( NOT INPUT_lang_ar_AR STREQUAL 'no' )
-)
-qt_feature("vkb-lang-bg_BG" PRIVATE
- LABEL "Bulgarian"
- AUTODETECT ( NOT INPUT_lang_bg_BG STREQUAL 'no' )
-)
-qt_feature("vkb-lang-cs_CZ" PRIVATE
- LABEL "Czech"
- AUTODETECT ( NOT INPUT_lang_cs_CZ STREQUAL 'no' )
-)
-qt_feature("vkb-lang-da_DK" PRIVATE
- LABEL "Danish"
- AUTODETECT ( NOT INPUT_lang_da_DK STREQUAL 'no' )
-)
-qt_feature("vkb-lang-de_DE" PRIVATE
- LABEL "German"
- AUTODETECT ( NOT INPUT_lang_de_DE STREQUAL 'no' )
-)
-qt_feature("vkb-lang-el_GR" PRIVATE
- LABEL "Greek"
- AUTODETECT ( NOT INPUT_lang_el_GR STREQUAL 'no' )
-)
-qt_feature("vkb-lang-en_GB" PRIVATE
- LABEL "English GB"
- AUTODETECT ( NOT INPUT_lang_en_GB STREQUAL 'no' )
-)
-qt_feature("vkb-lang-en_US" PRIVATE
- LABEL "English US"
- AUTODETECT ( NOT INPUT_lang_en_US STREQUAL 'no' )
-)
-qt_feature("vkb-lang-es_ES" PRIVATE
- LABEL "Spanish"
- AUTODETECT ( NOT INPUT_lang_es_ES STREQUAL 'no' )
-)
-qt_feature("vkb-lang-es_MX" PRIVATE
- LABEL "Spanish Mexico"
- AUTODETECT ( NOT INPUT_lang_es_MX STREQUAL 'no' )
-)
-qt_feature("vkb-lang-et_EE" PRIVATE
- LABEL "Estonian"
- AUTODETECT ( NOT INPUT_lang_et_EE STREQUAL 'no' )
-)
-qt_feature("vkb-lang-fa_FA" PRIVATE
- LABEL "Farsi"
- AUTODETECT ( NOT INPUT_lang_fa_FA STREQUAL 'no' )
-)
-qt_feature("vkb-lang-fi_FI" PRIVATE
- LABEL "Finnish"
- AUTODETECT ( NOT INPUT_lang_fi_FI STREQUAL 'no' )
-)
-qt_feature("vkb-lang-fr_CA" PRIVATE
- LABEL "French Canada"
- AUTODETECT ( NOT INPUT_lang_fr_CA STREQUAL 'no' )
-)
-qt_feature("vkb-lang-fr_FR" PRIVATE
- LABEL "French France"
- AUTODETECT ( NOT INPUT_lang_fr_FR STREQUAL 'no' )
-)
-qt_feature("vkb-lang-he_IL" PRIVATE
- LABEL "Hebrew"
- AUTODETECT ( NOT INPUT_lang_he_IL STREQUAL 'no' )
-)
-qt_feature("vkb-lang-hi_IN" PRIVATE
- LABEL "Hindi"
- AUTODETECT ( NOT INPUT_lang_hi_IN STREQUAL 'no' )
-)
-qt_feature("vkb-lang-hr_HR" PRIVATE
- LABEL "Croatian"
- AUTODETECT ( NOT INPUT_lang_hr_HR STREQUAL 'no' )
-)
-qt_feature("vkb-lang-hu_HU" PRIVATE
- LABEL "Hungarian"
- AUTODETECT ( NOT INPUT_lang_hu_HU STREQUAL 'no' )
-)
-qt_feature("vkb-lang-id_ID" PRIVATE
- LABEL "Indonesian"
- AUTODETECT ( NOT INPUT_lang_id_ID STREQUAL 'no' )
-)
-qt_feature("vkb-lang-it_IT" PRIVATE
- LABEL "Italian"
- AUTODETECT ( NOT INPUT_lang_it_IT STREQUAL 'no' )
-)
-qt_feature("vkb-lang-ja_JP" PRIVATE
- LABEL "Japanese"
- CONDITION QT_FEATURE_openwnn
-)
-qt_feature("vkb-lang-ko_KR" PRIVATE
- LABEL "Korean"
- AUTODETECT ( NOT INPUT_lang_ko_KR STREQUAL 'no' )
-)
-qt_feature("vkb-lang-ms_MY" PRIVATE
- LABEL "Malay"
- AUTODETECT ( NOT INPUT_lang_ms_MY STREQUAL 'no' )
-)
-qt_feature("vkb-lang-nb_NO" PRIVATE
- LABEL "Norwegian"
- AUTODETECT ( NOT INPUT_lang_nb_NO STREQUAL 'no' )
-)
-qt_feature("vkb-lang-nl_NL" PRIVATE
- LABEL "Dutch"
- AUTODETECT ( NOT INPUT_lang_nl_NL STREQUAL 'no' )
-)
-qt_feature("vkb-lang-pl_PL" PRIVATE
- LABEL "Polish"
- AUTODETECT ( NOT INPUT_lang_pl_PL STREQUAL 'no' )
-)
-qt_feature("vkb-lang-pt_BR" PRIVATE
- LABEL "Portuguese Brazil"
- AUTODETECT ( NOT INPUT_lang_pt_BR STREQUAL 'no' )
-)
-qt_feature("vkb-lang-pt_PT" PRIVATE
- LABEL "Portuguese Portugal"
- AUTODETECT ( NOT INPUT_lang_pt_PT STREQUAL 'no' )
-)
-qt_feature("vkb-lang-ro_RO" PRIVATE
- LABEL "Romanian"
- AUTODETECT ( NOT INPUT_lang_ro_RO STREQUAL 'no' )
-)
-qt_feature("vkb-lang-ru_RU" PRIVATE
- LABEL "Russian"
- AUTODETECT ( NOT INPUT_lang_ru_RU STREQUAL 'no' )
-)
-qt_feature("vkb-lang-sk_SK" PRIVATE
- LABEL "Slovak"
- AUTODETECT ( NOT INPUT_lang_sk_SK STREQUAL 'no' )
-)
-qt_feature("vkb-lang-sl_SI" PRIVATE
- LABEL "Slovenian"
- AUTODETECT ( NOT INPUT_lang_sl_SI STREQUAL 'no' )
-)
-qt_feature("vkb-lang-sq_AL" PRIVATE
- LABEL "Albanian"
- AUTODETECT ( NOT INPUT_lang_sq_AL STREQUAL 'no' )
-)
-qt_feature("vkb-lang-sr_SP" PRIVATE
- LABEL "Serbian"
- AUTODETECT ( NOT INPUT_lang_sr_SP STREQUAL 'no' )
-)
-qt_feature("vkb-lang-sv_SE" PRIVATE
- LABEL "Swedish"
- AUTODETECT ( NOT INPUT_lang_sv_SE STREQUAL 'no' )
-)
-qt_feature("vkb-lang-th_TH" PRIVATE
- LABEL "Thai"
- CONDITION QT_FEATURE_thai
-)
-qt_feature("vkb-lang-tr_TR" PRIVATE
- LABEL "Turkish"
- AUTODETECT ( NOT INPUT_lang_tr_TR STREQUAL 'no' )
-)
-qt_feature("vkb-lang-uk_UA" PRIVATE
- LABEL "Ukrainian"
- AUTODETECT ( NOT INPUT_lang_uk_UA STREQUAL 'no' )
-)
-qt_feature("vkb-lang-vi_VN" PRIVATE
- LABEL "Vietnamese"
- AUTODETECT ( NOT INPUT_lang_vi_VN STREQUAL 'no' )
-)
-qt_feature("vkb-lang-zh_CN" PRIVATE
- LABEL "Simplified Chinese"
- AUTODETECT ( NOT INPUT_lang_zh_CN STREQUAL 'no' )
- CONDITION QT_FEATURE_pinyin
-)
-qt_feature("vkb-lang-zh_TW" PRIVATE
- LABEL "Traditional Chinese"
- AUTODETECT ( NOT INPUT_lang_zh_TW STREQUAL 'no' )
- CONDITION QT_FEATURE_tcime OR QT_FEATURE_zhuyin OR QT_FEATURE_cangjie
-)
-qt_configure_add_summary_section(NAME "Qt Virtualkeyboard")
-qt_configure_add_summary_entry(ARGS "vkb-desktop")
-qt_configure_add_summary_entry(ARGS "vkb-layouts")
-qt_configure_add_summary_entry(ARGS "vkb-arrow-keynavigation")
-qt_configure_add_summary_entry(ARGS "vkb-retro-style")
-qt_configure_add_summary_entry(ARGS "vkb-sensitive-debug")
-qt_configure_add_summary_entry(ARGS "t9write")
-qt_configure_add_summary_entry(ARGS "t9write-alphabetic")
-qt_configure_add_summary_entry(ARGS "t9write-cjk")
-qt_configure_add_summary_entry(ARGS "lipi-toolkit")
-qt_configure_add_summary_entry(ARGS "hunspell")
-qt_configure_add_summary_entry(ARGS "3rdparty-hunspell")
-qt_configure_add_summary_entry(ARGS "openwnn")
-qt_configure_add_summary_entry(ARGS "vkb-myscript")
-qt_configure_add_summary_section(NAME "Language support enabled for")
-qt_configure_add_summary_entry(ARGS "vkb-lang-ar_AR")
-qt_configure_add_summary_entry(ARGS "vkb-lang-bg_BG")
-qt_configure_add_summary_entry(ARGS "vkb-lang-cs_CZ")
-qt_configure_add_summary_entry(ARGS "vkb-lang-da_DK")
-qt_configure_add_summary_entry(ARGS "vkb-lang-de_DE")
-qt_configure_add_summary_entry(ARGS "vkb-lang-el_GR")
-qt_configure_add_summary_entry(ARGS "vkb-lang-en_GB")
-qt_configure_add_summary_entry(ARGS "vkb-lang-en_US")
-qt_configure_add_summary_entry(ARGS "vkb-lang-es_ES")
-qt_configure_add_summary_entry(ARGS "vkb-lang-es_MX")
-qt_configure_add_summary_entry(ARGS "vkb-lang-et_EE")
-qt_configure_add_summary_entry(ARGS "vkb-lang-fa_FA")
-qt_configure_add_summary_entry(ARGS "vkb-lang-fi_FI")
-qt_configure_add_summary_entry(ARGS "vkb-lang-fr_CA")
-qt_configure_add_summary_entry(ARGS "vkb-lang-fr_FR")
-qt_configure_add_summary_entry(ARGS "vkb-lang-he_IL")
-qt_configure_add_summary_entry(ARGS "vkb-lang-hi_IN")
-qt_configure_add_summary_entry(ARGS "vkb-lang-hr_HR")
-qt_configure_add_summary_entry(ARGS "vkb-lang-hu_HU")
-qt_configure_add_summary_entry(ARGS "vkb-lang-id_ID")
-qt_configure_add_summary_entry(ARGS "vkb-lang-it_IT")
-qt_configure_add_summary_entry(ARGS "vkb-lang-ja_JP")
-qt_configure_add_summary_entry(ARGS "vkb-lang-ko_KR")
-qt_configure_add_summary_entry(ARGS "vkb-lang-ms_MY")
-qt_configure_add_summary_entry(ARGS "vkb-lang-nb_NO")
-qt_configure_add_summary_entry(ARGS "vkb-lang-nl_NL")
-qt_configure_add_summary_entry(ARGS "vkb-lang-pl_PL")
-qt_configure_add_summary_entry(ARGS "vkb-lang-pt_BR")
-qt_configure_add_summary_entry(ARGS "vkb-lang-pt_PT")
-qt_configure_add_summary_entry(ARGS "vkb-lang-ro_RO")
-qt_configure_add_summary_entry(ARGS "vkb-lang-ru_RU")
-qt_configure_add_summary_entry(ARGS "vkb-lang-sk_SK")
-qt_configure_add_summary_entry(ARGS "vkb-lang-sl_SI")
-qt_configure_add_summary_entry(ARGS "vkb-lang-sq_AL")
-qt_configure_add_summary_entry(ARGS "vkb-lang-sr_SP")
-qt_configure_add_summary_entry(ARGS "vkb-lang-sv_SE")
-qt_configure_add_summary_entry(ARGS "vkb-lang-th_TH")
-qt_configure_add_summary_entry(ARGS "vkb-lang-tr_TR")
-qt_configure_add_summary_entry(ARGS "vkb-lang-uk_UA")
-qt_configure_add_summary_entry(ARGS "vkb-lang-vi_VN")
-qt_configure_add_summary_entry(ARGS "vkb-lang-zh_CN")
-qt_configure_add_summary_entry(ARGS "vkb-lang-zh_TW")
-qt_configure_end_summary_section() # end of "Language support enabled for" section
-qt_configure_add_summary_section(NAME "Traditional chinese input methods")
-qt_configure_add_summary_entry(ARGS "zhuyin")
-qt_configure_add_summary_entry(ARGS "cangjie")
-qt_configure_end_summary_section() # end of "Traditional chinese input methods" section
-qt_configure_end_summary_section() # end of "Qt Virtualkeyboard" section
-qt_configure_add_report_entry(
- TYPE ERROR
- MESSAGE "T9Write SDK could not be found. For more information, see the documentation in 'Building Qt Virtual Keyboard'."
- CONDITION INPUT_vkb_handwriting STREQUAL 't9write' AND NOT QT_FEATURE_t9write
-)
-qt_configure_add_report_entry(
- TYPE NOTE
- MESSAGE "Hunspell disabled. Spelling correction will not be available."
- CONDITION NOT QT_FEATURE_hunspell
-)
diff --git a/src/virtualkeyboard/CMakeLists.txt b/src/virtualkeyboard/CMakeLists.txt
index f8202119..a7ad047a 100644
--- a/src/virtualkeyboard/CMakeLists.txt
+++ b/src/virtualkeyboard/CMakeLists.txt
@@ -1,17 +1,34 @@
-# Generated from virtualkeyboard.pro.
-
-# special case begin
-set(VKB_LAYOUTS_BASE "${CMAKE_CURRENT_SOURCE_DIR}/.." CACHE STRING "" FORCE)
-set(VKB_LAYOUTS_PREFIX "/QtQuick/VirtualKeyboard" CACHE STRING "" FORCE)
-set(VKB_INSTALL_DATA = "${INSTALL_DATA}/qtvirtualkeyboard" CACHE STRING "" FORCE)
-# special case end
+# Copyright (C) 2022 The Qt Company Ltd.
+# SPDX-License-Identifier: BSD-3-Clause
#####################################################################
-## VirtualKeyboard Module:
+## QtQuick.VirtualKeyboard
#####################################################################
-qt_add_module(VirtualKeyboard
- PLUGIN_TYPES virtualkeyboard
+set(VKB_INSTALL_DATA "${QT_INSTALL_DIR}/qtvirtualkeyboard" CACHE STRING "" FORCE)
+
+set(qml_files
+ HandwritingInputPanel.qml
+ InputPanel.qml
+ EnterKey.qml ### Qt7: Remove, see QTBUG-102227
+)
+
+qt_internal_add_qml_module(VirtualKeyboard
+ URI "QtQuick.VirtualKeyboard"
+ VERSION "${PROJECT_VERSION}"
+ PAST_MAJOR_VERSIONS 2 1
+ PLUGIN_TARGET qtvkbplugin
+ DEPENDENCIES
+ QtQuick/auto
+ QtQuick.Window/auto
+ QtQuick.Layouts/auto
+ Qt.labs.folderlistmodel/auto
+ QtQuick.VirtualKeyboard.Settings/auto
+ QtQuick.VirtualKeyboard.Styles/auto
+ QtQuick.VirtualKeyboard.Plugins/auto
+ IMPORTS
+ QtQuick.VirtualKeyboard.Layouts/auto
+ QtQuick.VirtualKeyboard.Components/auto ### Qt7: Move to dependencies, see QTBUG-102227
SOURCES
abstractinputpanel.cpp abstractinputpanel_p.h
appinputpanel.cpp appinputpanel_p.h
@@ -24,27 +41,34 @@ qt_add_module(VirtualKeyboard
handwritinggesturerecognizer.cpp handwritinggesturerecognizer_p.h
inputmethod.cpp inputmethod_p.h
inputselectionhandle.cpp inputselectionhandle_p.h
+ virtualkeyboard.cpp virtualkeyboard_p.h
+ virtualkeyboardattachedtype.cpp virtualkeyboardattachedtype_p.h
plaininputmethod.cpp plaininputmethod_p.h
platforminputcontext.cpp platforminputcontext_p.h
qvirtualkeyboard_global.h qvirtualkeyboard_global_p.h
- qvirtualkeyboard_staticplugin_p.h
+ qvirtualkeyboard_namespace.h
qvirtualkeyboardabstractinputmethod.cpp qvirtualkeyboardabstractinputmethod.h
- qvirtualkeyboardextensionplugin.cpp qvirtualkeyboardextensionplugin.h
+ qvirtualkeyboardabstractinputmethod_p.cpp qvirtualkeyboardabstractinputmethod_p.h
+ qvirtualkeyboarddictionary.cpp qvirtualkeyboarddictionary.h
+ qvirtualkeyboarddictionarymanager.cpp qvirtualkeyboarddictionarymanager.h
+ qvirtualkeyboardfeatures_namespace_p.h
qvirtualkeyboardinputcontext.cpp qvirtualkeyboardinputcontext.h qvirtualkeyboardinputcontext_p.cpp qvirtualkeyboardinputcontext_p.h
qvirtualkeyboardinputengine.cpp qvirtualkeyboardinputengine.h
+ qvirtualkeyboardnamespace_p.h
+ qvirtualkeyboardobserver.cpp qvirtualkeyboardobserver.h
qvirtualkeyboardselectionlistmodel.cpp qvirtualkeyboardselectionlistmodel.h
qvirtualkeyboardtrace.cpp qvirtualkeyboardtrace.h
settings.cpp settings_p.h
shadowinputcontext.cpp shadowinputcontext_p.h
shifthandler.cpp shifthandler_p.h
virtualkeyboarddebug_p.h
- virtualkeyboardsettings.cpp virtualkeyboardsettings_p.h
+ QML_FILES
+ ${qml_files}
DEFINES
QT_ASCII_CAST_WARNINGS
QT_NO_CAST_FROM_ASCII
QT_NO_CAST_FROM_BYTEARRAY
QT_NO_CAST_TO_ASCII
- QT_VIRTUALKEYBOARD_DEFAULT_LAYOUTS_DIR=\\\"qrc:/QtQuick/VirtualKeyboard/content/layouts\\\"
QVIRTUALKEYBOARD_LIBRARY
LIBRARIES
Qt::CorePrivate
@@ -59,602 +83,7 @@ qt_add_module(VirtualKeyboard
Qt::GuiPrivate
)
-# Resources:
-set(virtualkeyboard_content_resource_files
- "HandwritingInputPanel.qml"
- "InputPanel.qml"
- "components/AlternativeKeys.qml"
- "components/BackspaceKey.qml"
- "components/BaseKey.qml"
- "components/ChangeLanguageKey.qml"
- "components/CharacterPreviewBubble.qml"
- "components/EnterKey.qml"
- "components/FillerKey.qml"
- "components/HandwritingModeKey.qml"
- "components/HideKeyboardKey.qml"
- "components/InputModeKey.qml"
- "components/Key.qml"
- "components/Keyboard.qml"
- "components/KeyboardColumn.qml"
- "components/KeyboardLayout.qml"
- "components/KeyboardLayoutLoader.qml"
- "components/KeyboardRow.qml"
- "components/ModeKey.qml"
- "components/MultiSoundEffect.qml"
- "components/MultitapInputMethod.qml"
- "components/NumberKey.qml"
- "components/PopupList.qml"
- "components/SelectionControl.qml"
- "components/ShadowInputControl.qml"
- "components/ShiftKey.qml"
- "components/SpaceKey.qml"
- "components/SymbolModeKey.qml"
- "components/TraceInputArea.qml"
- "components/TraceInputKey.qml"
- "components/WordCandidatePopupList.qml"
-)
-
-qt_add_resource(VirtualKeyboard "virtualkeyboard_content"
- PREFIX
- "/QtQuick/VirtualKeyboard/content"
- BASE
- "content"
- FILES
- ${virtualkeyboard_content_resource_files}
-)
-
-
-#### Keys ignored in scope 1:.:.:virtualkeyboard.pro:<TRUE>:
-# LAYOUT_FILES = "content/layouts/fallback/dialpad.qml" "content/layouts/fallback/digits.qml" "content/layouts/fallback/numbers.qml" "content/layouts/fallback/main.qml" "content/layouts/fallback/symbols.qml"
-# MODULE = "virtualkeyboard"
-# OTHER_FILES = "$$PWD/qtvirtualkeyboard.qdocconf" "$$PWD/src/qtvirtualkeyboard-index.qdoc" "$$PWD/src/deployment-guide.qdoc" "$$PWD/src/technical-guide.qdoc" "$$PWD/src/user-guide.qdoc" "$$PWD/src/build.qdoc" "$$PWD/src/snippets/CustomInputMethod.qml" "content/styles/default/*.qml" "content/styles/retro/*.qml" "content/*.qml" "content/components/*.qml" "qtvirtualkeyboard.json" "$$LAYOUT_FILES"
-
-## Scopes:
-#####################################################################
-
-qt_extend_target(VirtualKeyboard CONDITION QT_FEATURE_vkb_sensitive_debug
- PUBLIC_DEFINES
- SENSITIVE_DEBUG
-)
-
-if(NOT no-builtin-style)
- # Resources:
- set(virtualkeyboard_default_style_resource_files
- "images/backspace-868482.svg"
- "images/check-868482.svg"
- "images/enter-868482.svg"
- "images/globe-868482.svg"
- "images/handwriting-868482.svg"
- "images/hidekeyboard-868482.svg"
- "images/search-868482.svg"
- "images/selectionhandle-bottom.svg"
- "images/shift-80c342.svg"
- "images/shift-868482.svg"
- "images/shift-c5d6b6.svg"
- "images/textmode-868482.svg"
- "style.qml"
- )
-
- qt_add_resource(VirtualKeyboard "virtualkeyboard_default_style"
- PREFIX
- "/QtQuick/VirtualKeyboard/content/styles/default"
- BASE
- "content/styles/default"
- FILES
- ${virtualkeyboard_default_style_resource_files}
- )
- set(virtualkeyboard_retro_style_resource_files
- "images/backspace-c5a96f.svg"
- "images/check-c5a96f.svg"
- "images/enter-c5a96f.svg"
- "images/globe-110b05.svg"
- "images/handwriting-110b05.svg"
- "images/hidekeyboard-c5a96f.svg"
- "images/key154px_black.png"
- "images/key154px_black_long.png"
- "images/key154px_capslock.png"
- "images/key154px_capslock_long.png"
- "images/key154px_colorA.png"
- "images/key154px_colorA.svg"
- "images/key154px_colorA_long.png"
- "images/key154px_colorB.png"
- "images/key154px_shiftcase.png"
- "images/key154px_shiftcase_long.png"
- "images/key156px_black_long.png"
- "images/key156px_black_medium_long.png"
- "images/key156px_colorA.png"
- "images/key156px_colorB.png"
- "images/key160px_black.png"
- "images/key160px_colorA.png"
- "images/key160px_colorB.png"
- "images/key_preview.png"
- "images/search-c5a96f.svg"
- "images/selectionhandle-bottom.svg"
- "images/shift-c5a96f.svg"
- "images/shift-cd8865.svg"
- "images/shift-dc4f28.svg"
- "images/textmode-110b05.svg"
- "images/triangle_black.png"
- "images/triangle_highlight.png"
- "style.qml"
- )
-
- qt_add_resource(VirtualKeyboard "virtualkeyboard_retro_style"
- PREFIX
- "/QtQuick/VirtualKeyboard/content/styles/retro"
- BASE
- "content/styles/retro"
- FILES
- ${virtualkeyboard_retro_style_resource_files}
- )
-endif()
-
-# special case begin
-
-set(LAYOUT_FILES)
-if (FEATURE_vkb_lang_en_GB)
- list(APPEND LAYOUT_FILES
- content/layouts/en_GB/dialpad.fallback
- content/layouts/en_GB/digits.fallback
- content/layouts/en_GB/main.fallback
- content/layouts/en_GB/numbers.fallback
- content/layouts/en_GB/symbols.fallback
- )
-endif()
-if(FEATURE_vkb_lang_en_US)
- list(APPEND LAYOUT_FILES
- content/layouts/en_US/dialpad.fallback
- content/layouts/en_US/digits.fallback
- content/layouts/en_US/main.fallback
- content/layouts/en_US/numbers.fallback
- content/layouts/en_US/symbols.fallback
- )
-endif()
-if(FEATURE_vkb_lang_ar_AR)
- list(APPEND LAYOUT_FILES
- content/layouts/ar_AR/dialpad.fallback
- content/layouts/ar_AR/digits.qml
- content/layouts/ar_AR/main.qml
- content/layouts/ar_AR/numbers.qml
- content/layouts/ar_AR/symbols.qml
- )
-endif()
-if(FEATURE_vkb_lang_bg_BG)
- list(APPEND LAYOUT_FILES
- content/layouts/bg_BG/dialpad.fallback
- content/layouts/bg_BG/digits.fallback
- content/layouts/bg_BG/main.qml
- content/layouts/bg_BG/numbers.fallback
- content/layouts/bg_BG/symbols.fallback
- )
-endif()
-if(FEATURE_vkb_lang_cs_CZ)
- list(APPEND LAYOUT_FILES
- content/layouts/cs_CZ/dialpad.fallback
- content/layouts/cs_CZ/digits.fallback
- content/layouts/cs_CZ/main.qml
- content/layouts/cs_CZ/numbers.fallback
- content/layouts/cs_CZ/symbols.fallback
- )
-endif()
-if(FEATURE_vkb_lang_da_DK)
- list(APPEND LAYOUT_FILES
- content/layouts/da_DK/dialpad.fallback
- content/layouts/da_DK/digits.fallback
- content/layouts/da_DK/main.qml
- content/layouts/da_DK/numbers.fallback
- content/layouts/da_DK/symbols.fallback
- )
-endif()
-if(FEATURE_vkb_lang_de_DE)
- list(APPEND LAYOUT_FILES
- content/layouts/de_DE/dialpad.fallback
- content/layouts/de_DE/digits.fallback
- content/layouts/de_DE/main.qml
- content/layouts/de_DE/numbers.fallback
- content/layouts/de_DE/symbols.fallback
- )
-endif()
-if(FEATURE_vkb_lang_el_GR)
- list(APPEND LAYOUT_FILES
- content/layouts/el_GR/dialpad.fallback
- content/layouts/el_GR/digits.fallback
- content/layouts/el_GR/main.qml
- content/layouts/el_GR/numbers.fallback
- content/layouts/el_GR/symbols.fallback
- )
-endif()
-if(FEATURE_vkb_lang_es_ES)
- list(APPEND LAYOUT_FILES
- content/layouts/es_ES/dialpad.fallback
- content/layouts/es_ES/digits.fallback
- content/layouts/es_ES/main.qml
- content/layouts/es_ES/numbers.fallback
- content/layouts/es_ES/symbols.qml
- )
-endif()
-if(FEATURE_vkb_lang_es_MX)
- list(APPEND LAYOUT_FILES
- content/layouts/es_MX/dialpad.fallback
- content/layouts/es_MX/digits.fallback
- content/layouts/es_MX/main.qml
- content/layouts/es_MX/numbers.fallback
- content/layouts/es_MX/symbols.qml
- )
-endif()
-if(FEATURE_vkb_lang_et_EE)
- list(APPEND LAYOUT_FILES
- content/layouts/et_EE/dialpad.fallback
- content/layouts/et_EE/digits.fallback
- content/layouts/et_EE/main.qml
- content/layouts/et_EE/numbers.fallback
- content/layouts/et_EE/symbols.fallback
- )
-endif()
-if(FEATURE_vkb_lang_fa_FA)
- list(APPEND LAYOUT_FILES
- content/layouts/fa_FA/dialpad.fallback
- content/layouts/fa_FA/digits.qml
- content/layouts/fa_FA/main.qml
- content/layouts/fa_FA/numbers.qml
- content/layouts/fa_FA/symbols.qml
- )
-endif()
-if(FEATURE_vkb_lang_fi_FI)
- list(APPEND LAYOUT_FILES
- content/layouts/fi_FI/dialpad.fallback
- content/layouts/fi_FI/digits.fallback
- content/layouts/fi_FI/main.qml
- content/layouts/fi_FI/numbers.fallback
- content/layouts/fi_FI/symbols.fallback
- )
-endif()
-if(FEATURE_vkb_lang_fr_CA)
- list(APPEND LAYOUT_FILES
- content/layouts/fr_CA/dialpad.fallback
- content/layouts/fr_CA/digits.fallback
- content/layouts/fr_CA/main.qml
- content/layouts/fr_CA/numbers.fallback
- content/layouts/fr_CA/symbols.fallback
- )
-endif()
-if(FEATURE_vkb_lang_fr_FR)
- list(APPEND LAYOUT_FILES
- content/layouts/fr_FR/dialpad.fallback
- content/layouts/fr_FR/digits.fallback
- content/layouts/fr_FR/main.qml
- content/layouts/fr_FR/numbers.fallback
- content/layouts/fr_FR/symbols.fallback
- )
-endif()
-if(FEATURE_vkb_lang_he_IL)
- list(APPEND LAYOUT_FILES
- content/layouts/he_IL/dialpad.fallback
- content/layouts/he_IL/digits.fallback
- content/layouts/he_IL/main.qml
- content/layouts/he_IL/numbers.fallback
- content/layouts/he_IL/symbols.qml
- )
-endif()
-if(FEATURE_vkb_lang_hi_IN)
- list(APPEND LAYOUT_FILES
- content/layouts/hi_IN/dialpad.fallback
- content/layouts/hi_IN/digits.fallback
- content/layouts/hi_IN/main.qml
- content/layouts/hi_IN/numbers.fallback
- content/layouts/hi_IN/symbols.qml
- )
-endif()
-if(FEATURE_vkb_lang_hr_HR)
- list(APPEND LAYOUT_FILES
- content/layouts/hr_HR/dialpad.fallback
- content/layouts/hr_HR/digits.fallback
- content/layouts/hr_HR/main.qml
- content/layouts/hr_HR/numbers.fallback
- content/layouts/hr_HR/symbols.fallback
- )
-endif()
-if(FEATURE_vkb_lang_hu_HU)
- list(APPEND LAYOUT_FILES
- content/layouts/hu_HU/dialpad.fallback
- content/layouts/hu_HU/digits.fallback
- content/layouts/hu_HU/main.qml
- content/layouts/hu_HU/numbers.fallback
- content/layouts/hu_HU/symbols.fallback
- )
-endif()
-if(FEATURE_vkb_lang_id_ID)
- list(APPEND LAYOUT_FILES
- content/layouts/id_ID/dialpad.fallback
- content/layouts/id_ID/digits.fallback
- content/layouts/id_ID/main.fallback
- content/layouts/id_ID/numbers.fallback
- content/layouts/id_ID/symbols.fallback
- )
-endif()
-if(FEATURE_vkb_lang_it_IT)
- list(APPEND LAYOUT_FILES
- content/layouts/it_IT/dialpad.fallback
- content/layouts/it_IT/digits.fallback
- content/layouts/it_IT/main.qml
- content/layouts/it_IT/numbers.fallback
- content/layouts/it_IT/symbols.fallback
- )
-endif()
-if(FEATURE_vkb_lang_nb_NO)
- list(APPEND LAYOUT_FILES
- content/layouts/nb_NO/dialpad.fallback
- content/layouts/nb_NO/digits.fallback
- content/layouts/nb_NO/main.qml
- content/layouts/nb_NO/numbers.fallback
- content/layouts/nb_NO/symbols.fallback
- )
-endif()
-if(FEATURE_vkb_lang_ms_MY)
- list(APPEND LAYOUT_FILES
- content/layouts/ms_MY/dialpad.fallback
- content/layouts/ms_MY/digits.fallback
- content/layouts/ms_MY/main.fallback
- content/layouts/ms_MY/numbers.fallback
- content/layouts/ms_MY/symbols.fallback
- )
-endif()
-if(FEATURE_vkb_lang_nl_NL)
- list(APPEND LAYOUT_FILES
- content/layouts/nl_NL/dialpad.fallback
- content/layouts/nl_NL/digits.fallback
- content/layouts/nl_NL/main.fallback
- content/layouts/nl_NL/numbers.fallback
- content/layouts/nl_NL/symbols.fallback
- )
-endif()
-if(FEATURE_vkb_lang_pl_PL)
- list(APPEND LAYOUT_FILES
- content/layouts/pl_PL/dialpad.fallback
- content/layouts/pl_PL/digits.fallback
- content/layouts/pl_PL/main.qml
- content/layouts/pl_PL/numbers.fallback
- content/layouts/pl_PL/symbols.fallback
- )
-endif()
-if(FEATURE_vkb_lang_pt_BR)
- list(APPEND LAYOUT_FILES
- content/layouts/pt_BR/dialpad.fallback
- content/layouts/pt_BR/digits.fallback
- content/layouts/pt_BR/main.qml
- content/layouts/pt_BR/numbers.fallback
- content/layouts/pt_BR/symbols.fallback
- )
-endif()
-if(FEATURE_vkb_lang_pt_PT)
- list(APPEND LAYOUT_FILES
- content/layouts/pt_PT/dialpad.fallback
- content/layouts/pt_PT/digits.fallback
- content/layouts/pt_PT/main.qml
- content/layouts/pt_PT/numbers.fallback
- content/layouts/pt_PT/symbols.fallback
- )
-endif()
-if(FEATURE_vkb_lang_ro_RO)
- list(APPEND LAYOUT_FILES
- content/layouts/ro_RO/dialpad.fallback
- content/layouts/ro_RO/digits.fallback
- content/layouts/ro_RO/main.qml
- content/layouts/ro_RO/numbers.fallback
- content/layouts/ro_RO/symbols.fallback
- )
-endif()
-if(FEATURE_vkb_lang_ru_RU)
- list(APPEND LAYOUT_FILES
- content/layouts/ru_RU/dialpad.fallback
- content/layouts/ru_RU/digits.fallback
- content/layouts/ru_RU/main.qml
- content/layouts/ru_RU/numbers.fallback
- content/layouts/ru_RU/symbols.fallback
- )
-endif()
-if(FEATURE_vkb_lang_sk_SK)
- list(APPEND LAYOUT_FILES
- content/layouts/sk_SK/dialpad.fallback
- content/layouts/sk_SK/digits.fallback
- content/layouts/sk_SK/main.qml
- content/layouts/sk_SK/numbers.fallback
- content/layouts/sk_SK/symbols.fallback
- )
-endif()
-if(FEATURE_vkb_lang_sl_SI)
- list(APPEND LAYOUT_FILES
- content/layouts/sl_SI/dialpad.fallback
- content/layouts/sl_SI/digits.fallback
- content/layouts/sl_SI/main.qml
- content/layouts/sl_SI/numbers.fallback
- content/layouts/sl_SI/symbols.fallback
- )
-endif()
-if(FEATURE_vkb_lang_sq_AL)
- list(APPEND LAYOUT_FILES
- content/layouts/sq_AL/dialpad.fallback
- content/layouts/sq_AL/digits.fallback
- content/layouts/sq_AL/main.qml
- content/layouts/sq_AL/numbers.fallback
- content/layouts/sq_AL/symbols.fallback
- )
-endif()
-if(FEATURE_vkb_lang_sr_SP)
- list(APPEND LAYOUT_FILES
- content/layouts/sr_SP/dialpad.fallback
- content/layouts/sr_SP/digits.fallback
- content/layouts/sr_SP/main.qml
- content/layouts/sr_SP/numbers.fallback
- content/layouts/sr_SP/symbols.fallback
- )
-endif()
-if(FEATURE_vkb_lang_sv_SE)
- list(APPEND LAYOUT_FILES
- content/layouts/sv_SE/dialpad.fallback
- content/layouts/sv_SE/digits.fallback
- content/layouts/sv_SE/main.qml
- content/layouts/sv_SE/numbers.fallback
- content/layouts/sv_SE/symbols.fallback
- )
-endif()
-if(FEATURE_vkb_lang_tr_TR)
- list(APPEND LAYOUT_FILES
- content/layouts/tr_TR/dialpad.fallback
- content/layouts/tr_TR/digits.fallback
- content/layouts/tr_TR/main.qml
- content/layouts/tr_TR/numbers.fallback
- content/layouts/tr_TR/symbols.fallback
- )
-endif()
-if(FEATURE_vkb_lang_uk_UA)
- list(APPEND LAYOUT_FILES
- content/layouts/uk_UA/dialpad.fallback
- content/layouts/uk_UA/digits.fallback
- content/layouts/uk_UA/main.qml
- content/layouts/uk_UA/numbers.fallback
- content/layouts/uk_UA/symbols.fallback
- )
-endif()
-if(FEATURE_vkb_lang_vi_VN)
- list(APPEND LAYOUT_FILES
- content/layouts/vi_VN/dialpad.fallback
- content/layouts/vi_VN/digits.fallback
- content/layouts/vi_VN/main.qml
- content/layouts/vi_VN/numbers.fallback
- content/layouts/vi_VN/symbols.qml
- )
-endif()
-
-# special case end
-
-#### Keys ignored in scope 4:.:.:virtualkeyboard.pro:QT_FEATURE_vkb_lang_en_GB:
-# LAYOUT_FILES = "content/layouts/en_GB/dialpad.fallback" "content/layouts/en_GB/digits.fallback" "content/layouts/en_GB/main.fallback" "content/layouts/en_GB/numbers.fallback" "content/layouts/en_GB/symbols.fallback"
-
-#### Keys ignored in scope 5:.:.:virtualkeyboard.pro:QT_FEATURE_vkb_lang_en_US:
-# LAYOUT_FILES = "content/layouts/en_US/dialpad.fallback" "content/layouts/en_US/digits.fallback" "content/layouts/en_US/main.fallback" "content/layouts/en_US/numbers.fallback" "content/layouts/en_US/symbols.fallback"
-
-#### Keys ignored in scope 6:.:.:virtualkeyboard.pro:QT_FEATURE_vkb_lang_ar_AR:
-# LAYOUT_FILES = "content/layouts/ar_AR/dialpad.fallback" "content/layouts/ar_AR/digits.qml" "content/layouts/ar_AR/main.qml" "content/layouts/ar_AR/numbers.qml" "content/layouts/ar_AR/symbols.qml"
-
-#### Keys ignored in scope 7:.:.:virtualkeyboard.pro:QT_FEATURE_vkb_lang_bg_BG:
-# LAYOUT_FILES = "content/layouts/bg_BG/dialpad.fallback" "content/layouts/bg_BG/digits.fallback" "content/layouts/bg_BG/main.qml" "content/layouts/bg_BG/numbers.fallback" "content/layouts/bg_BG/symbols.fallback"
-
-#### Keys ignored in scope 8:.:.:virtualkeyboard.pro:QT_FEATURE_vkb_lang_cs_CZ:
-# LAYOUT_FILES = "content/layouts/cs_CZ/dialpad.fallback" "content/layouts/cs_CZ/digits.fallback" "content/layouts/cs_CZ/main.qml" "content/layouts/cs_CZ/numbers.fallback" "content/layouts/cs_CZ/symbols.fallback"
-
-#### Keys ignored in scope 9:.:.:virtualkeyboard.pro:QT_FEATURE_vkb_lang_da_DK:
-# LAYOUT_FILES = "content/layouts/da_DK/dialpad.fallback" "content/layouts/da_DK/digits.fallback" "content/layouts/da_DK/main.qml" "content/layouts/da_DK/numbers.fallback" "content/layouts/da_DK/symbols.fallback"
-
-#### Keys ignored in scope 10:.:.:virtualkeyboard.pro:QT_FEATURE_vkb_lang_de_DE:
-# LAYOUT_FILES = "content/layouts/de_DE/dialpad.fallback" "content/layouts/de_DE/digits.fallback" "content/layouts/de_DE/main.qml" "content/layouts/de_DE/numbers.fallback" "content/layouts/de_DE/symbols.fallback"
-
-#### Keys ignored in scope 11:.:.:virtualkeyboard.pro:QT_FEATURE_vkb_lang_el_GR:
-# LAYOUT_FILES = "content/layouts/el_GR/dialpad.fallback" "content/layouts/el_GR/digits.fallback" "content/layouts/el_GR/main.qml" "content/layouts/el_GR/numbers.fallback" "content/layouts/el_GR/symbols.fallback"
-
-#### Keys ignored in scope 12:.:.:virtualkeyboard.pro:QT_FEATURE_vkb_lang_es_ES:
-# LAYOUT_FILES = "content/layouts/es_ES/dialpad.fallback" "content/layouts/es_ES/digits.fallback" "content/layouts/es_ES/main.qml" "content/layouts/es_ES/numbers.fallback" "content/layouts/es_ES/symbols.qml"
-
-#### Keys ignored in scope 13:.:.:virtualkeyboard.pro:QT_FEATURE_vkb_lang_es_MX:
-# LAYOUT_FILES = "content/layouts/es_MX/dialpad.fallback" "content/layouts/es_MX/digits.fallback" "content/layouts/es_MX/main.qml" "content/layouts/es_MX/numbers.fallback" "content/layouts/es_MX/symbols.qml"
-
-#### Keys ignored in scope 14:.:.:virtualkeyboard.pro:QT_FEATURE_vkb_lang_et_EE:
-# LAYOUT_FILES = "content/layouts/et_EE/dialpad.fallback" "content/layouts/et_EE/digits.fallback" "content/layouts/et_EE/main.qml" "content/layouts/et_EE/numbers.fallback" "content/layouts/et_EE/symbols.fallback"
-
-#### Keys ignored in scope 15:.:.:virtualkeyboard.pro:QT_FEATURE_vkb_lang_fa_FA:
-# LAYOUT_FILES = "content/layouts/fa_FA/dialpad.fallback" "content/layouts/fa_FA/digits.qml" "content/layouts/fa_FA/main.qml" "content/layouts/fa_FA/numbers.qml" "content/layouts/fa_FA/symbols.qml"
-
-#### Keys ignored in scope 16:.:.:virtualkeyboard.pro:QT_FEATURE_vkb_lang_fi_FI:
-# LAYOUT_FILES = "content/layouts/fi_FI/dialpad.fallback" "content/layouts/fi_FI/digits.fallback" "content/layouts/fi_FI/main.qml" "content/layouts/fi_FI/numbers.fallback" "content/layouts/fi_FI/symbols.fallback"
-
-#### Keys ignored in scope 17:.:.:virtualkeyboard.pro:QT_FEATURE_vkb_lang_fr_CA:
-# LAYOUT_FILES = "content/layouts/fr_CA/dialpad.fallback" "content/layouts/fr_CA/digits.fallback" "content/layouts/fr_CA/main.qml" "content/layouts/fr_CA/numbers.fallback" "content/layouts/fr_CA/symbols.fallback"
-
-#### Keys ignored in scope 18:.:.:virtualkeyboard.pro:QT_FEATURE_vkb_lang_fr_FR:
-# LAYOUT_FILES = "content/layouts/fr_FR/dialpad.fallback" "content/layouts/fr_FR/digits.fallback" "content/layouts/fr_FR/main.qml" "content/layouts/fr_FR/numbers.fallback" "content/layouts/fr_FR/symbols.fallback"
-
-#### Keys ignored in scope 19:.:.:virtualkeyboard.pro:QT_FEATURE_vkb_lang_he_IL:
-# LAYOUT_FILES = "content/layouts/he_IL/dialpad.fallback" "content/layouts/he_IL/digits.fallback" "content/layouts/he_IL/main.qml" "content/layouts/he_IL/numbers.fallback" "content/layouts/he_IL/symbols.qml"
-
-#### Keys ignored in scope 20:.:.:virtualkeyboard.pro:QT_FEATURE_vkb_lang_hi_IN:
-# LAYOUT_FILES = "content/layouts/hi_IN/dialpad.fallback" "content/layouts/hi_IN/digits.fallback" "content/layouts/hi_IN/main.qml" "content/layouts/hi_IN/numbers.fallback" "content/layouts/hi_IN/symbols.qml"
-
-#### Keys ignored in scope 21:.:.:virtualkeyboard.pro:QT_FEATURE_vkb_lang_hr_HR:
-# LAYOUT_FILES = "content/layouts/hr_HR/dialpad.fallback" "content/layouts/hr_HR/digits.fallback" "content/layouts/hr_HR/main.qml" "content/layouts/hr_HR/numbers.fallback" "content/layouts/hr_HR/symbols.fallback"
-
-#### Keys ignored in scope 22:.:.:virtualkeyboard.pro:QT_FEATURE_vkb_lang_hu_HU:
-# LAYOUT_FILES = "content/layouts/hu_HU/dialpad.fallback" "content/layouts/hu_HU/digits.fallback" "content/layouts/hu_HU/main.qml" "content/layouts/hu_HU/numbers.fallback" "content/layouts/hu_HU/symbols.fallback"
-
-#### Keys ignored in scope 23:.:.:virtualkeyboard.pro:QT_FEATURE_vkb_lang_id_ID:
-# LAYOUT_FILES = "content/layouts/id_ID/dialpad.fallback" "content/layouts/id_ID/digits.fallback" "content/layouts/id_ID/main.fallback" "content/layouts/id_ID/numbers.fallback" "content/layouts/id_ID/symbols.fallback"
-
-#### Keys ignored in scope 24:.:.:virtualkeyboard.pro:QT_FEATURE_vkb_lang_it_IT:
-# LAYOUT_FILES = "content/layouts/it_IT/dialpad.fallback" "content/layouts/it_IT/digits.fallback" "content/layouts/it_IT/main.qml" "content/layouts/it_IT/numbers.fallback" "content/layouts/it_IT/symbols.fallback"
-
-#### Keys ignored in scope 25:.:.:virtualkeyboard.pro:QT_FEATURE_vkb_lang_nb_NO:
-# LAYOUT_FILES = "content/layouts/nb_NO/dialpad.fallback" "content/layouts/nb_NO/digits.fallback" "content/layouts/nb_NO/main.qml" "content/layouts/nb_NO/numbers.fallback" "content/layouts/nb_NO/symbols.fallback"
-
-#### Keys ignored in scope 26:.:.:virtualkeyboard.pro:QT_FEATURE_vkb_lang_ms_MY:
-# LAYOUT_FILES = "content/layouts/ms_MY/dialpad.fallback" "content/layouts/ms_MY/digits.fallback" "content/layouts/ms_MY/main.fallback" "content/layouts/ms_MY/numbers.fallback" "content/layouts/ms_MY/symbols.fallback"
-
-#### Keys ignored in scope 27:.:.:virtualkeyboard.pro:QT_FEATURE_vkb_lang_nl_NL:
-# LAYOUT_FILES = "content/layouts/nl_NL/dialpad.fallback" "content/layouts/nl_NL/digits.fallback" "content/layouts/nl_NL/main.fallback" "content/layouts/nl_NL/numbers.fallback" "content/layouts/nl_NL/symbols.fallback"
-
-#### Keys ignored in scope 28:.:.:virtualkeyboard.pro:QT_FEATURE_vkb_lang_pl_PL:
-# LAYOUT_FILES = "content/layouts/pl_PL/dialpad.fallback" "content/layouts/pl_PL/digits.fallback" "content/layouts/pl_PL/main.qml" "content/layouts/pl_PL/numbers.fallback" "content/layouts/pl_PL/symbols.fallback"
-
-#### Keys ignored in scope 29:.:.:virtualkeyboard.pro:QT_FEATURE_vkb_lang_pt_BR:
-# LAYOUT_FILES = "content/layouts/pt_BR/dialpad.fallback" "content/layouts/pt_BR/digits.fallback" "content/layouts/pt_BR/main.qml" "content/layouts/pt_BR/numbers.fallback" "content/layouts/pt_BR/symbols.fallback"
-
-#### Keys ignored in scope 30:.:.:virtualkeyboard.pro:QT_FEATURE_vkb_lang_pt_PT:
-# LAYOUT_FILES = "content/layouts/pt_PT/dialpad.fallback" "content/layouts/pt_PT/digits.fallback" "content/layouts/pt_PT/main.qml" "content/layouts/pt_PT/numbers.fallback" "content/layouts/pt_PT/symbols.fallback"
-
-#### Keys ignored in scope 31:.:.:virtualkeyboard.pro:QT_FEATURE_vkb_lang_ro_RO:
-# LAYOUT_FILES = "content/layouts/ro_RO/dialpad.fallback" "content/layouts/ro_RO/digits.fallback" "content/layouts/ro_RO/main.qml" "content/layouts/ro_RO/numbers.fallback" "content/layouts/ro_RO/symbols.fallback"
-
-#### Keys ignored in scope 32:.:.:virtualkeyboard.pro:QT_FEATURE_vkb_lang_ru_RU:
-# LAYOUT_FILES = "content/layouts/ru_RU/dialpad.fallback" "content/layouts/ru_RU/digits.fallback" "content/layouts/ru_RU/main.qml" "content/layouts/ru_RU/numbers.fallback" "content/layouts/ru_RU/symbols.fallback"
-
-#### Keys ignored in scope 33:.:.:virtualkeyboard.pro:QT_FEATURE_vkb_lang_sk_SK:
-# LAYOUT_FILES = "content/layouts/sk_SK/dialpad.fallback" "content/layouts/sk_SK/digits.fallback" "content/layouts/sk_SK/main.qml" "content/layouts/sk_SK/numbers.fallback" "content/layouts/sk_SK/symbols.fallback"
-
-#### Keys ignored in scope 34:.:.:virtualkeyboard.pro:QT_FEATURE_vkb_lang_sl_SI:
-# LAYOUT_FILES = "content/layouts/sl_SI/dialpad.fallback" "content/layouts/sl_SI/digits.fallback" "content/layouts/sl_SI/main.qml" "content/layouts/sl_SI/numbers.fallback" "content/layouts/sl_SI/symbols.fallback"
-
-#### Keys ignored in scope 35:.:.:virtualkeyboard.pro:QT_FEATURE_vkb_lang_sq_AL:
-# LAYOUT_FILES = "content/layouts/sq_AL/dialpad.fallback" "content/layouts/sq_AL/digits.fallback" "content/layouts/sq_AL/main.qml" "content/layouts/sq_AL/numbers.fallback" "content/layouts/sq_AL/symbols.fallback"
-
-#### Keys ignored in scope 36:.:.:virtualkeyboard.pro:QT_FEATURE_vkb_lang_sr_SP:
-# LAYOUT_FILES = "content/layouts/sr_SP/dialpad.fallback" "content/layouts/sr_SP/digits.fallback" "content/layouts/sr_SP/main.qml" "content/layouts/sr_SP/numbers.fallback" "content/layouts/sr_SP/symbols.fallback"
-
-#### Keys ignored in scope 37:.:.:virtualkeyboard.pro:QT_FEATURE_vkb_lang_sv_SE:
-# LAYOUT_FILES = "content/layouts/sv_SE/dialpad.fallback" "content/layouts/sv_SE/digits.fallback" "content/layouts/sv_SE/main.qml" "content/layouts/sv_SE/numbers.fallback" "content/layouts/sv_SE/symbols.fallback"
-
-#### Keys ignored in scope 38:.:.:virtualkeyboard.pro:QT_FEATURE_vkb_lang_tr_TR:
-# LAYOUT_FILES = "content/layouts/tr_TR/dialpad.fallback" "content/layouts/tr_TR/digits.fallback" "content/layouts/tr_TR/main.qml" "content/layouts/tr_TR/numbers.fallback" "content/layouts/tr_TR/symbols.fallback"
-
-#### Keys ignored in scope 39:.:.:virtualkeyboard.pro:QT_FEATURE_vkb_lang_uk_UA:
-# LAYOUT_FILES = "content/layouts/uk_UA/dialpad.fallback" "content/layouts/uk_UA/digits.fallback" "content/layouts/uk_UA/main.qml" "content/layouts/uk_UA/numbers.fallback" "content/layouts/uk_UA/symbols.fallback"
-
-#### Keys ignored in scope 40:.:.:virtualkeyboard.pro:QT_FEATURE_vkb_lang_vi_VN:
-# LAYOUT_FILES = "content/layouts/vi_VN/dialpad.fallback" "content/layouts/vi_VN/digits.fallback" "content/layouts/vi_VN/main.qml" "content/layouts/vi_VN/numbers.fallback" "content/layouts/vi_VN/symbols.qml"
-
-qt_extend_target(VirtualKeyboard CONDITION QT_FEATURE_vkb_no_builtin_style
- DEFINES
- QT_VIRTUALKEYBOARD_DEFAULT_STYLE=\\\"\\\"
-)
-
-qt_extend_target(VirtualKeyboard CONDITION QT_FEATURE_vkb_retro_style AND NOT QT_FEATURE_vkb_no_builtin_style
- DEFINES
- QT_VIRTUALKEYBOARD_DEFAULT_STYLE=\\\"retro\\\"
-)
-
-qt_extend_target(VirtualKeyboard CONDITION NOT QT_FEATURE_vkb_no_builtin_style AND NOT QT_FEATURE_vkb_retro_style
- DEFINES
- QT_VIRTUALKEYBOARD_DEFAULT_STYLE=\\\"default\\\"
-)
-
-qt_extend_target(VirtualKeyboard CONDITION QT_FEATURE_vkb_desktop
+qt_internal_extend_target(VirtualKeyboard CONDITION QT_FEATURE_vkb_desktop
SOURCES
desktopinputpanel.cpp desktopinputpanel_p.h
inputview.cpp inputview_p.h
@@ -662,42 +91,18 @@ qt_extend_target(VirtualKeyboard CONDITION QT_FEATURE_vkb_desktop
QT_VIRTUALKEYBOARD_DESKTOP
)
-qt_extend_target(VirtualKeyboard CONDITION QT_FEATURE_vkb_desktop AND QT_FEATURE_vkb_xcb
- PUBLIC_LIBRARIES
- XCB::XFIXES
-)
-
-qt_extend_target(VirtualKeyboard CONDITION QT_FEATURE_vkb_record_trace_input
+qt_internal_extend_target(VirtualKeyboard CONDITION QT_FEATURE_vkb_record_trace_input
SOURCES
unipentrace.cpp unipentrace_p.h
PUBLIC_DEFINES
QT_VIRTUALKEYBOARD_RECORD_TRACE_INPUT
)
-qt_extend_target(VirtualKeyboard CONDITION QT_FEATURE_vkb_arrow_keynavigation
+qt_internal_extend_target(VirtualKeyboard CONDITION QT_FEATURE_vkb_arrow_keynavigation
DEFINES
QT_VIRTUALKEYBOARD_ARROW_KEY_NAVIGATION
)
-if(QT_FEATURE_vkb_layouts)
- # Resources:
- set(qmake_virtualkeyboard_layouts_resource_files
- "content/layouts/fallback/dialpad.qml"
- "content/layouts/fallback/digits.qml"
- "content/layouts/fallback/main.qml"
- "content/layouts/fallback/numbers.qml"
- "content/layouts/fallback/symbols.qml"
- )
-
- qt_add_resource(VirtualKeyboard "qmake_virtualkeyboard_layouts"
- PREFIX
- "${VKB_LAYOUTS_PREFIX}" #special case
- FILES
- ${qmake_virtualkeyboard_layouts_resource_files}
- ${LAYOUT_FILES} # special case
- )
-endif()
-qt_add_docs(VirtualKeyboard
+qt_internal_add_docs(VirtualKeyboard
doc/qtvirtualkeyboard.qdocconf
)
-
diff --git a/src/virtualkeyboard/EnterKey.qml b/src/virtualkeyboard/EnterKey.qml
new file mode 100644
index 00000000..94da4e28
--- /dev/null
+++ b/src/virtualkeyboard/EnterKey.qml
@@ -0,0 +1,8 @@
+// Copyright (C) 2022 The Qt Company Ltd.
+// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GPL-3.0-only
+
+import QtQuick.VirtualKeyboard.Components as C
+
+// Qt7: Remove, see QTBUG-102227
+
+C.EnterKey {}
diff --git a/src/virtualkeyboard/content/HandwritingInputPanel.qml b/src/virtualkeyboard/HandwritingInputPanel.qml
index 4fe4fbc3..8cfb6703 100644
--- a/src/virtualkeyboard/content/HandwritingInputPanel.qml
+++ b/src/virtualkeyboard/HandwritingInputPanel.qml
@@ -1,37 +1,12 @@
-/****************************************************************************
-**
-** Copyright (C) 2016 The Qt Company Ltd.
-** Contact: https://www.qt.io/licensing/
-**
-** This file is part of the Qt Virtual Keyboard module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:GPL$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see https://www.qt.io/terms-conditions. For further
-** information use the contact form at https://www.qt.io/contact-us.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 3 or (at your option) any later version
-** approved by the KDE Free Qt Foundation. The licenses are as published by
-** the Free Software Foundation and appearing in the file LICENSE.GPL3
-** included in the packaging of this file. Please review the following
-** information to ensure the GNU General Public License requirements will
-** be met: https://www.gnu.org/licenses/gpl-3.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-import QtQuick 2.0
+// Copyright (C) 2016 The Qt Company Ltd.
+// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GPL-3.0-only
+
+import QtQuick
// Deliberately imported after QtQuick to avoid missing restoreMode property in Binding. Fix in Qt 6.
-import QtQml 2.14
-import QtQuick.Window 2.2
-import QtQuick.VirtualKeyboard 2.1
+import QtQml
+import QtQuick.Window
+import QtQuick.VirtualKeyboard
+import QtQuick.VirtualKeyboard.Components
/*!
\qmltype HandwritingInputPanel
@@ -39,6 +14,7 @@ import QtQuick.VirtualKeyboard 2.1
\since QtQuick.VirtualKeyboard 2.0
\brief Provides a handwriting panel add-on for the virtual keyboard UI.
+ \ingroup qmlclass
\ingroup qtvirtualkeyboard-qml
The HandwritingInputPanel is an add-on component for the InputPanel, which
@@ -131,8 +107,16 @@ Item {
}
WordCandidatePopupList {
+ id: wordCandidatePopupList
z: 1
objectName: "wordCandidatePopupList"
enabled: handwritingInputPanel.enabled && handwritingInputPanel.available && handwritingInputPanel.active
}
+
+ Loader {
+ sourceComponent: keyboard.style.popupListBackground
+ anchors.fill: wordCandidatePopupList
+ z: -1
+ visible: wordCandidatePopupList.visible
+ }
}
diff --git a/src/virtualkeyboard/content/InputPanel.qml b/src/virtualkeyboard/InputPanel.qml
index f511eab2..676cee67 100644
--- a/src/virtualkeyboard/content/InputPanel.qml
+++ b/src/virtualkeyboard/InputPanel.qml
@@ -1,42 +1,18 @@
-/****************************************************************************
-**
-** Copyright (C) 2016 The Qt Company Ltd.
-** Contact: https://www.qt.io/licensing/
-**
-** This file is part of the Qt Virtual Keyboard module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:GPL$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see https://www.qt.io/terms-conditions. For further
-** information use the contact form at https://www.qt.io/contact-us.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 3 or (at your option) any later version
-** approved by the KDE Free Qt Foundation. The licenses are as published by
-** the Free Software Foundation and appearing in the file LICENSE.GPL3
-** included in the packaging of this file. Please review the following
-** information to ensure the GNU General Public License requirements will
-** be met: https://www.gnu.org/licenses/gpl-3.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-import QtQuick 2.0
+// Copyright (C) 2016 The Qt Company Ltd.
+// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GPL-3.0-only
+
+import QtQuick
// Deliberately imported after QtQuick to avoid missing restoreMode property in Binding. Fix in Qt 6.
-import QtQml 2.14
-import QtQuick.VirtualKeyboard 2.1
+import QtQml
+import QtQuick.VirtualKeyboard
+import QtQuick.VirtualKeyboard.Components
/*!
\qmltype InputPanel
\inqmlmodule QtQuick.VirtualKeyboard
\brief Provides the virtual keyboard UI.
+ \ingroup qmlclass
\ingroup qtvirtualkeyboard-qml
The keyboard size is automatically calculated from the available
@@ -48,6 +24,10 @@ import QtQuick.VirtualKeyboard 2.1
the module, the \c QT_IM_MODULE environment variable must be set to
\c qtvirtualkeyboard before using InputPanel. For more information, see
\l {Loading the Plugin}.
+
+ \note You can have only one InputPanel instance in your application. The panel
+ will not be blocked by modal dialogs, but it can be obscured by items with a higher
+ \l {Item::}{z} value.
*/
Item {
@@ -85,10 +65,10 @@ Item {
It serves as a hook to display a custom language dialog instead of
the built-in language popup in the virtual keyboard.
- The \e localeList parameter contains a list of locale names to choose
+ The \a localeList parameter contains a list of locale names to choose
from. To get more information about a particular language, use the
- \l {QtQml::Qt::locale()}{Qt.locale()} function. The \e currentIndex
- is the index of current locale in the \e localeList. This item should
+ \l[QtQml]{Qt::locale()}{Qt.locale()} function. The \a currentIndex
+ is the index of current locale in the \a localeList. This item should
be highlighted as the current item in the UI.
To select a new language, use the \l {VirtualKeyboardSettings::locale}
@@ -116,6 +96,9 @@ Item {
/*! \internal */
property bool desktopPanel: false
+ /*! \internal */
+ property point screenPos: desktopPanel ? Qt.point(keyboard.x, keyboard.y) : Qt.point(x, y)
+
SelectionControl {
objectName: "selectionControl"
x: -parent.x
@@ -123,7 +106,7 @@ Item {
enabled: active && !keyboard.fullScreenMode && !desktopPanel
}
- implicitHeight: keyboard.height
+ implicitHeight: keyboard.height - keyboard.wordCandidateView.currentYOffset
Keyboard {
id: keyboard
anchors.left: parent.left
@@ -139,12 +122,20 @@ Item {
Binding {
target: InputContext.priv
property: "keyboardRectangle"
- value: mapToItem(null,
- desktopPanel ? keyboard.x : x,
- (desktopPanel ? keyboard.y : y) + keyboard.wordCandidateView.currentYOffset - (keyboard.shadowInputControl.visible ? keyboard.shadowInputControl.height : 0),
- keyboard.width,
- keyboard.height - keyboard.wordCandidateView.currentYOffset + (keyboard.shadowInputControl.visible ? keyboard.shadowInputControl.height : 0))
+ value: keyboardRectangle()
when: !InputContext.animating
restoreMode: Binding.RestoreBinding
}
+
+ /*! \internal */
+ function keyboardRectangle() {
+ var rect = Qt.rect(0, 0, keyboard.width, keyboard.height)
+ const screenPosX = screenPos.x
+ const screenPosY = screenPos.y
+ if (desktopPanel) {
+ rect.x += screenPosX
+ rect.y += screenPosY
+ }
+ return mapToItem(null, rect)
+ }
}
diff --git a/src/virtualkeyboard/abstractinputpanel.cpp b/src/virtualkeyboard/abstractinputpanel.cpp
index 79b17edc..53614547 100644
--- a/src/virtualkeyboard/abstractinputpanel.cpp
+++ b/src/virtualkeyboard/abstractinputpanel.cpp
@@ -1,31 +1,5 @@
-/****************************************************************************
-**
-** Copyright (C) 2016 The Qt Company Ltd.
-** Contact: https://www.qt.io/licensing/
-**
-** This file is part of the Qt Virtual Keyboard module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:GPL$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see https://www.qt.io/terms-conditions. For further
-** information use the contact form at https://www.qt.io/contact-us.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 3 or (at your option) any later version
-** approved by the KDE Free Qt Foundation. The licenses are as published by
-** the Free Software Foundation and appearing in the file LICENSE.GPL3
-** included in the packaging of this file. Please review the following
-** information to ensure the GNU General Public License requirements will
-** be met: https://www.gnu.org/licenses/gpl-3.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
+// Copyright (C) 2016 The Qt Company Ltd.
+// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GPL-3.0-only
#include <QtVirtualKeyboard/private/abstractinputpanel_p.h>
#include <QtCore/QRect>
diff --git a/src/virtualkeyboard/abstractinputpanel_p.h b/src/virtualkeyboard/abstractinputpanel_p.h
index 08a19fc6..439b6bad 100644
--- a/src/virtualkeyboard/abstractinputpanel_p.h
+++ b/src/virtualkeyboard/abstractinputpanel_p.h
@@ -1,31 +1,5 @@
-/****************************************************************************
-**
-** Copyright (C) 2016 The Qt Company Ltd.
-** Contact: https://www.qt.io/licensing/
-**
-** This file is part of the Qt Virtual Keyboard module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:GPL$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see https://www.qt.io/terms-conditions. For further
-** information use the contact form at https://www.qt.io/contact-us.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 3 or (at your option) any later version
-** approved by the KDE Free Qt Foundation. The licenses are as published by
-** the Free Software Foundation and appearing in the file LICENSE.GPL3
-** included in the packaging of this file. Please review the following
-** information to ensure the GNU General Public License requirements will
-** be met: https://www.gnu.org/licenses/gpl-3.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
+// Copyright (C) 2021 The Qt Company Ltd.
+// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GPL-3.0-only
#ifndef ABSTRACTINPUTPANEL_P_H
#define ABSTRACTINPUTPANEL_P_H
@@ -43,11 +17,12 @@
#include <QObject>
#include <QtVirtualKeyboard/qvirtualkeyboard_global.h>
+#include <QtCore/private/qglobal_p.h>
QT_BEGIN_NAMESPACE
namespace QtVirtualKeyboard {
-class QVIRTUALKEYBOARD_EXPORT AbstractInputPanel : public QObject
+class Q_VIRTUALKEYBOARD_EXPORT AbstractInputPanel : public QObject
{
Q_OBJECT
protected:
diff --git a/src/virtualkeyboard/appinputpanel.cpp b/src/virtualkeyboard/appinputpanel.cpp
index 95987fb2..78f7fed7 100644
--- a/src/virtualkeyboard/appinputpanel.cpp
+++ b/src/virtualkeyboard/appinputpanel.cpp
@@ -1,31 +1,5 @@
-/****************************************************************************
-**
-** Copyright (C) 2016 The Qt Company Ltd.
-** Contact: https://www.qt.io/licensing/
-**
-** This file is part of the Qt Virtual Keyboard module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:GPL$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see https://www.qt.io/terms-conditions. For further
-** information use the contact form at https://www.qt.io/contact-us.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 3 or (at your option) any later version
-** approved by the KDE Free Qt Foundation. The licenses are as published by
-** the Free Software Foundation and appearing in the file LICENSE.GPL3
-** included in the packaging of this file. Please review the following
-** information to ensure the GNU General Public License requirements will
-** be met: https://www.gnu.org/licenses/gpl-3.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
+// Copyright (C) 2016 The Qt Company Ltd.
+// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GPL-3.0-only
#include <QtVirtualKeyboard/private/appinputpanel_p.h>
#include <QtVirtualKeyboard/private/appinputpanel_p_p.h>
diff --git a/src/virtualkeyboard/appinputpanel_p.h b/src/virtualkeyboard/appinputpanel_p.h
index 8ff0e659..62adc5a0 100644
--- a/src/virtualkeyboard/appinputpanel_p.h
+++ b/src/virtualkeyboard/appinputpanel_p.h
@@ -1,31 +1,5 @@
-/****************************************************************************
-**
-** Copyright (C) 2016 The Qt Company Ltd.
-** Contact: https://www.qt.io/licensing/
-**
-** This file is part of the Qt Virtual Keyboard module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:GPL$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see https://www.qt.io/terms-conditions. For further
-** information use the contact form at https://www.qt.io/contact-us.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 3 or (at your option) any later version
-** approved by the KDE Free Qt Foundation. The licenses are as published by
-** the Free Software Foundation and appearing in the file LICENSE.GPL3
-** included in the packaging of this file. Please review the following
-** information to ensure the GNU General Public License requirements will
-** be met: https://www.gnu.org/licenses/gpl-3.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
+// Copyright (C) 2016 The Qt Company Ltd.
+// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GPL-3.0-only
#ifndef APPINPUTPANEL_P_H
#define APPINPUTPANEL_P_H
@@ -53,7 +27,7 @@ class AppInputPanelPrivate;
\internal
*/
-class QVIRTUALKEYBOARD_EXPORT AppInputPanel : public AbstractInputPanel
+class Q_VIRTUALKEYBOARD_EXPORT AppInputPanel : public AbstractInputPanel
{
Q_OBJECT
Q_DECLARE_PRIVATE(AppInputPanel)
diff --git a/src/virtualkeyboard/appinputpanel_p_p.h b/src/virtualkeyboard/appinputpanel_p_p.h
index f41c9b72..c96eb520 100644
--- a/src/virtualkeyboard/appinputpanel_p_p.h
+++ b/src/virtualkeyboard/appinputpanel_p_p.h
@@ -1,31 +1,5 @@
-/****************************************************************************
-**
-** Copyright (C) 2018 The Qt Company Ltd.
-** Contact: https://www.qt.io/licensing/
-**
-** This file is part of the Qt Virtual Keyboard module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:GPL$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see https://www.qt.io/terms-conditions. For further
-** information use the contact form at https://www.qt.io/contact-us.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 3 or (at your option) any later version
-** approved by the KDE Free Qt Foundation. The licenses are as published by
-** the Free Software Foundation and appearing in the file LICENSE.GPL3
-** included in the packaging of this file. Please review the following
-** information to ensure the GNU General Public License requirements will
-** be met: https://www.gnu.org/licenses/gpl-3.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
+// Copyright (C) 2018 The Qt Company Ltd.
+// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GPL-3.0-only
#ifndef APPINPUTPANEL_P_P_H
#define APPINPUTPANEL_P_P_H
@@ -52,7 +26,7 @@ namespace QtVirtualKeyboard {
\internal
*/
-class QVIRTUALKEYBOARD_EXPORT AppInputPanelPrivate : public QObjectPrivate
+class Q_VIRTUALKEYBOARD_EXPORT AppInputPanelPrivate : public QObjectPrivate
{
public:
AppInputPanelPrivate() :
diff --git a/src/virtualkeyboard/configure.cmake b/src/virtualkeyboard/configure.cmake
index 6b26718c..873edcab 100644
--- a/src/virtualkeyboard/configure.cmake
+++ b/src/virtualkeyboard/configure.cmake
@@ -1,3 +1,6 @@
+# Copyright (C) 2022 The Qt Company Ltd.
+# SPDX-License-Identifier: BSD-3-Clause
+
#### Inputs
@@ -6,23 +9,21 @@
set(INPUT_vkb_hunspell "undefined" CACHE STRING "")
set_property(CACHE INPUT_vkb_hunspell PROPERTY STRINGS undefined no 3rdparty system)
+# input vkb-cerence-sdk
+set(INPUT_vkb_cerence_sdk "" CACHE PATH "")
#### Libraries
-qt_find_package(Hunspell PROVIDED_TARGETS Hunspell::Hunspell)
-if((LINUX) OR QT_FIND_ALL_PACKAGES_ALWAYS AND NOT TARGET XCB::XCB) # special case
- qt_find_package(XCB 1.9 PROVIDED_TARGETS XCB::XCB)
-endif()
-if((LINUX) OR QT_FIND_ALL_PACKAGES_ALWAYS AND NOT TARGET XCB::XFIXES) # special case
- qt_find_package(XCB COMPONENTS XFIXES PROVIDED_TARGETS XCB::XFIXES)
-endif()
-
+qt_find_package(Hunspell PROVIDED_TARGETS Hunspell::Hunspell MODULE_NAME virtualkeyboard QMAKE_LIB hunspell)
+qt_find_package(CerenceHwrAlphabetic PROVIDED_TARGETS Cerence::HWR::Alphabetic MODULE_NAME virtualkeyboard QMAKE_LIB t9write-ucr)
+qt_find_package(CerenceHwrCjk PROVIDED_TARGETS Cerence::HWR::CJK MODULE_NAME virtualkeyboard QMAKE_LIB t9write-cjk)
+qt_find_package(CerenceXt9 PROVIDED_TARGETS Cerence::XT9 MODULE_NAME virtualkeyboard QMAKE_LIB xt9-acktn)
+qt_find_package(MyScript PROVIDED_TARGETS MyScript::VOIM MODULE_NAME virtualkeyboard QMAKE_LIB voim)
#### Tests
-
#### Features
qt_feature("vkb-record-trace-input" PUBLIC
@@ -35,11 +36,7 @@ qt_feature("vkb-arrow-keynavigation" PUBLIC
)
qt_feature("vkb-desktop" PUBLIC
LABEL "Desktop integration"
- CONDITION NOT cross_compile
-)
-qt_feature("vkb-xcb" PUBLIC
- LABEL "XCB integration"
- CONDITION TARGET XCB::XCB AND XCB_XFIXES_FOUND
+ CONDITION NOT ANDROID
)
qt_feature("vkb-layouts" PUBLIC
LABEL "Built-in layouts"
@@ -64,27 +61,61 @@ qt_feature("vkb-sensitive-debug" PRIVATE
LABEL "Sensitive Debug"
AUTODETECT OFF
)
-qt_feature("t9write-alphabetic" PRIVATE
- LABEL " Alphabetic"
- CONDITION VKB_HAVE_T9WRITE_ALPHA
+qt_feature("cerence-sdk" PRIVATE
+ LABEL "Cerence"
+ AUTODETECT CERENCE_HWR_ALPHABETIC_FOUND OR CERENCE_XT9_FOUND
+)
+qt_feature("cerence-hwr" PRIVATE
+ LABEL " Handwriting"
+ CONDITION QT_FEATURE_cerence_hwr_alphabetic OR QT_FEATURE_cerence_hwr_cjk
+ ENABLE INPUT_vkb_handwriting STREQUAL 'cerence-hwr'
+ DISABLE NOT INPUT_vkb_handwriting STREQUAL '' AND NOT INPUT_vkb_handwriting STREQUAL 'cerence-hwr'
+)
+qt_feature("cerence-hwr-alphabetic" PRIVATE
+ LABEL " Alphabetic"
+ CONDITION QT_FEATURE_cerence_sdk
+ ENABLE INPUT_vkb_handwriting STREQUAL 'cerence-hwr'
+ DISABLE NOT INPUT_vkb_handwriting STREQUAL '' AND NOT INPUT_vkb_handwriting STREQUAL 'cerence-hwr'
+ AUTODETECT CERENCE_HWR_ALPHABETIC_FOUND
+)
+qt_feature("cerence-hwr-cjk" PRIVATE
+ LABEL " CJK"
+ CONDITION QT_FEATURE_cerence_sdk
+ ENABLE INPUT_vkb_handwriting STREQUAL 'cerence-hwr'
+ DISABLE NOT INPUT_vkb_handwriting STREQUAL '' AND NOT INPUT_vkb_handwriting STREQUAL 'cerence-hwr'
+ AUTODETECT CERENCE_HWR_CJK_FOUND
+)
+qt_feature("vkb-bundle-cerence" PUBLIC
+ LABEL " Bundle resources"
+ AUTODETECT OFF
+)
+qt_feature("vkb-bundle-cerence-hwr" PUBLIC
+ LABEL " Handwriting"
+ AUTODETECT OFF
+ ENABLE FEATURE_vkb_bundle_cerence
+)
+qt_feature("vkb-bundle-cerence-xt9" PUBLIC
+ LABEL " XT9"
+ AUTODETECT OFF
+ ENABLE FEATURE_vkb_bundle_cerence
)
-qt_feature("t9write-cjk" PRIVATE
- LABEL " CJK"
- CONDITION VKB_HAVE_T9WRITE_CJK
+qt_feature("cerence-xt9" PRIVATE
+ LABEL " XT9"
+ CONDITION CERENCE_XT9_FOUND
)
-qt_feature("t9write" PRIVATE
- LABEL "T9Write handwriting"
- CONDITION QT_FEATURE_t9write_alphabetic OR QT_FEATURE_t9write_cjk
- ENABLE INPUT_vkb_handwriting STREQUAL 't9write'
- DISABLE INPUT_vkb_handwriting STREQUAL 'no' OR INPUT_vkb_handwriting STREQUAL 'lipi'
+qt_feature("vkb-cerence-xt9-debug" PUBLIC
+ LABEL " XT9 Debug"
+ AUTODETECT OFF
+)
+qt_feature("vkb-cerence-xt9-9key-layouts" PUBLIC
+ LABEL " XT9 9-key layouts"
+ AUTODETECT OFF
)
-qt_feature("lipi-toolkit" PRIVATE
- LABEL "Lipi handwriting"
+qt_feature("vkb-cerence-static" PUBLIC
+ LABEL " Static Linking"
AUTODETECT OFF
- ENABLE INPUT_vkb_handwriting STREQUAL 'lipi'
- DISABLE INPUT_vkb_handwriting STREQUAL 'no' OR INPUT_vkb_handwriting STREQUAL 't9write'
)
-qt_feature("system-hunspell" PRIVATE
+qt_feature("system-hunspell" PRIVATE SYSTEM_LIBRARY
LABEL "System Hunspell"
CONDITION Hunspell_FOUND
)
@@ -96,37 +127,65 @@ qt_feature("3rdparty-hunspell" PRIVATE
qt_feature("hunspell" PRIVATE
LABEL "Hunspell"
CONDITION QT_FEATURE_3rdparty_hunspell OR QT_FEATURE_system_hunspell
+ DISABLE QT_FEATURE_cerence_xt9
)
qt_feature("openwnn" PRIVATE
LABEL "OpenWnn"
AUTODETECT ( NOT INPUT_lang_ja_JP STREQUAL 'no' )
+ DISABLE QT_FEATURE_cerence_xt9
)
-qt_feature("vkb-myscript" PRIVATE
+qt_feature("myscript" PRIVATE
LABEL "MyScript"
- AUTODETECT OFF
+ CONDITION MyScript_FOUND
+ ENABLE INPUT_vkb_handwriting STREQUAL 'myscript-hwr'
+ DISABLE NOT INPUT_vkb_handwriting STREQUAL '' AND NOT INPUT_vkb_handwriting STREQUAL 'myscript-hwr'
)
qt_feature("pinyin" PRIVATE
LABEL "libpinyin"
AUTODETECT ( NOT INPUT_lang_ch_CN STREQUAL 'no' )
+ CONDITION QT_FEATURE_thread
+ DISABLE QT_FEATURE_cerence_xt9
+)
+qt_feature("vkb-no-bundle-pinyin" PRIVATE
+ LABEL "Disable resource bundle for the pinyin"
+ AUTODETECT OFF
)
qt_feature("tcime" PRIVATE
LABEL "Traditional Chinese IME (tcime)"
AUTODETECT ( NOT INPUT_lang_ch_TW STREQUAL 'no' )
CONDITION QT_FEATURE_zhuyin OR QT_FEATURE_cangjie
+ DISABLE QT_FEATURE_cerence_xt9
+)
+qt_feature("vkb-no-bundle-tcime" PRIVATE
+ LABEL "Disable resource bundle for the tcime"
+ AUTODETECT OFF
)
qt_feature("zhuyin" PRIVATE
LABEL "Zhuyin"
AUTODETECT ( NOT INPUT_lang_zh_TW STREQUAL 'no' )
+ DISABLE QT_FEATURE_cerence_xt9
)
qt_feature("cangjie" PRIVATE
LABEL "Cangjie"
AUTODETECT ( NOT INPUT_lang_zh_TW STREQUAL 'no' )
+ DISABLE QT_FEATURE_cerence_xt9
)
qt_feature("hangul" PRIVATE
LABEL "Hangul"
+ AUTODETECT ( NOT INPUT_lang_ko_KR STREQUAL 'no' )
+ DISABLE QT_FEATURE_cerence_xt9
)
qt_feature("thai" PRIVATE
LABEL "Thai"
+ AUTODETECT ( NOT INPUT_lang_th_TH STREQUAL 'no' )
+ DISABLE QT_FEATURE_cerence_xt9
+)
+qt_feature("example-hwr" PRIVATE
+ LABEL "Example HWR"
+ ENABLE INPUT_vkb_handwriting STREQUAL 'example-hwr'
+ AUTODETECT ( FALSE )
+ DISABLE NOT INPUT_vkb_handwriting STREQUAL '' AND NOT INPUT_vkb_handwriting STREQUAL 'example-hwr'
+ PURPOSE "Generates random characters in response to handwriting input. For development and demonstration purposes only."
)
qt_feature("vkb-lang-ar_AR" PRIVATE
LABEL "Arabic"
@@ -214,7 +273,7 @@ qt_feature("vkb-lang-it_IT" PRIVATE
)
qt_feature("vkb-lang-ja_JP" PRIVATE
LABEL "Japanese"
- CONDITION QT_FEATURE_openwnn
+ CONDITION QT_FEATURE_openwnn OR QT_FEATURE_cerence_xt9
)
qt_feature("vkb-lang-ko_KR" PRIVATE
LABEL "Korean"
@@ -274,7 +333,7 @@ qt_feature("vkb-lang-sv_SE" PRIVATE
)
qt_feature("vkb-lang-th_TH" PRIVATE
LABEL "Thai"
- CONDITION QT_FEATURE_thai
+ CONDITION QT_FEATURE_thai OR QT_FEATURE_cerence_xt9
)
qt_feature("vkb-lang-tr_TR" PRIVATE
LABEL "Turkish"
@@ -291,12 +350,17 @@ qt_feature("vkb-lang-vi_VN" PRIVATE
qt_feature("vkb-lang-zh_CN" PRIVATE
LABEL "Simplified Chinese"
AUTODETECT ( NOT INPUT_lang_zh_CN STREQUAL 'no' )
- CONDITION QT_FEATURE_pinyin
+ CONDITION QT_FEATURE_pinyin OR QT_FEATURE_cerence_xt9
)
qt_feature("vkb-lang-zh_TW" PRIVATE
LABEL "Traditional Chinese"
AUTODETECT ( NOT INPUT_lang_zh_TW STREQUAL 'no' )
- CONDITION QT_FEATURE_tcime OR QT_FEATURE_zhuyin OR QT_FEATURE_cangjie
+ CONDITION QT_FEATURE_tcime OR QT_FEATURE_zhuyin OR QT_FEATURE_cangjie OR QT_FEATURE_cerence_xt9
+)
+qt_feature("vkb-lang-zh_HK" PRIVATE
+ LABEL "HongKong Chinese"
+ AUTODETECT ( NOT INPUT_lang_zh_HK STREQUAL 'no' )
+ CONDITION QT_FEATURE_cerence_xt9
)
qt_configure_add_summary_section(NAME "Qt Virtualkeyboard")
qt_configure_add_summary_entry(ARGS "vkb-desktop")
@@ -304,14 +368,22 @@ qt_configure_add_summary_entry(ARGS "vkb-layouts")
qt_configure_add_summary_entry(ARGS "vkb-arrow-keynavigation")
qt_configure_add_summary_entry(ARGS "vkb-retro-style")
qt_configure_add_summary_entry(ARGS "vkb-sensitive-debug")
-qt_configure_add_summary_entry(ARGS "t9write")
-qt_configure_add_summary_entry(ARGS "t9write-alphabetic")
-qt_configure_add_summary_entry(ARGS "t9write-cjk")
-qt_configure_add_summary_entry(ARGS "lipi-toolkit")
+qt_configure_add_summary_entry(ARGS "cerence-sdk")
+qt_configure_add_summary_entry(ARGS "vkb-cerence-static")
+qt_configure_add_summary_entry(ARGS "cerence-hwr")
+qt_configure_add_summary_entry(ARGS "cerence-hwr-alphabetic")
+qt_configure_add_summary_entry(ARGS "cerence-hwr-cjk")
+qt_configure_add_summary_entry(ARGS "cerence-xt9")
+qt_configure_add_summary_entry(ARGS "vkb-cerence-xt9-debug")
+qt_configure_add_summary_entry(ARGS "vkb-cerence-xt9-9key-layouts")
+qt_configure_add_summary_entry(ARGS "vkb-bundle-cerence")
+qt_configure_add_summary_entry(ARGS "vkb-bundle-cerence-hwr")
+qt_configure_add_summary_entry(ARGS "vkb-bundle-cerence-xt9")
qt_configure_add_summary_entry(ARGS "hunspell")
qt_configure_add_summary_entry(ARGS "3rdparty-hunspell")
qt_configure_add_summary_entry(ARGS "openwnn")
-qt_configure_add_summary_entry(ARGS "vkb-myscript")
+qt_configure_add_summary_entry(ARGS "myscript")
+qt_configure_add_summary_entry(ARGS "example-hwr")
qt_configure_add_summary_section(NAME "Language support enabled for")
qt_configure_add_summary_entry(ARGS "vkb-lang-ar_AR")
qt_configure_add_summary_entry(ARGS "vkb-lang-bg_BG")
@@ -355,6 +427,7 @@ qt_configure_add_summary_entry(ARGS "vkb-lang-uk_UA")
qt_configure_add_summary_entry(ARGS "vkb-lang-vi_VN")
qt_configure_add_summary_entry(ARGS "vkb-lang-zh_CN")
qt_configure_add_summary_entry(ARGS "vkb-lang-zh_TW")
+qt_configure_add_summary_entry(ARGS "vkb-lang-zh_HK")
qt_configure_end_summary_section() # end of "Language support enabled for" section
qt_configure_add_summary_section(NAME "Traditional chinese input methods")
qt_configure_add_summary_entry(ARGS "zhuyin")
@@ -363,11 +436,16 @@ qt_configure_end_summary_section() # end of "Traditional chinese input methods"
qt_configure_end_summary_section() # end of "Qt Virtualkeyboard" section
qt_configure_add_report_entry(
TYPE ERROR
- MESSAGE "T9Write SDK could not be found. For more information, see the documentation in 'Building Qt Virtual Keyboard'."
- CONDITION INPUT_vkb_handwriting STREQUAL 't9write' AND NOT QT_FEATURE_t9write
+ MESSAGE "MyScript SDK could not be found. For more information, see the documentation in 'Building Qt Virtual Keyboard'."
+ CONDITION INPUT_vkb_handwriting STREQUAL 'myscript-hwr' AND NOT QT_FEATURE_myscript
+)
+qt_configure_add_report_entry(
+ TYPE ERROR
+ MESSAGE "Cerence HWR SDK could not be found. For more information, see the documentation in 'Building Qt Virtual Keyboard'."
+ CONDITION INPUT_vkb_handwriting STREQUAL 'cerence-hwr' AND NOT QT_FEATURE_cerence_hwr
)
qt_configure_add_report_entry(
TYPE NOTE
- MESSAGE "Hunspell disabled. Spelling correction will not be available."
+ MESSAGE "Hunspell in Qt Virtual Keyboard is not enabled. Spelling correction will not be available."
CONDITION NOT QT_FEATURE_hunspell
)
diff --git a/src/virtualkeyboard/configure.json b/src/virtualkeyboard/configure.json
deleted file mode 100644
index cdaed556..00000000
--- a/src/virtualkeyboard/configure.json
+++ /dev/null
@@ -1,497 +0,0 @@
-{
- "module": "virtualkeyboard",
- "testDir": "../../config.tests",
-
- "commandline": {
- "options": {
- "vkb-sensitive-debug": "boolean",
- "vkb-arrow-keynavigation": "boolean",
- "vkb-enable": { "type": "enableLang" },
- "vkb-disable": { "type": "disableLang" },
- "vkb-desktop": "boolean",
- "vkb-cangjie": { "type": "boolean", "value": "cangjie" },
- "vkb-zhuyin": { "type": "boolean", "value": "zhuyin" },
- "vkb-hunspell": { "type": "enum", "values": [ "no", "3rdparty", "system" ] },
- "vkb-handwriting": { "type": "optionalString", "values": [ "yes", "no", "t9write", "lipi" ] },
- "vkb-style": { "type": "string", "values": [ "standard", "retro" , "none"] }
- }
- },
-
- "libraries": {
- "hunspell": {
- "label": "Hunspell",
- "test": "hunspell",
- "sources": [
- { "type": "pkgConfig", "args": "hunspell" },
- { "includedir": "/usr/include/hunspell", "libs": "-lhunspell-1.3" }
- ]
- },
- "xcb": {
- "label": "XCB",
- "headers": "xcb/xcb.h",
- "sources": [
- { "type": "pkgConfig", "args": "xcb" },
- "-lxcb"
- ]
- },
- "xcb-xfixes": {
- "label": "XCB Xfixes",
- "headers": "xcb/xfixes.h",
- "sources": [
- { "type": "pkgConfig", "args": "xcb-xfixes" },
- "-lxcb-xfixes"
- ],
- "use": "xcb"
- }
- },
-
- "tests": {
- "3rdparty-hunspell": {
- "label": "Hunspell copy under 3rdparty/",
- "type": "3rdpartyHunspell"
- },
- "t9write-alphabetic": {
- "label" : "T9Write Alphabetic Support",
- "type" : "t9write-alphabetic"
- },
- "t9write-cjk": {
- "label" : "T9Write CJK Support",
- "type" : "t9write-cjk"
- }
- },
-
- "features": {
- "vkb-record-trace-input": {
- "label": "Input trace recording",
- "autoDetect": "false",
- "output": [ "publicFeature" ]
- },
- "vkb-arrow-keynavigation": {
- "label": "Key navigation",
- "autoDetect": "false",
- "output": [ "publicFeature" ]
- },
- "vkb-desktop": {
- "label": "Desktop integration",
- "condition": "!config.cross_compile",
- "output": [ "publicFeature" ]
- },
- "vkb-xcb": {
- "label": "XCB integration",
- "condition": "libs.xcb && libs.xcb-xfixes",
- "output": [ "publicFeature" ]
- },
- "vkb-layouts": {
- "label": "Built-in layouts",
- "output": [ "publicFeature" ]
- },
- "vkb-no-builtin-style": {
- "label": "Disable builtin styles",
- "autoDetect": false,
- "enable": "input.vkb-style == 'none'",
- "output": [ "publicFeature" ]
- },
- "vkb-retro-style": {
- "label": "Retro style as default",
- "autoDetect": false,
- "enable": "input.vkb-style == 'retro'",
- "output": [ "publicFeature" ]
- },
- "vkb-default-style": {
- "label": "Default style",
- "autoDetect": true,
- "condition": "!features.vkb-retro-style && !features.vkb-no-builtin-style",
- "enable": "input.vkb-style == 'default'",
- "output": [ "publicFeature" ]
- },
- "vkb-sensitive-debug": {
- "label": "Sensitive Debug",
- "autoDetect": false,
- "output": [ "privateFeature" ]
- },
-
- "t9write-alphabetic": {
- "label": " Alphabetic",
- "condition": "tests.t9write-alphabetic",
- "output": [ "privateFeature" ]
- },
- "t9write-cjk": {
- "label": " CJK",
- "condition": "tests.t9write-cjk",
- "output": [ "privateFeature" ]
- },
- "t9write": {
- "label": "T9Write handwriting",
- "enable": "input.vkb-handwriting == 't9write'",
- "disable": "input.vkb-handwriting == 'no' || input.vkb-handwriting == 'lipi'",
- "condition": "features.t9write-alphabetic || features.t9write-cjk",
- "output": [ "privateFeature" ]
- },
- "lipi-toolkit": {
- "label": "Lipi handwriting",
- "autoDetect": false,
- "enable": "input.vkb-handwriting == 'lipi'",
- "disable": "input.vkb-handwriting == 'no' || input.vkb-handwriting == 't9write'",
- "output": [ "privateFeature" ]
- },
- "system-hunspell": {
- "label": "System Hunspell",
- "condition": "libs.hunspell",
- "output": [ "privateFeature" ]
- },
- "3rdparty-hunspell": {
- "label": " Using Hunspell copy from 3rdparty/",
- "disable": "input.vkb-hunspell == 'no' || input.vkb-hunspell == 'system'",
- "condition": "tests.3rdparty-hunspell",
- "output": [ "privateFeature" ]
- },
- "hunspell": {
- "label": "Hunspell",
- "condition": "features.3rdparty-hunspell || features.system-hunspell",
- "output": [ "privateFeature" ]
- },
- "openwnn": {
- "label": "OpenWnn",
- "autoDetect": "input.lang-ja_JP != 'no'",
- "output": [ "privateFeature" ]
- },
- "vkb-myscript": {
- "label": "MyScript",
- "autoDetect": false,
- "output": [ "privateFeature" ]
- },
- "pinyin": {
- "label": "libpinyin",
- "autoDetect": "input.lang-ch_CN != 'no'",
- "output": [ "privateFeature" ]
- },
- "tcime": {
- "label": "Traditional Chinese IME (tcime)",
- "autoDetect": "input.lang-ch_TW != 'no'",
- "condition": "features.zhuyin || features.cangjie",
- "output": [ "privateFeature" ]
- },
- "zhuyin": {
- "label": "Zhuyin",
- "autoDetect": "input.lang-zh_TW != 'no'",
- "output": [ "privateFeature" ]
- },
- "cangjie": {
- "label": "Cangjie",
- "autoDetect": "input.lang-zh_TW != 'no'",
- "output": [ "privateFeature" ]
- },
- "hangul": {
- "label": "Hangul",
- "autoDectect": "input.lang-ko_KR != 'no'",
- "output": [ "privateFeature" ]
- },
- "thai": {
- "label": "Thai",
- "autoDectect": "input.lang-th_TH != 'no'",
- "output": [ "privateFeature" ]
- },
- "vkb-lang-ar_AR": {
- "label": "Arabic",
- "autoDetect": "input.lang-ar_AR != 'no'",
- "output": [ "privateFeature" ]
- },
- "vkb-lang-bg_BG": {
- "label": "Bulgarian",
- "autoDetect": "input.lang-bg_BG != 'no'",
- "output": [ "privateFeature" ]
- },
- "vkb-lang-cs_CZ": {
- "label": "Czech",
- "autoDetect": "input.lang-cs_CZ != 'no'",
- "output": [ "privateFeature" ]
- },
- "vkb-lang-da_DK": {
- "label": "Danish",
- "autoDetect": "input.lang-da_DK != 'no'",
- "output": [ "privateFeature" ]
- },
- "vkb-lang-de_DE": {
- "label": "German",
- "autoDetect": "input.lang-de_DE != 'no'",
- "output": [ "privateFeature" ]
- },
- "vkb-lang-el_GR": {
- "label": "Greek",
- "autoDetect": "input.lang-el_GR != 'no'",
- "output": [ "privateFeature" ]
- },
- "vkb-lang-en_GB": {
- "label": "English GB",
- "autoDetect": "input.lang-en_GB != 'no'",
- "output": [ "privateFeature" ]
- },
- "vkb-lang-en_US": {
- "label": "English US",
- "autoDetect": "input.lang-en_US != 'no'",
- "output": [ "privateFeature" ]
- },
- "vkb-lang-es_ES": {
- "label": "Spanish",
- "autoDetect": "input.lang-es_ES != 'no'",
- "output": [ "privateFeature" ]
- },
- "vkb-lang-es_MX": {
- "label": "Spanish Mexico",
- "autoDetect": "input.lang-es_MX != 'no'",
- "output": [ "privateFeature" ]
- },
- "vkb-lang-et_EE": {
- "label": "Estonian",
- "autoDetect": "input.lang-et_EE != 'no'",
- "output": [ "privateFeature" ]
- },
- "vkb-lang-fa_FA": {
- "label": "Farsi",
- "autoDetect": "input.lang-fa_FA != 'no'",
- "output": [ "privateFeature" ]
- },
- "vkb-lang-fi_FI": {
- "label": "Finnish",
- "autoDetect": "input.lang-fi_FI != 'no'",
- "output": [ "privateFeature" ]
- },
- "vkb-lang-fr_CA": {
- "label": "French Canada",
- "autoDetect": "input.lang-fr_CA != 'no'",
- "output": [ "privateFeature" ]
- },
- "vkb-lang-fr_FR": {
- "label": "French France",
- "autoDetect": "input.lang-fr_FR != 'no'",
- "output": [ "privateFeature" ]
- },
- "vkb-lang-he_IL": {
- "label": "Hebrew",
- "autoDetect": "input.lang-he_IL != 'no'",
- "output": [ "privateFeature" ]
- },
- "vkb-lang-hi_IN": {
- "label": "Hindi",
- "autoDetect": "input.lang-hi_IN != 'no'",
- "output": [ "privateFeature" ]
- },
- "vkb-lang-hr_HR": {
- "label": "Croatian",
- "autoDetect": "input.lang-hr_HR != 'no'",
- "output": [ "privateFeature" ]
- },
- "vkb-lang-hu_HU": {
- "label": "Hungarian",
- "autoDetect": "input.lang-hu_HU != 'no'",
- "output": [ "privateFeature" ]
- },
- "vkb-lang-id_ID": {
- "label": "Indonesian",
- "autoDetect": "input.lang-id_ID != 'no'",
- "output": [ "privateFeature" ]
- },
- "vkb-lang-it_IT": {
- "label": "Italian",
- "autoDetect": "input.lang-it_IT != 'no'",
- "output": [ "privateFeature" ]
- },
- "vkb-lang-ja_JP": {
- "label": "Japanese",
- "condition": "features.openwnn",
- "output": [ "privateFeature" ]
- },
- "vkb-lang-ko_KR": {
- "label": "Korean",
- "autoDetect": "input.lang-ko_KR != 'no'",
- "output": [ "privateFeature" ]
- },
- "vkb-lang-ms_MY": {
- "label": "Malay",
- "autoDetect": "input.lang-ms_MY != 'no'",
- "output": [ "privateFeature" ]
- },
- "vkb-lang-nb_NO": {
- "label": "Norwegian",
- "autoDetect": "input.lang-nb_NO != 'no'",
- "output": [ "privateFeature" ]
- },
- "vkb-lang-nl_NL": {
- "label": "Dutch",
- "autoDetect": "input.lang-nl_NL != 'no'",
- "output": [ "privateFeature" ]
- },
- "vkb-lang-pl_PL": {
- "label": "Polish",
- "autoDetect": "input.lang-pl_PL != 'no'",
- "output": [ "privateFeature" ]
- },
- "vkb-lang-pt_BR": {
- "label": "Portuguese Brazil",
- "autoDetect": "input.lang-pt_BR != 'no'",
- "output": [ "privateFeature" ]
- },
- "vkb-lang-pt_PT": {
- "label": "Portuguese Portugal",
- "autoDetect": "input.lang-pt_PT != 'no'",
- "output": [ "privateFeature" ]
- },
- "vkb-lang-ro_RO": {
- "label": "Romanian",
- "autoDetect": "input.lang-ro_RO != 'no'",
- "output": [ "privateFeature" ]
- },
- "vkb-lang-ru_RU": {
- "label": "Russian",
- "autoDetect": "input.lang-ru_RU != 'no'",
- "output": [ "privateFeature" ]
- },
- "vkb-lang-sk_SK": {
- "label": "Slovak",
- "autoDetect": "input.lang-sk_SK != 'no'",
- "output": [ "privateFeature" ]
- },
- "vkb-lang-sl_SI": {
- "label": "Slovenian",
- "autoDetect": "input.lang-sl_SI != 'no'",
- "output": [ "privateFeature" ]
- },
- "vkb-lang-sq_AL": {
- "label": "Albanian",
- "autoDetect": "input.lang-sq_AL != 'no'",
- "output": [ "privateFeature" ]
- },
- "vkb-lang-sr_SP": {
- "label": "Serbian",
- "autoDetect": "input.lang-sr_SP != 'no'",
- "output": [ "privateFeature" ]
- },
- "vkb-lang-sv_SE": {
- "label": "Swedish",
- "autoDetect": "input.lang-sv_SE != 'no'",
- "output": [ "privateFeature" ]
- },
- "vkb-lang-th_TH": {
- "label": "Thai",
- "condition": "features.thai",
- "output": [ "privateFeature" ]
- },
- "vkb-lang-tr_TR": {
- "label": "Turkish",
- "autoDetect": "input.lang-tr_TR != 'no'",
- "output": [ "privateFeature" ]
- },
- "vkb-lang-uk_UA": {
- "label": "Ukrainian",
- "autoDetect": "input.lang-uk_UA != 'no'",
- "output": [ "privateFeature" ]
- },
- "vkb-lang-vi_VN": {
- "label": "Vietnamese",
- "autoDetect": "input.lang-vi_VN != 'no'",
- "output": [ "privateFeature" ]
- },
- "vkb-lang-zh_CN": {
- "label": "Simplified Chinese",
- "autoDetect": "input.lang-zh_CN != 'no'",
- "condition": "features.pinyin",
- "output": [ "privateFeature" ]
- },
- "vkb-lang-zh_TW": {
- "label": "Traditional Chinese",
- "autoDetect": "input.lang-zh_TW != 'no'",
- "condition": "features.tcime || features.zhuyin || features.cangjie",
- "output": [ "privateFeature" ]
- }
- },
-
- "report": [
- {
- "type": "error",
- "condition": "input.vkb-handwriting == 't9write' && !features.t9write",
- "message": "T9Write SDK could not be found. For more information,
-see the documentation in 'Building Qt Virtual Keyboard'."
- },
- {
- "type": "note",
- "condition": "!features.hunspell",
- "message": "Hunspell disabled. Spelling correction will not be available."
- }
- ],
-
- "summary": [
- {
- "section": "Qt Virtualkeyboard",
- "entries": [
- "vkb-desktop",
- "vkb-layouts",
- "vkb-arrow-keynavigation",
- "vkb-retro-style",
- "vkb-sensitive-debug",
- "t9write",
- "t9write-alphabetic",
- "t9write-cjk",
- "lipi-toolkit",
- "hunspell",
- "3rdparty-hunspell",
- "openwnn",
- "vkb-myscript",
- {
- "section": "Language support enabled for",
- "entries": [
- "vkb-lang-ar_AR",
- "vkb-lang-bg_BG",
- "vkb-lang-cs_CZ",
- "vkb-lang-da_DK",
- "vkb-lang-de_DE",
- "vkb-lang-el_GR",
- "vkb-lang-en_GB",
- "vkb-lang-en_US",
- "vkb-lang-es_ES",
- "vkb-lang-es_MX",
- "vkb-lang-et_EE",
- "vkb-lang-fa_FA",
- "vkb-lang-fi_FI",
- "vkb-lang-fr_CA",
- "vkb-lang-fr_FR",
- "vkb-lang-he_IL",
- "vkb-lang-hi_IN",
- "vkb-lang-hr_HR",
- "vkb-lang-hu_HU",
- "vkb-lang-id_ID",
- "vkb-lang-it_IT",
- "vkb-lang-ja_JP",
- "vkb-lang-ko_KR",
- "vkb-lang-ms_MY",
- "vkb-lang-nb_NO",
- "vkb-lang-nl_NL",
- "vkb-lang-pl_PL",
- "vkb-lang-pt_BR",
- "vkb-lang-pt_PT",
- "vkb-lang-ro_RO",
- "vkb-lang-ru_RU",
- "vkb-lang-sk_SK",
- "vkb-lang-sl_SI",
- "vkb-lang-sq_AL",
- "vkb-lang-sr_SP",
- "vkb-lang-sv_SE",
- "vkb-lang-th_TH",
- "vkb-lang-tr_TR",
- "vkb-lang-uk_UA",
- "vkb-lang-vi_VN",
- "vkb-lang-zh_CN",
- "vkb-lang-zh_TW"
- ]
- },
- {
- "section": "Traditional chinese input methods",
- "condition": "features.vkb-lang-zh_TW",
- "entries": [
- "zhuyin",
- "cangjie"
- ]
- }
- ]
- }
- ]
-}
diff --git a/src/virtualkeyboard/configure.pri b/src/virtualkeyboard/configure.pri
deleted file mode 100644
index 883619d8..00000000
--- a/src/virtualkeyboard/configure.pri
+++ /dev/null
@@ -1,181 +0,0 @@
-VKB_SOURCE_TREE = $$PWD
-VALID_LANGUAGES = \
- ar_AR \
- bg_BG \
- cs_CZ \
- da_DK \
- de_DE \
- el_GR \
- en_GB \
- en_US \
- es_ES \
- es_MX \
- et_EE \
- fa_FA \
- fi_FI \
- fr_CA \
- fr_FR \
- he_IL \
- hi_IN \
- hr_HR \
- hu_HU \
- id_ID \
- it_IT \
- ja_JP \
- ko_KR \
- ms_MY \
- nb_NO \
- nl_NL \
- pl_PL \
- pt_BR \
- pt_PT \
- ro_RO \
- ru_RU \
- sk_SK \
- sl_SI \
- sq_AL \
- sr_SP \
- sv_SE \
- th_TH \
- tr_TR \
- uk_UA \
- vi_VN \
- zh_CN \
- zh_TW
-
-defineReplace(qtConfGetLanguageList) {
- val = $${2}
- isEmpty(val): val = $$qtConfGetNextCommandlineArg()
- contains(val, "^-.*|[A-Z_]+=.*")|isEmpty(val) {
- qtConfAddError("No value supplied to command line option '$$1'.")
- return()
- }
- vals = $$split(val, ',')
- for (l, vals) {
- languages += $$l
- equals(val, "all"): \
- return($$VALID_LANGUAGES)
-
- !contains(VALID_LANGUAGES, $$l) {
- qtConfAddError("Language '$$l' is not supported by the Qt Virtual Keyboard." \
- "The list of valid languages is:" \
- "$$VALID_LANGUAGES");
- return()
- }
- }
- return($$languages)
-}
-
-defineTest(qtConfCommandline_enableLang) {
- languages = $$qtConfGetLanguageList($$1, $$2)
-
- # explicitly disable all languages that are currently not explicitly set
- for (l, VALID_LANGUAGES) {
- isEmpty(config.input.lang-$${l}) {
- config.input.lang-$${l} = "no"
- export(config.input.lang-$${l})
- }
- }
-
- for (l, languages) {
- config.input.lang-$${l} = "yes"
- export(config.input.lang-$${l})
- }
-}
-
-defineTest(qtConfCommandline_disableLang) {
- languages = $$qtConfGetLanguageList($$1, $$2)
-
- for (l, languages) {
- config.input.lang-$${l} = "no"
- export(config.input.lang-$${l})
- }
-}
-
-
-# T9Write tests
-
-T9WRITE_BASE_DIR = $$VKB_SOURCE_TREE/src/plugins/t9write/3rdparty/t9write/
-
-defineTest(t9writeFindSharedLibrary) {
- contains(QT_ARCH, arm) {
- LIB_DIR = $$T9WRITE_BASE_DIR/lib/arm/shared
- } else: linux {
- LIB_DIR = $$T9WRITE_BASE_DIR/lib/linux-x86/shared
- } else: win32 {
- LIB_DIR = $$T9WRITE_BASE_DIR/lib/win32/shared
- } else {
- return(false)
- }
- win32 {
- result = $$files($$LIB_DIR/$$1/*.obj)
- isEmpty(result): result = $$files($$LIB_DIR/$$1/*.lib)
- isEmpty(result) {
- return(false)
- }
- } else {
- result = $$files($$LIB_DIR/$$1/*.o)
- isEmpty(result): result = $$files($$LIB_DIR/$$1/*.so)
- isEmpty(result) {
- return(false)
- }
- }
- return(true)
-}
-
-defineTest(t9writeFindStaticLibrary) {
- contains(QT_ARCH, arm) {
- LIB_DIR = $$T9WRITE_BASE_DIR/lib/arm/shared
- } else: linux {
- LIB_DIR = $$T9WRITE_BASE_DIR/lib/linux-x86/shared
- } else: win32 {
- LIB_DIR = $$T9WRITE_BASE_DIR/lib/win32/shared
- } else {
- return(false)
- }
- win32 {
- result = $$files($$LIB_DIR/$$1/*.obj)
- isEmpty(result): result = $$files($$LIB_DIR/$$1/*.lib)
- isEmpty(result) {
- return(false)
- }
- } else {
- result = $$files($$LIB_DIR/$$1/*.o)
- isEmpty(result): result = $$files($$LIB_DIR/$$1/*.a)
- isEmpty(result) {
- return(false)
- }
- }
- return(true)
-}
-
-defineTest(qtConfTest_t9write-alphabetic) {
- !exists($${T9WRITE_BASE_DIR}/api/decuma_hwr.h) {
- return (false)
- }
- !t9writeFindStaticLibrary(alphabetic)|!t9writeFindSharedLibrary(alphabetic) {
- return (false)
- }
- return(true)
-}
-
-defineTest(qtConfTest_t9write-cjk) {
- !exists($${T9WRITE_BASE_DIR}/api/decuma_hwr_cjk.h) {
- return (false)
- }
- !t9writeFindStaticLibrary(cjk)|!t9writeFindSharedLibrary(cjk) {
- return (false)
- }
- return(true)
-}
-
-
-# 3rdpary hunspell support
-
-defineTest(qtConfTest_3rdpartyHunspell) {
- !exists($$VKB_SOURCE_TREE/src/plugins/hunspell/3rdparty/hunspell/hunspell.h): \
- return(false)
- !exists($$VKB_SOURCE_TREE/src/plugins/hunspell/3rdparty/hunspell/data): \
- return(false)
- return(true)
-}
diff --git a/src/virtualkeyboard/content/components/AlternativeKeys.qml b/src/virtualkeyboard/content/components/AlternativeKeys.qml
deleted file mode 100644
index 7879f006..00000000
--- a/src/virtualkeyboard/content/components/AlternativeKeys.qml
+++ /dev/null
@@ -1,129 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2016 The Qt Company Ltd.
-** Contact: https://www.qt.io/licensing/
-**
-** This file is part of the Qt Virtual Keyboard module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:GPL$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see https://www.qt.io/terms-conditions. For further
-** information use the contact form at https://www.qt.io/contact-us.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 3 or (at your option) any later version
-** approved by the KDE Free Qt Foundation. The licenses are as published by
-** the Free Software Foundation and appearing in the file LICENSE.GPL3
-** included in the packaging of this file. Please review the following
-** information to ensure the GNU General Public License requirements will
-** be met: https://www.gnu.org/licenses/gpl-3.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-import QtQuick 2.0
-import QtQuick.VirtualKeyboard 2.1
-
-Item {
- property bool active: listView.currentIndex != -1
- property int highlightIndex: -1
- property alias listView: listView
- property int keyCode
- property point origin
- signal clicked
- LayoutMirroring.enabled: false
- LayoutMirroring.childrenInherit: true
-
- z: 1
- visible: active
- anchors.fill: parent
-
- ListModel {
- id: listModel
- }
-
- ListView {
- id: listView
- spacing: 0
- model: listModel
- delegate: keyboard.style.alternateKeysListDelegate
- highlight: keyboard.style.alternateKeysListHighlight ? keyboard.style.alternateKeysListHighlight : defaultHighlight
- highlightMoveDuration: 0
- highlightResizeDuration: 0
- keyNavigationWraps: true
- orientation: ListView.Horizontal
- height: keyboard.style.alternateKeysListItemHeight
- x: origin.x
- y: origin.y - height - keyboard.style.alternateKeysListBottomMargin
- Component {
- id: defaultHighlight
- Item {}
- }
- }
-
- Loader {
- id: backgroundLoader
- sourceComponent: keyboard.style.alternateKeysListBackground
- anchors.fill: listView
- z: -1
- states: State {
- name: "highlighted"
- when: highlightIndex !== -1 && highlightIndex === listView.currentIndex &&
- backgroundLoader.item !== null && backgroundLoader.item.hasOwnProperty("currentItemHighlight")
- PropertyChanges {
- target: backgroundLoader.item
- currentItemHighlight: true
- }
- }
- }
-
- onClicked: {
- if (active && listView.currentIndex >= 0 && listView.currentIndex < listView.model.count) {
- var activeKey = listView.model.get(listView.currentIndex)
- InputContext.inputEngine.virtualKeyClick(keyCode, activeKey.text,
- InputContext.uppercase ? Qt.ShiftModifier : 0)
- }
- }
-
- function open(key, originX, originY) {
- keyCode = key.key
- var alternativeKeys = key.effectiveAlternativeKeys
- if (alternativeKeys.length > 0) {
- for (var i = 0; i < alternativeKeys.length; i++) {
- listModel.append({ "text": InputContext.uppercase ? alternativeKeys[i].toUpperCase() : alternativeKeys[i] })
- }
- listView.width = keyboard.style.alternateKeysListItemWidth * listModel.count
- listView.forceLayout()
- highlightIndex = key.effectiveAlternativeKeysHighlightIndex
- if (highlightIndex === -1) {
- console.log("AlternativeKeys: active key \"" + key.text + "\" not found in alternativeKeys \"" + alternativeKeys + ".\"")
- highlightIndex = 0
- }
- listView.currentIndex = highlightIndex
- var currentItemOffset = (listView.currentIndex + 0.5) * keyboard.style.alternateKeysListItemWidth
- origin = Qt.point(Math.min(Math.max(keyboard.style.alternateKeysListLeftMargin, originX - currentItemOffset), width - listView.width - keyboard.style.alternateKeysListRightMargin), originY)
- if (backgroundLoader.item && backgroundLoader.item.hasOwnProperty("currentItemOffset")) {
- backgroundLoader.item.currentItemOffset = currentItemOffset
- }
- }
- return active
- }
-
- function move(mouseX) {
- var newIndex = listView.indexAt(Math.max(1, Math.min(listView.width - 1, mapToItem(listView, mouseX, 0).x)), 1)
- if (newIndex !== listView.currentIndex) {
- listView.currentIndex = newIndex
- }
- }
-
- function close() {
- listView.currentIndex = -1
- listModel.clear()
- }
-}
diff --git a/src/virtualkeyboard/content/components/BackspaceKey.qml b/src/virtualkeyboard/content/components/BackspaceKey.qml
deleted file mode 100644
index 126f6e2c..00000000
--- a/src/virtualkeyboard/content/components/BackspaceKey.qml
+++ /dev/null
@@ -1,49 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2016 The Qt Company Ltd.
-** Contact: https://www.qt.io/licensing/
-**
-** This file is part of the Qt Virtual Keyboard module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:GPL$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see https://www.qt.io/terms-conditions. For further
-** information use the contact form at https://www.qt.io/contact-us.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 3 or (at your option) any later version
-** approved by the KDE Free Qt Foundation. The licenses are as published by
-** the Free Software Foundation and appearing in the file LICENSE.GPL3
-** included in the packaging of this file. Please review the following
-** information to ensure the GNU General Public License requirements will
-** be met: https://www.gnu.org/licenses/gpl-3.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-import QtQuick 2.0
-
-/*!
- \qmltype BackspaceKey
- \inqmlmodule QtQuick.VirtualKeyboard
- \ingroup qtvirtualkeyboard-qml
- \inherits BaseKey
-
- \brief Backspace key for keyboard layouts.
-
- Sends a backspace key for input method processing.
- This key is repeatable.
-*/
-
-BaseKey {
- key: Qt.Key_Backspace
- repeat: true
- functionKey: true
- keyPanelDelegate: keyboard.style ? keyboard.style.backspaceKeyPanel : undefined
-}
diff --git a/src/virtualkeyboard/content/components/BaseKey.qml b/src/virtualkeyboard/content/components/BaseKey.qml
deleted file mode 100644
index ae3b530f..00000000
--- a/src/virtualkeyboard/content/components/BaseKey.qml
+++ /dev/null
@@ -1,250 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2016 The Qt Company Ltd.
-** Contact: https://www.qt.io/licensing/
-**
-** This file is part of the Qt Virtual Keyboard module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:GPL$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see https://www.qt.io/terms-conditions. For further
-** information use the contact form at https://www.qt.io/contact-us.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 3 or (at your option) any later version
-** approved by the KDE Free Qt Foundation. The licenses are as published by
-** the Free Software Foundation and appearing in the file LICENSE.GPL3
-** included in the packaging of this file. Please review the following
-** information to ensure the GNU General Public License requirements will
-** be met: https://www.gnu.org/licenses/gpl-3.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-import QtQuick 2.0
-import QtQuick.Layouts 1.0
-import QtQuick.VirtualKeyboard 2.1
-
-/*!
- \qmltype BaseKey
- \inqmlmodule QtQuick.VirtualKeyboard
- \ingroup qtvirtualkeyboard-qml
- \inherits Item
-
- \brief Common parent for all key types.
-
- BaseKey is a common type for all keys in keyboard layout.
-
- This type should not be used directly in the layouts. The specialized
- key types, such as Key or EnterKey should be used instead.
-*/
-
-Item {
- id: keyItem
-
- /*! Sets the key weight value which determines the relative size of the key.
-
- Use this property to change the key size in the layout.
-
- The default value is inherited from the parent element
- of the key in the layout hierarchy.
- */
- property real weight: parent.keyWeight
-
- /*! Sets the key text for input method processing.
-
- In most cases, this is the Unicode representation of the key code.
-
- The default value is an empty string.
- */
- property string text: ""
-
- /*! Sets the display text.
-
- This string is rendered in the keyboard layout.
-
- The default value is the key text.
- */
- property string displayText: text
-
- /*! \since QtQuick.VirtualKeyboard 2.0
-
- Sets the small text rendered in the corner of the key.
-
- The default value based on the default item in the effective alternative keys.
- */
- property string smallText: effectiveAlternativeKeys && effectiveAlternativeKeysHighlightIndex !== -1 ? effectiveAlternativeKeys[effectiveAlternativeKeysHighlightIndex] : ""
-
- /*! \since QtQuick.VirtualKeyboard 2.0
-
- Sets the visibility of small text.
-
- The default value is inherited from the parent.
- */
- property bool smallTextVisible: parent.smallTextVisible
-
- /*! Sets the list of alternative keys.
-
- This property can be set to a string, or a list of strings. If the value is
- a string, the alternative keys are presented as individual characters of
- that string. If the value is a list of strings, the list is used instead.
-
- The alternative keys are presented to the user by pressing and holding a key
- with this property set.
-
- \note If the alternative keys contains the key \c text, it will be filtered from
- the \c effectiveAlternativeKeys and its position will be used as an indicator
- for the highlighted item instead.
-
- The default is empty list.
- */
- property var alternativeKeys: []
-
- /*! \since QtQuick.VirtualKeyboard 2.0
-
- This property contains the effective alternative keys presented to user.
-
- The list is contains the items in the \c alternativeKeys excluding the \c text
- item.
- */
- readonly property var effectiveAlternativeKeys: {
- var textIndex = alternativeKeys.indexOf(text)
- if (textIndex == -1)
- return alternativeKeys
- return alternativeKeys.slice(0, textIndex).concat(alternativeKeys.slice(textIndex + 1))
- }
-
- /*! \since QtQuick.VirtualKeyboard 2.0
-
- This property contains the index of highlighted item in the \c effectiveAlternativeKeys.
-
- The index is calculated from the index of the key \c text in the \c alternativeKeys.
-
- For example, if the alternative keys contains "çcċčć" and the key \c text is "c",
- this index will become 1 and the effective alternative keys presented to user will
- be "ç[ċ]čć".
- */
- readonly property int effectiveAlternativeKeysHighlightIndex: {
- var index = alternativeKeys.indexOf(text)
- return index > 1 && (index + 1) == alternativeKeys.length ? alternativeKeys.length - 2 : index
- }
-
- /*! Sets the key code for input method processing.
-
- The default is Qt.Key_unknown.
- */
- property int key: Qt.Key_unknown
-
- /*! \since QtQuick.VirtualKeyboard 1.3
-
- This property controls whether the key emits key events for input
- method processing. When true, the key events are disabled.
-
- By default, the key event is emitted if the \e key is not unknown
- or the \e text is not empty.
- */
- property bool noKeyEvent: key === Qt.Key_unknown && text.length === 0
-
- /*! This property holds the active status of the key.
-
- This property is automatically set to true when the key is pressed.
- */
- property bool active: false
-
- /*! \since QtQuick.VirtualKeyboard 1.3
-
- Disables key modifiers on the emitted key.
-
- The default is false.
- */
- property bool noModifier: false
-
- /*! Sets the key repeat attribute.
-
- If the repeat is enabled, the key will repeat the input events while held down.
- The repeat should not be used if alternativeKeys is also set.
-
- The default is false.
- */
- property bool repeat: false
-
- /*! Sets the highlighted status of the key.
-
- The default is false.
- */
- property bool highlighted: false
-
- /*! Sets the function key attribute.
-
- The default is false.
- */
- property bool functionKey: false
-
- /*! Sets the show preview attribute.
-
- By default, the character preview popup is not shown for function keys.
- */
- property bool showPreview: enabled && !functionKey && !keyboard.navigationModeActive
-
- /*! This property holds the pressed status of the key.
-
- The pressed status can only be true if the key is both enabled and active.
- When the key state becomes pressed, it triggers a key down event for the
- input engine. A key up event is triggered when the key is released.
- */
- property bool pressed: enabled && active
-
- /*! This property holds the uppercase status of the key.
-
- By default, this property reflects the uppercase status of the keyboard.
- */
- property bool uppercased: InputContext.uppercase && !noModifier
-
- /*! Sets the key panel delegate for the key.
-
- This property is essential for key decoration. Without a key panel delegate,
- the key is invisible. This property should be assigned in the inherited key type.
- */
- property alias keyPanelDelegate: keyPanel.sourceComponent
-
- /*!
- \since QtQuick.VirtualKeyboard 1.1
-
- This property holds the sound effect to be played on key press.
-
- This property is read-only since the sound effects are defined in the keyboard style.
- */
- readonly property url soundEffect: keyPanel.item ? keyPanel.item.soundEffect : ""
-
- onSoundEffectChanged: keyboard.soundEffect.register(soundEffect)
-
- // QTBUG-54953, QTBUG-55773
- // Avoid a row that was hidden taking up the entire height of the
- // keyboard when it is made visible after the application has started.
- // This value is low because keys can scale vertically, and setting e.g. 40
- // pixels might be too high for a keyboard that doesn't have a lot of space.
- implicitHeight: 1
-
- Layout.minimumWidth: keyPanel.implicitWidth
- Layout.minimumHeight: keyPanel.implicitHeight
- Layout.preferredWidth: weight
- Layout.fillWidth: true
- Layout.fillHeight: true
-
- Loader {
- id: keyPanel
- anchors.fill: parent
- onStatusChanged: if (status == Loader.Ready) keyPanel.item.control = keyItem
- }
-
- /*! This signal is triggered when the key is pressed, allowing custom processing
- of key.
- */
- signal clicked
-}
diff --git a/src/virtualkeyboard/content/components/ChangeLanguageKey.qml b/src/virtualkeyboard/content/components/ChangeLanguageKey.qml
deleted file mode 100644
index 70e12fa4..00000000
--- a/src/virtualkeyboard/content/components/ChangeLanguageKey.qml
+++ /dev/null
@@ -1,79 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2016 The Qt Company Ltd.
-** Contact: https://www.qt.io/licensing/
-**
-** This file is part of the Qt Virtual Keyboard module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:GPL$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see https://www.qt.io/terms-conditions. For further
-** information use the contact form at https://www.qt.io/contact-us.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 3 or (at your option) any later version
-** approved by the KDE Free Qt Foundation. The licenses are as published by
-** the Free Software Foundation and appearing in the file LICENSE.GPL3
-** included in the packaging of this file. Please review the following
-** information to ensure the GNU General Public License requirements will
-** be met: https://www.gnu.org/licenses/gpl-3.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-import QtQuick 2.0
-import QtQuick.VirtualKeyboard 2.1
-import QtQuick.VirtualKeyboard.Styles 2.1
-
-/*!
- \qmltype ChangeLanguageKey
- \inqmlmodule QtQuick.VirtualKeyboard
- \ingroup qtvirtualkeyboard-qml
- \inherits BaseKey
-
- \brief Change language key for keyboard layouts.
-
- This key changes the current input language in the list of supported
- languages. The key has two function modes:
-
- \list
- \li Popup mode
- \li Toggle mode
- \endlist
-
- The popup mode is enabled by the \l {KeyboardStyle::languagePopupListEnabled} property.
- If enabled, a key press will open a popup list with available languages. Otherwise
- it will cycle to the next available input language.
-*/
-
-BaseKey {
- /*! If this property is true, the input language is only
- changed between the languages providing custom layout.
-
- For example, if only the English and Arabic languages
- provide digits layout, then other locales using the
- shared default layout are ignored.
-
- The default is false.
- */
- property bool customLayoutsOnly: false
-
- id: changeLanguageKey
- objectName: "changeLanguageKey"
- functionKey: true
- displayText: keyboard.locale.split("_")[0]
- keyPanelDelegate: keyboard.style ? keyboard.style.languageKeyPanel : undefined
- onClicked: {
- if (keyboard.style.languagePopupListEnabled)
- keyboard.showLanguagePopup(changeLanguageKey, false)
- else
- keyboard.changeInputLanguage(customLayoutsOnly)
- }
- enabled: keyboard.canChangeInputLanguage(customLayoutsOnly)
-}
diff --git a/src/virtualkeyboard/content/components/CharacterPreviewBubble.qml b/src/virtualkeyboard/content/components/CharacterPreviewBubble.qml
deleted file mode 100644
index ee70e110..00000000
--- a/src/virtualkeyboard/content/components/CharacterPreviewBubble.qml
+++ /dev/null
@@ -1,56 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2016 The Qt Company Ltd.
-** Contact: https://www.qt.io/licensing/
-**
-** This file is part of the Qt Virtual Keyboard module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:GPL$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see https://www.qt.io/terms-conditions. For further
-** information use the contact form at https://www.qt.io/contact-us.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 3 or (at your option) any later version
-** approved by the KDE Free Qt Foundation. The licenses are as published by
-** the Free Software Foundation and appearing in the file LICENSE.GPL3
-** included in the packaging of this file. Please review the following
-** information to ensure the GNU General Public License requirements will
-** be met: https://www.gnu.org/licenses/gpl-3.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-import QtQuick 2.0
-import QtQuick.VirtualKeyboard 2.1
-
-Item {
- property bool active
- property var activeKey: keyboard.activeKey
-
- visible: active && activeKey !== undefined && activeKey !== null && activeKey.showPreview
- z: 1
-
- Loader {
- id: characterPreview
- anchors.fill: parent
- sourceComponent: keyboard.style.characterPreviewDelegate
- }
-
- onActiveKeyChanged: {
- if (activeKey && characterPreview.item !== null) {
- characterPreview.item.text = InputContext.uppercase ? activeKey.displayText.toUpperCase() : activeKey.displayText
- width = activeKey.width
- height = activeKey.height
- var position = keyboard.mapFromItem(activeKey, 0, 0)
- x = position.x
- y = position.y - height - keyboard.style.characterPreviewMargin
- }
- }
-}
diff --git a/src/virtualkeyboard/content/components/EnterKey.qml b/src/virtualkeyboard/content/components/EnterKey.qml
deleted file mode 100644
index 9f7c04da..00000000
--- a/src/virtualkeyboard/content/components/EnterKey.qml
+++ /dev/null
@@ -1,57 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2016 The Qt Company Ltd.
-** Contact: https://www.qt.io/licensing/
-**
-** This file is part of the Qt Virtual Keyboard module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:GPL$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see https://www.qt.io/terms-conditions. For further
-** information use the contact form at https://www.qt.io/contact-us.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 3 or (at your option) any later version
-** approved by the KDE Free Qt Foundation. The licenses are as published by
-** the Free Software Foundation and appearing in the file LICENSE.GPL3
-** included in the packaging of this file. Please review the following
-** information to ensure the GNU General Public License requirements will
-** be met: https://www.gnu.org/licenses/gpl-3.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-import QtQuick 2.0
-import QtQuick.VirtualKeyboard 2.1
-
-/*!
- \qmltype EnterKey
- \inqmlmodule QtQuick.VirtualKeyboard
- \ingroup qtvirtualkeyboard-qml
- \inherits BaseKey
-
- \brief Enter key for keyboard layouts.
-
- Sends an enter key for input method processing.
-*/
-
-BaseKey {
- /*! This property holds the action id for the enter key.
-
- */
- readonly property int actionId: InputContext.priv.hasEnterKeyAction(InputContext.priv.inputItem) ? InputContext.priv.inputItem.EnterKeyAction.actionId : EnterKeyAction.None
-
- text: "\n"
- displayText: InputContext.priv.hasEnterKeyAction(InputContext.priv.inputItem) ? InputContext.priv.inputItem.EnterKeyAction.label : ""
- key: Qt.Key_Return
- showPreview: false
- highlighted: enabled && displayText.length > 0
- enabled: InputContext.priv.hasEnterKeyAction(InputContext.priv.inputItem) ? InputContext.priv.inputItem.EnterKeyAction.enabled : true
- keyPanelDelegate: keyboard.style ? keyboard.style.enterKeyPanel : undefined
-}
diff --git a/src/virtualkeyboard/content/components/FillerKey.qml b/src/virtualkeyboard/content/components/FillerKey.qml
deleted file mode 100644
index b06d4aed..00000000
--- a/src/virtualkeyboard/content/components/FillerKey.qml
+++ /dev/null
@@ -1,45 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2016 The Qt Company Ltd.
-** Contact: https://www.qt.io/licensing/
-**
-** This file is part of the Qt Virtual Keyboard module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:GPL$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see https://www.qt.io/terms-conditions. For further
-** information use the contact form at https://www.qt.io/contact-us.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 3 or (at your option) any later version
-** approved by the KDE Free Qt Foundation. The licenses are as published by
-** the Free Software Foundation and appearing in the file LICENSE.GPL3
-** included in the packaging of this file. Please review the following
-** information to ensure the GNU General Public License requirements will
-** be met: https://www.gnu.org/licenses/gpl-3.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-import QtQuick 2.0
-
-/*!
- \qmltype FillerKey
- \inqmlmodule QtQuick.VirtualKeyboard
- \ingroup qtvirtualkeyboard-qml
- \inherits BaseKey
-
- \brief Filler key for keyboard layouts.
-
- This key can be used as a filler in the keyboard layout.
-*/
-
-BaseKey {
- showPreview: false
-}
diff --git a/src/virtualkeyboard/content/components/HandwritingModeKey.qml b/src/virtualkeyboard/content/components/HandwritingModeKey.qml
deleted file mode 100644
index 815d89db..00000000
--- a/src/virtualkeyboard/content/components/HandwritingModeKey.qml
+++ /dev/null
@@ -1,54 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2016 The Qt Company Ltd.
-** Contact: https://www.qt.io/licensing/
-**
-** This file is part of the Qt Virtual Keyboard module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:GPL$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see https://www.qt.io/terms-conditions. For further
-** information use the contact form at https://www.qt.io/contact-us.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 3 or (at your option) any later version
-** approved by the KDE Free Qt Foundation. The licenses are as published by
-** the Free Software Foundation and appearing in the file LICENSE.GPL3
-** included in the packaging of this file. Please review the following
-** information to ensure the GNU General Public License requirements will
-** be met: https://www.gnu.org/licenses/gpl-3.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-import QtQuick 2.0
-
-/*!
- \qmltype HandwritingModeKey
- \inqmlmodule QtQuick.VirtualKeyboard
- \ingroup qtvirtualkeyboard-qml
- \inherits Key
- \since QtQuick.VirtualKeyboard 2.0
-
- \brief Hand writing mode key for keyboard layouts.
-
- This key toggles between the handwriting mode layout and the main layout.
-
- The key is automatically hidden from the keyboard layout if handwriting support
- is not enabled for the virtual keyboard.
-*/
-
-Key {
- key: Qt.Key_Context2
- displayText: "HWR"
- functionKey: true
- visible: keyboard.isHandwritingAvailable()
- onClicked: keyboard.setHandwritingMode(!keyboard.handwritingMode)
- keyPanelDelegate: keyboard.style ? keyboard.style.handwritingKeyPanel : undefined
-}
diff --git a/src/virtualkeyboard/content/components/HideKeyboardKey.qml b/src/virtualkeyboard/content/components/HideKeyboardKey.qml
deleted file mode 100644
index ab38fbc2..00000000
--- a/src/virtualkeyboard/content/components/HideKeyboardKey.qml
+++ /dev/null
@@ -1,48 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2016 The Qt Company Ltd.
-** Contact: https://www.qt.io/licensing/
-**
-** This file is part of the Qt Virtual Keyboard module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:GPL$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see https://www.qt.io/terms-conditions. For further
-** information use the contact form at https://www.qt.io/contact-us.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 3 or (at your option) any later version
-** approved by the KDE Free Qt Foundation. The licenses are as published by
-** the Free Software Foundation and appearing in the file LICENSE.GPL3
-** included in the packaging of this file. Please review the following
-** information to ensure the GNU General Public License requirements will
-** be met: https://www.gnu.org/licenses/gpl-3.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-import QtQuick 2.0
-import QtQuick.VirtualKeyboard 2.1
-
-/*!
- \qmltype HideKeyboardKey
- \inqmlmodule QtQuick.VirtualKeyboard
- \ingroup qtvirtualkeyboard-qml
- \inherits BaseKey
-
- \brief Hide keyboard key for keyboard layouts.
-
- This key hides the keyboard from the user when pressed.
-*/
-
-BaseKey {
- functionKey: true
- onClicked: InputContext.priv.hideInputPanel()
- keyPanelDelegate: keyboard.style ? keyboard.style.hideKeyPanel : undefined
-}
diff --git a/src/virtualkeyboard/content/components/InputModeKey.qml b/src/virtualkeyboard/content/components/InputModeKey.qml
deleted file mode 100644
index f7b31b9b..00000000
--- a/src/virtualkeyboard/content/components/InputModeKey.qml
+++ /dev/null
@@ -1,123 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2017 The Qt Company Ltd.
-** Contact: https://www.qt.io/licensing/
-**
-** This file is part of the Qt Virtual Keyboard module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:GPL$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see https://www.qt.io/terms-conditions. For further
-** information use the contact form at https://www.qt.io/contact-us.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 3 or (at your option) any later version
-** approved by the KDE Free Qt Foundation. The licenses are as published by
-** the Free Software Foundation and appearing in the file LICENSE.GPL3
-** included in the packaging of this file. Please review the following
-** information to ensure the GNU General Public License requirements will
-** be met: https://www.gnu.org/licenses/gpl-3.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-import QtQuick 2.0
-import QtQuick.VirtualKeyboard 2.3
-
-/*!
- \qmltype InputModeKey
- \inqmlmodule QtQuick.VirtualKeyboard
- \ingroup qtvirtualkeyboard-qml
- \inherits Key
- \since QtQuick.VirtualKeyboard 2.3
-
- \brief Input mode key for keyboard layouts.
-
- This key toggles between available \l {QVirtualKeyboardInputEngine::inputModes} {InputEngine.inputModes}.
-*/
-
-Key {
- key: Qt.Key_Mode_switch
- noKeyEvent: true
- functionKey: true
- text: InputContext.inputEngine.inputMode < inputModeNameList.length ?
- inputModeNameList[InputContext.inputEngine.inputMode] : "ABC"
- onClicked: InputContext.inputEngine.inputMode = __nextInputMode(InputContext.inputEngine.inputMode)
- keyPanelDelegate: keyboard.style ? keyboard.style.symbolKeyPanel : undefined
- enabled: inputModeCount > 1
-
- /*!
- List of input mode names.
-
- The default list contains all known input modes for \l {QVirtualKeyboardInputEngine::inputMode} {InputEngine.inputMode}.
- */
- property var inputModeNameList: [
- "ABC", // InputEngine.InputMode.Latin
- "123", // InputEngine.InputMode.Numeric
- "123", // InputEngine.InputMode.Dialable
- "拼音", // InputEngine.InputMode.Pinyin
- "倉頡", // InputEngine.InputMode.Cangjie
- "注音", // InputEngine.InputMode.Zhuyin
- "한글", // InputEngine.InputMode.Hangul
- "あ", // InputEngine.InputMode.Hiragana
- "カ", // InputEngine.InputMode.Katakana
- "全角", // InputEngine.InputMode.FullwidthLatin
- "ΑΒΓ", // InputEngine.InputMode.Greek
- "АБВ", // InputEngine.InputMode.Cyrillic
- "\u0623\u200C\u0628\u200C\u062C", // InputEngine.InputMode.Arabic
- "\u05D0\u05D1\u05D2", // InputEngine.InputMode.Hebrew
- "中文", // InputEngine.InputMode.ChineseHandwriting
- "日本語", // InputEngine.InputMode.JapaneseHandwriting
- "한국어", // InputEngine.InputMode.KoreanHandwriting
- "กขค", // InputEngine.InputMode.Thai
- ]
-
- /*!
- List of input modes to toggle.
-
- This property allows to define a custom list of input modes to
- toggle.
-
- The default list contains all the available input modes.
- */
- property var inputModes: InputContext.inputEngine.inputModes
-
- /*!
- This read-only property reflects the actual number of input modes
- the user can cycle through this key.
- */
- readonly property int inputModeCount: __inputModes !== undefined ? __inputModes.length : 0
-
- property var __inputModes: __filterInputModes([].concat(InputContext.inputEngine.inputModes), inputModes)
-
- onInputModesChanged: {
- // Check that the current input mode is included in our list
- if (keyboard.active && InputContext.inputEngine.inputMode !== -1 &&
- __inputModes !== undefined && __inputModes.length > 0 &&
- __inputModes.indexOf(InputContext.inputEngine.inputMode) === -1)
- InputContext.inputEngine.inputMode = __inputModes[0]
- }
-
- function __nextInputMode(inputMode) {
- if (!enabled)
- return inputMode
- var inputModeIndex = __inputModes.indexOf(inputMode) + 1
- if (inputModeIndex >= __inputModes.length)
- inputModeIndex = 0
- return __inputModes[inputModeIndex]
- }
-
- function __filterInputModes(inputModes, filter) {
- for (var i = 0; i < inputModes.length; i++) {
- if (filter.indexOf(inputModes[i]) === -1)
- inputModes.splice(i, 1)
- }
- return inputModes
- }
-}
diff --git a/src/virtualkeyboard/content/components/Key.qml b/src/virtualkeyboard/content/components/Key.qml
deleted file mode 100644
index 5a376310..00000000
--- a/src/virtualkeyboard/content/components/Key.qml
+++ /dev/null
@@ -1,47 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2016 The Qt Company Ltd.
-** Contact: https://www.qt.io/licensing/
-**
-** This file is part of the Qt Virtual Keyboard module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:GPL$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see https://www.qt.io/terms-conditions. For further
-** information use the contact form at https://www.qt.io/contact-us.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 3 or (at your option) any later version
-** approved by the KDE Free Qt Foundation. The licenses are as published by
-** the Free Software Foundation and appearing in the file LICENSE.GPL3
-** included in the packaging of this file. Please review the following
-** information to ensure the GNU General Public License requirements will
-** be met: https://www.gnu.org/licenses/gpl-3.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-import QtQuick 2.0
-
-/*!
- \qmltype Key
- \inqmlmodule QtQuick.VirtualKeyboard
- \ingroup qtvirtualkeyboard-qml
- \inherits BaseKey
-
- \brief Regular character key for keyboard layouts.
-
- This key emits the key code and key text for input method processing.
-*/
-
-BaseKey {
- id: keyItem
- key: !functionKey && text.length > 0 ? text.toUpperCase().charCodeAt(0) : Qt.Key_unknown
- keyPanelDelegate: keyboard.style ? keyboard.style.keyPanel : undefined
-}
diff --git a/src/virtualkeyboard/content/components/Keyboard.qml b/src/virtualkeyboard/content/components/Keyboard.qml
deleted file mode 100644
index d6073d4e..00000000
--- a/src/virtualkeyboard/content/components/Keyboard.qml
+++ /dev/null
@@ -1,1643 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2016 The Qt Company Ltd.
-** Contact: https://www.qt.io/licensing/
-**
-** This file is part of the Qt Virtual Keyboard module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:GPL$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see https://www.qt.io/terms-conditions. For further
-** information use the contact form at https://www.qt.io/contact-us.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 3 or (at your option) any later version
-** approved by the KDE Free Qt Foundation. The licenses are as published by
-** the Free Software Foundation and appearing in the file LICENSE.GPL3
-** included in the packaging of this file. Please review the following
-** information to ensure the GNU General Public License requirements will
-** be met: https://www.gnu.org/licenses/gpl-3.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-import QtQuick 2.0
-// Deliberately imported after QtQuick to avoid missing restoreMode property in Binding. Fix in Qt 6.
-import QtQml 2.14
-import QtQuick.Layouts 1.0
-import QtQuick.Window 2.2
-import QtQuick.VirtualKeyboard 2.3
-import QtQuick.VirtualKeyboard.Styles 2.1
-import QtQuick.VirtualKeyboard.Settings 2.2
-import QtQuick.VirtualKeyboard.Plugins 2.3
-import Qt.labs.folderlistmodel 2.0
-
-Item {
- id: keyboard
- objectName: "keyboard"
-
- property alias style: styleLoader.item
- property alias wordCandidateView: wordCandidateView
- property alias shadowInputControl: shadowInputControl
- property var activeKey: null
- property TouchPoint activeTouchPoint
- property int localeIndex: -1
- property var availableLocaleIndices: []
- property var availableCustomLocaleIndices: []
- property string locale: localeIndex >= 0 && localeIndex < layoutsModel.count ? layoutsModel.get(localeIndex, "fileName") : ""
- property string inputLocale
- property int defaultLocaleIndex: -1
- readonly property bool latinOnly: InputContext.inputMethodHints & (Qt.ImhLatinOnly | Qt.ImhEmailCharactersOnly | Qt.ImhUrlCharactersOnly)
- readonly property bool preferNumbers: InputContext.inputMethodHints & Qt.ImhPreferNumbers
- readonly property bool dialableCharactersOnly: InputContext.inputMethodHints & Qt.ImhDialableCharactersOnly
- readonly property bool formattedNumbersOnly: InputContext.inputMethodHints & Qt.ImhFormattedNumbersOnly
- readonly property bool digitsOnly: InputContext.inputMethodHints & Qt.ImhDigitsOnly
- property string layout
- property string layoutType: {
- if (keyboard.handwritingMode) return "handwriting"
- if (keyboard.dialableCharactersOnly) return "dialpad"
- if (keyboard.formattedNumbersOnly) return "numbers"
- if (keyboard.digitsOnly) return "digits"
- if (keyboard.symbolMode) return "symbols"
- return "main"
- }
- property bool active: Qt.inputMethod.visible
- property bool handwritingMode
- property bool fullScreenHandwritingMode
- property bool symbolMode
- property bool fullScreenMode: VirtualKeyboardSettings.fullScreenMode
- property var defaultInputMethod: initDefaultInputMethod()
- property var plainInputMethod: PlainInputMethod {}
- property var customInputMethod: null
- property var customInputMethodSharedLayouts: []
- property int defaultInputMode: InputEngine.InputMode.Latin
- property bool inputMethodNeedsReset: true
- property bool inputModeNeedsReset: true
- property bool navigationModeActive: false
- readonly property bool languagePopupListActive: languagePopupList.enabled
- property alias soundEffect: soundEffect
-
- function initDefaultInputMethod() {
- try {
- return Qt.createQmlObject('import QtQuick 2.0; import QtQuick.VirtualKeyboard.Plugins 2.3; DefaultInputMethod {}', keyboard, "defaultInputMethod")
- } catch (e) { }
- return plainInputMethod
- }
-
- Component.onCompleted: InputContext.priv.registerInputPanel(parent)
-
- width: keyboardBackground.width
- height: keyboardBackground.height + (VirtualKeyboardSettings.wordCandidateList.alwaysVisible ? wordCandidateView.height : 0)
- onActiveChanged: {
- hideLanguagePopup()
- if (active && symbolMode && !preferNumbers)
- symbolMode = false
- keyboardInputArea.reset()
- wordCandidateViewAutoHideTimer.stop()
- }
- onActiveKeyChanged: {
- if (InputContext.inputEngine.activeKey !== Qt.Key_unknown)
- InputContext.inputEngine.virtualKeyCancel()
- }
- Connections {
- target: VirtualKeyboardSettings
- function onLocaleChanged() {
- updateDefaultLocale()
- localeIndex = defaultLocaleIndex
- }
- function onActiveLocalesChanged() {
- updateDefaultLocale()
- if (!isValidLocale(localeIndex) || VirtualKeyboardSettings.locale)
- localeIndex = defaultLocaleIndex
- }
- function onFullScreenModeChanged() {
- wordCandidateView.disableAnimation = VirtualKeyboardSettings.fullScreenMode
- keyboard.fullScreenMode = VirtualKeyboardSettings.fullScreenMode
- }
- }
- onAvailableLocaleIndicesChanged: hideLanguagePopup()
- onAvailableCustomLocaleIndicesChanged: hideLanguagePopup()
- onLocaleChanged: {
- hideLanguagePopup()
- inputMethodNeedsReset = true
- inputModeNeedsReset = true
- updateLayout()
- }
- onInputLocaleChanged: {
- if (Qt.locale(inputLocale).name !== "C")
- InputContext.priv.locale = inputLocale
- }
- onLayoutChanged: hideLanguagePopup()
- onLayoutTypeChanged: {
- updateAvailableLocaleIndices()
- updateLayout()
- }
- onLatinOnlyChanged: inputModeNeedsReset = true
- onPreferNumbersChanged: {
- keyboard.symbolMode = !keyboard.handwritingMode && preferNumbers
- inputModeNeedsReset = true
- }
- onDialableCharactersOnlyChanged: inputModeNeedsReset = true
- onFormattedNumbersOnlyChanged: inputModeNeedsReset = true
- onDigitsOnlyChanged: inputModeNeedsReset = true
- onHandwritingModeChanged: if (!keyboard.handwritingMode) keyboard.fullScreenHandwritingMode = false
- onFullScreenHandwritingModeChanged: if (keyboard.fullScreenHandwritingMode) keyboard.handwritingMode = true
- onLanguagePopupListActiveChanged: {
- if (languagePopupListActive && navigationModeActive)
- keyboardInputArea.initialKey = null
- }
-
- Connections {
- target: InputContext
- function onInputMethodHintsChanged() {
- if (InputContext.priv.focus)
- updateInputMethod()
- }
- }
- Connections {
- target: InputContext.priv
- function onInputItemChanged() {
- keyboard.hideLanguagePopup()
- if (active && symbolMode && !preferNumbers)
- symbolMode = false
- }
- function onFocusChanged() {
- if (InputContext.priv.focus)
- updateInputMethod()
- }
- function onNavigationKeyPressed(key, isAutoRepeat) {
- var initialKey
- var direction = wordCandidateView.effectiveLayoutDirection == Qt.LeftToRight ? 1 : -1
- switch (key) {
- case Qt.Key_Left:
- if (keyboard.navigationModeActive && !keyboardInputArea.initialKey) {
- if (languagePopupListActive) {
- hideLanguagePopup()
- keyboardInputArea.setActiveKey(null)
- keyboardInputArea.navigateToNextKey(0, 0, false)
- break
- }
- if (alternativeKeys.active) {
- if (alternativeKeys.listView.currentIndex > 0) {
- alternativeKeys.listView.decrementCurrentIndex()
- } else {
- alternativeKeys.close()
- keyboardInputArea.setActiveKey(null)
- keyboardInputArea.navigateToNextKey(0, 0, false)
- }
- break
- }
- if (wordCandidateContextMenu.active) {
- hideWordCandidateContextMenu()
- break
- }
- if (wordCandidateView.count) {
- if (wordCandidateView.effectiveLayoutDirection == Qt.LeftToRight &&
- wordCandidateView.currentIndex > 0) {
- wordCandidateView.decrementCurrentIndex()
- } else if (wordCandidateView.effectiveLayoutDirection == Qt.RightToLeft &&
- wordCandidateView.currentIndex + 1 < wordCandidateView.count) {
- wordCandidateView.incrementCurrentIndex()
- } else {
- keyboardInputArea.navigateToNextKey(0, 0, false)
- initialKey = keyboardInputArea.initialKey
- while (keyboardInputArea.navigateToNextKey(0, 1 * direction, false))
- initialKey = keyboardInputArea.initialKey
- while (keyboardInputArea.navigateToNextKey(1, 0, false))
- initialKey = keyboardInputArea.initialKey
- keyboardInputArea.initialKey = initialKey
- keyboardInputArea.navigateToNextKey(0, 0, false)
- }
- break
- }
- }
- initialKey = keyboardInputArea.initialKey
- if (!keyboardInputArea.navigateToNextKey(-1, 0, false)) {
- keyboardInputArea.initialKey = initialKey
- if (!keyboardInputArea.navigateToNextKey(0, -1 * direction, false)) {
- if (wordCandidateView.count) {
- if (wordCandidateView.count) {
- wordCandidateView.currentIndex =
- wordCandidateView.effectiveLayoutDirection == Qt.LeftToRight ?
- (wordCandidateView.count - 1) : 0
- break
- }
- break
- }
- keyboardInputArea.initialKey = initialKey
- keyboardInputArea.navigateToNextKey(0, -1 * direction, true)
- }
- keyboardInputArea.navigateToNextKey(-1, 0, true)
- }
- break
- case Qt.Key_Up:
- if (languagePopupListActive) {
- if (languagePopupList.currentIndex > 0) {
- languagePopupList.decrementCurrentIndex()
- } else if (languagePopupList.keyNavigationWraps) {
- languagePopupList.currentIndex = languagePopupList.count - 1
- } else {
- hideLanguagePopup()
- keyboardInputArea.setActiveKey(null)
- keyboardInputArea.navigateToNextKey(0, 0, false)
- }
- } else if (alternativeKeys.active) {
- alternativeKeys.close()
- keyboardInputArea.setActiveKey(null)
- keyboardInputArea.navigateToNextKey(0, 0, false)
- } else if (wordCandidateContextMenu.active) {
- if (wordCandidateContextMenuList.currentIndex > 0) {
- wordCandidateContextMenuList.decrementCurrentIndex()
- } else if (wordCandidateContextMenuList.keyNavigationWraps && wordCandidateContextMenuList.count > 1) {
- wordCandidateContextMenuList.currentIndex = wordCandidateContextMenuList.count - 1
- } else {
- hideWordCandidateContextMenu()
- }
- } else if (keyboard.navigationModeActive && !keyboardInputArea.initialKey && wordCandidateView.count) {
- keyboardInputArea.navigateToNextKey(0, 0, false)
- initialKey = keyboardInputArea.initialKey
- if (!keyboardInputArea.navigateToNextKey(0, -1, false)) {
- keyboardInputArea.initialKey = initialKey
- keyboardInputArea.navigateToNextKey(0, -1, true)
- } else {
- keyboardInputArea.navigateToNextKey(0, 1, false)
- }
- } else if (!keyboardInputArea.navigateToNextKey(0, -1, !keyboard.navigationModeActive || !keyboardInputArea.initialKey || wordCandidateView.count == 0)) {
- if (wordCandidateView.currentIndex === -1)
- wordCandidateView.incrementCurrentIndex()
- }
- break
- case Qt.Key_Right:
- if (keyboard.navigationModeActive && !keyboardInputArea.initialKey) {
- if (languagePopupListActive) {
- hideLanguagePopup()
- keyboardInputArea.setActiveKey(null)
- keyboardInputArea.navigateToNextKey(0, 0, false)
- break
- }
- if (alternativeKeys.active) {
- if (alternativeKeys.listView.currentIndex + 1 < alternativeKeys.listView.count) {
- alternativeKeys.listView.incrementCurrentIndex()
- } else {
- alternativeKeys.close()
- keyboardInputArea.setActiveKey(null)
- keyboardInputArea.navigateToNextKey(0, 0, false)
- }
- break
- }
- if (wordCandidateContextMenu.active) {
- hideWordCandidateContextMenu()
- break
- }
- if (wordCandidateView.count) {
- if (wordCandidateView.effectiveLayoutDirection == Qt.LeftToRight &&
- wordCandidateView.currentIndex + 1 < wordCandidateView.count) {
- wordCandidateView.incrementCurrentIndex()
- } else if (wordCandidateView.effectiveLayoutDirection == Qt.RightToLeft &&
- wordCandidateView.currentIndex > 0) {
- wordCandidateView.decrementCurrentIndex()
- } else {
- keyboardInputArea.navigateToNextKey(0, 0, false)
- initialKey = keyboardInputArea.initialKey
- while (keyboardInputArea.navigateToNextKey(0, -1 * direction, false))
- initialKey = keyboardInputArea.initialKey;
- while (keyboardInputArea.navigateToNextKey(-1, 0, false))
- initialKey = keyboardInputArea.initialKey;
- keyboardInputArea.initialKey = initialKey
- keyboardInputArea.navigateToNextKey(0, 0, false)
- }
- break
- }
- }
- initialKey = keyboardInputArea.initialKey
- if (!keyboardInputArea.navigateToNextKey(1, 0, false)) {
- keyboardInputArea.initialKey = initialKey
- if (!keyboardInputArea.navigateToNextKey(0, 1 * direction, false)) {
- if (wordCandidateView.count) {
- wordCandidateView.currentIndex =
- wordCandidateView.effectiveLayoutDirection == Qt.LeftToRight ?
- 0 : (wordCandidateView.count - 1)
- break
- }
- keyboardInputArea.initialKey = initialKey
- keyboardInputArea.navigateToNextKey(0, 1 * direction, true)
- }
- keyboardInputArea.navigateToNextKey(1, 0, true)
- }
- break
- case Qt.Key_Down:
- if (languagePopupListActive) {
- if (languagePopupList.currentIndex + 1 < languagePopupList.count) {
- languagePopupList.incrementCurrentIndex()
- } else if (languagePopupList.keyNavigationWraps) {
- languagePopupList.currentIndex = 0
- } else {
- hideLanguagePopup()
- keyboardInputArea.setActiveKey(null)
- keyboardInputArea.navigateToNextKey(0, 0, false)
- }
- } else if (alternativeKeys.active) {
- alternativeKeys.close()
- keyboardInputArea.setActiveKey(null)
- keyboardInputArea.navigateToNextKey(0, 0, false)
- } else if (wordCandidateContextMenu.active) {
- if (wordCandidateContextMenuList.currentIndex + 1 < wordCandidateContextMenuList.count) {
- wordCandidateContextMenuList.incrementCurrentIndex()
- } else if (wordCandidateContextMenuList.keyNavigationWraps && wordCandidateContextMenuList.count > 1) {
- wordCandidateContextMenuList.currentIndex = 0
- } else {
- hideWordCandidateContextMenu()
- keyboardInputArea.setActiveKey(null)
- keyboardInputArea.navigateToNextKey(0, 0, false)
- }
- } else if (keyboard.navigationModeActive && !keyboardInputArea.initialKey && wordCandidateView.count) {
- keyboardInputArea.navigateToNextKey(0, 0, false)
- initialKey = keyboardInputArea.initialKey
- if (!keyboardInputArea.navigateToNextKey(0, 1, false)) {
- keyboardInputArea.initialKey = initialKey
- keyboardInputArea.navigateToNextKey(0, 1, true)
- } else {
- keyboardInputArea.navigateToNextKey(0, -1, false)
- }
- } else if (!keyboardInputArea.navigateToNextKey(0, 1, !keyboard.navigationModeActive || !keyboardInputArea.initialKey || wordCandidateView.count == 0)) {
- if (wordCandidateView.currentIndex === -1)
- wordCandidateView.incrementCurrentIndex()
- }
- break
- case Qt.Key_Return:
- if (!keyboard.navigationModeActive)
- break
- if (languagePopupListActive) {
- if (!isAutoRepeat) {
- languagePopupList.model.selectItem(languagePopupList.currentIndex)
- keyboardInputArea.reset()
- keyboardInputArea.navigateToNextKey(0, 0, false)
- }
- } else if (keyboardInputArea.initialKey) {
- if (!isAutoRepeat) {
- pressAndHoldTimer.restart()
- keyboardInputArea.setActiveKey(keyboardInputArea.initialKey)
- keyboardInputArea.press(keyboardInputArea.initialKey, true)
- }
- } else if (!wordCandidateContextMenu.active && wordCandidateView.count > 0) {
- if (!isAutoRepeat) {
- pressAndHoldTimer.restart()
- }
- }
- break
- default:
- break
- }
- }
- function onNavigationKeyReleased(key, isAutoRepeat) {
- switch (key) {
- case Qt.Key_Return:
- if (!keyboard.navigationModeActive) {
- if (languagePopupListActive)
- languagePopupList.model.selectItem(languagePopupList.currentIndex)
- break
- }
- if (isAutoRepeat)
- break
- if (!languagePopupListActive && !alternativeKeys.active && !wordCandidateContextMenu.active && keyboard.activeKey) {
- keyboardInputArea.release(keyboard.activeKey)
- pressAndHoldTimer.stop()
- alternativeKeys.close()
- keyboardInputArea.setActiveKey(null)
- if (!languagePopupListActive && keyboardInputArea.navigationCursor !== Qt.point(-1, -1))
- keyboardInputArea.navigateToNextKey(0, 0, false)
- } else if (wordCandidateContextMenu.active) {
- if (!wordCandidateContextMenu.openedByNavigationKeyLongPress) {
- wordCandidateContextMenu.selectCurrentItem()
- keyboardInputArea.navigateToNextKey(0, 0, false)
- } else {
- wordCandidateContextMenu.openedByNavigationKeyLongPress = false
- }
- } else if (alternativeKeys.active) {
- if (!alternativeKeys.openedByNavigationKeyLongPress) {
- alternativeKeys.clicked()
- alternativeKeys.close()
- keyboardInputArea.navigateToNextKey(0, 0, false)
- keyboardInputArea.reset()
- } else {
- alternativeKeys.openedByNavigationKeyLongPress = false
- }
- } else if (!wordCandidateContextMenu.active && wordCandidateView.count > 0) {
- wordCandidateView.model.selectItem(wordCandidateView.currentIndex)
- if (!InputContext.preeditText.length)
- keyboardInputArea.navigateToNextKey(0, 1, true)
- }
- break
- default:
- break
- }
- }
- }
- Connections {
- target: InputContext.inputEngine
- function onVirtualKeyClicked(key, text, modifiers, isAutoRepeat) {
- if (isAutoRepeat && keyboard.activeKey)
- soundEffect.play(keyboard.activeKey.soundEffect)
- if (key !== Qt.Key_unknown && keyboardInputArea.dragSymbolMode) {
- keyboardInputArea.dragSymbolMode = false
- keyboard.symbolMode = false
- } else if (key === Qt.Key_Space) {
- var surroundingText = InputContext.surroundingText.trim()
- if (InputContext.priv.shiftHandler.sentenceEndingCharacters.indexOf(surroundingText.charAt(surroundingText.length-1)) >= 0)
- keyboard.symbolMode = false
- }
- }
- }
- FolderListModel {
- id: layoutsModel
- nameFilters: ["$"]
- folder: VirtualKeyboardSettings.layoutPath
- }
- Connections {
- target: layoutsModel
- function onCountChanged() {
- updateDefaultLocale()
- localeIndex = defaultLocaleIndex
- }
- }
- AlternativeKeys {
- id: alternativeKeys
- objectName: "alternativeKeys"
- // Add some extra margin for decoration
- property real horizontalMargin: style.alternateKeysListItemWidth
- property real verticalMargin: style.alternateKeysListItemHeight
- property rect previewRect: Qt.rect(keyboard.x + alternativeKeys.listView.x - horizontalMargin,
- keyboard.y + alternativeKeys.listView.y - verticalMargin,
- alternativeKeys.listView.width + horizontalMargin * 2,
- alternativeKeys.listView.height + verticalMargin * 2)
- property bool openedByNavigationKeyLongPress
- onVisibleChanged: {
- if (visible)
- InputContext.priv.previewRectangle = Qt.binding(function() {return previewRect})
- else
- openedByNavigationKeyLongPress = false
- InputContext.priv.previewVisible = visible
- }
- }
- Timer {
- id: pressAndHoldTimer
- interval: 800
- onTriggered: {
- if (keyboard.activeKey && keyboard.activeKey === keyboardInputArea.initialKey) {
- var origin = keyboard.mapFromItem(activeKey, activeKey.width / 2, 0)
- if (alternativeKeys.open(keyboard.activeKey, origin.x, origin.y)) {
- InputContext.inputEngine.virtualKeyCancel()
- keyboardInputArea.initialKey = null
- alternativeKeys.openedByNavigationKeyLongPress = keyboard.navigationModeActive
- } else if (keyboard.activeKey.key === Qt.Key_Context1 && !keyboard.symbolMode) {
- InputContext.inputEngine.virtualKeyCancel()
- keyboardInputArea.dragSymbolMode = true
- keyboard.symbolMode = true
- keyboardInputArea.initialKey = null
- if (keyboardInputArea.navigationCursor !== Qt.point(-1, -1))
- keyboardInputArea.navigateToNextKey(0, 0, false)
- }
- } else if (keyboardInputArea.dragSymbolMode &&
- keyboard.activeKey &&
- keyboard.activeKey.functionKey &&
- !keyboard.activeKey.repeat) {
- InputContext.inputEngine.virtualKeyCancel()
- keyboardInputArea.click(keyboard.activeKey)
- keyboardInputArea.initialKey = null
- if (keyboardInputArea.navigationCursor !== Qt.point(-1, -1))
- keyboardInputArea.navigateToNextKey(0, 0, false)
- } else if (!wordCandidateContextMenu.active) {
- wordCandidateContextMenu.show(wordCandidateView.currentIndex)
- wordCandidateContextMenu.openedByNavigationKeyLongPress = keyboard.navigationModeActive
- }
- }
- }
- Timer {
- id: releaseInaccuracyTimer
- interval: 500
- onTriggered: {
- if (keyboardInputArea.pressed && activeTouchPoint && !alternativeKeys.active && !keyboardInputArea.dragSymbolMode) {
- var key = keyboardInputArea.keyOnPoint(activeTouchPoint.x, activeTouchPoint.y)
- if (key !== keyboard.activeKey) {
- InputContext.inputEngine.virtualKeyCancel()
- keyboardInputArea.setActiveKey(key)
- keyboardInputArea.press(key, false)
- }
- }
- }
- }
- CharacterPreviewBubble {
- id: characterPreview
- objectName: "characterPreviewBubble"
- active: keyboardInputArea.pressed && !alternativeKeys.active
- property rect previewRect: Qt.rect(keyboard.x + characterPreview.x,
- keyboard.y + characterPreview.y,
- characterPreview.width,
- characterPreview.height)
- }
- Binding {
- target: InputContext.priv
- property: "previewRectangle"
- value: characterPreview.previewRect
- when: characterPreview.visible
- restoreMode: Binding.RestoreBinding
- }
- Binding {
- target: InputContext.priv
- property: "previewRectangle"
- value: languagePopupList.previewRect
- when: languagePopupListActive
- restoreMode: Binding.RestoreBinding
- }
- Binding {
- target: InputContext.priv
- property: "previewVisible"
- value: characterPreview.visible || languagePopupListActive
- restoreMode: Binding.RestoreBinding
- }
- Loader {
- id: styleLoader
- source: VirtualKeyboardSettings.style
- Binding {
- target: styleLoader.item
- property: "keyboardHeight"
- value: keyboardInnerContainer.height
- restoreMode: Binding.RestoreBinding
- }
- }
- Loader {
- id: naviationHighlight
- objectName: "naviationHighlight"
- property var highlightItem: {
- if (keyboard.navigationModeActive) {
- if (keyboardInputArea.initialKey) {
- return keyboardInputArea.initialKey
- } else if (languagePopupListActive) {
- return languagePopupList.highlightItem
- } else if (alternativeKeys.listView.count > 0) {
- return alternativeKeys.listView.highlightItem
- } else if (wordCandidateContextMenu.active) {
- return wordCandidateContextMenuList.highlightItem
- } else if (wordCandidateView.count > 0) {
- return wordCandidateView.highlightItem
- }
- }
- return keyboard
- }
- // Note: without "highlightItem.x - highlightItem.x" the binding does not work for alternativeKeys
- property var highlightItemOffset: highlightItem ? keyboard.mapFromItem(highlightItem, highlightItem.x - highlightItem.x, highlightItem.y - highlightItem.y) : ({x:0, y:0})
- property int moveDuration: 200
- property int resizeDuration: 200
- property alias xAnimation: xAnimation
- property alias yAnimation: yAnimation
- property alias widthAnimation: widthAnimation
- property alias heightAnimation: heightAnimation
- z: 2
- x: highlightItemOffset.x
- y: highlightItemOffset.y
- width: highlightItem ? highlightItem.width : 0
- height: highlightItem ? highlightItem.height : 0
- visible: keyboard.navigationModeActive && highlightItem !== null && highlightItem !== keyboard
- sourceComponent: keyboard.style.navigationHighlight
- Behavior on x {
- NumberAnimation { id: xAnimation; duration: naviationHighlight.moveDuration; easing.type: Easing.OutCubic }
- }
- Behavior on y {
- NumberAnimation { id: yAnimation; duration: naviationHighlight.moveDuration; easing.type: Easing.OutCubic }
- }
- Behavior on width {
- NumberAnimation { id: widthAnimation; duration: naviationHighlight.resizeDuration; easing.type: Easing.OutCubic }
- }
- Behavior on height {
- NumberAnimation { id: heightAnimation; duration: naviationHighlight.resizeDuration; easing.type: Easing.OutCubic }
- }
- }
-
- ShadowInputControl {
- id: shadowInputControl
- objectName: "shadowInputControl"
- z: -3
- anchors.left: parent.left
- anchors.right: parent.right
- anchors.bottom: wordCandidateView.top
- height: (keyboard.parent.parent ? keyboard.parent.parent.height : Screen.height) -
- keyboard.height - (wordCandidateView.visibleCondition && !VirtualKeyboardSettings.wordCandidateList.alwaysVisible ? wordCandidateView.height : 0)
- visible: fullScreenMode && (shadowInputControlVisibleTimer.running || InputContext.animating)
-
- Connections {
- target: keyboard
- function onActiveChanged() {
- if (keyboard.active)
- shadowInputControlVisibleTimer.start()
- else
- shadowInputControlVisibleTimer.stop()
- }
- }
-
- Timer {
- id: shadowInputControlVisibleTimer
- interval: 2147483647
- repeat: true
- }
-
- MouseArea {
- onPressed: keyboard.hideLanguagePopup()
- anchors.fill: parent
- enabled: languagePopupList.enabled
- }
- }
-
- SelectionControl {
- objectName: "fullScreenModeSelectionControl"
- inputContext: InputContext.priv.shadow
- anchors.top: shadowInputControl.top
- anchors.left: shadowInputControl.left
- enabled: keyboard.enabled && fullScreenMode
- }
-
- ListView {
- id: wordCandidateView
- objectName: "wordCandidateView"
- clip: true
- z: -2
- property bool disableAnimation: VirtualKeyboardSettings.fullScreenMode
- property bool empty: true
- readonly property bool visibleCondition: (((!wordCandidateView.empty || wordCandidateViewAutoHideTimer.running || shadowInputControl.visible) &&
- InputContext.inputEngine.wordCandidateListVisibleHint) || VirtualKeyboardSettings.wordCandidateList.alwaysVisible) &&
- (keyboard.active || shadowInputControl.visible)
- readonly property real visibleYOffset: VirtualKeyboardSettings.wordCandidateList.alwaysVisible ? 0 : -height
- readonly property real currentYOffset: visibleCondition || wordCandidateViewTransition.running ? visibleYOffset : 0
- height: Math.round(style.selectionListHeight)
- anchors.left: parent.left
- anchors.right: parent.right
- spacing: 0
- orientation: ListView.Horizontal
- snapMode: ListView.SnapToItem
- delegate: style.selectionListDelegate
- highlight: style.selectionListHighlight ? style.selectionListHighlight : defaultHighlight
- highlightMoveDuration: 0
- highlightResizeDuration: 0
- add: style.selectionListAdd
- remove: style.selectionListRemove
- keyNavigationWraps: true
- model: InputContext.inputEngine.wordCandidateListModel
- onCurrentItemChanged: if (currentItem) soundEffect.register(currentItem.soundEffect)
- Connections {
- target: wordCandidateView.model ? wordCandidateView.model : null
- function onActiveItemChanged(index) { wordCandidateView.currentIndex = index }
- function onItemSelected() { if (wordCandidateView.currentItem) soundEffect.play(wordCandidateView.currentItem.soundEffect) }
- function onCountChanged() {
- var empty = wordCandidateView.model.count === 0
- if (empty)
- wordCandidateViewAutoHideTimer.restart()
- else
- wordCandidateViewAutoHideTimer.stop()
- wordCandidateView.empty = empty
- keyboard.hideWordCandidateContextMenu()
- }
- }
- Connections {
- target: InputContext.priv
- function onInputItemChanged() { wordCandidateViewAutoHideTimer.stop() }
- }
- Connections {
- target: InputContext.inputEngine
- function onWordCandidateListVisibleHintChanged() { wordCandidateViewAutoHideTimer.stop() }
- }
- Timer {
- id: wordCandidateViewAutoHideTimer
- interval: VirtualKeyboardSettings.wordCandidateList.autoHideDelay
- }
- Loader {
- sourceComponent: style.selectionListBackground
- anchors.fill: parent
- z: -1
- }
- Component {
- id: defaultHighlight
- Item {}
- }
- states: State {
- name: "visible"
- when: wordCandidateView.visibleCondition
- PropertyChanges {
- target: wordCandidateView
- y: wordCandidateView.visibleYOffset
- }
- }
- transitions: Transition {
- id: wordCandidateViewTransition
- to: "visible"
- enabled: !InputContext.animating && !VirtualKeyboardSettings.wordCandidateList.alwaysVisible && !wordCandidateView.disableAnimation
- reversible: true
- ParallelAnimation {
- NumberAnimation {
- properties: "y"
- duration: 250
- easing.type: Easing.InOutQuad
- }
- }
- }
-
- function longPressItem(index) {
- return keyboard.showWordCandidateContextMenu(index)
- }
- }
-
- Item {
- id: soundEffect
- property var __sounds: ({})
- property bool available: false
-
- signal playingChanged(url source, bool playing)
-
- Connections {
- target: VirtualKeyboardSettings
- function onStyleNameChanged() {
- soundEffect.__sounds = {}
- soundEffect.available = false
- }
- }
-
- function play(sound) {
- if (enabled && sound != Qt.resolvedUrl("")) {
- var soundId = Qt.md5(sound)
- var multiSoundEffect = __sounds[soundId]
- if (!multiSoundEffect)
- multiSoundEffect = register(sound)
- if (multiSoundEffect)
- multiSoundEffect.play()
- }
- }
-
- function register(sound) {
- var multiSoundEffect = null
- if (enabled && sound != Qt.resolvedUrl("")) {
- var soundId = Qt.md5(sound)
- multiSoundEffect = __sounds[soundId]
- if (!multiSoundEffect) {
- multiSoundEffect = Qt.createQmlObject('import QtQuick 2.0; import QtQuick.VirtualKeyboard 2.1; MultiSoundEffect {}', soundEffect)
- if (multiSoundEffect) {
- multiSoundEffect.playingChanged.connect(soundEffect.playingChanged)
- multiSoundEffect.source = sound
- __sounds[soundId] = multiSoundEffect
- available = true
- }
- }
- }
- return multiSoundEffect
- }
- }
-
- Loader {
- id: keyboardBackground
- z: -1
- anchors.left: parent.left
- anchors.right: parent.right
- anchors.bottom: parent.bottom
- height: keyboardInnerContainer.height
- sourceComponent: style.keyboardBackground
-
- Item {
- id: keyboardInnerContainer
- z: 1
- width: Math.round(keyboardBackground.width)
- height: Math.round(style.keyboardDesignHeight * width / style.keyboardDesignWidth)
- anchors.horizontalCenter: parent.horizontalCenter
- LayoutMirroring.enabled: false
- LayoutMirroring.childrenInherit: true
-
- Loader {
- id: keyboardLayoutLoader
- objectName: "keyboardLayoutLoader"
-
- anchors.fill: parent
- anchors.leftMargin: Math.round(style.keyboardRelativeLeftMargin * parent.width)
- anchors.rightMargin: Math.round(style.keyboardRelativeRightMargin * parent.width)
- anchors.topMargin: Math.round(style.keyboardRelativeTopMargin * parent.height)
- anchors.bottomMargin: Math.round(style.keyboardRelativeBottomMargin * parent.height)
-
- Binding {
- target: keyboardLayoutLoader
- property: "source"
- value: keyboard.layout
- when: keyboard.layout.length > 0
- restoreMode: Binding.RestoreBinding
- }
-
- onItemChanged: {
- // Reset input mode if the new layout wants to override it
- if (item && item.inputMode !== -1)
- inputModeNeedsReset = true
- }
-
- MultiPointTouchArea {
- id: keyboardInputArea
- objectName: "keyboardInputArea"
-
- property var initialKey: null
- property bool dragSymbolMode
- property real releaseMargin: initialKey !== null ? Math.min(initialKey.width / 3, initialKey.height / 3) : 0
- property point navigationCursor: Qt.point(-1, -1)
-
- anchors.fill: keyboardLayoutLoader
-
- Connections {
- target: keyboardLayoutLoader
- function onStatusChanged() {
- if (keyboardLayoutLoader.status == Loader.Ready &&
- keyboard.navigationModeActive &&
- keyboardInputArea.navigationCursor !== Qt.point(-1, -1))
- keyboard.navigationModeActive = keyboardInputArea.navigateToNextKey(0, 0, false)
- }
- }
- Connections {
- target: keyboard
- function onNavigationModeActiveChanged() {
- if (!keyboard.navigationModeActive) {
- keyboardInputArea.navigationCursor = Qt.point(-1, -1)
- keyboardInputArea.reset()
- }
- }
- }
-
- function press(key, isRealPress) {
- if (key && key.enabled) {
- if (!key.noKeyEvent)
- InputContext.inputEngine.virtualKeyPress(key.key, key.uppercased ? key.text.toUpperCase() : key.text, key.uppercased ? Qt.ShiftModifier : 0, key.repeat && !dragSymbolMode)
- if (isRealPress)
- soundEffect.play(key.soundEffect)
- }
- }
- function release(key) {
- if (key && key.enabled) {
- if (!key.noKeyEvent)
- InputContext.inputEngine.virtualKeyRelease(key.key, key.uppercased ? key.text.toUpperCase() : key.text, key.uppercased ? Qt.ShiftModifier : 0)
- key.clicked()
- }
- }
- function click(key) {
- if (key && key.enabled) {
- if (!key.noKeyEvent)
- InputContext.inputEngine.virtualKeyClick(key.key, InputContext.uppercase ? key.text.toUpperCase() : key.text, InputContext.uppercase ? Qt.ShiftModifier : 0)
- key.clicked()
- }
- }
- function setActiveKey(activeKey) {
- if (keyboard.activeKey === activeKey)
- return
- if (keyboard.activeKey) {
- keyboard.activeKey.active = false
- }
- keyboard.activeKey = activeKey
- if (keyboard.activeKey) {
- keyboard.activeKey.active = true
- }
- }
- function keyOnPoint(px, py) {
- var parentItem = keyboardLayoutLoader
- var child = parentItem.childAt(px, py)
- while (child !== null) {
- var position = parentItem.mapToItem(child, px, py)
- px = position.x; py = position.y
- parentItem = child
- child = parentItem.childAt(px, py)
- if (child && child.key !== undefined)
- return child
- }
- return null
- }
- function hitInitialKey(x, y, margin) {
- if (!initialKey)
- return false
- var position = initialKey.mapFromItem(keyboardInputArea, x, y)
- return (position.x > -margin
- && position.y > -margin
- && position.x < initialKey.width + margin
- && position.y < initialKey.height + margin)
- }
- function containsPoint(touchPoints, point) {
- if (!point)
- return false
- for (var i in touchPoints)
- if (touchPoints[i].pointId == point.pointId)
- return true
- return false
- }
- function releaseActiveKey() {
- if (alternativeKeys.active) {
- alternativeKeys.clicked()
- } else if (keyboard.activeKey) {
- release(keyboard.activeKey)
- }
- reset()
- }
- function reset() {
- releaseInaccuracyTimer.stop()
- pressAndHoldTimer.stop()
- setActiveKey(null)
- activeTouchPoint = null
- alternativeKeys.close()
- if (dragSymbolMode) {
- keyboard.symbolMode = false
- dragSymbolMode = false
- }
- }
- function nextKeyInNavigation(dX, dY, wrapEnabled) {
- var nextKey = null, x, y, itemOffset
- if (dX !== 0 || dY !== 0) {
- var offsetX, offsetY
- for (offsetX = dX, offsetY = dY;
- Math.abs(offsetX) < width && Math.abs(offsetY) < height;
- offsetX += dX, offsetY += dY) {
- x = navigationCursor.x + offsetX
- if (x < 0) {
- if (!wrapEnabled)
- break
- x += width
- } else if (x >= width) {
- if (!wrapEnabled)
- break
- x -= width
- }
- y = navigationCursor.y + offsetY
- if (y < 0) {
- if (!wrapEnabled)
- break
- y += height
- } else if (y >= height) {
- if (!wrapEnabled)
- break
- y -= height
- }
- nextKey = keyOnPoint(x, y)
- if (nextKey) {
- // Check if key is visible. Only the visible keys have keyPanelDelegate set.
- if (nextKey != initialKey && nextKey.hasOwnProperty("keyPanelDelegate") && nextKey.keyPanelDelegate)
- break
- // Jump over the item to reduce the number of iterations in this loop
- itemOffset = mapToItem(nextKey, x, y)
- if (dX > 0)
- offsetX += nextKey.width - itemOffset.x
- else if (dX < 0)
- offsetX -= itemOffset.x
- else if (dY > 0)
- offsetY += nextKey.height - itemOffset.y
- else if (dY < 0)
- offsetY -= itemOffset.y
- }
- nextKey = null
- }
- } else {
- nextKey = keyOnPoint(navigationCursor.x, navigationCursor.y)
- }
- if (nextKey) {
- itemOffset = mapFromItem(nextKey, nextKey.width / 2, nextKey.height / 2)
- if (dX) {
- x = itemOffset.x
- } else if (dY) {
- y = itemOffset.y
- } else {
- x = itemOffset.x
- y = itemOffset.y
- }
- navigationCursor = Qt.point(x, y)
- }
- return nextKey
- }
- function navigateToNextKey(dX, dY, wrapEnabled) {
- // Resolve initial landing point of the navigation cursor
- if (!keyboard.navigationModeActive || keyboard.navigationCursor === Qt.point(-1, -1)) {
- if (dX > 0)
- navigationCursor = Qt.point(0, height / 2)
- else if (dX < 0)
- navigationCursor = Qt.point(width, height / 2)
- else if (dY > 0)
- navigationCursor = Qt.point(width / 2, 0)
- else if (dY < 0)
- navigationCursor = Qt.point(width / 2, height)
- else
- navigationCursor = Qt.point(width / 2, height / 2)
- keyboard.navigationModeActive = true
- }
- if (dX && dY) {
- initialKey = nextKeyInNavigation(dX, 0, wrapEnabled)
- if (initialKey || wrapEnabled)
- initialKey = nextKeyInNavigation(0, dY, wrapEnabled)
- } else {
- initialKey = nextKeyInNavigation(dX, dY, wrapEnabled)
- }
- return initialKey !== null
- }
-
- onPressed: {
- keyboard.navigationModeActive = false
-
- // Immediately release any pending key that the user might be
- // holding (and about to release) when a second key is pressed.
- if (activeTouchPoint)
- releaseActiveKey();
-
- for (var i in touchPoints) {
- // Release any key pressed by a previous iteration of the loop.
- if (containsPoint(touchPoints, activeTouchPoint))
- releaseActiveKey();
-
- releaseInaccuracyTimer.start()
- pressAndHoldTimer.start()
- initialKey = keyOnPoint(touchPoints[i].x, touchPoints[i].y)
- activeTouchPoint = touchPoints[i]
- setActiveKey(initialKey)
- press(initialKey, true)
- }
- }
- onUpdated: {
- if (!containsPoint(touchPoints, activeTouchPoint))
- return
-
- if (alternativeKeys.active) {
- alternativeKeys.move(mapToItem(alternativeKeys, activeTouchPoint.x, 0).x)
- } else {
- var key = null
- if (releaseInaccuracyTimer.running) {
- if (hitInitialKey(activeTouchPoint.x, activeTouchPoint.y, releaseMargin)) {
- key = initialKey
- } else if (initialKey) {
- releaseInaccuracyTimer.stop()
- initialKey = null
- }
- }
- if (key === null) {
- key = keyOnPoint(activeTouchPoint.x, activeTouchPoint.y)
- }
- if (key !== keyboard.activeKey) {
- InputContext.inputEngine.virtualKeyCancel()
- setActiveKey(key)
- press(key, false)
- if (dragSymbolMode) {
- if (key && key.functionKey && key.key !== Qt.Key_Context1)
- pressAndHoldTimer.restart()
- else
- pressAndHoldTimer.stop()
- }
- }
- }
- }
- onReleased: {
- if (containsPoint(touchPoints, activeTouchPoint)) {
- if (dragSymbolMode) {
- var key = keyOnPoint(activeTouchPoint.x, activeTouchPoint.y)
- if (key && key.key === Qt.Key_Context1) {
- dragSymbolMode = false
- InputContext.inputEngine.virtualKeyCancel()
- reset()
- return
- }
- }
- releaseActiveKey();
- }
- }
- onCanceled: {
- if (containsPoint(touchPoints, activeTouchPoint))
- reset()
- }
- }
- }
- }
- }
-
- Item {
- id: languagePopup
- z: 1
- anchors.fill: parent
- LayoutMirroring.enabled: false
- LayoutMirroring.childrenInherit: true
-
- MouseArea {
- onPressed: keyboard.hideLanguagePopup()
- anchors.fill: parent
- enabled: languagePopupList.enabled
- }
-
- PopupList {
- id: languagePopupList
- objectName: "languagePopupList"
- z: 2
- anchors.left: parent.left
- anchors.top: parent.top
- enabled: false
- model: languageListModel
- delegate: keyboard.style ? keyboard.style.languageListDelegate : null
- highlight: keyboard.style ? keyboard.style.languageListHighlight : defaultHighlight
- add: keyboard.style ? keyboard.style.languageListAdd : null
- remove: keyboard.style ? keyboard.style.languageListRemove : null
- background: keyboard.style ? keyboard.style.languageListBackground : null
- property rect previewRect: Qt.rect(keyboard.x + languagePopupList.x,
- keyboard.y + languagePopupList.y,
- languagePopupList.width,
- languagePopupList.height)
- }
-
- ListModel {
- id: languageListModel
-
- function selectItem(index) {
- languagePopupList.currentIndex = index
- keyboard.soundEffect.play(languagePopupList.currentItem.soundEffect)
- changeLanguageTimer.newLocaleIndex = languageListModel.get(index).localeIndex
- changeLanguageTimer.start()
- }
- }
-
- Timer {
- id: changeLanguageTimer
- interval: 1
- property int newLocaleIndex
- onTriggered: {
- if (languagePopupListActive) {
- hideLanguagePopup()
- start()
- } else {
- localeIndex = newLocaleIndex
- }
- }
- }
-
- function show(locales, parentItem, customLayoutsOnly) {
- if (!languagePopupList.enabled) {
- languageListModel.clear()
- for (var i = 0; i < locales.length; i++) {
- languageListModel.append({localeName: locales[i].name, displayName: locales[i].locale.nativeLanguageName, localeIndex: locales[i].index})
- if (locales[i].index === keyboard.localeIndex)
- languagePopupList.currentIndex = i
- }
- languagePopupList.positionViewAtIndex(languagePopupList.currentIndex, ListView.Center)
- languagePopupList.anchors.leftMargin = Qt.binding(function() {return Math.round(keyboard.mapFromItem(parentItem, (parentItem.width - languagePopupList.width) / 2, 0).x)})
- languagePopupList.anchors.topMargin = Qt.binding(function() {return Math.round(keyboard.mapFromItem(parentItem, 0, -languagePopupList.height).y)})
- }
- languagePopupList.enabled = true
- }
-
- function hide() {
- if (languagePopupList.enabled) {
- languagePopupList.enabled = false
- languagePopupList.anchors.leftMargin = undefined
- languagePopupList.anchors.topMargin = undefined
- languageListModel.clear()
- }
- }
- }
-
- function showLanguagePopup(parentItem, customLayoutsOnly) {
- var locales = keyboard.listLocales(customLayoutsOnly, parent.externalLanguageSwitchEnabled)
- if (parent.externalLanguageSwitchEnabled) {
- var currentIndex = 0
- for (var i = 0; i < locales.length; i++) {
- if (locales[i] === keyboard.locale) {
- currentIndex = i
- break
- }
- }
- parent.externalLanguageSwitch(locales, currentIndex)
- return
- }
- languagePopup.show(locales, parentItem, customLayoutsOnly)
- }
-
- function hideLanguagePopup() {
- languagePopup.hide()
- }
-
- MouseArea {
- anchors.left: parent.left
- anchors.right: parent.right
- anchors.bottom: parent.bottom
- height: keyboard.parent.parent ? keyboard.parent.parent.height : Screen.height
- onPressed: keyboard.hideWordCandidateContextMenu()
- enabled: wordCandidateContextMenuList.enabled
- }
-
- Item {
- id: wordCandidateContextMenu
- objectName: "wordCandidateContextMenu"
- z: 1
- anchors.fill: parent
- LayoutMirroring.enabled: false
- LayoutMirroring.childrenInherit: true
- property int previousWordCandidateIndex: -1
- readonly property bool active: wordCandidateContextMenuList.visible
- property bool openedByNavigationKeyLongPress
-
- PopupList {
- id: wordCandidateContextMenuList
- objectName: "wordCandidateContextMenuList"
- z: 2
- anchors.left: parent.left
- anchors.top: parent.top
- enabled: false
- model: wordCandidateContextMenuListModel
- property rect previewRect: Qt.rect(keyboard.x + wordCandidateContextMenuList.x,
- keyboard.y + wordCandidateContextMenuList.y,
- wordCandidateContextMenuList.width,
- wordCandidateContextMenuList.height)
- }
-
- ListModel {
- id: wordCandidateContextMenuListModel
-
- function selectItem(index) {
- wordCandidateContextMenu.previousWordCandidateIndex = -1
- wordCandidateContextMenuList.currentIndex = index
- keyboard.soundEffect.play(wordCandidateContextMenuList.currentItem.soundEffect)
- switch (get(index).action) {
- case "remove":
- wordCandidateView.model.removeItem(wordCandidateView.currentIndex)
- break
- }
- keyboard.hideWordCandidateContextMenu()
- }
- }
-
- function show(wordCandidateIndex) {
- if (wordCandidateContextMenu.enabled)
- wordCandidateContextMenu.hide()
-
- wordCandidateContextMenuListModel.clear()
-
- var canRemoveSuggestion = wordCandidateView.model.dataAt(wordCandidateIndex, SelectionListModel.Role.CanRemoveSuggestion)
- if (canRemoveSuggestion) {
- var dictionaryType = wordCandidateView.model.dataAt(wordCandidateIndex, SelectionListModel.Role.Dictionary)
- var removeItemText;
- switch (dictionaryType) {
- case SelectionListModel.DictionaryType.User:
- //~ VirtualKeyboard Context menu for word suggestion if it can be removed from the user dictionary.
- removeItemText = qsTr("Remove from dictionary")
- break
- case SelectionListModel.DictionaryType.Default:
- // Fallthrough
- default:
- //~ VirtualKeyboard Context menu for word suggestion if it can be removed from the default dictionary.
- removeItemText = qsTr("Block word")
- break
- }
- wordCandidateContextMenuListModel.append({action: "remove", display: removeItemText, wordCompletionLength: 0})
- }
-
- if (wordCandidateContextMenuListModel.count === 0)
- return
-
- previousWordCandidateIndex = wordCandidateView.currentIndex
- wordCandidateView.currentIndex = wordCandidateIndex
-
- wordCandidateContextMenuList.anchors.leftMargin = Qt.binding(function() {
- var leftBorder = Math.round(wordCandidateView.mapFromItem(wordCandidateView.currentItem, (wordCandidateView.currentItem.width - wordCandidateContextMenuList.width) / 2, 0).x)
- var rightBorder = Math.round(wordCandidateContextMenuList.parent.width - wordCandidateContextMenuList.width)
- return Math.min(leftBorder, rightBorder)
- })
-
- wordCandidateContextMenuList.enabled = true
- }
-
- function hide() {
- if (wordCandidateContextMenuList.enabled) {
- if (previousWordCandidateIndex !== -1) {
- wordCandidateView.currentIndex = previousWordCandidateIndex
- previousWordCandidateIndex = -1
- }
- wordCandidateContextMenuList.enabled = false
- wordCandidateContextMenuList.anchors.leftMargin = undefined
- wordCandidateContextMenuListModel.clear()
- }
- openedByNavigationKeyLongPress = false
- }
-
- function selectCurrentItem() {
- if (active && wordCandidateContextMenuList.currentIndex !== -1)
- wordCandidateContextMenuListModel.selectItem(wordCandidateContextMenuList.currentIndex)
- }
- }
-
- function showWordCandidateContextMenu(wordCandidateIndex) {
- wordCandidateContextMenu.show(wordCandidateIndex)
- }
-
- function hideWordCandidateContextMenu() {
- wordCandidateContextMenu.hide()
- }
-
- function updateInputMethod() {
- if (!keyboardLayoutLoader.item)
- return
- if (!InputContext.priv.focus)
- return
-
- // Reset the custom input method if it is not included in the list of shared layouts
- if (customInputMethod && !inputMethodNeedsReset && customInputMethodSharedLayouts.indexOf(layoutType) === -1)
- inputMethodNeedsReset = true
-
- if (inputMethodNeedsReset) {
- if (customInputMethod) {
- customInputMethod.destroy()
- customInputMethod = null
- }
- customInputMethodSharedLayouts = []
- inputMethodNeedsReset = false
- }
-
- var inputMethod = null
- var inputMode = InputContext.inputEngine.inputMode
-
- // Use input method from keyboard layout
- if (keyboardLayoutLoader.item.inputMethod) {
- inputMethod = keyboardLayoutLoader.item.inputMethod
- } else if (!customInputMethod) {
- try {
- customInputMethod = keyboardLayoutLoader.item.createInputMethod()
- if (customInputMethod) {
- // Pull the list of shared layouts from the keyboard layout
- if (keyboardLayoutLoader.item.sharedLayouts)
- customInputMethodSharedLayouts = customInputMethodSharedLayouts.concat(keyboardLayoutLoader.item.sharedLayouts)
-
- // Make sure the current layout is included in the list
- if (customInputMethodSharedLayouts.indexOf(layoutType) === -1)
- customInputMethodSharedLayouts.push(layoutType)
-
- // Reset input mode, since inputEngine.inputModes is updated
- inputModeNeedsReset = true
- }
- } catch (e) {
- console.error(e.message)
- }
- }
- if (!inputMethod)
- inputMethod = customInputMethod ? customInputMethod : defaultInputMethod
-
- var inputMethodChanged = InputContext.inputEngine.inputMethod !== inputMethod
- if (inputMethodChanged) {
- InputContext.inputEngine.inputMethod = inputMethod
- }
-
- if (InputContext.inputEngine.inputMethod) {
- var inputModes = InputContext.inputEngine.inputModes
- if (inputModes.length > 0) {
- // Reset to default input mode if the input locale has changed
- if (inputModeNeedsReset) {
- inputMode = inputModes[0]
-
- // Check the current layout for input mode override
- if (keyboardLayoutLoader.item.inputMode !== -1)
- inputMode = keyboardLayoutLoader.item.inputMode
-
- // Update input mode automatically in handwriting mode
- if (keyboard.handwritingMode) {
- if (keyboard.dialableCharactersOnly && inputModes.indexOf(InputEngine.InputMode.Dialable) !== -1)
- inputMode = InputEngine.InputMode.Dialable
- else if ((keyboard.formattedNumbersOnly || keyboard.digitsOnly) && inputModes.indexOf(InputEngine.InputMode.Numeric) !== -1)
- inputMode = InputEngine.InputMode.Numeric
- else if (keyboardLayoutLoader.item.inputMode === -1)
- inputMode = inputModes[0]
- }
-
- // Check the input method hints for input mode overrides
- if (latinOnly)
- inputMode = InputEngine.InputMode.Latin
- if (preferNumbers)
- inputMode = InputEngine.InputMode.Numeric
- }
-
- // Make sure the input mode is supported by the current input method
- if (inputModes.indexOf(inputMode) === -1)
- inputMode = inputModes[0]
-
- if (InputContext.inputEngine.inputMode !== inputMode || inputMethodChanged || inputModeNeedsReset)
- InputContext.inputEngine.inputMode = inputMode
-
- inputModeNeedsReset = false
- }
- }
-
- // Clear the toggle shift timer
- InputContext.priv.shiftHandler.clearToggleShiftTimer()
- }
-
- function updateLayout() {
- var newLayout
- newLayout = findLayout(locale, layoutType)
- if (!newLayout.length) {
- newLayout = findLayout(locale, "main")
- }
- layout = newLayout
- inputLocale = locale
- updateInputMethod()
- }
-
- function updateDefaultLocale() {
- updateAvailableLocaleIndices()
- if (layoutsModel.count > 0) {
- var defaultLocales = []
- if (isValidLocale(VirtualKeyboardSettings.locale))
- defaultLocales.push(VirtualKeyboardSettings.locale)
- if (isValidLocale(InputContext.locale))
- defaultLocales.push(InputContext.locale)
- if (VirtualKeyboardSettings.activeLocales.length > 0 && isValidLocale(VirtualKeyboardSettings.activeLocales[0]))
- defaultLocales.push(VirtualKeyboardSettings.activeLocales[0])
- if (VirtualKeyboardSettings.availableLocales.indexOf("en_GB") !== -1)
- defaultLocales.push("en_GB")
- if (availableLocaleIndices.length > 0)
- defaultLocales.push(layoutsModel.get(availableLocaleIndices[0], "fileName"))
- var newDefaultLocaleIndex = -1
- for (var i = 0; i < defaultLocales.length; i++) {
- newDefaultLocaleIndex = findLocale(defaultLocales[i], -1)
- if (availableLocaleIndices.indexOf(newDefaultLocaleIndex) !== -1)
- break;
- newDefaultLocaleIndex = -1
- }
- defaultLocaleIndex = newDefaultLocaleIndex
- } else {
- defaultLocaleIndex = -1
- }
- }
-
- function filterLocaleIndices(filterCb) {
- var localeIndices = []
- for (var i = 0; i < layoutsModel.count; i++) {
- if (localeIndices.indexOf(i) === -1) {
- var localeName = layoutsModel.get(i, "fileName")
- if (filterCb(localeName) && findLayout(localeName, "main"))
- localeIndices.push(i)
- }
- }
- return localeIndices
- }
-
- function updateAvailableLocaleIndices() {
- // Update list of all available locales
- var fallbackIndex = findFallbackIndex()
- var newIndices = filterLocaleIndices(function(localeName) {
- return isValidLocale(localeName)
- })
-
- // Handle case where the VirtualKeyboardSettings.activeLocales contains no valid entries
- // Fetch all locales by ignoring active locales setting
- if (newIndices.length === 0) {
- newIndices = filterLocaleIndices(function(localeName) {
- return isValidLocale(localeName, true)
- })
- }
-
- // Fetch matching locale names
- var newAvailableLocales = []
- for (var i = 0; i < newIndices.length; i++) {
- newAvailableLocales.push(layoutsModel.get(newIndices[i], "fileName"))
- }
-
- newIndices.sort(function(a, b) { return a - b })
- availableLocaleIndices = newIndices
- newAvailableLocales.sort()
- InputContext.priv.updateAvailableLocales(newAvailableLocales)
-
- // Update list of custom locale indices
- newIndices = []
- for (i = 0; i < availableLocaleIndices.length; i++) {
- if (availableLocaleIndices[i] === localeIndex ||
- layoutExists(layoutsModel.get(availableLocaleIndices[i], "fileName"), layoutType))
- newIndices.push(availableLocaleIndices[i])
- }
- availableCustomLocaleIndices = newIndices
- }
-
- function listLocales(customLayoutsOnly, localeNameOnly) {
- var locales = []
- var localeIndices = customLayoutsOnly ? availableCustomLocaleIndices : availableLocaleIndices
- for (var i = 0; i < localeIndices.length; i++) {
- var layoutFolder = layoutsModel.get(localeIndices[i], "fileName")
- if (localeNameOnly)
- locales.push(layoutFolder)
- else
- locales.push({locale:Qt.locale(layoutFolder), index:localeIndices[i], name:layoutFolder})
- }
- return locales
- }
-
- function nextLocaleIndex(customLayoutsOnly) {
- var newLocaleIndex = localeIndex
- var localeIndices = customLayoutsOnly ? availableCustomLocaleIndices : availableLocaleIndices
- var i = localeIndices.indexOf(localeIndex)
- if (i !== -1) {
- i = (i + 1) % localeIndices.length
- newLocaleIndex = localeIndices[i]
- }
- return newLocaleIndex
- }
-
- function changeInputLanguage(customLayoutsOnly) {
- var newLocaleIndex = nextLocaleIndex(customLayoutsOnly)
- if (newLocaleIndex !== -1 && newLocaleIndex !== localeIndex)
- localeIndex = newLocaleIndex
- }
-
- function canChangeInputLanguage(customLayoutsOnly) {
- if (customLayoutsOnly)
- return availableCustomLocaleIndices.length > 1
- return availableLocaleIndices.length > 1
- }
-
- function findLocale(localeName, defaultValue) {
- var languageCode = localeName.substring(0, 3) // Including the '_' delimiter
- var languageMatch = -1
- for (var i = 0; i < layoutsModel.count; i++) {
- if (!layoutsModel.isFolder(i))
- continue
- var layoutFolder = layoutsModel.get(i, "fileName")
- if (layoutFolder === localeName)
- return i
- if (languageMatch == -1 && layoutFolder.substring(0, 3) === languageCode)
- languageMatch = i
- }
- return (languageMatch != -1) ? languageMatch : defaultValue
- }
-
- function findFallbackIndex() {
- for (var i = 0; i < layoutsModel.count; i++) {
- var layoutFolder = layoutsModel.get(i, "fileName")
- if (layoutFolder === "fallback")
- return i
- }
- return -1
- }
-
- function isValidLocale(localeNameOrIndex, ignoreActiveLocales) {
- var localeName
- if (typeof localeNameOrIndex == "number") {
- if (localeNameOrIndex < 0 || localeNameOrIndex >= layoutsModel.count)
- return false
- localeName = layoutsModel.get(localeNameOrIndex, "fileName")
- } else {
- localeName = localeNameOrIndex
- }
-
- if (!localeName)
- return false
-
- if (localeName === "fallback")
- return false
-
- if (Qt.locale(localeName).name === "C")
- return false
-
- if (ignoreActiveLocales !== true &&
- VirtualKeyboardSettings.activeLocales.length > 0 &&
- VirtualKeyboardSettings.activeLocales.indexOf(localeName) === -1)
- return false
-
- return true
- }
-
- function getLayoutFile(localeName, layoutType) {
- if (localeName === "" || layoutType === "")
- return ""
- return layoutsModel.folder + "/" + localeName + "/" + layoutType + ".qml"
- }
-
- function getFallbackFile(localeName, layoutType) {
- if (localeName === "" || layoutType === "")
- return ""
- return layoutsModel.folder + "/" + localeName + "/" + layoutType + ".fallback"
- }
-
- function layoutExists(localeName, layoutType) {
- var result = InputContext.priv.fileExists(getLayoutFile(localeName, layoutType))
- if (!result && layoutType === "handwriting")
- result = InputContext.priv.fileExists(getFallbackFile(localeName, layoutType))
- return result
- }
-
- function findLayout(localeName, layoutType) {
- var layoutFile = getLayoutFile(localeName, layoutType)
- if (InputContext.priv.fileExists(layoutFile))
- return layoutFile
- var fallbackFile = getFallbackFile(localeName, layoutType)
- if (InputContext.priv.fileExists(fallbackFile)) {
- layoutFile = getLayoutFile("fallback", layoutType)
- if (InputContext.priv.fileExists(layoutFile))
- return layoutFile
- }
- return ""
- }
-
- function isHandwritingAvailable() {
- return InputContext.priv.inputMethods.indexOf("HandwritingInputMethod") !== -1 && layoutExists(locale, "handwriting")
- }
-
- function setHandwritingMode(enabled, resetInputMode) {
- if (enabled && resetInputMode)
- inputModeNeedsReset = true
- handwritingMode = enabled
- }
-}
diff --git a/src/virtualkeyboard/content/components/KeyboardColumn.qml b/src/virtualkeyboard/content/components/KeyboardColumn.qml
deleted file mode 100644
index d5b1fbfe..00000000
--- a/src/virtualkeyboard/content/components/KeyboardColumn.qml
+++ /dev/null
@@ -1,63 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2016 The Qt Company Ltd.
-** Contact: https://www.qt.io/licensing/
-**
-** This file is part of the Qt Virtual Keyboard module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:GPL$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see https://www.qt.io/terms-conditions. For further
-** information use the contact form at https://www.qt.io/contact-us.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 3 or (at your option) any later version
-** approved by the KDE Free Qt Foundation. The licenses are as published by
-** the Free Software Foundation and appearing in the file LICENSE.GPL3
-** included in the packaging of this file. Please review the following
-** information to ensure the GNU General Public License requirements will
-** be met: https://www.gnu.org/licenses/gpl-3.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-import QtQuick 2.0
-import QtQuick.Layouts 1.0
-
-/*!
- \qmltype KeyboardColumn
- \inqmlmodule QtQuick.VirtualKeyboard
- \ingroup qtvirtualkeyboard-qml
- \inherits ColumnLayout
-
- \brief Keyboard column for keyboard layouts.
-
- This type can be used in special cases where multiple columns
- are added to a single keyboard layout.
-*/
-
-ColumnLayout {
- /*! Sets the key weight for all children keys.
-
- The default value is inherited from the parent element
- in the layout hierarchy.
- */
- property real keyWeight: parent ? parent.keyWeight : undefined
-
- /*! \since QtQuick.VirtualKeyboard 2.0
-
- Sets the \c smallTextVisible for all children keys.
-
- The default value is inherited from the parent element
- in the layout hierarchy.
- */
- property bool smallTextVisible: parent ? parent.smallTextVisible : false
-
- spacing: 0
-}
diff --git a/src/virtualkeyboard/content/components/KeyboardLayout.qml b/src/virtualkeyboard/content/components/KeyboardLayout.qml
deleted file mode 100644
index 5b790dc6..00000000
--- a/src/virtualkeyboard/content/components/KeyboardLayout.qml
+++ /dev/null
@@ -1,148 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2016 The Qt Company Ltd.
-** Contact: https://www.qt.io/licensing/
-**
-** This file is part of the Qt Virtual Keyboard module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:GPL$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see https://www.qt.io/terms-conditions. For further
-** information use the contact form at https://www.qt.io/contact-us.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 3 or (at your option) any later version
-** approved by the KDE Free Qt Foundation. The licenses are as published by
-** the Free Software Foundation and appearing in the file LICENSE.GPL3
-** included in the packaging of this file. Please review the following
-** information to ensure the GNU General Public License requirements will
-** be met: https://www.gnu.org/licenses/gpl-3.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-import QtQuick 2.0
-import QtQuick.Layouts 1.0
-import QtQuick.VirtualKeyboard 2.1
-
-/*!
- \qmltype KeyboardLayout
- \inqmlmodule QtQuick.VirtualKeyboard
- \ingroup qtvirtualkeyboard-qml
- \inherits ColumnLayout
-
- \brief Keyboard layout.
-
- This type is the root element of the keyboard layout.
- Use this element to build a new keyboard layout.
-
- Example:
-
- \code
- import QtQuick 2.0
- import QtQuick.Layouts 1.0
- import QtQuick.VirtualKeyboard 2.1
-
- // file: layouts/en_GB/main.qml
-
- KeyboardLayout {
- KeyboardRow {
- Key {
- key: Qt.Key_Q
- text: "q"
- }
- Key {
- key: Qt.Key_W
- text: "w"
- }
- Key {
- key: Qt.Key_E
- text: "e"
- }
- Key {
- key: Qt.Key_R
- text: "r"
- }
- Key {
- key: Qt.Key_T
- text: "t"
- }
- Key {
- key: Qt.Key_Y
- text: "y"
- }
- }
- }
- \endcode
-*/
-
-ColumnLayout {
- /*! Sets the input method to be used in this layout.
-
- This property allows a custom input method to be
- used in this layout.
- */
- property var inputMethod
-
- /*! This function may be overridden by the keyboard layout
- to create the input method object dynamically. The default
- implementation returns \c null.
-
- The input method object created by this function can outlive
- keyboard layout transitions in certain cases. In particular,
- this applies to the transitions between the layouts listed in
- the sharedLayouts property.
- */
- function createInputMethod() {
- return null
- }
-
- /*! List of layout names which share the input method created
- by the createInputMethod() function.
-
- If the list is empty (the default) the input method is not
- shared with any other layout and will be destroyed when the
- layout changes.
-
- The list should contain only the name of the layout type,
- e.g., ['symbols']. The current layout does not have to be
- included in the list.
- */
- property var sharedLayouts
-
- /*! Sets the input mode to be used in this layout.
-
- By default, the virtual keyboard attempts to preserve
- the current input mode when switching to a different
- keyboard layout.
-
- If the current input mode is not valid in the current
- context, the default input mode is specified by the
- input method.
- */
- property int inputMode: -1
-
- /*! Sets the key weight for all children keys.
-
- The default value is inherited from the parent element
- in the layout hierarchy.
- */
- property real keyWeight
-
- /*! \since QtQuick.VirtualKeyboard 2.0
-
- Sets the \c smallTextVisible for all children keys.
-
- The default value is inherited from the parent element
- in the layout hierarchy.
- */
- property bool smallTextVisible
-
- spacing: 0
-}
diff --git a/src/virtualkeyboard/content/components/KeyboardLayoutLoader.qml b/src/virtualkeyboard/content/components/KeyboardLayoutLoader.qml
deleted file mode 100644
index 800667d7..00000000
--- a/src/virtualkeyboard/content/components/KeyboardLayoutLoader.qml
+++ /dev/null
@@ -1,127 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2016 The Qt Company Ltd.
-** Contact: https://www.qt.io/licensing/
-**
-** This file is part of the Qt Virtual Keyboard module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:GPL$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see https://www.qt.io/terms-conditions. For further
-** information use the contact form at https://www.qt.io/contact-us.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 3 or (at your option) any later version
-** approved by the KDE Free Qt Foundation. The licenses are as published by
-** the Free Software Foundation and appearing in the file LICENSE.GPL3
-** included in the packaging of this file. Please review the following
-** information to ensure the GNU General Public License requirements will
-** be met: https://www.gnu.org/licenses/gpl-3.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-import QtQuick 2.0
-
-/*!
- \qmltype KeyboardLayoutLoader
- \inqmlmodule QtQuick.VirtualKeyboard
- \ingroup qtvirtualkeyboard-qml
- \inherits Loader
- \since QtQuick.VirtualKeyboard 1.1
-
- \brief Allows dynamic loading of keyboard layout.
-
- This type is useful for keyboard layouts consisting of multiple pages of keys.
-
- A single keyboard layout (a page) is defined by using the Component
- as a container. The active keyboard layout can then be changed by
- setting the sourceComponent property to a different value.
-
- Example:
-
- \code
- import QtQuick 2.0
- import QtQuick.Layouts 1.0
- import QtQuick.VirtualKeyboard 2.1
-
- // file: layouts/en_GB/symbols.qml
-
- KeyboardLayoutLoader {
- property bool secondPage
- onVisibleChanged: if (!visible) secondPage = false
- sourceComponent: secondPage ? page2 : page1
- Component {
- id: page1
- KeyboardLayout {
- // Keyboard layout definition for page 1
- }
- }
- Component {
- id: page2
- KeyboardLayout {
- // Keyboard layout definition for page 2
- }
- }
- }
- \endcode
-*/
-
-Loader {
- /*! Sets the input method for all the keyboard layouts loaded
- in this context.
-
- The input method can either be set separately for each keyboard
- layout, or commonly at this context. If set separately, then this
- property should not be modified.
- */
- property var inputMethod: item ? item.inputMethod : null
-
- /*! This function may be overridden by the keyboard layout
- to create the input method object dynamically. The default
- implementation forwards the call to the child keyboard
- layout.
-
- The input method object created by this function can outlive
- keyboard layout transitions in certain cases. In particular,
- this applies to the transitions between the layouts listed in
- the sharedLayouts property.
- */
- function createInputMethod() {
- return item ? item.createInputMethod() : null
- }
-
- /*! List of layout names which share the input method created
- by the createInputMethod() function.
-
- If the list is empty (the default) the input method is not
- shared with any other layout and will be destroyed when the
- layout changes.
-
- The list should contain only the name of the layout type,
- e.g., ['symbols']. The current layout does not have to be
- included in the list.
- */
- property var sharedLayouts: item ? item.sharedLayouts : null
-
- /*! Sets the input mode for all the keyboard layouts loaded
- in this context.
-
- The input mode can either be set separately for each keyboard
- layout, or commonly at this context. If set separately, then this
- property should not be modified.
- */
- property int inputMode: item ? item.inputMode : -1
-
- property int __updateCount
-
- active: parent !== null
-
- onItemChanged: if (parent && item && __updateCount++ > 0 && !keyboard.inputMethodNeedsReset) keyboard.updateInputMethod()
-}
diff --git a/src/virtualkeyboard/content/components/KeyboardRow.qml b/src/virtualkeyboard/content/components/KeyboardRow.qml
deleted file mode 100644
index 5c9db6b2..00000000
--- a/src/virtualkeyboard/content/components/KeyboardRow.qml
+++ /dev/null
@@ -1,62 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2016 The Qt Company Ltd.
-** Contact: https://www.qt.io/licensing/
-**
-** This file is part of the Qt Virtual Keyboard module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:GPL$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see https://www.qt.io/terms-conditions. For further
-** information use the contact form at https://www.qt.io/contact-us.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 3 or (at your option) any later version
-** approved by the KDE Free Qt Foundation. The licenses are as published by
-** the Free Software Foundation and appearing in the file LICENSE.GPL3
-** included in the packaging of this file. Please review the following
-** information to ensure the GNU General Public License requirements will
-** be met: https://www.gnu.org/licenses/gpl-3.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-import QtQuick 2.0
-import QtQuick.Layouts 1.0
-
-/*!
- \qmltype KeyboardRow
- \inqmlmodule QtQuick.VirtualKeyboard
- \ingroup qtvirtualkeyboard-qml
- \inherits RowLayout
-
- \brief Keyboard row for keyboard layouts.
-
- Specifies a row of keys in the keyboard layout.
-*/
-
-RowLayout {
- /*! Sets the key weight for all children keys.
-
- The default value is inherited from the parent element
- in the layout hierarchy.
- */
- property real keyWeight: parent ? parent.keyWeight : undefined
-
- /*! \since QtQuick.VirtualKeyboard 2.0
-
- Sets the \c smallTextVisible for all children keys.
-
- The default value is inherited from the parent element
- in the layout hierarchy.
- */
- property bool smallTextVisible: parent ? parent.smallTextVisible : false
-
- spacing: 0
-}
diff --git a/src/virtualkeyboard/content/components/ModeKey.qml b/src/virtualkeyboard/content/components/ModeKey.qml
deleted file mode 100644
index 5fd24b41..00000000
--- a/src/virtualkeyboard/content/components/ModeKey.qml
+++ /dev/null
@@ -1,63 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2016 The Qt Company Ltd.
-** Contact: https://www.qt.io/licensing/
-**
-** This file is part of the Qt Virtual Keyboard module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:GPL$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see https://www.qt.io/terms-conditions. For further
-** information use the contact form at https://www.qt.io/contact-us.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 3 or (at your option) any later version
-** approved by the KDE Free Qt Foundation. The licenses are as published by
-** the Free Software Foundation and appearing in the file LICENSE.GPL3
-** included in the packaging of this file. Please review the following
-** information to ensure the GNU General Public License requirements will
-** be met: https://www.gnu.org/licenses/gpl-3.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-import QtQuick 2.0
-
-/*!
- \qmltype ModeKey
- \inqmlmodule QtQuick.VirtualKeyboard
- \ingroup qtvirtualkeyboard-qml
- \inherits Key
- \since QtQuick.VirtualKeyboard 2.0
-
- \brief Generic mode key for keyboard layouts.
-
- This key provides generic mode button functionality.
-
- A key press toggles the current mode without emitting key event
- for input method processing.
-
- ModeKey can be used in situations where a particular mode is switched
- "ON / OFF", and where the mode change does not require changing the
- keyboard layout. When this component is used, the \l { BaseKey::displayText } { displayText } should
- remain the same regardless of the mode, because the keyboard style
- visualizes the status.
-*/
-
-Key {
- /*! This property provides the current mode.
-
- The default is false.
- */
- property bool mode
- noKeyEvent: true
- functionKey: true
- onClicked: mode = !mode
- keyPanelDelegate: keyboard.style ? keyboard.style.modeKeyPanel : undefined
-}
diff --git a/src/virtualkeyboard/content/components/MultiSoundEffect.qml b/src/virtualkeyboard/content/components/MultiSoundEffect.qml
deleted file mode 100644
index 685a21df..00000000
--- a/src/virtualkeyboard/content/components/MultiSoundEffect.qml
+++ /dev/null
@@ -1,73 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2016 The Qt Company Ltd.
-** Contact: https://www.qt.io/licensing/
-**
-** This file is part of the Qt Virtual Keyboard module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:GPL$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see https://www.qt.io/terms-conditions. For further
-** information use the contact form at https://www.qt.io/contact-us.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 3 or (at your option) any later version
-** approved by the KDE Free Qt Foundation. The licenses are as published by
-** the Free Software Foundation and appearing in the file LICENSE.GPL3
-** included in the packaging of this file. Please review the following
-** information to ensure the GNU General Public License requirements will
-** be met: https://www.gnu.org/licenses/gpl-3.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-import QtQuick 2.0
-import QtMultimedia 5.0
-
-Item {
- id: multiSoundEffect
- property url source
- property int maxInstances: 2
- property var __cachedInstances
- property int __currentIndex: 0
-
- signal playingChanged(url source, bool playing)
-
- Component {
- id: soundEffectComp
- SoundEffect {
- source: multiSoundEffect.source
- onPlayingChanged: multiSoundEffect.playingChanged(source, playing)
- }
- }
-
- onSourceChanged: {
- __cachedInstances = []
- __currentIndex = 0
- if (source != Qt.resolvedUrl("")) {
- var i
- for (i = 0; i < maxInstances; i++) {
- var soundEffect = soundEffectComp.createObject(multiSoundEffect)
- if (soundEffect === null)
- return
- __cachedInstances.push(soundEffect)
- }
- }
- }
-
- function play() {
- if (__cachedInstances === undefined || __cachedInstances.length === 0)
- return
- if (__cachedInstances[__currentIndex].playing) {
- __cachedInstances[__currentIndex].stop()
- __currentIndex = (__currentIndex + 1) % __cachedInstances.length
- }
- __cachedInstances[__currentIndex].play()
- }
-}
diff --git a/src/virtualkeyboard/content/components/MultitapInputMethod.qml b/src/virtualkeyboard/content/components/MultitapInputMethod.qml
deleted file mode 100644
index 3c14a544..00000000
--- a/src/virtualkeyboard/content/components/MultitapInputMethod.qml
+++ /dev/null
@@ -1,132 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2016 The Qt Company Ltd.
-** Contact: https://www.qt.io/licensing/
-**
-** This file is part of the Qt Virtual Keyboard module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:GPL$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see https://www.qt.io/terms-conditions. For further
-** information use the contact form at https://www.qt.io/contact-us.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 3 or (at your option) any later version
-** approved by the KDE Free Qt Foundation. The licenses are as published by
-** the Free Software Foundation and appearing in the file LICENSE.GPL3
-** included in the packaging of this file. Please review the following
-** information to ensure the GNU General Public License requirements will
-** be met: https://www.gnu.org/licenses/gpl-3.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-import QtQuick 2.0
-import QtQuick.VirtualKeyboard 2.1
-
-InputMethod {
- property string multitapSequence
- property int multitapIndex: -1
-
- onMultitapSequenceChanged: selectionListChanged(SelectionListModel.Type.WordCandidateList)
- onMultitapIndexChanged: selectionListActiveItemChanged(SelectionListModel.Type.WordCandidateList, multitapIndex)
-
- property variant multiTapTimer: Timer {
- interval: 1200
- onTriggered: {
- update()
- }
- }
-
- function inputModes(locale) {
- return [InputEngine.InputMode.Latin, InputEngine.InputMode.Numeric, InputEngine.InputMode.Dialable];
- }
-
- function setInputMode(locale, inputMode) {
- return true
- }
-
- function setTextCase(textCase) {
- return true
- }
-
- function reset() {
- multiTapTimer.stop()
- multitapIndex = -1
- multitapSequence = ""
- }
-
- function update() {
- multiTapTimer.stop()
- multitapIndex = -1
- multitapSequence = ""
- if (inputContext !== null && inputContext.preeditText.length > 0) {
- inputContext.commit()
- }
- }
-
- function keyEvent(key, text, modifiers) {
- var accept = false
- switch (key) {
- case Qt.Key_Enter:
- case Qt.Key_Return:
- case Qt.Key_Tab:
- update()
- break
- case Qt.Key_Backspace:
- if (inputContext.preeditText.length > 0) {
- inputContext.clear()
- update()
- accept = true
- }
- break
- default:
- if (key !== inputEngine.previousKey) {
- update()
- }
- multitapSequence = text
- if (multitapSequence.length > 1) {
- multitapIndex = multiTapTimer.running ? (multitapIndex + 1) % multitapSequence.length : 0
- inputContext.preeditText = multitapSequence.charAt(multitapIndex)
- multiTapTimer.restart()
- } else {
- inputContext.commit(text)
- }
- accept = true
- break
- }
- return accept;
- }
-
- function selectionLists() {
- return [SelectionListModel.Type.WordCandidateList];
- }
-
- function selectionListItemCount(type) {
- return multitapSequence.length > 1 ? multitapSequence.length : 0
- }
-
- function selectionListData(type, index, role) {
- var result = null
- switch (role) {
- case SelectionListModel.Role.Display:
- result = multitapSequence.charAt(index)
- break
- default:
- break
- }
- return result
- }
-
- function selectionListItemSelected(type, index) {
- multitapIndex = index
- inputContext.preeditText = multitapSequence.charAt(multitapIndex)
- update()
- }
-}
diff --git a/src/virtualkeyboard/content/components/NumberKey.qml b/src/virtualkeyboard/content/components/NumberKey.qml
deleted file mode 100644
index dfe29912..00000000
--- a/src/virtualkeyboard/content/components/NumberKey.qml
+++ /dev/null
@@ -1,47 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2016 The Qt Company Ltd.
-** Contact: https://www.qt.io/licensing/
-**
-** This file is part of the Qt Virtual Keyboard module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:GPL$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see https://www.qt.io/terms-conditions. For further
-** information use the contact form at https://www.qt.io/contact-us.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 3 or (at your option) any later version
-** approved by the KDE Free Qt Foundation. The licenses are as published by
-** the Free Software Foundation and appearing in the file LICENSE.GPL3
-** included in the packaging of this file. Please review the following
-** information to ensure the GNU General Public License requirements will
-** be met: https://www.gnu.org/licenses/gpl-3.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-import QtQuick 2.0
-
-/*!
- \qmltype NumberKey
- \inqmlmodule QtQuick.VirtualKeyboard
- \ingroup qtvirtualkeyboard-qml
- \inherits Key
-
- \brief Specialized number key for keyboard layouts.
-
- This key emits the key code and key text for input method processing.
- A NumberKey differs from a normal \l Key in that it does not show a
- character preview.
-*/
-
-Key {
- showPreview: false
-}
diff --git a/src/virtualkeyboard/content/components/PopupList.qml b/src/virtualkeyboard/content/components/PopupList.qml
deleted file mode 100644
index dcd02ee1..00000000
--- a/src/virtualkeyboard/content/components/PopupList.qml
+++ /dev/null
@@ -1,67 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2016 The Qt Company Ltd.
-** Contact: https://www.qt.io/licensing/
-**
-** This file is part of the Qt Virtual Keyboard module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:GPL$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see https://www.qt.io/terms-conditions. For further
-** information use the contact form at https://www.qt.io/contact-us.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 3 or (at your option) any later version
-** approved by the KDE Free Qt Foundation. The licenses are as published by
-** the Free Software Foundation and appearing in the file LICENSE.GPL3
-** included in the packaging of this file. Please review the following
-** information to ensure the GNU General Public License requirements will
-** be met: https://www.gnu.org/licenses/gpl-3.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-import QtQuick 2.0
-import QtQuick.VirtualKeyboard 2.3
-
-ListView {
- property int maxVisibleItems: 5
- readonly property int preferredVisibleItems: count < maxVisibleItems ? count : maxVisibleItems
- readonly property real contentWidth: contentItem.childrenRect.width
- property alias background: popupListBackground.sourceComponent
- property alias defaultHighlight: defaultHighlight
-
- clip: true
- visible: enabled && count > 0
- width: contentWidth
- height: currentItem ? currentItem.height * preferredVisibleItems + (spacing * preferredVisibleItems - 1) : 0
- orientation: ListView.Vertical
- snapMode: ListView.SnapToItem
- delegate: keyboard.style.popupListDelegate
- highlight: keyboard.style.popupListHighlight ? keyboard.style.popupListHighlight : defaultHighlight
- highlightMoveDuration: 0
- highlightResizeDuration: 0
- add: keyboard.style.popupListAdd
- remove: keyboard.style.popupListRemove
- keyNavigationWraps: true
-
- onCurrentItemChanged: if (currentItem) keyboard.soundEffect.register(currentItem.soundEffect)
-
- Component {
- id: defaultHighlight
- Item {}
- }
-
- Loader {
- id: popupListBackground
- sourceComponent: keyboard.style.popupListBackground
- anchors.fill: parent
- z: -1
- }
-}
diff --git a/src/virtualkeyboard/content/components/SelectionControl.qml b/src/virtualkeyboard/content/components/SelectionControl.qml
deleted file mode 100644
index 16961c23..00000000
--- a/src/virtualkeyboard/content/components/SelectionControl.qml
+++ /dev/null
@@ -1,100 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2016 The Qt Company Ltd.
-** Contact: https://www.qt.io/licensing/
-**
-** This file is part of the Qt Virtual Keyboard module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:GPL$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see https://www.qt.io/terms-conditions. For further
-** information use the contact form at https://www.qt.io/contact-us.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 3 or (at your option) any later version
-** approved by the KDE Free Qt Foundation. The licenses are as published by
-** the Free Software Foundation and appearing in the file LICENSE.GPL3
-** included in the packaging of this file. Please review the following
-** information to ensure the GNU General Public License requirements will
-** be met: https://www.gnu.org/licenses/gpl-3.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-import QtQuick 2.0
-import QtQuick.VirtualKeyboard 2.1
-
-Item {
- id: root
- property bool handleIsMoving: false
- property var inputContext: InputContext
- visible: enabled && (inputContext.selectionControlVisible || handleIsMoving) && !InputContext.animating
-
- Loader {
- id: anchorHandle
- sourceComponent: keyboard.style.selectionHandle
- x: visible ? inputContext.anchorRectangle.x - width/2 : 0
- y: visible ? inputContext.anchorRectangle.y + inputContext.anchorRectangle.height : 0
-
- Behavior on opacity {
- NumberAnimation { duration: 200 }
- }
- opacity: inputContext !== null && inputContext.anchorRectIntersectsClipRect ? 1.0 : 0.0
-
- MouseArea {
- width: parent.width * 2
- height: width * 1.12
- anchors.centerIn: parent
- onPositionChanged: {
- // we don't move the handles, the handles will move as the selection changes.
- // The middle of a handle is mapped to the middle of the line above it
- root.handleIsMoving = true
- var xx = x + anchorHandle.x + mouse.x
- var yy = y + anchorHandle.y + mouse.y - (anchorHandle.height + inputContext.anchorRectangle.height)/2
- var x2 = cursorHandle.x + cursorHandle.width/2
- var y2 = cursorHandle.y - inputContext.cursorRectangle.height/2
- inputContext.setSelectionOnFocusObject(Qt.point(xx,yy), Qt.point(x2,y2))
- }
- onReleased: {
- root.handleIsMoving = false
- }
- }
- }
-
- // selection cursor handle
- Loader {
- id: cursorHandle
- sourceComponent: keyboard.style.selectionHandle
- x: visible ? inputContext.cursorRectangle.x - width/2 : 0
- y: visible ? inputContext.cursorRectangle.y + inputContext.cursorRectangle.height : 0
-
- Behavior on opacity {
- NumberAnimation { duration: 200 }
- }
- opacity: inputContext !== null && inputContext.cursorRectIntersectsClipRect ? 1.0 : 0.0
-
- MouseArea {
- width: parent.width * 2
- height: width * 1.12
- anchors.centerIn: parent
- onPositionChanged: {
- // we don't move the handles, the handles will move as the selection changes.
- root.handleIsMoving = true
- var xx = anchorHandle.x + anchorHandle.width/2
- var yy = anchorHandle.y - inputContext.anchorRectangle.height/2
- var x2 = x + cursorHandle.x + mouse.x
- var y2 = y + cursorHandle.y + mouse.y - (cursorHandle.height + inputContext.cursorRectangle.height)/2
- inputContext.setSelectionOnFocusObject(Qt.point(xx, yy), Qt.point(x2, y2))
- }
- onReleased: {
- root.handleIsMoving = false
- }
- }
- }
-}
diff --git a/src/virtualkeyboard/content/components/ShadowInputControl.qml b/src/virtualkeyboard/content/components/ShadowInputControl.qml
deleted file mode 100644
index e3cde2e1..00000000
--- a/src/virtualkeyboard/content/components/ShadowInputControl.qml
+++ /dev/null
@@ -1,141 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2017 The Qt Company Ltd.
-** Contact: https://www.qt.io/licensing/
-**
-** This file is part of the Qt Virtual Keyboard module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:GPL$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see https://www.qt.io/terms-conditions. For further
-** information use the contact form at https://www.qt.io/contact-us.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 3 or (at your option) any later version
-** approved by the KDE Free Qt Foundation. The licenses are as published by
-** the Free Software Foundation and appearing in the file LICENSE.GPL3
-** included in the packaging of this file. Please review the following
-** information to ensure the GNU General Public License requirements will
-** be met: https://www.gnu.org/licenses/gpl-3.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-import QtQuick 2.7
-// Deliberately imported after QtQuick to avoid missing restoreMode property in Binding. Fix in Qt 6.
-import QtQml 2.14
-import QtQuick.VirtualKeyboard 2.2
-import QtQuick.VirtualKeyboard.Settings 2.2
-
-Item {
- id: control
-
- enabled: keyboard.active && VirtualKeyboardSettings.fullScreenMode
-
- MouseArea {
- anchors.fill: parent
- }
-
- onXChanged: InputContext.priv.shadow.updateSelectionProperties()
- onYChanged: InputContext.priv.shadow.updateSelectionProperties()
-
- Loader {
- sourceComponent: keyboard.style.fullScreenInputContainerBackground
- anchors.fill: parent
- Loader {
- id: fullScreenInputBackground
- sourceComponent: keyboard.style.fullScreenInputBackground
- anchors.fill: parent
- anchors.margins: keyboard.style.fullScreenInputMargins
- z: 1
- Flickable {
- id: flickable
- clip: true
- z: 2
- width: parent.width
- height: parent.height
- flickableDirection: Flickable.HorizontalFlick
- interactive: contentWidth > width
- contentWidth: shadowInput.width
- onContentXChanged: InputContext.priv.shadow.updateSelectionProperties()
-
- function ensureVisible(rectangle) {
- if (contentX >= rectangle.x)
- contentX = rectangle.x
- else if (contentX + width <= rectangle.x + rectangle.width)
- contentX = rectangle.x + rectangle.width - width;
- }
-
- TextInput {
- id: shadowInput
- objectName: "shadowInput"
- property bool blinkStatus: true
- width: Math.max(flickable.width, implicitWidth)
- height: implicitHeight
- anchors.verticalCenter: parent.verticalCenter
- leftPadding: keyboard.style.fullScreenInputPadding
- rightPadding: keyboard.style.fullScreenInputPadding
- activeFocusOnPress: false
- font: keyboard.style.fullScreenInputFont
- inputMethodHints: InputContext.inputMethodHints
- cursorDelegate: keyboard.style.fullScreenInputCursor
- passwordCharacter: keyboard.style.fullScreenInputPasswordCharacter
- color: keyboard.style.fullScreenInputColor
- selectionColor: keyboard.style.fullScreenInputSelectionColor
- selectedTextColor: keyboard.style.fullScreenInputSelectedTextColor
- echoMode: (InputContext.inputMethodHints & Qt.ImhHiddenText) ? TextInput.Password : TextInput.Normal
- selectByMouse: !!InputContext.inputItem && !!InputContext.inputItem.selectByMouse
- onCursorPositionChanged: {
- cursorSyncTimer.restart()
- blinkStatus = true
- cursorTimer.restart()
- }
- onSelectionStartChanged: cursorSyncTimer.restart()
- onSelectionEndChanged: cursorSyncTimer.restart()
- onCursorRectangleChanged: flickable.ensureVisible(cursorRectangle)
-
- function getAnchorPosition() {
- if (selectionStart == selectionEnd)
- return cursorPosition
- else if (selectionStart == cursorPosition)
- return selectionEnd
- else
- return selectionStart
- }
-
- Timer {
- id: cursorSyncTimer
- interval: 0
- onTriggered: {
- var anchorPosition = shadowInput.getAnchorPosition()
- if (anchorPosition !== InputContext.anchorPosition || shadowInput.cursorPosition !== InputContext.cursorPosition)
- InputContext.priv.forceCursorPosition(anchorPosition, shadowInput.cursorPosition)
- }
- }
-
- Timer {
- id: cursorTimer
- interval: Qt.styleHints.cursorFlashTime / 2
- repeat: true
- running: true
- onTriggered: shadowInput.blinkStatus = !shadowInput.blinkStatus
- }
- }
- }
- }
- }
-
- Binding {
- target: InputContext.priv.shadow
- property: "inputItem"
- value: shadowInput
- when: VirtualKeyboardSettings.fullScreenMode
- restoreMode: Binding.RestoreBinding
- }
-}
diff --git a/src/virtualkeyboard/content/components/ShiftKey.qml b/src/virtualkeyboard/content/components/ShiftKey.qml
deleted file mode 100644
index d31a601a..00000000
--- a/src/virtualkeyboard/content/components/ShiftKey.qml
+++ /dev/null
@@ -1,52 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2016 The Qt Company Ltd.
-** Contact: https://www.qt.io/licensing/
-**
-** This file is part of the Qt Virtual Keyboard module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:GPL$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see https://www.qt.io/terms-conditions. For further
-** information use the contact form at https://www.qt.io/contact-us.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 3 or (at your option) any later version
-** approved by the KDE Free Qt Foundation. The licenses are as published by
-** the Free Software Foundation and appearing in the file LICENSE.GPL3
-** included in the packaging of this file. Please review the following
-** information to ensure the GNU General Public License requirements will
-** be met: https://www.gnu.org/licenses/gpl-3.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-import QtQuick 2.0
-import QtQuick.VirtualKeyboard 2.1
-
-/*!
- \qmltype ShiftKey
- \inqmlmodule QtQuick.VirtualKeyboard
- \ingroup qtvirtualkeyboard-qml
- \inherits BaseKey
-
- \brief Shift key for keyboard layouts.
-
- This key changes the shift state of the keyboard.
-*/
-
-BaseKey {
- id: shiftKey
- key: Qt.Key_Shift
- enabled: InputContext.priv.shiftHandler.toggleShiftEnabled
- highlighted: InputContext.capsLockActive
- functionKey: true
- keyPanelDelegate: keyboard.style ? keyboard.style.shiftKeyPanel : undefined
- onClicked: InputContext.priv.shiftHandler.toggleShift()
-}
diff --git a/src/virtualkeyboard/content/components/SpaceKey.qml b/src/virtualkeyboard/content/components/SpaceKey.qml
deleted file mode 100644
index 5bfd25a8..00000000
--- a/src/virtualkeyboard/content/components/SpaceKey.qml
+++ /dev/null
@@ -1,50 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2016 The Qt Company Ltd.
-** Contact: https://www.qt.io/licensing/
-**
-** This file is part of the Qt Virtual Keyboard module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:GPL$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see https://www.qt.io/terms-conditions. For further
-** information use the contact form at https://www.qt.io/contact-us.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 3 or (at your option) any later version
-** approved by the KDE Free Qt Foundation. The licenses are as published by
-** the Free Software Foundation and appearing in the file LICENSE.GPL3
-** included in the packaging of this file. Please review the following
-** information to ensure the GNU General Public License requirements will
-** be met: https://www.gnu.org/licenses/gpl-3.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-import QtQuick 2.0
-
-/*!
- \qmltype SpaceKey
- \inqmlmodule QtQuick.VirtualKeyboard
- \ingroup qtvirtualkeyboard-qml
- \inherits Key
-
- \brief Space key for keyboard layouts.
-
- This key emits a space for input method processing.
-*/
-
-Key {
- text: " "
- displayText: ""
- repeat: true
- showPreview: false
- key: Qt.Key_Space
- keyPanelDelegate: keyboard.style ? keyboard.style.spaceKeyPanel : undefined
-}
diff --git a/src/virtualkeyboard/content/components/SymbolModeKey.qml b/src/virtualkeyboard/content/components/SymbolModeKey.qml
deleted file mode 100644
index 5129c390..00000000
--- a/src/virtualkeyboard/content/components/SymbolModeKey.qml
+++ /dev/null
@@ -1,49 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2016 The Qt Company Ltd.
-** Contact: https://www.qt.io/licensing/
-**
-** This file is part of the Qt Virtual Keyboard module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:GPL$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see https://www.qt.io/terms-conditions. For further
-** information use the contact form at https://www.qt.io/contact-us.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 3 or (at your option) any later version
-** approved by the KDE Free Qt Foundation. The licenses are as published by
-** the Free Software Foundation and appearing in the file LICENSE.GPL3
-** included in the packaging of this file. Please review the following
-** information to ensure the GNU General Public License requirements will
-** be met: https://www.gnu.org/licenses/gpl-3.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-import QtQuick 2.0
-
-/*!
- \qmltype SymbolModeKey
- \inqmlmodule QtQuick.VirtualKeyboard
- \ingroup qtvirtualkeyboard-qml
- \inherits Key
-
- \brief Symbol mode key for keyboard layouts.
-
- This key toggles between the symbol mode layout and the main layout.
-*/
-
-Key {
- key: Qt.Key_Context1
- displayText: "&123"
- functionKey: true
- onClicked: keyboard.symbolMode = !keyboard.symbolMode
- keyPanelDelegate: keyboard.style ? keyboard.style.symbolKeyPanel : undefined
-}
diff --git a/src/virtualkeyboard/content/components/TraceInputArea.qml b/src/virtualkeyboard/content/components/TraceInputArea.qml
deleted file mode 100644
index 40cb16f8..00000000
--- a/src/virtualkeyboard/content/components/TraceInputArea.qml
+++ /dev/null
@@ -1,186 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2016 The Qt Company Ltd.
-** Contact: https://www.qt.io/licensing/
-**
-** This file is part of the Qt Virtual Keyboard module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:GPL$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see https://www.qt.io/terms-conditions. For further
-** information use the contact form at https://www.qt.io/contact-us.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 3 or (at your option) any later version
-** approved by the KDE Free Qt Foundation. The licenses are as published by
-** the Free Software Foundation and appearing in the file LICENSE.GPL3
-** included in the packaging of this file. Please review the following
-** information to ensure the GNU General Public License requirements will
-** be met: https://www.gnu.org/licenses/gpl-3.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-import QtQuick 2.0
-import QtQuick.Window 2.2
-import QtQuick.VirtualKeyboard 2.1
-
-/*!
- \qmltype TraceInputArea
- \inqmlmodule QtQuick.VirtualKeyboard
- \ingroup qtvirtualkeyboard-qml
- \inherits MultiPointTouchArea
- \since QtQuick.VirtualKeyboard 2.0
-
- \brief A specialized MultiPointTouchArea for collecting touch input data.
-
- This type handles the trace interaction between the touch screen and the input engine.
-
- The traces are rendered using the delegate from the
- \l {KeyboardStyle::}{traceCanvasDelegate} property of the current
- \l KeyboardStyle.
-*/
-
-MultiPointTouchArea {
- id: traceInputArea
-
- /*! Pattern recognition mode of this input area.
-
- The default value is \l {InputEngine::patternRecognitionModes} {InputEngine.PatternRecognitionMode.None}.
- */
- property int patternRecognitionMode: InputEngine.PatternRecognitionMode.None
-
- /*! List of horizontal rulers in the input area.
-
- The rulers are defined as a number of pixels from the top edge of the boundingBox.
-
- Here is an example that demonstrates how to define rulers:
-
- \code
- horizontalRulers: [boundingBox.height / 3, boundingBox.height / 3 * 2]
- verticalRulers: [boundingBox.width / 3, boundingBox.width / 3 * 2]
- \endcode
- */
- property var horizontalRulers
-
- /*! List of vertical rulers in the input area.
-
- The rulers are defined as a number of pixels from the left edge of the boundingBox.
- */
- property var verticalRulers
-
- /*! Bounding box for the trace input.
-
- This property is readonly and is automatically updated based on the item size
- and margins.
- */
- readonly property rect boundingBox: (width > 0 && height > 0) ?
- Qt.rect(traceInputArea.x + traceInputArea.anchors.leftMargin,
- traceInputArea.y + traceInputArea.anchors.topMargin,
- traceInputArea.width,
- traceInputArea.height) :
- Qt.rect(0, 0, 0, 0)
-
- /*! Canvas type of this trace input area.
-
- This property can be used to distinguish between different types of canvases.
- For example, in full screen handwriting mode this property is set to \c "fullscreen", and
- in keyboard handwriting mode this property is set to \c "keyboard".
- */
- property string canvasType
-
- property var __traceCanvasList: ([])
-
- /*! \internal */
- function findTraceCanvasById(traceId) {
- for (var i = 0; i < __traceCanvasList.length;) {
- var traceCanvas = __traceCanvasList[i]
- if (!traceCanvas || !traceCanvas.trace)
- __traceCanvasList.splice(i, 1)
- else if (traceCanvas.trace.traceId === traceId)
- return traceCanvas
- else
- i++
- }
- return null
- }
-
- property var __traceCaptureDeviceInfo:
- ({
- channels: ['t'],
- sampleRate: 60,
- uniform: false,
- latency: 0.0,
- dpi: Screen.pixelDensity * 25.4
- })
- property var __traceScreenInfo:
- ({
- boundingBox: traceInputArea.boundingBox,
- horizontalRulers: traceInputArea.horizontalRulers,
- verticalRulers: traceInputArea.verticalRulers,
- canvasType: traceInputArea.canvasType
- })
-
- enabled: patternRecognitionMode !== InputEngine.PatternRecognitionMode.None && InputContext.inputEngine.patternRecognitionModes.indexOf(patternRecognitionMode) !== -1
-
- onPressed: {
- if (!keyboard.style.traceCanvasDelegate)
- return
- for (var i = 0; i < touchPoints.length; i++) {
- var trace = InputContext.inputEngine.traceBegin(touchPoints[i].pointId, patternRecognitionMode, __traceCaptureDeviceInfo, __traceScreenInfo)
- if (trace) {
- var traceCanvas = keyboard.style.traceCanvasDelegate.createObject(traceInputArea, { "trace": trace, "autoDestroy": true })
- traceCanvas.anchors.fill = traceCanvas.parent
- var index = trace.addPoint(Qt.point(touchPoints[i].x, touchPoints[i].y))
- if (trace.channels.indexOf('t') !== -1) {
- var dt = new Date()
- trace.setChannelData('t', index, dt.getTime())
- }
- __traceCanvasList.push(traceCanvas)
- }
- }
- }
-
- onUpdated: {
- for (var i = 0; i < touchPoints.length; i++) {
- var traceCanvas = findTraceCanvasById(touchPoints[i].pointId)
- if (traceCanvas) {
- var trace = traceCanvas.trace
- var index = trace.addPoint(Qt.point(touchPoints[i].x, touchPoints[i].y))
- if (trace.channels.indexOf('t') !== -1) {
- var dt = new Date()
- trace.setChannelData('t', index, dt.getTime())
- }
- }
- }
- }
-
- onReleased: {
- for (var i = 0; i < touchPoints.length; i++) {
- var traceCanvas = findTraceCanvasById(touchPoints[i].pointId)
- if (traceCanvas) {
- traceCanvas.trace.final = true
- __traceCanvasList.splice(__traceCanvasList.indexOf(traceCanvas), 1)
- InputContext.inputEngine.traceEnd(traceCanvas.trace)
- }
- }
- }
-
- onCanceled: {
- for (var i = 0; i < touchPoints.length; i++) {
- var traceCanvas = findTraceCanvasById(touchPoints[i].pointId)
- if (traceCanvas) {
- traceCanvas.trace.final = true
- traceCanvas.trace.canceled = true
- __traceCanvasList.splice(__traceCanvasList.indexOf(traceCanvas), 1)
- InputContext.inputEngine.traceEnd(traceCanvas.trace)
- }
- }
- }
-}
diff --git a/src/virtualkeyboard/content/components/TraceInputKey.qml b/src/virtualkeyboard/content/components/TraceInputKey.qml
deleted file mode 100644
index dfd58ac9..00000000
--- a/src/virtualkeyboard/content/components/TraceInputKey.qml
+++ /dev/null
@@ -1,116 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2016 The Qt Company Ltd.
-** Contact: https://www.qt.io/licensing/
-**
-** This file is part of the Qt Virtual Keyboard module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:GPL$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see https://www.qt.io/terms-conditions. For further
-** information use the contact form at https://www.qt.io/contact-us.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 3 or (at your option) any later version
-** approved by the KDE Free Qt Foundation. The licenses are as published by
-** the Free Software Foundation and appearing in the file LICENSE.GPL3
-** included in the packaging of this file. Please review the following
-** information to ensure the GNU General Public License requirements will
-** be met: https://www.gnu.org/licenses/gpl-3.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-import QtQuick 2.0
-import QtQuick.Layouts 1.0
-
-/*!
- \qmltype TraceInputKey
- \inqmlmodule QtQuick.VirtualKeyboard
- \ingroup qtvirtualkeyboard-qml
- \inherits Item
- \since QtQuick.VirtualKeyboard 2.0
-
- \brief A specialized key for collecting touch input data.
-
- This type can be placed in the keyboard layout. It collects
- and renders touch input data (trace) from the key area.
-*/
-
-Item {
- id: traceInputKey
-
- /*! Sets the key weight value which determines the relative size of the key.
-
- Use this property to change the key size in the layout.
-
- The default value is inherited from the parent element
- of the key in the layout hierarchy.
- */
- property real weight: parent.keyWeight
-
- /*! Pattern recognition mode of this input area.
-
- The default value is \l {InputEngine::patternRecognitionModes} {InputEngine.PatternRecognitionMode.None}.
- */
- property alias patternRecognitionMode: traceInputArea.patternRecognitionMode
-
- /*! List of horizontal rulers in the input area.
-
- The rulers are defined as a number of pixels from the top edge of the bounding box.
-
- Here is an example that demonstrates how to define rulers:
-
- \code
- horizontalRulers: [boundingBox.height / 3, boundingBox.height / 3 * 2]
- verticalRulers: [boundingBox.width / 3, boundingBox.width / 3 * 2]
- \endcode
- */
- property alias horizontalRulers: traceInputArea.horizontalRulers
-
- /*! List of vertical rulers in the input area.
-
- The rulers are defined as a number of pixels from the left edge of the bounding box.
- */
- property alias verticalRulers: traceInputArea.verticalRulers
-
- /*! Bounding box for the trace input.
-
- This property is readonly and is automatically updated based on the item size
- and margins.
- */
- readonly property alias boundingBox: traceInputArea.boundingBox
-
- /*! Canvas type of this trace input area.
-
- This property can be used to distinguish between different types of canvases.
- The default value is \c "keyboard".
- */
- property alias canvasType: traceInputArea.canvasType
-
- Layout.minimumWidth: traceInputKeyPanel.implicitWidth
- Layout.minimumHeight: traceInputKeyPanel.implicitHeight
- Layout.preferredWidth: weight
- Layout.fillWidth: true
- Layout.fillHeight: true
- canvasType: "keyboard"
-
- Loader {
- id: traceInputKeyPanel
- sourceComponent: keyboard.style.traceInputKeyPanelDelegate
- anchors.fill: parent
- onStatusChanged: if (status == Loader.Ready) traceInputKeyPanel.item.control = traceInputKey
- }
-
- TraceInputArea {
- id: traceInputArea
- anchors.fill: traceInputKeyPanel
- anchors.margins: traceInputKeyPanel.item ? traceInputKeyPanel.item.traceMargins : 0
- }
-}
diff --git a/src/virtualkeyboard/content/components/WordCandidatePopupList.qml b/src/virtualkeyboard/content/components/WordCandidatePopupList.qml
deleted file mode 100644
index 5790bc74..00000000
--- a/src/virtualkeyboard/content/components/WordCandidatePopupList.qml
+++ /dev/null
@@ -1,85 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2016 The Qt Company Ltd.
-** Contact: https://www.qt.io/licensing/
-**
-** This file is part of the Qt Virtual Keyboard module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:GPL$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see https://www.qt.io/terms-conditions. For further
-** information use the contact form at https://www.qt.io/contact-us.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 3 or (at your option) any later version
-** approved by the KDE Free Qt Foundation. The licenses are as published by
-** the Free Software Foundation and appearing in the file LICENSE.GPL3
-** included in the packaging of this file. Please review the following
-** information to ensure the GNU General Public License requirements will
-** be met: https://www.gnu.org/licenses/gpl-3.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-import QtQuick 2.0
-// Deliberately imported after QtQuick to avoid missing restoreMode property in Binding. Fix in Qt 6.
-import QtQml 2.14
-import QtQuick.VirtualKeyboard 2.3
-
-PopupList {
- id: wordCandidatePopupList
-
- readonly property int preferredVisibleItems: {
- if (!currentItem)
- return 0
- var maxHeight = flipVertical ? Qt.inputMethod.cursorRectangle.y : parent.height - Qt.inputMethod.cursorRectangle.height - Qt.inputMethod.cursorRectangle.y
- var result = Math.min(count, maxVisibleItems)
- while (result > 2 && result * currentItem.height > maxHeight)
- --result
- return result
- }
- readonly property bool flipVertical: currentItem &&
- Qt.inputMethod.cursorRectangle.y + (Qt.inputMethod.cursorRectangle.height / 2) > (parent.height / 2) &&
- Qt.inputMethod.cursorRectangle.y + Qt.inputMethod.cursorRectangle.height + (currentItem.height * 2) > parent.height
-
- height: currentItem ? currentItem.height * preferredVisibleItems + (spacing * preferredVisibleItems - 1) : 0
- Binding {
- target: wordCandidatePopupList
- property: "x"
- value: Math.round(Qt.inputMethod.cursorRectangle.x -
- (wordCandidatePopupList.currentItem ?
- (wordCandidatePopupList.currentItem.hasOwnProperty("cursorAnchor") ?
- wordCandidatePopupList.currentItem.cursorAnchor : wordCandidatePopupList.currentItem.width) : 0))
- when: wordCandidatePopupList.visible
- restoreMode: Binding.RestoreBinding
- }
- Binding {
- target: wordCandidatePopupList
- property: "y"
- value: Math.round(wordCandidatePopupList.flipVertical ? Qt.inputMethod.cursorRectangle.y - wordCandidatePopupList.height : Qt.inputMethod.cursorRectangle.y + Qt.inputMethod.cursorRectangle.height)
- when: wordCandidatePopupList.visible
- restoreMode: Binding.RestoreBinding
- }
- model: enabled ? InputContext.inputEngine.wordCandidateListModel : null
-
- onContentWidthChanged: viewResizeTimer.restart()
-
- Timer {
- id: viewResizeTimer
- interval: 0
- repeat: false
- onTriggered: wordCandidatePopupList.width = wordCandidatePopupList.contentWidth
- }
-
- Connections {
- target: wordCandidatePopupList.model ? wordCandidatePopupList.model : null
- onActiveItemChanged: wordCandidatePopupList.currentIndex = index
- onItemSelected: if (wordCandidatePopupList.currentItem) keyboard.soundEffect.play(wordCandidatePopupList.currentItem.soundEffect)
- }
-}
diff --git a/src/virtualkeyboard/content/layouts/ar_AR/dialpad.fallback b/src/virtualkeyboard/content/layouts/ar_AR/dialpad.fallback
deleted file mode 100644
index e69de29b..00000000
--- a/src/virtualkeyboard/content/layouts/ar_AR/dialpad.fallback
+++ /dev/null
diff --git a/src/virtualkeyboard/content/layouts/ar_AR/digits.qml b/src/virtualkeyboard/content/layouts/ar_AR/digits.qml
deleted file mode 100644
index 6d7047f4..00000000
--- a/src/virtualkeyboard/content/layouts/ar_AR/digits.qml
+++ /dev/null
@@ -1,121 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2016 The Qt Company Ltd.
-** Contact: https://www.qt.io/licensing/
-**
-** This file is part of the Qt Virtual Keyboard module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:GPL$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see https://www.qt.io/terms-conditions. For further
-** information use the contact form at https://www.qt.io/contact-us.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 3 or (at your option) any later version
-** approved by the KDE Free Qt Foundation. The licenses are as published by
-** the Free Software Foundation and appearing in the file LICENSE.GPL3
-** included in the packaging of this file. Please review the following
-** information to ensure the GNU General Public License requirements will
-** be met: https://www.gnu.org/licenses/gpl-3.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-import QtQuick 2.0
-import QtQuick.Layouts 1.0
-import QtQuick.VirtualKeyboard 2.1
-import QtQuick.VirtualKeyboard.Plugins 2.3
-
-KeyboardLayout {
- inputMethod: PlainInputMethod {}
- inputMode: InputEngine.InputMode.Numeric
-
- KeyboardColumn {
- Layout.fillWidth: false
- Layout.fillHeight: true
- Layout.alignment: Qt.AlignHCenter
- Layout.preferredWidth: height
- KeyboardRow {
- Key {
- key: 0x0667
- text: "\u0667"
- alternativeKeys: "\u06677"
- }
- Key {
- key: 0x0668
- text: "\u0668"
- alternativeKeys: "\u06688"
- }
- Key {
- key: 0x0669
- text: "\u0669"
- alternativeKeys: "\u06699"
- }
- BackspaceKey {}
- }
- KeyboardRow {
- Key {
- key: 0x0664
- text: "\u0664"
- alternativeKeys: "\u06644"
- }
- Key {
- key: 0x0665
- text: "\u0665"
- alternativeKeys: "\u06655"
- }
- Key {
- key: 0x0666
- text: "\u0666"
- alternativeKeys: "\u06666"
- }
- Key {
- text: " "
- displayText: "\u2423"
- repeat: true
- showPreview: false
- key: Qt.Key_Space
- }
- }
- KeyboardRow {
- Key {
- key: 0x0661
- text: "\u0661"
- alternativeKeys: "\u06611"
- }
- Key {
- key: 0x0662
- text: "\u0662"
- alternativeKeys: "\u06622"
- }
- Key {
- key: 0x0663
- text: "\u0663"
- alternativeKeys: "\u06633"
- }
- HideKeyboardKey {}
- }
- KeyboardRow {
- ChangeLanguageKey {
- customLayoutsOnly: true
- }
- Key {
- key: 0x0660
- text: "\u0660"
- alternativeKeys: "\u06600"
- }
- Key {
- key: Qt.Key_Comma
- text: "\u066B"
- alternativeKeys: "\u066B,."
- }
- EnterKey {}
- }
- }
-}
diff --git a/src/virtualkeyboard/content/layouts/ar_AR/handwriting.qml b/src/virtualkeyboard/content/layouts/ar_AR/handwriting.qml
deleted file mode 100644
index f82e4b6c..00000000
--- a/src/virtualkeyboard/content/layouts/ar_AR/handwriting.qml
+++ /dev/null
@@ -1,116 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2016 The Qt Company Ltd.
-** Contact: https://www.qt.io/licensing/
-**
-** This file is part of the Qt Virtual Keyboard module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:GPL$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see https://www.qt.io/terms-conditions. For further
-** information use the contact form at https://www.qt.io/contact-us.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 3 or (at your option) any later version
-** approved by the KDE Free Qt Foundation. The licenses are as published by
-** the Free Software Foundation and appearing in the file LICENSE.GPL3
-** included in the packaging of this file. Please review the following
-** information to ensure the GNU General Public License requirements will
-** be met: https://www.gnu.org/licenses/gpl-3.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-import QtQuick 2.0
-import QtQuick.Layouts 1.0
-import QtQuick.VirtualKeyboard 2.3
-
-KeyboardLayout {
- function createInputMethod() {
- return Qt.createQmlObject('import QtQuick 2.0; import QtQuick.VirtualKeyboard.Plugins 2.3; HandwritingInputMethod {}', parent)
- }
- sharedLayouts: ['symbols']
- inputMode: InputEngine.InputMode.Arabic
- readonly property bool alphabeticInputMode: [InputEngine.InputMode.Latin, InputEngine.InputMode.Dialable].indexOf(InputContext.inputEngine.inputMode) !== -1
-
- KeyboardRow {
- Layout.preferredHeight: 3
- KeyboardColumn {
- Layout.preferredWidth: bottomRow.width - hideKeyboardKey.width
- KeyboardRow {
- TraceInputKey {
- objectName: "hwrInputArea"
- patternRecognitionMode: InputEngine.PatternRecognitionMode.Handwriting
- horizontalRulers:
- alphabeticInputMode ? [] :
- [Math.round(boundingBox.height / 4), Math.round(boundingBox.height / 4) * 2, Math.round(boundingBox.height / 4) * 3]
- }
- }
- }
- KeyboardColumn {
- Layout.preferredWidth: hideKeyboardKey.width
- KeyboardRow {
- BackspaceKey {}
- }
- KeyboardRow {
- EnterKey {}
- }
- KeyboardRow {
- ShiftKey { }
- }
- }
- }
- KeyboardRow {
- id: bottomRow
- Layout.preferredHeight: 1
- keyWeight: 154
- InputModeKey {
- weight: 217
- inputModeNameList: [
- "ABC", // InputEngine.InputMode.Latin
- "\u0660\u0661\u0662", // InputEngine.InputMode.Numeric
- "123", // InputEngine.InputMode.Dialable
- "", // InputEngine.InputMode.Pinyin
- "", // InputEngine.InputMode.Cangjie
- "", // InputEngine.InputMode.Zhuyin
- "", // InputEngine.InputMode.Hangul
- "", // InputEngine.InputMode.Hiragana
- "", // InputEngine.InputMode.Katakana
- "", // InputEngine.InputMode.FullwidthLatin
- "", // InputEngine.InputMode.Greek
- "", // InputEngine.InputMode.Cyrillic
- "\u0623\u200C\u0628\u200C\u062C", // InputEngine.InputMode.Arabic
- ]
- }
- ChangeLanguageKey {
- weight: 154
- customLayoutsOnly: true
- }
- HandwritingModeKey {
- weight: 154
- }
- SpaceKey {
- weight: 864
- }
- Key {
- key: alphabeticInputMode ? Qt.Key_Apostrophe : 0x060C
- text: alphabeticInputMode ? "'" : "\u060C"
- alternativeKeys: alphabeticInputMode ? "<>()#%&*/\\\"'=+-_" : "\"\u060C\u066B\u066C\u066D"
- }
- Key {
- key: Qt.Key_Period
- text: "."
- alternativeKeys: alphabeticInputMode ? ":;,.?!" : ":\u061B.\u061F!"
- }
- HideKeyboardKey {
- id: hideKeyboardKey
- weight: 204
- }
- }
-}
diff --git a/src/virtualkeyboard/content/layouts/ar_AR/main.qml b/src/virtualkeyboard/content/layouts/ar_AR/main.qml
deleted file mode 100644
index a7f0e5b9..00000000
--- a/src/virtualkeyboard/content/layouts/ar_AR/main.qml
+++ /dev/null
@@ -1,340 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2016 The Qt Company Ltd.
-** Contact: https://www.qt.io/licensing/
-**
-** This file is part of the Qt Virtual Keyboard module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:GPL$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see https://www.qt.io/terms-conditions. For further
-** information use the contact form at https://www.qt.io/contact-us.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 3 or (at your option) any later version
-** approved by the KDE Free Qt Foundation. The licenses are as published by
-** the Free Software Foundation and appearing in the file LICENSE.GPL3
-** included in the packaging of this file. Please review the following
-** information to ensure the GNU General Public License requirements will
-** be met: https://www.gnu.org/licenses/gpl-3.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-import QtQuick 2.0
-import QtQuick.VirtualKeyboard 2.3
-
-KeyboardLayoutLoader {
- inputMode: InputEngine.InputMode.Arabic
- sourceComponent: InputContext.shiftActive ? page2 : page1
- Component {
- id: page1
- KeyboardLayout {
- keyWeight: 160
- KeyboardRow {
- Key {
- text: "\u0636"
- }
- Key {
- text: "\u0635"
- }
- Key {
- text: "\u062B"
- }
- Key {
- text: "\u0642"
- }
- Key {
- text: "\u0641"
- }
- Key {
- text: "\u063A"
- }
- Key {
- text: "\u0639"
- }
- Key {
- text: "\u0647"
- }
- Key {
- text: "\u062E"
- }
- Key {
- text: "\u062D"
- }
- Key {
- text: "\u062C"
- }
- Key {
- text: "\u062F"
- }
- BackspaceKey {}
- }
- KeyboardRow {
- FillerKey {
- weight: 56
- }
- Key {
- text: "\u0634"
- }
- Key {
- text: "\u0633"
- }
- Key {
- text: "\u064A"
- }
- Key {
- text: "\u0628"
- }
- Key {
- text: "\u0644"
- }
- Key {
- text: "\u0627"
- }
- Key {
- text: "\u062A"
- }
- Key {
- text: "\u0646"
- }
- Key {
- text: "\u0645"
- }
- Key {
- text: "\u0643"
- }
- Key {
- text: "\u0637"
- }
- EnterKey {
- weight: 283
- }
- }
- KeyboardRow {
- keyWeight: 156
- ShiftKey {}
- Key {
- text: "\u0626"
- }
- Key {
- text: "\u0621"
- }
- Key {
- text: "\u0624"
- }
- Key {
- text: "\u0631"
- }
- Key {
- text: "\u0644\u0627"
- }
- Key {
- text: "\u0649"
- }
- Key {
- text: "\u0629"
- }
- Key {
- text: "\u0648"
- }
- Key {
- text: "\u0632"
- }
- Key {
- text: "\u0638"
- }
- ShiftKey {
- weight: 264
- }
- }
- KeyboardRow {
- keyWeight: 154
- SymbolModeKey {
- weight: 217
- displayText: "\u0661\u0662\u0663\u061F"
- }
- ChangeLanguageKey {
- weight: 154
- }
- HandwritingModeKey {
- weight: 154
- }
- SpaceKey {
- weight: 864
- }
- Key {
- key: 0x060C
- text: "\u060C"
- alternativeKeys: "\"\u061F\u060C.!:\u061B\u066B\u066C\u066D"
- }
- Key {
- key: 0xE000
- text: ":-)"
- alternativeKeys: [ ";-)", ":-)", ":-D", ":-(", "<3" ]
- }
- HideKeyboardKey {
- weight: 204
- }
- }
- }
- }
- Component {
- id: page2
- KeyboardLayout {
- keyWeight: 160
- KeyboardRow {
- Key {
- text: "\u064E"
- }
- Key {
- text: "\u064B"
- }
- Key {
- text: "\u064F"
- }
- Key {
- text: "\u064C"
- }
- Key {
- text: "\uFEF9"
- }
- Key {
- text: "\u0625"
- }
- Key {
- enabled: false
- }
- Key {
- enabled: false
- }
- Key {
- enabled: false
- }
- Key {
- enabled: false
- }
- Key {
- enabled: false
- }
- Key {
- text: "\u0630"
- }
- BackspaceKey {}
- }
- KeyboardRow {
- FillerKey {
- weight: 56
- }
- Key {
- text: "\u0650"
- }
- Key {
- text: "\u064D"
- }
- Key {
- enabled: false
- }
- Key {
- enabled: false
- }
- Key {
- text: "\u0644\u0623"
- }
- Key {
- text: "\u0623"
- }
- Key {
- enabled: false
- }
- Key {
- enabled: false
- }
- Key {
- enabled: false
- }
- Key {
- enabled: false
- }
- Key {
- enabled: false
- }
- EnterKey {
- weight: 283
- }
- }
- KeyboardRow {
- keyWeight: 156
- ShiftKey {}
- Key {
- enabled: false
- }
- Key {
- text: "\u0652"
- }
- Key {
- enabled: false
- }
- Key {
- enabled: false
- }
- Key {
- text: "\u0644\u0622"
- }
- Key {
- text: "\u0622"
- }
- Key {
- enabled: false
- }
- Key {
- enabled: false
- }
- Key {
- enabled: false
- }
- Key {
- enabled: false
- }
- ShiftKey {
- weight: 264
- }
- }
- KeyboardRow {
- keyWeight: 154
- SymbolModeKey {
- weight: 217
- displayText: "\u0661\u0662\u0663\u061F"
- }
- ChangeLanguageKey {
- weight: 154
- }
- HandwritingModeKey {
- weight: 154
- }
- SpaceKey {
- weight: 864
- }
- Key {
- key: 0x061F
- text: "\u061F"
- alternativeKeys: ".,\u060C\u061F"
- }
- Key {
- key: 0xE000
- text: ":-)"
- alternativeKeys: [ ";-)", ":-)", ":-D", ":-(", "<3" ]
- }
- HideKeyboardKey {
- weight: 204
- }
- }
- }
- }
-}
diff --git a/src/virtualkeyboard/content/layouts/ar_AR/numbers.qml b/src/virtualkeyboard/content/layouts/ar_AR/numbers.qml
deleted file mode 100644
index fe709489..00000000
--- a/src/virtualkeyboard/content/layouts/ar_AR/numbers.qml
+++ /dev/null
@@ -1,194 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2016 The Qt Company Ltd.
-** Contact: https://www.qt.io/licensing/
-**
-** This file is part of the Qt Virtual Keyboard module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:GPL$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see https://www.qt.io/terms-conditions. For further
-** information use the contact form at https://www.qt.io/contact-us.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 3 or (at your option) any later version
-** approved by the KDE Free Qt Foundation. The licenses are as published by
-** the Free Software Foundation and appearing in the file LICENSE.GPL3
-** included in the packaging of this file. Please review the following
-** information to ensure the GNU General Public License requirements will
-** be met: https://www.gnu.org/licenses/gpl-3.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-import QtQuick 2.0
-import QtQuick.Layouts 1.0
-import QtQuick.VirtualKeyboard 2.1
-import QtQuick.VirtualKeyboard.Plugins 2.3
-
-KeyboardLayout {
- inputMethod: PlainInputMethod {}
- inputMode: InputEngine.InputMode.Numeric
-
- KeyboardRow {
- Layout.fillWidth: false
- Layout.fillHeight: true
- Layout.alignment: Qt.AlignHCenter
- KeyboardColumn {
- Layout.fillWidth: false
- Layout.fillHeight: true
- Layout.preferredWidth: parent.height / 4 * 3
- KeyboardRow {
- Key {
- key: Qt.Key_ParenLeft
- text: "("
- }
- Key {
- key: Qt.Key_ParenRight
- text: ")"
- }
- Key {
- key: Qt.Key_Period
- text: "."
- }
- }
- KeyboardRow {
- Key {
- key: Qt.Key_division
- text: "\u00F7"
- }
- Key {
- key: Qt.Key_multiply
- text: "\u00D7"
- }
- Key {
- key: Qt.Key_Plus
- text: "+"
- }
- }
- KeyboardRow {
- Key {
- key: Qt.Key_AsciiCircum
- text: "^"
- }
- Key {
- key: Qt.Key_Slash
- text: "/"
- }
- Key {
- key: Qt.Key_Minus
- text: "-"
- }
- }
- KeyboardRow {
- Key {
- key: 0x221A
- text: "√"
- }
- Key {
- key: Qt.Key_Percent
- text: "%"
- }
- Key {
- key: Qt.Key_Asterisk
- text: "*"
- }
- }
- }
- KeyboardColumn {
- Layout.fillWidth: false
- Layout.fillHeight: true
- Layout.preferredWidth: parent.height / 8
- KeyboardRow {
- FillerKey {}
- }
- }
- KeyboardColumn {
- Layout.fillWidth: false
- Layout.fillHeight: true
- Layout.preferredWidth: parent.height
- KeyboardRow {
- Key {
- key: 0x0667
- text: "\u0667"
- alternativeKeys: "\u06677"
- }
- Key {
- key: 0x0668
- text: "\u0668"
- alternativeKeys: "\u06688"
- }
- Key {
- key: 0x0669
- text: "\u0669"
- alternativeKeys: "\u06699"
- }
- BackspaceKey {}
- }
- KeyboardRow {
- Key {
- key: 0x0664
- text: "\u0664"
- alternativeKeys: "\u06644"
- }
- Key {
- key: 0x0665
- text: "\u0665"
- alternativeKeys: "\u06655"
- }
- Key {
- key: 0x0666
- text: "\u0666"
- alternativeKeys: "\u06666"
- }
- Key {
- text: " "
- displayText: "\u2423"
- repeat: true
- showPreview: false
- key: Qt.Key_Space
- }
- }
- KeyboardRow {
- Key {
- key: 0x0661
- text: "\u0661"
- alternativeKeys: "\u06611"
- }
- Key {
- key: 0x0662
- text: "\u0662"
- alternativeKeys: "\u06622"
- }
- Key {
- key: 0x0663
- text: "\u0663"
- alternativeKeys: "\u06633"
- }
- HideKeyboardKey {}
- }
- KeyboardRow {
- ChangeLanguageKey {
- customLayoutsOnly: true
- }
- Key {
- key: 0x0660
- text: "\u0660"
- alternativeKeys: "\u06600"
- }
- Key {
- key: Qt.Key_Comma
- text: "\u066B"
- alternativeKeys: "\u066B,."
- }
- EnterKey {}
- }
- }
- }
-}
diff --git a/src/virtualkeyboard/content/layouts/ar_AR/symbols.qml b/src/virtualkeyboard/content/layouts/ar_AR/symbols.qml
deleted file mode 100644
index 2da52923..00000000
--- a/src/virtualkeyboard/content/layouts/ar_AR/symbols.qml
+++ /dev/null
@@ -1,388 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2016 The Qt Company Ltd.
-** Contact: https://www.qt.io/licensing/
-**
-** This file is part of the Qt Virtual Keyboard module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:GPL$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see https://www.qt.io/terms-conditions. For further
-** information use the contact form at https://www.qt.io/contact-us.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 3 or (at your option) any later version
-** approved by the KDE Free Qt Foundation. The licenses are as published by
-** the Free Software Foundation and appearing in the file LICENSE.GPL3
-** included in the packaging of this file. Please review the following
-** information to ensure the GNU General Public License requirements will
-** be met: https://www.gnu.org/licenses/gpl-3.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-import QtQuick 2.0
-import QtQuick.Layouts 1.0
-import QtQuick.VirtualKeyboard 2.1
-
-KeyboardLayoutLoader {
- property bool secondPage
- onVisibleChanged: if (!visible) secondPage = false
- sourceComponent: secondPage ? page2 : page1
- Component {
- id: page1
- KeyboardLayout {
- keyWeight: 160
- KeyboardRow {
- Key {
- key: 0x0661
- text: "\u0661"
- alternativeKeys: "\u06611"
- }
- Key {
- key: 0x0662
- text: "\u0662"
- alternativeKeys: "\u06622"
- }
- Key {
- key: 0x0663
- text: "\u0663"
- alternativeKeys: "\u06633"
- }
- Key {
- key: 0x0664
- text: "\u0664"
- alternativeKeys: "\u06644"
- }
- Key {
- key: 0x0665
- text: "\u0665"
- alternativeKeys: "\u06655"
- }
- Key {
- key: 0x0666
- text: "\u0666"
- alternativeKeys: "\u06666"
- }
- Key {
- key: 0x0667
- text: "\u0667"
- alternativeKeys: "\u06677"
- }
- Key {
- key: 0x0668
- text: "\u0668"
- alternativeKeys: "\u06688"
- }
- Key {
- key: 0x0669
- text: "\u0669"
- alternativeKeys: "\u06699"
- }
- Key {
- key: 0x0660
- text: "\u0660"
- alternativeKeys: "\u06600"
- }
- BackspaceKey {}
- }
- KeyboardRow {
- FillerKey {
- weight: 56
- }
- Key {
- key: Qt.Key_At
- text: "@"
- }
- Key {
- key: Qt.Key_NumberSign
- text: "#"
- }
- Key {
- key: Qt.Key_Percent
- text: "%"
- }
- Key {
- key: Qt.Key_Ampersand
- text: "&"
- }
- Key {
- key: Qt.Key_Asterisk
- text: "*"
- }
- Key {
- key: Qt.Key_Minus
- text: "-"
- }
- Key {
- key: Qt.Key_Plus
- text: "+"
- }
- Key {
- key: Qt.Key_ParenLeft
- text: "("
- }
- Key {
- key: Qt.Key_ParenRight
- text: ")"
- }
- EnterKey {
- weight: 283
- }
- }
- KeyboardRow {
- keyWeight: 156
- Key {
- displayText: "1/2"
- functionKey: true
- onClicked: secondPage = !secondPage
- }
- Key {
- key: Qt.Key_Exclam
- text: "!"
- }
- Key {
- key: Qt.Key_QuoteDbl
- text: '"'
- }
- Key {
- key: Qt.Key_Less
- text: "<"
- }
- Key {
- key: Qt.Key_Greater
- text: ">"
- }
- Key {
- key: Qt.Key_Apostrophe
- text: "'"
- }
- Key {
- key: Qt.Key_Colon
- text: ":"
- }
- Key {
- key: 0x061B
- text: "\u061B"
- alternativeKeys: "\u061B;"
- }
- Key {
- key: Qt.Key_Slash
- text: "/"
- }
- Key {
- key: 0x061F
- text: "\u061F"
- alternativeKeys: "\u061F?"
- }
- Key {
- weight: 204
- displayText: "1/2"
- functionKey: true
- onClicked: secondPage = !secondPage
- }
- }
- KeyboardRow {
- keyWeight: 154
- SymbolModeKey {
- weight: 217
- displayText: "\u0623\u200C\u0628\u200C\u062C"
- }
- ChangeLanguageKey {
- weight: 154
- }
- SpaceKey {
- weight: 864
- }
- Key {
- key: Qt.Key_Period
- text: "."
- alternativeKeys: ".\u060C,"
- }
- Key {
- key: 0xE000
- text: ":-)"
- alternativeKeys: [ ";-)", ":-)", ":-D", ":-(", "<3" ]
- }
- HideKeyboardKey {
- weight: 204
- }
- }
- }
- }
- Component {
- id: page2
- KeyboardLayout {
- keyWeight: 160
- KeyboardRow {
- Key {
- key: Qt.Key_AsciiTilde
- text: "~"
- }
- Key {
- key: Qt.Key_Agrave
- text: "`"
- }
- Key {
- key: Qt.Key_Bar
- text: "|"
- }
- Key {
- key: 0x7B
- text: "·"
- }
- Key {
- key: 0x221A
- text: "√"
- }
- Key {
- key: Qt.Key_division
- text: "÷"
- }
- Key {
- key: Qt.Key_multiply
- text: "×"
- }
- Key {
- key: Qt.Key_onehalf
- text: "½"
- alternativeKeys: "¼⅓½¾⅞"
- }
- Key {
- key: Qt.Key_BraceLeft
- text: "{"
- }
- Key {
- key: Qt.Key_BraceRight
- text: "}"
- }
- BackspaceKey {}
- }
- KeyboardRow {
- FillerKey {
- weight: 56
- }
- Key {
- key: Qt.Key_Dollar
- text: "$"
- }
- Key {
- key: 0x20AC
- text: "€"
- }
- Key {
- key: 0xC2
- text: "£"
- }
- Key {
- key: 0xA2
- text: "¢"
- }
- Key {
- key: 0xA5
- text: "¥"
- }
- Key {
- key: Qt.Key_Equal
- text: "="
- }
- Key {
- key: Qt.Key_section
- text: "§"
- }
- Key {
- key: Qt.Key_BracketLeft
- text: "["
- }
- Key {
- key: Qt.Key_BracketRight
- text: "]"
- }
- EnterKey {
- weight: 283
- }
- }
- KeyboardRow {
- keyWeight: 156
- Key {
- displayText: "2/2"
- functionKey: true
- onClicked: secondPage = !secondPage
- }
- Key {
- key: Qt.Key_Underscore
- text: "_"
- }
- Key {
- key: 0x2122
- text: '™'
- }
- Key {
- key: 0x00AE
- text: '®'
- }
- Key {
- key: Qt.Key_guillemotleft
- text: '«'
- }
- Key {
- key: Qt.Key_guillemotright
- text: '»'
- }
- Key {
- key: 0x201C
- text: '“'
- }
- Key {
- key: 0x201D
- text: '”'
- }
- Key {
- key: Qt.Key_Backslash
- text: "\\"
- }
- Key {
- key: Qt.Key_AsciiCircum
- text: "^"
- }
- Key {
- weight: 204
- displayText: "2/2"
- functionKey: true
- onClicked: secondPage = !secondPage
- }
- }
- KeyboardRow {
- keyWeight: 154
- SymbolModeKey {
- weight: 217
- displayText: "\u0623\u200C\u0628\u200C\u062C"
- }
- ChangeLanguageKey {
- weight: 154
- }
- SpaceKey {
- weight: 864
- }
- Key {
- key: 0x2026
- text: "\u2026"
- }
- Key {
- key: 0xE000
- text: ":-)"
- alternativeKeys: [ ";-)", ":-)", ":-D", ":-(", "<3" ]
- }
- HideKeyboardKey {
- weight: 204
- }
- }
- }
- }
-}
diff --git a/src/virtualkeyboard/content/layouts/bg_BG/dialpad.fallback b/src/virtualkeyboard/content/layouts/bg_BG/dialpad.fallback
deleted file mode 100644
index e69de29b..00000000
--- a/src/virtualkeyboard/content/layouts/bg_BG/dialpad.fallback
+++ /dev/null
diff --git a/src/virtualkeyboard/content/layouts/bg_BG/digits.fallback b/src/virtualkeyboard/content/layouts/bg_BG/digits.fallback
deleted file mode 100644
index e69de29b..00000000
--- a/src/virtualkeyboard/content/layouts/bg_BG/digits.fallback
+++ /dev/null
diff --git a/src/virtualkeyboard/content/layouts/bg_BG/handwriting.qml b/src/virtualkeyboard/content/layouts/bg_BG/handwriting.qml
deleted file mode 100644
index 16f078cb..00000000
--- a/src/virtualkeyboard/content/layouts/bg_BG/handwriting.qml
+++ /dev/null
@@ -1,99 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2017 The Qt Company Ltd.
-** Contact: https://www.qt.io/licensing/
-**
-** This file is part of the Qt Virtual Keyboard module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:GPL$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see https://www.qt.io/terms-conditions. For further
-** information use the contact form at https://www.qt.io/contact-us.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 3 or (at your option) any later version
-** approved by the KDE Free Qt Foundation. The licenses are as published by
-** the Free Software Foundation and appearing in the file LICENSE.GPL3
-** included in the packaging of this file. Please review the following
-** information to ensure the GNU General Public License requirements will
-** be met: https://www.gnu.org/licenses/gpl-3.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-import QtQuick 2.0
-import QtQuick.Layouts 1.0
-import QtQuick.VirtualKeyboard 2.3
-
-KeyboardLayout {
- function createInputMethod() {
- return Qt.createQmlObject('import QtQuick 2.0; import QtQuick.VirtualKeyboard.Plugins 2.3; HandwritingInputMethod {}', parent)
- }
- sharedLayouts: ['symbols']
-
- KeyboardRow {
- Layout.preferredHeight: 3
- KeyboardColumn {
- Layout.preferredWidth: bottomRow.width - hideKeyboardKey.width
- KeyboardRow {
- TraceInputKey {
- objectName: "hwrInputArea"
- patternRecognitionMode: InputEngine.PatternRecognitionMode.Handwriting
- horizontalRulers:
- InputContext.inputEngine.inputMode !== InputEngine.InputMode.Cyrillic ? [] :
- [Math.round(boundingBox.height / 4), Math.round(boundingBox.height / 4) * 2, Math.round(boundingBox.height / 4) * 3]
- }
- }
- }
- KeyboardColumn {
- Layout.preferredWidth: hideKeyboardKey.width
- KeyboardRow {
- BackspaceKey {}
- }
- KeyboardRow {
- EnterKey {}
- }
- KeyboardRow {
- ShiftKey { }
- }
- }
- }
- KeyboardRow {
- id: bottomRow
- Layout.preferredHeight: 1
- keyWeight: 154
- InputModeKey {
- weight: 217
- }
- ChangeLanguageKey {
- weight: 154
- customLayoutsOnly: true
- }
- HandwritingModeKey {
- weight: 154
- }
- SpaceKey {
- weight: 864
- }
- Key {
- key: Qt.Key_Apostrophe
- text: "'"
- alternativeKeys: "<>()#%&*/\\\"'=+-_"
- }
- Key {
- key: Qt.Key_Period
- text: "."
- alternativeKeys: "!,.;:?"
- }
- HideKeyboardKey {
- id: hideKeyboardKey
- weight: 204
- }
- }
-}
diff --git a/src/virtualkeyboard/content/layouts/bg_BG/main.qml b/src/virtualkeyboard/content/layouts/bg_BG/main.qml
deleted file mode 100644
index 2e958aa8..00000000
--- a/src/virtualkeyboard/content/layouts/bg_BG/main.qml
+++ /dev/null
@@ -1,370 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2017 The Qt Company Ltd.
-** Contact: https://www.qt.io/licensing/
-**
-** This file is part of the Qt Virtual Keyboard module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:GPL$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see https://www.qt.io/terms-conditions. For further
-** information use the contact form at https://www.qt.io/contact-us.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 3 or (at your option) any later version
-** approved by the KDE Free Qt Foundation. The licenses are as published by
-** the Free Software Foundation and appearing in the file LICENSE.GPL3
-** included in the packaging of this file. Please review the following
-** information to ensure the GNU General Public License requirements will
-** be met: https://www.gnu.org/licenses/gpl-3.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-import QtQuick 2.0
-import QtQuick.VirtualKeyboard 2.3
-
-KeyboardLayoutLoader {
- sharedLayouts: ['symbols']
- sourceComponent: InputContext.inputEngine.inputMode === InputEngine.InputMode.Cyrillic ? cyrillicLayout : latinLayout
- Component {
- id: cyrillicLayout
- KeyboardLayout {
- keyWeight: 160
- KeyboardRow {
- Key {
- text: "я"
- }
- Key {
- text: "в"
- }
- Key {
- text: "е"
- }
- Key {
- text: "р"
- }
- Key {
- text: "т"
- }
- Key {
- text: "ъ"
- }
- Key {
- text: "у"
- }
- Key {
- text: "и"
- }
- Key {
- text: "о"
- }
- Key {
- text: "п"
- }
- Key {
- text: "ч"
- }
- BackspaceKey {}
- }
- KeyboardRow {
- FillerKey {
- weight: 56
- }
- Key {
- text: "а"
- }
- Key {
- text: "с"
- }
- Key {
- text: "д"
- }
- Key {
- text: "ф"
- }
- Key {
- text: "г"
- }
- Key {
- text: "х"
- }
- Key {
- text: "й"
- }
- Key {
- text: "к"
- }
- Key {
- text: "л"
- }
- Key {
- text: "ш"
- }
- Key {
- text: "щ"
- }
- EnterKey {
- weight: 283
- }
- }
- KeyboardRow {
- keyWeight: 156
- InputModeKey {
- inputModes: [InputEngine.InputMode.Cyrillic, InputEngine.InputMode.Latin]
- }
- Key {
- text: "з"
- }
- Key {
- text: "ь"
- }
- Key {
- text: "ц"
- }
- Key {
- text: "ж"
- }
- Key {
- text: "б"
- }
- Key {
- text: "н"
- }
- Key {
- text: "м"
- }
- Key {
- text: "ю"
- }
- Key {
- key: Qt.Key_Comma
- text: ","
- }
- Key {
- key: Qt.Key_Period
- text: "."
- alternativeKeys: "!.;?"
- }
- ShiftKey {
- weight: 204
- }
- }
- KeyboardRow {
- keyWeight: 154
- SymbolModeKey {
- weight: 217
- }
- ChangeLanguageKey {
- weight: 154
- }
- HandwritingModeKey {
- weight: 154
- }
- SpaceKey {
- weight: 864
- }
- Key {
- key: Qt.Key_Apostrophe
- text: "'"
- }
- Key {
- key: 0xE000
- text: ":-)"
- alternativeKeys: [ ";-)", ":-)", ":-D", ":-(", "<3" ]
- }
- HideKeyboardKey {
- weight: 204
- }
- }
- }
- }
- Component {
- id: latinLayout
- KeyboardLayout {
- keyWeight: 160
- KeyboardRow {
- Key {
- key: Qt.Key_Q
- text: "q"
- }
- Key {
- key: Qt.Key_W
- text: "w"
- }
- Key {
- key: Qt.Key_E
- text: "e"
- alternativeKeys: "êeëèé"
- }
- Key {
- key: Qt.Key_R
- text: "r"
- alternativeKeys: "ŕrř"
- }
- Key {
- key: Qt.Key_T
- text: "t"
- alternativeKeys: "ţtŧť"
- }
- Key {
- key: Qt.Key_Y
- text: "y"
- alternativeKeys: "ÿyýŷ"
- }
- Key {
- key: Qt.Key_U
- text: "u"
- alternativeKeys: "űūũûüuùú"
- }
- Key {
- key: Qt.Key_I
- text: "i"
- alternativeKeys: "îïīĩiìí"
- }
- Key {
- key: Qt.Key_O
- text: "o"
- alternativeKeys: "œøõôöòóo"
- }
- Key {
- key: Qt.Key_P
- text: "p"
- }
- BackspaceKey {}
- }
- KeyboardRow {
- FillerKey {
- weight: 56
- }
- Key {
- key: Qt.Key_A
- text: "a"
- alternativeKeys: (InputContext.inputMethodHints & (Qt.ImhEmailCharactersOnly | Qt.ImhUrlCharactersOnly)) ? "a@äåãâàá" : "aäåãâàá"
- smallTextVisible: (InputContext.inputMethodHints & (Qt.ImhEmailCharactersOnly | Qt.ImhUrlCharactersOnly))
- }
- Key {
- key: Qt.Key_S
- text: "s"
- alternativeKeys: "šsşś"
- }
- Key {
- key: Qt.Key_D
- text: "d"
- alternativeKeys: "dđď"
- }
- Key {
- key: Qt.Key_F
- text: "f"
- }
- Key {
- key: Qt.Key_G
- text: "g"
- alternativeKeys: "ġgģĝğ"
- }
- Key {
- key: Qt.Key_H
- text: "h"
- }
- Key {
- key: Qt.Key_J
- text: "j"
- }
- Key {
- key: Qt.Key_K
- text: "k"
- }
- Key {
- key: Qt.Key_L
- text: "l"
- alternativeKeys: "ĺŀłļľl"
- }
- EnterKey {
- weight: 283
- }
- }
- KeyboardRow {
- keyWeight: 156
- InputModeKey {
- enabled: !(InputContext.inputMethodHints & Qt.ImhLatinOnly) && inputModeCount > 1
- inputModes: [InputEngine.InputMode.Cyrillic, InputEngine.InputMode.Latin]
- }
- Key {
- key: Qt.Key_Z
- text: "z"
- alternativeKeys: "zžż"
- }
- Key {
- key: Qt.Key_X
- text: "x"
- }
- Key {
- key: Qt.Key_C
- text: "c"
- alternativeKeys: "çcċčć"
- }
- Key {
- key: Qt.Key_V
- text: "v"
- }
- Key {
- key: Qt.Key_B
- text: "b"
- }
- Key {
- key: Qt.Key_N
- text: "n"
- alternativeKeys: "ņńnň"
- }
- Key {
- key: Qt.Key_M
- text: "m"
- }
- Key {
- key: Qt.Key_Comma
- text: ","
- }
- Key {
- key: Qt.Key_Period
- text: "."
- }
- ShiftKey {
- weight: 204
- }
- }
- KeyboardRow {
- keyWeight: 154
- SymbolModeKey {
- weight: 217
- }
- ChangeLanguageKey {
- weight: 154
- }
- HandwritingModeKey {
- weight: 154
- }
- SpaceKey {
- weight: 864
- }
- Key {
- key: Qt.Key_Apostrophe
- text: "'"
- }
- Key {
- key: 0xE000
- text: ":-)"
- alternativeKeys: [ ";-)", ":-)", ":-D", ":-(", "<3" ]
- }
- HideKeyboardKey {
- weight: 204
- }
- }
- }
- }
-}
diff --git a/src/virtualkeyboard/content/layouts/bg_BG/numbers.fallback b/src/virtualkeyboard/content/layouts/bg_BG/numbers.fallback
deleted file mode 100644
index e69de29b..00000000
--- a/src/virtualkeyboard/content/layouts/bg_BG/numbers.fallback
+++ /dev/null
diff --git a/src/virtualkeyboard/content/layouts/bg_BG/symbols.fallback b/src/virtualkeyboard/content/layouts/bg_BG/symbols.fallback
deleted file mode 100644
index e69de29b..00000000
--- a/src/virtualkeyboard/content/layouts/bg_BG/symbols.fallback
+++ /dev/null
diff --git a/src/virtualkeyboard/content/layouts/cs_CZ/dialpad.fallback b/src/virtualkeyboard/content/layouts/cs_CZ/dialpad.fallback
deleted file mode 100644
index e69de29b..00000000
--- a/src/virtualkeyboard/content/layouts/cs_CZ/dialpad.fallback
+++ /dev/null
diff --git a/src/virtualkeyboard/content/layouts/cs_CZ/digits.fallback b/src/virtualkeyboard/content/layouts/cs_CZ/digits.fallback
deleted file mode 100644
index e69de29b..00000000
--- a/src/virtualkeyboard/content/layouts/cs_CZ/digits.fallback
+++ /dev/null
diff --git a/src/virtualkeyboard/content/layouts/cs_CZ/handwriting.qml b/src/virtualkeyboard/content/layouts/cs_CZ/handwriting.qml
deleted file mode 100644
index caf820ae..00000000
--- a/src/virtualkeyboard/content/layouts/cs_CZ/handwriting.qml
+++ /dev/null
@@ -1,97 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2017 The Qt Company Ltd.
-** Contact: https://www.qt.io/licensing/
-**
-** This file is part of the Qt Virtual Keyboard module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:GPL$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see https://www.qt.io/terms-conditions. For further
-** information use the contact form at https://www.qt.io/contact-us.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 3 or (at your option) any later version
-** approved by the KDE Free Qt Foundation. The licenses are as published by
-** the Free Software Foundation and appearing in the file LICENSE.GPL3
-** included in the packaging of this file. Please review the following
-** information to ensure the GNU General Public License requirements will
-** be met: https://www.gnu.org/licenses/gpl-3.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-import QtQuick 2.0
-import QtQuick.Layouts 1.0
-import QtQuick.VirtualKeyboard 2.3
-
-KeyboardLayout {
- function createInputMethod() {
- return Qt.createQmlObject('import QtQuick 2.0; import QtQuick.VirtualKeyboard.Plugins 2.3; HandwritingInputMethod {}', parent)
- }
- sharedLayouts: ['symbols']
- inputMode: InputEngine.InputMode.Latin
-
- KeyboardRow {
- Layout.preferredHeight: 3
- KeyboardColumn {
- Layout.preferredWidth: bottomRow.width - hideKeyboardKey.width
- KeyboardRow {
- TraceInputKey {
- objectName: "hwrInputArea"
- patternRecognitionMode: InputEngine.PatternRecognitionMode.Handwriting
- }
- }
- }
- KeyboardColumn {
- Layout.preferredWidth: hideKeyboardKey.width
- KeyboardRow {
- BackspaceKey {}
- }
- KeyboardRow {
- EnterKey {}
- }
- KeyboardRow {
- ShiftKey { }
- }
- }
- }
- KeyboardRow {
- id: bottomRow
- Layout.preferredHeight: 1
- keyWeight: 154
- InputModeKey {
- weight: 217
- }
- ChangeLanguageKey {
- weight: 154
- customLayoutsOnly: true
- }
- HandwritingModeKey {
- weight: 154
- }
- SpaceKey {
- weight: 864
- }
- Key {
- key: Qt.Key_Minus
- text: "-"
- alternativeKeys: "<>()#%&*/\\\"'=+-_"
- }
- Key {
- key: Qt.Key_Period
- text: "."
- alternativeKeys: ":;,.?!"
- }
- HideKeyboardKey {
- id: hideKeyboardKey
- weight: 204
- }
- }
-}
diff --git a/src/virtualkeyboard/content/layouts/cs_CZ/main.qml b/src/virtualkeyboard/content/layouts/cs_CZ/main.qml
deleted file mode 100644
index 4d328bff..00000000
--- a/src/virtualkeyboard/content/layouts/cs_CZ/main.qml
+++ /dev/null
@@ -1,207 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2017 The Qt Company Ltd.
-** Contact: https://www.qt.io/licensing/
-**
-** This file is part of the Qt Virtual Keyboard module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:GPL$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see https://www.qt.io/terms-conditions. For further
-** information use the contact form at https://www.qt.io/contact-us.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 3 or (at your option) any later version
-** approved by the KDE Free Qt Foundation. The licenses are as published by
-** the Free Software Foundation and appearing in the file LICENSE.GPL3
-** included in the packaging of this file. Please review the following
-** information to ensure the GNU General Public License requirements will
-** be met: https://www.gnu.org/licenses/gpl-3.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-import QtQuick 2.0
-import QtQuick.VirtualKeyboard 2.3
-
-KeyboardLayout {
- inputMode: InputEngine.InputMode.Latin
- keyWeight: 160
- KeyboardRow {
- Key {
- key: Qt.Key_Q
- text: "q"
- }
- Key {
- key: Qt.Key_W
- text: "w"
- }
- Key {
- key: Qt.Key_E
- text: "e"
- alternativeKeys: "eéě"
- }
- Key {
- key: Qt.Key_R
- text: "r"
- alternativeKeys: "rř"
- }
- Key {
- key: Qt.Key_T
- text: "t"
- alternativeKeys: "tť"
- }
- Key {
- key: Qt.Key_Z
- text: "z"
- alternativeKeys: "zž"
- }
- Key {
- key: Qt.Key_U
- text: "u"
- alternativeKeys: "uúů"
- }
- Key {
- key: Qt.Key_I
- text: "i"
- alternativeKeys: "ií"
- }
- Key {
- key: Qt.Key_O
- text: "o"
- alternativeKeys: "oóö"
- }
- Key {
- key: Qt.Key_P
- text: "p"
- }
- BackspaceKey {}
- }
- KeyboardRow {
- FillerKey {
- weight: 56
- }
- Key {
- key: Qt.Key_A
- text: "a"
- alternativeKeys: "aåäá"
- }
- Key {
- key: Qt.Key_S
- text: "s"
- alternativeKeys: "sš"
- }
- Key {
- key: Qt.Key_D
- text: "d"
- alternativeKeys: "dď"
- }
- Key {
- key: Qt.Key_F
- text: "f"
- }
- Key {
- key: Qt.Key_G
- text: "g"
- }
- Key {
- key: Qt.Key_H
- text: "h"
- }
- Key {
- key: Qt.Key_J
- text: "j"
- }
- Key {
- key: Qt.Key_K
- text: "k"
- }
- Key {
- key: Qt.Key_L
- text: "l"
- }
- EnterKey {
- weight: 283
- }
- }
- KeyboardRow {
- keyWeight: 156
- ShiftKey {}
- Key {
- key: Qt.Key_Y
- text: "y"
- alternativeKeys: "yý"
- }
- Key {
- key: Qt.Key_X
- text: "x"
- }
- Key {
- key: Qt.Key_C
- text: "c"
- alternativeKeys: "cćč"
- }
- Key {
- key: Qt.Key_V
- text: "v"
- }
- Key {
- key: Qt.Key_B
- text: "b"
- }
- Key {
- key: Qt.Key_N
- text: "n"
- alternativeKeys: "nń"
- }
- Key {
- key: Qt.Key_M
- text: "m"
- }
- Key {
- key: Qt.Key_Comma
- text: ","
- }
- Key {
- key: Qt.Key_Period
- text: "."
- }
- ShiftKey {
- weight: 204
- }
- }
- KeyboardRow {
- keyWeight: 154
- SymbolModeKey {
- weight: 217
- }
- ChangeLanguageKey {
- weight: 154
- }
- HandwritingModeKey {
- weight: 154
- }
- SpaceKey {
- weight: 864
- }
- Key {
- key: Qt.Key_Minus
- text: "-"
- alternativeKeys: "-\"'"
- }
- Key {
- key: 0xE000
- text: ":-)"
- alternativeKeys: [ ";-)", ":-)", ":-D", ":-(", "<3" ]
- }
- HideKeyboardKey {
- weight: 204
- }
- }
-}
diff --git a/src/virtualkeyboard/content/layouts/cs_CZ/numbers.fallback b/src/virtualkeyboard/content/layouts/cs_CZ/numbers.fallback
deleted file mode 100644
index e69de29b..00000000
--- a/src/virtualkeyboard/content/layouts/cs_CZ/numbers.fallback
+++ /dev/null
diff --git a/src/virtualkeyboard/content/layouts/cs_CZ/symbols.fallback b/src/virtualkeyboard/content/layouts/cs_CZ/symbols.fallback
deleted file mode 100644
index e69de29b..00000000
--- a/src/virtualkeyboard/content/layouts/cs_CZ/symbols.fallback
+++ /dev/null
diff --git a/src/virtualkeyboard/content/layouts/da_DK/dialpad.fallback b/src/virtualkeyboard/content/layouts/da_DK/dialpad.fallback
deleted file mode 100644
index e69de29b..00000000
--- a/src/virtualkeyboard/content/layouts/da_DK/dialpad.fallback
+++ /dev/null
diff --git a/src/virtualkeyboard/content/layouts/da_DK/digits.fallback b/src/virtualkeyboard/content/layouts/da_DK/digits.fallback
deleted file mode 100644
index e69de29b..00000000
--- a/src/virtualkeyboard/content/layouts/da_DK/digits.fallback
+++ /dev/null
diff --git a/src/virtualkeyboard/content/layouts/da_DK/handwriting.fallback b/src/virtualkeyboard/content/layouts/da_DK/handwriting.fallback
deleted file mode 100644
index e69de29b..00000000
--- a/src/virtualkeyboard/content/layouts/da_DK/handwriting.fallback
+++ /dev/null
diff --git a/src/virtualkeyboard/content/layouts/da_DK/main.qml b/src/virtualkeyboard/content/layouts/da_DK/main.qml
deleted file mode 100644
index b03860e6..00000000
--- a/src/virtualkeyboard/content/layouts/da_DK/main.qml
+++ /dev/null
@@ -1,215 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2016 The Qt Company Ltd.
-** Contact: https://www.qt.io/licensing/
-**
-** This file is part of the Qt Virtual Keyboard module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:GPL$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see https://www.qt.io/terms-conditions. For further
-** information use the contact form at https://www.qt.io/contact-us.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 3 or (at your option) any later version
-** approved by the KDE Free Qt Foundation. The licenses are as published by
-** the Free Software Foundation and appearing in the file LICENSE.GPL3
-** included in the packaging of this file. Please review the following
-** information to ensure the GNU General Public License requirements will
-** be met: https://www.gnu.org/licenses/gpl-3.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-import QtQuick 2.0
-import QtQuick.VirtualKeyboard 2.1
-
-KeyboardLayout {
- inputMode: InputEngine.InputMode.Latin
- keyWeight: 160
- KeyboardRow {
- Key {
- key: Qt.Key_Q
- text: "q"
- }
- Key {
- key: Qt.Key_W
- text: "w"
- }
- Key {
- key: Qt.Key_E
- text: "e"
- alternativeKeys: "eé"
- }
- Key {
- key: Qt.Key_R
- text: "r"
- }
- Key {
- key: Qt.Key_T
- text: "t"
- }
- Key {
- key: Qt.Key_Y
- text: "y"
- }
- Key {
- key: Qt.Key_U
- text: "u"
- }
- Key {
- key: Qt.Key_I
- text: "i"
- alternativeKeys: "ií"
- }
- Key {
- key: Qt.Key_O
- text: "o"
- alternativeKeys: "oó"
- }
- Key {
- key: Qt.Key_P
- text: "p"
- }
- Key {
- key: Qt.Key_Aring
- text: "å"
- }
- BackspaceKey {}
- }
- KeyboardRow {
- FillerKey {
- weight: 66
- }
- Key {
- key: Qt.Key_A
- text: "a"
- alternativeKeys: "aá"
- }
- Key {
- key: Qt.Key_S
- text: "s"
- }
- Key {
- key: Qt.Key_D
- text: "d"
- }
- Key {
- key: Qt.Key_F
- text: "f"
- }
- Key {
- key: Qt.Key_G
- text: "g"
- }
- Key {
- key: Qt.Key_H
- text: "h"
- }
- Key {
- key: Qt.Key_J
- text: "j"
- }
- Key {
- key: Qt.Key_K
- text: "k"
- }
- Key {
- key: Qt.Key_L
- text: "l"
- }
- Key {
- key: Qt.Key_AE
- text: "æ"
- alternativeKeys: "æǽ"
- }
- Key {
- key: Qt.Key_Ooblique
- text: "ø"
- alternativeKeys: "øǿ"
- }
- EnterKey {
- weight: 283
- }
- }
- KeyboardRow {
- keyWeight: 156
- ShiftKey { }
- Key {
- key: Qt.Key_Z
- text: "z"
- }
- Key {
- key: Qt.Key_X
- text: "x"
- }
- Key {
- key: Qt.Key_C
- text: "c"
- }
- Key {
- key: Qt.Key_V
- text: "v"
- }
- Key {
- key: Qt.Key_B
- text: "b"
- }
- Key {
- key: Qt.Key_N
- text: "n"
- }
- Key {
- key: Qt.Key_M
- text: "m"
- }
- Key {
- key: Qt.Key_Comma
- text: ","
- }
- Key {
- key: Qt.Key_Period
- text: "."
- }
- Key {
- key: Qt.Key_Minus
- text: "-"
- }
- ShiftKey {
- weight: 264
- }
- }
- KeyboardRow {
- keyWeight: 154
- SymbolModeKey {
- weight: 217
- }
- ChangeLanguageKey {
- weight: 154
- }
- HandwritingModeKey {
- weight: 154
- }
- SpaceKey {
- weight: 864
- }
- Key {
- key: Qt.Key_Apostrophe
- text: "'"
- }
- Key {
- key: 0xE000
- text: ":-)"
- alternativeKeys: [ ";-)", ":-)", ":-D", ":-(", "<3" ]
- }
- HideKeyboardKey {
- weight: 204
- }
- }
-}
diff --git a/src/virtualkeyboard/content/layouts/da_DK/numbers.fallback b/src/virtualkeyboard/content/layouts/da_DK/numbers.fallback
deleted file mode 100644
index e69de29b..00000000
--- a/src/virtualkeyboard/content/layouts/da_DK/numbers.fallback
+++ /dev/null
diff --git a/src/virtualkeyboard/content/layouts/da_DK/symbols.fallback b/src/virtualkeyboard/content/layouts/da_DK/symbols.fallback
deleted file mode 100644
index e69de29b..00000000
--- a/src/virtualkeyboard/content/layouts/da_DK/symbols.fallback
+++ /dev/null
diff --git a/src/virtualkeyboard/content/layouts/de_DE/dialpad.fallback b/src/virtualkeyboard/content/layouts/de_DE/dialpad.fallback
deleted file mode 100644
index e69de29b..00000000
--- a/src/virtualkeyboard/content/layouts/de_DE/dialpad.fallback
+++ /dev/null
diff --git a/src/virtualkeyboard/content/layouts/de_DE/digits.fallback b/src/virtualkeyboard/content/layouts/de_DE/digits.fallback
deleted file mode 100644
index e69de29b..00000000
--- a/src/virtualkeyboard/content/layouts/de_DE/digits.fallback
+++ /dev/null
diff --git a/src/virtualkeyboard/content/layouts/de_DE/handwriting.fallback b/src/virtualkeyboard/content/layouts/de_DE/handwriting.fallback
deleted file mode 100644
index e69de29b..00000000
--- a/src/virtualkeyboard/content/layouts/de_DE/handwriting.fallback
+++ /dev/null
diff --git a/src/virtualkeyboard/content/layouts/de_DE/main.qml b/src/virtualkeyboard/content/layouts/de_DE/main.qml
deleted file mode 100644
index bd91ec50..00000000
--- a/src/virtualkeyboard/content/layouts/de_DE/main.qml
+++ /dev/null
@@ -1,210 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2016 The Qt Company Ltd.
-** Contact: https://www.qt.io/licensing/
-**
-** This file is part of the Qt Virtual Keyboard module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:GPL$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see https://www.qt.io/terms-conditions. For further
-** information use the contact form at https://www.qt.io/contact-us.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 3 or (at your option) any later version
-** approved by the KDE Free Qt Foundation. The licenses are as published by
-** the Free Software Foundation and appearing in the file LICENSE.GPL3
-** included in the packaging of this file. Please review the following
-** information to ensure the GNU General Public License requirements will
-** be met: https://www.gnu.org/licenses/gpl-3.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-import QtQuick 2.0
-import QtQuick.VirtualKeyboard 2.1
-
-KeyboardLayout {
- inputMode: InputEngine.InputMode.Latin
- keyWeight: 160
- KeyboardRow {
- Key {
- key: Qt.Key_Q
- text: "q"
- }
- Key {
- key: Qt.Key_W
- text: "w"
- }
- Key {
- key: Qt.Key_E
- text: "e"
- }
- Key {
- key: Qt.Key_R
- text: "r"
- }
- Key {
- key: Qt.Key_T
- text: "t"
- }
- Key {
- key: Qt.Key_Z
- text: "z"
- }
- Key {
- key: Qt.Key_U
- text: "u"
- }
- Key {
- key: Qt.Key_I
- text: "i"
- }
- Key {
- key: Qt.Key_O
- text: "o"
- }
- Key {
- key: Qt.Key_P
- text: "p"
- }
- Key {
- key: Qt.Key_Udiaeresis
- text: "ü"
- }
- BackspaceKey {}
- }
- KeyboardRow {
- FillerKey {
- weight: 66
- }
- Key {
- key: Qt.Key_A
- text: "a"
- }
- Key {
- key: Qt.Key_S
- text: "s"
- alternativeKeys: "sß"
- }
- Key {
- key: Qt.Key_D
- text: "d"
- }
- Key {
- key: Qt.Key_F
- text: "f"
- }
- Key {
- key: Qt.Key_G
- text: "g"
- }
- Key {
- key: Qt.Key_H
- text: "h"
- }
- Key {
- key: Qt.Key_J
- text: "j"
- }
- Key {
- key: Qt.Key_K
- text: "k"
- }
- Key {
- key: Qt.Key_L
- text: "l"
- }
- Key {
- key: Qt.Key_Odiaeresis
- text: "ö"
- }
- Key {
- key: Qt.Key_Adiaeresis
- text: "ä"
- }
- EnterKey {
- weight: 283
- }
- }
- KeyboardRow {
- keyWeight: 156
- ShiftKey { }
- Key {
- key: Qt.Key_Y
- text: "y"
- }
- Key {
- key: Qt.Key_X
- text: "x"
- }
- Key {
- key: Qt.Key_C
- text: "c"
- }
- Key {
- key: Qt.Key_V
- text: "v"
- }
- Key {
- key: Qt.Key_B
- text: "b"
- }
- Key {
- key: Qt.Key_N
- text: "n"
- }
- Key {
- key: Qt.Key_M
- text: "m"
- }
- Key {
- key: Qt.Key_Comma
- text: ","
- }
- Key {
- key: Qt.Key_Period
- text: "."
- }
- Key {
- key: Qt.Key_Minus
- text: "-"
- }
- ShiftKey {
- weight: 264
- }
- }
- KeyboardRow {
- keyWeight: 154
- SymbolModeKey {
- weight: 217
- }
- ChangeLanguageKey {
- weight: 154
- }
- HandwritingModeKey {
- weight: 154
- }
- SpaceKey {
- weight: 864
- }
- Key {
- key: Qt.Key_Apostrophe
- text: "'"
- }
- Key {
- key: 0xE000
- text: ":-)"
- alternativeKeys: [ ";-)", ":-)", ":-D", ":-(", "<3" ]
- }
- HideKeyboardKey {
- weight: 204
- }
- }
-}
diff --git a/src/virtualkeyboard/content/layouts/de_DE/numbers.fallback b/src/virtualkeyboard/content/layouts/de_DE/numbers.fallback
deleted file mode 100644
index e69de29b..00000000
--- a/src/virtualkeyboard/content/layouts/de_DE/numbers.fallback
+++ /dev/null
diff --git a/src/virtualkeyboard/content/layouts/de_DE/symbols.fallback b/src/virtualkeyboard/content/layouts/de_DE/symbols.fallback
deleted file mode 100644
index e69de29b..00000000
--- a/src/virtualkeyboard/content/layouts/de_DE/symbols.fallback
+++ /dev/null
diff --git a/src/virtualkeyboard/content/layouts/el_GR/dialpad.fallback b/src/virtualkeyboard/content/layouts/el_GR/dialpad.fallback
deleted file mode 100644
index e69de29b..00000000
--- a/src/virtualkeyboard/content/layouts/el_GR/dialpad.fallback
+++ /dev/null
diff --git a/src/virtualkeyboard/content/layouts/el_GR/digits.fallback b/src/virtualkeyboard/content/layouts/el_GR/digits.fallback
deleted file mode 100644
index e69de29b..00000000
--- a/src/virtualkeyboard/content/layouts/el_GR/digits.fallback
+++ /dev/null
diff --git a/src/virtualkeyboard/content/layouts/el_GR/handwriting.qml b/src/virtualkeyboard/content/layouts/el_GR/handwriting.qml
deleted file mode 100644
index b010ecf4..00000000
--- a/src/virtualkeyboard/content/layouts/el_GR/handwriting.qml
+++ /dev/null
@@ -1,99 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2017 The Qt Company Ltd.
-** Contact: https://www.qt.io/licensing/
-**
-** This file is part of the Qt Virtual Keyboard module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:GPL$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see https://www.qt.io/terms-conditions. For further
-** information use the contact form at https://www.qt.io/contact-us.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 3 or (at your option) any later version
-** approved by the KDE Free Qt Foundation. The licenses are as published by
-** the Free Software Foundation and appearing in the file LICENSE.GPL3
-** included in the packaging of this file. Please review the following
-** information to ensure the GNU General Public License requirements will
-** be met: https://www.gnu.org/licenses/gpl-3.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-import QtQuick 2.0
-import QtQuick.Layouts 1.0
-import QtQuick.VirtualKeyboard 2.3
-
-KeyboardLayout {
- function createInputMethod() {
- return Qt.createQmlObject('import QtQuick 2.0; import QtQuick.VirtualKeyboard.Plugins 2.3; HandwritingInputMethod {}', parent)
- }
- sharedLayouts: ['symbols']
-
- KeyboardRow {
- Layout.preferredHeight: 3
- KeyboardColumn {
- Layout.preferredWidth: bottomRow.width - hideKeyboardKey.width
- KeyboardRow {
- TraceInputKey {
- objectName: "hwrInputArea"
- patternRecognitionMode: InputEngine.PatternRecognitionMode.Handwriting
- horizontalRulers:
- InputContext.inputEngine.inputMode !== InputEngine.InputMode.Greek ? [] :
- [Math.round(boundingBox.height / 4), Math.round(boundingBox.height / 4) * 2, Math.round(boundingBox.height / 4) * 3]
- }
- }
- }
- KeyboardColumn {
- Layout.preferredWidth: hideKeyboardKey.width
- KeyboardRow {
- BackspaceKey {}
- }
- KeyboardRow {
- EnterKey {}
- }
- KeyboardRow {
- ShiftKey { }
- }
- }
- }
- KeyboardRow {
- id: bottomRow
- Layout.preferredHeight: 1
- keyWeight: 154
- InputModeKey {
- weight: 217
- }
- ChangeLanguageKey {
- weight: 154
- customLayoutsOnly: true
- }
- HandwritingModeKey {
- weight: 154
- }
- SpaceKey {
- weight: 864
- }
- Key {
- key: Qt.Key_Apostrophe
- text: "'"
- alternativeKeys: "<>()#%&*/\\\"'=+-_"
- }
- Key {
- key: Qt.Key_Period
- text: "."
- alternativeKeys: "!,.;:?"
- }
- HideKeyboardKey {
- id: hideKeyboardKey
- weight: 204
- }
- }
-}
diff --git a/src/virtualkeyboard/content/layouts/el_GR/main.qml b/src/virtualkeyboard/content/layouts/el_GR/main.qml
deleted file mode 100644
index d9fbaf9e..00000000
--- a/src/virtualkeyboard/content/layouts/el_GR/main.qml
+++ /dev/null
@@ -1,364 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2017 The Qt Company Ltd.
-** Contact: https://www.qt.io/licensing/
-**
-** This file is part of the Qt Virtual Keyboard module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:GPL$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see https://www.qt.io/terms-conditions. For further
-** information use the contact form at https://www.qt.io/contact-us.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 3 or (at your option) any later version
-** approved by the KDE Free Qt Foundation. The licenses are as published by
-** the Free Software Foundation and appearing in the file LICENSE.GPL3
-** included in the packaging of this file. Please review the following
-** information to ensure the GNU General Public License requirements will
-** be met: https://www.gnu.org/licenses/gpl-3.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-import QtQuick 2.0
-import QtQuick.VirtualKeyboard 2.3
-
-KeyboardLayoutLoader {
- sharedLayouts: ['symbols']
- sourceComponent: InputContext.inputEngine.inputMode === InputEngine.InputMode.Greek ? greekLayout : latinLayout
- Component {
- id: greekLayout
- KeyboardLayout {
- keyWeight: 160
- KeyboardRow {
- Key {
- text: "ς"
- }
- Key {
- text: "ε"
- alternativeKeys: "εέ"
- }
- Key {
- text: "ρ"
- }
- Key {
- text: "τ"
- }
- Key {
- text: "ψ"
- }
- Key {
- text: "υ"
- alternativeKeys: "υύϋΰ"
- }
- Key {
- text: "θ"
- }
- Key {
- text: "ι"
- alternativeKeys: "ιίϊΐ"
- }
- Key {
- text: "ο"
- alternativeKeys: "οό"
- }
- Key {
- text: "π"
- }
- BackspaceKey {}
- }
- KeyboardRow {
- FillerKey {
- weight: 56
- }
- Key {
- text: "α"
- alternativeKeys: "αά"
- }
- Key {
- text: "σ"
- }
- Key {
- text: "δ"
- }
- Key {
- text: "φ"
- }
- Key {
- text: "γ"
- }
- Key {
- text: "η"
- alternativeKeys: "ηή"
- }
- Key {
- text: "ξ"
- }
- Key {
- text: "κ"
- }
- Key {
- text: "λ"
- }
- EnterKey {
- weight: 283
- }
- }
- KeyboardRow {
- keyWeight: 156
- InputModeKey {
- inputModes: [InputEngine.InputMode.Greek, InputEngine.InputMode.Latin]
- }
- Key {
- text: "ζ"
- }
- Key {
- text: "χ"
- }
- Key {
- text: "ψ"
- }
- Key {
- text: "ω"
- alternativeKeys: "ωώ"
- }
- Key {
- text: "β"
- }
- Key {
- text: "ν"
- }
- Key {
- text: "μ"
- }
- Key {
- key: Qt.Key_Comma
- text: ","
- }
- Key {
- key: Qt.Key_Period
- text: "."
- alternativeKeys: "!.;?"
- }
- ShiftKey {
- weight: 204
- }
- }
- KeyboardRow {
- keyWeight: 154
- SymbolModeKey {
- weight: 217
- }
- ChangeLanguageKey {
- weight: 154
- }
- HandwritingModeKey {
- weight: 154
- }
- SpaceKey {
- weight: 864
- }
- Key {
- key: Qt.Key_Apostrophe
- text: "'"
- }
- Key {
- key: 0xE000
- text: ":-)"
- alternativeKeys: [ ";-)", ":-)", ":-D", ":-(", "<3" ]
- }
- HideKeyboardKey {
- weight: 204
- }
- }
- }
- }
- Component {
- id: latinLayout
- KeyboardLayout {
- keyWeight: 160
- KeyboardRow {
- Key {
- key: Qt.Key_Q
- text: "q"
- }
- Key {
- key: Qt.Key_W
- text: "w"
- }
- Key {
- key: Qt.Key_E
- text: "e"
- alternativeKeys: "êeëèé"
- }
- Key {
- key: Qt.Key_R
- text: "r"
- alternativeKeys: "ŕrř"
- }
- Key {
- key: Qt.Key_T
- text: "t"
- alternativeKeys: "ţtŧť"
- }
- Key {
- key: Qt.Key_Y
- text: "y"
- alternativeKeys: "ÿyýŷ"
- }
- Key {
- key: Qt.Key_U
- text: "u"
- alternativeKeys: "űūũûüuùú"
- }
- Key {
- key: Qt.Key_I
- text: "i"
- alternativeKeys: "îïīĩiìí"
- }
- Key {
- key: Qt.Key_O
- text: "o"
- alternativeKeys: "œøõôöòóo"
- }
- Key {
- key: Qt.Key_P
- text: "p"
- }
- BackspaceKey {}
- }
- KeyboardRow {
- FillerKey {
- weight: 56
- }
- Key {
- key: Qt.Key_A
- text: "a"
- alternativeKeys: (InputContext.inputMethodHints & (Qt.ImhEmailCharactersOnly | Qt.ImhUrlCharactersOnly)) ? "a@äåãâàá" : "aäåãâàá"
- smallTextVisible: (InputContext.inputMethodHints & (Qt.ImhEmailCharactersOnly | Qt.ImhUrlCharactersOnly))
- }
- Key {
- key: Qt.Key_S
- text: "s"
- alternativeKeys: "šsşś"
- }
- Key {
- key: Qt.Key_D
- text: "d"
- alternativeKeys: "dđď"
- }
- Key {
- key: Qt.Key_F
- text: "f"
- }
- Key {
- key: Qt.Key_G
- text: "g"
- alternativeKeys: "ġgģĝğ"
- }
- Key {
- key: Qt.Key_H
- text: "h"
- }
- Key {
- key: Qt.Key_J
- text: "j"
- }
- Key {
- key: Qt.Key_K
- text: "k"
- }
- Key {
- key: Qt.Key_L
- text: "l"
- alternativeKeys: "ĺŀłļľl"
- }
- EnterKey {
- weight: 283
- }
- }
- KeyboardRow {
- keyWeight: 156
- InputModeKey {
- inputModes: [InputEngine.InputMode.Greek, InputEngine.InputMode.Latin]
- }
- Key {
- key: Qt.Key_Z
- text: "z"
- alternativeKeys: "zžż"
- }
- Key {
- key: Qt.Key_X
- text: "x"
- }
- Key {
- key: Qt.Key_C
- text: "c"
- alternativeKeys: "çcċčć"
- }
- Key {
- key: Qt.Key_V
- text: "v"
- }
- Key {
- key: Qt.Key_B
- text: "b"
- }
- Key {
- key: Qt.Key_N
- text: "n"
- alternativeKeys: "ņńnň"
- }
- Key {
- key: Qt.Key_M
- text: "m"
- }
- Key {
- key: Qt.Key_Comma
- text: ","
- }
- Key {
- key: Qt.Key_Period
- text: "."
- }
- ShiftKey {
- weight: 204
- }
- }
- KeyboardRow {
- keyWeight: 154
- SymbolModeKey {
- weight: 217
- }
- ChangeLanguageKey {
- weight: 154
- }
- HandwritingModeKey {
- weight: 154
- }
- SpaceKey {
- weight: 864
- }
- Key {
- key: Qt.Key_Apostrophe
- text: "'"
- }
- Key {
- key: 0xE000
- text: ":-)"
- alternativeKeys: [ ";-)", ":-)", ":-D", ":-(", "<3" ]
- }
- HideKeyboardKey {
- weight: 204
- }
- }
- }
- }
-}
diff --git a/src/virtualkeyboard/content/layouts/el_GR/numbers.fallback b/src/virtualkeyboard/content/layouts/el_GR/numbers.fallback
deleted file mode 100644
index e69de29b..00000000
--- a/src/virtualkeyboard/content/layouts/el_GR/numbers.fallback
+++ /dev/null
diff --git a/src/virtualkeyboard/content/layouts/el_GR/symbols.fallback b/src/virtualkeyboard/content/layouts/el_GR/symbols.fallback
deleted file mode 100644
index e69de29b..00000000
--- a/src/virtualkeyboard/content/layouts/el_GR/symbols.fallback
+++ /dev/null
diff --git a/src/virtualkeyboard/content/layouts/en_GB/dialpad.fallback b/src/virtualkeyboard/content/layouts/en_GB/dialpad.fallback
deleted file mode 100644
index e69de29b..00000000
--- a/src/virtualkeyboard/content/layouts/en_GB/dialpad.fallback
+++ /dev/null
diff --git a/src/virtualkeyboard/content/layouts/en_GB/digits.fallback b/src/virtualkeyboard/content/layouts/en_GB/digits.fallback
deleted file mode 100644
index e69de29b..00000000
--- a/src/virtualkeyboard/content/layouts/en_GB/digits.fallback
+++ /dev/null
diff --git a/src/virtualkeyboard/content/layouts/en_GB/handwriting.fallback b/src/virtualkeyboard/content/layouts/en_GB/handwriting.fallback
deleted file mode 100644
index e69de29b..00000000
--- a/src/virtualkeyboard/content/layouts/en_GB/handwriting.fallback
+++ /dev/null
diff --git a/src/virtualkeyboard/content/layouts/en_GB/main.fallback b/src/virtualkeyboard/content/layouts/en_GB/main.fallback
deleted file mode 100644
index e69de29b..00000000
--- a/src/virtualkeyboard/content/layouts/en_GB/main.fallback
+++ /dev/null
diff --git a/src/virtualkeyboard/content/layouts/en_GB/numbers.fallback b/src/virtualkeyboard/content/layouts/en_GB/numbers.fallback
deleted file mode 100644
index e69de29b..00000000
--- a/src/virtualkeyboard/content/layouts/en_GB/numbers.fallback
+++ /dev/null
diff --git a/src/virtualkeyboard/content/layouts/en_GB/symbols.fallback b/src/virtualkeyboard/content/layouts/en_GB/symbols.fallback
deleted file mode 100644
index e69de29b..00000000
--- a/src/virtualkeyboard/content/layouts/en_GB/symbols.fallback
+++ /dev/null
diff --git a/src/virtualkeyboard/content/layouts/en_US/dialpad.fallback b/src/virtualkeyboard/content/layouts/en_US/dialpad.fallback
deleted file mode 100644
index e69de29b..00000000
--- a/src/virtualkeyboard/content/layouts/en_US/dialpad.fallback
+++ /dev/null
diff --git a/src/virtualkeyboard/content/layouts/en_US/digits.fallback b/src/virtualkeyboard/content/layouts/en_US/digits.fallback
deleted file mode 100644
index e69de29b..00000000
--- a/src/virtualkeyboard/content/layouts/en_US/digits.fallback
+++ /dev/null
diff --git a/src/virtualkeyboard/content/layouts/en_US/handwriting.fallback b/src/virtualkeyboard/content/layouts/en_US/handwriting.fallback
deleted file mode 100644
index e69de29b..00000000
--- a/src/virtualkeyboard/content/layouts/en_US/handwriting.fallback
+++ /dev/null
diff --git a/src/virtualkeyboard/content/layouts/en_US/main.fallback b/src/virtualkeyboard/content/layouts/en_US/main.fallback
deleted file mode 100644
index e69de29b..00000000
--- a/src/virtualkeyboard/content/layouts/en_US/main.fallback
+++ /dev/null
diff --git a/src/virtualkeyboard/content/layouts/en_US/numbers.fallback b/src/virtualkeyboard/content/layouts/en_US/numbers.fallback
deleted file mode 100644
index e69de29b..00000000
--- a/src/virtualkeyboard/content/layouts/en_US/numbers.fallback
+++ /dev/null
diff --git a/src/virtualkeyboard/content/layouts/en_US/symbols.fallback b/src/virtualkeyboard/content/layouts/en_US/symbols.fallback
deleted file mode 100644
index e69de29b..00000000
--- a/src/virtualkeyboard/content/layouts/en_US/symbols.fallback
+++ /dev/null
diff --git a/src/virtualkeyboard/content/layouts/es_ES/dialpad.fallback b/src/virtualkeyboard/content/layouts/es_ES/dialpad.fallback
deleted file mode 100644
index e69de29b..00000000
--- a/src/virtualkeyboard/content/layouts/es_ES/dialpad.fallback
+++ /dev/null
diff --git a/src/virtualkeyboard/content/layouts/es_ES/digits.fallback b/src/virtualkeyboard/content/layouts/es_ES/digits.fallback
deleted file mode 100644
index e69de29b..00000000
--- a/src/virtualkeyboard/content/layouts/es_ES/digits.fallback
+++ /dev/null
diff --git a/src/virtualkeyboard/content/layouts/es_ES/handwriting.qml b/src/virtualkeyboard/content/layouts/es_ES/handwriting.qml
deleted file mode 100644
index d4896408..00000000
--- a/src/virtualkeyboard/content/layouts/es_ES/handwriting.qml
+++ /dev/null
@@ -1,97 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2017 The Qt Company Ltd.
-** Contact: https://www.qt.io/licensing/
-**
-** This file is part of the Qt Virtual Keyboard module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:GPL$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see https://www.qt.io/terms-conditions. For further
-** information use the contact form at https://www.qt.io/contact-us.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 3 or (at your option) any later version
-** approved by the KDE Free Qt Foundation. The licenses are as published by
-** the Free Software Foundation and appearing in the file LICENSE.GPL3
-** included in the packaging of this file. Please review the following
-** information to ensure the GNU General Public License requirements will
-** be met: https://www.gnu.org/licenses/gpl-3.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-import QtQuick 2.0
-import QtQuick.Layouts 1.0
-import QtQuick.VirtualKeyboard 2.3
-
-KeyboardLayout {
- function createInputMethod() {
- return Qt.createQmlObject('import QtQuick 2.0; import QtQuick.VirtualKeyboard.Plugins 2.3; HandwritingInputMethod {}', parent)
- }
- sharedLayouts: ['symbols']
- inputMode: InputEngine.InputMode.Latin
-
- KeyboardRow {
- Layout.preferredHeight: 3
- KeyboardColumn {
- Layout.preferredWidth: bottomRow.width - hideKeyboardKey.width
- KeyboardRow {
- TraceInputKey {
- objectName: "hwrInputArea"
- patternRecognitionMode: InputEngine.PatternRecognitionMode.Handwriting
- }
- }
- }
- KeyboardColumn {
- Layout.preferredWidth: hideKeyboardKey.width
- KeyboardRow {
- BackspaceKey {}
- }
- KeyboardRow {
- EnterKey {}
- }
- KeyboardRow {
- ShiftKey { }
- }
- }
- }
- KeyboardRow {
- id: bottomRow
- Layout.preferredHeight: 1
- keyWeight: 154
- InputModeKey {
- weight: 217
- }
- ChangeLanguageKey {
- weight: 154
- customLayoutsOnly: true
- }
- HandwritingModeKey {
- weight: 154
- }
- SpaceKey {
- weight: 864
- }
- Key {
- key: Qt.Key_Apostrophe
- text: "'"
- alternativeKeys: "<>()#%&*/\\\"'=+-_"
- }
- Key {
- key: Qt.Key_Period
- text: "."
- alternativeKeys: ":;,.¿?¡!"
- }
- HideKeyboardKey {
- id: hideKeyboardKey
- weight: 204
- }
- }
-}
diff --git a/src/virtualkeyboard/content/layouts/es_ES/main.qml b/src/virtualkeyboard/content/layouts/es_ES/main.qml
deleted file mode 100644
index b98980bb..00000000
--- a/src/virtualkeyboard/content/layouts/es_ES/main.qml
+++ /dev/null
@@ -1,211 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2016 The Qt Company Ltd.
-** Contact: https://www.qt.io/licensing/
-**
-** This file is part of the Qt Virtual Keyboard module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:GPL$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see https://www.qt.io/terms-conditions. For further
-** information use the contact form at https://www.qt.io/contact-us.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 3 or (at your option) any later version
-** approved by the KDE Free Qt Foundation. The licenses are as published by
-** the Free Software Foundation and appearing in the file LICENSE.GPL3
-** included in the packaging of this file. Please review the following
-** information to ensure the GNU General Public License requirements will
-** be met: https://www.gnu.org/licenses/gpl-3.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-import QtQuick 2.0
-import QtQuick.VirtualKeyboard 2.1
-
-KeyboardLayout {
- inputMode: InputEngine.InputMode.Latin
- keyWeight: 160
- KeyboardRow {
- Key {
- key: Qt.Key_Q
- text: "q"
- }
- Key {
- key: Qt.Key_W
- text: "w"
- }
- Key {
- key: Qt.Key_E
- text: "e"
- alternativeKeys: "ēęėëeêèé"
- }
- Key {
- key: Qt.Key_R
- text: "r"
- }
- Key {
- key: Qt.Key_T
- text: "t"
- }
- Key {
- key: Qt.Key_Y
- text: "y"
- }
- Key {
- key: Qt.Key_U
- text: "u"
- alternativeKeys: "üûuùú"
- }
- Key {
- key: Qt.Key_I
- text: "i"
- alternativeKeys: "ïįîiìí"
- }
- Key {
- key: Qt.Key_O
- text: "o"
- alternativeKeys: "öõôoòóº"
- }
- Key {
- key: Qt.Key_P
- text: "p"
- }
- BackspaceKey {
- weight: 180
- }
- }
- KeyboardRow {
- keyWeight: 156
- FillerKey {
- weight: 56
- }
- Key {
- key: Qt.Key_A
- text: "a"
- alternativeKeys: "äãaâàáª"
- }
- Key {
- key: Qt.Key_S
- text: "s"
- }
- Key {
- key: Qt.Key_D
- text: "d"
- }
- Key {
- key: Qt.Key_F
- text: "f"
- }
- Key {
- key: Qt.Key_G
- text: "g"
- }
- Key {
- key: Qt.Key_H
- text: "h"
- }
- Key {
- key: Qt.Key_J
- text: "j"
- }
- Key {
- key: Qt.Key_K
- text: "k"
- }
- Key {
- key: Qt.Key_L
- text: "l"
- }
- Key {
- key: Qt.Key_Ntilde
- text: "ñ"
- }
- EnterKey {
- weight: 246
- }
- }
- KeyboardRow {
- keyWeight: 156
- ShiftKey {}
- Key {
- key: Qt.Key_Z
- text: "z"
- }
- Key {
- key: Qt.Key_X
- text: "x"
- }
- Key {
- key: Qt.Key_C
- text: "c"
- alternativeKeys: "čcçć"
- }
- Key {
- key: Qt.Key_V
- text: "v"
- }
- Key {
- key: Qt.Key_B
- text: "b"
- }
- Key {
- key: Qt.Key_N
- text: "n"
- }
- Key {
- key: Qt.Key_M
- text: "m"
- }
- Key {
- key: Qt.Key_Comma
- text: ","
- }
- Key {
- key: Qt.Key_Period
- text: "."
- }
- Key {
- key: Qt.Key_Minus
- text: "-"
- }
- ShiftKey {
- weight: 264
- }
- }
- KeyboardRow {
- keyWeight: 154
- SymbolModeKey {
- weight: 217
- }
- ChangeLanguageKey {
- weight: 154
- }
- HandwritingModeKey {
- weight: 154
- }
- SpaceKey {
- weight: 864
- }
- Key {
- key: Qt.Key_Question
- text: "?"
- alternativeKeys: "¿?¡!"
- }
- Key {
- key: 0xE000
- text: ":-)"
- alternativeKeys: [ ";-)", ":-)", ":-D", ":-(", "<3" ]
- }
- HideKeyboardKey {
- weight: 204
- }
- }
-}
diff --git a/src/virtualkeyboard/content/layouts/es_ES/numbers.fallback b/src/virtualkeyboard/content/layouts/es_ES/numbers.fallback
deleted file mode 100644
index e69de29b..00000000
--- a/src/virtualkeyboard/content/layouts/es_ES/numbers.fallback
+++ /dev/null
diff --git a/src/virtualkeyboard/content/layouts/es_ES/symbols.qml b/src/virtualkeyboard/content/layouts/es_ES/symbols.qml
deleted file mode 100644
index 17bd3c36..00000000
--- a/src/virtualkeyboard/content/layouts/es_ES/symbols.qml
+++ /dev/null
@@ -1,378 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2016 The Qt Company Ltd.
-** Contact: https://www.qt.io/licensing/
-**
-** This file is part of the Qt Virtual Keyboard module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:GPL$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see https://www.qt.io/terms-conditions. For further
-** information use the contact form at https://www.qt.io/contact-us.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 3 or (at your option) any later version
-** approved by the KDE Free Qt Foundation. The licenses are as published by
-** the Free Software Foundation and appearing in the file LICENSE.GPL3
-** included in the packaging of this file. Please review the following
-** information to ensure the GNU General Public License requirements will
-** be met: https://www.gnu.org/licenses/gpl-3.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-import QtQuick 2.0
-import QtQuick.Layouts 1.0
-import QtQuick.VirtualKeyboard 2.1
-
-KeyboardLayoutLoader {
- property bool secondPage
- onVisibleChanged: if (!visible) secondPage = false
- sourceComponent: secondPage ? page2 : page1
- Component {
- id: page1
- KeyboardLayout {
- keyWeight: 160
- KeyboardRow {
- Key {
- key: Qt.Key_1
- text: "1"
- }
- Key {
- key: Qt.Key_2
- text: "2"
- }
- Key {
- key: Qt.Key_3
- text: "3"
- }
- Key {
- key: Qt.Key_4
- text: "4"
- }
- Key {
- key: Qt.Key_5
- text: "5"
- }
- Key {
- key: Qt.Key_6
- text: "6"
- }
- Key {
- key: Qt.Key_7
- text: "7"
- }
- Key {
- key: Qt.Key_8
- text: "8"
- }
- Key {
- key: Qt.Key_9
- text: "9"
- }
- Key {
- key: Qt.Key_0
- text: "0"
- }
- BackspaceKey {}
- }
- KeyboardRow {
- FillerKey {
- weight: 56
- }
- Key {
- key: Qt.Key_At
- text: "@"
- }
- Key {
- key: Qt.Key_NumberSign
- text: "#"
- }
- Key {
- key: Qt.Key_Percent
- text: "%"
- }
- Key {
- key: Qt.Key_Ampersand
- text: "&"
- }
- Key {
- key: Qt.Key_Asterisk
- text: "*"
- }
- Key {
- key: Qt.Key_Minus
- text: "-"
- }
- Key {
- key: Qt.Key_Plus
- text: "+"
- }
- Key {
- key: Qt.Key_ParenLeft
- text: "("
- }
- Key {
- key: Qt.Key_ParenRight
- text: ")"
- }
- EnterKey {
- weight: 283
- }
- }
- KeyboardRow {
- keyWeight: 156
- Key {
- displayText: "1/2"
- functionKey: true
- onClicked: secondPage = !secondPage
- }
- Key {
- key: Qt.Key_exclamdown
- text: "¡"
- alternativeKeys: "¡!"
- }
- Key {
- key: Qt.Key_QuoteDbl
- text: '"'
- }
- Key {
- key: Qt.Key_Less
- text: "<"
- }
- Key {
- key: Qt.Key_Greater
- text: ">"
- }
- Key {
- key: Qt.Key_Apostrophe
- text: "'"
- }
- Key {
- key: Qt.Key_Colon
- text: ":"
- }
- Key {
- key: Qt.Key_Semicolon
- text: ";"
- }
- Key {
- key: Qt.Key_Slash
- text: "/"
- }
- Key {
- key: Qt.Key_questiondown
- text: "¿"
- alternativeKeys: "¿?"
- }
- Key {
- weight: 204
- displayText: "1/2"
- functionKey: true
- onClicked: secondPage = !secondPage
- }
- }
- KeyboardRow {
- keyWeight: 154
- SymbolModeKey {
- weight: 217
- displayText: "ABC"
- }
- ChangeLanguageKey {
- weight: 154
- }
- SpaceKey {
- weight: 864
- }
- Key {
- key: Qt.Key_Period
- text: "."
- alternativeKeys: ".,"
- }
- Key {
- key: 0xE000
- text: ":-)"
- alternativeKeys: [ ";-)", ":-)", ":-D", ":-(", "<3" ]
- }
- HideKeyboardKey {
- weight: 204
- }
- }
- }
- }
- Component {
- id: page2
- KeyboardLayout {
- keyWeight: 160
- KeyboardRow {
- Key {
- key: Qt.Key_AsciiTilde
- text: "~"
- }
- Key {
- key: Qt.Key_Agrave
- text: "`"
- }
- Key {
- key: Qt.Key_Bar
- text: "|"
- }
- Key {
- key: 0x7B
- text: "·"
- }
- Key {
- key: 0x221A
- text: "√"
- }
- Key {
- key: Qt.Key_division
- text: "÷"
- }
- Key {
- key: Qt.Key_multiply
- text: "×"
- }
- Key {
- key: Qt.Key_onehalf
- text: "½"
- alternativeKeys: "¼⅓½¾⅞"
- }
- Key {
- key: Qt.Key_BraceLeft
- text: "{"
- }
- Key {
- key: Qt.Key_BraceRight
- text: "}"
- }
- BackspaceKey {}
- }
- KeyboardRow {
- FillerKey {
- weight: 56
- }
- Key {
- key: Qt.Key_Dollar
- text: "$"
- }
- Key {
- key: 0x20AC
- text: "€"
- }
- Key {
- key: 0xC2
- text: "£"
- }
- Key {
- key: 0xA2
- text: "¢"
- }
- Key {
- key: 0xA5
- text: "¥"
- }
- Key {
- key: Qt.Key_Equal
- text: "="
- }
- Key {
- key: Qt.Key_section
- text: "§"
- }
- Key {
- key: Qt.Key_BracketLeft
- text: "["
- }
- Key {
- key: Qt.Key_BracketRight
- text: "]"
- }
- EnterKey {
- weight: 283
- }
- }
- KeyboardRow {
- keyWeight: 156
- Key {
- displayText: "2/2"
- functionKey: true
- onClicked: secondPage = !secondPage
- }
- Key {
- key: Qt.Key_Underscore
- text: "_"
- }
- Key {
- key: 0x2122
- text: '™'
- }
- Key {
- key: 0x00AE
- text: '®'
- }
- Key {
- key: Qt.Key_guillemotleft
- text: '«'
- }
- Key {
- key: Qt.Key_guillemotright
- text: '»'
- }
- Key {
- key: 0x201C
- text: '“'
- }
- Key {
- key: 0x201D
- text: '”'
- }
- Key {
- key: Qt.Key_Backslash
- text: "\\"
- }
- Key {
- key: Qt.Key_AsciiCircum
- text: "^"
- }
- Key {
- weight: 204
- displayText: "2/2"
- functionKey: true
- onClicked: secondPage = !secondPage
- }
- }
- KeyboardRow {
- keyWeight: 154
- SymbolModeKey {
- weight: 217
- displayText: "ABC"
- }
- ChangeLanguageKey {
- weight: 154
- }
- SpaceKey {
- weight: 864
- }
- Key {
- key: 0x2026
- text: "\u2026"
- }
- Key {
- key: 0xE000
- text: ":-)"
- alternativeKeys: [ ";-)", ":-)", ":-D", ":-(", "<3" ]
- }
- HideKeyboardKey {
- weight: 204
- }
- }
- }
- }
-}
diff --git a/src/virtualkeyboard/content/layouts/es_MX/dialpad.fallback b/src/virtualkeyboard/content/layouts/es_MX/dialpad.fallback
deleted file mode 100644
index e69de29b..00000000
--- a/src/virtualkeyboard/content/layouts/es_MX/dialpad.fallback
+++ /dev/null
diff --git a/src/virtualkeyboard/content/layouts/es_MX/digits.fallback b/src/virtualkeyboard/content/layouts/es_MX/digits.fallback
deleted file mode 100644
index e69de29b..00000000
--- a/src/virtualkeyboard/content/layouts/es_MX/digits.fallback
+++ /dev/null
diff --git a/src/virtualkeyboard/content/layouts/es_MX/handwriting.qml b/src/virtualkeyboard/content/layouts/es_MX/handwriting.qml
deleted file mode 100644
index d4896408..00000000
--- a/src/virtualkeyboard/content/layouts/es_MX/handwriting.qml
+++ /dev/null
@@ -1,97 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2017 The Qt Company Ltd.
-** Contact: https://www.qt.io/licensing/
-**
-** This file is part of the Qt Virtual Keyboard module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:GPL$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see https://www.qt.io/terms-conditions. For further
-** information use the contact form at https://www.qt.io/contact-us.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 3 or (at your option) any later version
-** approved by the KDE Free Qt Foundation. The licenses are as published by
-** the Free Software Foundation and appearing in the file LICENSE.GPL3
-** included in the packaging of this file. Please review the following
-** information to ensure the GNU General Public License requirements will
-** be met: https://www.gnu.org/licenses/gpl-3.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-import QtQuick 2.0
-import QtQuick.Layouts 1.0
-import QtQuick.VirtualKeyboard 2.3
-
-KeyboardLayout {
- function createInputMethod() {
- return Qt.createQmlObject('import QtQuick 2.0; import QtQuick.VirtualKeyboard.Plugins 2.3; HandwritingInputMethod {}', parent)
- }
- sharedLayouts: ['symbols']
- inputMode: InputEngine.InputMode.Latin
-
- KeyboardRow {
- Layout.preferredHeight: 3
- KeyboardColumn {
- Layout.preferredWidth: bottomRow.width - hideKeyboardKey.width
- KeyboardRow {
- TraceInputKey {
- objectName: "hwrInputArea"
- patternRecognitionMode: InputEngine.PatternRecognitionMode.Handwriting
- }
- }
- }
- KeyboardColumn {
- Layout.preferredWidth: hideKeyboardKey.width
- KeyboardRow {
- BackspaceKey {}
- }
- KeyboardRow {
- EnterKey {}
- }
- KeyboardRow {
- ShiftKey { }
- }
- }
- }
- KeyboardRow {
- id: bottomRow
- Layout.preferredHeight: 1
- keyWeight: 154
- InputModeKey {
- weight: 217
- }
- ChangeLanguageKey {
- weight: 154
- customLayoutsOnly: true
- }
- HandwritingModeKey {
- weight: 154
- }
- SpaceKey {
- weight: 864
- }
- Key {
- key: Qt.Key_Apostrophe
- text: "'"
- alternativeKeys: "<>()#%&*/\\\"'=+-_"
- }
- Key {
- key: Qt.Key_Period
- text: "."
- alternativeKeys: ":;,.¿?¡!"
- }
- HideKeyboardKey {
- id: hideKeyboardKey
- weight: 204
- }
- }
-}
diff --git a/src/virtualkeyboard/content/layouts/es_MX/main.qml b/src/virtualkeyboard/content/layouts/es_MX/main.qml
deleted file mode 100644
index b98980bb..00000000
--- a/src/virtualkeyboard/content/layouts/es_MX/main.qml
+++ /dev/null
@@ -1,211 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2016 The Qt Company Ltd.
-** Contact: https://www.qt.io/licensing/
-**
-** This file is part of the Qt Virtual Keyboard module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:GPL$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see https://www.qt.io/terms-conditions. For further
-** information use the contact form at https://www.qt.io/contact-us.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 3 or (at your option) any later version
-** approved by the KDE Free Qt Foundation. The licenses are as published by
-** the Free Software Foundation and appearing in the file LICENSE.GPL3
-** included in the packaging of this file. Please review the following
-** information to ensure the GNU General Public License requirements will
-** be met: https://www.gnu.org/licenses/gpl-3.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-import QtQuick 2.0
-import QtQuick.VirtualKeyboard 2.1
-
-KeyboardLayout {
- inputMode: InputEngine.InputMode.Latin
- keyWeight: 160
- KeyboardRow {
- Key {
- key: Qt.Key_Q
- text: "q"
- }
- Key {
- key: Qt.Key_W
- text: "w"
- }
- Key {
- key: Qt.Key_E
- text: "e"
- alternativeKeys: "ēęėëeêèé"
- }
- Key {
- key: Qt.Key_R
- text: "r"
- }
- Key {
- key: Qt.Key_T
- text: "t"
- }
- Key {
- key: Qt.Key_Y
- text: "y"
- }
- Key {
- key: Qt.Key_U
- text: "u"
- alternativeKeys: "üûuùú"
- }
- Key {
- key: Qt.Key_I
- text: "i"
- alternativeKeys: "ïįîiìí"
- }
- Key {
- key: Qt.Key_O
- text: "o"
- alternativeKeys: "öõôoòóº"
- }
- Key {
- key: Qt.Key_P
- text: "p"
- }
- BackspaceKey {
- weight: 180
- }
- }
- KeyboardRow {
- keyWeight: 156
- FillerKey {
- weight: 56
- }
- Key {
- key: Qt.Key_A
- text: "a"
- alternativeKeys: "äãaâàáª"
- }
- Key {
- key: Qt.Key_S
- text: "s"
- }
- Key {
- key: Qt.Key_D
- text: "d"
- }
- Key {
- key: Qt.Key_F
- text: "f"
- }
- Key {
- key: Qt.Key_G
- text: "g"
- }
- Key {
- key: Qt.Key_H
- text: "h"
- }
- Key {
- key: Qt.Key_J
- text: "j"
- }
- Key {
- key: Qt.Key_K
- text: "k"
- }
- Key {
- key: Qt.Key_L
- text: "l"
- }
- Key {
- key: Qt.Key_Ntilde
- text: "ñ"
- }
- EnterKey {
- weight: 246
- }
- }
- KeyboardRow {
- keyWeight: 156
- ShiftKey {}
- Key {
- key: Qt.Key_Z
- text: "z"
- }
- Key {
- key: Qt.Key_X
- text: "x"
- }
- Key {
- key: Qt.Key_C
- text: "c"
- alternativeKeys: "čcçć"
- }
- Key {
- key: Qt.Key_V
- text: "v"
- }
- Key {
- key: Qt.Key_B
- text: "b"
- }
- Key {
- key: Qt.Key_N
- text: "n"
- }
- Key {
- key: Qt.Key_M
- text: "m"
- }
- Key {
- key: Qt.Key_Comma
- text: ","
- }
- Key {
- key: Qt.Key_Period
- text: "."
- }
- Key {
- key: Qt.Key_Minus
- text: "-"
- }
- ShiftKey {
- weight: 264
- }
- }
- KeyboardRow {
- keyWeight: 154
- SymbolModeKey {
- weight: 217
- }
- ChangeLanguageKey {
- weight: 154
- }
- HandwritingModeKey {
- weight: 154
- }
- SpaceKey {
- weight: 864
- }
- Key {
- key: Qt.Key_Question
- text: "?"
- alternativeKeys: "¿?¡!"
- }
- Key {
- key: 0xE000
- text: ":-)"
- alternativeKeys: [ ";-)", ":-)", ":-D", ":-(", "<3" ]
- }
- HideKeyboardKey {
- weight: 204
- }
- }
-}
diff --git a/src/virtualkeyboard/content/layouts/es_MX/numbers.fallback b/src/virtualkeyboard/content/layouts/es_MX/numbers.fallback
deleted file mode 100644
index e69de29b..00000000
--- a/src/virtualkeyboard/content/layouts/es_MX/numbers.fallback
+++ /dev/null
diff --git a/src/virtualkeyboard/content/layouts/es_MX/symbols.qml b/src/virtualkeyboard/content/layouts/es_MX/symbols.qml
deleted file mode 100644
index 17bd3c36..00000000
--- a/src/virtualkeyboard/content/layouts/es_MX/symbols.qml
+++ /dev/null
@@ -1,378 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2016 The Qt Company Ltd.
-** Contact: https://www.qt.io/licensing/
-**
-** This file is part of the Qt Virtual Keyboard module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:GPL$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see https://www.qt.io/terms-conditions. For further
-** information use the contact form at https://www.qt.io/contact-us.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 3 or (at your option) any later version
-** approved by the KDE Free Qt Foundation. The licenses are as published by
-** the Free Software Foundation and appearing in the file LICENSE.GPL3
-** included in the packaging of this file. Please review the following
-** information to ensure the GNU General Public License requirements will
-** be met: https://www.gnu.org/licenses/gpl-3.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-import QtQuick 2.0
-import QtQuick.Layouts 1.0
-import QtQuick.VirtualKeyboard 2.1
-
-KeyboardLayoutLoader {
- property bool secondPage
- onVisibleChanged: if (!visible) secondPage = false
- sourceComponent: secondPage ? page2 : page1
- Component {
- id: page1
- KeyboardLayout {
- keyWeight: 160
- KeyboardRow {
- Key {
- key: Qt.Key_1
- text: "1"
- }
- Key {
- key: Qt.Key_2
- text: "2"
- }
- Key {
- key: Qt.Key_3
- text: "3"
- }
- Key {
- key: Qt.Key_4
- text: "4"
- }
- Key {
- key: Qt.Key_5
- text: "5"
- }
- Key {
- key: Qt.Key_6
- text: "6"
- }
- Key {
- key: Qt.Key_7
- text: "7"
- }
- Key {
- key: Qt.Key_8
- text: "8"
- }
- Key {
- key: Qt.Key_9
- text: "9"
- }
- Key {
- key: Qt.Key_0
- text: "0"
- }
- BackspaceKey {}
- }
- KeyboardRow {
- FillerKey {
- weight: 56
- }
- Key {
- key: Qt.Key_At
- text: "@"
- }
- Key {
- key: Qt.Key_NumberSign
- text: "#"
- }
- Key {
- key: Qt.Key_Percent
- text: "%"
- }
- Key {
- key: Qt.Key_Ampersand
- text: "&"
- }
- Key {
- key: Qt.Key_Asterisk
- text: "*"
- }
- Key {
- key: Qt.Key_Minus
- text: "-"
- }
- Key {
- key: Qt.Key_Plus
- text: "+"
- }
- Key {
- key: Qt.Key_ParenLeft
- text: "("
- }
- Key {
- key: Qt.Key_ParenRight
- text: ")"
- }
- EnterKey {
- weight: 283
- }
- }
- KeyboardRow {
- keyWeight: 156
- Key {
- displayText: "1/2"
- functionKey: true
- onClicked: secondPage = !secondPage
- }
- Key {
- key: Qt.Key_exclamdown
- text: "¡"
- alternativeKeys: "¡!"
- }
- Key {
- key: Qt.Key_QuoteDbl
- text: '"'
- }
- Key {
- key: Qt.Key_Less
- text: "<"
- }
- Key {
- key: Qt.Key_Greater
- text: ">"
- }
- Key {
- key: Qt.Key_Apostrophe
- text: "'"
- }
- Key {
- key: Qt.Key_Colon
- text: ":"
- }
- Key {
- key: Qt.Key_Semicolon
- text: ";"
- }
- Key {
- key: Qt.Key_Slash
- text: "/"
- }
- Key {
- key: Qt.Key_questiondown
- text: "¿"
- alternativeKeys: "¿?"
- }
- Key {
- weight: 204
- displayText: "1/2"
- functionKey: true
- onClicked: secondPage = !secondPage
- }
- }
- KeyboardRow {
- keyWeight: 154
- SymbolModeKey {
- weight: 217
- displayText: "ABC"
- }
- ChangeLanguageKey {
- weight: 154
- }
- SpaceKey {
- weight: 864
- }
- Key {
- key: Qt.Key_Period
- text: "."
- alternativeKeys: ".,"
- }
- Key {
- key: 0xE000
- text: ":-)"
- alternativeKeys: [ ";-)", ":-)", ":-D", ":-(", "<3" ]
- }
- HideKeyboardKey {
- weight: 204
- }
- }
- }
- }
- Component {
- id: page2
- KeyboardLayout {
- keyWeight: 160
- KeyboardRow {
- Key {
- key: Qt.Key_AsciiTilde
- text: "~"
- }
- Key {
- key: Qt.Key_Agrave
- text: "`"
- }
- Key {
- key: Qt.Key_Bar
- text: "|"
- }
- Key {
- key: 0x7B
- text: "·"
- }
- Key {
- key: 0x221A
- text: "√"
- }
- Key {
- key: Qt.Key_division
- text: "÷"
- }
- Key {
- key: Qt.Key_multiply
- text: "×"
- }
- Key {
- key: Qt.Key_onehalf
- text: "½"
- alternativeKeys: "¼⅓½¾⅞"
- }
- Key {
- key: Qt.Key_BraceLeft
- text: "{"
- }
- Key {
- key: Qt.Key_BraceRight
- text: "}"
- }
- BackspaceKey {}
- }
- KeyboardRow {
- FillerKey {
- weight: 56
- }
- Key {
- key: Qt.Key_Dollar
- text: "$"
- }
- Key {
- key: 0x20AC
- text: "€"
- }
- Key {
- key: 0xC2
- text: "£"
- }
- Key {
- key: 0xA2
- text: "¢"
- }
- Key {
- key: 0xA5
- text: "¥"
- }
- Key {
- key: Qt.Key_Equal
- text: "="
- }
- Key {
- key: Qt.Key_section
- text: "§"
- }
- Key {
- key: Qt.Key_BracketLeft
- text: "["
- }
- Key {
- key: Qt.Key_BracketRight
- text: "]"
- }
- EnterKey {
- weight: 283
- }
- }
- KeyboardRow {
- keyWeight: 156
- Key {
- displayText: "2/2"
- functionKey: true
- onClicked: secondPage = !secondPage
- }
- Key {
- key: Qt.Key_Underscore
- text: "_"
- }
- Key {
- key: 0x2122
- text: '™'
- }
- Key {
- key: 0x00AE
- text: '®'
- }
- Key {
- key: Qt.Key_guillemotleft
- text: '«'
- }
- Key {
- key: Qt.Key_guillemotright
- text: '»'
- }
- Key {
- key: 0x201C
- text: '“'
- }
- Key {
- key: 0x201D
- text: '”'
- }
- Key {
- key: Qt.Key_Backslash
- text: "\\"
- }
- Key {
- key: Qt.Key_AsciiCircum
- text: "^"
- }
- Key {
- weight: 204
- displayText: "2/2"
- functionKey: true
- onClicked: secondPage = !secondPage
- }
- }
- KeyboardRow {
- keyWeight: 154
- SymbolModeKey {
- weight: 217
- displayText: "ABC"
- }
- ChangeLanguageKey {
- weight: 154
- }
- SpaceKey {
- weight: 864
- }
- Key {
- key: 0x2026
- text: "\u2026"
- }
- Key {
- key: 0xE000
- text: ":-)"
- alternativeKeys: [ ";-)", ":-)", ":-D", ":-(", "<3" ]
- }
- HideKeyboardKey {
- weight: 204
- }
- }
- }
- }
-}
diff --git a/src/virtualkeyboard/content/layouts/et_EE/dialpad.fallback b/src/virtualkeyboard/content/layouts/et_EE/dialpad.fallback
deleted file mode 100644
index e69de29b..00000000
--- a/src/virtualkeyboard/content/layouts/et_EE/dialpad.fallback
+++ /dev/null
diff --git a/src/virtualkeyboard/content/layouts/et_EE/digits.fallback b/src/virtualkeyboard/content/layouts/et_EE/digits.fallback
deleted file mode 100644
index e69de29b..00000000
--- a/src/virtualkeyboard/content/layouts/et_EE/digits.fallback
+++ /dev/null
diff --git a/src/virtualkeyboard/content/layouts/et_EE/handwriting.fallback b/src/virtualkeyboard/content/layouts/et_EE/handwriting.fallback
deleted file mode 100644
index e69de29b..00000000
--- a/src/virtualkeyboard/content/layouts/et_EE/handwriting.fallback
+++ /dev/null
diff --git a/src/virtualkeyboard/content/layouts/et_EE/main.qml b/src/virtualkeyboard/content/layouts/et_EE/main.qml
deleted file mode 100644
index 4d62e93e..00000000
--- a/src/virtualkeyboard/content/layouts/et_EE/main.qml
+++ /dev/null
@@ -1,215 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2017 The Qt Company Ltd.
-** Contact: https://www.qt.io/licensing/
-**
-** This file is part of the Qt Virtual Keyboard module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:GPL$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see https://www.qt.io/terms-conditions. For further
-** information use the contact form at https://www.qt.io/contact-us.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 3 or (at your option) any later version
-** approved by the KDE Free Qt Foundation. The licenses are as published by
-** the Free Software Foundation and appearing in the file LICENSE.GPL3
-** included in the packaging of this file. Please review the following
-** information to ensure the GNU General Public License requirements will
-** be met: https://www.gnu.org/licenses/gpl-3.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-import QtQuick 2.0
-import QtQuick.VirtualKeyboard 2.1
-
-KeyboardLayout {
- inputMode: InputEngine.InputMode.Latin
- keyWeight: 160
- KeyboardRow {
- Key {
- key: Qt.Key_Q
- text: "q"
- }
- Key {
- key: Qt.Key_W
- text: "w"
- }
- Key {
- key: Qt.Key_E
- text: "e"
- }
- Key {
- key: Qt.Key_R
- text: "r"
- }
- Key {
- key: Qt.Key_T
- text: "t"
- }
- Key {
- key: Qt.Key_Y
- text: "y"
- }
- Key {
- key: Qt.Key_U
- text: "u"
- }
- Key {
- key: Qt.Key_I
- text: "i"
- }
- Key {
- key: Qt.Key_O
- text: "o"
- }
- Key {
- key: Qt.Key_P
- text: "p"
- }
- Key {
- key: Qt.Key_Udiaeresis
- text: "ü"
- }
- Key {
- key: Qt.Key_Otilde
- text: "õ"
- }
- BackspaceKey {}
- }
- KeyboardRow {
- FillerKey {
- weight: 66
- }
- Key {
- key: Qt.Key_A
- text: "a"
- }
- Key {
- key: Qt.Key_S
- text: "s"
- alternativeKeys: "sš"
- }
- Key {
- key: Qt.Key_D
- text: "d"
- }
- Key {
- key: Qt.Key_F
- text: "f"
- }
- Key {
- key: Qt.Key_G
- text: "g"
- }
- Key {
- key: Qt.Key_H
- text: "h"
- }
- Key {
- key: Qt.Key_J
- text: "j"
- }
- Key {
- key: Qt.Key_K
- text: "k"
- }
- Key {
- key: Qt.Key_L
- text: "l"
- }
- Key {
- key: Qt.Key_Odiaeresis
- text: "ö"
- }
- Key {
- key: Qt.Key_Adiaeresis
- text: "ä"
- }
- EnterKey {
- weight: 283
- }
- }
- KeyboardRow {
- keyWeight: 156
- ShiftKey { }
- Key {
- key: Qt.Key_Z
- text: "z"
- alternativeKeys: "zž"
- }
- Key {
- key: Qt.Key_X
- text: "x"
- }
- Key {
- key: Qt.Key_C
- text: "c"
- }
- Key {
- key: Qt.Key_V
- text: "v"
- }
- Key {
- key: Qt.Key_B
- text: "b"
- }
- Key {
- key: Qt.Key_N
- text: "n"
- }
- Key {
- key: Qt.Key_M
- text: "m"
- }
- Key {
- key: Qt.Key_Comma
- text: ","
- }
- Key {
- key: Qt.Key_Period
- text: "."
- }
- Key {
- key: Qt.Key_Minus
- text: "-"
- }
- ShiftKey {
- weight: 264
- }
- }
- KeyboardRow {
- keyWeight: 154
- SymbolModeKey {
- weight: 217
- }
- ChangeLanguageKey {
- weight: 154
- }
- HandwritingModeKey {
- weight: 154
- }
- SpaceKey {
- weight: 864
- }
- Key {
- key: Qt.Key_Apostrophe
- text: "'"
- }
- Key {
- key: 0xE000
- text: ":-)"
- alternativeKeys: [ ";-)", ":-)", ":-D", ":-(", "<3" ]
- }
- HideKeyboardKey {
- weight: 204
- }
- }
-}
diff --git a/src/virtualkeyboard/content/layouts/et_EE/numbers.fallback b/src/virtualkeyboard/content/layouts/et_EE/numbers.fallback
deleted file mode 100644
index e69de29b..00000000
--- a/src/virtualkeyboard/content/layouts/et_EE/numbers.fallback
+++ /dev/null
diff --git a/src/virtualkeyboard/content/layouts/et_EE/symbols.fallback b/src/virtualkeyboard/content/layouts/et_EE/symbols.fallback
deleted file mode 100644
index e69de29b..00000000
--- a/src/virtualkeyboard/content/layouts/et_EE/symbols.fallback
+++ /dev/null
diff --git a/src/virtualkeyboard/content/layouts/fa_FA/dialpad.fallback b/src/virtualkeyboard/content/layouts/fa_FA/dialpad.fallback
deleted file mode 100644
index e69de29b..00000000
--- a/src/virtualkeyboard/content/layouts/fa_FA/dialpad.fallback
+++ /dev/null
diff --git a/src/virtualkeyboard/content/layouts/fa_FA/digits.qml b/src/virtualkeyboard/content/layouts/fa_FA/digits.qml
deleted file mode 100644
index ed92201f..00000000
--- a/src/virtualkeyboard/content/layouts/fa_FA/digits.qml
+++ /dev/null
@@ -1,111 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2016 The Qt Company Ltd.
-** Contact: https://www.qt.io/licensing/
-**
-** This file is part of the Qt Virtual Keyboard module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:GPL$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see https://www.qt.io/terms-conditions. For further
-** information use the contact form at https://www.qt.io/contact-us.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 3 or (at your option) any later version
-** approved by the KDE Free Qt Foundation. The licenses are as published by
-** the Free Software Foundation and appearing in the file LICENSE.GPL3
-** included in the packaging of this file. Please review the following
-** information to ensure the GNU General Public License requirements will
-** be met: https://www.gnu.org/licenses/gpl-3.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-import QtQuick 2.0
-import QtQuick.Layouts 1.0
-import QtQuick.VirtualKeyboard 2.1
-import QtQuick.VirtualKeyboard.Plugins 2.3
-
-KeyboardLayout {
- inputMethod: PlainInputMethod {}
- inputMode: InputEngine.InputMode.Numeric
-
- KeyboardColumn {
- Layout.fillWidth: false
- Layout.fillHeight: true
- Layout.alignment: Qt.AlignHCenter
- Layout.preferredWidth: height
- KeyboardRow {
- Key {
- text: "\u06F7"
- alternativeKeys: "\u06F77"
- }
- Key {
- text: "\u06F8"
- alternativeKeys: "\u06F88"
- }
- Key {
- text: "\u06F9"
- alternativeKeys: "\u06F99"
- }
- BackspaceKey {}
- }
- KeyboardRow {
- Key {
- text: "\u06F4"
- alternativeKeys: "\u06F44"
- }
- Key {
- text: "\u06F5"
- alternativeKeys: "\u06F55"
- }
- Key {
- text: "\u06F6"
- alternativeKeys: "\u06F66"
- }
- Key {
- text: " "
- displayText: "\u2423"
- repeat: true
- showPreview: false
- key: Qt.Key_Space
- }
- }
- KeyboardRow {
- Key {
- text: "\u06F1"
- alternativeKeys: "\u06F11"
- }
- Key {
- text: "\u06F2"
- alternativeKeys: "\u06F22"
- }
- Key {
- text: "\u06F3"
- alternativeKeys: "\u06F33"
- }
- HideKeyboardKey {}
- }
- KeyboardRow {
- ChangeLanguageKey {
- customLayoutsOnly: true
- }
- Key {
- text: "\u06F0"
- alternativeKeys: "\u06F00"
- }
- Key {
- key: Qt.Key_Comma
- text: "\u066B"
- alternativeKeys: "\u066B,."
- }
- EnterKey {}
- }
- }
-}
diff --git a/src/virtualkeyboard/content/layouts/fa_FA/handwriting.qml b/src/virtualkeyboard/content/layouts/fa_FA/handwriting.qml
deleted file mode 100644
index 1a43b05e..00000000
--- a/src/virtualkeyboard/content/layouts/fa_FA/handwriting.qml
+++ /dev/null
@@ -1,116 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2016 The Qt Company Ltd.
-** Contact: https://www.qt.io/licensing/
-**
-** This file is part of the Qt Virtual Keyboard module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:GPL$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see https://www.qt.io/terms-conditions. For further
-** information use the contact form at https://www.qt.io/contact-us.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 3 or (at your option) any later version
-** approved by the KDE Free Qt Foundation. The licenses are as published by
-** the Free Software Foundation and appearing in the file LICENSE.GPL3
-** included in the packaging of this file. Please review the following
-** information to ensure the GNU General Public License requirements will
-** be met: https://www.gnu.org/licenses/gpl-3.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-import QtQuick 2.0
-import QtQuick.Layouts 1.0
-import QtQuick.VirtualKeyboard 2.3
-
-KeyboardLayout {
- function createInputMethod() {
- return Qt.createQmlObject('import QtQuick 2.0; import QtQuick.VirtualKeyboard.Plugins 2.3; HandwritingInputMethod {}', parent)
- }
- sharedLayouts: ['symbols']
- inputMode: InputEngine.InputMode.Arabic
- readonly property bool alphabeticInputMode: [InputEngine.InputMode.Latin, InputEngine.InputMode.Dialable].indexOf(InputContext.inputEngine.inputMode) !== -1
-
- KeyboardRow {
- Layout.preferredHeight: 3
- KeyboardColumn {
- Layout.preferredWidth: bottomRow.width - hideKeyboardKey.width
- KeyboardRow {
- TraceInputKey {
- objectName: "hwrInputArea"
- patternRecognitionMode: InputEngine.PatternRecognitionMode.Handwriting
- horizontalRulers:
- alphabeticInputMode ? [] :
- [Math.round(boundingBox.height / 4), Math.round(boundingBox.height / 4) * 2, Math.round(boundingBox.height / 4) * 3]
- }
- }
- }
- KeyboardColumn {
- Layout.preferredWidth: hideKeyboardKey.width
- KeyboardRow {
- BackspaceKey {}
- }
- KeyboardRow {
- EnterKey {}
- }
- KeyboardRow {
- ShiftKey { }
- }
- }
- }
- KeyboardRow {
- id: bottomRow
- Layout.preferredHeight: 1
- keyWeight: 154
- InputModeKey {
- weight: 217
- inputModeNameList: [
- "ABC", // InputEngine.InputMode.Latin
- "\u0660\u0661\u0662", // InputEngine.InputMode.Numeric
- "123", // InputEngine.InputMode.Dialable
- "", // InputEngine.InputMode.Pinyin
- "", // InputEngine.InputMode.Cangjie
- "", // InputEngine.InputMode.Zhuyin
- "", // InputEngine.InputMode.Hangul
- "", // InputEngine.InputMode.Hiragana
- "", // InputEngine.InputMode.Katakana
- "", // InputEngine.InputMode.FullwidthLatin
- "", // InputEngine.InputMode.Greek
- "", // InputEngine.InputMode.Cyrillic
- "\u0627\u200C\u0628\u200C\u067E", // InputEngine.InputMode.Arabic
- ]
- }
- ChangeLanguageKey {
- weight: 154
- customLayoutsOnly: true
- }
- HandwritingModeKey {
- weight: 154
- }
- SpaceKey {
- weight: 864
- }
- Key {
- key: alphabeticInputMode ? Qt.Key_Apostrophe : 0x060C
- text: alphabeticInputMode ? "'" : "\u060C"
- alternativeKeys: alphabeticInputMode ? "<>()#%&*/\\\"'=+-_" : "\"\u060C\u066B\u066C\u066D"
- }
- Key {
- key: Qt.Key_Period
- text: "."
- alternativeKeys: alphabeticInputMode ? ":;,.?!" : ":\u061B.\u061F!"
- }
- HideKeyboardKey {
- id: hideKeyboardKey
- weight: 204
- }
- }
-}
diff --git a/src/virtualkeyboard/content/layouts/fa_FA/main.qml b/src/virtualkeyboard/content/layouts/fa_FA/main.qml
deleted file mode 100644
index 0450c772..00000000
--- a/src/virtualkeyboard/content/layouts/fa_FA/main.qml
+++ /dev/null
@@ -1,344 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2016 The Qt Company Ltd.
-** Contact: https://www.qt.io/licensing/
-**
-** This file is part of the Qt Virtual Keyboard module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:GPL$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see https://www.qt.io/terms-conditions. For further
-** information use the contact form at https://www.qt.io/contact-us.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 3 or (at your option) any later version
-** approved by the KDE Free Qt Foundation. The licenses are as published by
-** the Free Software Foundation and appearing in the file LICENSE.GPL3
-** included in the packaging of this file. Please review the following
-** information to ensure the GNU General Public License requirements will
-** be met: https://www.gnu.org/licenses/gpl-3.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-import QtQuick 2.0
-import QtQuick.VirtualKeyboard 2.3
-
-KeyboardLayoutLoader {
- inputMode: InputEngine.InputMode.Arabic
- sourceComponent: InputContext.shiftActive ? page2 : page1
- Component {
- id: page1
- KeyboardLayout {
- keyWeight: 160
- KeyboardRow {
- Key {
- text: "\u0636"
- }
- Key {
- text: "\u0635"
- }
- Key {
- text: "\u062B"
- }
- Key {
- text: "\u0642"
- }
- Key {
- text: "\u0641"
- }
- Key {
- text: "\u063A"
- }
- Key {
- text: "\u0639"
- }
- Key {
- text: "\u0647"
- }
- Key {
- text: "\u062E"
- }
- Key {
- text: "\u062D"
- }
- Key {
- text: "\u062C"
- }
- Key {
- text: "\u0686"
- }
- BackspaceKey {}
- }
- KeyboardRow {
- FillerKey {
- weight: 56
- }
- Key {
- text: "\u0634"
- }
- Key {
- text: "\u0633"
- }
- Key {
- text: "\u06CC"
- }
- Key {
- text: "\u0628"
- }
- Key {
- text: "\u0644"
- }
- Key {
- text: "\u0627"
- }
- Key {
- text: "\u062A"
- }
- Key {
- text: "\u0646"
- }
- Key {
- text: "\u0645"
- }
- Key {
- text: "\u06A9"
- }
- Key {
- text: "\u06AF"
- }
- EnterKey {
- weight: 283
- }
- }
- KeyboardRow {
- keyWeight: 156
- ShiftKey {}
- Key {
- text: "\u0638"
- }
- Key {
- text: "\u0637"
- }
- Key {
- text: "\u0632"
- }
- Key {
- text: "\u0631"
- }
- Key {
- text: "\u0630"
- }
- Key {
- text: "\u062F"
- }
- Key {
- text: "\u067E"
- }
- Key {
- text: "\u0648"
- }
- Key {
- key: 0x060C
- text: "\u060C"
- alternativeKeys: "\u060C,"
- }
- Key {
- key: Qt.Key_Period
- text: "."
- }
- ShiftKey {
- weight: 204
- }
- }
- KeyboardRow {
- keyWeight: 154
- SymbolModeKey {
- weight: 217
- displayText: "\u06F1\u06F2\u06F3\u061F"
- }
- ChangeLanguageKey {
- weight: 154
- }
- HandwritingModeKey {
- weight: 154
- }
- SpaceKey {
- weight: 864
- }
- Key {
- text: "\u200D"
- displayText: "ZWJ"
- }
- Key {
- key: 0xE000
- text: ":-)"
- alternativeKeys: [ ";-)", ":-)", ":-D", ":-(", "<3" ]
- }
- HideKeyboardKey {
- weight: 204
- }
- }
- }
- }
- Component {
- id: page2
- KeyboardLayout {
- keyWeight: 160
- KeyboardRow {
- Key {
- text: "\u0652"
- }
- Key {
- text: "\u064C"
- }
- Key {
- text: "\u064D"
- }
- Key {
- text: "\u064B"
- }
- Key {
- text: "\u064F"
- }
- Key {
- text: "\u0650"
- }
- Key {
- text: "\u064E"
- }
- Key {
- text: "\u0651"
- }
- Key {
- enabled: false
- }
- Key {
- enabled: false
- }
- Key {
- enabled: false
- }
- Key {
- enabled: false
- }
- BackspaceKey {}
- }
- KeyboardRow {
- FillerKey {
- weight: 56
- }
- Key {
- enabled: false
- }
- Key {
- text: "\u064F"
- }
- Key {
- text: "\u064A"
- }
- Key {
- text: "\u0625"
- }
- Key {
- text: "\u0623"
- }
- Key {
- text: "\u0622"
- }
- Key {
- text: "\u0629"
- }
- Key {
- enabled: false
- }
- Key {
- enabled: false
- }
- Key {
- enabled: false
- }
- Key {
- enabled: false
- }
- EnterKey {
- weight: 283
- }
- }
- KeyboardRow {
- keyWeight: 156
- ShiftKey {}
- Key {
- text: "\u0643"
- }
- Key {
- text: "\u0653"
- }
- Key {
- text: "\u0698"
- }
- Key {
- text: "\u0670"
- }
- Key {
- text: "\u0621"
- }
- Key {
- enabled: false
- }
- Key {
- enabled: false
- }
- Key {
- text: "\u0624"
- }
- Key {
- key: 0x060C
- text: "\u060C"
- alternativeKeys: "\u060C,"
- }
- Key {
- key: Qt.Key_Period
- text: "."
- }
- ShiftKey {
- weight: 204
- }
- }
- KeyboardRow {
- keyWeight: 154
- SymbolModeKey {
- weight: 217
- displayText: "\u06F1\u06F2\u06F3\u061F"
- }
- ChangeLanguageKey {
- weight: 154
- }
- HandwritingModeKey {
- weight: 154
- }
- SpaceKey {
- weight: 864
- }
- Key {
- text: "\u200C"
- displayText: "ZWNJ"
- }
- Key {
- key: 0xE000
- text: ":-)"
- alternativeKeys: [ ";-)", ":-)", ":-D", ":-(", "<3" ]
- }
- HideKeyboardKey {
- weight: 204
- }
- }
- }
- }
-}
diff --git a/src/virtualkeyboard/content/layouts/fa_FA/numbers.qml b/src/virtualkeyboard/content/layouts/fa_FA/numbers.qml
deleted file mode 100644
index e32a1e71..00000000
--- a/src/virtualkeyboard/content/layouts/fa_FA/numbers.qml
+++ /dev/null
@@ -1,184 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2016 The Qt Company Ltd.
-** Contact: https://www.qt.io/licensing/
-**
-** This file is part of the Qt Virtual Keyboard module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:GPL$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see https://www.qt.io/terms-conditions. For further
-** information use the contact form at https://www.qt.io/contact-us.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 3 or (at your option) any later version
-** approved by the KDE Free Qt Foundation. The licenses are as published by
-** the Free Software Foundation and appearing in the file LICENSE.GPL3
-** included in the packaging of this file. Please review the following
-** information to ensure the GNU General Public License requirements will
-** be met: https://www.gnu.org/licenses/gpl-3.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-import QtQuick 2.0
-import QtQuick.Layouts 1.0
-import QtQuick.VirtualKeyboard 2.1
-import QtQuick.VirtualKeyboard.Plugins 2.3
-
-KeyboardLayout {
- inputMethod: PlainInputMethod {}
- inputMode: InputEngine.InputMode.Numeric
-
- KeyboardRow {
- Layout.fillWidth: false
- Layout.fillHeight: true
- Layout.alignment: Qt.AlignHCenter
- KeyboardColumn {
- Layout.fillWidth: false
- Layout.fillHeight: true
- Layout.preferredWidth: parent.height / 4 * 3
- KeyboardRow {
- Key {
- key: Qt.Key_ParenLeft
- text: "("
- }
- Key {
- key: Qt.Key_ParenRight
- text: ")"
- }
- Key {
- key: Qt.Key_Period
- text: "."
- }
- }
- KeyboardRow {
- Key {
- key: Qt.Key_division
- text: "\u00F7"
- }
- Key {
- key: Qt.Key_multiply
- text: "\u00D7"
- }
- Key {
- key: Qt.Key_Plus
- text: "+"
- }
- }
- KeyboardRow {
- Key {
- key: Qt.Key_AsciiCircum
- text: "^"
- }
- Key {
- key: Qt.Key_Slash
- text: "/"
- }
- Key {
- key: Qt.Key_Minus
- text: "-"
- }
- }
- KeyboardRow {
- Key {
- key: 0x221A
- text: "√"
- }
- Key {
- key: Qt.Key_Percent
- text: "%"
- }
- Key {
- key: Qt.Key_Asterisk
- text: "*"
- }
- }
- }
- KeyboardColumn {
- Layout.fillWidth: false
- Layout.fillHeight: true
- Layout.preferredWidth: parent.height / 8
- KeyboardRow {
- FillerKey {}
- }
- }
- KeyboardColumn {
- Layout.fillWidth: false
- Layout.fillHeight: true
- Layout.preferredWidth: parent.height
- KeyboardRow {
- Key {
- text: "\u06F7"
- alternativeKeys: "\u06F77"
- }
- Key {
- text: "\u06F8"
- alternativeKeys: "\u06F88"
- }
- Key {
- text: "\u06F9"
- alternativeKeys: "\u06F99"
- }
- BackspaceKey {}
- }
- KeyboardRow {
- Key {
- text: "\u06F4"
- alternativeKeys: "\u06F44"
- }
- Key {
- text: "\u06F5"
- alternativeKeys: "\u06F55"
- }
- Key {
- text: "\u06F6"
- alternativeKeys: "\u06F66"
- }
- Key {
- text: " "
- displayText: "\u2423"
- repeat: true
- showPreview: false
- key: Qt.Key_Space
- }
- }
- KeyboardRow {
- Key {
- text: "\u06F1"
- alternativeKeys: "\u06F11"
- }
- Key {
- text: "\u06F2"
- alternativeKeys: "\u06F22"
- }
- Key {
- text: "\u06F3"
- alternativeKeys: "\u06F33"
- }
- HideKeyboardKey {}
- }
- KeyboardRow {
- ChangeLanguageKey {
- customLayoutsOnly: true
- }
- Key {
- text: "\u06F0"
- alternativeKeys: "\u06F00"
- }
- Key {
- key: Qt.Key_Comma
- text: "\u066B"
- alternativeKeys: "\u066B,."
- }
- EnterKey {}
- }
- }
- }
-}
diff --git a/src/virtualkeyboard/content/layouts/fa_FA/symbols.qml b/src/virtualkeyboard/content/layouts/fa_FA/symbols.qml
deleted file mode 100644
index 8641fdb7..00000000
--- a/src/virtualkeyboard/content/layouts/fa_FA/symbols.qml
+++ /dev/null
@@ -1,378 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2016 The Qt Company Ltd.
-** Contact: https://www.qt.io/licensing/
-**
-** This file is part of the Qt Virtual Keyboard module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:GPL$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see https://www.qt.io/terms-conditions. For further
-** information use the contact form at https://www.qt.io/contact-us.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 3 or (at your option) any later version
-** approved by the KDE Free Qt Foundation. The licenses are as published by
-** the Free Software Foundation and appearing in the file LICENSE.GPL3
-** included in the packaging of this file. Please review the following
-** information to ensure the GNU General Public License requirements will
-** be met: https://www.gnu.org/licenses/gpl-3.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-import QtQuick 2.0
-import QtQuick.Layouts 1.0
-import QtQuick.VirtualKeyboard 2.1
-
-KeyboardLayoutLoader {
- property bool secondPage
- onVisibleChanged: if (!visible) secondPage = false
- sourceComponent: secondPage ? page2 : page1
- Component {
- id: page1
- KeyboardLayout {
- keyWeight: 160
- KeyboardRow {
- Key {
- text: "\u06F1"
- alternativeKeys: "\u06F11"
- }
- Key {
- text: "\u06F2"
- alternativeKeys: "\u06F22"
- }
- Key {
- text: "\u06F3"
- alternativeKeys: "\u06F33"
- }
- Key {
- text: "\u06F4"
- alternativeKeys: "\u06F44"
- }
- Key {
- text: "\u06F5"
- alternativeKeys: "\u06F55"
- }
- Key {
- text: "\u06F6"
- alternativeKeys: "\u06F66"
- }
- Key {
- text: "\u06F7"
- alternativeKeys: "\u06F77"
- }
- Key {
- text: "\u06F8"
- alternativeKeys: "\u06F88"
- }
- Key {
- text: "\u06F9"
- alternativeKeys: "\u06F99"
- }
- Key {
- text: "\u06F0"
- alternativeKeys: "\u06F00"
- }
- BackspaceKey {}
- }
- KeyboardRow {
- FillerKey {
- weight: 56
- }
- Key {
- key: Qt.Key_At
- text: "@"
- }
- Key {
- key: Qt.Key_NumberSign
- text: "#"
- }
- Key {
- key: Qt.Key_Percent
- text: "%"
- }
- Key {
- key: Qt.Key_Ampersand
- text: "&"
- }
- Key {
- key: Qt.Key_Asterisk
- text: "*"
- }
- Key {
- key: Qt.Key_Minus
- text: "-"
- }
- Key {
- key: Qt.Key_Plus
- text: "+"
- }
- Key {
- key: Qt.Key_ParenLeft
- text: "("
- }
- Key {
- key: Qt.Key_ParenRight
- text: ")"
- }
- EnterKey {
- weight: 283
- }
- }
- KeyboardRow {
- keyWeight: 156
- Key {
- displayText: "1/2"
- functionKey: true
- onClicked: secondPage = !secondPage
- }
- Key {
- key: Qt.Key_Exclam
- text: "!"
- }
- Key {
- key: Qt.Key_QuoteDbl
- text: '"'
- }
- Key {
- key: Qt.Key_Less
- text: "<"
- }
- Key {
- key: Qt.Key_Greater
- text: ">"
- }
- Key {
- key: Qt.Key_Apostrophe
- text: "'"
- }
- Key {
- key: Qt.Key_Colon
- text: ":"
- }
- Key {
- key: 0x061B
- text: "\u061B"
- alternativeKeys: "\u061B;"
- }
- Key {
- key: Qt.Key_Slash
- text: "/"
- }
- Key {
- key: 0x061F
- text: "\u061F"
- alternativeKeys: "\u061F?"
- }
- Key {
- weight: 204
- displayText: "1/2"
- functionKey: true
- onClicked: secondPage = !secondPage
- }
- }
- KeyboardRow {
- keyWeight: 154
- SymbolModeKey {
- weight: 217
- displayText: "\u0627\u200C\u0628\u200C\u067E"
- }
- ChangeLanguageKey {
- weight: 154
- }
- SpaceKey {
- weight: 864
- }
- Key {
- key: Qt.Key_Period
- text: "."
- alternativeKeys: ".\u060C,"
- }
- Key {
- key: 0xE000
- text: ":-)"
- alternativeKeys: [ ";-)", ":-)", ":-D", ":-(", "<3" ]
- }
- HideKeyboardKey {
- weight: 204
- }
- }
- }
- }
- Component {
- id: page2
- KeyboardLayout {
- keyWeight: 160
- KeyboardRow {
- Key {
- key: Qt.Key_AsciiTilde
- text: "~"
- }
- Key {
- key: Qt.Key_Agrave
- text: "`"
- }
- Key {
- key: Qt.Key_Bar
- text: "|"
- }
- Key {
- key: 0x7B
- text: "·"
- }
- Key {
- key: 0x221A
- text: "√"
- }
- Key {
- key: Qt.Key_division
- text: "÷"
- }
- Key {
- key: Qt.Key_multiply
- text: "×"
- }
- Key {
- key: Qt.Key_onehalf
- text: "½"
- alternativeKeys: "¼⅓½¾⅞"
- }
- Key {
- key: Qt.Key_BraceLeft
- text: "{"
- }
- Key {
- key: Qt.Key_BraceRight
- text: "}"
- }
- BackspaceKey {}
- }
- KeyboardRow {
- FillerKey {
- weight: 56
- }
- Key {
- key: 0xFDFC
- text: "\uFDFC"
- }
- Key {
- key: Qt.Key_Dollar
- text: "$"
- }
- Key {
- key: 0x20AC
- text: "€"
- }
- Key {
- key: 0xC2
- text: "£"
- }
- Key {
- key: 0xA2
- text: "¢"
- }
- Key {
- key: Qt.Key_Equal
- text: "="
- }
- Key {
- key: Qt.Key_section
- text: "§"
- }
- Key {
- key: Qt.Key_BracketLeft
- text: "["
- }
- Key {
- key: Qt.Key_BracketRight
- text: "]"
- }
- EnterKey {
- weight: 283
- }
- }
- KeyboardRow {
- keyWeight: 156
- Key {
- displayText: "2/2"
- functionKey: true
- onClicked: secondPage = !secondPage
- }
- Key {
- key: Qt.Key_Underscore
- text: "_"
- }
- Key {
- key: 0x2122
- text: '™'
- }
- Key {
- key: 0x00AE
- text: '®'
- }
- Key {
- key: Qt.Key_guillemotleft
- text: '«'
- }
- Key {
- key: Qt.Key_guillemotright
- text: '»'
- }
- Key {
- key: 0x201C
- text: '“'
- }
- Key {
- key: 0x201D
- text: '”'
- }
- Key {
- key: Qt.Key_Backslash
- text: "\\"
- }
- Key {
- key: Qt.Key_AsciiCircum
- text: "^"
- }
- Key {
- weight: 204
- displayText: "2/2"
- functionKey: true
- onClicked: secondPage = !secondPage
- }
- }
- KeyboardRow {
- keyWeight: 154
- SymbolModeKey {
- weight: 217
- displayText: "\u0627\u200C\u0628\u200C\u067E"
- }
- ChangeLanguageKey {
- weight: 154
- }
- SpaceKey {
- weight: 864
- }
- Key {
- key: 0x2026
- text: "\u2026"
- }
- Key {
- key: 0xE000
- text: ":-)"
- alternativeKeys: [ ";-)", ":-)", ":-D", ":-(", "<3" ]
- }
- HideKeyboardKey {
- weight: 204
- }
- }
- }
- }
-}
diff --git a/src/virtualkeyboard/content/layouts/fallback/dialpad.qml b/src/virtualkeyboard/content/layouts/fallback/dialpad.qml
deleted file mode 100644
index 89f6873a..00000000
--- a/src/virtualkeyboard/content/layouts/fallback/dialpad.qml
+++ /dev/null
@@ -1,113 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2016 The Qt Company Ltd.
-** Contact: https://www.qt.io/licensing/
-**
-** This file is part of the Qt Virtual Keyboard module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:GPL$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see https://www.qt.io/terms-conditions. For further
-** information use the contact form at https://www.qt.io/contact-us.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 3 or (at your option) any later version
-** approved by the KDE Free Qt Foundation. The licenses are as published by
-** the Free Software Foundation and appearing in the file LICENSE.GPL3
-** included in the packaging of this file. Please review the following
-** information to ensure the GNU General Public License requirements will
-** be met: https://www.gnu.org/licenses/gpl-3.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-import QtQuick 2.0
-import QtQuick.Layouts 1.0
-import QtQuick.VirtualKeyboard 2.1
-import QtQuick.VirtualKeyboard.Plugins 2.3
-
-KeyboardLayout {
- inputMethod: PlainInputMethod {}
- inputMode: InputEngine.InputMode.Numeric
-
- KeyboardColumn {
- Layout.fillWidth: false
- Layout.fillHeight: true
- Layout.alignment: Qt.AlignHCenter
- Layout.preferredWidth: height
- KeyboardRow {
- Key {
- key: Qt.Key_1
- text: "1"
- }
- Key {
- key: Qt.Key_2
- text: "2"
- }
- Key {
- key: Qt.Key_3
- text: "3"
- }
- BackspaceKey {}
- }
- KeyboardRow {
- Key {
- key: Qt.Key_4
- text: "4"
- }
- Key {
- key: Qt.Key_5
- text: "5"
- }
- Key {
- key: Qt.Key_6
- text: "6"
- }
- Key {
- text: " "
- displayText: "\u2423"
- repeat: true
- showPreview: false
- key: Qt.Key_Space
- }
- }
- KeyboardRow {
- Key {
- key: Qt.Key_7
- text: "7"
- }
- Key {
- key: Qt.Key_8
- text: "8"
- }
- Key {
- key: Qt.Key_9
- text: "9"
- }
- HideKeyboardKey {}
- }
- KeyboardRow {
- Key {
- key: Qt.Key_Asterisk
- displayText: "*+"
- text: "*"
- alternativeKeys: "*+"
- }
- Key {
- key: Qt.Key_0
- text: "0"
- }
- Key {
- text: "#"
- key: Qt.Key_NumberSign
- }
- EnterKey {}
- }
- }
-}
diff --git a/src/virtualkeyboard/content/layouts/fallback/digits.qml b/src/virtualkeyboard/content/layouts/fallback/digits.qml
deleted file mode 100644
index 432984a1..00000000
--- a/src/virtualkeyboard/content/layouts/fallback/digits.qml
+++ /dev/null
@@ -1,112 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2016 The Qt Company Ltd.
-** Contact: https://www.qt.io/licensing/
-**
-** This file is part of the Qt Virtual Keyboard module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:GPL$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see https://www.qt.io/terms-conditions. For further
-** information use the contact form at https://www.qt.io/contact-us.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 3 or (at your option) any later version
-** approved by the KDE Free Qt Foundation. The licenses are as published by
-** the Free Software Foundation and appearing in the file LICENSE.GPL3
-** included in the packaging of this file. Please review the following
-** information to ensure the GNU General Public License requirements will
-** be met: https://www.gnu.org/licenses/gpl-3.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-import QtQuick 2.0
-import QtQuick.Layouts 1.0
-import QtQuick.VirtualKeyboard 2.1
-import QtQuick.VirtualKeyboard.Plugins 2.3
-
-KeyboardLayout {
- inputMethod: PlainInputMethod {}
- inputMode: InputEngine.InputMode.Numeric
-
- KeyboardColumn {
- Layout.fillWidth: false
- Layout.fillHeight: true
- Layout.alignment: Qt.AlignHCenter
- Layout.preferredWidth: height
- KeyboardRow {
- Key {
- key: Qt.Key_7
- text: "7"
- }
- Key {
- key: Qt.Key_8
- text: "8"
- }
- Key {
- key: Qt.Key_9
- text: "9"
- }
- BackspaceKey {}
- }
- KeyboardRow {
- Key {
- key: Qt.Key_4
- text: "4"
- }
- Key {
- key: Qt.Key_5
- text: "5"
- }
- Key {
- key: Qt.Key_6
- text: "6"
- }
- Key {
- text: " "
- displayText: "\u2423"
- repeat: true
- showPreview: false
- key: Qt.Key_Space
- }
- }
- KeyboardRow {
- Key {
- key: Qt.Key_1
- text: "1"
- }
- Key {
- key: Qt.Key_2
- text: "2"
- }
- Key {
- key: Qt.Key_3
- text: "3"
- }
- HideKeyboardKey {}
- }
- KeyboardRow {
- ChangeLanguageKey {
- customLayoutsOnly: true
- }
- Key {
- key: Qt.Key_0
- text: "0"
- }
- Key {
- // The decimal key, if it is not "," then we fallback to
- // "." in case it is an unhandled different result
- key: Qt.locale().decimalPoint === "," ? Qt.Key_Comma : Qt.Key_Period
- text: Qt.locale().decimalPoint === "," ? "," : "."
- }
- EnterKey {}
- }
- }
-}
diff --git a/src/virtualkeyboard/content/layouts/fallback/handwriting.qml b/src/virtualkeyboard/content/layouts/fallback/handwriting.qml
deleted file mode 100644
index 1da3fc8e..00000000
--- a/src/virtualkeyboard/content/layouts/fallback/handwriting.qml
+++ /dev/null
@@ -1,96 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2017 The Qt Company Ltd.
-** Contact: https://www.qt.io/licensing/
-**
-** This file is part of the Qt Virtual Keyboard module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:GPL$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see https://www.qt.io/terms-conditions. For further
-** information use the contact form at https://www.qt.io/contact-us.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 3 or (at your option) any later version
-** approved by the KDE Free Qt Foundation. The licenses are as published by
-** the Free Software Foundation and appearing in the file LICENSE.GPL3
-** included in the packaging of this file. Please review the following
-** information to ensure the GNU General Public License requirements will
-** be met: https://www.gnu.org/licenses/gpl-3.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-import QtQuick 2.0
-import QtQuick.Layouts 1.0
-import QtQuick.VirtualKeyboard 2.3
-
-KeyboardLayout {
- function createInputMethod() {
- return Qt.createQmlObject('import QtQuick 2.0; import QtQuick.VirtualKeyboard.Plugins 2.3; HandwritingInputMethod {}', parent)
- }
- sharedLayouts: ['symbols']
-
- KeyboardRow {
- Layout.preferredHeight: 3
- KeyboardColumn {
- Layout.preferredWidth: bottomRow.width - hideKeyboardKey.width
- KeyboardRow {
- TraceInputKey {
- objectName: "hwrInputArea"
- patternRecognitionMode: InputEngine.PatternRecognitionMode.Handwriting
- }
- }
- }
- KeyboardColumn {
- Layout.preferredWidth: hideKeyboardKey.width
- KeyboardRow {
- BackspaceKey {}
- }
- KeyboardRow {
- EnterKey {}
- }
- KeyboardRow {
- ShiftKey { }
- }
- }
- }
- KeyboardRow {
- id: bottomRow
- Layout.preferredHeight: 1
- keyWeight: 154
- InputModeKey {
- weight: 217
- }
- ChangeLanguageKey {
- weight: 154
- customLayoutsOnly: true
- }
- HandwritingModeKey {
- weight: 154
- }
- SpaceKey {
- weight: 864
- }
- Key {
- key: Qt.Key_Apostrophe
- text: "'"
- alternativeKeys: "<>()#%&*/\\\"'=+-_"
- }
- Key {
- key: Qt.Key_Period
- text: "."
- alternativeKeys: ":;,.?!"
- }
- HideKeyboardKey {
- id: hideKeyboardKey
- weight: 204
- }
- }
-}
diff --git a/src/virtualkeyboard/content/layouts/fallback/main.qml b/src/virtualkeyboard/content/layouts/fallback/main.qml
deleted file mode 100644
index c9a736f2..00000000
--- a/src/virtualkeyboard/content/layouts/fallback/main.qml
+++ /dev/null
@@ -1,208 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2016 The Qt Company Ltd.
-** Contact: https://www.qt.io/licensing/
-**
-** This file is part of the Qt Virtual Keyboard module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:GPL$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see https://www.qt.io/terms-conditions. For further
-** information use the contact form at https://www.qt.io/contact-us.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 3 or (at your option) any later version
-** approved by the KDE Free Qt Foundation. The licenses are as published by
-** the Free Software Foundation and appearing in the file LICENSE.GPL3
-** included in the packaging of this file. Please review the following
-** information to ensure the GNU General Public License requirements will
-** be met: https://www.gnu.org/licenses/gpl-3.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-import QtQuick 2.0
-import QtQuick.VirtualKeyboard 2.1
-
-KeyboardLayout {
- inputMode: InputEngine.InputMode.Latin
- keyWeight: 160
- KeyboardRow {
- Key {
- key: Qt.Key_Q
- text: "q"
- }
- Key {
- key: Qt.Key_W
- text: "w"
- }
- Key {
- key: Qt.Key_E
- text: "e"
- alternativeKeys: "êeëèé"
- }
- Key {
- key: Qt.Key_R
- text: "r"
- alternativeKeys: "ŕrř"
- }
- Key {
- key: Qt.Key_T
- text: "t"
- alternativeKeys: "ţtŧť"
- }
- Key {
- key: Qt.Key_Y
- text: "y"
- alternativeKeys: "ÿyýŷ"
- }
- Key {
- key: Qt.Key_U
- text: "u"
- alternativeKeys: "űūũûüuùú"
- }
- Key {
- key: Qt.Key_I
- text: "i"
- alternativeKeys: "îïīĩiìí"
- }
- Key {
- key: Qt.Key_O
- text: "o"
- alternativeKeys: "œøõôöòóo"
- }
- Key {
- key: Qt.Key_P
- text: "p"
- }
- BackspaceKey {}
- }
- KeyboardRow {
- FillerKey {
- weight: 56
- }
- Key {
- key: Qt.Key_A
- text: "a"
- alternativeKeys: "aäåãâàá"
- }
- Key {
- key: Qt.Key_S
- text: "s"
- alternativeKeys: "šsşś"
- }
- Key {
- key: Qt.Key_D
- text: "d"
- alternativeKeys: "dđď"
- }
- Key {
- key: Qt.Key_F
- text: "f"
- }
- Key {
- key: Qt.Key_G
- text: "g"
- alternativeKeys: "ġgģĝğ"
- }
- Key {
- key: Qt.Key_H
- text: "h"
- }
- Key {
- key: Qt.Key_J
- text: "j"
- }
- Key {
- key: Qt.Key_K
- text: "k"
- }
- Key {
- key: Qt.Key_L
- text: "l"
- alternativeKeys: "ĺŀłļľl"
- }
- EnterKey {
- weight: 283
- }
- }
- KeyboardRow {
- keyWeight: 156
- ShiftKey {}
- Key {
- key: Qt.Key_Z
- text: "z"
- alternativeKeys: "zžż"
- }
- Key {
- key: Qt.Key_X
- text: "x"
- }
- Key {
- key: Qt.Key_C
- text: "c"
- alternativeKeys: "çcċčć"
- }
- Key {
- key: Qt.Key_V
- text: "v"
- }
- Key {
- key: Qt.Key_B
- text: "b"
- }
- Key {
- key: Qt.Key_N
- text: "n"
- alternativeKeys: "ņńnň"
- }
- Key {
- key: Qt.Key_M
- text: "m"
- }
- Key {
- key: Qt.Key_Comma
- text: ","
- }
- Key {
- key: Qt.Key_Period
- text: "."
- }
- ShiftKey {
- weight: 204
- }
- }
- KeyboardRow {
- keyWeight: 154
- SymbolModeKey {
- weight: 217
- }
- ChangeLanguageKey {
- weight: 154
- }
- HandwritingModeKey {
- weight: 154
- }
- SpaceKey {
- weight: 864
- }
- Key {
- key: Qt.Key_Apostrophe
- text: "'"
- }
- Key {
- key: 0xE000
- text: ":-)"
- alternativeKeys: [ ";-)", ":-)", ":-D", ":-(", "<3" ]
- }
- HideKeyboardKey {
- weight: 204
- }
- }
-}
diff --git a/src/virtualkeyboard/content/layouts/fallback/numbers.qml b/src/virtualkeyboard/content/layouts/fallback/numbers.qml
deleted file mode 100644
index 7fd0a2ab..00000000
--- a/src/virtualkeyboard/content/layouts/fallback/numbers.qml
+++ /dev/null
@@ -1,184 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2016 The Qt Company Ltd.
-** Contact: https://www.qt.io/licensing/
-**
-** This file is part of the Qt Virtual Keyboard module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:GPL$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see https://www.qt.io/terms-conditions. For further
-** information use the contact form at https://www.qt.io/contact-us.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 3 or (at your option) any later version
-** approved by the KDE Free Qt Foundation. The licenses are as published by
-** the Free Software Foundation and appearing in the file LICENSE.GPL3
-** included in the packaging of this file. Please review the following
-** information to ensure the GNU General Public License requirements will
-** be met: https://www.gnu.org/licenses/gpl-3.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-import QtQuick 2.0
-import QtQuick.Layouts 1.0
-import QtQuick.VirtualKeyboard 2.1
-import QtQuick.VirtualKeyboard.Plugins 2.3
-
-KeyboardLayout {
- inputMethod: PlainInputMethod {}
- inputMode: InputEngine.InputMode.Numeric
-
- KeyboardRow {
- Layout.fillWidth: false
- Layout.fillHeight: true
- Layout.alignment: Qt.AlignHCenter
- KeyboardColumn {
- Layout.fillWidth: false
- Layout.fillHeight: true
- Layout.preferredWidth: parent.height / 4 * 3
- KeyboardRow {
- Key {
- key: Qt.Key_ParenLeft
- text: "("
- }
- Key {
- key: Qt.Key_ParenRight
- text: ")"
- }
- Key {
- key: Qt.Key_Comma
- text: ","
- }
- }
- KeyboardRow {
- Key {
- key: Qt.Key_division
- text: "\u00F7"
- }
- Key {
- key: Qt.Key_multiply
- text: "\u00D7"
- }
- Key {
- key: Qt.Key_Plus
- text: "+"
- }
- }
- KeyboardRow {
- Key {
- key: Qt.Key_AsciiCircum
- text: "^"
- }
- Key {
- key: Qt.Key_Slash
- text: "/"
- }
- Key {
- key: Qt.Key_Minus
- text: "-"
- }
- }
- KeyboardRow {
- Key {
- key: 0x221A
- text: "√"
- }
- Key {
- key: Qt.Key_Percent
- text: "%"
- }
- Key {
- key: Qt.Key_Asterisk
- text: "*"
- }
- }
- }
- KeyboardColumn {
- Layout.fillWidth: false
- Layout.fillHeight: true
- Layout.preferredWidth: parent.height / 8
- KeyboardRow {
- FillerKey {}
- }
- }
- KeyboardColumn {
- Layout.fillWidth: false
- Layout.fillHeight: true
- Layout.preferredWidth: parent.height
- KeyboardRow {
- Key {
- key: Qt.Key_7
- text: "7"
- }
- Key {
- key: Qt.Key_8
- text: "8"
- }
- Key {
- key: Qt.Key_9
- text: "9"
- }
- BackspaceKey {}
- }
- KeyboardRow {
- Key {
- key: Qt.Key_4
- text: "4"
- }
- Key {
- key: Qt.Key_5
- text: "5"
- }
- Key {
- key: Qt.Key_6
- text: "6"
- }
- Key {
- text: " "
- displayText: "\u2423"
- repeat: true
- showPreview: false
- key: Qt.Key_Space
- }
- }
- KeyboardRow {
- Key {
- key: Qt.Key_1
- text: "1"
- }
- Key {
- key: Qt.Key_2
- text: "2"
- }
- Key {
- key: Qt.Key_3
- text: "3"
- }
- HideKeyboardKey {}
- }
- KeyboardRow {
- ChangeLanguageKey {
- customLayoutsOnly: true
- }
- Key {
- key: Qt.Key_0
- text: "0"
- }
- Key {
- key: Qt.Key_Period
- text: "."
- alternativeKeys: ".,"
- }
- EnterKey {}
- }
- }
- }
-}
diff --git a/src/virtualkeyboard/content/layouts/fallback/symbols.qml b/src/virtualkeyboard/content/layouts/fallback/symbols.qml
deleted file mode 100644
index 26d62951..00000000
--- a/src/virtualkeyboard/content/layouts/fallback/symbols.qml
+++ /dev/null
@@ -1,376 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2018 The Qt Company Ltd.
-** Contact: https://www.qt.io/licensing/
-**
-** This file is part of the Qt Virtual Keyboard module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:GPL$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see https://www.qt.io/terms-conditions. For further
-** information use the contact form at https://www.qt.io/contact-us.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 3 or (at your option) any later version
-** approved by the KDE Free Qt Foundation. The licenses are as published by
-** the Free Software Foundation and appearing in the file LICENSE.GPL3
-** included in the packaging of this file. Please review the following
-** information to ensure the GNU General Public License requirements will
-** be met: https://www.gnu.org/licenses/gpl-3.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-import QtQuick 2.0
-import QtQuick.Layouts 1.0
-import QtQuick.VirtualKeyboard 2.1
-
-KeyboardLayoutLoader {
- property bool secondPage
- onVisibleChanged: if (!visible) secondPage = false
- sourceComponent: secondPage ? page2 : page1
- Component {
- id: page1
- KeyboardLayout {
- keyWeight: 160
- KeyboardRow {
- Key {
- key: Qt.Key_1
- text: "1"
- }
- Key {
- key: Qt.Key_2
- text: "2"
- }
- Key {
- key: Qt.Key_3
- text: "3"
- }
- Key {
- key: Qt.Key_4
- text: "4"
- }
- Key {
- key: Qt.Key_5
- text: "5"
- }
- Key {
- key: Qt.Key_6
- text: "6"
- }
- Key {
- key: Qt.Key_7
- text: "7"
- }
- Key {
- key: Qt.Key_8
- text: "8"
- }
- Key {
- key: Qt.Key_9
- text: "9"
- }
- Key {
- key: Qt.Key_0
- text: "0"
- }
- BackspaceKey {}
- }
- KeyboardRow {
- FillerKey {
- weight: 56
- }
- Key {
- key: Qt.Key_At
- text: "@"
- }
- Key {
- key: Qt.Key_NumberSign
- text: "#"
- }
- Key {
- key: Qt.Key_Percent
- text: "%"
- }
- Key {
- key: Qt.Key_Ampersand
- text: "&"
- }
- Key {
- key: Qt.Key_Asterisk
- text: "*"
- }
- Key {
- key: Qt.Key_Minus
- text: "-"
- }
- Key {
- key: Qt.Key_Plus
- text: "+"
- }
- Key {
- key: Qt.Key_ParenLeft
- text: "("
- }
- Key {
- key: Qt.Key_ParenRight
- text: ")"
- }
- EnterKey {
- weight: 283
- }
- }
- KeyboardRow {
- keyWeight: 156
- Key {
- displayText: "1/2"
- functionKey: true
- onClicked: secondPage = !secondPage
- }
- Key {
- key: Qt.Key_Exclam
- text: "!"
- }
- Key {
- key: Qt.Key_QuoteDbl
- text: '"'
- }
- Key {
- key: Qt.Key_Less
- text: "<"
- }
- Key {
- key: Qt.Key_Greater
- text: ">"
- }
- Key {
- key: Qt.Key_Apostrophe
- text: "'"
- }
- Key {
- key: Qt.Key_Colon
- text: ":"
- }
- Key {
- key: Qt.Key_Semicolon
- text: ";"
- }
- Key {
- key: Qt.Key_Slash
- text: "/"
- }
- Key {
- key: Qt.Key_Question
- text: "?"
- }
- Key {
- weight: 204
- displayText: "1/2"
- functionKey: true
- onClicked: secondPage = !secondPage
- }
- }
- KeyboardRow {
- keyWeight: 154
- SymbolModeKey {
- weight: 217
- displayText: InputContext.inputEngine.inputMode === InputEngine.InputMode.Cyrillic ? "АБВ" : "ABC"
- }
- ChangeLanguageKey {
- weight: 154
- }
- SpaceKey {
- weight: 864
- }
- Key {
- key: Qt.Key_Period
- text: "."
- alternativeKeys: ".,"
- }
- Key {
- key: 0xE000
- text: ":-)"
- alternativeKeys: [ ";-)", ":-)", ":-D", ":-(", "<3" ]
- }
- HideKeyboardKey {
- weight: 204
- }
- }
- }
- }
- Component {
- id: page2
- KeyboardLayout {
- keyWeight: 160
- KeyboardRow {
- Key {
- key: Qt.Key_AsciiTilde
- text: "~"
- }
- Key {
- key: Qt.Key_Agrave
- text: "`"
- }
- Key {
- key: Qt.Key_Bar
- text: "|"
- }
- Key {
- key: 0x7B
- text: "·"
- }
- Key {
- key: 0x221A
- text: "√"
- }
- Key {
- key: Qt.Key_division
- text: "÷"
- }
- Key {
- key: Qt.Key_multiply
- text: "×"
- }
- Key {
- key: Qt.Key_onehalf
- text: "½"
- alternativeKeys: "¼⅓½¾⅞"
- }
- Key {
- key: Qt.Key_BraceLeft
- text: "{"
- }
- Key {
- key: Qt.Key_BraceRight
- text: "}"
- }
- BackspaceKey {}
- }
- KeyboardRow {
- FillerKey {
- weight: 56
- }
- Key {
- key: Qt.Key_Dollar
- text: "$"
- }
- Key {
- key: 0x20AC
- text: "€"
- }
- Key {
- key: 0xC2
- text: "£"
- }
- Key {
- key: 0xA2
- text: "¢"
- }
- Key {
- key: 0xA5
- text: "¥"
- }
- Key {
- key: Qt.Key_Equal
- text: "="
- }
- Key {
- key: Qt.Key_section
- text: "§"
- }
- Key {
- key: Qt.Key_BracketLeft
- text: "["
- }
- Key {
- key: Qt.Key_BracketRight
- text: "]"
- }
- EnterKey {
- weight: 283
- }
- }
- KeyboardRow {
- keyWeight: 156
- Key {
- displayText: "2/2"
- functionKey: true
- onClicked: secondPage = !secondPage
- }
- Key {
- key: Qt.Key_Underscore
- text: "_"
- }
- Key {
- key: 0x2122
- text: '™'
- }
- Key {
- key: 0x00AE
- text: '®'
- }
- Key {
- key: Qt.Key_guillemotleft
- text: '«'
- }
- Key {
- key: Qt.Key_guillemotright
- text: '»'
- }
- Key {
- key: 0x201C
- text: '“'
- }
- Key {
- key: 0x201D
- text: '”'
- }
- Key {
- key: Qt.Key_Backslash
- text: "\\"
- }
- Key {
- key: Qt.Key_AsciiCircum
- text: "^"
- }
- Key {
- weight: 204
- displayText: "2/2"
- functionKey: true
- onClicked: secondPage = !secondPage
- }
- }
- KeyboardRow {
- keyWeight: 154
- SymbolModeKey {
- weight: 217
- displayText: InputContext.inputEngine.inputMode === InputEngine.InputMode.Cyrillic ? "АБВ" : "ABC"
- }
- ChangeLanguageKey {
- weight: 154
- }
- SpaceKey {
- weight: 864
- }
- Key {
- key: 0x2026
- text: "\u2026"
- }
- Key {
- key: 0xE000
- text: ":-)"
- alternativeKeys: [ ";-)", ":-)", ":-D", ":-(", "<3" ]
- }
- HideKeyboardKey {
- weight: 204
- }
- }
- }
- }
-}
diff --git a/src/virtualkeyboard/content/layouts/fi_FI/dialpad.fallback b/src/virtualkeyboard/content/layouts/fi_FI/dialpad.fallback
deleted file mode 100644
index e69de29b..00000000
--- a/src/virtualkeyboard/content/layouts/fi_FI/dialpad.fallback
+++ /dev/null
diff --git a/src/virtualkeyboard/content/layouts/fi_FI/digits.fallback b/src/virtualkeyboard/content/layouts/fi_FI/digits.fallback
deleted file mode 100644
index e69de29b..00000000
--- a/src/virtualkeyboard/content/layouts/fi_FI/digits.fallback
+++ /dev/null
diff --git a/src/virtualkeyboard/content/layouts/fi_FI/handwriting.fallback b/src/virtualkeyboard/content/layouts/fi_FI/handwriting.fallback
deleted file mode 100644
index e69de29b..00000000
--- a/src/virtualkeyboard/content/layouts/fi_FI/handwriting.fallback
+++ /dev/null
diff --git a/src/virtualkeyboard/content/layouts/fi_FI/main.qml b/src/virtualkeyboard/content/layouts/fi_FI/main.qml
deleted file mode 100644
index a3a8a86f..00000000
--- a/src/virtualkeyboard/content/layouts/fi_FI/main.qml
+++ /dev/null
@@ -1,209 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2016 The Qt Company Ltd.
-** Contact: https://www.qt.io/licensing/
-**
-** This file is part of the Qt Virtual Keyboard module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:GPL$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see https://www.qt.io/terms-conditions. For further
-** information use the contact form at https://www.qt.io/contact-us.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 3 or (at your option) any later version
-** approved by the KDE Free Qt Foundation. The licenses are as published by
-** the Free Software Foundation and appearing in the file LICENSE.GPL3
-** included in the packaging of this file. Please review the following
-** information to ensure the GNU General Public License requirements will
-** be met: https://www.gnu.org/licenses/gpl-3.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-import QtQuick 2.0
-import QtQuick.VirtualKeyboard 2.1
-
-KeyboardLayout {
- inputMode: InputEngine.InputMode.Latin
- keyWeight: 160
- KeyboardRow {
- Key {
- key: Qt.Key_Q
- text: "q"
- }
- Key {
- key: Qt.Key_W
- text: "w"
- }
- Key {
- key: Qt.Key_E
- text: "e"
- }
- Key {
- key: Qt.Key_R
- text: "r"
- }
- Key {
- key: Qt.Key_T
- text: "t"
- }
- Key {
- key: Qt.Key_Y
- text: "y"
- }
- Key {
- key: Qt.Key_U
- text: "u"
- }
- Key {
- key: Qt.Key_I
- text: "i"
- }
- Key {
- key: Qt.Key_O
- text: "o"
- }
- Key {
- key: Qt.Key_P
- text: "p"
- }
- Key {
- key: Qt.Key_Aring
- text: "å"
- }
- BackspaceKey {}
- }
- KeyboardRow {
- FillerKey {
- weight: 66
- }
- Key {
- key: Qt.Key_A
- text: "a"
- }
- Key {
- key: Qt.Key_S
- text: "s"
- }
- Key {
- key: Qt.Key_D
- text: "d"
- }
- Key {
- key: Qt.Key_F
- text: "f"
- }
- Key {
- key: Qt.Key_G
- text: "g"
- }
- Key {
- key: Qt.Key_H
- text: "h"
- }
- Key {
- key: Qt.Key_J
- text: "j"
- }
- Key {
- key: Qt.Key_K
- text: "k"
- }
- Key {
- key: Qt.Key_L
- text: "l"
- }
- Key {
- key: Qt.Key_Odiaeresis
- text: "ö"
- }
- Key {
- key: Qt.Key_Adiaeresis
- text: "ä"
- }
- EnterKey {
- weight: 283
- }
- }
- KeyboardRow {
- keyWeight: 156
- ShiftKey { }
- Key {
- key: Qt.Key_Z
- text: "z"
- }
- Key {
- key: Qt.Key_X
- text: "x"
- }
- Key {
- key: Qt.Key_C
- text: "c"
- }
- Key {
- key: Qt.Key_V
- text: "v"
- }
- Key {
- key: Qt.Key_B
- text: "b"
- }
- Key {
- key: Qt.Key_N
- text: "n"
- }
- Key {
- key: Qt.Key_M
- text: "m"
- }
- Key {
- key: Qt.Key_Comma
- text: ","
- }
- Key {
- key: Qt.Key_Period
- text: "."
- }
- Key {
- key: Qt.Key_Minus
- text: "-"
- }
- ShiftKey {
- weight: 264
- }
- }
- KeyboardRow {
- keyWeight: 154
- SymbolModeKey {
- weight: 217
- }
- ChangeLanguageKey {
- weight: 154
- }
- HandwritingModeKey {
- weight: 154
- }
- SpaceKey {
- weight: 864
- }
- Key {
- key: Qt.Key_Apostrophe
- text: "'"
- }
- Key {
- key: 0xE000
- text: ":-)"
- alternativeKeys: [ ";-)", ":-)", ":-D", ":-(", "<3" ]
- }
- HideKeyboardKey {
- weight: 204
- }
- }
-}
diff --git a/src/virtualkeyboard/content/layouts/fi_FI/numbers.fallback b/src/virtualkeyboard/content/layouts/fi_FI/numbers.fallback
deleted file mode 100644
index e69de29b..00000000
--- a/src/virtualkeyboard/content/layouts/fi_FI/numbers.fallback
+++ /dev/null
diff --git a/src/virtualkeyboard/content/layouts/fi_FI/symbols.fallback b/src/virtualkeyboard/content/layouts/fi_FI/symbols.fallback
deleted file mode 100644
index e69de29b..00000000
--- a/src/virtualkeyboard/content/layouts/fi_FI/symbols.fallback
+++ /dev/null
diff --git a/src/virtualkeyboard/content/layouts/fr_CA/dialpad.fallback b/src/virtualkeyboard/content/layouts/fr_CA/dialpad.fallback
deleted file mode 100644
index e69de29b..00000000
--- a/src/virtualkeyboard/content/layouts/fr_CA/dialpad.fallback
+++ /dev/null
diff --git a/src/virtualkeyboard/content/layouts/fr_CA/digits.fallback b/src/virtualkeyboard/content/layouts/fr_CA/digits.fallback
deleted file mode 100644
index e69de29b..00000000
--- a/src/virtualkeyboard/content/layouts/fr_CA/digits.fallback
+++ /dev/null
diff --git a/src/virtualkeyboard/content/layouts/fr_CA/handwriting.fallback b/src/virtualkeyboard/content/layouts/fr_CA/handwriting.fallback
deleted file mode 100644
index e69de29b..00000000
--- a/src/virtualkeyboard/content/layouts/fr_CA/handwriting.fallback
+++ /dev/null
diff --git a/src/virtualkeyboard/content/layouts/fr_CA/main.qml b/src/virtualkeyboard/content/layouts/fr_CA/main.qml
deleted file mode 100644
index 8866dfd7..00000000
--- a/src/virtualkeyboard/content/layouts/fr_CA/main.qml
+++ /dev/null
@@ -1,200 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2016 The Qt Company Ltd.
-** Contact: https://www.qt.io/licensing/
-**
-** This file is part of the Qt Virtual Keyboard module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:GPL$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see https://www.qt.io/terms-conditions. For further
-** information use the contact form at https://www.qt.io/contact-us.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 3 or (at your option) any later version
-** approved by the KDE Free Qt Foundation. The licenses are as published by
-** the Free Software Foundation and appearing in the file LICENSE.GPL3
-** included in the packaging of this file. Please review the following
-** information to ensure the GNU General Public License requirements will
-** be met: https://www.gnu.org/licenses/gpl-3.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-import QtQuick 2.0
-import QtQuick.VirtualKeyboard 2.1
-
-KeyboardLayout {
- inputMode: InputEngine.InputMode.Latin
- keyWeight: 160
- KeyboardRow {
- Key {
- key: Qt.Key_Q
- text: "q"
- }
- Key {
- key: Qt.Key_W
- text: "w"
- }
- Key {
- key: Qt.Key_E
- text: "e"
- alternativeKeys: "éèeêë"
- }
- Key {
- key: Qt.Key_R
- text: "r"
- }
- Key {
- key: Qt.Key_T
- text: "t"
- }
- Key {
- key: Qt.Key_Y
- text: "y"
- alternativeKeys: "yÿ"
- }
- Key {
- key: Qt.Key_U
- text: "u"
- alternativeKeys: "ùuûü"
- }
- Key {
- key: Qt.Key_I
- text: "i"
- alternativeKeys: "îiï"
- }
- Key {
- key: Qt.Key_O
- text: "o"
- alternativeKeys: "ôoœ"
- }
- Key {
- key: Qt.Key_P
- text: "p"
- }
- BackspaceKey {}
- }
- KeyboardRow {
- FillerKey {
- weight: 56
- }
- Key {
- key: Qt.Key_A
- text: "a"
- alternativeKeys: "aàâæ"
- }
- Key {
- key: Qt.Key_S
- text: "s"
- }
- Key {
- key: Qt.Key_D
- text: "d"
- }
- Key {
- key: Qt.Key_F
- text: "f"
- }
- Key {
- key: Qt.Key_G
- text: "g"
- }
- Key {
- key: Qt.Key_H
- text: "h"
- }
- Key {
- key: Qt.Key_J
- text: "j"
- }
- Key {
- key: Qt.Key_K
- text: "k"
- }
- Key {
- key: Qt.Key_L
- text: "l"
- }
- EnterKey {
- weight: 283
- }
- }
- KeyboardRow {
- keyWeight: 156
- ShiftKey {}
- Key {
- key: Qt.Key_Z
- text: "z"
- }
- Key {
- key: Qt.Key_X
- text: "x"
- }
- Key {
- key: Qt.Key_C
- text: "c"
- alternativeKeys: "cç"
- }
- Key {
- key: Qt.Key_V
- text: "v"
- }
- Key {
- key: Qt.Key_B
- text: "b"
- }
- Key {
- key: Qt.Key_N
- text: "n"
- }
- Key {
- key: Qt.Key_M
- text: "m"
- }
- Key {
- key: Qt.Key_Comma
- text: ","
- }
- Key {
- key: Qt.Key_Period
- text: "."
- }
- ShiftKey {
- weight: 204
- }
- }
- KeyboardRow {
- keyWeight: 154
- SymbolModeKey {
- weight: 217
- }
- ChangeLanguageKey {
- weight: 154
- }
- HandwritingModeKey {
- weight: 154
- }
- SpaceKey {
- weight: 864
- }
- Key {
- key: Qt.Key_Apostrophe
- text: "'"
- }
- Key {
- key: 0xE000
- text: ":-)"
- alternativeKeys: [ ";-)", ":-)", ":-D", ":-(", "<3" ]
- }
- HideKeyboardKey {
- weight: 204
- }
- }
-}
diff --git a/src/virtualkeyboard/content/layouts/fr_CA/numbers.fallback b/src/virtualkeyboard/content/layouts/fr_CA/numbers.fallback
deleted file mode 100644
index e69de29b..00000000
--- a/src/virtualkeyboard/content/layouts/fr_CA/numbers.fallback
+++ /dev/null
diff --git a/src/virtualkeyboard/content/layouts/fr_CA/symbols.fallback b/src/virtualkeyboard/content/layouts/fr_CA/symbols.fallback
deleted file mode 100644
index e69de29b..00000000
--- a/src/virtualkeyboard/content/layouts/fr_CA/symbols.fallback
+++ /dev/null
diff --git a/src/virtualkeyboard/content/layouts/fr_FR/dialpad.fallback b/src/virtualkeyboard/content/layouts/fr_FR/dialpad.fallback
deleted file mode 100644
index e69de29b..00000000
--- a/src/virtualkeyboard/content/layouts/fr_FR/dialpad.fallback
+++ /dev/null
diff --git a/src/virtualkeyboard/content/layouts/fr_FR/digits.fallback b/src/virtualkeyboard/content/layouts/fr_FR/digits.fallback
deleted file mode 100644
index e69de29b..00000000
--- a/src/virtualkeyboard/content/layouts/fr_FR/digits.fallback
+++ /dev/null
diff --git a/src/virtualkeyboard/content/layouts/fr_FR/handwriting.fallback b/src/virtualkeyboard/content/layouts/fr_FR/handwriting.fallback
deleted file mode 100644
index e69de29b..00000000
--- a/src/virtualkeyboard/content/layouts/fr_FR/handwriting.fallback
+++ /dev/null
diff --git a/src/virtualkeyboard/content/layouts/fr_FR/main.qml b/src/virtualkeyboard/content/layouts/fr_FR/main.qml
deleted file mode 100644
index 753d8e67..00000000
--- a/src/virtualkeyboard/content/layouts/fr_FR/main.qml
+++ /dev/null
@@ -1,204 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2016 The Qt Company Ltd.
-** Contact: https://www.qt.io/licensing/
-**
-** This file is part of the Qt Virtual Keyboard module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:GPL$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see https://www.qt.io/terms-conditions. For further
-** information use the contact form at https://www.qt.io/contact-us.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 3 or (at your option) any later version
-** approved by the KDE Free Qt Foundation. The licenses are as published by
-** the Free Software Foundation and appearing in the file LICENSE.GPL3
-** included in the packaging of this file. Please review the following
-** information to ensure the GNU General Public License requirements will
-** be met: https://www.gnu.org/licenses/gpl-3.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-import QtQuick 2.0
-import QtQuick.VirtualKeyboard 2.1
-
-KeyboardLayout {
- inputMode: InputEngine.InputMode.Latin
- keyWeight: 160
- KeyboardRow {
- Key {
- key: Qt.Key_A
- text: "a"
- alternativeKeys: "aàâæ"
- }
- Key {
- key: Qt.Key_Z
- text: "z"
- }
- Key {
- key: Qt.Key_E
- text: "e"
- alternativeKeys: "éèeêë"
- }
- Key {
- key: Qt.Key_R
- text: "r"
- }
- Key {
- key: Qt.Key_T
- text: "t"
- }
- Key {
- key: Qt.Key_Y
- text: "y"
- alternativeKeys: "yÿ"
- }
- Key {
- key: Qt.Key_U
- text: "u"
- alternativeKeys: "ùuûü"
- }
- Key {
- key: Qt.Key_I
- text: "i"
- alternativeKeys: "îiï"
- }
- Key {
- key: Qt.Key_O
- text: "o"
- alternativeKeys: "ôoœ"
- }
- Key {
- key: Qt.Key_P
- text: "p"
- }
- BackspaceKey {}
- }
- KeyboardRow {
- FillerKey {
- weight: 56
- }
- Key {
- key: Qt.Key_Q
- text: "q"
- }
- Key {
- key: Qt.Key_S
- text: "s"
- }
- Key {
- key: Qt.Key_D
- text: "d"
- }
- Key {
- key: Qt.Key_F
- text: "f"
- }
- Key {
- key: Qt.Key_G
- text: "g"
- }
- Key {
- key: Qt.Key_H
- text: "h"
- }
- Key {
- key: Qt.Key_J
- text: "j"
- }
- Key {
- key: Qt.Key_K
- text: "k"
- }
- Key {
- key: Qt.Key_L
- text: "l"
- }
- Key {
- key: Qt.Key_M
- text: "m"
- }
- EnterKey {
- weight: 283
- }
- }
- KeyboardRow {
- keyWeight: 156
- ShiftKey {}
- Key {
- key: Qt.Key_W
- text: "w"
- }
- Key {
- key: Qt.Key_X
- text: "x"
- }
- Key {
- key: Qt.Key_C
- text: "c"
- alternativeKeys: "cç"
- }
- Key {
- key: Qt.Key_V
- text: "v"
- }
- Key {
- key: Qt.Key_B
- text: "b"
- }
- Key {
- key: Qt.Key_N
- text: "n"
- }
- Key {
- key: Qt.Key_Comma
- text: ","
- }
- Key {
- key: Qt.Key_Period
- text: "."
- }
- Key {
- key: Qt.Key_Minus
- text: "-"
- }
- ShiftKey {
- weight: 264
- }
- }
- KeyboardRow {
- keyWeight: 154
- SymbolModeKey {
- weight: 217
- }
- ChangeLanguageKey {
- weight: 154
- }
- HandwritingModeKey {
- weight: 154
- }
- SpaceKey {
- weight: 864
- }
- Key {
- key: Qt.Key_Apostrophe
- text: "'"
- }
- Key {
- key: 0xE000
- text: ":-)"
- alternativeKeys: [ ";-)", ":-)", ":-D", ":-(", "<3" ]
- }
- HideKeyboardKey {
- weight: 204
- }
- }
-}
diff --git a/src/virtualkeyboard/content/layouts/fr_FR/numbers.fallback b/src/virtualkeyboard/content/layouts/fr_FR/numbers.fallback
deleted file mode 100644
index e69de29b..00000000
--- a/src/virtualkeyboard/content/layouts/fr_FR/numbers.fallback
+++ /dev/null
diff --git a/src/virtualkeyboard/content/layouts/fr_FR/symbols.fallback b/src/virtualkeyboard/content/layouts/fr_FR/symbols.fallback
deleted file mode 100644
index e69de29b..00000000
--- a/src/virtualkeyboard/content/layouts/fr_FR/symbols.fallback
+++ /dev/null
diff --git a/src/virtualkeyboard/content/layouts/he_IL/dialpad.fallback b/src/virtualkeyboard/content/layouts/he_IL/dialpad.fallback
deleted file mode 100644
index e69de29b..00000000
--- a/src/virtualkeyboard/content/layouts/he_IL/dialpad.fallback
+++ /dev/null
diff --git a/src/virtualkeyboard/content/layouts/he_IL/digits.fallback b/src/virtualkeyboard/content/layouts/he_IL/digits.fallback
deleted file mode 100644
index e69de29b..00000000
--- a/src/virtualkeyboard/content/layouts/he_IL/digits.fallback
+++ /dev/null
diff --git a/src/virtualkeyboard/content/layouts/he_IL/handwriting.qml b/src/virtualkeyboard/content/layouts/he_IL/handwriting.qml
deleted file mode 100644
index 66914c71..00000000
--- a/src/virtualkeyboard/content/layouts/he_IL/handwriting.qml
+++ /dev/null
@@ -1,99 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2016 The Qt Company Ltd.
-** Contact: https://www.qt.io/licensing/
-**
-** This file is part of the Qt Virtual Keyboard module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:GPL$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see https://www.qt.io/terms-conditions. For further
-** information use the contact form at https://www.qt.io/contact-us.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 3 or (at your option) any later version
-** approved by the KDE Free Qt Foundation. The licenses are as published by
-** the Free Software Foundation and appearing in the file LICENSE.GPL3
-** included in the packaging of this file. Please review the following
-** information to ensure the GNU General Public License requirements will
-** be met: https://www.gnu.org/licenses/gpl-3.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-import QtQuick 2.0
-import QtQuick.Layouts 1.0
-import QtQuick.VirtualKeyboard 2.3
-
-KeyboardLayout {
- function createInputMethod() {
- return Qt.createQmlObject('import QtQuick 2.0; import QtQuick.VirtualKeyboard.Plugins 2.3; HandwritingInputMethod {}', parent)
- }
- sharedLayouts: ['symbols']
-
- KeyboardRow {
- Layout.preferredHeight: 3
- KeyboardColumn {
- Layout.preferredWidth: bottomRow.width - hideKeyboardKey.width
- KeyboardRow {
- TraceInputKey {
- objectName: "hwrInputArea"
- patternRecognitionMode: InputEngine.PatternRecognitionMode.Handwriting
- horizontalRulers:
- InputContext.inputEngine.inputMode !== InputEngine.InputMode.Hebrew ? [] :
- [Math.round(boundingBox.height / 4), Math.round(boundingBox.height / 4) * 2, Math.round(boundingBox.height / 4) * 3]
- }
- }
- }
- KeyboardColumn {
- Layout.preferredWidth: hideKeyboardKey.width
- KeyboardRow {
- BackspaceKey {}
- }
- KeyboardRow {
- EnterKey {}
- }
- KeyboardRow {
- ShiftKey { }
- }
- }
- }
- KeyboardRow {
- id: bottomRow
- Layout.preferredHeight: 1
- keyWeight: 154
- InputModeKey {
- weight: 217
- }
- ChangeLanguageKey {
- weight: 154
- customLayoutsOnly: true
- }
- HandwritingModeKey {
- weight: 154
- }
- SpaceKey {
- weight: 864
- }
- Key {
- key: Qt.Key_Apostrophe
- text: "'"
- alternativeKeys: "<>()#%&*/\\'\"=+-_"
- }
- Key {
- key: Qt.Key_Period
- text: "."
- alternativeKeys: ":;,.?!"
- }
- HideKeyboardKey {
- id: hideKeyboardKey
- weight: 204
- }
- }
-}
diff --git a/src/virtualkeyboard/content/layouts/he_IL/main.qml b/src/virtualkeyboard/content/layouts/he_IL/main.qml
deleted file mode 100644
index 4c47fc56..00000000
--- a/src/virtualkeyboard/content/layouts/he_IL/main.qml
+++ /dev/null
@@ -1,381 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2017 The Qt Company Ltd.
-** Contact: https://www.qt.io/licensing/
-**
-** This file is part of the Qt Virtual Keyboard module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:GPL$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see https://www.qt.io/terms-conditions. For further
-** information use the contact form at https://www.qt.io/contact-us.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 3 or (at your option) any later version
-** approved by the KDE Free Qt Foundation. The licenses are as published by
-** the Free Software Foundation and appearing in the file LICENSE.GPL3
-** included in the packaging of this file. Please review the following
-** information to ensure the GNU General Public License requirements will
-** be met: https://www.gnu.org/licenses/gpl-3.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-import QtQuick 2.0
-import QtQuick.VirtualKeyboard 2.3
-
-KeyboardLayoutLoader {
- sharedLayouts: ['symbols']
- sourceComponent: InputContext.inputEngine.inputMode === InputEngine.InputMode.Hebrew ? hebrewLayout : latinLayout
- Component {
- id: hebrewLayout
- KeyboardLayout {
- keyWeight: 160
- KeyboardRow {
- Key {
- key: Qt.Key_Apostrophe
- text: "'"
- alternativeKeys: "'\""
- }
- Key {
- key: Qt.Key_Minus
- text: "-"
- }
- Key {
- text: "\u05E7"
- alternativeKeys: "\u05B3\u05E7\u05B8\u05BB"
- }
- Key {
- text: "\u05E8"
- }
- Key {
- text: "\u05D0"
- }
- Key {
- text: "\u05D8"
- }
- Key {
- text: "\u05D5"
- alternativeKeys: [ "\u05D5", "\u05D5\u05B9", "\u05D5\u05BC" ]
- }
- Key {
- text: "\u05DF"
- }
- Key {
- text: "\u05DD"
- }
- Key {
- text: "\u05E4"
- alternativeKeys: "\u05B2\u05B7\u05E4"
- }
- BackspaceKey {}
- }
- KeyboardRow {
- FillerKey {
- weight: 56
- }
- Key {
- text: "\u05E9"
- alternativeKeys: [ "\u05E9", "\u05B0", "\u05E9\u05C2", "\u05E9\u05C1" ]
- }
- Key {
- text: "\u05D3"
- alternativeKeys: "\u05D3\u05BC"
- }
- Key {
- text: "\u05D2"
- alternativeKeys: [ "\u05D2", "\u05D2\u05F3" ]
- }
- Key {
- text: "\u05DB"
- }
- Key {
- text: "\u05E2"
- }
- Key {
- text: "\u05D9"
- alternativeKeys: [ "\u05D9", "\u05F2\u05B7" ]
- }
- Key {
- text: "\u05D7"
- alternativeKeys: [ "\u05B9", "\u05D7", "\u05D7\u05F3", "\u05B4" ]
- }
- Key {
- text: "\u05DC"
- }
- Key {
- text: "\u05DA"
- }
- Key {
- text: "\u05E3"
- }
- EnterKey {
- weight: 283
- }
- }
- KeyboardRow {
- keyWeight: 156
- InputModeKey {
- inputModes: [InputEngine.InputMode.Hebrew, InputEngine.InputMode.Latin]
- }
- Key {
- text: "\u05D6"
- alternativeKeys: [ "\u05D6", "\u05D6\u05F3" ]
- }
- Key {
- text: "\u05E1"
- alternativeKeys: "\u05E1\u05B6\u05B1"
- }
- Key {
- text: "\u05D1"
- }
- Key {
- text: "\u05D4"
- }
- Key {
- text: "\u05E0"
- }
- Key {
- text: "\u05DE"
- }
- Key {
- text: "\u05E6"
- alternativeKeys: [ "\u05E6", "\u05E6\u05F3", "\u05B5" ]
- }
- Key {
- text: "\u05EA"
- alternativeKeys: [ "\u05EA", "\u05EA\u05F3" ]
- }
- Key {
- text: "\u05E5"
- alternativeKeys: [ "\u05E5", "\u05E5\u05F3" ]
- }
- Key {
- key: Qt.Key_Comma
- text: ","
- alternativeKeys: ":,;"
- }
- ShiftKey {
- weight: 204
- enabled: false
- }
- }
- KeyboardRow {
- keyWeight: 154
- SymbolModeKey {
- weight: 217
- }
- ChangeLanguageKey {
- weight: 154
- }
- HandwritingModeKey {
- weight: 154
- }
- SpaceKey {
- weight: 864
- }
- Key {
- key: Qt.Key_Period
- text: "."
- alternativeKeys: "!.?"
- }
- Key {
- key: 0xE000
- text: ":-)"
- alternativeKeys: [ ";-)", ":-)", ":-D", ":-(", "<3" ]
- }
- HideKeyboardKey {
- weight: 204
- }
- }
- }
- }
- Component {
- id: latinLayout
- KeyboardLayout {
- keyWeight: 160
- KeyboardRow {
- Key {
- key: Qt.Key_Q
- text: "q"
- }
- Key {
- key: Qt.Key_W
- text: "w"
- }
- Key {
- key: Qt.Key_E
- text: "e"
- alternativeKeys: "êeëèé"
- }
- Key {
- key: Qt.Key_R
- text: "r"
- alternativeKeys: "ŕrř"
- }
- Key {
- key: Qt.Key_T
- text: "t"
- alternativeKeys: "ţtŧť"
- }
- Key {
- key: Qt.Key_Y
- text: "y"
- alternativeKeys: "ÿyýŷ"
- }
- Key {
- key: Qt.Key_U
- text: "u"
- alternativeKeys: "űūũûüuùú"
- }
- Key {
- key: Qt.Key_I
- text: "i"
- alternativeKeys: "îïīĩiìí"
- }
- Key {
- key: Qt.Key_O
- text: "o"
- alternativeKeys: "œøõôöòóo"
- }
- Key {
- key: Qt.Key_P
- text: "p"
- }
- BackspaceKey {}
- }
- KeyboardRow {
- FillerKey {
- weight: 56
- }
- Key {
- key: Qt.Key_A
- text: "a"
- alternativeKeys: "aäåãâàá"
- }
- Key {
- key: Qt.Key_S
- text: "s"
- alternativeKeys: "šsşś"
- }
- Key {
- key: Qt.Key_D
- text: "d"
- alternativeKeys: "dđď"
- }
- Key {
- key: Qt.Key_F
- text: "f"
- }
- Key {
- key: Qt.Key_G
- text: "g"
- alternativeKeys: "ġgģĝğ"
- }
- Key {
- key: Qt.Key_H
- text: "h"
- }
- Key {
- key: Qt.Key_J
- text: "j"
- }
- Key {
- key: Qt.Key_K
- text: "k"
- }
- Key {
- key: Qt.Key_L
- text: "l"
- alternativeKeys: "ĺŀłļľl"
- }
- EnterKey {
- weight: 283
- }
- }
- KeyboardRow {
- keyWeight: 156
- InputModeKey {
- inputModes: [InputEngine.InputMode.Hebrew, InputEngine.InputMode.Latin]
- }
- Key {
- key: Qt.Key_Z
- text: "z"
- alternativeKeys: "zžż"
- }
- Key {
- key: Qt.Key_X
- text: "x"
- }
- Key {
- key: Qt.Key_C
- text: "c"
- alternativeKeys: "çcċčć"
- }
- Key {
- key: Qt.Key_V
- text: "v"
- }
- Key {
- key: Qt.Key_B
- text: "b"
- }
- Key {
- key: Qt.Key_N
- text: "n"
- alternativeKeys: "ņńnň"
- }
- Key {
- key: Qt.Key_M
- text: "m"
- }
- Key {
- key: Qt.Key_Comma
- text: ","
- alternativeKeys: ":,;"
- }
- Key {
- key: Qt.Key_Period
- text: "."
- alternativeKeys: "!.?"
- }
- ShiftKey {
- weight: 204
- }
- }
- KeyboardRow {
- keyWeight: 154
- SymbolModeKey {
- weight: 217
- }
- ChangeLanguageKey {
- weight: 154
- }
- HandwritingModeKey {
- weight: 154
- }
- SpaceKey {
- weight: 864
- }
- Key {
- key: Qt.Key_Apostrophe
- text: "'"
- }
- Key {
- key: 0xE000
- text: ":-)"
- alternativeKeys: [ ";-)", ":-)", ":-D", ":-(", "<3" ]
- }
- HideKeyboardKey {
- weight: 204
- }
- }
- }
- }
-}
diff --git a/src/virtualkeyboard/content/layouts/he_IL/numbers.fallback b/src/virtualkeyboard/content/layouts/he_IL/numbers.fallback
deleted file mode 100644
index e69de29b..00000000
--- a/src/virtualkeyboard/content/layouts/he_IL/numbers.fallback
+++ /dev/null
diff --git a/src/virtualkeyboard/content/layouts/he_IL/symbols.qml b/src/virtualkeyboard/content/layouts/he_IL/symbols.qml
deleted file mode 100644
index f4e58652..00000000
--- a/src/virtualkeyboard/content/layouts/he_IL/symbols.qml
+++ /dev/null
@@ -1,376 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2017 The Qt Company Ltd.
-** Contact: https://www.qt.io/licensing/
-**
-** This file is part of the Qt Virtual Keyboard module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:GPL$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see https://www.qt.io/terms-conditions. For further
-** information use the contact form at https://www.qt.io/contact-us.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 3 or (at your option) any later version
-** approved by the KDE Free Qt Foundation. The licenses are as published by
-** the Free Software Foundation and appearing in the file LICENSE.GPL3
-** included in the packaging of this file. Please review the following
-** information to ensure the GNU General Public License requirements will
-** be met: https://www.gnu.org/licenses/gpl-3.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-import QtQuick 2.0
-import QtQuick.Layouts 1.0
-import QtQuick.VirtualKeyboard 2.3
-
-KeyboardLayoutLoader {
- property bool secondPage
- onVisibleChanged: if (!visible) secondPage = false
- sourceComponent: secondPage ? page2 : page1
- Component {
- id: page1
- KeyboardLayout {
- keyWeight: 160
- KeyboardRow {
- Key {
- key: Qt.Key_1
- text: "1"
- }
- Key {
- key: Qt.Key_2
- text: "2"
- }
- Key {
- key: Qt.Key_3
- text: "3"
- }
- Key {
- key: Qt.Key_4
- text: "4"
- }
- Key {
- key: Qt.Key_5
- text: "5"
- }
- Key {
- key: Qt.Key_6
- text: "6"
- }
- Key {
- key: Qt.Key_7
- text: "7"
- }
- Key {
- key: Qt.Key_8
- text: "8"
- }
- Key {
- key: Qt.Key_9
- text: "9"
- }
- Key {
- key: Qt.Key_0
- text: "0"
- }
- BackspaceKey {}
- }
- KeyboardRow {
- FillerKey {
- weight: 56
- }
- Key {
- key: Qt.Key_At
- text: "@"
- }
- Key {
- key: Qt.Key_NumberSign
- text: "#"
- }
- Key {
- key: Qt.Key_Percent
- text: "%"
- }
- Key {
- key: Qt.Key_Ampersand
- text: "&"
- }
- Key {
- key: Qt.Key_Asterisk
- text: "*"
- }
- Key {
- key: Qt.Key_Minus
- text: "-"
- }
- Key {
- key: Qt.Key_Plus
- text: "+"
- }
- Key {
- key: Qt.Key_ParenLeft
- text: "("
- }
- Key {
- key: Qt.Key_ParenRight
- text: ")"
- }
- EnterKey {
- weight: 283
- }
- }
- KeyboardRow {
- keyWeight: 156
- Key {
- displayText: "1/2"
- functionKey: true
- onClicked: secondPage = !secondPage
- }
- Key {
- key: Qt.Key_Exclam
- text: "!"
- }
- Key {
- key: Qt.Key_QuoteDbl
- text: '"'
- }
- Key {
- key: Qt.Key_Less
- text: "<"
- }
- Key {
- key: Qt.Key_Greater
- text: ">"
- }
- Key {
- key: Qt.Key_Apostrophe
- text: "'"
- }
- Key {
- key: Qt.Key_Colon
- text: ":"
- }
- Key {
- key: Qt.Key_Semicolon
- text: ";"
- }
- Key {
- key: Qt.Key_Slash
- text: "/"
- }
- Key {
- key: Qt.Key_Question
- text: "?"
- }
- Key {
- weight: 204
- displayText: "1/2"
- functionKey: true
- onClicked: secondPage = !secondPage
- }
- }
- KeyboardRow {
- keyWeight: 154
- SymbolModeKey {
- weight: 217
- displayText: InputContext.inputEngine.inputMode === InputEngine.InputMode.Hebrew ? "\u05D0\u05D1\u05D2" : "ABC"
- }
- ChangeLanguageKey {
- weight: 154
- }
- SpaceKey {
- weight: 864
- }
- Key {
- key: Qt.Key_Period
- text: "."
- alternativeKeys: ".,"
- }
- Key {
- key: 0xE000
- text: ":-)"
- alternativeKeys: [ ";-)", ":-)", ":-D", ":-(", "<3" ]
- }
- HideKeyboardKey {
- weight: 204
- }
- }
- }
- }
- Component {
- id: page2
- KeyboardLayout {
- keyWeight: 160
- KeyboardRow {
- Key {
- key: Qt.Key_AsciiTilde
- text: "~"
- }
- Key {
- key: Qt.Key_Agrave
- text: "`"
- }
- Key {
- key: Qt.Key_Bar
- text: "|"
- }
- Key {
- key: 0x7B
- text: "·"
- }
- Key {
- key: 0x221A
- text: "√"
- }
- Key {
- key: Qt.Key_division
- text: "÷"
- }
- Key {
- key: Qt.Key_multiply
- text: "×"
- }
- Key {
- key: Qt.Key_onehalf
- text: "½"
- alternativeKeys: "¼⅓½¾⅞"
- }
- Key {
- key: Qt.Key_BraceLeft
- text: "{"
- }
- Key {
- key: Qt.Key_BraceRight
- text: "}"
- }
- BackspaceKey {}
- }
- KeyboardRow {
- FillerKey {
- weight: 56
- }
- Key {
- key: Qt.Key_Dollar
- text: "$"
- alternativeKeys: "$¢"
- }
- Key {
- key: 0x20AC
- text: "€"
- }
- Key {
- key: 0xC2
- text: "£"
- }
- Key {
- text: "₪"
- }
- Key {
- key: 0xA5
- text: "¥"
- }
- Key {
- key: Qt.Key_Equal
- text: "="
- }
- Key {
- key: Qt.Key_section
- text: "§"
- }
- Key {
- key: Qt.Key_BracketLeft
- text: "["
- }
- Key {
- key: Qt.Key_BracketRight
- text: "]"
- }
- EnterKey {
- weight: 283
- }
- }
- KeyboardRow {
- keyWeight: 156
- Key {
- displayText: "2/2"
- functionKey: true
- onClicked: secondPage = !secondPage
- }
- Key {
- key: Qt.Key_Underscore
- text: "_"
- }
- Key {
- key: 0x2122
- text: '™'
- }
- Key {
- key: 0x00AE
- text: '®'
- }
- Key {
- key: Qt.Key_guillemotleft
- text: '«'
- }
- Key {
- key: Qt.Key_guillemotright
- text: '»'
- }
- Key {
- key: 0x201C
- text: '“'
- }
- Key {
- key: 0x201D
- text: '”'
- }
- Key {
- key: Qt.Key_Backslash
- text: "\\"
- }
- Key {
- key: Qt.Key_AsciiCircum
- text: "^"
- }
- Key {
- weight: 204
- displayText: "2/2"
- functionKey: true
- onClicked: secondPage = !secondPage
- }
- }
- KeyboardRow {
- keyWeight: 154
- SymbolModeKey {
- weight: 217
- displayText: InputContext.inputEngine.inputMode === InputEngine.InputMode.Hebrew ? "\u05D0\u05D1\u05D2" : "ABC"
- }
- ChangeLanguageKey {
- weight: 154
- }
- SpaceKey {
- weight: 864
- }
- Key {
- key: 0x2026
- text: "\u2026"
- }
- Key {
- key: 0xE000
- text: ":-)"
- alternativeKeys: [ ";-)", ":-)", ":-D", ":-(", "<3" ]
- }
- HideKeyboardKey {
- weight: 204
- }
- }
- }
- }
-}
diff --git a/src/virtualkeyboard/content/layouts/hi_IN/dialpad.fallback b/src/virtualkeyboard/content/layouts/hi_IN/dialpad.fallback
deleted file mode 100644
index e69de29b..00000000
--- a/src/virtualkeyboard/content/layouts/hi_IN/dialpad.fallback
+++ /dev/null
diff --git a/src/virtualkeyboard/content/layouts/hi_IN/digits.fallback b/src/virtualkeyboard/content/layouts/hi_IN/digits.fallback
deleted file mode 100644
index e69de29b..00000000
--- a/src/virtualkeyboard/content/layouts/hi_IN/digits.fallback
+++ /dev/null
diff --git a/src/virtualkeyboard/content/layouts/hi_IN/handwriting.qml b/src/virtualkeyboard/content/layouts/hi_IN/handwriting.qml
deleted file mode 100644
index 1ae1fa4f..00000000
--- a/src/virtualkeyboard/content/layouts/hi_IN/handwriting.qml
+++ /dev/null
@@ -1,103 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2017 The Qt Company Ltd.
-** Contact: https://www.qt.io/licensing/
-**
-** This file is part of the Qt Virtual Keyboard module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:GPL$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see https://www.qt.io/terms-conditions. For further
-** information use the contact form at https://www.qt.io/contact-us.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 3 or (at your option) any later version
-** approved by the KDE Free Qt Foundation. The licenses are as published by
-** the Free Software Foundation and appearing in the file LICENSE.GPL3
-** included in the packaging of this file. Please review the following
-** information to ensure the GNU General Public License requirements will
-** be met: https://www.gnu.org/licenses/gpl-3.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-import QtQuick 2.0
-import QtQuick.Layouts 1.0
-import QtQuick.VirtualKeyboard 2.1
-
-KeyboardLayout {
- function createInputMethod() {
- return Qt.createQmlObject('import QtQuick 2.0; import QtQuick.VirtualKeyboard.Plugins 2.1; HandwritingInputMethod {}', parent)
- }
- sharedLayouts: ['symbols']
-
- KeyboardRow {
- Layout.preferredHeight: 3
- KeyboardColumn {
- Layout.preferredWidth: bottomRow.width - hideKeyboardKey.width
- KeyboardRow {
- TraceInputKey {
- objectName: "hwrInputArea"
- patternRecognitionMode: InputEngine.PatternRecognitionMode.Handwriting
- }
- }
- }
- KeyboardColumn {
- Layout.preferredWidth: hideKeyboardKey.width
- KeyboardRow {
- BackspaceKey {}
- }
- KeyboardRow {
- EnterKey {}
- }
- KeyboardRow {
- ShiftKey { }
- }
- }
- }
- KeyboardRow {
- id: bottomRow
- Layout.preferredHeight: 1
- keyWeight: 154
- Key {
- weight: 217
- key: Qt.Key_Mode_switch
- noKeyEvent: true
- functionKey: true
- text: InputContext.inputEngine.inputMode === InputEngine.InputMode.Latin ? "123" : "ABC"
- onClicked: InputContext.inputEngine.inputMode = InputContext.inputEngine.inputMode === InputEngine.InputMode.Latin ? InputEngine.InputMode.Numeric : InputEngine.InputMode.Latin
- enabled: !(InputContext.inputMethodHints & (Qt.ImhDialableCharactersOnly | Qt.ImhFormattedNumbersOnly | Qt.ImhDigitsOnly))
- keyPanelDelegate: keyboard.style ? keyboard.style.symbolKeyPanel : undefined
- }
- ChangeLanguageKey {
- weight: 154
- customLayoutsOnly: true
- }
- HandwritingModeKey {
- weight: 154
- }
- SpaceKey {
- weight: 864
- }
- Key {
- key: Qt.Key_Apostrophe
- text: "'"
- alternativeKeys: "<>()#%&*/\\\"'=+-_"
- }
- Key {
- key: Qt.Key_Period
- text: "."
- alternativeKeys: ":;,.?!"
- }
- HideKeyboardKey {
- id: hideKeyboardKey
- weight: 204
- }
- }
-}
diff --git a/src/virtualkeyboard/content/layouts/hi_IN/main.qml b/src/virtualkeyboard/content/layouts/hi_IN/main.qml
deleted file mode 100644
index aac186eb..00000000
--- a/src/virtualkeyboard/content/layouts/hi_IN/main.qml
+++ /dev/null
@@ -1,340 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2016 The Qt Company Ltd.
-** Contact: https://www.qt.io/licensing/
-**
-** This file is part of the Qt Virtual Keyboard module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:GPL$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see https://www.qt.io/terms-conditions. For further
-** information use the contact form at https://www.qt.io/contact-us.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 3 or (at your option) any later version
-** approved by the KDE Free Qt Foundation. The licenses are as published by
-** the Free Software Foundation and appearing in the file LICENSE.GPL3
-** included in the packaging of this file. Please review the following
-** information to ensure the GNU General Public License requirements will
-** be met: https://www.gnu.org/licenses/gpl-3.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-import QtQuick 2.0
-import QtQuick.VirtualKeyboard 2.1
-
-KeyboardLayoutLoader {
- inputMode: InputEngine.InputMode.Latin
- sourceComponent: InputContext.shiftActive ? page2 : page1
- Component {
- id: page1
- KeyboardLayout {
- keyWeight: 160
- KeyboardRow {
- Key {
- text: "\u094C"
- }
- Key {
- text: "\u0948"
- }
- Key {
- text: "\u093E"
- }
- Key {
- text: "\u0940"
- }
- Key {
- text: "\u0942"
- }
- Key {
- text: "\u092C"
- }
- Key {
- text: "\u0939"
- }
- Key {
- text: "\u0917"
- }
- Key {
- text: "\u0926"
- }
- Key {
- text: "\u091C"
- }
- Key {
- text: "\u0921"
- }
- BackspaceKey {}
- }
- KeyboardRow {
- FillerKey {
- weight: 66
- }
- Key {
- text: "\u094B"
- alternativeKeys: ["\u094B", "\u094A"]
- }
- Key {
- text: "\u0947"
- }
- Key {
- text: "\u094D"
- }
- Key {
- text: "\u093F"
- }
- Key {
- text: "\u0941"
- }
- Key {
- text: "\u092A"
- }
- Key {
- text: "\u0930"
- }
- Key {
- text: "\u0915"
- }
- Key {
- text: "\u0924"
- }
- Key {
- text: "\u091A"
- }
- Key {
- text: "\u091F"
- }
- EnterKey {
- weight: 283
- }
- }
- KeyboardRow {
- keyWeight: 156
- ShiftKey { }
- Key {
- text: "\u0949"
- }
- Key {
- text: "\u0902"
- alternativeKeys: "\u0902\u0903"
- }
- Key {
- text: "\u092E"
- }
- Key {
- text: "\u0928"
- }
- Key {
- text: "\u0935"
- }
- Key {
- text: "\u0932"
- }
- Key {
- text: "\u0938"
- }
- Key {
- text: "\u092F"
- }
- Key {
- text: "\u093C"
- }
- Key {
- key: 0x2013
- text: "\u2013"
- alternativeKeys: "\u2013-“”"
- }
- ShiftKey {
- weight: 264
- }
- }
- KeyboardRow {
- keyWeight: 154
- SymbolModeKey {
- weight: 217
- displayText: "&\u0967\u0968\u0969"
- }
- ChangeLanguageKey {
- weight: 154
- }
- HandwritingModeKey {
- weight: 154
- }
- SpaceKey {
- weight: 864
- }
- Key {
- key: Qt.Key_Comma
- text: ","
- alternativeKeys: "!?:;.,|"
- }
- Key {
- key: 0xE000
- text: ":-)"
- alternativeKeys: [ ";-)", ":-)", ":-D", ":-(", "<3" ]
- }
- HideKeyboardKey {
- weight: 204
- }
- }
- }
- }
- Component {
- id: page2
- KeyboardLayout {
- keyWeight: 160
- KeyboardRow {
- Key {
- text: "\u0914"
- }
- Key {
- text: "\u0910"
- }
- Key {
- text: "\u0906"
- }
- Key {
- text: "\u0908"
- }
- Key {
- text: "\u090A"
- }
- Key {
- text: "\u092D"
- }
- Key {
- text: "\u0919"
- }
- Key {
- text: "\u0918"
- }
- Key {
- text: "\u0927"
- }
- Key {
- text: "\u091D"
- }
- Key {
- text: "\u0922"
- }
- BackspaceKey {}
- }
- KeyboardRow {
- FillerKey {
- weight: 66
- }
- Key {
- text: "\u0913"
- }
- Key {
- text: "\u090F"
- }
- Key {
- text: "\u0905"
- }
- Key {
- text: "\u0907"
- }
- Key {
- text: "\u0909"
- }
- Key {
- text: "\u092B"
- }
- Key {
- text: "\u0931"
- }
- Key {
- text: "\u0916"
- }
- Key {
- text: "\u0925"
- }
- Key {
- text: "\u091B"
- }
- Key {
- text: "\u0920"
- }
- EnterKey {
- weight: 283
- }
- }
- KeyboardRow {
- keyWeight: 156
- ShiftKey { }
- Key {
- text: "\u0911"
- }
- Key {
- text: "\u0901"
- }
- Key {
- text: "\u0923"
- }
- Key {
- text: "\u0929"
- }
- Key {
- text: "\u091E"
- }
- Key {
- text: "\u0933"
- }
- Key {
- text: "\u0936"
- }
- Key {
- text: "\u0937"
- }
- Key {
- text: "\u0943"
- }
- Key {
- key: 0x2013
- text: "\u2013"
- alternativeKeys: "\u2013-“”"
- }
- ShiftKey {
- weight: 264
- }
- }
- KeyboardRow {
- keyWeight: 154
- SymbolModeKey {
- weight: 217
- displayText: "&\u0967\u0968\u0969"
- }
- ChangeLanguageKey {
- weight: 154
- }
- HandwritingModeKey {
- weight: 154
- }
- SpaceKey {
- weight: 864
- }
- Key {
- key: Qt.Key_Comma
- text: ","
- alternativeKeys: "!?:;.,|"
- }
- Key {
- key: 0xE000
- text: ":-)"
- alternativeKeys: [ ";-)", ":-)", ":-D", ":-(", "<3" ]
- }
- HideKeyboardKey {
- weight: 204
- }
- }
- }
- }
-}
diff --git a/src/virtualkeyboard/content/layouts/hi_IN/numbers.fallback b/src/virtualkeyboard/content/layouts/hi_IN/numbers.fallback
deleted file mode 100644
index e69de29b..00000000
--- a/src/virtualkeyboard/content/layouts/hi_IN/numbers.fallback
+++ /dev/null
diff --git a/src/virtualkeyboard/content/layouts/hi_IN/symbols.qml b/src/virtualkeyboard/content/layouts/hi_IN/symbols.qml
deleted file mode 100644
index 6ae785f9..00000000
--- a/src/virtualkeyboard/content/layouts/hi_IN/symbols.qml
+++ /dev/null
@@ -1,386 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2016 The Qt Company Ltd.
-** Contact: https://www.qt.io/licensing/
-**
-** This file is part of the Qt Virtual Keyboard module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:GPL$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see https://www.qt.io/terms-conditions. For further
-** information use the contact form at https://www.qt.io/contact-us.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 3 or (at your option) any later version
-** approved by the KDE Free Qt Foundation. The licenses are as published by
-** the Free Software Foundation and appearing in the file LICENSE.GPL3
-** included in the packaging of this file. Please review the following
-** information to ensure the GNU General Public License requirements will
-** be met: https://www.gnu.org/licenses/gpl-3.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-import QtQuick 2.0
-import QtQuick.Layouts 1.0
-import QtQuick.VirtualKeyboard 2.1
-
-KeyboardLayoutLoader {
- property bool secondPage
- onVisibleChanged: if (!visible) secondPage = false
- sourceComponent: secondPage ? page2 : page1
- Component {
- id: page1
- KeyboardLayout {
- keyWeight: 160
- KeyboardRow {
- Key {
- key: Qt.Key_1
- text: "\u0967"
- alternativeKeys: "\u09671"
- }
- Key {
- key: Qt.Key_2
- text: "\u0968"
- alternativeKeys: "\u09682"
- }
- Key {
- key: Qt.Key_3
- text: "\u0969"
- alternativeKeys: "\u09693"
- }
- Key {
- key: Qt.Key_4
- text: "\u096A"
- alternativeKeys: "\u096A4"
- }
- Key {
- key: Qt.Key_5
- text: "\u096B"
- alternativeKeys: "\u096B5"
- }
- Key {
- key: Qt.Key_6
- text: "\u096C"
- alternativeKeys: "\u096C6"
- }
- Key {
- key: Qt.Key_7
- text: "\u096D"
- alternativeKeys: "\u096D7"
- }
- Key {
- key: Qt.Key_8
- text: "\u096E"
- alternativeKeys: "\u096E8"
- }
- Key {
- key: Qt.Key_9
- text: "\u096F"
- alternativeKeys: "\u096F9"
- }
- Key {
- key: Qt.Key_0
- text: "\u0966"
- alternativeKeys: "\u09660"
- }
- BackspaceKey {}
- }
- KeyboardRow {
- FillerKey {
- weight: 56
- }
- Key {
- key: Qt.Key_At
- text: "@"
- }
- Key {
- key: Qt.Key_NumberSign
- text: "#"
- }
- Key {
- key: Qt.Key_Percent
- text: "%"
- }
- Key {
- key: Qt.Key_Ampersand
- text: "&"
- }
- Key {
- key: Qt.Key_Asterisk
- text: "*"
- }
- Key {
- key: Qt.Key_Minus
- text: "-"
- }
- Key {
- key: Qt.Key_Plus
- text: "+"
- }
- Key {
- key: Qt.Key_ParenLeft
- text: "("
- }
- Key {
- key: Qt.Key_ParenRight
- text: ")"
- }
- EnterKey {
- weight: 283
- }
- }
- KeyboardRow {
- keyWeight: 156
- Key {
- displayText: "1/2"
- functionKey: true
- onClicked: secondPage = !secondPage
- }
- Key {
- key: Qt.Key_Exclam
- text: "!"
- }
- Key {
- key: Qt.Key_QuoteDbl
- text: '"'
- }
- Key {
- key: Qt.Key_Less
- text: "<"
- }
- Key {
- key: Qt.Key_Greater
- text: ">"
- }
- Key {
- key: Qt.Key_Apostrophe
- text: "'"
- }
- Key {
- key: Qt.Key_Colon
- text: ":"
- }
- Key {
- key: Qt.Key_Semicolon
- text: ";"
- }
- Key {
- key: Qt.Key_Slash
- text: "/"
- }
- Key {
- key: Qt.Key_Question
- text: "?"
- }
- Key {
- weight: 204
- displayText: "1/2"
- functionKey: true
- onClicked: secondPage = !secondPage
- }
- }
- KeyboardRow {
- keyWeight: 154
- SymbolModeKey {
- weight: 217
- displayText: "\u0915\u0916\u0917"
- }
- ChangeLanguageKey {
- weight: 154
- }
- SpaceKey {
- weight: 864
- }
- Key {
- key: Qt.Key_Period
- text: "."
- alternativeKeys: ".,"
- }
- Key {
- key: 0xE000
- text: ":-)"
- alternativeKeys: [ ";-)", ":-)", ":-D", ":-(", "<3" ]
- }
- HideKeyboardKey {
- weight: 204
- }
- }
- }
- }
- Component {
- id: page2
- KeyboardLayout {
- keyWeight: 160
- KeyboardRow {
- Key {
- key: Qt.Key_AsciiTilde
- text: "~"
- }
- Key {
- key: Qt.Key_Agrave
- text: "`"
- }
- Key {
- key: Qt.Key_Bar
- text: "|"
- }
- Key {
- key: 0x7B
- text: "·"
- }
- Key {
- key: 0x221A
- text: "√"
- }
- Key {
- key: Qt.Key_division
- text: "÷"
- }
- Key {
- key: Qt.Key_multiply
- text: "×"
- }
- Key {
- key: Qt.Key_onehalf
- text: "½"
- alternativeKeys: "¼⅓½¾⅞"
- }
- Key {
- key: Qt.Key_BraceLeft
- text: "{"
- }
- Key {
- key: Qt.Key_BraceRight
- text: "}"
- }
- BackspaceKey {}
- }
- KeyboardRow {
- FillerKey {
- weight: 56
- }
- Key {
- key: 0x20B9
- text: "\u20B9"
- }
- Key {
- key: Qt.Key_Dollar
- text: "$"
- }
- Key {
- key: 0x20AC
- text: "€"
- }
- Key {
- key: 0xC2
- text: "£"
- }
- Key {
- key: 0xA2
- text: "¢"
- }
- Key {
- key: Qt.Key_Equal
- text: "="
- }
- Key {
- key: Qt.Key_section
- text: "§"
- }
- Key {
- key: Qt.Key_BracketLeft
- text: "["
- }
- Key {
- key: Qt.Key_BracketRight
- text: "]"
- }
- EnterKey {
- weight: 283
- }
- }
- KeyboardRow {
- keyWeight: 156
- Key {
- displayText: "2/2"
- functionKey: true
- onClicked: secondPage = !secondPage
- }
- Key {
- key: Qt.Key_Underscore
- text: "_"
- }
- Key {
- key: 0x2122
- text: '™'
- }
- Key {
- key: 0x00AE
- text: '®'
- }
- Key {
- key: Qt.Key_guillemotleft
- text: '«'
- }
- Key {
- key: Qt.Key_guillemotright
- text: '»'
- }
- Key {
- key: 0x201C
- text: '“'
- }
- Key {
- key: 0x201D
- text: '”'
- }
- Key {
- key: Qt.Key_Backslash
- text: "\\"
- }
- Key {
- key: Qt.Key_AsciiCircum
- text: "^"
- }
- Key {
- weight: 204
- displayText: "2/2"
- functionKey: true
- onClicked: secondPage = !secondPage
- }
- }
- KeyboardRow {
- keyWeight: 154
- SymbolModeKey {
- weight: 217
- displayText: "\u0915\u0916\u0917"
- }
- ChangeLanguageKey {
- weight: 154
- }
- SpaceKey {
- weight: 864
- }
- Key {
- key: 0x2026
- text: "\u2026"
- }
- Key {
- key: 0xE000
- text: ":-)"
- alternativeKeys: [ ";-)", ":-)", ":-D", ":-(", "<3" ]
- }
- HideKeyboardKey {
- weight: 204
- }
- }
- }
- }
-}
diff --git a/src/virtualkeyboard/content/layouts/hr_HR/dialpad.fallback b/src/virtualkeyboard/content/layouts/hr_HR/dialpad.fallback
deleted file mode 100644
index e69de29b..00000000
--- a/src/virtualkeyboard/content/layouts/hr_HR/dialpad.fallback
+++ /dev/null
diff --git a/src/virtualkeyboard/content/layouts/hr_HR/digits.fallback b/src/virtualkeyboard/content/layouts/hr_HR/digits.fallback
deleted file mode 100644
index e69de29b..00000000
--- a/src/virtualkeyboard/content/layouts/hr_HR/digits.fallback
+++ /dev/null
diff --git a/src/virtualkeyboard/content/layouts/hr_HR/handwriting.qml b/src/virtualkeyboard/content/layouts/hr_HR/handwriting.qml
deleted file mode 100644
index 968bae8e..00000000
--- a/src/virtualkeyboard/content/layouts/hr_HR/handwriting.qml
+++ /dev/null
@@ -1,102 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2017 The Qt Company Ltd.
-** Contact: https://www.qt.io/licensing/
-**
-** This file is part of the Qt Virtual Keyboard module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:GPL$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see https://www.qt.io/terms-conditions. For further
-** information use the contact form at https://www.qt.io/contact-us.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 3 or (at your option) any later version
-** approved by the KDE Free Qt Foundation. The licenses are as published by
-** the Free Software Foundation and appearing in the file LICENSE.GPL3
-** included in the packaging of this file. Please review the following
-** information to ensure the GNU General Public License requirements will
-** be met: https://www.gnu.org/licenses/gpl-3.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-import QtQuick 2.0
-import QtQuick.Layouts 1.0
-import QtQuick.VirtualKeyboard 2.3
-
-KeyboardLayout {
- function createInputMethod() {
- return Qt.createQmlObject('import QtQuick 2.0; import QtQuick.VirtualKeyboard.Plugins 2.3; HandwritingInputMethod {}', parent)
- }
- sharedLayouts: ['symbols']
- inputMode: InputEngine.InputMode.Latin
-
- KeyboardRow {
- Layout.preferredHeight: 3
- KeyboardColumn {
- Layout.preferredWidth: bottomRow.width - hideKeyboardKey.width
- KeyboardRow {
- TraceInputKey {
- objectName: "hwrInputArea"
- patternRecognitionMode: InputEngine.PatternRecognitionMode.Handwriting
- }
- }
- }
- KeyboardColumn {
- Layout.preferredWidth: hideKeyboardKey.width
- KeyboardRow {
- BackspaceKey {}
- }
- KeyboardRow {
- EnterKey {}
- }
- KeyboardRow {
- ShiftKey { }
- }
- }
- }
- KeyboardRow {
- id: bottomRow
- Layout.preferredHeight: 1
- keyWeight: 154
- InputModeKey {
- weight: 217
- }
- ChangeLanguageKey {
- weight: 154
- customLayoutsOnly: true
- }
- HandwritingModeKey {
- weight: 154
- }
- SpaceKey {
- weight: 864
- }
- Key {
- key: Qt.Key_Minus
- text: "-"
- alternativeKeys: "<>()#%&*/\\\"'=+-_"
- }
- Key {
- key: Qt.Key_Period
- text: "."
- alternativeKeys: ":;,.?!"
- }
- Key {
- key: 0x102
- text: "ă"
- alternativeKeys: "ăîâșț"
- }
- HideKeyboardKey {
- id: hideKeyboardKey
- weight: 204
- }
- }
-}
diff --git a/src/virtualkeyboard/content/layouts/hr_HR/main.qml b/src/virtualkeyboard/content/layouts/hr_HR/main.qml
deleted file mode 100644
index 4b4c46d9..00000000
--- a/src/virtualkeyboard/content/layouts/hr_HR/main.qml
+++ /dev/null
@@ -1,218 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2017 The Qt Company Ltd.
-** Contact: https://www.qt.io/licensing/
-**
-** This file is part of the Qt Virtual Keyboard module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:GPL$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see https://www.qt.io/terms-conditions. For further
-** information use the contact form at https://www.qt.io/contact-us.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 3 or (at your option) any later version
-** approved by the KDE Free Qt Foundation. The licenses are as published by
-** the Free Software Foundation and appearing in the file LICENSE.GPL3
-** included in the packaging of this file. Please review the following
-** information to ensure the GNU General Public License requirements will
-** be met: https://www.gnu.org/licenses/gpl-3.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-import QtQuick 2.0
-import QtQuick.VirtualKeyboard 2.3
-
-KeyboardLayout {
- inputMode: InputEngine.InputMode.Latin
- keyWeight: 160
- KeyboardRow {
- Key {
- key: Qt.Key_Q
- text: "q"
- }
- Key {
- key: Qt.Key_W
- text: "w"
- }
- Key {
- key: Qt.Key_E
- text: "e"
- }
- Key {
- key: Qt.Key_R
- text: "r"
- }
- Key {
- key: Qt.Key_T
- text: "t"
- }
- Key {
- key: Qt.Key_Z
- text: "z"
- }
- Key {
- key: Qt.Key_U
- text: "u"
- }
- Key {
- key: Qt.Key_I
- text: "i"
- }
- Key {
- key: Qt.Key_O
- text: "o"
- alternativeKeys: "oö"
- }
- Key {
- key: Qt.Key_P
- text: "p"
- }
- Key {
- key: 0x160
- text: "š"
- }
- Key {
- key: 0x110
- text: "đ"
- }
- BackspaceKey {}
- }
- KeyboardRow {
- FillerKey {
- weight: 56
- }
- Key {
- key: Qt.Key_A
- text: "a"
- alternativeKeys: "aåä"
- }
- Key {
- key: Qt.Key_S
- text: "s"
- }
- Key {
- key: Qt.Key_D
- text: "d"
- }
- Key {
- key: Qt.Key_F
- text: "f"
- }
- Key {
- key: Qt.Key_G
- text: "g"
- }
- Key {
- key: Qt.Key_H
- text: "h"
- }
- Key {
- key: Qt.Key_J
- text: "j"
- }
- Key {
- key: Qt.Key_K
- text: "k"
- }
- Key {
- key: Qt.Key_L
- text: "l"
- }
- Key {
- key: 0x10C
- text: "č"
- }
- Key {
- key: 0x106
- text: "ć"
- }
- EnterKey {
- weight: 283
- }
- }
- KeyboardRow {
- keyWeight: 156
- ShiftKey {
- weight: 166
- }
- Key {
- key: Qt.Key_Y
- text: "y"
- }
- Key {
- key: Qt.Key_X
- text: "x"
- }
- Key {
- key: Qt.Key_C
- text: "c"
- }
- Key {
- key: Qt.Key_V
- text: "v"
- }
- Key {
- key: Qt.Key_B
- text: "b"
- }
- Key {
- key: Qt.Key_N
- text: "n"
- }
- Key {
- key: Qt.Key_M
- text: "m"
- }
- Key {
- key: 0x17D
- text: "ž"
- }
- Key {
- key: Qt.Key_Comma
- text: ","
- }
- Key {
- key: Qt.Key_Period
- text: "."
- }
- ShiftKey {
- weight: 234
- }
- }
- KeyboardRow {
- keyWeight: 154
- SymbolModeKey {
- weight: 217
- }
- ChangeLanguageKey {
- weight: 154
- }
- HandwritingModeKey {
- weight: 154
- }
- SpaceKey {
- weight: 864
- }
- Key {
- key: Qt.Key_Minus
- text: "-"
- alternativeKeys: [ "-", "\"", "'" ]
- }
- Key {
- key: 0xE000
- text: ":-)"
- alternativeKeys: [ ";-)", ":-)", ":-D", ":-(", "<3" ]
- }
- HideKeyboardKey {
- weight: 204
- }
- }
-}
diff --git a/src/virtualkeyboard/content/layouts/hr_HR/numbers.fallback b/src/virtualkeyboard/content/layouts/hr_HR/numbers.fallback
deleted file mode 100644
index e69de29b..00000000
--- a/src/virtualkeyboard/content/layouts/hr_HR/numbers.fallback
+++ /dev/null
diff --git a/src/virtualkeyboard/content/layouts/hr_HR/symbols.fallback b/src/virtualkeyboard/content/layouts/hr_HR/symbols.fallback
deleted file mode 100644
index e69de29b..00000000
--- a/src/virtualkeyboard/content/layouts/hr_HR/symbols.fallback
+++ /dev/null
diff --git a/src/virtualkeyboard/content/layouts/hu_HU/dialpad.fallback b/src/virtualkeyboard/content/layouts/hu_HU/dialpad.fallback
deleted file mode 100644
index e69de29b..00000000
--- a/src/virtualkeyboard/content/layouts/hu_HU/dialpad.fallback
+++ /dev/null
diff --git a/src/virtualkeyboard/content/layouts/hu_HU/digits.fallback b/src/virtualkeyboard/content/layouts/hu_HU/digits.fallback
deleted file mode 100644
index e69de29b..00000000
--- a/src/virtualkeyboard/content/layouts/hu_HU/digits.fallback
+++ /dev/null
diff --git a/src/virtualkeyboard/content/layouts/hu_HU/handwriting.qml b/src/virtualkeyboard/content/layouts/hu_HU/handwriting.qml
deleted file mode 100644
index caf820ae..00000000
--- a/src/virtualkeyboard/content/layouts/hu_HU/handwriting.qml
+++ /dev/null
@@ -1,97 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2017 The Qt Company Ltd.
-** Contact: https://www.qt.io/licensing/
-**
-** This file is part of the Qt Virtual Keyboard module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:GPL$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see https://www.qt.io/terms-conditions. For further
-** information use the contact form at https://www.qt.io/contact-us.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 3 or (at your option) any later version
-** approved by the KDE Free Qt Foundation. The licenses are as published by
-** the Free Software Foundation and appearing in the file LICENSE.GPL3
-** included in the packaging of this file. Please review the following
-** information to ensure the GNU General Public License requirements will
-** be met: https://www.gnu.org/licenses/gpl-3.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-import QtQuick 2.0
-import QtQuick.Layouts 1.0
-import QtQuick.VirtualKeyboard 2.3
-
-KeyboardLayout {
- function createInputMethod() {
- return Qt.createQmlObject('import QtQuick 2.0; import QtQuick.VirtualKeyboard.Plugins 2.3; HandwritingInputMethod {}', parent)
- }
- sharedLayouts: ['symbols']
- inputMode: InputEngine.InputMode.Latin
-
- KeyboardRow {
- Layout.preferredHeight: 3
- KeyboardColumn {
- Layout.preferredWidth: bottomRow.width - hideKeyboardKey.width
- KeyboardRow {
- TraceInputKey {
- objectName: "hwrInputArea"
- patternRecognitionMode: InputEngine.PatternRecognitionMode.Handwriting
- }
- }
- }
- KeyboardColumn {
- Layout.preferredWidth: hideKeyboardKey.width
- KeyboardRow {
- BackspaceKey {}
- }
- KeyboardRow {
- EnterKey {}
- }
- KeyboardRow {
- ShiftKey { }
- }
- }
- }
- KeyboardRow {
- id: bottomRow
- Layout.preferredHeight: 1
- keyWeight: 154
- InputModeKey {
- weight: 217
- }
- ChangeLanguageKey {
- weight: 154
- customLayoutsOnly: true
- }
- HandwritingModeKey {
- weight: 154
- }
- SpaceKey {
- weight: 864
- }
- Key {
- key: Qt.Key_Minus
- text: "-"
- alternativeKeys: "<>()#%&*/\\\"'=+-_"
- }
- Key {
- key: Qt.Key_Period
- text: "."
- alternativeKeys: ":;,.?!"
- }
- HideKeyboardKey {
- id: hideKeyboardKey
- weight: 204
- }
- }
-}
diff --git a/src/virtualkeyboard/content/layouts/hu_HU/main.qml b/src/virtualkeyboard/content/layouts/hu_HU/main.qml
deleted file mode 100644
index 0834dc04..00000000
--- a/src/virtualkeyboard/content/layouts/hu_HU/main.qml
+++ /dev/null
@@ -1,201 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2017 The Qt Company Ltd.
-** Contact: https://www.qt.io/licensing/
-**
-** This file is part of the Qt Virtual Keyboard module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:GPL$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see https://www.qt.io/terms-conditions. For further
-** information use the contact form at https://www.qt.io/contact-us.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 3 or (at your option) any later version
-** approved by the KDE Free Qt Foundation. The licenses are as published by
-** the Free Software Foundation and appearing in the file LICENSE.GPL3
-** included in the packaging of this file. Please review the following
-** information to ensure the GNU General Public License requirements will
-** be met: https://www.gnu.org/licenses/gpl-3.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-import QtQuick 2.0
-import QtQuick.VirtualKeyboard 2.3
-
-KeyboardLayout {
- inputMode: InputEngine.InputMode.Latin
- keyWeight: 160
- KeyboardRow {
- Key {
- key: Qt.Key_Q
- text: "q"
- }
- Key {
- key: Qt.Key_W
- text: "w"
- }
- Key {
- key: Qt.Key_E
- text: "e"
- alternativeKeys: "eé"
- }
- Key {
- key: Qt.Key_R
- text: "r"
- }
- Key {
- key: Qt.Key_T
- text: "t"
- }
- Key {
- key: Qt.Key_Z
- text: "z"
- alternativeKeys: "zž"
- }
- Key {
- key: Qt.Key_U
- text: "u"
- alternativeKeys: "úűuü"
- }
- Key {
- key: Qt.Key_I
- text: "i"
- alternativeKeys: "ií"
- }
- Key {
- key: Qt.Key_O
- text: "o"
- alternativeKeys: "óőoö"
- }
- Key {
- key: Qt.Key_P
- text: "p"
- }
- BackspaceKey {}
- }
- KeyboardRow {
- FillerKey {
- weight: 56
- }
- Key {
- key: Qt.Key_A
- text: "a"
- alternativeKeys: "aåäá"
- }
- Key {
- key: Qt.Key_S
- text: "s"
- alternativeKeys: "sš"
- }
- Key {
- key: Qt.Key_D
- text: "d"
- }
- Key {
- key: Qt.Key_F
- text: "f"
- }
- Key {
- key: Qt.Key_G
- text: "g"
- }
- Key {
- key: Qt.Key_H
- text: "h"
- }
- Key {
- key: Qt.Key_J
- text: "j"
- }
- Key {
- key: Qt.Key_K
- text: "k"
- }
- Key {
- key: Qt.Key_L
- text: "l"
- }
- EnterKey {
- weight: 283
- }
- }
- KeyboardRow {
- keyWeight: 156
- ShiftKey {}
- Key {
- key: Qt.Key_Y
- text: "y"
- }
- Key {
- key: Qt.Key_X
- text: "x"
- }
- Key {
- key: Qt.Key_C
- text: "c"
- }
- Key {
- key: Qt.Key_V
- text: "v"
- }
- Key {
- key: Qt.Key_B
- text: "b"
- }
- Key {
- key: Qt.Key_N
- text: "n"
- }
- Key {
- key: Qt.Key_M
- text: "m"
- }
- Key {
- key: Qt.Key_Comma
- text: ","
- }
- Key {
- key: Qt.Key_Period
- text: "."
- }
- ShiftKey {
- weight: 204
- }
- }
- KeyboardRow {
- keyWeight: 154
- SymbolModeKey {
- weight: 217
- }
- ChangeLanguageKey {
- weight: 154
- }
- HandwritingModeKey {
- weight: 154
- }
- SpaceKey {
- weight: 864
- }
- Key {
- key: Qt.Key_Minus
- text: "-"
- alternativeKeys: "-\"'"
- }
- Key {
- key: 0xE000
- text: ":-)"
- alternativeKeys: [ ";-)", ":-)", ":-D", ":-(", "<3" ]
- }
- HideKeyboardKey {
- weight: 204
- }
- }
-}
diff --git a/src/virtualkeyboard/content/layouts/hu_HU/numbers.fallback b/src/virtualkeyboard/content/layouts/hu_HU/numbers.fallback
deleted file mode 100644
index e69de29b..00000000
--- a/src/virtualkeyboard/content/layouts/hu_HU/numbers.fallback
+++ /dev/null
diff --git a/src/virtualkeyboard/content/layouts/hu_HU/symbols.fallback b/src/virtualkeyboard/content/layouts/hu_HU/symbols.fallback
deleted file mode 100644
index e69de29b..00000000
--- a/src/virtualkeyboard/content/layouts/hu_HU/symbols.fallback
+++ /dev/null
diff --git a/src/virtualkeyboard/content/layouts/id_ID/dialpad.fallback b/src/virtualkeyboard/content/layouts/id_ID/dialpad.fallback
deleted file mode 100644
index e69de29b..00000000
--- a/src/virtualkeyboard/content/layouts/id_ID/dialpad.fallback
+++ /dev/null
diff --git a/src/virtualkeyboard/content/layouts/id_ID/digits.fallback b/src/virtualkeyboard/content/layouts/id_ID/digits.fallback
deleted file mode 100644
index e69de29b..00000000
--- a/src/virtualkeyboard/content/layouts/id_ID/digits.fallback
+++ /dev/null
diff --git a/src/virtualkeyboard/content/layouts/id_ID/handwriting.fallback b/src/virtualkeyboard/content/layouts/id_ID/handwriting.fallback
deleted file mode 100644
index e69de29b..00000000
--- a/src/virtualkeyboard/content/layouts/id_ID/handwriting.fallback
+++ /dev/null
diff --git a/src/virtualkeyboard/content/layouts/id_ID/main.fallback b/src/virtualkeyboard/content/layouts/id_ID/main.fallback
deleted file mode 100644
index e69de29b..00000000
--- a/src/virtualkeyboard/content/layouts/id_ID/main.fallback
+++ /dev/null
diff --git a/src/virtualkeyboard/content/layouts/id_ID/numbers.fallback b/src/virtualkeyboard/content/layouts/id_ID/numbers.fallback
deleted file mode 100644
index e69de29b..00000000
--- a/src/virtualkeyboard/content/layouts/id_ID/numbers.fallback
+++ /dev/null
diff --git a/src/virtualkeyboard/content/layouts/id_ID/symbols.fallback b/src/virtualkeyboard/content/layouts/id_ID/symbols.fallback
deleted file mode 100644
index e69de29b..00000000
--- a/src/virtualkeyboard/content/layouts/id_ID/symbols.fallback
+++ /dev/null
diff --git a/src/virtualkeyboard/content/layouts/it_IT/dialpad.fallback b/src/virtualkeyboard/content/layouts/it_IT/dialpad.fallback
deleted file mode 100644
index e69de29b..00000000
--- a/src/virtualkeyboard/content/layouts/it_IT/dialpad.fallback
+++ /dev/null
diff --git a/src/virtualkeyboard/content/layouts/it_IT/digits.fallback b/src/virtualkeyboard/content/layouts/it_IT/digits.fallback
deleted file mode 100644
index e69de29b..00000000
--- a/src/virtualkeyboard/content/layouts/it_IT/digits.fallback
+++ /dev/null
diff --git a/src/virtualkeyboard/content/layouts/it_IT/handwriting.fallback b/src/virtualkeyboard/content/layouts/it_IT/handwriting.fallback
deleted file mode 100644
index e69de29b..00000000
--- a/src/virtualkeyboard/content/layouts/it_IT/handwriting.fallback
+++ /dev/null
diff --git a/src/virtualkeyboard/content/layouts/it_IT/main.qml b/src/virtualkeyboard/content/layouts/it_IT/main.qml
deleted file mode 100644
index 72d7c03c..00000000
--- a/src/virtualkeyboard/content/layouts/it_IT/main.qml
+++ /dev/null
@@ -1,198 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2016 The Qt Company Ltd.
-** Contact: https://www.qt.io/licensing/
-**
-** This file is part of the Qt Virtual Keyboard module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:GPL$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see https://www.qt.io/terms-conditions. For further
-** information use the contact form at https://www.qt.io/contact-us.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 3 or (at your option) any later version
-** approved by the KDE Free Qt Foundation. The licenses are as published by
-** the Free Software Foundation and appearing in the file LICENSE.GPL3
-** included in the packaging of this file. Please review the following
-** information to ensure the GNU General Public License requirements will
-** be met: https://www.gnu.org/licenses/gpl-3.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-import QtQuick 2.0
-import QtQuick.VirtualKeyboard 2.1
-
-KeyboardLayout {
- inputMode: InputEngine.InputMode.Latin
- keyWeight: 160
- KeyboardRow {
- Key {
- key: Qt.Key_Q
- text: "q"
- }
- Key {
- key: Qt.Key_W
- text: "w"
- }
- Key {
- key: Qt.Key_E
- text: "e"
- alternativeKeys: "eèé"
- }
- Key {
- key: Qt.Key_R
- text: "r"
- }
- Key {
- key: Qt.Key_T
- text: "t"
- }
- Key {
- key: Qt.Key_Y
- text: "y"
- }
- Key {
- key: Qt.Key_U
- text: "u"
- alternativeKeys: "uùú"
- }
- Key {
- key: Qt.Key_I
- text: "i"
- alternativeKeys: "iìí"
- }
- Key {
- key: Qt.Key_O
- text: "o"
- alternativeKeys: "oòó"
- }
- Key {
- key: Qt.Key_P
- text: "p"
- }
- BackspaceKey {}
- }
- KeyboardRow {
- FillerKey {
- weight: 56
- }
- Key {
- key: Qt.Key_A
- text: "a"
- alternativeKeys: "aàá"
- }
- Key {
- key: Qt.Key_S
- text: "s"
- }
- Key {
- key: Qt.Key_D
- text: "d"
- }
- Key {
- key: Qt.Key_F
- text: "f"
- }
- Key {
- key: Qt.Key_G
- text: "g"
- }
- Key {
- key: Qt.Key_H
- text: "h"
- }
- Key {
- key: Qt.Key_J
- text: "j"
- }
- Key {
- key: Qt.Key_K
- text: "k"
- }
- Key {
- key: Qt.Key_L
- text: "l"
- }
- EnterKey {
- weight: 283
- }
- }
- KeyboardRow {
- keyWeight: 156
- ShiftKey {}
- Key {
- key: Qt.Key_Z
- text: "z"
- }
- Key {
- key: Qt.Key_X
- text: "x"
- }
- Key {
- key: Qt.Key_C
- text: "c"
- }
- Key {
- key: Qt.Key_V
- text: "v"
- }
- Key {
- key: Qt.Key_B
- text: "b"
- }
- Key {
- key: Qt.Key_N
- text: "n"
- }
- Key {
- key: Qt.Key_M
- text: "m"
- }
- Key {
- key: Qt.Key_Comma
- text: ","
- }
- Key {
- key: Qt.Key_Period
- text: "."
- }
- ShiftKey {
- weight: 204
- }
- }
- KeyboardRow {
- keyWeight: 154
- SymbolModeKey {
- weight: 217
- }
- ChangeLanguageKey {
- weight: 154
- }
- HandwritingModeKey {
- weight: 154
- }
- SpaceKey {
- weight: 864
- }
- Key {
- key: Qt.Key_Apostrophe
- text: "'"
- }
- Key {
- key: 0xE000
- text: ":-)"
- alternativeKeys: [ ";-)", ":-)", ":-D", ":-(", "<3" ]
- }
- HideKeyboardKey {
- weight: 204
- }
- }
-}
diff --git a/src/virtualkeyboard/content/layouts/it_IT/numbers.fallback b/src/virtualkeyboard/content/layouts/it_IT/numbers.fallback
deleted file mode 100644
index e69de29b..00000000
--- a/src/virtualkeyboard/content/layouts/it_IT/numbers.fallback
+++ /dev/null
diff --git a/src/virtualkeyboard/content/layouts/it_IT/symbols.fallback b/src/virtualkeyboard/content/layouts/it_IT/symbols.fallback
deleted file mode 100644
index e69de29b..00000000
--- a/src/virtualkeyboard/content/layouts/it_IT/symbols.fallback
+++ /dev/null
diff --git a/src/virtualkeyboard/content/layouts/ja_JP/dialpad.fallback b/src/virtualkeyboard/content/layouts/ja_JP/dialpad.fallback
deleted file mode 100644
index e69de29b..00000000
--- a/src/virtualkeyboard/content/layouts/ja_JP/dialpad.fallback
+++ /dev/null
diff --git a/src/virtualkeyboard/content/layouts/ja_JP/digits.fallback b/src/virtualkeyboard/content/layouts/ja_JP/digits.fallback
deleted file mode 100644
index e69de29b..00000000
--- a/src/virtualkeyboard/content/layouts/ja_JP/digits.fallback
+++ /dev/null
diff --git a/src/virtualkeyboard/content/layouts/ja_JP/handwriting.qml b/src/virtualkeyboard/content/layouts/ja_JP/handwriting.qml
deleted file mode 100644
index 08a74384..00000000
--- a/src/virtualkeyboard/content/layouts/ja_JP/handwriting.qml
+++ /dev/null
@@ -1,99 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2017 The Qt Company Ltd.
-** Contact: https://www.qt.io/licensing/
-**
-** This file is part of the Qt Virtual Keyboard module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:GPL$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see https://www.qt.io/terms-conditions. For further
-** information use the contact form at https://www.qt.io/contact-us.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 3 or (at your option) any later version
-** approved by the KDE Free Qt Foundation. The licenses are as published by
-** the Free Software Foundation and appearing in the file LICENSE.GPL3
-** included in the packaging of this file. Please review the following
-** information to ensure the GNU General Public License requirements will
-** be met: https://www.gnu.org/licenses/gpl-3.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-import QtQuick 2.0
-import QtQuick.Layouts 1.0
-import QtQuick.VirtualKeyboard 2.3
-
-KeyboardLayout {
- function createInputMethod() {
- return Qt.createQmlObject('import QtQuick 2.0; import QtQuick.VirtualKeyboard.Plugins 2.3; HandwritingInputMethod {}', parent)
- }
- sharedLayouts: ['symbols']
- KeyboardRow {
- Layout.preferredHeight: 3
- KeyboardColumn {
- Layout.preferredWidth: bottomRow.width - hideKeyboardKey.width
- KeyboardRow {
- TraceInputKey {
- objectName: "hwrInputArea"
- patternRecognitionMode: InputEngine.PatternRecognitionMode.Handwriting
- horizontalRulers:
- InputContext.inputEngine.inputMode !== InputEngine.InputMode.JapaneseHandwriting ? [] :
- [Math.round(boundingBox.height / 4), Math.round(boundingBox.height / 4) * 2, Math.round(boundingBox.height / 4) * 3]
-
- }
- }
- }
- KeyboardColumn {
- Layout.preferredWidth: hideKeyboardKey.width
- KeyboardRow {
- BackspaceKey {}
- }
- KeyboardRow {
- EnterKey {}
- }
- KeyboardRow {
- ShiftKey { }
- }
- }
- }
- KeyboardRow {
- id: bottomRow
- Layout.preferredHeight: 1
- keyWeight: 154
- InputModeKey {
- weight: 217
- }
- ChangeLanguageKey {
- weight: 154
- customLayoutsOnly: true
- }
- HandwritingModeKey {
- weight: 154
- }
- SpaceKey {
- weight: 864
- }
- Key {
- key: Qt.Key_Apostrophe
- text: "‘"
- alternativeKeys: "《》〈〉•…々〆‘’“”「」¥"
- }
- Key {
- key: Qt.Key_Period
- text: "."
- alternativeKeys: ":;,.、。?!"
- }
- HideKeyboardKey {
- id: hideKeyboardKey
- weight: 204
- }
- }
-}
diff --git a/src/virtualkeyboard/content/layouts/ja_JP/main.qml b/src/virtualkeyboard/content/layouts/ja_JP/main.qml
deleted file mode 100644
index d3fb6ae1..00000000
--- a/src/virtualkeyboard/content/layouts/ja_JP/main.qml
+++ /dev/null
@@ -1,432 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2016 The Qt Company Ltd.
-** Contact: https://www.qt.io/licensing/
-**
-** This file is part of the Qt Virtual Keyboard module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:GPL$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see https://www.qt.io/terms-conditions. For further
-** information use the contact form at https://www.qt.io/contact-us.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 3 or (at your option) any later version
-** approved by the KDE Free Qt Foundation. The licenses are as published by
-** the Free Software Foundation and appearing in the file LICENSE.GPL3
-** included in the packaging of this file. Please review the following
-** information to ensure the GNU General Public License requirements will
-** be met: https://www.gnu.org/licenses/gpl-3.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-import QtQuick 2.0
-import QtQuick.VirtualKeyboard 2.3
-
-KeyboardLayoutLoader {
- function createInputMethod() {
- return Qt.createQmlObject('import QtQuick 2.0; import QtQuick.VirtualKeyboard.Plugins 2.3; JapaneseInputMethod {}', parent, "japaneseInputMethod")
- }
- sharedLayouts: ['symbols']
- sourceComponent: InputContext.inputEngine.inputMode === InputEngine.InputMode.FullwidthLatin ? page2 : page1
- Component {
- id: page1
- KeyboardLayout {
- keyWeight: 160
- KeyboardRow {
- Key {
- key: Qt.Key_Q
- text: "q"
- }
- Key {
- key: Qt.Key_W
- text: "w"
- }
- Key {
- key: Qt.Key_E
- text: "e"
- }
- Key {
- key: Qt.Key_R
- text: "r"
- }
- Key {
- key: Qt.Key_T
- text: "t"
- }
- Key {
- key: Qt.Key_Y
- text: "y"
- }
- Key {
- key: Qt.Key_U
- text: "u"
- }
- Key {
- key: Qt.Key_I
- text: "i"
- }
- Key {
- key: Qt.Key_O
- text: "o"
- }
- Key {
- key: Qt.Key_P
- text: "p"
- }
- BackspaceKey {}
- }
- KeyboardRow {
- FillerKey {
- weight: 56
- }
- Key {
- key: Qt.Key_A
- text: "a"
- }
- Key {
- key: Qt.Key_S
- text: "s"
- }
- Key {
- key: Qt.Key_D
- text: "d"
- }
- Key {
- key: Qt.Key_F
- text: "f"
- }
- Key {
- key: Qt.Key_G
- text: "g"
- }
- Key {
- key: Qt.Key_H
- text: "h"
- }
- Key {
- key: Qt.Key_J
- text: "j"
- }
- Key {
- key: Qt.Key_K
- text: "k"
- }
- Key {
- key: Qt.Key_L
- text: "l"
- }
- EnterKey {
- weight: 283
- }
- }
- KeyboardRow {
- keyWeight: 156
- InputModeKey {
- enabled: !(InputContext.inputMethodHints & Qt.ImhLatinOnly) && inputModeCount > 1
- inputModeNameList: [
- "半角", // InputEngine.InputMode.Latin
- "", // InputEngine.InputMode.Numeric
- "", // InputEngine.InputMode.Dialable
- "", // InputEngine.InputMode.Pinyin
- "", // InputEngine.InputMode.Cangjie
- "", // InputEngine.InputMode.Zhuyin
- "", // InputEngine.InputMode.Hangul
- "あ", // InputEngine.InputMode.Hiragana
- "カ", // InputEngine.InputMode.Katakana
- "全角", // InputEngine.InputMode.FullwidthLatin
- ]
- }
- Key {
- key: Qt.Key_Z
- text: "z"
- }
- Key {
- key: Qt.Key_X
- text: "x"
- }
- Key {
- key: Qt.Key_C
- text: "c"
- }
- Key {
- key: Qt.Key_V
- text: "v"
- }
- Key {
- key: Qt.Key_B
- text: "b"
- }
- Key {
- key: Qt.Key_N
- text: "n"
- }
- Key {
- key: Qt.Key_M
- text: "m"
- }
- Key {
- key: Qt.Key_Comma
- text: "\u3001"
- alternativeKeys: "\u3001\uFF01,!"
- }
- Key {
- key: Qt.Key_Period
- text: "\u3002"
- alternativeKeys: "\u3002\uFF1F.?"
- }
- ShiftKey {
- weight: 204
- }
- }
- KeyboardRow {
- keyWeight: 154
- SymbolModeKey {
- weight: 194
- }
- ChangeLanguageKey {
- }
- HandwritingModeKey {
- }
- Key {
- key: Qt.Key_Left
- displayText: "\u2190"
- repeat: true
- noModifier: true
- functionKey: true
- }
- Key {
- key: Qt.Key_Right
- displayText: "\u2192"
- repeat: true
- noModifier: true
- functionKey: true
- }
- SpaceKey {
- weight: 556
- text: InputContext.inputEngine.inputMode != InputEngine.InputMode.Latin ? "\u3000" : " "
- }
- Key {
- key: Qt.Key_Slash
- text: "\u30FB"
- alternativeKeys: "\u30FB/"
- }
- Key {
- key: Qt.Key_Apostrophe
- text: "\uFF07"
- alternativeKeys: "\uFF07\uFF02'\""
- }
- Key {
- key: Qt.Key_Underscore
- text: "\u30FC"
- alternativeKeys: "\u30FC\uFF5E\uFF70\uFF3F_"
- }
- Key {
- key: 0xE000
- text: ":-)"
- alternativeKeys: [ ";-)", ":-)", ":-D", ":-(", "<3" ]
- }
- HideKeyboardKey {
- weight: 204
- }
- }
- }
- }
- Component {
- id: page2
- KeyboardLayout {
- keyWeight: 160
- KeyboardRow {
- Key {
- key: Qt.Key_Q
- text: "\uFF51"
- }
- Key {
- key: Qt.Key_W
- text: "\uFF57"
- }
- Key {
- key: Qt.Key_E
- text: "\uFF45"
- }
- Key {
- key: Qt.Key_R
- text: "\uFF52"
- }
- Key {
- key: Qt.Key_T
- text: "\uFF54"
- }
- Key {
- key: Qt.Key_Y
- text: "\uFF59"
- }
- Key {
- key: Qt.Key_U
- text: "\uFF55"
- }
- Key {
- key: Qt.Key_I
- text: "\uFF49"
- }
- Key {
- key: Qt.Key_O
- text: "\uFF4F"
- }
- Key {
- key: Qt.Key_P
- text: "\uFF50"
- }
- BackspaceKey {}
- }
- KeyboardRow {
- FillerKey {
- weight: 56
- }
- Key {
- key: Qt.Key_A
- text: "\uFF41"
- }
- Key {
- key: Qt.Key_S
- text: "\uFF53"
- }
- Key {
- key: Qt.Key_D
- text: "\uFF44"
- }
- Key {
- key: Qt.Key_F
- text: "\uFF46"
- }
- Key {
- key: Qt.Key_G
- text: "\uFF47"
- }
- Key {
- key: Qt.Key_H
- text: "\uFF48"
- }
- Key {
- key: Qt.Key_J
- text: "\uFF4A"
- }
- Key {
- key: Qt.Key_K
- text: "\uFF4B"
- }
- Key {
- key: Qt.Key_L
- text: "\uFF4C"
- }
- EnterKey {
- weight: 283
- }
- }
- KeyboardRow {
- keyWeight: 156
- InputModeKey {
- }
- Key {
- key: Qt.Key_Z
- text: "\uFF5A"
- }
- Key {
- key: Qt.Key_X
- text: "\uFF58"
- }
- Key {
- key: Qt.Key_C
- text: "\uFF43"
- }
- Key {
- key: Qt.Key_V
- text: "\uFF56"
- }
- Key {
- key: Qt.Key_B
- text: "\uFF42"
- }
- Key {
- key: Qt.Key_N
- text: "\uFF4E"
- }
- Key {
- key: Qt.Key_M
- text: "\uFF4D"
- }
- Key {
- key: Qt.Key_Comma
- text: "\u3001"
- alternativeKeys: "\u3001\uFF01,!"
- }
- Key {
- key: Qt.Key_Period
- text: "\u3002"
- alternativeKeys: "\u3002\uFF1F.?"
- }
- ShiftKey {
- weight: 204
- }
- }
- KeyboardRow {
- keyWeight: 154
- SymbolModeKey {
- weight: 194
- }
- ChangeLanguageKey {
- }
- HandwritingModeKey {
- }
- Key {
- key: Qt.Key_Left
- displayText: "\u2190"
- repeat: true
- noModifier: true
- functionKey: true
- }
- Key {
- key: Qt.Key_Right
- displayText: "\u2192"
- repeat: true
- noModifier: true
- functionKey: true
- }
- SpaceKey {
- weight: 556
- text: "\u3000"
- }
- Key {
- key: Qt.Key_Slash
- text: "\u30FB"
- alternativeKeys: "\u30FB/"
- }
- Key {
- key: Qt.Key_Apostrophe
- text: "\uFF07"
- alternativeKeys: "\uFF07\uFF02'\""
- }
- Key {
- key: Qt.Key_Underscore
- text: "\u30FC"
- alternativeKeys: "\u30FC\uFF5E\uFF70\uFF3F_"
- }
- Key {
- key: 0xE000
- text: ":-)"
- alternativeKeys: [ ";-)", ":-)", ":-D", ":-(", "<3" ]
- }
- HideKeyboardKey {
- weight: 204
- }
- }
- }
- }
-}
diff --git a/src/virtualkeyboard/content/layouts/ja_JP/numbers.fallback b/src/virtualkeyboard/content/layouts/ja_JP/numbers.fallback
deleted file mode 100644
index e69de29b..00000000
--- a/src/virtualkeyboard/content/layouts/ja_JP/numbers.fallback
+++ /dev/null
diff --git a/src/virtualkeyboard/content/layouts/ja_JP/symbols.qml b/src/virtualkeyboard/content/layouts/ja_JP/symbols.qml
deleted file mode 100644
index 66a4985b..00000000
--- a/src/virtualkeyboard/content/layouts/ja_JP/symbols.qml
+++ /dev/null
@@ -1,294 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2016 The Qt Company Ltd.
-** Contact: https://www.qt.io/licensing/
-**
-** This file is part of the Qt Virtual Keyboard module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:GPL$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see https://www.qt.io/terms-conditions. For further
-** information use the contact form at https://www.qt.io/contact-us.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 3 or (at your option) any later version
-** approved by the KDE Free Qt Foundation. The licenses are as published by
-** the Free Software Foundation and appearing in the file LICENSE.GPL3
-** included in the packaging of this file. Please review the following
-** information to ensure the GNU General Public License requirements will
-** be met: https://www.gnu.org/licenses/gpl-3.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-import QtQuick 2.0
-import QtQuick.Layouts 1.0
-import QtQuick.VirtualKeyboard 2.1
-
-KeyboardLayoutLoader {
- function createInputMethod() {
- return Qt.createQmlObject('import QtQuick 2.0; import QtQuick.VirtualKeyboard.Plugins 2.1; JapaneseInputMethod {}', parent, "japaneseInputMethod")
- }
- sharedLayouts: ['main']
- property int page
- readonly property int numPages: 3
- property var keysPage1: [
- "1234567890",
- "@#$%^&*()",
- "“”、=:;!?~"
- ]
- property var keysPage2: [
- "-+/\\|[]{}·",
- "<>,.:;!?~",
- "/\"'_§¥€£¢"
- ]
- property var keysPage3: [
- "()〔〕〈〉《》【】",
- "→←↑↓↔■□●○",
- "\『』「」★☆◆◇"
- ]
- sourceComponent: {
- switch (page) {
- case 2: return page3
- case 1: return page2
- default: return page1
- }
- }
- Component {
- id: page1
- KeyboardLayout {
- keyWeight: 160
- KeyboardRow {
- Repeater {
- model: keysPage1[0].length
- Key {
- key: keysPage1[0][index].charCodeAt(0)
- text: keysPage1[0][index]
- }
- }
- BackspaceKey {}
- }
- KeyboardRow {
- FillerKey {
- weight: 56
- }
- Repeater {
- model: keysPage1[1].length
- Key {
- key: keysPage1[1][index].charCodeAt(0)
- text: keysPage1[1][index]
- }
- }
- EnterKey {
- weight: 283
- }
- }
- KeyboardRow {
- keyWeight: 156
- Key {
- displayText: (page + 1) + "/" + numPages
- functionKey: true
- onClicked: page = (page + 1) % numPages
- }
- Repeater {
- model: keysPage1[2].length
- Key {
- key: keysPage1[2][index].charCodeAt(0)
- text: keysPage1[2][index]
- }
- }
- Key {
- weight: 204
- displayText: (page + 1) + "/" + numPages
- functionKey: true
- onClicked: page = (page + 1) % numPages
- }
- }
- KeyboardRow {
- keyWeight: 154
- SymbolModeKey {
- weight: 217
- displayText: "ABC"
- }
- ChangeLanguageKey {
- weight: 154
- }
- SpaceKey {
- weight: 864
- }
- Key {
- key: 0x2014
- text: "—"
- }
- Key {
- key: 0xE000
- text: ":-)"
- alternativeKeys: [ ";-)", ":-)", ":-D", ":-(", "<3" ]
- }
- HideKeyboardKey {
- weight: 204
- }
- }
- }
- }
- Component {
- id: page2
- KeyboardLayout {
- keyWeight: 160
- KeyboardRow {
- Repeater {
- model: keysPage2[0].length
- Key {
- key: keysPage2[0][index].charCodeAt(0)
- text: keysPage2[0][index]
- }
- }
- BackspaceKey {}
- }
- KeyboardRow {
- FillerKey {
- weight: 56
- }
- Repeater {
- model: keysPage2[1].length
- Key {
- key: keysPage2[1][index].charCodeAt(0)
- text: keysPage2[1][index]
- }
- }
- EnterKey {
- weight: 283
- }
- }
- KeyboardRow {
- keyWeight: 156
- Key {
- displayText: (page + 1) + "/" + numPages
- functionKey: true
- onClicked: page = (page + 1) % numPages
- }
- Repeater {
- model: keysPage2[2].length
- Key {
- key: keysPage2[2][index].charCodeAt(0)
- text: keysPage2[2][index]
- }
- }
- Key {
- weight: 204
- displayText: (page + 1) + "/" + numPages
- functionKey: true
- onClicked: page = (page + 1) % numPages
- }
- }
- KeyboardRow {
- keyWeight: 154
- SymbolModeKey {
- weight: 217
- displayText: "ABC"
- }
- ChangeLanguageKey {
- weight: 154
- }
- SpaceKey {
- weight: 864
- }
- Key {
- key: 0x3002
- text: "。"
- }
- Key {
- key: 0xE000
- text: ":-)"
- alternativeKeys: [ ";-)", ":-)", ":-D", ":-(", "<3" ]
- }
- HideKeyboardKey {
- weight: 204
- }
- }
- }
- }
- Component {
- id: page3
- KeyboardLayout {
- keyWeight: 160
- KeyboardRow {
- Repeater {
- model: keysPage3[0].length
- Key {
- key: keysPage3[0][index].charCodeAt(0)
- text: keysPage3[0][index]
- }
- }
- BackspaceKey {}
- }
- KeyboardRow {
- FillerKey {
- weight: 56
- }
- Repeater {
- model: keysPage3[1].length
- Key {
- key: keysPage3[1][index].charCodeAt(0)
- text: keysPage3[1][index]
- }
- }
- EnterKey {
- weight: 283
- }
- }
- KeyboardRow {
- keyWeight: 156
- Key {
- displayText: (page + 1) + "/" + numPages
- functionKey: true
- onClicked: page = (page + 1) % numPages
- }
- Repeater {
- model: keysPage3[2].length
- Key {
- key: keysPage3[2][index].charCodeAt(0)
- text: keysPage3[2][index]
- }
- }
- Key {
- weight: 204
- displayText: (page + 1) + "/" + numPages
- functionKey: true
- onClicked: page = (page + 1) % numPages
- }
- }
- KeyboardRow {
- keyWeight: 154
- SymbolModeKey {
- weight: 217
- displayText: "ABC"
- }
- ChangeLanguageKey {
- weight: 154
- }
- SpaceKey {
- weight: 864
- }
- Key {
- key: 0x2026
- text: "…"
- }
- Key {
- key: 0xE000
- text: ":-)"
- alternativeKeys: [ ";-)", ":-)", ":-D", ":-(", "<3" ]
- }
- HideKeyboardKey {
- weight: 204
- }
- }
- }
- }
-}
diff --git a/src/virtualkeyboard/content/layouts/ko_KR/dialpad.fallback b/src/virtualkeyboard/content/layouts/ko_KR/dialpad.fallback
deleted file mode 100644
index e69de29b..00000000
--- a/src/virtualkeyboard/content/layouts/ko_KR/dialpad.fallback
+++ /dev/null
diff --git a/src/virtualkeyboard/content/layouts/ko_KR/digits.fallback b/src/virtualkeyboard/content/layouts/ko_KR/digits.fallback
deleted file mode 100644
index e69de29b..00000000
--- a/src/virtualkeyboard/content/layouts/ko_KR/digits.fallback
+++ /dev/null
diff --git a/src/virtualkeyboard/content/layouts/ko_KR/handwriting.qml b/src/virtualkeyboard/content/layouts/ko_KR/handwriting.qml
deleted file mode 100644
index 563239a4..00000000
--- a/src/virtualkeyboard/content/layouts/ko_KR/handwriting.qml
+++ /dev/null
@@ -1,118 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2017 The Qt Company Ltd.
-** Contact: https://www.qt.io/licensing/
-**
-** This file is part of the Qt Virtual Keyboard module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:GPL$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see https://www.qt.io/terms-conditions. For further
-** information use the contact form at https://www.qt.io/contact-us.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 3 or (at your option) any later version
-** approved by the KDE Free Qt Foundation. The licenses are as published by
-** the Free Software Foundation and appearing in the file LICENSE.GPL3
-** included in the packaging of this file. Please review the following
-** information to ensure the GNU General Public License requirements will
-** be met: https://www.gnu.org/licenses/gpl-3.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-import QtQuick 2.0
-import QtQuick.Layouts 1.0
-import QtQuick.VirtualKeyboard 2.3
-
-KeyboardLayout {
- function createInputMethod() {
- return Qt.createQmlObject('import QtQuick 2.0; import QtQuick.VirtualKeyboard.Plugins 2.3; HandwritingInputMethod {}', parent)
- }
- sharedLayouts: ['symbols']
- inputMode: preferredInputMode()
-
- Connections {
- target: InputContext
- onInputMethodHintsChanged: {
- var newInputMode = preferredInputMode()
- if (InputContext.inputEngine.inputModes.indexOf(newInputMode) !== -1)
- InputContext.inputEngine.inputMode = newInputMode
- }
- }
-
- function preferredInputMode() {
- return InputContext.inputMethodHints &
- (Qt.ImhPreferLatin | Qt.ImhEmailCharactersOnly | Qt.ImhUrlCharactersOnly |
- Qt.ImhLatinOnly) ? InputEngine.InputMode.Latin : InputEngine.InputMode.KoreanHandwriting
- }
-
- KeyboardRow {
- Layout.preferredHeight: 3
- KeyboardColumn {
- Layout.preferredWidth: bottomRow.width - hideKeyboardKey.width
- KeyboardRow {
- TraceInputKey {
- objectName: "hwrInputArea"
- patternRecognitionMode: InputEngine.PatternRecognitionMode.Handwriting
- horizontalRulers:
- InputContext.inputEngine.inputMode !== InputEngine.InputMode.KoreanHandwriting ? [] :
- [Math.round(boundingBox.height / 4), Math.round(boundingBox.height / 4) * 2, Math.round(boundingBox.height / 4) * 3]
-
- }
- }
- }
- KeyboardColumn {
- Layout.preferredWidth: hideKeyboardKey.width
- KeyboardRow {
- BackspaceKey {}
- }
- KeyboardRow {
- EnterKey {}
- }
- KeyboardRow {
- ShiftKey {
- enabled: InputContext.inputEngine.inputMode !== InputEngine.InputMode.KoreanHandwriting
- }
- }
- }
- }
- KeyboardRow {
- id: bottomRow
- Layout.preferredHeight: 1
- keyWeight: 154
- InputModeKey {
- weight: 217
- }
- ChangeLanguageKey {
- weight: 154
- customLayoutsOnly: true
- }
- HandwritingModeKey {
- weight: 154
- }
- SpaceKey {
- weight: 864
- }
- Key {
- key: Qt.Key_Apostrophe
- text: "'"
- alternativeKeys: "<>()#%&*/\\\"'=+-_"
- }
- Key {
- key: Qt.Key_Period
- text: "."
- alternativeKeys: ":;,.?!"
- }
- HideKeyboardKey {
- id: hideKeyboardKey
- weight: 204
- }
- }
-}
diff --git a/src/virtualkeyboard/content/layouts/ko_KR/main.qml b/src/virtualkeyboard/content/layouts/ko_KR/main.qml
deleted file mode 100644
index 54e6ec57..00000000
--- a/src/virtualkeyboard/content/layouts/ko_KR/main.qml
+++ /dev/null
@@ -1,313 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2016 The Qt Company Ltd.
-** Contact: https://www.qt.io/licensing/
-**
-** This file is part of the Qt Virtual Keyboard module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:GPL$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see https://www.qt.io/terms-conditions. For further
-** information use the contact form at https://www.qt.io/contact-us.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 3 or (at your option) any later version
-** approved by the KDE Free Qt Foundation. The licenses are as published by
-** the Free Software Foundation and appearing in the file LICENSE.GPL3
-** included in the packaging of this file. Please review the following
-** information to ensure the GNU General Public License requirements will
-** be met: https://www.gnu.org/licenses/gpl-3.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-import QtQuick 2.0
-import QtQuick.VirtualKeyboard 2.1
-
-KeyboardLayoutLoader {
- function createInputMethod() {
- return Qt.createQmlObject('import QtQuick 2.0; import QtQuick.VirtualKeyboard.Plugins 2.1; HangulInputMethod {}', parent, "hangulInputMethod")
- }
- sourceComponent: InputContext.shiftActive ? page2 : page1
- sharedLayouts: ['symbols']
- Component {
- id: page1
- KeyboardLayout {
- keyWeight: 160
- KeyboardRow {
- Key {
- text: "\u3142"
- }
- Key {
- text: "\u3148"
- }
- Key {
- text: "\u3137"
- }
- Key {
- text: "\u3131"
- }
- Key {
- text: "\u3145"
- }
- Key {
- text: "\u315B"
- }
- Key {
- text: "\u3155"
- }
- Key {
- text: "\u3151"
- }
- Key {
- text: "\u3150"
- }
- Key {
- text: "\u3154"
- }
- BackspaceKey {}
- }
- KeyboardRow {
- FillerKey {
- weight: 56
- }
- Key {
- text: "\u3141"
- }
- Key {
- text: "\u3134"
- }
- Key {
- text: "\u3147"
- }
- Key {
- text: "\u3139"
- }
- Key {
- text: "\u314E"
- }
- Key {
- text: "\u3157"
- }
- Key {
- text: "\u3153"
- }
- Key {
- text: "\u314F"
- }
- Key {
- text: "\u3163"
- }
- EnterKey {
- weight: 283
- }
- }
- KeyboardRow {
- keyWeight: 156
- ShiftKey {}
- Key {
- text: "\u314B"
- }
- Key {
- text: "\u314C"
- }
- Key {
- text: "\u314A"
- }
- Key {
- text: "\u314D"
- }
- Key {
- text: "\u3160"
- }
- Key {
- text: "\u315C"
- }
- Key {
- text: "\u3161"
- }
- Key {
- key: Qt.Key_Comma
- text: ","
- }
- Key {
- key: Qt.Key_Period
- text: "."
- }
- ShiftKey {
- weight: 204
- }
- }
- KeyboardRow {
- keyWeight: 154
- SymbolModeKey {
- weight: 217
- }
- ChangeLanguageKey {
- weight: 154
- }
- HandwritingModeKey {
- weight: 154
- }
- SpaceKey {
- weight: 864
- }
- Key {
- key: Qt.Key_Apostrophe
- text: "'"
- }
- Key {
- key: 0xE000
- text: ":-)"
- alternativeKeys: [ ";-)", ":-)", ":-D", ":-(", "<3" ]
- }
- HideKeyboardKey {
- weight: 204
- }
- }
- }
- }
- Component {
- id: page2
- KeyboardLayout {
- keyWeight: 160
- KeyboardRow {
- Key {
- text: "\u3143"
- }
- Key {
- text: "\u3149"
- }
- Key {
- text: "\u3138"
- }
- Key {
- text: "\u3132"
- }
- Key {
- text: "\u3146"
- }
- Key {
- text: "\u315B"
- }
- Key {
- text: "\u3155"
- }
- Key {
- text: "\u3151"
- }
- Key {
- text: "\u3152"
- }
- Key {
- text: "\u3156"
- }
- BackspaceKey {}
- }
- KeyboardRow {
- FillerKey {
- weight: 56
- }
- Key {
- text: "\u3141"
- }
- Key {
- text: "\u3134"
- }
- Key {
- text: "\u3147"
- }
- Key {
- text: "\u3139"
- }
- Key {
- text: "\u314E"
- }
- Key {
- text: "\u3157"
- }
- Key {
- text: "\u3153"
- }
- Key {
- text: "\u314F"
- }
- Key {
- text: "\u3163"
- }
- EnterKey {
- weight: 283
- }
- }
- KeyboardRow {
- keyWeight: 156
- ShiftKey {}
- Key {
- text: "\u314B"
- }
- Key {
- text: "\u314C"
- }
- Key {
- text: "\u314A"
- }
- Key {
- text: "\u314D"
- }
- Key {
- text: "\u3160"
- }
- Key {
- text: "\u315C"
- }
- Key {
- text: "\u3161"
- }
- Key {
- key: Qt.Key_Comma
- text: ","
- }
- Key {
- key: Qt.Key_Period
- text: "."
- }
- ShiftKey {
- weight: 204
- }
- }
- KeyboardRow {
- keyWeight: 154
- SymbolModeKey {
- weight: 217
- }
- ChangeLanguageKey {
- weight: 154
- }
- HandwritingModeKey {
- weight: 154
- }
- SpaceKey {
- weight: 864
- }
- Key {
- key: Qt.Key_Apostrophe
- text: "'"
- }
- Key {
- key: 0xE000
- text: ":-)"
- alternativeKeys: [ ";-)", ":-)", ":-D", ":-(", "<3" ]
- }
- HideKeyboardKey {
- weight: 204
- }
- }
- }
- }
-}
diff --git a/src/virtualkeyboard/content/layouts/ko_KR/numbers.fallback b/src/virtualkeyboard/content/layouts/ko_KR/numbers.fallback
deleted file mode 100644
index e69de29b..00000000
--- a/src/virtualkeyboard/content/layouts/ko_KR/numbers.fallback
+++ /dev/null
diff --git a/src/virtualkeyboard/content/layouts/ko_KR/symbols.qml b/src/virtualkeyboard/content/layouts/ko_KR/symbols.qml
deleted file mode 100644
index 352a69e1..00000000
--- a/src/virtualkeyboard/content/layouts/ko_KR/symbols.qml
+++ /dev/null
@@ -1,380 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2016 The Qt Company Ltd.
-** Contact: https://www.qt.io/licensing/
-**
-** This file is part of the Qt Virtual Keyboard module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:GPL$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see https://www.qt.io/terms-conditions. For further
-** information use the contact form at https://www.qt.io/contact-us.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 3 or (at your option) any later version
-** approved by the KDE Free Qt Foundation. The licenses are as published by
-** the Free Software Foundation and appearing in the file LICENSE.GPL3
-** included in the packaging of this file. Please review the following
-** information to ensure the GNU General Public License requirements will
-** be met: https://www.gnu.org/licenses/gpl-3.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-import QtQuick 2.0
-import QtQuick.Layouts 1.0
-import QtQuick.VirtualKeyboard 2.1
-
-KeyboardLayoutLoader {
- function createInputMethod() {
- return Qt.createQmlObject('import QtQuick 2.0; import QtQuick.VirtualKeyboard.Plugins 2.1; HangulInputMethod {}', parent, "hangulInputMethod")
- }
- sharedLayouts: ['main']
- property bool secondPage
- onVisibleChanged: if (!visible) secondPage = false
- sourceComponent: secondPage ? page2 : page1
- Component {
- id: page1
- KeyboardLayout {
- keyWeight: 160
- KeyboardRow {
- Key {
- key: Qt.Key_1
- text: "1"
- }
- Key {
- key: Qt.Key_2
- text: "2"
- }
- Key {
- key: Qt.Key_3
- text: "3"
- }
- Key {
- key: Qt.Key_4
- text: "4"
- }
- Key {
- key: Qt.Key_5
- text: "5"
- }
- Key {
- key: Qt.Key_6
- text: "6"
- }
- Key {
- key: Qt.Key_7
- text: "7"
- }
- Key {
- key: Qt.Key_8
- text: "8"
- }
- Key {
- key: Qt.Key_9
- text: "9"
- }
- Key {
- key: Qt.Key_0
- text: "0"
- }
- BackspaceKey {}
- }
- KeyboardRow {
- FillerKey {
- weight: 56
- }
- Key {
- key: Qt.Key_At
- text: "@"
- }
- Key {
- key: Qt.Key_NumberSign
- text: "#"
- }
- Key {
- key: Qt.Key_Percent
- text: "%"
- }
- Key {
- key: Qt.Key_Ampersand
- text: "&"
- }
- Key {
- key: Qt.Key_Asterisk
- text: "*"
- }
- Key {
- key: Qt.Key_Minus
- text: "-"
- }
- Key {
- key: Qt.Key_Plus
- text: "+"
- }
- Key {
- key: Qt.Key_ParenLeft
- text: "("
- }
- Key {
- key: Qt.Key_ParenRight
- text: ")"
- }
- EnterKey {
- weight: 283
- }
- }
- KeyboardRow {
- keyWeight: 156
- Key {
- displayText: "1/2"
- functionKey: true
- onClicked: secondPage = !secondPage
- }
- Key {
- key: Qt.Key_Exclam
- text: "!"
- }
- Key {
- key: Qt.Key_QuoteDbl
- text: '"'
- }
- Key {
- key: Qt.Key_Less
- text: "<"
- }
- Key {
- key: Qt.Key_Greater
- text: ">"
- }
- Key {
- key: Qt.Key_Apostrophe
- text: "'"
- }
- Key {
- key: Qt.Key_Colon
- text: ":"
- }
- Key {
- key: Qt.Key_Semicolon
- text: ";"
- }
- Key {
- key: Qt.Key_Slash
- text: "/"
- }
- Key {
- key: Qt.Key_Question
- text: "?"
- }
- Key {
- weight: 204
- displayText: "1/2"
- functionKey: true
- onClicked: secondPage = !secondPage
- }
- }
- KeyboardRow {
- keyWeight: 154
- SymbolModeKey {
- weight: 217
- displayText: "\uC54C\uD30C\uBCB3"
- }
- ChangeLanguageKey {
- weight: 154
- }
- SpaceKey {
- weight: 864
- }
- Key {
- key: Qt.Key_Period
- text: "."
- alternativeKeys: ".,"
- }
- Key {
- key: 0xE000
- text: ":-)"
- alternativeKeys: [ ";-)", ":-)", ":-D", ":-(", "<3" ]
- }
- HideKeyboardKey {
- weight: 204
- }
- }
- }
- }
- Component {
- id: page2
- KeyboardLayout {
- keyWeight: 160
- KeyboardRow {
- Key {
- key: Qt.Key_AsciiTilde
- text: "~"
- }
- Key {
- key: Qt.Key_Agrave
- text: "`"
- }
- Key {
- key: Qt.Key_Bar
- text: "|"
- }
- Key {
- key: 0x7B
- text: "·"
- }
- Key {
- key: 0x221A
- text: "√"
- }
- Key {
- key: Qt.Key_division
- text: "÷"
- }
- Key {
- key: Qt.Key_multiply
- text: "×"
- }
- Key {
- key: Qt.Key_onehalf
- text: "½"
- alternativeKeys: "¼⅓½¾⅞"
- }
- Key {
- key: Qt.Key_BraceLeft
- text: "{"
- }
- Key {
- key: Qt.Key_BraceRight
- text: "}"
- }
- BackspaceKey {}
- }
- KeyboardRow {
- FillerKey {
- weight: 56
- }
- Key {
- key: Qt.Key_Dollar
- text: "$"
- }
- Key {
- key: 0x20AC
- text: "€"
- }
- Key {
- key: 0xC2
- text: "£"
- }
- Key {
- key: 0x20A9
- text: "\u20A9"
- }
- Key {
- key: 0xA5
- text: "¥"
- }
- Key {
- key: Qt.Key_Equal
- text: "="
- }
- Key {
- key: Qt.Key_section
- text: "§"
- }
- Key {
- key: Qt.Key_BracketLeft
- text: "["
- }
- Key {
- key: Qt.Key_BracketRight
- text: "]"
- }
- EnterKey {
- weight: 283
- }
- }
- KeyboardRow {
- keyWeight: 156
- Key {
- displayText: "2/2"
- functionKey: true
- onClicked: secondPage = !secondPage
- }
- Key {
- key: Qt.Key_Underscore
- text: "_"
- }
- Key {
- key: 0x2122
- text: '™'
- }
- Key {
- key: 0x00AE
- text: '®'
- }
- Key {
- key: Qt.Key_guillemotleft
- text: '«'
- }
- Key {
- key: Qt.Key_guillemotright
- text: '»'
- }
- Key {
- key: 0x201C
- text: '“'
- }
- Key {
- key: 0x201D
- text: '”'
- }
- Key {
- key: Qt.Key_Backslash
- text: "\\"
- }
- Key {
- key: Qt.Key_AsciiCircum
- text: "^"
- }
- Key {
- weight: 204
- displayText: "2/2"
- functionKey: true
- onClicked: secondPage = !secondPage
- }
- }
- KeyboardRow {
- keyWeight: 154
- SymbolModeKey {
- weight: 217
- displayText: "\uC54C\uD30C\uBCB3"
- }
- ChangeLanguageKey {
- weight: 154
- }
- SpaceKey {
- weight: 864
- }
- Key {
- key: 0x2026
- text: "\u2026"
- }
- Key {
- key: 0xE000
- text: ":-)"
- alternativeKeys: [ ";-)", ":-)", ":-D", ":-(", "<3" ]
- }
- HideKeyboardKey {
- weight: 204
- }
- }
- }
- }
-}
diff --git a/src/virtualkeyboard/content/layouts/ms_MY/dialpad.fallback b/src/virtualkeyboard/content/layouts/ms_MY/dialpad.fallback
deleted file mode 100644
index e69de29b..00000000
--- a/src/virtualkeyboard/content/layouts/ms_MY/dialpad.fallback
+++ /dev/null
diff --git a/src/virtualkeyboard/content/layouts/ms_MY/digits.fallback b/src/virtualkeyboard/content/layouts/ms_MY/digits.fallback
deleted file mode 100644
index e69de29b..00000000
--- a/src/virtualkeyboard/content/layouts/ms_MY/digits.fallback
+++ /dev/null
diff --git a/src/virtualkeyboard/content/layouts/ms_MY/handwriting.fallback b/src/virtualkeyboard/content/layouts/ms_MY/handwriting.fallback
deleted file mode 100644
index e69de29b..00000000
--- a/src/virtualkeyboard/content/layouts/ms_MY/handwriting.fallback
+++ /dev/null
diff --git a/src/virtualkeyboard/content/layouts/ms_MY/main.fallback b/src/virtualkeyboard/content/layouts/ms_MY/main.fallback
deleted file mode 100644
index e69de29b..00000000
--- a/src/virtualkeyboard/content/layouts/ms_MY/main.fallback
+++ /dev/null
diff --git a/src/virtualkeyboard/content/layouts/ms_MY/numbers.fallback b/src/virtualkeyboard/content/layouts/ms_MY/numbers.fallback
deleted file mode 100644
index e69de29b..00000000
--- a/src/virtualkeyboard/content/layouts/ms_MY/numbers.fallback
+++ /dev/null
diff --git a/src/virtualkeyboard/content/layouts/ms_MY/symbols.fallback b/src/virtualkeyboard/content/layouts/ms_MY/symbols.fallback
deleted file mode 100644
index e69de29b..00000000
--- a/src/virtualkeyboard/content/layouts/ms_MY/symbols.fallback
+++ /dev/null
diff --git a/src/virtualkeyboard/content/layouts/nb_NO/dialpad.fallback b/src/virtualkeyboard/content/layouts/nb_NO/dialpad.fallback
deleted file mode 100644
index e69de29b..00000000
--- a/src/virtualkeyboard/content/layouts/nb_NO/dialpad.fallback
+++ /dev/null
diff --git a/src/virtualkeyboard/content/layouts/nb_NO/digits.fallback b/src/virtualkeyboard/content/layouts/nb_NO/digits.fallback
deleted file mode 100644
index e69de29b..00000000
--- a/src/virtualkeyboard/content/layouts/nb_NO/digits.fallback
+++ /dev/null
diff --git a/src/virtualkeyboard/content/layouts/nb_NO/handwriting.fallback b/src/virtualkeyboard/content/layouts/nb_NO/handwriting.fallback
deleted file mode 100644
index e69de29b..00000000
--- a/src/virtualkeyboard/content/layouts/nb_NO/handwriting.fallback
+++ /dev/null
diff --git a/src/virtualkeyboard/content/layouts/nb_NO/main.qml b/src/virtualkeyboard/content/layouts/nb_NO/main.qml
deleted file mode 100644
index 8580045b..00000000
--- a/src/virtualkeyboard/content/layouts/nb_NO/main.qml
+++ /dev/null
@@ -1,215 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2016 The Qt Company Ltd.
-** Contact: https://www.qt.io/licensing/
-**
-** This file is part of the Qt Virtual Keyboard module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:GPL$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see https://www.qt.io/terms-conditions. For further
-** information use the contact form at https://www.qt.io/contact-us.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 3 or (at your option) any later version
-** approved by the KDE Free Qt Foundation. The licenses are as published by
-** the Free Software Foundation and appearing in the file LICENSE.GPL3
-** included in the packaging of this file. Please review the following
-** information to ensure the GNU General Public License requirements will
-** be met: https://www.gnu.org/licenses/gpl-3.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-import QtQuick 2.0
-import QtQuick.VirtualKeyboard 2.1
-
-KeyboardLayout {
- inputMode: InputEngine.InputMode.Latin
- keyWeight: 160
- KeyboardRow {
- Key {
- key: Qt.Key_Q
- text: "q"
- }
- Key {
- key: Qt.Key_W
- text: "w"
- }
- Key {
- key: Qt.Key_E
- text: "e"
- alternativeKeys: "eéèê"
- }
- Key {
- key: Qt.Key_R
- text: "r"
- }
- Key {
- key: Qt.Key_T
- text: "t"
- }
- Key {
- key: Qt.Key_Y
- text: "y"
- }
- Key {
- key: Qt.Key_U
- text: "u"
- alternativeKeys: "uü"
- }
- Key {
- key: Qt.Key_I
- text: "i"
- }
- Key {
- key: Qt.Key_O
- text: "o"
- alternativeKeys: "oöóòô"
- }
- Key {
- key: Qt.Key_P
- text: "p"
- }
- Key {
- key: Qt.Key_Aring
- text: "å"
- }
- BackspaceKey {}
- }
- KeyboardRow {
- FillerKey {
- weight: 66
- }
- Key {
- key: Qt.Key_A
- text: "a"
- alternativeKeys: "aäâá"
- }
- Key {
- key: Qt.Key_S
- text: "s"
- }
- Key {
- key: Qt.Key_D
- text: "d"
- }
- Key {
- key: Qt.Key_F
- text: "f"
- }
- Key {
- key: Qt.Key_G
- text: "g"
- }
- Key {
- key: Qt.Key_H
- text: "h"
- }
- Key {
- key: Qt.Key_J
- text: "j"
- }
- Key {
- key: Qt.Key_K
- text: "k"
- }
- Key {
- key: Qt.Key_L
- text: "l"
- }
- Key {
- key: Qt.Key_Ooblique
- text: "ø"
- alternativeKeys: "øö"
- }
- Key {
- key: Qt.Key_AE
- text: "æ"
- alternativeKeys: "æä"
- }
- EnterKey {
- weight: 283
- }
- }
- KeyboardRow {
- keyWeight: 156
- ShiftKey { }
- Key {
- key: Qt.Key_Z
- text: "z"
- }
- Key {
- key: Qt.Key_X
- text: "x"
- }
- Key {
- key: Qt.Key_C
- text: "c"
- }
- Key {
- key: Qt.Key_V
- text: "v"
- }
- Key {
- key: Qt.Key_B
- text: "b"
- }
- Key {
- key: Qt.Key_N
- text: "n"
- }
- Key {
- key: Qt.Key_M
- text: "m"
- }
- Key {
- key: Qt.Key_Comma
- text: ","
- }
- Key {
- key: Qt.Key_Period
- text: "."
- }
- Key {
- key: Qt.Key_Minus
- text: "-"
- }
- ShiftKey {
- weight: 264
- }
- }
- KeyboardRow {
- keyWeight: 154
- SymbolModeKey {
- weight: 217
- }
- ChangeLanguageKey {
- weight: 154
- }
- HandwritingModeKey {
- weight: 154
- }
- SpaceKey {
- weight: 864
- }
- Key {
- key: Qt.Key_Apostrophe
- text: "'"
- }
- Key {
- key: 0xE000
- text: ":-)"
- alternativeKeys: [ ";-)", ":-)", ":-D", ":-(", "<3" ]
- }
- HideKeyboardKey {
- weight: 204
- }
- }
-}
diff --git a/src/virtualkeyboard/content/layouts/nb_NO/numbers.fallback b/src/virtualkeyboard/content/layouts/nb_NO/numbers.fallback
deleted file mode 100644
index e69de29b..00000000
--- a/src/virtualkeyboard/content/layouts/nb_NO/numbers.fallback
+++ /dev/null
diff --git a/src/virtualkeyboard/content/layouts/nb_NO/symbols.fallback b/src/virtualkeyboard/content/layouts/nb_NO/symbols.fallback
deleted file mode 100644
index e69de29b..00000000
--- a/src/virtualkeyboard/content/layouts/nb_NO/symbols.fallback
+++ /dev/null
diff --git a/src/virtualkeyboard/content/layouts/nl_NL/dialpad.fallback b/src/virtualkeyboard/content/layouts/nl_NL/dialpad.fallback
deleted file mode 100644
index e69de29b..00000000
--- a/src/virtualkeyboard/content/layouts/nl_NL/dialpad.fallback
+++ /dev/null
diff --git a/src/virtualkeyboard/content/layouts/nl_NL/digits.fallback b/src/virtualkeyboard/content/layouts/nl_NL/digits.fallback
deleted file mode 100644
index e69de29b..00000000
--- a/src/virtualkeyboard/content/layouts/nl_NL/digits.fallback
+++ /dev/null
diff --git a/src/virtualkeyboard/content/layouts/nl_NL/handwriting.fallback b/src/virtualkeyboard/content/layouts/nl_NL/handwriting.fallback
deleted file mode 100644
index e69de29b..00000000
--- a/src/virtualkeyboard/content/layouts/nl_NL/handwriting.fallback
+++ /dev/null
diff --git a/src/virtualkeyboard/content/layouts/nl_NL/main.fallback b/src/virtualkeyboard/content/layouts/nl_NL/main.fallback
deleted file mode 100644
index e69de29b..00000000
--- a/src/virtualkeyboard/content/layouts/nl_NL/main.fallback
+++ /dev/null
diff --git a/src/virtualkeyboard/content/layouts/nl_NL/numbers.fallback b/src/virtualkeyboard/content/layouts/nl_NL/numbers.fallback
deleted file mode 100644
index e69de29b..00000000
--- a/src/virtualkeyboard/content/layouts/nl_NL/numbers.fallback
+++ /dev/null
diff --git a/src/virtualkeyboard/content/layouts/nl_NL/symbols.fallback b/src/virtualkeyboard/content/layouts/nl_NL/symbols.fallback
deleted file mode 100644
index e69de29b..00000000
--- a/src/virtualkeyboard/content/layouts/nl_NL/symbols.fallback
+++ /dev/null
diff --git a/src/virtualkeyboard/content/layouts/pl_PL/dialpad.fallback b/src/virtualkeyboard/content/layouts/pl_PL/dialpad.fallback
deleted file mode 100644
index e69de29b..00000000
--- a/src/virtualkeyboard/content/layouts/pl_PL/dialpad.fallback
+++ /dev/null
diff --git a/src/virtualkeyboard/content/layouts/pl_PL/digits.fallback b/src/virtualkeyboard/content/layouts/pl_PL/digits.fallback
deleted file mode 100644
index e69de29b..00000000
--- a/src/virtualkeyboard/content/layouts/pl_PL/digits.fallback
+++ /dev/null
diff --git a/src/virtualkeyboard/content/layouts/pl_PL/handwriting.fallback b/src/virtualkeyboard/content/layouts/pl_PL/handwriting.fallback
deleted file mode 100644
index e69de29b..00000000
--- a/src/virtualkeyboard/content/layouts/pl_PL/handwriting.fallback
+++ /dev/null
diff --git a/src/virtualkeyboard/content/layouts/pl_PL/main.qml b/src/virtualkeyboard/content/layouts/pl_PL/main.qml
deleted file mode 100644
index 2a7ebfd0..00000000
--- a/src/virtualkeyboard/content/layouts/pl_PL/main.qml
+++ /dev/null
@@ -1,202 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2016 The Qt Company Ltd.
-** Contact: https://www.qt.io/licensing/
-**
-** This file is part of the Qt Virtual Keyboard module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:GPL$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see https://www.qt.io/terms-conditions. For further
-** information use the contact form at https://www.qt.io/contact-us.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 3 or (at your option) any later version
-** approved by the KDE Free Qt Foundation. The licenses are as published by
-** the Free Software Foundation and appearing in the file LICENSE.GPL3
-** included in the packaging of this file. Please review the following
-** information to ensure the GNU General Public License requirements will
-** be met: https://www.gnu.org/licenses/gpl-3.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-import QtQuick 2.0
-import QtQuick.VirtualKeyboard 2.1
-
-KeyboardLayout {
- inputMode: InputEngine.InputMode.Latin
- keyWeight: 160
- KeyboardRow {
- Key {
- key: Qt.Key_Q
- text: "q"
- }
- Key {
- key: Qt.Key_W
- text: "w"
- }
- Key {
- key: Qt.Key_E
- text: "e"
- alternativeKeys: "eę"
- }
- Key {
- key: Qt.Key_R
- text: "r"
- }
- Key {
- key: Qt.Key_T
- text: "t"
- }
- Key {
- key: Qt.Key_Y
- text: "y"
- }
- Key {
- key: Qt.Key_U
- text: "u"
- }
- Key {
- key: Qt.Key_I
- text: "i"
- }
- Key {
- key: Qt.Key_O
- text: "o"
- alternativeKeys: "oó"
- }
- Key {
- key: Qt.Key_P
- text: "p"
- }
- BackspaceKey {}
- }
- KeyboardRow {
- FillerKey {
- weight: 56
- }
- Key {
- key: Qt.Key_A
- text: "a"
- alternativeKeys: "aą"
- }
- Key {
- key: Qt.Key_S
- text: "s"
- alternativeKeys: "sś"
- }
- Key {
- key: Qt.Key_D
- text: "d"
- }
- Key {
- key: Qt.Key_F
- text: "f"
- }
- Key {
- key: Qt.Key_G
- text: "g"
- }
- Key {
- key: Qt.Key_H
- text: "h"
- }
- Key {
- key: Qt.Key_J
- text: "j"
- }
- Key {
- key: Qt.Key_K
- text: "k"
- }
- Key {
- key: Qt.Key_L
- text: "l"
- alternativeKeys: "lł"
- }
- EnterKey {
- weight: 283
- }
- }
- KeyboardRow {
- keyWeight: 156
- ShiftKey {}
- Key {
- key: Qt.Key_Z
- text: "z"
- alternativeKeys: "zźż"
- }
- Key {
- key: Qt.Key_X
- text: "x"
- alternativeKeys: "xź"
- }
- Key {
- key: Qt.Key_C
- text: "c"
- alternativeKeys: "cć"
- }
- Key {
- key: Qt.Key_V
- text: "v"
- }
- Key {
- key: Qt.Key_B
- text: "b"
- }
- Key {
- key: Qt.Key_N
- text: "n"
- alternativeKeys: "nń"
- }
- Key {
- key: Qt.Key_M
- text: "m"
- }
- Key {
- key: Qt.Key_Comma
- text: ","
- }
- Key {
- key: Qt.Key_Period
- text: "."
- }
- ShiftKey {
- weight: 204
- }
- }
- KeyboardRow {
- keyWeight: 154
- SymbolModeKey {
- weight: 217
- }
- ChangeLanguageKey {
- weight: 154
- }
- HandwritingModeKey {
- weight: 154
- }
- SpaceKey {
- weight: 864
- }
- Key {
- key: Qt.Key_Apostrophe
- text: "'"
- }
- Key {
- key: 0xE000
- text: ":-)"
- alternativeKeys: [ ";-)", ":-)", ":-D", ":-(", "<3" ]
- }
- HideKeyboardKey {
- weight: 204
- }
- }
-}
diff --git a/src/virtualkeyboard/content/layouts/pl_PL/numbers.fallback b/src/virtualkeyboard/content/layouts/pl_PL/numbers.fallback
deleted file mode 100644
index e69de29b..00000000
--- a/src/virtualkeyboard/content/layouts/pl_PL/numbers.fallback
+++ /dev/null
diff --git a/src/virtualkeyboard/content/layouts/pl_PL/symbols.fallback b/src/virtualkeyboard/content/layouts/pl_PL/symbols.fallback
deleted file mode 100644
index e69de29b..00000000
--- a/src/virtualkeyboard/content/layouts/pl_PL/symbols.fallback
+++ /dev/null
diff --git a/src/virtualkeyboard/content/layouts/pt_BR/dialpad.fallback b/src/virtualkeyboard/content/layouts/pt_BR/dialpad.fallback
deleted file mode 100644
index e69de29b..00000000
--- a/src/virtualkeyboard/content/layouts/pt_BR/dialpad.fallback
+++ /dev/null
diff --git a/src/virtualkeyboard/content/layouts/pt_BR/digits.fallback b/src/virtualkeyboard/content/layouts/pt_BR/digits.fallback
deleted file mode 100644
index e69de29b..00000000
--- a/src/virtualkeyboard/content/layouts/pt_BR/digits.fallback
+++ /dev/null
diff --git a/src/virtualkeyboard/content/layouts/pt_BR/handwriting.fallback b/src/virtualkeyboard/content/layouts/pt_BR/handwriting.fallback
deleted file mode 100644
index e69de29b..00000000
--- a/src/virtualkeyboard/content/layouts/pt_BR/handwriting.fallback
+++ /dev/null
diff --git a/src/virtualkeyboard/content/layouts/pt_BR/main.qml b/src/virtualkeyboard/content/layouts/pt_BR/main.qml
deleted file mode 100644
index 53ed462f..00000000
--- a/src/virtualkeyboard/content/layouts/pt_BR/main.qml
+++ /dev/null
@@ -1,207 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2016 The Qt Company Ltd.
-** Contact: https://www.qt.io/licensing/
-**
-** This file is part of the Qt Virtual Keyboard module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:GPL$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see https://www.qt.io/terms-conditions. For further
-** information use the contact form at https://www.qt.io/contact-us.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 3 or (at your option) any later version
-** approved by the KDE Free Qt Foundation. The licenses are as published by
-** the Free Software Foundation and appearing in the file LICENSE.GPL3
-** included in the packaging of this file. Please review the following
-** information to ensure the GNU General Public License requirements will
-** be met: https://www.gnu.org/licenses/gpl-3.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-import QtQuick 2.0
-import QtQuick.VirtualKeyboard 2.1
-
-KeyboardLayout {
- inputMode: InputEngine.InputMode.Latin
- keyWeight: 160
- KeyboardRow {
- Key {
- key: Qt.Key_Q
- text: "q"
- }
- Key {
- key: Qt.Key_W
- text: "w"
- }
- Key {
- key: Qt.Key_E
- text: "e"
- alternativeKeys: "ēęėëeêèé"
- }
- Key {
- key: Qt.Key_R
- text: "r"
- }
- Key {
- key: Qt.Key_T
- text: "t"
- }
- Key {
- key: Qt.Key_Y
- text: "y"
- }
- Key {
- key: Qt.Key_U
- text: "u"
- alternativeKeys: "üûuùú"
- }
- Key {
- key: Qt.Key_I
- text: "i"
- alternativeKeys: "ïįîiìí"
- }
- Key {
- key: Qt.Key_O
- text: "o"
- alternativeKeys: "öõôoòó"
- }
- Key {
- key: Qt.Key_P
- text: "p"
- }
- BackspaceKey {}
- }
- KeyboardRow {
- FillerKey {
- weight: 56
- }
- Key {
- key: Qt.Key_A
- text: "a"
- alternativeKeys: "äãaâàá"
- }
- Key {
- key: Qt.Key_S
- text: "s"
- }
- Key {
- key: Qt.Key_D
- text: "d"
- }
- Key {
- key: Qt.Key_F
- text: "f"
- }
- Key {
- key: Qt.Key_G
- text: "g"
- }
- Key {
- key: Qt.Key_H
- text: "h"
- }
- Key {
- key: Qt.Key_J
- text: "j"
- }
- Key {
- key: Qt.Key_K
- text: "k"
- }
- Key {
- key: Qt.Key_L
- text: "l"
- }
- Key {
- key: Qt.Key_Ccedilla
- text: "ç"
- }
- EnterKey {
- weight: 283
- }
- }
- KeyboardRow {
- keyWeight: 156
- ShiftKey {}
- Key {
- key: Qt.Key_Z
- text: "z"
- }
- Key {
- key: Qt.Key_X
- text: "x"
- }
- Key {
- key: Qt.Key_C
- text: "c"
- alternativeKeys: "čcć"
- }
- Key {
- key: Qt.Key_V
- text: "v"
- }
- Key {
- key: Qt.Key_B
- text: "b"
- }
- Key {
- key: Qt.Key_N
- text: "n"
- }
- Key {
- key: Qt.Key_M
- text: "m"
- }
- Key {
- key: Qt.Key_Comma
- text: ","
- }
- Key {
- key: Qt.Key_Period
- text: "."
- }
- Key {
- key: Qt.Key_Minus
- text: "-"
- }
- ShiftKey {
- weight: 244
- }
- }
- KeyboardRow {
- keyWeight: 154
- SymbolModeKey {
- weight: 217
- }
- ChangeLanguageKey {
- weight: 154
- }
- HandwritingModeKey {
- weight: 154
- }
- SpaceKey {
- weight: 864
- }
- Key {
- key: Qt.Key_Apostrophe
- text: "'"
- }
- Key {
- key: 0xE000
- text: ":-)"
- alternativeKeys: [ ";-)", ":-)", ":-D", ":-(", "<3" ]
- }
- HideKeyboardKey {
- weight: 204
- }
- }
-}
diff --git a/src/virtualkeyboard/content/layouts/pt_BR/numbers.fallback b/src/virtualkeyboard/content/layouts/pt_BR/numbers.fallback
deleted file mode 100644
index e69de29b..00000000
--- a/src/virtualkeyboard/content/layouts/pt_BR/numbers.fallback
+++ /dev/null
diff --git a/src/virtualkeyboard/content/layouts/pt_BR/symbols.fallback b/src/virtualkeyboard/content/layouts/pt_BR/symbols.fallback
deleted file mode 100644
index e69de29b..00000000
--- a/src/virtualkeyboard/content/layouts/pt_BR/symbols.fallback
+++ /dev/null
diff --git a/src/virtualkeyboard/content/layouts/pt_PT/dialpad.fallback b/src/virtualkeyboard/content/layouts/pt_PT/dialpad.fallback
deleted file mode 100644
index e69de29b..00000000
--- a/src/virtualkeyboard/content/layouts/pt_PT/dialpad.fallback
+++ /dev/null
diff --git a/src/virtualkeyboard/content/layouts/pt_PT/digits.fallback b/src/virtualkeyboard/content/layouts/pt_PT/digits.fallback
deleted file mode 100644
index e69de29b..00000000
--- a/src/virtualkeyboard/content/layouts/pt_PT/digits.fallback
+++ /dev/null
diff --git a/src/virtualkeyboard/content/layouts/pt_PT/handwriting.fallback b/src/virtualkeyboard/content/layouts/pt_PT/handwriting.fallback
deleted file mode 100644
index e69de29b..00000000
--- a/src/virtualkeyboard/content/layouts/pt_PT/handwriting.fallback
+++ /dev/null
diff --git a/src/virtualkeyboard/content/layouts/pt_PT/main.qml b/src/virtualkeyboard/content/layouts/pt_PT/main.qml
deleted file mode 100644
index 53ed462f..00000000
--- a/src/virtualkeyboard/content/layouts/pt_PT/main.qml
+++ /dev/null
@@ -1,207 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2016 The Qt Company Ltd.
-** Contact: https://www.qt.io/licensing/
-**
-** This file is part of the Qt Virtual Keyboard module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:GPL$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see https://www.qt.io/terms-conditions. For further
-** information use the contact form at https://www.qt.io/contact-us.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 3 or (at your option) any later version
-** approved by the KDE Free Qt Foundation. The licenses are as published by
-** the Free Software Foundation and appearing in the file LICENSE.GPL3
-** included in the packaging of this file. Please review the following
-** information to ensure the GNU General Public License requirements will
-** be met: https://www.gnu.org/licenses/gpl-3.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-import QtQuick 2.0
-import QtQuick.VirtualKeyboard 2.1
-
-KeyboardLayout {
- inputMode: InputEngine.InputMode.Latin
- keyWeight: 160
- KeyboardRow {
- Key {
- key: Qt.Key_Q
- text: "q"
- }
- Key {
- key: Qt.Key_W
- text: "w"
- }
- Key {
- key: Qt.Key_E
- text: "e"
- alternativeKeys: "ēęėëeêèé"
- }
- Key {
- key: Qt.Key_R
- text: "r"
- }
- Key {
- key: Qt.Key_T
- text: "t"
- }
- Key {
- key: Qt.Key_Y
- text: "y"
- }
- Key {
- key: Qt.Key_U
- text: "u"
- alternativeKeys: "üûuùú"
- }
- Key {
- key: Qt.Key_I
- text: "i"
- alternativeKeys: "ïįîiìí"
- }
- Key {
- key: Qt.Key_O
- text: "o"
- alternativeKeys: "öõôoòó"
- }
- Key {
- key: Qt.Key_P
- text: "p"
- }
- BackspaceKey {}
- }
- KeyboardRow {
- FillerKey {
- weight: 56
- }
- Key {
- key: Qt.Key_A
- text: "a"
- alternativeKeys: "äãaâàá"
- }
- Key {
- key: Qt.Key_S
- text: "s"
- }
- Key {
- key: Qt.Key_D
- text: "d"
- }
- Key {
- key: Qt.Key_F
- text: "f"
- }
- Key {
- key: Qt.Key_G
- text: "g"
- }
- Key {
- key: Qt.Key_H
- text: "h"
- }
- Key {
- key: Qt.Key_J
- text: "j"
- }
- Key {
- key: Qt.Key_K
- text: "k"
- }
- Key {
- key: Qt.Key_L
- text: "l"
- }
- Key {
- key: Qt.Key_Ccedilla
- text: "ç"
- }
- EnterKey {
- weight: 283
- }
- }
- KeyboardRow {
- keyWeight: 156
- ShiftKey {}
- Key {
- key: Qt.Key_Z
- text: "z"
- }
- Key {
- key: Qt.Key_X
- text: "x"
- }
- Key {
- key: Qt.Key_C
- text: "c"
- alternativeKeys: "čcć"
- }
- Key {
- key: Qt.Key_V
- text: "v"
- }
- Key {
- key: Qt.Key_B
- text: "b"
- }
- Key {
- key: Qt.Key_N
- text: "n"
- }
- Key {
- key: Qt.Key_M
- text: "m"
- }
- Key {
- key: Qt.Key_Comma
- text: ","
- }
- Key {
- key: Qt.Key_Period
- text: "."
- }
- Key {
- key: Qt.Key_Minus
- text: "-"
- }
- ShiftKey {
- weight: 244
- }
- }
- KeyboardRow {
- keyWeight: 154
- SymbolModeKey {
- weight: 217
- }
- ChangeLanguageKey {
- weight: 154
- }
- HandwritingModeKey {
- weight: 154
- }
- SpaceKey {
- weight: 864
- }
- Key {
- key: Qt.Key_Apostrophe
- text: "'"
- }
- Key {
- key: 0xE000
- text: ":-)"
- alternativeKeys: [ ";-)", ":-)", ":-D", ":-(", "<3" ]
- }
- HideKeyboardKey {
- weight: 204
- }
- }
-}
diff --git a/src/virtualkeyboard/content/layouts/pt_PT/numbers.fallback b/src/virtualkeyboard/content/layouts/pt_PT/numbers.fallback
deleted file mode 100644
index e69de29b..00000000
--- a/src/virtualkeyboard/content/layouts/pt_PT/numbers.fallback
+++ /dev/null
diff --git a/src/virtualkeyboard/content/layouts/pt_PT/symbols.fallback b/src/virtualkeyboard/content/layouts/pt_PT/symbols.fallback
deleted file mode 100644
index e69de29b..00000000
--- a/src/virtualkeyboard/content/layouts/pt_PT/symbols.fallback
+++ /dev/null
diff --git a/src/virtualkeyboard/content/layouts/ro_RO/dialpad.fallback b/src/virtualkeyboard/content/layouts/ro_RO/dialpad.fallback
deleted file mode 100644
index e69de29b..00000000
--- a/src/virtualkeyboard/content/layouts/ro_RO/dialpad.fallback
+++ /dev/null
diff --git a/src/virtualkeyboard/content/layouts/ro_RO/digits.fallback b/src/virtualkeyboard/content/layouts/ro_RO/digits.fallback
deleted file mode 100644
index e69de29b..00000000
--- a/src/virtualkeyboard/content/layouts/ro_RO/digits.fallback
+++ /dev/null
diff --git a/src/virtualkeyboard/content/layouts/ro_RO/handwriting.qml b/src/virtualkeyboard/content/layouts/ro_RO/handwriting.qml
deleted file mode 100644
index 1d5dedb9..00000000
--- a/src/virtualkeyboard/content/layouts/ro_RO/handwriting.qml
+++ /dev/null
@@ -1,102 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2016 The Qt Company Ltd.
-** Contact: https://www.qt.io/licensing/
-**
-** This file is part of the Qt Virtual Keyboard module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:GPL$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see https://www.qt.io/terms-conditions. For further
-** information use the contact form at https://www.qt.io/contact-us.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 3 or (at your option) any later version
-** approved by the KDE Free Qt Foundation. The licenses are as published by
-** the Free Software Foundation and appearing in the file LICENSE.GPL3
-** included in the packaging of this file. Please review the following
-** information to ensure the GNU General Public License requirements will
-** be met: https://www.gnu.org/licenses/gpl-3.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-import QtQuick 2.0
-import QtQuick.Layouts 1.0
-import QtQuick.VirtualKeyboard 2.3
-
-KeyboardLayout {
- function createInputMethod() {
- return Qt.createQmlObject('import QtQuick 2.0; import QtQuick.VirtualKeyboard.Plugins 2.3; HandwritingInputMethod {}', parent)
- }
- sharedLayouts: ['symbols']
- inputMode: InputEngine.InputMode.Latin
-
- KeyboardRow {
- Layout.preferredHeight: 3
- KeyboardColumn {
- Layout.preferredWidth: bottomRow.width - hideKeyboardKey.width
- KeyboardRow {
- TraceInputKey {
- objectName: "hwrInputArea"
- patternRecognitionMode: InputEngine.PatternRecognitionMode.Handwriting
- }
- }
- }
- KeyboardColumn {
- Layout.preferredWidth: hideKeyboardKey.width
- KeyboardRow {
- BackspaceKey {}
- }
- KeyboardRow {
- EnterKey {}
- }
- KeyboardRow {
- ShiftKey { }
- }
- }
- }
- KeyboardRow {
- id: bottomRow
- Layout.preferredHeight: 1
- keyWeight: 154
- InputModeKey {
- weight: 217
- }
- ChangeLanguageKey {
- weight: 154
- customLayoutsOnly: true
- }
- HandwritingModeKey {
- weight: 154
- }
- SpaceKey {
- weight: 864
- }
- Key {
- key: Qt.Key_Minus
- text: "-"
- alternativeKeys: "<>()#%&*/\\\"'=+-_"
- }
- Key {
- key: Qt.Key_Period
- text: "."
- alternativeKeys: ":;,.?!"
- }
- Key {
- key: 0x102
- text: "ă"
- alternativeKeys: "ăîâșț"
- }
- HideKeyboardKey {
- id: hideKeyboardKey
- weight: 204
- }
- }
-}
diff --git a/src/virtualkeyboard/content/layouts/ro_RO/main.qml b/src/virtualkeyboard/content/layouts/ro_RO/main.qml
deleted file mode 100644
index ea3865eb..00000000
--- a/src/virtualkeyboard/content/layouts/ro_RO/main.qml
+++ /dev/null
@@ -1,229 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2016 The Qt Company Ltd.
-** Contact: https://www.qt.io/licensing/
-**
-** This file is part of the Qt Virtual Keyboard module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:GPL$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see https://www.qt.io/terms-conditions. For further
-** information use the contact form at https://www.qt.io/contact-us.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 3 or (at your option) any later version
-** approved by the KDE Free Qt Foundation. The licenses are as published by
-** the Free Software Foundation and appearing in the file LICENSE.GPL3
-** included in the packaging of this file. Please review the following
-** information to ensure the GNU General Public License requirements will
-** be met: https://www.gnu.org/licenses/gpl-3.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-import QtQuick 2.0
-import QtQuick.VirtualKeyboard 2.1
-
-KeyboardLayout {
- inputMode: InputEngine.InputMode.Latin
- keyWeight: 160
- KeyboardRow {
- Key {
- key: Qt.Key_Q
- text: "q"
- }
- Key {
- key: Qt.Key_W
- text: "w"
- }
- Key {
- key: Qt.Key_E
- text: "e"
- alternativeKeys: "êeëèé"
- }
- Key {
- key: Qt.Key_R
- text: "r"
- alternativeKeys: "ŕrř"
- }
- Key {
- key: Qt.Key_T
- text: "t"
- alternativeKeys: "țţtŧť"
- }
- Key {
- key: Qt.Key_Y
- text: "y"
- alternativeKeys: "ÿyýŷ"
- }
- Key {
- key: Qt.Key_U
- text: "u"
- alternativeKeys: "űūũûüuùú"
- }
- Key {
- key: Qt.Key_I
- text: "i"
- alternativeKeys: "îïīĩiìí"
- }
- Key {
- key: Qt.Key_O
- text: "o"
- alternativeKeys: "œøõôöòóo"
- }
- Key {
- key: Qt.Key_P
- text: "p"
- }
- Key {
- key: 0x102
- text: "ă"
- }
- Key {
- key: Qt.Key_Icircumflex
- text: "î"
- }
- Key {
- key: Qt.Key_Acircumflex
- text: "â"
- }
- BackspaceKey {}
- }
- KeyboardRow {
- FillerKey {
- weight: 56
- }
- Key {
- key: Qt.Key_A
- text: "a"
- alternativeKeys: "aäåãăâàá"
- }
- Key {
- key: Qt.Key_S
- text: "s"
- alternativeKeys: "șšsşś"
- }
- Key {
- key: Qt.Key_D
- text: "d"
- alternativeKeys: "dđď"
- }
- Key {
- key: Qt.Key_F
- text: "f"
- }
- Key {
- key: Qt.Key_G
- text: "g"
- alternativeKeys: "ġgģĝğ"
- }
- Key {
- key: Qt.Key_H
- text: "h"
- }
- Key {
- key: Qt.Key_J
- text: "j"
- }
- Key {
- key: Qt.Key_K
- text: "k"
- }
- Key {
- key: Qt.Key_L
- text: "l"
- alternativeKeys: "ĺŀłļľl"
- }
- Key {
- key: 0x218
- text: "ș"
- }
- Key {
- key: 0x21a
- text: "ț"
- }
- EnterKey {
- weight: 283
- }
- }
- KeyboardRow {
- keyWeight: 156
- ShiftKey {}
- Key {
- key: Qt.Key_Z
- text: "z"
- alternativeKeys: "zžż"
- }
- Key {
- key: Qt.Key_X
- text: "x"
- }
- Key {
- key: Qt.Key_C
- text: "c"
- alternativeKeys: "çcċčć"
- }
- Key {
- key: Qt.Key_V
- text: "v"
- }
- Key {
- key: Qt.Key_B
- text: "b"
- }
- Key {
- key: Qt.Key_N
- text: "n"
- alternativeKeys: "ņńnň"
- }
- Key {
- key: Qt.Key_M
- text: "m"
- }
- Key {
- key: Qt.Key_Comma
- text: ","
- }
- Key {
- key: Qt.Key_Period
- text: "."
- }
- ShiftKey {
- weight: 204
- }
- }
- KeyboardRow {
- keyWeight: 154
- SymbolModeKey {
- weight: 217
- }
- ChangeLanguageKey {
- weight: 154
- }
- HandwritingModeKey {
- weight: 154
- }
- SpaceKey {
- weight: 864
- }
- Key {
- key: Qt.Key_Minus
- text: "-"
- alternativeKeys: [ "\"", "'" ]
- }
- Key {
- key: 0xE000
- text: ":-)"
- alternativeKeys: [ ";-)", ":-)", ":-D", ":-(", "<3" ]
- }
- HideKeyboardKey {
- weight: 204
- }
- }
-}
diff --git a/src/virtualkeyboard/content/layouts/ro_RO/numbers.fallback b/src/virtualkeyboard/content/layouts/ro_RO/numbers.fallback
deleted file mode 100644
index e69de29b..00000000
--- a/src/virtualkeyboard/content/layouts/ro_RO/numbers.fallback
+++ /dev/null
diff --git a/src/virtualkeyboard/content/layouts/ro_RO/symbols.fallback b/src/virtualkeyboard/content/layouts/ro_RO/symbols.fallback
deleted file mode 100644
index e69de29b..00000000
--- a/src/virtualkeyboard/content/layouts/ro_RO/symbols.fallback
+++ /dev/null
diff --git a/src/virtualkeyboard/content/layouts/ru_RU/dialpad.fallback b/src/virtualkeyboard/content/layouts/ru_RU/dialpad.fallback
deleted file mode 100644
index e69de29b..00000000
--- a/src/virtualkeyboard/content/layouts/ru_RU/dialpad.fallback
+++ /dev/null
diff --git a/src/virtualkeyboard/content/layouts/ru_RU/digits.fallback b/src/virtualkeyboard/content/layouts/ru_RU/digits.fallback
deleted file mode 100644
index e69de29b..00000000
--- a/src/virtualkeyboard/content/layouts/ru_RU/digits.fallback
+++ /dev/null
diff --git a/src/virtualkeyboard/content/layouts/ru_RU/handwriting.fallback b/src/virtualkeyboard/content/layouts/ru_RU/handwriting.fallback
deleted file mode 100644
index e69de29b..00000000
--- a/src/virtualkeyboard/content/layouts/ru_RU/handwriting.fallback
+++ /dev/null
diff --git a/src/virtualkeyboard/content/layouts/ru_RU/main.qml b/src/virtualkeyboard/content/layouts/ru_RU/main.qml
deleted file mode 100644
index 87eb2382..00000000
--- a/src/virtualkeyboard/content/layouts/ru_RU/main.qml
+++ /dev/null
@@ -1,394 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2018 The Qt Company Ltd.
-** Contact: https://www.qt.io/licensing/
-**
-** This file is part of the Qt Virtual Keyboard module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:GPL$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see https://www.qt.io/terms-conditions. For further
-** information use the contact form at https://www.qt.io/contact-us.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 3 or (at your option) any later version
-** approved by the KDE Free Qt Foundation. The licenses are as published by
-** the Free Software Foundation and appearing in the file LICENSE.GPL3
-** included in the packaging of this file. Please review the following
-** information to ensure the GNU General Public License requirements will
-** be met: https://www.gnu.org/licenses/gpl-3.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-import QtQuick 2.10
-import QtQuick.VirtualKeyboard 2.3
-
-KeyboardLayoutLoader {
- sharedLayouts: ['symbols']
- sourceComponent: InputContext.inputEngine.inputMode === InputEngine.InputMode.Cyrillic ? cyrillicLayout : latinLayout
- Component {
- id: cyrillicLayout
- KeyboardLayout {
- keyWeight: 160
- KeyboardRow {
- Key {
- key: 0x0419
- text: "й"
- }
- Key {
- key: 0x0426
- text: "ц"
- }
- Key {
- key: 0x0423
- text: "у"
- }
- Key {
- key: 0x041A
- text: "к"
- }
- Key {
- key: 0x0415
- text: "е"
- alternativeKeys: "её"
- }
- Key {
- key: 0x041D
- text: "н"
- }
- Key {
- key: 0x0413
- text: "г"
- }
- Key {
- key: 0x0428
- text: "ш"
- }
- Key {
- key: 0x0429
- text: "щ"
- }
- Key {
- key: 0x0417
- text: "з"
- }
- Key {
- key: 0x0425
- text: "х"
- }
- BackspaceKey {
- weight: 180
- }
- }
- KeyboardRow {
- FillerKey {
- weight: 40
- }
- Key {
- key: 0x0424
- text: "ф"
- }
- Key {
- key: 0x042B
- text: "ы"
- }
- Key {
- key: 0x0412
- text: "в"
- }
- Key {
- key: 0x0410
- text: "а"
- }
- Key {
- key: 0x041F
- text: "п"
- }
- Key {
- key: 0x0420
- text: "р"
- }
- Key {
- key: 0x041E
- text: "о"
- }
- Key {
- key: 0x041B
- text: "л"
- }
- Key {
- key: 0x0414
- text: "д"
- }
- Key {
- key: 0x0416
- text: "ж"
- }
- Key {
- key: 0x042D
- text: "э"
- }
- EnterKey {
- weight: 280
- }
- }
- KeyboardRow {
- InputModeKey {
- inputModes: [InputEngine.InputMode.Cyrillic, InputEngine.InputMode.Latin]
- }
- Key {
- key: 0x042F
- text: "я"
- }
- Key {
- key: 0x0427
- text: "ч"
- }
- Key {
- key: 0x0421
- text: "с"
- }
- Key {
- key: 0x041C
- text: "м"
- }
- Key {
- key: 0x0418
- text: "и"
- }
- Key {
- key: 0x0422
- text: "т"
- }
- Key {
- key: 0x042C
- text: "ь"
- alternativeKeys: "ьъ"
- }
- Key {
- key: 0x0411
- text: "б"
- }
- Key {
- key: 0x042E
- text: "ю"
- }
- Key {
- key: Qt.Key_Minus
- text: "-"
- alternativeKeys: "—"
- }
- ShiftKey {
- weight: 272
- }
- }
- KeyboardRow {
- keyWeight: 154
- SymbolModeKey {
- weight: 217
- }
- ChangeLanguageKey {
- weight: 154
- }
- HandwritingModeKey {
- weight: 154
- }
- SpaceKey {
- weight: 864
- }
- Key {
- key: Qt.Key_Period
- text: "."
- alternativeKeys: ";:!?,."
- }
- Key {
- key: 0xE000
- text: ":-)"
- alternativeKeys: [ ";-)", ":-)", ":-D", ":-(", "<3" ]
- }
- HideKeyboardKey {
- weight: 204
- }
- }
- }
- }
- Component {
- id: latinLayout
- KeyboardLayout {
- keyWeight: 160
- KeyboardRow {
- Key {
- key: Qt.Key_Q
- text: "q"
- }
- Key {
- key: Qt.Key_W
- text: "w"
- }
- Key {
- key: Qt.Key_E
- text: "e"
- }
- Key {
- key: Qt.Key_R
- text: "r"
- }
- Key {
- key: Qt.Key_T
- text: "t"
- }
- Key {
- key: Qt.Key_Z
- text: "z"
- alternativeKeys: "zž"
- }
- Key {
- key: Qt.Key_U
- text: "u"
- }
- Key {
- key: Qt.Key_I
- text: "i"
- }
- Key {
- key: Qt.Key_O
- text: "o"
- alternativeKeys: "oö"
- }
- Key {
- key: Qt.Key_P
- text: "p"
- }
- BackspaceKey {}
- }
- KeyboardRow {
- FillerKey {
- weight: 56
- }
- Key {
- key: Qt.Key_A
- text: "a"
- alternativeKeys: "aåä"
- }
- Key {
- key: Qt.Key_S
- text: "s"
- alternativeKeys: "sš"
- }
- Key {
- key: Qt.Key_D
- text: "d"
- alternativeKeys: "dđ"
- }
- Key {
- key: Qt.Key_F
- text: "f"
- }
- Key {
- key: Qt.Key_G
- text: "g"
- }
- Key {
- key: Qt.Key_H
- text: "h"
- }
- Key {
- key: Qt.Key_J
- text: "j"
- }
- Key {
- key: Qt.Key_K
- text: "k"
- }
- Key {
- key: Qt.Key_L
- text: "l"
- }
- EnterKey {
- weight: 283
- }
- }
- KeyboardRow {
- keyWeight: 156
- InputModeKey {
- inputModes: [InputEngine.InputMode.Cyrillic, InputEngine.InputMode.Latin]
- }
- Key {
- key: Qt.Key_Y
- text: "y"
- }
- Key {
- key: Qt.Key_X
- text: "x"
- }
- Key {
- key: Qt.Key_C
- text: "c"
- alternativeKeys: "ćcč"
- }
- Key {
- key: Qt.Key_V
- text: "v"
- }
- Key {
- key: Qt.Key_B
- text: "b"
- }
- Key {
- key: Qt.Key_N
- text: "n"
- }
- Key {
- key: Qt.Key_M
- text: "m"
- }
- Key {
- key: Qt.Key_Comma
- text: ","
- }
- Key {
- key: Qt.Key_Period
- text: "."
- }
- ShiftKey {
- weight: 204
- }
- }
- KeyboardRow {
- keyWeight: 154
- SymbolModeKey {
- weight: 217
- }
- ChangeLanguageKey {
- weight: 154
- }
- HandwritingModeKey {
- weight: 154
- }
- SpaceKey {
- weight: 864
- }
- Key {
- key: Qt.Key_Minus
- text: "-"
- alternativeKeys: "-\"'"
- }
- Key {
- key: 0xE000
- text: ":-)"
- alternativeKeys: [ ";-)", ":-)", ":-D", ":-(", "<3" ]
- }
- HideKeyboardKey {
- weight: 204
- }
- }
- }
- }
-}
diff --git a/src/virtualkeyboard/content/layouts/ru_RU/numbers.fallback b/src/virtualkeyboard/content/layouts/ru_RU/numbers.fallback
deleted file mode 100644
index e69de29b..00000000
--- a/src/virtualkeyboard/content/layouts/ru_RU/numbers.fallback
+++ /dev/null
diff --git a/src/virtualkeyboard/content/layouts/ru_RU/symbols.fallback b/src/virtualkeyboard/content/layouts/ru_RU/symbols.fallback
deleted file mode 100644
index e69de29b..00000000
--- a/src/virtualkeyboard/content/layouts/ru_RU/symbols.fallback
+++ /dev/null
diff --git a/src/virtualkeyboard/content/layouts/sk_SK/dialpad.fallback b/src/virtualkeyboard/content/layouts/sk_SK/dialpad.fallback
deleted file mode 100644
index e69de29b..00000000
--- a/src/virtualkeyboard/content/layouts/sk_SK/dialpad.fallback
+++ /dev/null
diff --git a/src/virtualkeyboard/content/layouts/sk_SK/digits.fallback b/src/virtualkeyboard/content/layouts/sk_SK/digits.fallback
deleted file mode 100644
index e69de29b..00000000
--- a/src/virtualkeyboard/content/layouts/sk_SK/digits.fallback
+++ /dev/null
diff --git a/src/virtualkeyboard/content/layouts/sk_SK/handwriting.fallback b/src/virtualkeyboard/content/layouts/sk_SK/handwriting.fallback
deleted file mode 100644
index e69de29b..00000000
--- a/src/virtualkeyboard/content/layouts/sk_SK/handwriting.fallback
+++ /dev/null
diff --git a/src/virtualkeyboard/content/layouts/sk_SK/main.qml b/src/virtualkeyboard/content/layouts/sk_SK/main.qml
deleted file mode 100644
index 1f739d31..00000000
--- a/src/virtualkeyboard/content/layouts/sk_SK/main.qml
+++ /dev/null
@@ -1,208 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2018 The Qt Company Ltd.
-** Contact: https://www.qt.io/licensing/
-**
-** This file is part of the Qt Virtual Keyboard module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:GPL$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see https://www.qt.io/terms-conditions. For further
-** information use the contact form at https://www.qt.io/contact-us.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 3 or (at your option) any later version
-** approved by the KDE Free Qt Foundation. The licenses are as published by
-** the Free Software Foundation and appearing in the file LICENSE.GPL3
-** included in the packaging of this file. Please review the following
-** information to ensure the GNU General Public License requirements will
-** be met: https://www.gnu.org/licenses/gpl-3.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-import QtQuick 2.0
-import QtQuick.VirtualKeyboard 2.3
-
-KeyboardLayout {
- inputMode: InputEngine.InputMode.Latin
- keyWeight: 160
- KeyboardRow {
- Key {
- key: Qt.Key_Q
- text: "q"
- }
- Key {
- key: Qt.Key_W
- text: "w"
- }
- Key {
- key: Qt.Key_E
- text: "e"
- alternativeKeys: "eé"
- }
- Key {
- key: Qt.Key_R
- text: "r"
- alternativeKeys: "rŕ"
- }
- Key {
- key: Qt.Key_T
- text: "t"
- alternativeKeys: "tť"
- }
- Key {
- key: Qt.Key_Z
- text: "z"
- alternativeKeys: "zž"
- }
- Key {
- key: Qt.Key_U
- text: "u"
- alternativeKeys: "uú"
- }
- Key {
- key: Qt.Key_I
- text: "i"
- alternativeKeys: "ií"
- }
- Key {
- key: Qt.Key_O
- text: "o"
- alternativeKeys: "oóöô"
- }
- Key {
- key: Qt.Key_P
- text: "p"
- }
- BackspaceKey {}
- }
- KeyboardRow {
- FillerKey {
- weight: 56
- }
- Key {
- key: Qt.Key_A
- text: "a"
- alternativeKeys: "aåäá"
- }
- Key {
- key: Qt.Key_S
- text: "s"
- alternativeKeys: "sš"
- }
- Key {
- key: Qt.Key_D
- text: "d"
- alternativeKeys: "dď"
- }
- Key {
- key: Qt.Key_F
- text: "f"
- }
- Key {
- key: Qt.Key_G
- text: "g"
- }
- Key {
- key: Qt.Key_H
- text: "h"
- }
- Key {
- key: Qt.Key_J
- text: "j"
- }
- Key {
- key: Qt.Key_K
- text: "k"
- }
- Key {
- key: Qt.Key_L
- text: "l"
- alternativeKeys: "lĺľ"
- }
- EnterKey {
- weight: 283
- }
- }
- KeyboardRow {
- keyWeight: 156
- ShiftKey {}
- Key {
- key: Qt.Key_Y
- text: "y"
- alternativeKeys: "yý"
- }
- Key {
- key: Qt.Key_X
- text: "x"
- }
- Key {
- key: Qt.Key_C
- text: "c"
- alternativeKeys: "cč"
- }
- Key {
- key: Qt.Key_V
- text: "v"
- }
- Key {
- key: Qt.Key_B
- text: "b"
- }
- Key {
- key: Qt.Key_N
- text: "n"
- alternativeKeys: "nň"
- }
- Key {
- key: Qt.Key_M
- text: "m"
- }
- Key {
- key: Qt.Key_Comma
- text: ","
- }
- Key {
- key: Qt.Key_Period
- text: "."
- }
- ShiftKey {
- weight: 204
- }
- }
- KeyboardRow {
- keyWeight: 154
- SymbolModeKey {
- weight: 217
- }
- ChangeLanguageKey {
- weight: 154
- }
- HandwritingModeKey {
- weight: 154
- }
- SpaceKey {
- weight: 864
- }
- Key {
- key: Qt.Key_Minus
- text: "-"
- alternativeKeys: "-\"'"
- }
- Key {
- key: 0xE000
- text: ":-)"
- alternativeKeys: [ ";-)", ":-)", ":-D", ":-(", "<3" ]
- }
- HideKeyboardKey {
- weight: 204
- }
- }
-}
diff --git a/src/virtualkeyboard/content/layouts/sk_SK/numbers.fallback b/src/virtualkeyboard/content/layouts/sk_SK/numbers.fallback
deleted file mode 100644
index e69de29b..00000000
--- a/src/virtualkeyboard/content/layouts/sk_SK/numbers.fallback
+++ /dev/null
diff --git a/src/virtualkeyboard/content/layouts/sk_SK/symbols.fallback b/src/virtualkeyboard/content/layouts/sk_SK/symbols.fallback
deleted file mode 100644
index e69de29b..00000000
--- a/src/virtualkeyboard/content/layouts/sk_SK/symbols.fallback
+++ /dev/null
diff --git a/src/virtualkeyboard/content/layouts/sl_SI/dialpad.fallback b/src/virtualkeyboard/content/layouts/sl_SI/dialpad.fallback
deleted file mode 100644
index e69de29b..00000000
--- a/src/virtualkeyboard/content/layouts/sl_SI/dialpad.fallback
+++ /dev/null
diff --git a/src/virtualkeyboard/content/layouts/sl_SI/digits.fallback b/src/virtualkeyboard/content/layouts/sl_SI/digits.fallback
deleted file mode 100644
index e69de29b..00000000
--- a/src/virtualkeyboard/content/layouts/sl_SI/digits.fallback
+++ /dev/null
diff --git a/src/virtualkeyboard/content/layouts/sl_SI/handwriting.fallback b/src/virtualkeyboard/content/layouts/sl_SI/handwriting.fallback
deleted file mode 100644
index e69de29b..00000000
--- a/src/virtualkeyboard/content/layouts/sl_SI/handwriting.fallback
+++ /dev/null
diff --git a/src/virtualkeyboard/content/layouts/sl_SI/main.qml b/src/virtualkeyboard/content/layouts/sl_SI/main.qml
deleted file mode 100644
index 76293626..00000000
--- a/src/virtualkeyboard/content/layouts/sl_SI/main.qml
+++ /dev/null
@@ -1,203 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2018 The Qt Company Ltd.
-** Contact: https://www.qt.io/licensing/
-**
-** This file is part of the Qt Virtual Keyboard module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:GPL$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see https://www.qt.io/terms-conditions. For further
-** information use the contact form at https://www.qt.io/contact-us.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 3 or (at your option) any later version
-** approved by the KDE Free Qt Foundation. The licenses are as published by
-** the Free Software Foundation and appearing in the file LICENSE.GPL3
-** included in the packaging of this file. Please review the following
-** information to ensure the GNU General Public License requirements will
-** be met: https://www.gnu.org/licenses/gpl-3.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-import QtQuick 2.0
-import QtQuick.VirtualKeyboard 2.3
-
-KeyboardLayout {
- inputMode: InputEngine.InputMode.Latin
- keyWeight: 160
- KeyboardRow {
- Key {
- key: Qt.Key_Q
- text: "q"
- }
- Key {
- key: Qt.Key_W
- text: "w"
- }
- Key {
- key: Qt.Key_E
- text: "e"
- alternativeKeys: "eèêëé"
- }
- Key {
- key: Qt.Key_R
- text: "r"
- }
- Key {
- key: Qt.Key_T
- text: "t"
- }
- Key {
- key: Qt.Key_Z
- text: "z"
- alternativeKeys: "zž"
- }
- Key {
- key: Qt.Key_U
- text: "u"
- alternativeKeys: "uúü"
- }
- Key {
- key: Qt.Key_I
- text: "i"
- alternativeKeys: "ií"
- }
- Key {
- key: Qt.Key_O
- text: "o"
- alternativeKeys: "òôöoó"
- }
- Key {
- key: Qt.Key_P
- text: "p"
- }
- BackspaceKey {}
- }
- KeyboardRow {
- FillerKey {
- weight: 56
- }
- Key {
- key: Qt.Key_A
- text: "a"
- alternativeKeys: "aåäáà"
- }
- Key {
- key: Qt.Key_S
- text: "s"
- alternativeKeys: "sš"
- }
- Key {
- key: Qt.Key_D
- text: "d"
- alternativeKeys: "dđ"
- }
- Key {
- key: Qt.Key_F
- text: "f"
- }
- Key {
- key: Qt.Key_G
- text: "g"
- }
- Key {
- key: Qt.Key_H
- text: "h"
- }
- Key {
- key: Qt.Key_J
- text: "j"
- }
- Key {
- key: Qt.Key_K
- text: "k"
- }
- Key {
- key: Qt.Key_L
- text: "l"
- }
- EnterKey {
- weight: 283
- }
- }
- KeyboardRow {
- keyWeight: 156
- ShiftKey {}
- Key {
- key: Qt.Key_Y
- text: "y"
- }
- Key {
- key: Qt.Key_X
- text: "x"
- }
- Key {
- key: Qt.Key_C
- text: "c"
- alternativeKeys: "cćč"
- }
- Key {
- key: Qt.Key_V
- text: "v"
- }
- Key {
- key: Qt.Key_B
- text: "b"
- }
- Key {
- key: Qt.Key_N
- text: "n"
- }
- Key {
- key: Qt.Key_M
- text: "m"
- }
- Key {
- key: Qt.Key_Comma
- text: ","
- }
- Key {
- key: Qt.Key_Period
- text: "."
- }
- ShiftKey {
- weight: 204
- }
- }
- KeyboardRow {
- keyWeight: 154
- SymbolModeKey {
- weight: 217
- }
- ChangeLanguageKey {
- weight: 154
- }
- HandwritingModeKey {
- weight: 154
- }
- SpaceKey {
- weight: 864
- }
- Key {
- key: Qt.Key_Minus
- text: "-"
- alternativeKeys: "-\"'"
- }
- Key {
- key: 0xE000
- text: ":-)"
- alternativeKeys: [ ";-)", ":-)", ":-D", ":-(", "<3" ]
- }
- HideKeyboardKey {
- weight: 204
- }
- }
-}
diff --git a/src/virtualkeyboard/content/layouts/sl_SI/numbers.fallback b/src/virtualkeyboard/content/layouts/sl_SI/numbers.fallback
deleted file mode 100644
index e69de29b..00000000
--- a/src/virtualkeyboard/content/layouts/sl_SI/numbers.fallback
+++ /dev/null
diff --git a/src/virtualkeyboard/content/layouts/sl_SI/symbols.fallback b/src/virtualkeyboard/content/layouts/sl_SI/symbols.fallback
deleted file mode 100644
index e69de29b..00000000
--- a/src/virtualkeyboard/content/layouts/sl_SI/symbols.fallback
+++ /dev/null
diff --git a/src/virtualkeyboard/content/layouts/sq_AL/dialpad.fallback b/src/virtualkeyboard/content/layouts/sq_AL/dialpad.fallback
deleted file mode 100644
index e69de29b..00000000
--- a/src/virtualkeyboard/content/layouts/sq_AL/dialpad.fallback
+++ /dev/null
diff --git a/src/virtualkeyboard/content/layouts/sq_AL/digits.fallback b/src/virtualkeyboard/content/layouts/sq_AL/digits.fallback
deleted file mode 100644
index e69de29b..00000000
--- a/src/virtualkeyboard/content/layouts/sq_AL/digits.fallback
+++ /dev/null
diff --git a/src/virtualkeyboard/content/layouts/sq_AL/handwriting.fallback b/src/virtualkeyboard/content/layouts/sq_AL/handwriting.fallback
deleted file mode 100644
index e69de29b..00000000
--- a/src/virtualkeyboard/content/layouts/sq_AL/handwriting.fallback
+++ /dev/null
diff --git a/src/virtualkeyboard/content/layouts/sq_AL/main.qml b/src/virtualkeyboard/content/layouts/sq_AL/main.qml
deleted file mode 100644
index 4b50e883..00000000
--- a/src/virtualkeyboard/content/layouts/sq_AL/main.qml
+++ /dev/null
@@ -1,205 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2018 The Qt Company Ltd.
-** Contact: https://www.qt.io/licensing/
-**
-** This file is part of the Qt Virtual Keyboard module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:GPL$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see https://www.qt.io/terms-conditions. For further
-** information use the contact form at https://www.qt.io/contact-us.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 3 or (at your option) any later version
-** approved by the KDE Free Qt Foundation. The licenses are as published by
-** the Free Software Foundation and appearing in the file LICENSE.GPL3
-** included in the packaging of this file. Please review the following
-** information to ensure the GNU General Public License requirements will
-** be met: https://www.gnu.org/licenses/gpl-3.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-import QtQuick 2.0
-import QtQuick.VirtualKeyboard 2.3
-
-KeyboardLayout {
- inputMode: InputEngine.InputMode.Latin
- keyWeight: 160
- KeyboardRow {
- Key {
- key: Qt.Key_Q
- text: "q"
- }
- Key {
- key: Qt.Key_W
- text: "w"
- }
- Key {
- key: Qt.Key_E
- text: "e"
- }
- Key {
- key: Qt.Key_R
- text: "r"
- }
- Key {
- key: Qt.Key_T
- text: "t"
- }
- Key {
- key: Qt.Key_Z
- text: "z"
- }
- Key {
- key: Qt.Key_U
- text: "u"
- }
- Key {
- key: Qt.Key_I
- text: "i"
- }
- Key {
- key: Qt.Key_O
- text: "o"
- }
- Key {
- key: Qt.Key_P
- text: "p"
- }
- Key {
- key: Qt.Key_Ccedilla
- text: "ç"
- }
- BackspaceKey {}
- }
- KeyboardRow {
- FillerKey {
- weight: 56
- }
- Key {
- key: Qt.Key_A
- text: "a"
- }
- Key {
- key: Qt.Key_S
- text: "s"
- }
- Key {
- key: Qt.Key_D
- text: "d"
- }
- Key {
- key: Qt.Key_F
- text: "f"
- }
- Key {
- key: Qt.Key_G
- text: "g"
- }
- Key {
- key: Qt.Key_H
- text: "h"
- }
- Key {
- key: Qt.Key_J
- text: "j"
- }
- Key {
- key: Qt.Key_K
- text: "k"
- }
- Key {
- key: Qt.Key_L
- text: "l"
- }
- Key {
- key: Qt.Key_Ediaeresis
- text: "ë"
- }
- EnterKey {
- weight: 283
- }
- }
- KeyboardRow {
- keyWeight: 156
- ShiftKey {}
- Key {
- key: Qt.Key_Y
- text: "y"
- }
- Key {
- key: Qt.Key_X
- text: "x"
- }
- Key {
- key: Qt.Key_C
- text: "c"
- }
- Key {
- key: Qt.Key_V
- text: "v"
- }
- Key {
- key: Qt.Key_B
- text: "b"
- }
- Key {
- key: Qt.Key_N
- text: "n"
- }
- Key {
- key: Qt.Key_M
- text: "m"
- }
- Key {
- key: Qt.Key_Comma
- text: ","
- }
- Key {
- key: Qt.Key_Period
- text: "."
- }
- Key {
- key: Qt.Key_Minus
- text: "-"
- }
- ShiftKey {
- weight: 244
- }
- }
- KeyboardRow {
- keyWeight: 154
- SymbolModeKey {
- weight: 217
- }
- ChangeLanguageKey {
- weight: 154
- }
- HandwritingModeKey {
- weight: 154
- }
- SpaceKey {
- weight: 864
- }
- Key {
- key: Qt.Key_Apostrophe
- text: "'"
- }
- Key {
- key: 0xE000
- text: ":-)"
- alternativeKeys: [ ";-)", ":-)", ":-D", ":-(", "<3" ]
- }
- HideKeyboardKey {
- weight: 204
- }
- }
-}
diff --git a/src/virtualkeyboard/content/layouts/sq_AL/numbers.fallback b/src/virtualkeyboard/content/layouts/sq_AL/numbers.fallback
deleted file mode 100644
index e69de29b..00000000
--- a/src/virtualkeyboard/content/layouts/sq_AL/numbers.fallback
+++ /dev/null
diff --git a/src/virtualkeyboard/content/layouts/sq_AL/symbols.fallback b/src/virtualkeyboard/content/layouts/sq_AL/symbols.fallback
deleted file mode 100644
index e69de29b..00000000
--- a/src/virtualkeyboard/content/layouts/sq_AL/symbols.fallback
+++ /dev/null
diff --git a/src/virtualkeyboard/content/layouts/sr_SP/dialpad.fallback b/src/virtualkeyboard/content/layouts/sr_SP/dialpad.fallback
deleted file mode 100644
index e69de29b..00000000
--- a/src/virtualkeyboard/content/layouts/sr_SP/dialpad.fallback
+++ /dev/null
diff --git a/src/virtualkeyboard/content/layouts/sr_SP/digits.fallback b/src/virtualkeyboard/content/layouts/sr_SP/digits.fallback
deleted file mode 100644
index e69de29b..00000000
--- a/src/virtualkeyboard/content/layouts/sr_SP/digits.fallback
+++ /dev/null
diff --git a/src/virtualkeyboard/content/layouts/sr_SP/handwriting.qml b/src/virtualkeyboard/content/layouts/sr_SP/handwriting.qml
deleted file mode 100644
index 6f9cbb98..00000000
--- a/src/virtualkeyboard/content/layouts/sr_SP/handwriting.qml
+++ /dev/null
@@ -1,99 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2017 The Qt Company Ltd.
-** Contact: https://www.qt.io/licensing/
-**
-** This file is part of the Qt Virtual Keyboard module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:GPL$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see https://www.qt.io/terms-conditions. For further
-** information use the contact form at https://www.qt.io/contact-us.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 3 or (at your option) any later version
-** approved by the KDE Free Qt Foundation. The licenses are as published by
-** the Free Software Foundation and appearing in the file LICENSE.GPL3
-** included in the packaging of this file. Please review the following
-** information to ensure the GNU General Public License requirements will
-** be met: https://www.gnu.org/licenses/gpl-3.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-import QtQuick 2.0
-import QtQuick.Layouts 1.0
-import QtQuick.VirtualKeyboard 2.3
-
-KeyboardLayout {
- function createInputMethod() {
- return Qt.createQmlObject('import QtQuick 2.0; import QtQuick.VirtualKeyboard.Plugins 2.3; HandwritingInputMethod {}', parent)
- }
- sharedLayouts: ['symbols']
-
- KeyboardRow {
- Layout.preferredHeight: 3
- KeyboardColumn {
- Layout.preferredWidth: bottomRow.width - hideKeyboardKey.width
- KeyboardRow {
- TraceInputKey {
- objectName: "hwrInputArea"
- patternRecognitionMode: InputEngine.PatternRecognitionMode.Handwriting
- horizontalRulers:
- InputContext.inputEngine.inputMode !== InputEngine.InputMode.Cyrillic ? [] :
- [Math.round(boundingBox.height / 4), Math.round(boundingBox.height / 4) * 2, Math.round(boundingBox.height / 4) * 3]
- }
- }
- }
- KeyboardColumn {
- Layout.preferredWidth: hideKeyboardKey.width
- KeyboardRow {
- BackspaceKey {}
- }
- KeyboardRow {
- EnterKey {}
- }
- KeyboardRow {
- ShiftKey { }
- }
- }
- }
- KeyboardRow {
- id: bottomRow
- Layout.preferredHeight: 1
- keyWeight: 154
- InputModeKey {
- weight: 217
- }
- ChangeLanguageKey {
- weight: 154
- customLayoutsOnly: true
- }
- HandwritingModeKey {
- weight: 154
- }
- SpaceKey {
- weight: 864
- }
- Key {
- key: Qt.Key_Minus
- text: "-"
- alternativeKeys: "<>()#%&*/\\\"'=+-_"
- }
- Key {
- key: Qt.Key_Period
- text: "."
- alternativeKeys: ":;,.?!"
- }
- HideKeyboardKey {
- id: hideKeyboardKey
- weight: 204
- }
- }
-}
diff --git a/src/virtualkeyboard/content/layouts/sr_SP/main.qml b/src/virtualkeyboard/content/layouts/sr_SP/main.qml
deleted file mode 100644
index acd381ae..00000000
--- a/src/virtualkeyboard/content/layouts/sr_SP/main.qml
+++ /dev/null
@@ -1,363 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2017 The Qt Company Ltd.
-** Contact: https://www.qt.io/licensing/
-**
-** This file is part of the Qt Virtual Keyboard module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:GPL$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see https://www.qt.io/terms-conditions. For further
-** information use the contact form at https://www.qt.io/contact-us.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 3 or (at your option) any later version
-** approved by the KDE Free Qt Foundation. The licenses are as published by
-** the Free Software Foundation and appearing in the file LICENSE.GPL3
-** included in the packaging of this file. Please review the following
-** information to ensure the GNU General Public License requirements will
-** be met: https://www.gnu.org/licenses/gpl-3.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-import QtQuick 2.0
-import QtQuick.VirtualKeyboard 2.3
-
-KeyboardLayoutLoader {
- sharedLayouts: ['symbols']
- sourceComponent: InputContext.inputEngine.inputMode === InputEngine.InputMode.Cyrillic ? cyrillicLayout : latinLayout
- Component {
- id: cyrillicLayout
- KeyboardLayout {
- keyWeight: 160
- KeyboardRow {
- Key {
- text: "љ"
- }
- Key {
- text: "њ"
- }
- Key {
- text: "е"
- }
- Key {
- text: "р"
- }
- Key {
- text: "т"
- }
- Key {
- text: "з"
- }
- Key {
- text: "у"
- }
- Key {
- text: "и"
- }
- Key {
- text: "о"
- }
- Key {
- text: "п"
- }
- Key {
- text: "ш"
- }
- BackspaceKey {}
- }
- KeyboardRow {
- FillerKey {
- weight: 56
- }
- Key {
- text: "а"
- }
- Key {
- text: "с"
- }
- Key {
- text: "д"
- }
- Key {
- text: "ф"
- }
- Key {
- text: "г"
- }
- Key {
- text: "х"
- }
- Key {
- text: "ј"
- }
- Key {
- text: "к"
- }
- Key {
- text: "л"
- }
- Key {
- text: "ч"
- }
- Key {
- text: "ћ"
- }
- EnterKey {
- weight: 283
- }
- }
- KeyboardRow {
- keyWeight: 156
- InputModeKey {
- inputModes: [InputEngine.InputMode.Cyrillic, InputEngine.InputMode.Latin]
- }
- Key {
- text: "ѕ"
- }
- Key {
- text: "џ"
- }
- Key {
- text: "ц"
- }
- Key {
- text: "в"
- }
- Key {
- text: "б"
- }
- Key {
- text: "н"
- }
- Key {
- text: "м"
- }
- Key {
- text: "ђ"
- }
- Key {
- text: "ж"
- }
- Key {
- key: Qt.Key_Comma
- text: ","
- }
- Key {
- key: Qt.Key_Period
- text: "."
- alternativeKeys: "!.;?"
- }
- ShiftKey {
- weight: 204
- }
- }
- KeyboardRow {
- keyWeight: 154
- SymbolModeKey {
- weight: 217
- }
- ChangeLanguageKey {
- weight: 154
- }
- HandwritingModeKey {
- weight: 154
- }
- SpaceKey {
- weight: 864
- }
- Key {
- key: Qt.Key_Apostrophe
- text: "'"
- }
- Key {
- key: 0xE000
- text: ":-)"
- alternativeKeys: [ ";-)", ":-)", ":-D", ":-(", "<3" ]
- }
- HideKeyboardKey {
- weight: 204
- }
- }
- }
- }
- Component {
- id: latinLayout
- KeyboardLayout {
- keyWeight: 160
- KeyboardRow {
- Key {
- key: Qt.Key_Q
- text: "q"
- }
- Key {
- key: Qt.Key_W
- text: "w"
- }
- Key {
- key: Qt.Key_E
- text: "e"
- }
- Key {
- key: Qt.Key_R
- text: "r"
- }
- Key {
- key: Qt.Key_T
- text: "t"
- }
- Key {
- key: Qt.Key_Z
- text: "z"
- alternativeKeys: "zž"
- }
- Key {
- key: Qt.Key_U
- text: "u"
- }
- Key {
- key: Qt.Key_I
- text: "i"
- }
- Key {
- key: Qt.Key_O
- text: "o"
- alternativeKeys: "oö"
- }
- Key {
- key: Qt.Key_P
- text: "p"
- }
- BackspaceKey {}
- }
- KeyboardRow {
- FillerKey {
- weight: 56
- }
- Key {
- key: Qt.Key_A
- text: "a"
- alternativeKeys: "aåä"
- }
- Key {
- key: Qt.Key_S
- text: "s"
- alternativeKeys: "sš"
- }
- Key {
- key: Qt.Key_D
- text: "d"
- alternativeKeys: "dđ"
- }
- Key {
- key: Qt.Key_F
- text: "f"
- }
- Key {
- key: Qt.Key_G
- text: "g"
- }
- Key {
- key: Qt.Key_H
- text: "h"
- }
- Key {
- key: Qt.Key_J
- text: "j"
- }
- Key {
- key: Qt.Key_K
- text: "k"
- }
- Key {
- key: Qt.Key_L
- text: "l"
- }
- EnterKey {
- weight: 283
- }
- }
- KeyboardRow {
- keyWeight: 156
- InputModeKey {
- inputModes: [InputEngine.InputMode.Cyrillic, InputEngine.InputMode.Latin]
- }
- Key {
- key: Qt.Key_Y
- text: "y"
- }
- Key {
- key: Qt.Key_X
- text: "x"
- }
- Key {
- key: Qt.Key_C
- text: "c"
- alternativeKeys: "ćcč"
- }
- Key {
- key: Qt.Key_V
- text: "v"
- }
- Key {
- key: Qt.Key_B
- text: "b"
- }
- Key {
- key: Qt.Key_N
- text: "n"
- }
- Key {
- key: Qt.Key_M
- text: "m"
- }
- Key {
- key: Qt.Key_Comma
- text: ","
- }
- Key {
- key: Qt.Key_Period
- text: "."
- }
- ShiftKey {
- weight: 204
- }
- }
- KeyboardRow {
- keyWeight: 154
- SymbolModeKey {
- weight: 217
- }
- ChangeLanguageKey {
- weight: 154
- }
- HandwritingModeKey {
- weight: 154
- }
- SpaceKey {
- weight: 864
- }
- Key {
- key: Qt.Key_Minus
- text: "-"
- alternativeKeys: "-\"'"
- }
- Key {
- key: 0xE000
- text: ":-)"
- alternativeKeys: [ ";-)", ":-)", ":-D", ":-(", "<3" ]
- }
- HideKeyboardKey {
- weight: 204
- }
- }
- }
- }
-}
diff --git a/src/virtualkeyboard/content/layouts/sr_SP/numbers.fallback b/src/virtualkeyboard/content/layouts/sr_SP/numbers.fallback
deleted file mode 100644
index e69de29b..00000000
--- a/src/virtualkeyboard/content/layouts/sr_SP/numbers.fallback
+++ /dev/null
diff --git a/src/virtualkeyboard/content/layouts/sr_SP/symbols.fallback b/src/virtualkeyboard/content/layouts/sr_SP/symbols.fallback
deleted file mode 100644
index e69de29b..00000000
--- a/src/virtualkeyboard/content/layouts/sr_SP/symbols.fallback
+++ /dev/null
diff --git a/src/virtualkeyboard/content/layouts/sv_SE/dialpad.fallback b/src/virtualkeyboard/content/layouts/sv_SE/dialpad.fallback
deleted file mode 100644
index e69de29b..00000000
--- a/src/virtualkeyboard/content/layouts/sv_SE/dialpad.fallback
+++ /dev/null
diff --git a/src/virtualkeyboard/content/layouts/sv_SE/digits.fallback b/src/virtualkeyboard/content/layouts/sv_SE/digits.fallback
deleted file mode 100644
index e69de29b..00000000
--- a/src/virtualkeyboard/content/layouts/sv_SE/digits.fallback
+++ /dev/null
diff --git a/src/virtualkeyboard/content/layouts/sv_SE/handwriting.fallback b/src/virtualkeyboard/content/layouts/sv_SE/handwriting.fallback
deleted file mode 100644
index e69de29b..00000000
--- a/src/virtualkeyboard/content/layouts/sv_SE/handwriting.fallback
+++ /dev/null
diff --git a/src/virtualkeyboard/content/layouts/sv_SE/main.qml b/src/virtualkeyboard/content/layouts/sv_SE/main.qml
deleted file mode 100644
index a3a8a86f..00000000
--- a/src/virtualkeyboard/content/layouts/sv_SE/main.qml
+++ /dev/null
@@ -1,209 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2016 The Qt Company Ltd.
-** Contact: https://www.qt.io/licensing/
-**
-** This file is part of the Qt Virtual Keyboard module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:GPL$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see https://www.qt.io/terms-conditions. For further
-** information use the contact form at https://www.qt.io/contact-us.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 3 or (at your option) any later version
-** approved by the KDE Free Qt Foundation. The licenses are as published by
-** the Free Software Foundation and appearing in the file LICENSE.GPL3
-** included in the packaging of this file. Please review the following
-** information to ensure the GNU General Public License requirements will
-** be met: https://www.gnu.org/licenses/gpl-3.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-import QtQuick 2.0
-import QtQuick.VirtualKeyboard 2.1
-
-KeyboardLayout {
- inputMode: InputEngine.InputMode.Latin
- keyWeight: 160
- KeyboardRow {
- Key {
- key: Qt.Key_Q
- text: "q"
- }
- Key {
- key: Qt.Key_W
- text: "w"
- }
- Key {
- key: Qt.Key_E
- text: "e"
- }
- Key {
- key: Qt.Key_R
- text: "r"
- }
- Key {
- key: Qt.Key_T
- text: "t"
- }
- Key {
- key: Qt.Key_Y
- text: "y"
- }
- Key {
- key: Qt.Key_U
- text: "u"
- }
- Key {
- key: Qt.Key_I
- text: "i"
- }
- Key {
- key: Qt.Key_O
- text: "o"
- }
- Key {
- key: Qt.Key_P
- text: "p"
- }
- Key {
- key: Qt.Key_Aring
- text: "å"
- }
- BackspaceKey {}
- }
- KeyboardRow {
- FillerKey {
- weight: 66
- }
- Key {
- key: Qt.Key_A
- text: "a"
- }
- Key {
- key: Qt.Key_S
- text: "s"
- }
- Key {
- key: Qt.Key_D
- text: "d"
- }
- Key {
- key: Qt.Key_F
- text: "f"
- }
- Key {
- key: Qt.Key_G
- text: "g"
- }
- Key {
- key: Qt.Key_H
- text: "h"
- }
- Key {
- key: Qt.Key_J
- text: "j"
- }
- Key {
- key: Qt.Key_K
- text: "k"
- }
- Key {
- key: Qt.Key_L
- text: "l"
- }
- Key {
- key: Qt.Key_Odiaeresis
- text: "ö"
- }
- Key {
- key: Qt.Key_Adiaeresis
- text: "ä"
- }
- EnterKey {
- weight: 283
- }
- }
- KeyboardRow {
- keyWeight: 156
- ShiftKey { }
- Key {
- key: Qt.Key_Z
- text: "z"
- }
- Key {
- key: Qt.Key_X
- text: "x"
- }
- Key {
- key: Qt.Key_C
- text: "c"
- }
- Key {
- key: Qt.Key_V
- text: "v"
- }
- Key {
- key: Qt.Key_B
- text: "b"
- }
- Key {
- key: Qt.Key_N
- text: "n"
- }
- Key {
- key: Qt.Key_M
- text: "m"
- }
- Key {
- key: Qt.Key_Comma
- text: ","
- }
- Key {
- key: Qt.Key_Period
- text: "."
- }
- Key {
- key: Qt.Key_Minus
- text: "-"
- }
- ShiftKey {
- weight: 264
- }
- }
- KeyboardRow {
- keyWeight: 154
- SymbolModeKey {
- weight: 217
- }
- ChangeLanguageKey {
- weight: 154
- }
- HandwritingModeKey {
- weight: 154
- }
- SpaceKey {
- weight: 864
- }
- Key {
- key: Qt.Key_Apostrophe
- text: "'"
- }
- Key {
- key: 0xE000
- text: ":-)"
- alternativeKeys: [ ";-)", ":-)", ":-D", ":-(", "<3" ]
- }
- HideKeyboardKey {
- weight: 204
- }
- }
-}
diff --git a/src/virtualkeyboard/content/layouts/sv_SE/numbers.fallback b/src/virtualkeyboard/content/layouts/sv_SE/numbers.fallback
deleted file mode 100644
index e69de29b..00000000
--- a/src/virtualkeyboard/content/layouts/sv_SE/numbers.fallback
+++ /dev/null
diff --git a/src/virtualkeyboard/content/layouts/sv_SE/symbols.fallback b/src/virtualkeyboard/content/layouts/sv_SE/symbols.fallback
deleted file mode 100644
index e69de29b..00000000
--- a/src/virtualkeyboard/content/layouts/sv_SE/symbols.fallback
+++ /dev/null
diff --git a/src/virtualkeyboard/content/layouts/th_TH/dialpad.fallback b/src/virtualkeyboard/content/layouts/th_TH/dialpad.fallback
deleted file mode 100644
index e69de29b..00000000
--- a/src/virtualkeyboard/content/layouts/th_TH/dialpad.fallback
+++ /dev/null
diff --git a/src/virtualkeyboard/content/layouts/th_TH/digits.fallback b/src/virtualkeyboard/content/layouts/th_TH/digits.fallback
deleted file mode 100644
index e69de29b..00000000
--- a/src/virtualkeyboard/content/layouts/th_TH/digits.fallback
+++ /dev/null
diff --git a/src/virtualkeyboard/content/layouts/th_TH/handwriting.fallback b/src/virtualkeyboard/content/layouts/th_TH/handwriting.fallback
deleted file mode 100644
index e69de29b..00000000
--- a/src/virtualkeyboard/content/layouts/th_TH/handwriting.fallback
+++ /dev/null
diff --git a/src/virtualkeyboard/content/layouts/th_TH/handwriting.qml b/src/virtualkeyboard/content/layouts/th_TH/handwriting.qml
deleted file mode 100644
index 428f29fa..00000000
--- a/src/virtualkeyboard/content/layouts/th_TH/handwriting.qml
+++ /dev/null
@@ -1,99 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2018 The Qt Company Ltd.
-** Contact: https://www.qt.io/licensing/
-**
-** This file is part of the Qt Virtual Keyboard module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:GPL$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see https://www.qt.io/terms-conditions. For further
-** information use the contact form at https://www.qt.io/contact-us.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 3 or (at your option) any later version
-** approved by the KDE Free Qt Foundation. The licenses are as published by
-** the Free Software Foundation and appearing in the file LICENSE.GPL3
-** included in the packaging of this file. Please review the following
-** information to ensure the GNU General Public License requirements will
-** be met: https://www.gnu.org/licenses/gpl-3.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-import QtQuick 2.0
-import QtQuick.Layouts 1.0
-import QtQuick.VirtualKeyboard 2.3
-
-KeyboardLayout {
- function createInputMethod() {
- return Qt.createQmlObject('import QtQuick 2.0; import QtQuick.VirtualKeyboard.Plugins 2.3; HandwritingInputMethod {}', parent)
- }
- sharedLayouts: ['symbols']
-
- KeyboardRow {
- Layout.preferredHeight: 3
- KeyboardColumn {
- Layout.preferredWidth: bottomRow.width - hideKeyboardKey.width
- KeyboardRow {
- TraceInputKey {
- objectName: "hwrInputArea"
- patternRecognitionMode: InputEngine.PatternRecognitionMode.Handwriting
- horizontalRulers:
- InputContext.inputEngine.inputMode !== InputEngine.InputMode.Thai ? [] :
- [Math.round(boundingBox.height / 4), Math.round(boundingBox.height / 4) * 3]
- }
- }
- }
- KeyboardColumn {
- Layout.preferredWidth: hideKeyboardKey.width
- KeyboardRow {
- BackspaceKey {}
- }
- KeyboardRow {
- EnterKey {}
- }
- KeyboardRow {
- ShiftKey { }
- }
- }
- }
- KeyboardRow {
- id: bottomRow
- Layout.preferredHeight: 1
- keyWeight: 154
- InputModeKey {
- weight: 217
- }
- ChangeLanguageKey {
- weight: 154
- customLayoutsOnly: true
- }
- HandwritingModeKey {
- weight: 154
- }
- SpaceKey {
- weight: 864
- }
- Key {
- key: Qt.Key_QuoteDbl
- text: "\""
- alternativeKeys: "<>()#%&*/\\\"'=+-_"
- }
- Key {
- key: Qt.Key_Period
- text: "."
- alternativeKeys: ":;,.?!"
- }
- HideKeyboardKey {
- id: hideKeyboardKey
- weight: 204
- }
- }
-}
diff --git a/src/virtualkeyboard/content/layouts/th_TH/main.qml b/src/virtualkeyboard/content/layouts/th_TH/main.qml
deleted file mode 100644
index 60a8ebc0..00000000
--- a/src/virtualkeyboard/content/layouts/th_TH/main.qml
+++ /dev/null
@@ -1,489 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2018 The Qt Company Ltd.
-** Contact: https://www.qt.io/licensing/
-**
-** This file is part of the Qt Virtual Keyboard module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:GPL$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see https://www.qt.io/terms-conditions. For further
-** information use the contact form at https://www.qt.io/contact-us.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 3 or (at your option) any later version
-** approved by the KDE Free Qt Foundation. The licenses are as published by
-** the Free Software Foundation and appearing in the file LICENSE.GPL3
-** included in the packaging of this file. Please review the following
-** information to ensure the GNU General Public License requirements will
-** be met: https://www.gnu.org/licenses/gpl-3.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-import QtQuick 2.0
-import QtQuick.Layouts 1.0
-import QtQuick.VirtualKeyboard 2.3
-
-KeyboardLayoutLoader {
- inputMode: InputEngine.InputMode.Latin
- function createInputMethod() {
- return Qt.createQmlObject('import QtQuick 2.0; import QtQuick.VirtualKeyboard.Plugins 2.3; ThaiInputMethod {}', parent, "thaiInputMethod")
- }
- sharedLayouts: [ "symbols" ]
- sourceComponent: InputContext.shiftActive ? page2 : page1
- Component {
- id: page1
- KeyboardLayout {
- keyWeight: 160
- KeyboardRow {
- Layout.preferredHeight: 3
- smallTextVisible: true
- KeyboardColumn {
- Layout.preferredWidth: bottomRow.width - hideKeyboardKey.width
- KeyboardRow {
- Key {
- text: "ๆ"
- alternativeKeys: "ๆ๑"
- }
- Key {
- text: "ๅ"
- alternativeKeys: "ๅ๒"
- }
- Key {
- text: "ภ"
- alternativeKeys: "ภ๓"
- }
- Key {
- text: "ถ"
- alternativeKeys: "ถ๔"
- }
- Key {
- text: "\u0E38"
- displayText: " \u0E38"
- alternativeKeys: [ "\u0E38", " \u0E39" ]
- }
- Key {
- text: "\u0E36"
- displayText: " \u0E36"
- }
- Key {
- text: "ค"
- alternativeKeys: "ค๕"
- }
- Key {
- text: "ต"
- alternativeKeys: "ต๖"
- }
- Key {
- text: "จ"
- alternativeKeys: "จ๗"
- }
- Key {
- text: "ข"
- alternativeKeys: "ข๘"
- }
- Key {
- text: "ช"
- alternativeKeys: "ช๙"
- }
- }
- KeyboardRow {
- Key {
- text: "ไ"
- alternativeKeys: "ไ฿"
- }
- Key {
- text: " ำ"
- alternativeKeys: " ำฎ"
- }
- Key {
- text: "พ"
- alternativeKeys: "พฑ"
- }
- Key {
- text: "ะ"
- alternativeKeys: "ะธ"
- }
- Key {
- text: "\u0E31"
- displayText: " \u0E31"
- alternativeKeys: "\u0E31。"
- }
- Key {
- text: "\u0E35"
- displayText: " \u0E35"
- alternativeKeys: [ "\u0E35", " \u0E4A" ]
- }
- Key {
- text: "ร"
- alternativeKeys: "รณ"
- }
- Key {
- text: "น"
- alternativeKeys: "นฯ"
- }
- Key {
- text: "ย"
- alternativeKeys: "ยญ"
- }
- Key {
- text: "บ"
- alternativeKeys: "บฐ"
- }
- Key {
- text: "ล"
- }
- }
- KeyboardRow {
- Key {
- text: "ฟ"
- alternativeKeys: "ฟฤ"
- }
- Key {
- text: "ห"
- alternativeKeys: "หฆ"
- }
- Key {
- text: "ก"
- alternativeKeys: "กฏ"
- }
- Key {
- text: "ด"
- alternativeKeys: "ดโ"
- }
- Key {
- text: "เ"
- alternativeKeys: "เฌ"
- }
- Key {
- text: "\u0E49"
- displayText: " \u0E49"
- alternativeKeys: [ "\u0E49", " \u0E47" ]
- }
- Key {
- text: "\u0E48"
- displayText: " \u0E48"
- alternativeKeys: [ "\u0E48", " \u0E4B" ]
- }
- Key {
- text: "า"
- alternativeKeys: "าษ"
- }
- Key {
- text: "ส"
- alternativeKeys: "สศ"
- }
- Key {
- text: "ว"
- alternativeKeys: "วซ"
- }
- Key {
- text: "ง"
- }
- }
- KeyboardRow {
- FillerKey {
- weight: 80
- }
- Key {
- text: "ผ"
- }
- Key {
- text: "ป"
- }
- Key {
- text: "แ"
- alternativeKeys: "แฉ"
- }
- Key {
- text: "อ"
- alternativeKeys: "อฮ"
- }
- Key {
- text: "\u0E34"
- displayText: " \u0E34"
- alternativeKeys: [ "\u0E34", " \u0E3A" ]
- }
- Key {
- text: "\u0E37"
- displayText: " \u0E37"
- alternativeKeys: [ "\u0E37", " \u0E4C" ]
- }
- Key {
- text: "ท"
- }
- Key {
- text: "ม"
- alternativeKeys: "มฒ"
- }
- Key {
- text: "ใ"
- alternativeKeys: "ใฬ"
- }
- Key {
- text: "ฝ"
- alternativeKeys: "ฝฦ"
- }
- FillerKey {
- weight: 80
- }
- }
- }
- KeyboardColumn {
- Layout.preferredWidth: hideKeyboardKey.width
- KeyboardRow {
- BackspaceKey {}
- }
- KeyboardRow {
- EnterKey {}
- }
- KeyboardRow {
- ShiftKey { }
- }
- }
- }
- KeyboardRow {
- id: bottomRow
- keyWeight: 154
- SymbolModeKey {
- weight: 217
- }
- ChangeLanguageKey {
- weight: 154
- }
- HandwritingModeKey {
- weight: 154
- }
- SpaceKey {
- weight: 864
- }
- Key {
- key: Qt.Key_Period
- text: "."
- alternativeKeys: "!?.,"
- smallTextVisible: true
- }
- Key {
- key: 0xE000
- text: ":-)"
- alternativeKeys: [ ";-)", ":-)", ":-D", ":-(", "<3" ]
- }
- HideKeyboardKey {
- id: hideKeyboardKey
- weight: 204
- }
- }
- }
- }
- Component {
- id: page2
- KeyboardLayout {
- keyWeight: 160
- KeyboardRow {
- Layout.preferredHeight: 3
- smallTextVisible: true
- KeyboardColumn {
- Layout.preferredWidth: bottomRow.width - hideKeyboardKey.width
- KeyboardRow {
- Key {
- text: "๑"
- }
- Key {
- text: "๒"
- }
- Key {
- text: "๓"
- }
- Key {
- text: "๔"
- }
- Key {
- text: "\u0E39"
- displayText: " \u0E39"
- }
- Key {
- enabled: false
- }
- Key {
- text: "๕"
- }
- Key {
- text: "๖"
- }
- Key {
- text: "๗"
- }
- Key {
- text: "๘"
- }
- Key {
- text: "๙"
- }
- }
- KeyboardRow {
- Key {
- text: "฿"
- }
- Key {
- text: "ฎ"
- }
- Key {
- text: "ฑ"
- }
- Key {
- text: "ธ"
- }
- Key {
- text: "。"
- }
- Key {
- text: "\u0E4A"
- displayText: " \u0E4A"
- }
- Key {
- text: "ณ"
- }
- Key {
- text: "ฯ"
- }
- Key {
- text: "ญ"
- }
- Key {
- text: "ฐ"
- }
- Key {
- enabled: false
- }
- }
- KeyboardRow {
- Key {
- text: "ฤ"
- }
- Key {
- text: "ฆ"
- }
- Key {
- text: "ฏ"
- }
- Key {
- text: "โ"
- }
- Key {
- text: "ฌ"
- }
- Key {
- text: "\u0E47"
- displayText: " \u0E47"
- }
- Key {
- text: "\u0E4B"
- displayText: " \u0E4B"
- }
- Key {
- text: "ษ"
- }
- Key {
- text: "ศ"
- }
- Key {
- text: "ซ"
- }
- Key {
- enabled: false
- }
- }
- KeyboardRow {
- FillerKey {
- weight: 80
- }
- Key {
- enabled: false
- }
- Key {
- enabled: false
- }
- Key {
- text: "ฉ"
- }
- Key {
- text: "ฮ"
- }
- Key {
- text: "\u0E3A"
- displayText: " \u0E3A"
- }
- Key {
- text: "\u0E4C"
- displayText: " \u0E4C"
- }
- Key {
- enabled: false
- }
- Key {
- text: "ฒ"
- }
- Key {
- text: "ฬ"
- }
- Key {
- text: "ฦ"
- }
- FillerKey {
- weight: 80
- }
- }
- }
- KeyboardColumn {
- Layout.preferredWidth: hideKeyboardKey.width
- KeyboardRow {
- BackspaceKey {}
- }
- KeyboardRow {
- EnterKey {}
- }
- KeyboardRow {
- ShiftKey { }
- }
- }
- }
- KeyboardRow {
- id: bottomRow
- keyWeight: 154
- SymbolModeKey {
- weight: 217
- }
- ChangeLanguageKey {
- weight: 154
- }
- HandwritingModeKey {
- weight: 154
- }
- SpaceKey {
- weight: 864
- }
- Key {
- key: Qt.Key_Comma
- text: ","
- alternativeKeys: "!?,"
- }
- Key {
- key: 0xE000
- text: ":-)"
- alternativeKeys: [ ";-)", ":-)", ":-D", ":-(", "<3" ]
- }
- HideKeyboardKey {
- id: hideKeyboardKey
- weight: 204
- }
- }
- }
- }
-}
diff --git a/src/virtualkeyboard/content/layouts/th_TH/numbers.fallback b/src/virtualkeyboard/content/layouts/th_TH/numbers.fallback
deleted file mode 100644
index e69de29b..00000000
--- a/src/virtualkeyboard/content/layouts/th_TH/numbers.fallback
+++ /dev/null
diff --git a/src/virtualkeyboard/content/layouts/th_TH/symbols.qml b/src/virtualkeyboard/content/layouts/th_TH/symbols.qml
deleted file mode 100644
index 53fdcd6e..00000000
--- a/src/virtualkeyboard/content/layouts/th_TH/symbols.qml
+++ /dev/null
@@ -1,376 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2016 The Qt Company Ltd.
-** Contact: https://www.qt.io/licensing/
-**
-** This file is part of the Qt Virtual Keyboard module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:GPL$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see https://www.qt.io/terms-conditions. For further
-** information use the contact form at https://www.qt.io/contact-us.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 3 or (at your option) any later version
-** approved by the KDE Free Qt Foundation. The licenses are as published by
-** the Free Software Foundation and appearing in the file LICENSE.GPL3
-** included in the packaging of this file. Please review the following
-** information to ensure the GNU General Public License requirements will
-** be met: https://www.gnu.org/licenses/gpl-3.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-import QtQuick 2.0
-import QtQuick.Layouts 1.0
-import QtQuick.VirtualKeyboard 2.1
-
-KeyboardLayoutLoader {
- property bool secondPage
- onVisibleChanged: if (!visible) secondPage = false
- sourceComponent: secondPage ? page2 : page1
- Component {
- id: page1
- KeyboardLayout {
- keyWeight: 160
- KeyboardRow {
- Key {
- key: Qt.Key_1
- text: "1"
- }
- Key {
- key: Qt.Key_2
- text: "2"
- }
- Key {
- key: Qt.Key_3
- text: "3"
- }
- Key {
- key: Qt.Key_4
- text: "4"
- }
- Key {
- key: Qt.Key_5
- text: "5"
- }
- Key {
- key: Qt.Key_6
- text: "6"
- }
- Key {
- key: Qt.Key_7
- text: "7"
- }
- Key {
- key: Qt.Key_8
- text: "8"
- }
- Key {
- key: Qt.Key_9
- text: "9"
- }
- Key {
- key: Qt.Key_0
- text: "0"
- }
- BackspaceKey {}
- }
- KeyboardRow {
- FillerKey {
- weight: 56
- }
- Key {
- key: Qt.Key_At
- text: "@"
- }
- Key {
- key: Qt.Key_NumberSign
- text: "#"
- }
- Key {
- key: Qt.Key_Percent
- text: "%"
- }
- Key {
- key: Qt.Key_Ampersand
- text: "&"
- }
- Key {
- key: Qt.Key_Asterisk
- text: "*"
- }
- Key {
- key: Qt.Key_Minus
- text: "-"
- }
- Key {
- key: Qt.Key_Plus
- text: "+"
- }
- Key {
- key: Qt.Key_ParenLeft
- text: "("
- }
- Key {
- key: Qt.Key_ParenRight
- text: ")"
- }
- EnterKey {
- weight: 283
- }
- }
- KeyboardRow {
- keyWeight: 156
- Key {
- displayText: "1/2"
- functionKey: true
- onClicked: secondPage = !secondPage
- }
- Key {
- key: Qt.Key_Exclam
- text: "!"
- }
- Key {
- key: Qt.Key_QuoteDbl
- text: '"'
- }
- Key {
- key: Qt.Key_Less
- text: "<"
- }
- Key {
- key: Qt.Key_Greater
- text: ">"
- }
- Key {
- key: Qt.Key_Apostrophe
- text: "'"
- }
- Key {
- key: Qt.Key_Colon
- text: ":"
- }
- Key {
- key: Qt.Key_Semicolon
- text: ";"
- }
- Key {
- key: Qt.Key_Slash
- text: "/"
- }
- Key {
- key: Qt.Key_Question
- text: "?"
- }
- Key {
- weight: 204
- displayText: "1/2"
- functionKey: true
- onClicked: secondPage = !secondPage
- }
- }
- KeyboardRow {
- keyWeight: 154
- SymbolModeKey {
- weight: 217
- displayText: "กขค"
- }
- ChangeLanguageKey {
- weight: 154
- }
- SpaceKey {
- weight: 864
- }
- Key {
- key: Qt.Key_Period
- text: "."
- alternativeKeys: "!?.,"
- }
- Key {
- key: 0xE000
- text: ":-)"
- alternativeKeys: [ ";-)", ":-)", ":-D", ":-(", "<3" ]
- }
- HideKeyboardKey {
- weight: 204
- }
- }
- }
- }
- Component {
- id: page2
- KeyboardLayout {
- keyWeight: 160
- KeyboardRow {
- Key {
- key: Qt.Key_AsciiTilde
- text: "~"
- }
- Key {
- key: Qt.Key_Agrave
- text: "`"
- }
- Key {
- key: Qt.Key_Bar
- text: "|"
- }
- Key {
- key: 0x7B
- text: "·"
- }
- Key {
- key: 0x221A
- text: "√"
- }
- Key {
- key: Qt.Key_division
- text: "÷"
- }
- Key {
- key: Qt.Key_multiply
- text: "×"
- }
- Key {
- key: Qt.Key_onehalf
- text: "½"
- alternativeKeys: "¼⅓½¾⅞"
- }
- Key {
- key: Qt.Key_BraceLeft
- text: "{"
- }
- Key {
- key: Qt.Key_BraceRight
- text: "}"
- }
- BackspaceKey {}
- }
- KeyboardRow {
- FillerKey {
- weight: 56
- }
- Key {
- key: Qt.Key_Dollar
- text: "$"
- }
- Key {
- key: 0x20AC
- text: "€"
- }
- Key {
- key: 0xC2
- text: "£"
- }
- Key {
- key: 0xA2
- text: "¢"
- }
- Key {
- key: 0xA5
- text: "¥"
- }
- Key {
- key: Qt.Key_Equal
- text: "="
- }
- Key {
- key: Qt.Key_section
- text: "§"
- }
- Key {
- key: Qt.Key_BracketLeft
- text: "["
- }
- Key {
- key: Qt.Key_BracketRight
- text: "]"
- }
- EnterKey {
- weight: 283
- }
- }
- KeyboardRow {
- keyWeight: 156
- Key {
- displayText: "2/2"
- functionKey: true
- onClicked: secondPage = !secondPage
- }
- Key {
- key: Qt.Key_Underscore
- text: "_"
- }
- Key {
- key: 0x2122
- text: '™'
- }
- Key {
- key: 0x00AE
- text: '®'
- }
- Key {
- key: Qt.Key_guillemotleft
- text: '«'
- }
- Key {
- key: Qt.Key_guillemotright
- text: '»'
- }
- Key {
- key: 0x201C
- text: '“'
- }
- Key {
- key: 0x201D
- text: '”'
- }
- Key {
- key: Qt.Key_Backslash
- text: "\\"
- }
- Key {
- key: Qt.Key_AsciiCircum
- text: "^"
- }
- Key {
- weight: 204
- displayText: "2/2"
- functionKey: true
- onClicked: secondPage = !secondPage
- }
- }
- KeyboardRow {
- keyWeight: 154
- SymbolModeKey {
- weight: 217
- displayText: "กขค"
- }
- ChangeLanguageKey {
- weight: 154
- }
- SpaceKey {
- weight: 864
- }
- Key {
- key: 0x2026
- text: "\u2026"
- }
- Key {
- key: 0xE000
- text: ":-)"
- alternativeKeys: [ ";-)", ":-)", ":-D", ":-(", "<3" ]
- }
- HideKeyboardKey {
- weight: 204
- }
- }
- }
- }
-}
diff --git a/src/virtualkeyboard/content/layouts/tr_TR/dialpad.fallback b/src/virtualkeyboard/content/layouts/tr_TR/dialpad.fallback
deleted file mode 100644
index e69de29b..00000000
--- a/src/virtualkeyboard/content/layouts/tr_TR/dialpad.fallback
+++ /dev/null
diff --git a/src/virtualkeyboard/content/layouts/tr_TR/digits.fallback b/src/virtualkeyboard/content/layouts/tr_TR/digits.fallback
deleted file mode 100644
index e69de29b..00000000
--- a/src/virtualkeyboard/content/layouts/tr_TR/digits.fallback
+++ /dev/null
diff --git a/src/virtualkeyboard/content/layouts/tr_TR/handwriting.fallback b/src/virtualkeyboard/content/layouts/tr_TR/handwriting.fallback
deleted file mode 100644
index e69de29b..00000000
--- a/src/virtualkeyboard/content/layouts/tr_TR/handwriting.fallback
+++ /dev/null
diff --git a/src/virtualkeyboard/content/layouts/tr_TR/main.qml b/src/virtualkeyboard/content/layouts/tr_TR/main.qml
deleted file mode 100644
index 31bf0dc1..00000000
--- a/src/virtualkeyboard/content/layouts/tr_TR/main.qml
+++ /dev/null
@@ -1,221 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2018 The Qt Company Ltd.
-** Contact: https://www.qt.io/licensing/
-**
-** This file is part of the Qt Virtual Keyboard module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:GPL$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see https://www.qt.io/terms-conditions. For further
-** information use the contact form at https://www.qt.io/contact-us.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 3 or (at your option) any later version
-** approved by the KDE Free Qt Foundation. The licenses are as published by
-** the Free Software Foundation and appearing in the file LICENSE.GPL3
-** included in the packaging of this file. Please review the following
-** information to ensure the GNU General Public License requirements will
-** be met: https://www.gnu.org/licenses/gpl-3.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-import QtQuick 2.0
-import QtQuick.VirtualKeyboard 2.3
-
-KeyboardLayout {
- inputMode: InputEngine.InputMode.Latin
- keyWeight: 160
- KeyboardRow {
- Key {
- key: Qt.Key_Q
- text: "q"
- }
- Key {
- key: Qt.Key_W
- text: "w"
- }
- Key {
- key: Qt.Key_E
- text: "e"
- }
- Key {
- key: Qt.Key_R
- text: "r"
- }
- Key {
- key: Qt.Key_T
- text: "t"
- }
- Key {
- key: Qt.Key_Y
- text: "y"
- }
- Key {
- key: Qt.Key_U
- text: "u"
- }
- Key {
- text: "\u0131"
- }
- Key {
- key: Qt.Key_O
- text: "o"
- }
- Key {
- key: Qt.Key_P
- text: "p"
- }
- Key {
- text: "\u011F"
- }
- Key {
- key: Qt.Key_Udiaeresis
- text: "ü"
- }
- BackspaceKey {}
- }
- KeyboardRow {
- FillerKey {
- weight: 66
- }
- Key {
- key: Qt.Key_A
- text: "a"
- alternativeKeys: "aåä"
- }
- Key {
- key: Qt.Key_S
- text: "s"
- alternativeKeys: "sš"
- }
- Key {
- key: Qt.Key_D
- text: "d"
- }
- Key {
- key: Qt.Key_F
- text: "f"
- }
- Key {
- key: Qt.Key_G
- text: "g"
- }
- Key {
- key: Qt.Key_H
- text: "h"
- }
- Key {
- key: Qt.Key_J
- text: "j"
- }
- Key {
- key: Qt.Key_K
- text: "k"
- }
- Key {
- key: Qt.Key_L
- text: "l"
- }
- Key {
- text: "ş"
- }
- Key {
- key: Qt.Key_I
- text: "i"
- }
- EnterKey {
- weight: 283
- }
- }
- KeyboardRow {
- keyWeight: 156
- ShiftKey { }
- Key {
- key: Qt.Key_Z
- text: "z"
- alternativeKeys: "zž"
- }
- Key {
- key: Qt.Key_X
- text: "x"
- alternativeKeys: "$¢x₺€¥£"
- smallTextVisible: true
- }
- Key {
- key: Qt.Key_C
- text: "c"
- }
- Key {
- key: Qt.Key_V
- text: "v"
- }
- Key {
- key: Qt.Key_B
- text: "b"
- }
- Key {
- key: Qt.Key_N
- text: "n"
- }
- Key {
- key: Qt.Key_M
- text: "m"
- }
- Key {
- key: Qt.Key_Odiaeresis
- text: "ö"
- }
- Key {
- key: Qt.Key_Ccedilla
- text: "ç"
- }
- Key {
- key: Qt.Key_Comma
- text: ","
- }
- Key {
- key: Qt.Key_Period
- text: "."
- alternativeKeys: "!?."
- smallTextVisible: true
- }
- ShiftKey {
- weight: 264
- }
- }
- KeyboardRow {
- keyWeight: 154
- SymbolModeKey {
- weight: 217
- }
- ChangeLanguageKey {
- weight: 154
- }
- HandwritingModeKey {
- weight: 154
- }
- SpaceKey {
- weight: 864
- }
- Key {
- key: Qt.Key_Apostrophe
- text: "'"
- }
- Key {
- key: 0xE000
- text: ":-)"
- alternativeKeys: [ ";-)", ":-)", ":-D", ":-(", "<3" ]
- }
- HideKeyboardKey {
- weight: 204
- }
- }
-}
diff --git a/src/virtualkeyboard/content/layouts/tr_TR/numbers.fallback b/src/virtualkeyboard/content/layouts/tr_TR/numbers.fallback
deleted file mode 100644
index e69de29b..00000000
--- a/src/virtualkeyboard/content/layouts/tr_TR/numbers.fallback
+++ /dev/null
diff --git a/src/virtualkeyboard/content/layouts/tr_TR/symbols.fallback b/src/virtualkeyboard/content/layouts/tr_TR/symbols.fallback
deleted file mode 100644
index e69de29b..00000000
--- a/src/virtualkeyboard/content/layouts/tr_TR/symbols.fallback
+++ /dev/null
diff --git a/src/virtualkeyboard/content/layouts/uk_UA/dialpad.fallback b/src/virtualkeyboard/content/layouts/uk_UA/dialpad.fallback
deleted file mode 100644
index e69de29b..00000000
--- a/src/virtualkeyboard/content/layouts/uk_UA/dialpad.fallback
+++ /dev/null
diff --git a/src/virtualkeyboard/content/layouts/uk_UA/digits.fallback b/src/virtualkeyboard/content/layouts/uk_UA/digits.fallback
deleted file mode 100644
index e69de29b..00000000
--- a/src/virtualkeyboard/content/layouts/uk_UA/digits.fallback
+++ /dev/null
diff --git a/src/virtualkeyboard/content/layouts/uk_UA/handwriting.fallback b/src/virtualkeyboard/content/layouts/uk_UA/handwriting.fallback
deleted file mode 100644
index e69de29b..00000000
--- a/src/virtualkeyboard/content/layouts/uk_UA/handwriting.fallback
+++ /dev/null
diff --git a/src/virtualkeyboard/content/layouts/uk_UA/main.qml b/src/virtualkeyboard/content/layouts/uk_UA/main.qml
deleted file mode 100644
index c2731452..00000000
--- a/src/virtualkeyboard/content/layouts/uk_UA/main.qml
+++ /dev/null
@@ -1,373 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2018 The Qt Company Ltd.
-** Contact: https://www.qt.io/licensing/
-**
-** This file is part of the Qt Virtual Keyboard module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:GPL$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see https://www.qt.io/terms-conditions. For further
-** information use the contact form at https://www.qt.io/contact-us.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 3 or (at your option) any later version
-** approved by the KDE Free Qt Foundation. The licenses are as published by
-** the Free Software Foundation and appearing in the file LICENSE.GPL3
-** included in the packaging of this file. Please review the following
-** information to ensure the GNU General Public License requirements will
-** be met: https://www.gnu.org/licenses/gpl-3.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-import QtQuick 2.0
-import QtQuick.VirtualKeyboard 2.3
-
-KeyboardLayoutLoader {
- sharedLayouts: ['symbols']
- sourceComponent: InputContext.inputEngine.inputMode === InputEngine.InputMode.Cyrillic ? cyrillicLayout : latinLayout
- Component {
- id: cyrillicLayout
- KeyboardLayout {
- keyWeight: 160
- KeyboardRow {
- Key {
- text: "й"
- }
- Key {
- text: "ц"
- }
- Key {
- text: "у"
- }
- Key {
- text: "к"
- }
- Key {
- text: "е"
- }
- Key {
- text: "н"
- }
- Key {
- text: "г"
- }
- Key {
- text: "ш"
- }
- Key {
- text: "щ"
- }
- Key {
- text: "з"
- }
- Key {
- text: "х"
- }
- Key {
- text: "ї"
- }
- BackspaceKey {
- weight: 180
- }
- }
- KeyboardRow {
- FillerKey {
- weight: 40
- }
- Key {
- text: "ф"
- }
- Key {
- text: "і"
- }
- Key {
- text: "в"
- }
- Key {
- text: "а"
- }
- Key {
- text: "п"
- }
- Key {
- text: "р"
- }
- Key {
- text: "о"
- }
- Key {
- text: "л"
- }
- Key {
- text: "д"
- }
- Key {
- text: "ж"
- }
- Key {
- text: "є"
- }
- EnterKey {
- weight: 280
- }
- }
- KeyboardRow {
- InputModeKey {
- inputModes: [InputEngine.InputMode.Cyrillic, InputEngine.InputMode.Latin]
- }
- Key {
- text: "ґ"
- }
- Key {
- text: "я"
- alternativeKeys: "$¢я₴€¥£"
- smallTextVisible: true
- }
- Key {
- text: "ч"
- }
- Key {
- text: "с"
- }
- Key {
- text: "м"
- }
- Key {
- text: "и"
- }
- Key {
- text: "т"
- }
- Key {
- text: "ь"
- }
- Key {
- text: "б"
- }
- Key {
- text: "ю"
- }
- Key {
- key: Qt.Key_Apostrophe
- text: "'"
- }
- ShiftKey {
- weight: 272
- }
- }
- KeyboardRow {
- keyWeight: 154
- SymbolModeKey {
- weight: 217
- }
- ChangeLanguageKey {
- weight: 154
- }
- HandwritingModeKey {
- weight: 154
- }
- SpaceKey {
- weight: 864
- }
- Key {
- key: Qt.Key_Period
- text: "."
- alternativeKeys: ";:!?.,"
- smallTextVisible: true
- }
- Key {
- key: 0xE000
- text: ":-)"
- alternativeKeys: [ ";-)", ":-)", ":-D", ":-(", "<3" ]
- }
- HideKeyboardKey {
- weight: 204
- }
- }
- }
- }
- Component {
- id: latinLayout
- KeyboardLayout {
- keyWeight: 160
- KeyboardRow {
- Key {
- key: Qt.Key_Q
- text: "q"
- }
- Key {
- key: Qt.Key_W
- text: "w"
- }
- Key {
- key: Qt.Key_E
- text: "e"
- }
- Key {
- key: Qt.Key_R
- text: "r"
- }
- Key {
- key: Qt.Key_T
- text: "t"
- }
- Key {
- key: Qt.Key_Y
- text: "y"
- }
- Key {
- key: Qt.Key_U
- text: "u"
- }
- Key {
- key: Qt.Key_I
- text: "i"
- }
- Key {
- key: Qt.Key_O
- text: "o"
- alternativeKeys: "oö"
- }
- Key {
- key: Qt.Key_P
- text: "p"
- }
- BackspaceKey {}
- }
- KeyboardRow {
- FillerKey {
- weight: 56
- }
- Key {
- key: Qt.Key_A
- text: "a"
- alternativeKeys: "aåä"
- }
- Key {
- key: Qt.Key_S
- text: "s"
- alternativeKeys: "sš"
- }
- Key {
- key: Qt.Key_D
- text: "d"
- alternativeKeys: "dđ"
- }
- Key {
- key: Qt.Key_F
- text: "f"
- }
- Key {
- key: Qt.Key_G
- text: "g"
- }
- Key {
- key: Qt.Key_H
- text: "h"
- }
- Key {
- key: Qt.Key_J
- text: "j"
- }
- Key {
- key: Qt.Key_K
- text: "k"
- }
- Key {
- key: Qt.Key_L
- text: "l"
- }
- EnterKey {
- weight: 283
- }
- }
- KeyboardRow {
- keyWeight: 156
- InputModeKey {
- inputModes: [InputEngine.InputMode.Cyrillic, InputEngine.InputMode.Latin]
- }
- Key {
- key: Qt.Key_Z
- text: "z"
- alternativeKeys: "zž"
- }
- Key {
- key: Qt.Key_X
- text: "x"
- alternativeKeys: "$¢x₴€¥£"
- smallTextVisible: true
- }
- Key {
- key: Qt.Key_C
- text: "c"
- alternativeKeys: "ćcč"
- }
- Key {
- key: Qt.Key_V
- text: "v"
- }
- Key {
- key: Qt.Key_B
- text: "b"
- }
- Key {
- key: Qt.Key_N
- text: "n"
- }
- Key {
- key: Qt.Key_M
- text: "m"
- }
- Key {
- key: Qt.Key_Minus
- text: "-"
- alternativeKeys: "-\"'"
- }
- Key {
- key: Qt.Key_Apostrophe
- text: "'"
- }
- ShiftKey {
- weight: 204
- }
- }
- KeyboardRow {
- keyWeight: 154
- SymbolModeKey {
- weight: 217
- }
- ChangeLanguageKey {
- weight: 154
- }
- HandwritingModeKey {
- weight: 154
- }
- SpaceKey {
- weight: 864
- }
- Key {
- key: Qt.Key_Period
- text: "."
- alternativeKeys: ";:!?.,"
- smallTextVisible: true
- }
- Key {
- key: 0xE000
- text: ":-)"
- alternativeKeys: [ ";-)", ":-)", ":-D", ":-(", "<3" ]
- }
- HideKeyboardKey {
- weight: 204
- }
- }
- }
- }
-}
diff --git a/src/virtualkeyboard/content/layouts/uk_UA/numbers.fallback b/src/virtualkeyboard/content/layouts/uk_UA/numbers.fallback
deleted file mode 100644
index e69de29b..00000000
--- a/src/virtualkeyboard/content/layouts/uk_UA/numbers.fallback
+++ /dev/null
diff --git a/src/virtualkeyboard/content/layouts/uk_UA/symbols.fallback b/src/virtualkeyboard/content/layouts/uk_UA/symbols.fallback
deleted file mode 100644
index e69de29b..00000000
--- a/src/virtualkeyboard/content/layouts/uk_UA/symbols.fallback
+++ /dev/null
diff --git a/src/virtualkeyboard/content/layouts/vi_VN/dialpad.fallback b/src/virtualkeyboard/content/layouts/vi_VN/dialpad.fallback
deleted file mode 100644
index e69de29b..00000000
--- a/src/virtualkeyboard/content/layouts/vi_VN/dialpad.fallback
+++ /dev/null
diff --git a/src/virtualkeyboard/content/layouts/vi_VN/digits.fallback b/src/virtualkeyboard/content/layouts/vi_VN/digits.fallback
deleted file mode 100644
index e69de29b..00000000
--- a/src/virtualkeyboard/content/layouts/vi_VN/digits.fallback
+++ /dev/null
diff --git a/src/virtualkeyboard/content/layouts/vi_VN/handwriting.fallback b/src/virtualkeyboard/content/layouts/vi_VN/handwriting.fallback
deleted file mode 100644
index e69de29b..00000000
--- a/src/virtualkeyboard/content/layouts/vi_VN/handwriting.fallback
+++ /dev/null
diff --git a/src/virtualkeyboard/content/layouts/vi_VN/main.qml b/src/virtualkeyboard/content/layouts/vi_VN/main.qml
deleted file mode 100644
index 9a5c7e37..00000000
--- a/src/virtualkeyboard/content/layouts/vi_VN/main.qml
+++ /dev/null
@@ -1,205 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2018 The Qt Company Ltd.
-** Contact: https://www.qt.io/licensing/
-**
-** This file is part of the Qt Virtual Keyboard module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:GPL$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see https://www.qt.io/terms-conditions. For further
-** information use the contact form at https://www.qt.io/contact-us.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 3 or (at your option) any later version
-** approved by the KDE Free Qt Foundation. The licenses are as published by
-** the Free Software Foundation and appearing in the file LICENSE.GPL3
-** included in the packaging of this file. Please review the following
-** information to ensure the GNU General Public License requirements will
-** be met: https://www.gnu.org/licenses/gpl-3.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-import QtQuick 2.0
-import QtQuick.VirtualKeyboard 2.3
-
-KeyboardLayout {
- inputMode: InputEngine.InputMode.Latin
- sharedLayouts: ["numbers", "digits"]
- keyWeight: 160
- KeyboardRow {
- Key {
- key: Qt.Key_Q
- text: "q"
- }
- Key {
- key: Qt.Key_W
- text: "w"
- }
- Key {
- key: Qt.Key_E
- text: "e"
- alternativeKeys: "eèéẻẽẹêềếểễệ"
- }
- Key {
- key: Qt.Key_R
- text: "r"
- }
- Key {
- key: Qt.Key_T
- text: "t"
- }
- Key {
- key: Qt.Key_Y
- text: "y"
- alternativeKeys: "yỳýỷỹỵ"
- }
- Key {
- key: Qt.Key_U
- text: "u"
- alternativeKeys: "ưừứửữựuùúủũụ"
- }
- Key {
- key: Qt.Key_I
- text: "i"
- alternativeKeys: "iìíỉĩị"
- }
- Key {
- key: Qt.Key_O
- text: "o"
- alternativeKeys: "ơờớởỡợòóỏõọoôồốổỗộ"
- }
- Key {
- key: Qt.Key_P
- text: "p"
- }
- BackspaceKey {}
- }
- KeyboardRow {
- FillerKey {
- weight: 56
- }
- Key {
- key: Qt.Key_A
- text: "a"
- alternativeKeys: "aàáảãạăằắẳẵặâầấẩẫậ"
- }
- Key {
- key: Qt.Key_S
- text: "s"
- alternativeKeys: "sš"
- }
- Key {
- key: Qt.Key_D
- text: "d"
- alternativeKeys: "dđ"
- }
- Key {
- key: Qt.Key_F
- text: "f"
- }
- Key {
- key: Qt.Key_G
- text: "g"
- }
- Key {
- key: Qt.Key_H
- text: "h"
- }
- Key {
- key: Qt.Key_J
- text: "j"
- }
- Key {
- key: Qt.Key_K
- text: "k"
- }
- Key {
- key: Qt.Key_L
- text: "l"
- }
- EnterKey {
- weight: 283
- }
- }
- KeyboardRow {
- keyWeight: 156
- ShiftKey {}
- Key {
- key: Qt.Key_Z
- text: "z"
- alternativeKeys: "zž"
- }
- Key {
- key: Qt.Key_X
- text: "x"
- }
- Key {
- key: Qt.Key_C
- text: "c"
- }
- Key {
- key: Qt.Key_V
- text: "v"
- }
- Key {
- key: Qt.Key_B
- text: "b"
- }
- Key {
- key: Qt.Key_N
- text: "n"
- alternativeKeys: "nñ"
- }
- Key {
- key: Qt.Key_M
- text: "m"
- }
- Key {
- key: Qt.Key_Comma
- text: ","
- }
- Key {
- key: Qt.Key_Period
- text: "."
- alternativeKeys: "!,.?"
- }
- ShiftKey {
- weight: 204
- }
- }
- KeyboardRow {
- keyWeight: 154
- SymbolModeKey {
- weight: 217
- }
- ChangeLanguageKey {
- weight: 154
- }
- HandwritingModeKey {
- weight: 154
- }
- SpaceKey {
- weight: 864
- }
- Key {
- key: Qt.Key_Apostrophe
- text: "'"
- }
- Key {
- key: 0xE000
- text: ":-)"
- alternativeKeys: [ ";-)", ":-)", ":-D", ":-(", "<3" ]
- }
- HideKeyboardKey {
- weight: 204
- }
- }
-}
diff --git a/src/virtualkeyboard/content/layouts/vi_VN/numbers.fallback b/src/virtualkeyboard/content/layouts/vi_VN/numbers.fallback
deleted file mode 100644
index e69de29b..00000000
--- a/src/virtualkeyboard/content/layouts/vi_VN/numbers.fallback
+++ /dev/null
diff --git a/src/virtualkeyboard/content/layouts/vi_VN/symbols.qml b/src/virtualkeyboard/content/layouts/vi_VN/symbols.qml
deleted file mode 100644
index da5281b3..00000000
--- a/src/virtualkeyboard/content/layouts/vi_VN/symbols.qml
+++ /dev/null
@@ -1,376 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2018 The Qt Company Ltd.
-** Contact: https://www.qt.io/licensing/
-**
-** This file is part of the Qt Virtual Keyboard module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:GPL$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see https://www.qt.io/terms-conditions. For further
-** information use the contact form at https://www.qt.io/contact-us.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 3 or (at your option) any later version
-** approved by the KDE Free Qt Foundation. The licenses are as published by
-** the Free Software Foundation and appearing in the file LICENSE.GPL3
-** included in the packaging of this file. Please review the following
-** information to ensure the GNU General Public License requirements will
-** be met: https://www.gnu.org/licenses/gpl-3.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-import QtQuick 2.0
-import QtQuick.Layouts 1.0
-import QtQuick.VirtualKeyboard 2.3
-
-KeyboardLayoutLoader {
- property bool secondPage
- onVisibleChanged: if (!visible) secondPage = false
- sourceComponent: secondPage ? page2 : page1
- Component {
- id: page1
- KeyboardLayout {
- keyWeight: 160
- KeyboardRow {
- Key {
- key: Qt.Key_1
- text: "1"
- }
- Key {
- key: Qt.Key_2
- text: "2"
- }
- Key {
- key: Qt.Key_3
- text: "3"
- }
- Key {
- key: Qt.Key_4
- text: "4"
- }
- Key {
- key: Qt.Key_5
- text: "5"
- }
- Key {
- key: Qt.Key_6
- text: "6"
- }
- Key {
- key: Qt.Key_7
- text: "7"
- }
- Key {
- key: Qt.Key_8
- text: "8"
- }
- Key {
- key: Qt.Key_9
- text: "9"
- }
- Key {
- key: Qt.Key_0
- text: "0"
- }
- BackspaceKey {}
- }
- KeyboardRow {
- FillerKey {
- weight: 56
- }
- Key {
- key: Qt.Key_At
- text: "@"
- }
- Key {
- key: Qt.Key_NumberSign
- text: "#"
- }
- Key {
- key: Qt.Key_Percent
- text: "%"
- }
- Key {
- key: Qt.Key_Ampersand
- text: "&"
- }
- Key {
- key: Qt.Key_Asterisk
- text: "*"
- }
- Key {
- key: Qt.Key_Minus
- text: "-"
- }
- Key {
- key: Qt.Key_Plus
- text: "+"
- }
- Key {
- key: Qt.Key_ParenLeft
- text: "("
- }
- Key {
- key: Qt.Key_ParenRight
- text: ")"
- }
- EnterKey {
- weight: 283
- }
- }
- KeyboardRow {
- keyWeight: 156
- Key {
- displayText: "1/2"
- functionKey: true
- onClicked: secondPage = !secondPage
- }
- Key {
- key: Qt.Key_Exclam
- text: "!"
- }
- Key {
- key: Qt.Key_QuoteDbl
- text: '"'
- }
- Key {
- key: Qt.Key_Less
- text: "<"
- }
- Key {
- key: Qt.Key_Greater
- text: ">"
- }
- Key {
- key: Qt.Key_Apostrophe
- text: "'"
- }
- Key {
- key: Qt.Key_Colon
- text: ":"
- }
- Key {
- key: Qt.Key_Semicolon
- text: ";"
- }
- Key {
- key: Qt.Key_Slash
- text: "/"
- }
- Key {
- key: Qt.Key_Question
- text: "?"
- }
- Key {
- weight: 204
- displayText: "1/2"
- functionKey: true
- onClicked: secondPage = !secondPage
- }
- }
- KeyboardRow {
- keyWeight: 154
- SymbolModeKey {
- weight: 217
- displayText: "ABC"
- }
- ChangeLanguageKey {
- weight: 154
- }
- SpaceKey {
- weight: 864
- }
- Key {
- key: Qt.Key_Period
- text: "."
- alternativeKeys: ".,"
- }
- Key {
- key: 0xE000
- text: ":-)"
- alternativeKeys: [ ";-)", ":-)", ":-D", ":-(", "<3" ]
- }
- HideKeyboardKey {
- weight: 204
- }
- }
- }
- }
- Component {
- id: page2
- KeyboardLayout {
- keyWeight: 160
- KeyboardRow {
- Key {
- key: Qt.Key_AsciiTilde
- text: "~"
- }
- Key {
- key: Qt.Key_Agrave
- text: "`"
- }
- Key {
- key: Qt.Key_Bar
- text: "|"
- }
- Key {
- key: 0x7B
- text: "·"
- }
- Key {
- key: 0x221A
- text: "√"
- }
- Key {
- key: Qt.Key_division
- text: "÷"
- }
- Key {
- key: Qt.Key_multiply
- text: "×"
- }
- Key {
- key: Qt.Key_onehalf
- text: "½"
- alternativeKeys: "¼⅓½¾⅞"
- }
- Key {
- key: Qt.Key_BraceLeft
- text: "{"
- }
- Key {
- key: Qt.Key_BraceRight
- text: "}"
- }
- BackspaceKey {}
- }
- KeyboardRow {
- FillerKey {
- weight: 56
- }
- Key {
- key: Qt.Key_Dollar
- text: "$"
- }
- Key {
- key: 0x20AC
- text: "€"
- }
- Key {
- key: 0xC2
- text: "£"
- }
- Key {
- key: 0xA2
- text: "¢"
- }
- Key {
- key: 0x20AB
- text: "₫"
- }
- Key {
- key: Qt.Key_Equal
- text: "="
- }
- Key {
- key: Qt.Key_section
- text: "§"
- }
- Key {
- key: Qt.Key_BracketLeft
- text: "["
- }
- Key {
- key: Qt.Key_BracketRight
- text: "]"
- }
- EnterKey {
- weight: 283
- }
- }
- KeyboardRow {
- keyWeight: 156
- Key {
- displayText: "2/2"
- functionKey: true
- onClicked: secondPage = !secondPage
- }
- Key {
- key: Qt.Key_Underscore
- text: "_"
- }
- Key {
- key: 0x2122
- text: '™'
- }
- Key {
- key: 0x00AE
- text: '®'
- }
- Key {
- key: Qt.Key_guillemotleft
- text: '«'
- }
- Key {
- key: Qt.Key_guillemotright
- text: '»'
- }
- Key {
- key: 0x201C
- text: '“'
- }
- Key {
- key: 0x201D
- text: '”'
- }
- Key {
- key: Qt.Key_Backslash
- text: "\\"
- }
- Key {
- key: Qt.Key_AsciiCircum
- text: "^"
- }
- Key {
- weight: 204
- displayText: "2/2"
- functionKey: true
- onClicked: secondPage = !secondPage
- }
- }
- KeyboardRow {
- keyWeight: 154
- SymbolModeKey {
- weight: 217
- displayText: "ABC"
- }
- ChangeLanguageKey {
- weight: 154
- }
- SpaceKey {
- weight: 864
- }
- Key {
- key: 0x2026
- text: "\u2026"
- }
- Key {
- key: 0xE000
- text: ":-)"
- alternativeKeys: [ ";-)", ":-)", ":-D", ":-(", "<3" ]
- }
- HideKeyboardKey {
- weight: 204
- }
- }
- }
- }
-}
diff --git a/src/virtualkeyboard/content/layouts/zh_CN/dialpad.fallback b/src/virtualkeyboard/content/layouts/zh_CN/dialpad.fallback
deleted file mode 100644
index e69de29b..00000000
--- a/src/virtualkeyboard/content/layouts/zh_CN/dialpad.fallback
+++ /dev/null
diff --git a/src/virtualkeyboard/content/layouts/zh_CN/digits.fallback b/src/virtualkeyboard/content/layouts/zh_CN/digits.fallback
deleted file mode 100644
index e69de29b..00000000
--- a/src/virtualkeyboard/content/layouts/zh_CN/digits.fallback
+++ /dev/null
diff --git a/src/virtualkeyboard/content/layouts/zh_CN/handwriting.qml b/src/virtualkeyboard/content/layouts/zh_CN/handwriting.qml
deleted file mode 100644
index fee04320..00000000
--- a/src/virtualkeyboard/content/layouts/zh_CN/handwriting.qml
+++ /dev/null
@@ -1,116 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2017 The Qt Company Ltd.
-** Contact: https://www.qt.io/licensing/
-**
-** This file is part of the Qt Virtual Keyboard module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:GPL$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see https://www.qt.io/terms-conditions. For further
-** information use the contact form at https://www.qt.io/contact-us.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 3 or (at your option) any later version
-** approved by the KDE Free Qt Foundation. The licenses are as published by
-** the Free Software Foundation and appearing in the file LICENSE.GPL3
-** included in the packaging of this file. Please review the following
-** information to ensure the GNU General Public License requirements will
-** be met: https://www.gnu.org/licenses/gpl-3.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-import QtQuick 2.0
-import QtQuick.Layouts 1.0
-import QtQuick.VirtualKeyboard 2.3
-
-KeyboardLayout {
- function createInputMethod() {
- return Qt.createQmlObject('import QtQuick 2.0; import QtQuick.VirtualKeyboard.Plugins 2.3; HandwritingInputMethod {}', parent)
- }
- sharedLayouts: ['symbols']
- inputMode: preferredInputMode()
-
- Connections {
- target: InputContext
- onInputMethodHintsChanged: {
- var newInputMode = preferredInputMode()
- if (InputContext.inputEngine.inputModes.indexOf(newInputMode) !== -1)
- InputContext.inputEngine.inputMode = newInputMode
- }
- }
-
- function preferredInputMode() {
- return InputContext.inputMethodHints &
- (Qt.ImhPreferLatin | Qt.ImhEmailCharactersOnly | Qt.ImhUrlCharactersOnly |
- Qt.ImhLatinOnly) ? InputEngine.InputMode.Latin : InputEngine.InputMode.ChineseHandwriting
- }
-
- KeyboardRow {
- Layout.preferredHeight: 3
- KeyboardColumn {
- Layout.preferredWidth: bottomRow.width - hideKeyboardKey.width
- KeyboardRow {
- TraceInputKey {
- objectName: "hwrInputArea"
- patternRecognitionMode: InputEngine.PatternRecognitionMode.Handwriting
- horizontalRulers:
- InputContext.inputEngine.inputMode !== InputEngine.InputMode.ChineseHandwriting ? [] :
- [Math.round(boundingBox.height / 4), Math.round(boundingBox.height / 4) * 2, Math.round(boundingBox.height / 4) * 3]
-
- }
- }
- }
- KeyboardColumn {
- Layout.preferredWidth: hideKeyboardKey.width
- KeyboardRow {
- BackspaceKey {}
- }
- KeyboardRow {
- EnterKey {}
- }
- KeyboardRow {
- ShiftKey { }
- }
- }
- }
- KeyboardRow {
- id: bottomRow
- Layout.preferredHeight: 1
- keyWeight: 154
- InputModeKey {
- weight: 217
- }
- ChangeLanguageKey {
- weight: 154
- customLayoutsOnly: true
- }
- HandwritingModeKey {
- weight: 154
- }
- SpaceKey {
- weight: 864
- }
- Key {
- key: Qt.Key_Apostrophe
- text: "‘"
- alternativeKeys: "《》〈〉•…々〆‘’“”「」¥"
- }
- Key {
- key: Qt.Key_Period
- text: "."
- alternativeKeys: ":;,.、。?!"
- }
- HideKeyboardKey {
- id: hideKeyboardKey
- weight: 204
- }
- }
-}
diff --git a/src/virtualkeyboard/content/layouts/zh_CN/main.qml b/src/virtualkeyboard/content/layouts/zh_CN/main.qml
deleted file mode 100644
index 349a14c8..00000000
--- a/src/virtualkeyboard/content/layouts/zh_CN/main.qml
+++ /dev/null
@@ -1,204 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2016 The Qt Company Ltd.
-** Contact: https://www.qt.io/licensing/
-**
-** This file is part of the Qt Virtual Keyboard module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:GPL$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see https://www.qt.io/terms-conditions. For further
-** information use the contact form at https://www.qt.io/contact-us.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 3 or (at your option) any later version
-** approved by the KDE Free Qt Foundation. The licenses are as published by
-** the Free Software Foundation and appearing in the file LICENSE.GPL3
-** included in the packaging of this file. Please review the following
-** information to ensure the GNU General Public License requirements will
-** be met: https://www.gnu.org/licenses/gpl-3.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-import QtQuick 2.0
-import QtQuick.Layouts 1.0
-import QtQuick.VirtualKeyboard 2.1
-
-KeyboardLayout {
- function createInputMethod() {
- return Qt.createQmlObject('import QtQuick 2.0; import QtQuick.VirtualKeyboard.Plugins 2.1; PinyinInputMethod {}', parent, "pinyinInputMethod")
- }
- sharedLayouts: ['symbols']
- keyWeight: 160
- KeyboardRow {
- Key {
- key: Qt.Key_Q
- text: "q"
- }
- Key {
- key: Qt.Key_W
- text: "w"
- }
- Key {
- key: Qt.Key_E
- text: "e"
- }
- Key {
- key: Qt.Key_R
- text: "r"
- }
- Key {
- key: Qt.Key_T
- text: "t"
- }
- Key {
- key: Qt.Key_Y
- text: "y"
- }
- Key {
- key: Qt.Key_U
- text: "u"
- }
- Key {
- key: Qt.Key_I
- text: "i"
- }
- Key {
- key: Qt.Key_O
- text: "o"
- }
- Key {
- key: Qt.Key_P
- text: "p"
- }
- BackspaceKey {}
- }
- KeyboardRow {
- FillerKey {
- weight: 56
- }
- Key {
- key: Qt.Key_A
- text: "a"
- }
- Key {
- key: Qt.Key_S
- text: "s"
- }
- Key {
- key: Qt.Key_D
- text: "d"
- }
- Key {
- key: Qt.Key_F
- text: "f"
- }
- Key {
- key: Qt.Key_G
- text: "g"
- }
- Key {
- key: Qt.Key_H
- text: "h"
- }
- Key {
- key: Qt.Key_J
- text: "j"
- }
- Key {
- key: Qt.Key_K
- text: "k"
- }
- Key {
- key: Qt.Key_L
- text: "l"
- }
- EnterKey {
- weight: 283
- }
- }
- KeyboardRow {
- keyWeight: 156
- Key {
- enabled: InputContext.preeditText.length > 0
- key: Qt.Key_Apostrophe
- text: "'"
- }
- Key {
- key: Qt.Key_Z
- text: "z"
- }
- Key {
- key: Qt.Key_X
- text: "x"
- }
- Key {
- key: Qt.Key_C
- text: "c"
- }
- Key {
- key: Qt.Key_V
- text: "v"
- }
- Key {
- key: Qt.Key_B
- text: "b"
- }
- Key {
- key: Qt.Key_N
- text: "n"
- }
- Key {
- key: Qt.Key_M
- text: "m"
- }
- Key {
- key: Qt.Key_Comma
- text: "\uFF0C"
- alternativeKeys: "\uFF0C\uFF1B\u3001"
- }
- Key {
- key: Qt.Key_Period
- text: "\uFF0E"
- alternativeKeys: "\uFF0E\uFF1A\u3002"
- }
- ShiftKey {
- weight: 204
- }
- }
- KeyboardRow {
- keyWeight: 154
- SymbolModeKey {
- weight: 217
- }
- ChangeLanguageKey {
- weight: 154
- }
- HandwritingModeKey {
- weight: 154
- }
- SpaceKey {
- weight: 864
- }
- Key {
- key: Qt.Key_Question
- text: "?"
- alternativeKeys: "?!"
- }
- Key {
- key: 0xE000
- text: ":-)"
- alternativeKeys: [ ";-)", ":-)", ":-D", ":-(", "<3" ]
- }
- HideKeyboardKey {
- weight: 204
- }
- }
-}
diff --git a/src/virtualkeyboard/content/layouts/zh_CN/numbers.fallback b/src/virtualkeyboard/content/layouts/zh_CN/numbers.fallback
deleted file mode 100644
index e69de29b..00000000
--- a/src/virtualkeyboard/content/layouts/zh_CN/numbers.fallback
+++ /dev/null
diff --git a/src/virtualkeyboard/content/layouts/zh_CN/symbols.qml b/src/virtualkeyboard/content/layouts/zh_CN/symbols.qml
deleted file mode 100644
index 4ad06baf..00000000
--- a/src/virtualkeyboard/content/layouts/zh_CN/symbols.qml
+++ /dev/null
@@ -1,294 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2016 The Qt Company Ltd.
-** Contact: https://www.qt.io/licensing/
-**
-** This file is part of the Qt Virtual Keyboard module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:GPL$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see https://www.qt.io/terms-conditions. For further
-** information use the contact form at https://www.qt.io/contact-us.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 3 or (at your option) any later version
-** approved by the KDE Free Qt Foundation. The licenses are as published by
-** the Free Software Foundation and appearing in the file LICENSE.GPL3
-** included in the packaging of this file. Please review the following
-** information to ensure the GNU General Public License requirements will
-** be met: https://www.gnu.org/licenses/gpl-3.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-import QtQuick 2.0
-import QtQuick.Layouts 1.0
-import QtQuick.VirtualKeyboard 2.1
-
-KeyboardLayoutLoader {
- function createInputMethod() {
- return Qt.createQmlObject('import QtQuick 2.0; import QtQuick.VirtualKeyboard.Plugins 2.1; PinyinInputMethod {}', parent, "pinyinInputMethod")
- }
- sharedLayouts: ['main']
- property int page
- readonly property int numPages: 3
- property var keysPage1: [
- "1234567890",
- "@#$%^&*()",
- "“”、=:;!?~"
- ]
- property var keysPage2: [
- "-+/\\|[]{}·",
- "<>,.:;!?~",
- "/\"'_§¥€£¢"
- ]
- property var keysPage3: [
- "()〔〕〈〉《》【】",
- "→←↑↓↔■□●○",
- "\『』「」★☆◆◇"
- ]
- sourceComponent: {
- switch (page) {
- case 2: return page3
- case 1: return page2
- default: return page1
- }
- }
- Component {
- id: page1
- KeyboardLayout {
- keyWeight: 160
- KeyboardRow {
- Repeater {
- model: keysPage1[0].length
- Key {
- key: keysPage1[0][index].charCodeAt(0)
- text: keysPage1[0][index]
- }
- }
- BackspaceKey {}
- }
- KeyboardRow {
- FillerKey {
- weight: 56
- }
- Repeater {
- model: keysPage1[1].length
- Key {
- key: keysPage1[1][index].charCodeAt(0)
- text: keysPage1[1][index]
- }
- }
- EnterKey {
- weight: 283
- }
- }
- KeyboardRow {
- keyWeight: 156
- Key {
- displayText: (page + 1) + "/" + numPages
- functionKey: true
- onClicked: page = (page + 1) % numPages
- }
- Repeater {
- model: keysPage1[2].length
- Key {
- key: keysPage1[2][index].charCodeAt(0)
- text: keysPage1[2][index]
- }
- }
- Key {
- weight: 204
- displayText: (page + 1) + "/" + numPages
- functionKey: true
- onClicked: page = (page + 1) % numPages
- }
- }
- KeyboardRow {
- keyWeight: 154
- SymbolModeKey {
- weight: 217
- displayText: "ABC"
- }
- ChangeLanguageKey {
- weight: 154
- }
- SpaceKey {
- weight: 864
- }
- Key {
- key: 0x2014
- text: "—"
- }
- Key {
- key: 0xE000
- text: ":-)"
- alternativeKeys: [ ";-)", ":-)", ":-D", ":-(", "<3" ]
- }
- HideKeyboardKey {
- weight: 204
- }
- }
- }
- }
- Component {
- id: page2
- KeyboardLayout {
- keyWeight: 160
- KeyboardRow {
- Repeater {
- model: keysPage2[0].length
- Key {
- key: keysPage2[0][index].charCodeAt(0)
- text: keysPage2[0][index]
- }
- }
- BackspaceKey {}
- }
- KeyboardRow {
- FillerKey {
- weight: 56
- }
- Repeater {
- model: keysPage2[1].length
- Key {
- key: keysPage2[1][index].charCodeAt(0)
- text: keysPage2[1][index]
- }
- }
- EnterKey {
- weight: 283
- }
- }
- KeyboardRow {
- keyWeight: 156
- Key {
- displayText: (page + 1) + "/" + numPages
- functionKey: true
- onClicked: page = (page + 1) % numPages
- }
- Repeater {
- model: keysPage2[2].length
- Key {
- key: keysPage2[2][index].charCodeAt(0)
- text: keysPage2[2][index]
- }
- }
- Key {
- weight: 204
- displayText: (page + 1) + "/" + numPages
- functionKey: true
- onClicked: page = (page + 1) % numPages
- }
- }
- KeyboardRow {
- keyWeight: 154
- SymbolModeKey {
- weight: 217
- displayText: "ABC"
- }
- ChangeLanguageKey {
- weight: 154
- }
- SpaceKey {
- weight: 864
- }
- Key {
- key: 0x3002
- text: "。"
- }
- Key {
- key: 0xE000
- text: ":-)"
- alternativeKeys: [ ";-)", ":-)", ":-D", ":-(", "<3" ]
- }
- HideKeyboardKey {
- weight: 204
- }
- }
- }
- }
- Component {
- id: page3
- KeyboardLayout {
- keyWeight: 160
- KeyboardRow {
- Repeater {
- model: keysPage3[0].length
- Key {
- key: keysPage3[0][index].charCodeAt(0)
- text: keysPage3[0][index]
- }
- }
- BackspaceKey {}
- }
- KeyboardRow {
- FillerKey {
- weight: 56
- }
- Repeater {
- model: keysPage3[1].length
- Key {
- key: keysPage3[1][index].charCodeAt(0)
- text: keysPage3[1][index]
- }
- }
- EnterKey {
- weight: 283
- }
- }
- KeyboardRow {
- keyWeight: 156
- Key {
- displayText: (page + 1) + "/" + numPages
- functionKey: true
- onClicked: page = (page + 1) % numPages
- }
- Repeater {
- model: keysPage3[2].length
- Key {
- key: keysPage3[2][index].charCodeAt(0)
- text: keysPage3[2][index]
- }
- }
- Key {
- weight: 204
- displayText: (page + 1) + "/" + numPages
- functionKey: true
- onClicked: page = (page + 1) % numPages
- }
- }
- KeyboardRow {
- keyWeight: 154
- SymbolModeKey {
- weight: 217
- displayText: "ABC"
- }
- ChangeLanguageKey {
- weight: 154
- }
- SpaceKey {
- weight: 864
- }
- Key {
- key: 0x2026
- text: "…"
- }
- Key {
- key: 0xE000
- text: ":-)"
- alternativeKeys: [ ";-)", ":-)", ":-D", ":-(", "<3" ]
- }
- HideKeyboardKey {
- weight: 204
- }
- }
- }
- }
-}
diff --git a/src/virtualkeyboard/content/layouts/zh_TW/dialpad.fallback b/src/virtualkeyboard/content/layouts/zh_TW/dialpad.fallback
deleted file mode 100644
index e69de29b..00000000
--- a/src/virtualkeyboard/content/layouts/zh_TW/dialpad.fallback
+++ /dev/null
diff --git a/src/virtualkeyboard/content/layouts/zh_TW/digits.fallback b/src/virtualkeyboard/content/layouts/zh_TW/digits.fallback
deleted file mode 100644
index e69de29b..00000000
--- a/src/virtualkeyboard/content/layouts/zh_TW/digits.fallback
+++ /dev/null
diff --git a/src/virtualkeyboard/content/layouts/zh_TW/handwriting.qml b/src/virtualkeyboard/content/layouts/zh_TW/handwriting.qml
deleted file mode 100644
index fee04320..00000000
--- a/src/virtualkeyboard/content/layouts/zh_TW/handwriting.qml
+++ /dev/null
@@ -1,116 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2017 The Qt Company Ltd.
-** Contact: https://www.qt.io/licensing/
-**
-** This file is part of the Qt Virtual Keyboard module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:GPL$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see https://www.qt.io/terms-conditions. For further
-** information use the contact form at https://www.qt.io/contact-us.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 3 or (at your option) any later version
-** approved by the KDE Free Qt Foundation. The licenses are as published by
-** the Free Software Foundation and appearing in the file LICENSE.GPL3
-** included in the packaging of this file. Please review the following
-** information to ensure the GNU General Public License requirements will
-** be met: https://www.gnu.org/licenses/gpl-3.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-import QtQuick 2.0
-import QtQuick.Layouts 1.0
-import QtQuick.VirtualKeyboard 2.3
-
-KeyboardLayout {
- function createInputMethod() {
- return Qt.createQmlObject('import QtQuick 2.0; import QtQuick.VirtualKeyboard.Plugins 2.3; HandwritingInputMethod {}', parent)
- }
- sharedLayouts: ['symbols']
- inputMode: preferredInputMode()
-
- Connections {
- target: InputContext
- onInputMethodHintsChanged: {
- var newInputMode = preferredInputMode()
- if (InputContext.inputEngine.inputModes.indexOf(newInputMode) !== -1)
- InputContext.inputEngine.inputMode = newInputMode
- }
- }
-
- function preferredInputMode() {
- return InputContext.inputMethodHints &
- (Qt.ImhPreferLatin | Qt.ImhEmailCharactersOnly | Qt.ImhUrlCharactersOnly |
- Qt.ImhLatinOnly) ? InputEngine.InputMode.Latin : InputEngine.InputMode.ChineseHandwriting
- }
-
- KeyboardRow {
- Layout.preferredHeight: 3
- KeyboardColumn {
- Layout.preferredWidth: bottomRow.width - hideKeyboardKey.width
- KeyboardRow {
- TraceInputKey {
- objectName: "hwrInputArea"
- patternRecognitionMode: InputEngine.PatternRecognitionMode.Handwriting
- horizontalRulers:
- InputContext.inputEngine.inputMode !== InputEngine.InputMode.ChineseHandwriting ? [] :
- [Math.round(boundingBox.height / 4), Math.round(boundingBox.height / 4) * 2, Math.round(boundingBox.height / 4) * 3]
-
- }
- }
- }
- KeyboardColumn {
- Layout.preferredWidth: hideKeyboardKey.width
- KeyboardRow {
- BackspaceKey {}
- }
- KeyboardRow {
- EnterKey {}
- }
- KeyboardRow {
- ShiftKey { }
- }
- }
- }
- KeyboardRow {
- id: bottomRow
- Layout.preferredHeight: 1
- keyWeight: 154
- InputModeKey {
- weight: 217
- }
- ChangeLanguageKey {
- weight: 154
- customLayoutsOnly: true
- }
- HandwritingModeKey {
- weight: 154
- }
- SpaceKey {
- weight: 864
- }
- Key {
- key: Qt.Key_Apostrophe
- text: "‘"
- alternativeKeys: "《》〈〉•…々〆‘’“”「」¥"
- }
- Key {
- key: Qt.Key_Period
- text: "."
- alternativeKeys: ":;,.、。?!"
- }
- HideKeyboardKey {
- id: hideKeyboardKey
- weight: 204
- }
- }
-}
diff --git a/src/virtualkeyboard/content/layouts/zh_TW/main.qml b/src/virtualkeyboard/content/layouts/zh_TW/main.qml
deleted file mode 100644
index bd9c1451..00000000
--- a/src/virtualkeyboard/content/layouts/zh_TW/main.qml
+++ /dev/null
@@ -1,458 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2016 The Qt Company Ltd.
-** Contact: https://www.qt.io/licensing/
-**
-** This file is part of the Qt Virtual Keyboard module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:GPL$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see https://www.qt.io/terms-conditions. For further
-** information use the contact form at https://www.qt.io/contact-us.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 3 or (at your option) any later version
-** approved by the KDE Free Qt Foundation. The licenses are as published by
-** the Free Software Foundation and appearing in the file LICENSE.GPL3
-** included in the packaging of this file. Please review the following
-** information to ensure the GNU General Public License requirements will
-** be met: https://www.gnu.org/licenses/gpl-3.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-import QtQuick 2.0
-import QtQuick.Layouts 1.0
-import QtQuick.VirtualKeyboard 2.3
-
-KeyboardLayoutLoader {
- function createInputMethod() {
- return Qt.createQmlObject('import QtQuick 2.0; import QtQuick.VirtualKeyboard.Plugins 2.3; TCInputMethod {}', parent, "tcInputMethod")
- }
- sharedLayouts: ['symbols']
- sourceComponent: InputContext.inputEngine.inputMode === InputEngine.InputMode.Cangjie ? pageCangjie : pageZhuyin
- Component {
- id: pageCangjie
- KeyboardLayout {
- keyWeight: 160
- smallTextVisible: true
- KeyboardRow {
- Key {
- text: "\u624B"
- alternativeKeys: "\u624Bq"
- }
- Key {
- text: "\u7530"
- alternativeKeys: "\u7530w"
- }
- Key {
- text: "\u6C34"
- alternativeKeys: "\u6C34e"
- }
- Key {
- text: "\u53E3"
- alternativeKeys: "\u53E3r"
- }
- Key {
- text: "\u5EFF"
- alternativeKeys: "\u5EFFt"
- }
- Key {
- text: "\u535C"
- alternativeKeys: "\u535Cy"
- }
- Key {
- text: "\u5C71"
- alternativeKeys: "\u5C71u"
- }
- Key {
- text: "\u6208"
- alternativeKeys: "\u6208i"
- }
- Key {
- text: "\u4EBA"
- alternativeKeys: "\u4EBAo"
- }
- Key {
- text: "\u5FC3"
- alternativeKeys: "\u5FC3p"
- }
- BackspaceKey {}
- }
- KeyboardRow {
- FillerKey {
- weight: 56
- }
- Key {
- text: "\u65E5"
- alternativeKeys: "\u65E5a"
- }
- Key {
- text: "\u5C38"
- alternativeKeys: "\u5C38s"
- }
- Key {
- text: "\u6728"
- alternativeKeys: "\u6728d"
- }
- Key {
- text: "\u706B"
- alternativeKeys: "\u706Bf"
- }
- Key {
- text: "\u571F"
- alternativeKeys: "\u571Fg"
- }
- Key {
- text: "\u7AF9"
- alternativeKeys: "\u7AF9h"
- }
- Key {
- text: "\u5341"
- alternativeKeys: "\u5341j"
- }
- Key {
- text: "\u5927"
- alternativeKeys: "\u5927k"
- }
- Key {
- text: "\u4E2D"
- alternativeKeys: "\u4E2Dl"
- }
- EnterKey {
- weight: 283
- }
- }
- KeyboardRow {
- keyWeight: 156
- ModeKey {
- id: simplifiedModeKey
- key: Qt.Key_Mode_switch
- displayText: "速成"
- Component.onCompleted: updateBinding()
- Connections {
- target: InputContext.inputEngine
- onInputMethodChanged: simplifiedModeKey.updateBinding()
- }
- function updateBinding() {
- if (InputContext.inputEngine.inputMethod && InputContext.inputEngine.inputMethod.hasOwnProperty("simplified")) {
- simplifiedModeKey.mode = InputContext.inputEngine.inputMethod.simplified
- InputContext.inputEngine.inputMethod.simplified = Qt.binding(function() { return simplifiedModeKey.mode })
- }
- }
- }
- Key {
- text: "\u91CD"
- alternativeKeys: "\u91CDz"
- }
- Key {
- text: "\u96E3"
- alternativeKeys: "\u96E3x"
- }
- Key {
- text: "\u91D1"
- alternativeKeys: "\u91D1c"
- }
- Key {
- text: "\u5973"
- alternativeKeys: "\u5973v"
- }
- Key {
- text: "\u6708"
- alternativeKeys: "\u6708b"
- }
- Key {
- text: "\u5F13"
- alternativeKeys: "\u5F13n"
- }
- Key {
- text: "\u4E00"
- alternativeKeys: "\u4E00m"
- }
- Key {
- key: Qt.Key_Comma
- text: "\uFF0C"
- alternativeKeys: "\uFF0C\uFF1B\u3001"
- }
- Key {
- key: Qt.Key_Period
- text: "\uFF0E"
- alternativeKeys: "\uFF0E\uFF1A\u3002"
- }
- ShiftKey {
- weight: 204
- }
- }
- KeyboardRow {
- keyWeight: 154
- SymbolModeKey {
- weight: 217
- }
- ChangeLanguageKey {
- weight: 154
- }
- HandwritingModeKey {
- weight: 154
- }
- InputModeKey {
- visible: InputContext.inputEngine.inputModes.indexOf(InputEngine.InputMode.Zhuyin) !== -1
- }
- SpaceKey {
- weight: 864
- }
- Key {
- key: Qt.Key_Question
- text: "\uFF1F"
- alternativeKeys: "\uFF1F\uFF01"
- }
- Key {
- key: 0xE000
- text: ":-)"
- smallTextVisible: false
- alternativeKeys: [ ";-)", ":-)", ":-D", ":-(", "<3" ]
- }
- HideKeyboardKey {
- weight: 204
- }
- }
- }
- }
- Component {
- id: pageZhuyin
- KeyboardLayout {
- smallTextVisible: true
- KeyboardRow {
- Layout.preferredHeight: 3
- KeyboardColumn {
- Layout.preferredWidth: bottomRow.width - hideKeyboardKey.width
- KeyboardRow {
- Key {
- text: "\u3105"
- alternativeKeys: "\u31051"
- }
- Key {
- text: "\u3109"
- alternativeKeys: "\u31092"
- }
- Key {
- text: "\u02C7"
- alternativeKeys: "\u02C73"
- }
- Key {
- text: "\u02CB"
- alternativeKeys: "4"
- displayText: "`"
- }
- Key {
- text: "\u3113"
- alternativeKeys: "\u31135"
- }
- Key {
- text: "\u02CA"
- alternativeKeys: "6"
- displayText: "´"
- }
- Key {
- text: "\u02D9"
- alternativeKeys: "\u02D97"
- }
- Key {
- text: "\u311A"
- alternativeKeys: "\u311A8"
- }
- Key {
- text: "\u311E"
- alternativeKeys: "\u311E9"
- }
- Key {
- text: "\u3122"
- alternativeKeys: "\u31220"
- }
- }
- KeyboardRow {
- Key {
- text: "\u3106"
- alternativeKeys: "\u3106q"
- }
- Key {
- text: "\u310A"
- alternativeKeys: "\u310Aw"
- }
- Key {
- text: "\u310D"
- alternativeKeys: "\u310De"
- }
- Key {
- text: "\u3110"
- alternativeKeys: "\u3110r"
- }
- Key {
- text: "\u3114"
- alternativeKeys: "\u3114t"
- }
- Key {
- text: "\u3117"
- alternativeKeys: "\u3117y"
- }
- Key {
- text: "\u3127"
- alternativeKeys: "\u3127u"
- }
- Key {
- text: "\u311B"
- alternativeKeys: "\u311Bi"
- }
- Key {
- text: "\u311F"
- alternativeKeys: "\u311Fo"
- }
- Key {
- text: "\u3123"
- alternativeKeys: "\u3123p"
- }
- }
- KeyboardRow {
- Key {
- text: "\u3107"
- alternativeKeys: "\u3107a"
- }
- Key {
- text: "\u310B"
- alternativeKeys: "\u310Bs"
- }
- Key {
- text: "\u310E"
- alternativeKeys: "\u310Ed"
- }
- Key {
- text: "\u3111"
- alternativeKeys: "\u3111f"
- }
- Key {
- text: "\u3115"
- alternativeKeys: "\u3115g"
- }
- Key {
- text: "\u3118"
- alternativeKeys: "\u3118h"
- }
- Key {
- text: "\u3128"
- alternativeKeys: "\u3128j"
- }
- Key {
- text: "\u311C"
- alternativeKeys: "\u311Ck"
- }
- Key {
- text: "\u3120"
- alternativeKeys: "\u3120l"
- }
- Key {
- text: "\u3124"
- alternativeKeys: "\u3124…"
- }
- }
- KeyboardRow {
- Key {
- text: "\u3108"
- alternativeKeys: "\u3108z"
- }
- Key {
- text: "\u310C"
- alternativeKeys: "\u310Cx"
- }
- Key {
- text: "\u310F"
- alternativeKeys: "\u310Fc"
- }
- Key {
- text: "\u3112"
- alternativeKeys: "\u3112v"
- }
- Key {
- text: "\u3116"
- alternativeKeys: "\u3116b"
- }
- Key {
- text: "\u3119"
- alternativeKeys: "\u3119n"
- }
- Key {
- text: "\u3129"
- alternativeKeys: "\u3129m"
- }
- Key {
- text: "\u311D"
- alternativeKeys: "、\u311D,"
- }
- Key {
- text: "\u3121"
- alternativeKeys: "。\u3121."
- }
- Key {
- text: "\u3125"
- alternativeKeys: ";\u3125:"
- }
- }
- }
- KeyboardColumn {
- Layout.preferredWidth: hideKeyboardKey.width
- KeyboardRow {
- BackspaceKey {}
- }
- KeyboardRow {
- EnterKey {}
- }
- KeyboardRow {
- ShiftKey { }
- }
- }
- }
- KeyboardRow {
- id: bottomRow
- Layout.preferredHeight: 1
- keyWeight: 154
- SymbolModeKey {
- weight: 217
- }
- ChangeLanguageKey {
- weight: 154
- }
- HandwritingModeKey {
- weight: 154
- }
- InputModeKey {
- visible: InputContext.inputEngine.inputModes.indexOf(InputEngine.InputMode.Cangjie) !== -1
- }
- SpaceKey {
- weight: 864
- }
- Key {
- text: "\u3126"
- }
- Key {
- key: Qt.Key_Question
- text: "\uFF1F"
- alternativeKeys: "\uFF1F\uFF01"
- }
- Key {
- key: 0xE000
- text: ":-)"
- smallTextVisible: false
- alternativeKeys: [ ";-)", ":-)", ":-D", ":-(", "<3" ]
- }
- HideKeyboardKey {
- id: hideKeyboardKey
- weight: 204
- }
- }
- }
- }
-}
diff --git a/src/virtualkeyboard/content/layouts/zh_TW/numbers.fallback b/src/virtualkeyboard/content/layouts/zh_TW/numbers.fallback
deleted file mode 100644
index e69de29b..00000000
--- a/src/virtualkeyboard/content/layouts/zh_TW/numbers.fallback
+++ /dev/null
diff --git a/src/virtualkeyboard/content/layouts/zh_TW/symbols.qml b/src/virtualkeyboard/content/layouts/zh_TW/symbols.qml
deleted file mode 100644
index 3d43ae69..00000000
--- a/src/virtualkeyboard/content/layouts/zh_TW/symbols.qml
+++ /dev/null
@@ -1,294 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2016 The Qt Company Ltd.
-** Contact: https://www.qt.io/licensing/
-**
-** This file is part of the Qt Virtual Keyboard module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:GPL$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see https://www.qt.io/terms-conditions. For further
-** information use the contact form at https://www.qt.io/contact-us.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 3 or (at your option) any later version
-** approved by the KDE Free Qt Foundation. The licenses are as published by
-** the Free Software Foundation and appearing in the file LICENSE.GPL3
-** included in the packaging of this file. Please review the following
-** information to ensure the GNU General Public License requirements will
-** be met: https://www.gnu.org/licenses/gpl-3.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-import QtQuick 2.0
-import QtQuick.Layouts 1.0
-import QtQuick.VirtualKeyboard 2.1
-
-KeyboardLayoutLoader {
- function createInputMethod() {
- return Qt.createQmlObject('import QtQuick 2.0; import QtQuick.VirtualKeyboard.Plugins 2.1; TCInputMethod {}', parent, "tcInputMethod")
- }
- sharedLayouts: ['main']
- property int page
- readonly property int numPages: 3
- property var keysPage1: [
- "1234567890",
- "@#$%^&*()",
- "“”、=:;!?~"
- ]
- property var keysPage2: [
- "-+/\\|[]{}·",
- "<>,.:;!?~",
- "/\"'_§¥€£¢"
- ]
- property var keysPage3: [
- "()〔〕〈〉《》【】",
- "→←↑↓↔■□●○",
- "\『』「」★☆◆◇"
- ]
- sourceComponent: {
- switch (page) {
- case 2: return page3
- case 1: return page2
- default: return page1
- }
- }
- Component {
- id: page1
- KeyboardLayout {
- keyWeight: 160
- KeyboardRow {
- Repeater {
- model: keysPage1[0].length
- Key {
- key: keysPage1[0][index].charCodeAt(0)
- text: keysPage1[0][index]
- }
- }
- BackspaceKey {}
- }
- KeyboardRow {
- FillerKey {
- weight: 56
- }
- Repeater {
- model: keysPage1[1].length
- Key {
- key: keysPage1[1][index].charCodeAt(0)
- text: keysPage1[1][index]
- }
- }
- EnterKey {
- weight: 283
- }
- }
- KeyboardRow {
- keyWeight: 156
- Key {
- displayText: (page + 1) + "/" + numPages
- functionKey: true
- onClicked: page = (page + 1) % numPages
- }
- Repeater {
- model: keysPage1[2].length
- Key {
- key: keysPage1[2][index].charCodeAt(0)
- text: keysPage1[2][index]
- }
- }
- Key {
- weight: 204
- displayText: (page + 1) + "/" + numPages
- functionKey: true
- onClicked: page = (page + 1) % numPages
- }
- }
- KeyboardRow {
- keyWeight: 154
- SymbolModeKey {
- weight: 217
- displayText: "ABC"
- }
- ChangeLanguageKey {
- weight: 154
- }
- SpaceKey {
- weight: 864
- }
- Key {
- key: 0x2014
- text: "—"
- }
- Key {
- key: 0xE000
- text: ":-)"
- alternativeKeys: [ ";-)", ":-)", ":-D", ":-(", "<3" ]
- }
- HideKeyboardKey {
- weight: 204
- }
- }
- }
- }
- Component {
- id: page2
- KeyboardLayout {
- keyWeight: 160
- KeyboardRow {
- Repeater {
- model: keysPage2[0].length
- Key {
- key: keysPage2[0][index].charCodeAt(0)
- text: keysPage2[0][index]
- }
- }
- BackspaceKey {}
- }
- KeyboardRow {
- FillerKey {
- weight: 56
- }
- Repeater {
- model: keysPage2[1].length
- Key {
- key: keysPage2[1][index].charCodeAt(0)
- text: keysPage2[1][index]
- }
- }
- EnterKey {
- weight: 283
- }
- }
- KeyboardRow {
- keyWeight: 156
- Key {
- displayText: (page + 1) + "/" + numPages
- functionKey: true
- onClicked: page = (page + 1) % numPages
- }
- Repeater {
- model: keysPage2[2].length
- Key {
- key: keysPage2[2][index].charCodeAt(0)
- text: keysPage2[2][index]
- }
- }
- Key {
- weight: 204
- displayText: (page + 1) + "/" + numPages
- functionKey: true
- onClicked: page = (page + 1) % numPages
- }
- }
- KeyboardRow {
- keyWeight: 154
- SymbolModeKey {
- weight: 217
- displayText: "ABC"
- }
- ChangeLanguageKey {
- weight: 154
- }
- SpaceKey {
- weight: 864
- }
- Key {
- key: 0x3002
- text: "。"
- }
- Key {
- key: 0xE000
- text: ":-)"
- alternativeKeys: [ ";-)", ":-)", ":-D", ":-(", "<3" ]
- }
- HideKeyboardKey {
- weight: 204
- }
- }
- }
- }
- Component {
- id: page3
- KeyboardLayout {
- keyWeight: 160
- KeyboardRow {
- Repeater {
- model: keysPage3[0].length
- Key {
- key: keysPage3[0][index].charCodeAt(0)
- text: keysPage3[0][index]
- }
- }
- BackspaceKey {}
- }
- KeyboardRow {
- FillerKey {
- weight: 56
- }
- Repeater {
- model: keysPage3[1].length
- Key {
- key: keysPage3[1][index].charCodeAt(0)
- text: keysPage3[1][index]
- }
- }
- EnterKey {
- weight: 283
- }
- }
- KeyboardRow {
- keyWeight: 156
- Key {
- displayText: (page + 1) + "/" + numPages
- functionKey: true
- onClicked: page = (page + 1) % numPages
- }
- Repeater {
- model: keysPage3[2].length
- Key {
- key: keysPage3[2][index].charCodeAt(0)
- text: keysPage3[2][index]
- }
- }
- Key {
- weight: 204
- displayText: (page + 1) + "/" + numPages
- functionKey: true
- onClicked: page = (page + 1) % numPages
- }
- }
- KeyboardRow {
- keyWeight: 154
- SymbolModeKey {
- weight: 217
- displayText: "ABC"
- }
- ChangeLanguageKey {
- weight: 154
- }
- SpaceKey {
- weight: 864
- }
- Key {
- key: 0x2026
- text: "…"
- }
- Key {
- key: 0xE000
- text: ":-)"
- alternativeKeys: [ ";-)", ":-)", ":-D", ":-(", "<3" ]
- }
- HideKeyboardKey {
- weight: 204
- }
- }
- }
- }
-}
diff --git a/src/virtualkeyboard/content/styles/default/images/backspace-868482.svg b/src/virtualkeyboard/content/styles/default/images/backspace-868482.svg
deleted file mode 100644
index 764c3c68..00000000
--- a/src/virtualkeyboard/content/styles/default/images/backspace-868482.svg
+++ /dev/null
@@ -1,23 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Generator: Adobe Illustrator 18.1.1, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
-<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
- width="159px" height="88px" viewBox="0 0 159 88" enable-background="new 0 0 159 88" xml:space="preserve">
-<g>
- <rect fill="none" width="159" height="88"/>
- <g>
- <g>
- <path fill="#868482" d="M158.8,88H44L0,44L44,0h114.8V88z M48.7,76.7h98.8V11.3H48.7L16,44L48.7,76.7z"/>
- </g>
- <g>
- <g>
-
- <rect x="87.3" y="16.2" transform="matrix(-0.7071 -0.7071 0.7071 -0.7071 127.5895 140.8497)" fill="#868482" width="11.3" height="55.7"/>
- </g>
- <g>
-
- <rect x="65.1" y="38.4" transform="matrix(-0.7071 -0.7071 0.7071 -0.7071 127.5954 140.8499)" fill="#868482" width="55.7" height="11.3"/>
- </g>
- </g>
- </g>
-</g>
-</svg>
diff --git a/src/virtualkeyboard/content/styles/default/images/check-868482.svg b/src/virtualkeyboard/content/styles/default/images/check-868482.svg
deleted file mode 100644
index 544fec50..00000000
--- a/src/virtualkeyboard/content/styles/default/images/check-868482.svg
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Generator: Adobe Illustrator 18.1.1, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
-<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
- width="170px" height="119px" viewBox="0 0 170 119" enable-background="new 0 0 170 119" xml:space="preserve">
-<g>
- <polygon fill="#868482" points="62.3,119 0,56.7 11.3,45.3 62.3,96.3 158.7,0 170,11.3 "/>
-</g>
-</svg>
diff --git a/src/virtualkeyboard/content/styles/default/images/enter-868482.svg b/src/virtualkeyboard/content/styles/default/images/enter-868482.svg
deleted file mode 100644
index 88c14866..00000000
--- a/src/virtualkeyboard/content/styles/default/images/enter-868482.svg
+++ /dev/null
@@ -1,13 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Generator: Adobe Illustrator 18.1.1, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
-<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
- width="211px" height="80px" viewBox="0 0 211 80" enable-background="new 0 0 211 80" xml:space="preserve">
-<g>
- <rect fill="none" width="211" height="80"/>
- <g>
- <rect x="9.2" y="33.8" fill="#868482" width="201.8" height="12.3"/>
- <rect x="198.7" y="10.7" fill="#868482" width="12.3" height="35.3"/>
- <polygon fill="#868482" points="44.5,0 44.5,79.8 0,40.7 "/>
- </g>
-</g>
-</svg>
diff --git a/src/virtualkeyboard/content/styles/default/images/globe-868482.svg b/src/virtualkeyboard/content/styles/default/images/globe-868482.svg
deleted file mode 100644
index 7cb9b794..00000000
--- a/src/virtualkeyboard/content/styles/default/images/globe-868482.svg
+++ /dev/null
@@ -1,26 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Generator: Adobe Illustrator 18.1.1, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
-<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
- width="144px" height="144px" viewBox="0 0 144 144" enable-background="new 0 0 144 144" xml:space="preserve">
-<g>
- <rect fill="none" width="144" height="144"/>
- <g>
- <path fill="#868482" d="M72,144c-39.5,0-71.8-32.1-72-71.6C-0.2,32.7,31.9,0.2,71.6,0h0.7c19.1,0.1,37.1,7.6,50.6,21.1
- s21,31.5,21.1,50.5c0.1,19.2-7.3,37.4-20.8,51c-13.5,13.7-31.6,21.3-50.8,21.4C72.2,144,72.1,144,72,144z M76.3,101.3v32.3
- c9-8.1,16-17.9,20.6-28.7C90.2,102.9,83.3,101.7,76.3,101.3z M47,104.9c3.2,7.4,7.5,14.3,12.8,20.6c2.4,2.9,5.1,5.6,7.9,8.1v-32.3
- C60.7,101.7,53.8,102.9,47,104.9z M105.2,107.9c-3.9,9.2-9.2,17.6-15.9,25.1c10.4-2.9,19.9-8.5,27.8-16.4c0.5-0.5,1-1.1,1.6-1.6
- C114.3,112.1,109.8,109.8,105.2,107.9z M25.5,114.9c7.8,8.5,17.9,14.8,29.3,18c-0.5-0.6-1.1-1.2-1.6-1.8
- c-6-7.1-10.8-14.9-14.3-23.3C34.2,109.8,29.8,112.1,25.5,114.9z M108.1,99.7c5.5,2.3,10.8,5.1,15.9,8.4
- c6.5-9.4,10.4-20.3,11.2-31.8h-22.9c-0.1,1.2-0.1,2.4-0.2,3.7C111.4,86.8,110.1,93.4,108.1,99.7z M8.8,76.3
- C9.6,88.1,13.6,99,20,108.1c5.1-3.3,10.4-6.1,15.8-8.4c-2.4-7.5-3.7-15.4-4.1-23.4L8.8,76.3L8.8,76.3z M40.4,76.3
- c0.3,7,1.5,13.8,3.6,20.4c7.7-2.4,15.7-3.8,23.7-4.1V76.3H40.4z M76.3,92.6c8,0.4,15.9,1.7,23.6,4.1c1.7-5.6,2.9-11.5,3.4-17.5
- c0.1-1,0.1-2,0.2-2.9H76.3V92.6z M112.2,67.7h23c-0.8-11.5-4.6-22.4-11.2-31.8c-5.1,3.4-10.5,6.2-16.1,8.5
- C110.4,51.9,111.8,59.7,112.2,67.7z M76.3,67.7h27.2c-0.4-7-1.6-13.8-3.7-20.4c-7.7,2.4-15.5,3.7-23.5,4.1V67.7z M40.5,67.7h27.2
- V51.4c-7.9-0.4-15.8-1.7-23.4-4.1c-1.8,5.8-3,11.9-3.6,18.1C40.6,66.2,40.5,66.9,40.5,67.7z M8.8,67.7h23c0.1-1,0.1-2,0.2-3
- c0.6-7,2-13.8,4-20.3c-5.5-2.3-10.9-5.1-16-8.5C13.6,45,9.6,55.9,8.8,67.7z M76.3,11.1v31.6c6.9-0.3,13.7-1.5,20.4-3.5
- c-3.1-7.1-7.3-13.9-12.5-20C81.8,16.3,79.1,13.6,76.3,11.1z M47.3,39.2c6.7,2,13.5,3.2,20.4,3.5V11.1C58.8,19,51.9,28.6,47.3,39.2
- z M88.4,10.8c0.8,0.9,1.6,1.8,2.4,2.8c5.9,6.9,10.6,14.6,14.1,22.7c4.7-2,9.3-4.3,13.7-7.2c-0.6-0.6-1.2-1.2-1.8-1.9
- C108.8,19.2,99,13.6,88.4,10.8z M25.5,29.1c4.4,2.8,8.9,5.2,13.6,7.1c4-9.3,9.5-17.9,16.5-25.4C43.8,14,33.5,20.4,25.5,29.1z"/>
- </g>
-</g>
-</svg>
diff --git a/src/virtualkeyboard/content/styles/default/images/handwriting-868482.svg b/src/virtualkeyboard/content/styles/default/images/handwriting-868482.svg
deleted file mode 100644
index 65d37874..00000000
--- a/src/virtualkeyboard/content/styles/default/images/handwriting-868482.svg
+++ /dev/null
@@ -1,18 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Generator: Adobe Illustrator 18.1.1, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
-<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
- width="156px" height="104px" viewBox="0 0 156 104" enable-background="new 0 0 156 104" xml:space="preserve">
-<g>
- <rect fill="none" width="156" height="104"/>
- <g>
- <path fill="#868482" d="M37.6,103.3c-10.1,0-18.9-5-23.1-13.6C4.4,68.7,19.9,52.3,36.2,35c1.2-1.2,2.4-2.5,3.6-3.8
- c5.3-5.7,5.2-11.5,3.5-14.8c-1.8-3.4-5.5-4.9-10.2-4.2c-16.5,2.6-21.2,26.4-21.2,26.6L0,36.6C0.3,35.3,6.4,4.3,31.2,0.3
- c9.8-1.6,18.5,2.4,22.7,10.4c4.7,8.9,2.6,20.1-5.3,28.6c-1.2,1.3-2.4,2.6-3.6,3.8C28.3,60.9,19.1,71.6,25.4,84.5
- c3.3,6.8,11.1,7.6,16.9,6.3c9.2-2.1,19.8-11.1,19.7-29.5c-0.2-28.1,16.2-41.8,30.2-44.9c14.5-3.2,28.4,3.6,34.7,17
- c1.3,2.8,2.3,5.4,3.1,8.1c13.3,0.7,25.5,4.3,26,4.4l-3.4,11.5c-0.1,0-9.7-2.8-20.6-3.8c0.5,16.5-8.6,28.9-20.1,34.7
- c-11.9,6-24,3.8-28.9-5.2c-3.1-5.6-1.9-14.7,2.9-22.5c7.9-13,21.3-17.4,31.5-18.8c-0.4-1.2-0.9-2.4-1.4-3.4
- c-3.9-8.3-12.2-12.4-21.1-10.4c-9.7,2.2-21,12.1-20.8,33.1c0.2,25.5-15.6,38.1-29,41.3C42.5,103,40,103.3,37.6,103.3z M119.8,53.7
- c-14,1.5-20.6,8.5-23.4,12.9c-3.3,5.2-3.4,9.8-2.9,10.9c1.6,2.9,7.3,3,13,0.2C117.3,72.2,120.3,62.6,119.8,53.7z"/>
- </g>
-</g>
-</svg>
diff --git a/src/virtualkeyboard/content/styles/default/images/hidekeyboard-868482.svg b/src/virtualkeyboard/content/styles/default/images/hidekeyboard-868482.svg
deleted file mode 100644
index 31e680a1..00000000
--- a/src/virtualkeyboard/content/styles/default/images/hidekeyboard-868482.svg
+++ /dev/null
@@ -1,55 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Generator: Adobe Illustrator 18.1.1, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
-<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
- width="144px" height="127px" viewBox="0 0 144 127" enable-background="new 0 0 144 127" xml:space="preserve">
-<g>
- <rect fill="none" width="144" height="127"/>
- <g>
- <g>
- <path fill="#868482" d="M144,90.3H0V0h144V90.3z M10.9,79.4h122.2V10.9H10.9V79.4z"/>
- </g>
- <g>
- <rect x="19.5" y="20.2" fill="#868482" width="11.7" height="11.7"/>
- </g>
- <g>
- <rect x="38.1" y="20.2" fill="#868482" width="11.7" height="11.7"/>
- </g>
- <g>
- <rect x="56.8" y="20.2" fill="#868482" width="11.7" height="11.7"/>
- </g>
- <g>
- <rect x="75.5" y="20.2" fill="#868482" width="11.7" height="11.7"/>
- </g>
- <g>
- <rect x="94.2" y="20.2" fill="#868482" width="11.7" height="11.7"/>
- </g>
- <g>
- <rect x="112.9" y="20.2" fill="#868482" width="11.7" height="11.7"/>
- </g>
- <g>
- <rect x="19.5" y="39.7" fill="#868482" width="11.7" height="11.7"/>
- </g>
- <g>
- <rect x="38.1" y="39.7" fill="#868482" width="11.7" height="11.7"/>
- </g>
- <g>
- <rect x="56.8" y="39.7" fill="#868482" width="11.7" height="11.7"/>
- </g>
- <g>
- <rect x="75.5" y="39.7" fill="#868482" width="11.7" height="11.7"/>
- </g>
- <g>
- <rect x="94.2" y="39.7" fill="#868482" width="11.7" height="11.7"/>
- </g>
- <g>
- <rect x="112.9" y="39.7" fill="#868482" width="11.7" height="11.7"/>
- </g>
- <g>
- <rect x="38.1" y="59.2" fill="#868482" width="67.7" height="11.7"/>
- </g>
- <g>
- <polygon fill="#868482" points="72,115.2 62.2,108.2 45.9,108.2 72,126.9 98.1,108.2 81.8,108.2 "/>
- </g>
- </g>
-</g>
-</svg>
diff --git a/src/virtualkeyboard/content/styles/default/images/search-868482.svg b/src/virtualkeyboard/content/styles/default/images/search-868482.svg
deleted file mode 100644
index 4aff8499..00000000
--- a/src/virtualkeyboard/content/styles/default/images/search-868482.svg
+++ /dev/null
@@ -1,14 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Generator: Adobe Illustrator 18.1.1, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
-<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
- width="148px" height="148px" viewBox="0 0 148 148" enable-background="new 0 0 148 148" xml:space="preserve">
-<g>
- <rect fill="none" width="148" height="148"/>
- <g>
- <path fill="#868482" d="M146.8,132.7c1.6,1.6,1.6,4.1,0,5.7l-8.5,8.5c-1.6,1.6-4.1,1.6-5.7,0l-44.6-44.6c-1.6-1.6-1.6-4.1,0-5.7
- l8.5-8.5c1.6-1.6,4.1-1.6,5.7,0L146.8,132.7z"/>
- <path fill="#868482" d="M58,12c25.4,0,46,20.6,46,46s-20.6,46-46,46c-25.4,0-46-20.6-46-46S32.6,12,58,12 M58,0C26,0,0,26,0,58
- s26,58,58,58c32,0,58-26,58-58S90,0,58,0L58,0z"/>
- </g>
-</g>
-</svg>
diff --git a/src/virtualkeyboard/content/styles/default/images/selectionhandle-bottom.svg b/src/virtualkeyboard/content/styles/default/images/selectionhandle-bottom.svg
deleted file mode 100644
index 312e3ab5..00000000
--- a/src/virtualkeyboard/content/styles/default/images/selectionhandle-bottom.svg
+++ /dev/null
@@ -1,201 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" standalone="no"?>
-<!-- Created with Inkscape (http://www.inkscape.org/) -->
-
-<svg
- xmlns:osb="http://www.openswatchbook.org/uri/2009/osb"
- xmlns:dc="http://purl.org/dc/elements/1.1/"
- xmlns:cc="http://creativecommons.org/ns#"
- xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
- xmlns:svg="http://www.w3.org/2000/svg"
- xmlns="http://www.w3.org/2000/svg"
- xmlns:xlink="http://www.w3.org/1999/xlink"
- xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
- xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
- width="405.39487"
- height="603.25201"
- id="svg2"
- version="1.1"
- inkscape:version="0.48.4 r9939"
- sodipodi:docname="selectionhandle-bottom.svg">
- <defs
- id="defs4">
- <linearGradient
- inkscape:collect="always"
- id="linearGradient3964">
- <stop
- style="stop-color:#000000;stop-opacity:1;"
- offset="0"
- id="stop3966" />
- <stop
- style="stop-color:#000000;stop-opacity:0;"
- offset="1"
- id="stop3968" />
- </linearGradient>
- <linearGradient
- id="linearGradient3825"
- osb:paint="solid">
- <stop
- style="stop-color:#000000;stop-opacity:1;"
- offset="0"
- id="stop3827" />
- </linearGradient>
- <linearGradient
- id="linearGradient3797">
- <stop
- style="stop-color:#a7a7a7;stop-opacity:1;"
- offset="0"
- id="stop3799" />
- <stop
- style="stop-color:#959595;stop-opacity:1;"
- offset="1"
- id="stop3801" />
- </linearGradient>
- <filter
- id="filter3991"
- inkscape:label="Drop Shadow"
- color-interpolation-filters="sRGB">
- <feFlood
- id="feFlood3993"
- flood-opacity="0.9"
- flood-color="rgb(0,0,0)"
- result="flood" />
- <feComposite
- id="feComposite3995"
- in2="SourceGraphic"
- in="flood"
- operator="in"
- result="composite1" />
- <feGaussianBlur
- id="feGaussianBlur3997"
- stdDeviation="9"
- result="blur" />
- <feOffset
- id="feOffset3999"
- dx="-4"
- dy="-4"
- result="offset" />
- <feComposite
- id="feComposite4001"
- in2="offset"
- in="SourceGraphic"
- operator="over"
- result="fbSourceGraphic" />
- <feColorMatrix
- result="fbSourceGraphicAlpha"
- in="fbSourceGraphic"
- values="0 0 0 -1 0 0 0 0 -1 0 0 0 0 -1 0 0 0 0 1 0"
- id="feColorMatrix4003" />
- <feFlood
- id="feFlood4005"
- flood-opacity="0.9"
- flood-color="rgb(0,0,0)"
- result="flood"
- in="fbSourceGraphic" />
- <feComposite
- id="feComposite4007"
- in2="fbSourceGraphic"
- in="flood"
- operator="in"
- result="composite1" />
- <feGaussianBlur
- id="feGaussianBlur4009"
- stdDeviation="9"
- result="blur" />
- <feOffset
- id="feOffset4011"
- dx="-4"
- dy="-4"
- result="offset" />
- <feComposite
- id="feComposite4013"
- in2="offset"
- in="fbSourceGraphic"
- operator="over"
- result="composite2" />
- </filter>
- <filter
- inkscape:collect="always"
- id="filter3941"
- x="-0.31598809"
- width="1.6319762"
- y="-0.21141379"
- height="1.4228276"
- color-interpolation-filters="sRGB">
- <feGaussianBlur
- inkscape:collect="always"
- stdDeviation="52.664682"
- id="feGaussianBlur3943" />
- </filter>
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient3964"
- id="linearGradient3970"
- x1="77.14286"
- y1="559.86218"
- x2="477.14285"
- y2="559.86218"
- gradientUnits="userSpaceOnUse" />
- <filter
- inkscape:collect="always"
- id="filter4040"
- color-interpolation-filters="sRGB">
- <feGaussianBlur
- inkscape:collect="always"
- stdDeviation="0.49892857"
- id="feGaussianBlur4042" />
- </filter>
- </defs>
- <sodipodi:namedview
- id="base"
- pagecolor="#ffffff"
- bordercolor="#666666"
- borderopacity="1.0"
- inkscape:pageopacity="0.0"
- inkscape:pageshadow="2"
- inkscape:zoom="0.83834513"
- inkscape:cx="219.23008"
- inkscape:cy="314.00438"
- inkscape:document-units="px"
- inkscape:current-layer="layer1"
- showgrid="false"
- inkscape:window-width="1176"
- inkscape:window-height="719"
- inkscape:window-x="188"
- inkscape:window-y="121"
- inkscape:window-maximized="0"
- fit-margin-top="1"
- fit-margin-left="1"
- fit-margin-right="1"
- fit-margin-bottom="1" />
- <metadata
- id="metadata7">
- <rdf:RDF>
- <cc:Work
- rdf:about="">
- <dc:format>image/svg+xml</dc:format>
- <dc:type
- rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
- <dc:title></dc:title>
- </cc:Work>
- </rdf:RDF>
- </metadata>
- <g
- inkscape:groupmode="layer"
- id="layer2"
- inkscape:label="Lag"
- style="display:inline"
- transform="translate(-125.874,-261.09332)" />
- <g
- inkscape:label="Layer 1"
- inkscape:groupmode="layer"
- id="layer1"
- transform="translate(-125.874,-261.09332)">
- <path
- style="fill:#bfbfbf;fill-opacity:1;stroke:url(#linearGradient3970);filter:url(#filter4040)"
- d="m 477.14286,660.93361 0,-400 -400.000003,0 0,400 200.714283,197.85714 z"
- id="path2987"
- inkscape:connector-curvature="0"
- sodipodi:nodetypes="cccccc"
- transform="matrix(-1,0,0,-1,605.71429,1122.5815)" />
- </g>
-</svg>
diff --git a/src/virtualkeyboard/content/styles/default/images/shift-80c342.svg b/src/virtualkeyboard/content/styles/default/images/shift-80c342.svg
deleted file mode 100644
index d39a2230..00000000
--- a/src/virtualkeyboard/content/styles/default/images/shift-80c342.svg
+++ /dev/null
@@ -1,12 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Generator: Adobe Illustrator 18.1.1, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
-<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
- width="144px" height="134px" viewBox="0 0 144 134" enable-background="new 0 0 144 134" xml:space="preserve">
-<g>
- <rect fill="none" width="144" height="134"/>
- <g>
- <path fill="#80C342" d="M103.6,134H40.2V77.5H0L71.9,0l71.9,77.5h-40.2V134L103.6,134z M51.7,122.5h40.5V66.1h25.4L71.9,16.8
- L26.2,66.1h25.4L51.7,122.5L51.7,122.5z"/>
- </g>
-</g>
-</svg>
diff --git a/src/virtualkeyboard/content/styles/default/images/shift-868482.svg b/src/virtualkeyboard/content/styles/default/images/shift-868482.svg
deleted file mode 100644
index 95b6d504..00000000
--- a/src/virtualkeyboard/content/styles/default/images/shift-868482.svg
+++ /dev/null
@@ -1,12 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Generator: Adobe Illustrator 18.1.1, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
-<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
- width="144px" height="134px" viewBox="0 0 144 134" enable-background="new 0 0 144 134" xml:space="preserve">
-<g>
- <rect fill="none" width="144" height="134"/>
- <g>
- <path fill="#868482" d="M103.6,134H40.2V77.5H0L71.9,0l71.9,77.5h-40.2V134L103.6,134z M51.7,122.5h40.5V66.1h25.4L71.9,16.8
- L26.2,66.1h25.4L51.7,122.5L51.7,122.5z"/>
- </g>
-</g>
-</svg>
diff --git a/src/virtualkeyboard/content/styles/default/images/shift-c5d6b6.svg b/src/virtualkeyboard/content/styles/default/images/shift-c5d6b6.svg
deleted file mode 100644
index 22f9d5de..00000000
--- a/src/virtualkeyboard/content/styles/default/images/shift-c5d6b6.svg
+++ /dev/null
@@ -1,12 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Generator: Adobe Illustrator 18.1.1, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
-<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
- width="144px" height="134px" viewBox="0 0 144 134" enable-background="new 0 0 144 134" xml:space="preserve">
-<g>
- <rect fill="none" width="144" height="134"/>
- <g>
- <path fill="#C5D6B6" d="M103.6,134H40.2V77.5H0L71.9,0l71.9,77.5h-40.2V134L103.6,134z M51.7,122.5h40.5V66.1h25.4L71.9,16.8
- L26.2,66.1h25.4L51.7,122.5L51.7,122.5z"/>
- </g>
-</g>
-</svg>
diff --git a/src/virtualkeyboard/content/styles/default/images/textmode-868482.svg b/src/virtualkeyboard/content/styles/default/images/textmode-868482.svg
deleted file mode 100644
index 2f9428c2..00000000
--- a/src/virtualkeyboard/content/styles/default/images/textmode-868482.svg
+++ /dev/null
@@ -1,33 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Generator: Adobe Illustrator 18.1.1, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
-<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
- width="124px" height="96px" viewBox="0 0 124 96" enable-background="new 0 0 124 96" xml:space="preserve">
-<g>
- <g>
- <g>
- <path fill="#868482" d="M55.4,70.8L46.9,49H19.4L11,70.8H2.9L30,2h6.7l27,68.8H55.4z M44.4,41.8l-8-21.2c-1-2.7-2.1-6-3.2-9.9
- c-0.7,3-1.7,6.3-3,9.9l-8.1,21.2H44.4z"/>
- <path fill="#868482" d="M66.6,72.8H54.1L45.5,51H20.8l-8.4,21.8H0L28.7,0h9.4L66.6,72.8z M56.8,68.8h4L35.4,4h-1.9l1.7,6.2
- c1.1,3.8,2.1,7.1,3.1,9.7l9,24h-28l9.1-23.9c1.2-3.5,2.2-6.7,2.9-9.6L32.8,4h-1.4L5.9,68.8h3.8L18.1,47h30.2L56.8,68.8z
- M25.1,39.8h16.4l-7-18.5c-0.4-1.1-0.8-2.2-1.2-3.4c-0.4,1.1-0.7,2.2-1.2,3.4L25.1,39.8z"/>
- </g>
- <g>
- <path fill="#868482" d="M116.2,70.8l-1.5-7.3h-0.4c-2.6,3.2-5.1,5.4-7.7,6.5s-5.7,1.7-9.5,1.7c-5.1,0-9.1-1.3-12-3.9
- s-4.3-6.4-4.3-11.2c0-10.4,8.3-15.8,24.9-16.3l8.7-0.3v-3.2c0-4-0.9-7-2.6-8.9s-4.5-2.9-8.3-2.9c-4.3,0-9.1,1.3-14.5,3.9l-2.4-6
- c2.5-1.4,5.3-2.5,8.3-3.2s6-1.2,9.1-1.2c6.1,0,10.7,1.4,13.6,4.1s4.4,7.1,4.4,13.1v35.1H116.2z M98.7,65.3c4.8,0,8.6-1.3,11.4-4
- s4.1-6.4,4.1-11.2v-4.6l-7.8,0.3c-6.2,0.2-10.6,1.2-13.4,2.9S89,53.1,89,56.7c0,2.8,0.9,5,2.6,6.4S95.6,65.3,98.7,65.3z"/>
- <path fill="#868482" d="M97.1,73.8c-5.6,0-10.1-1.5-13.3-4.5c-3.3-3-5-7.3-5-12.7c0-11.6,9-17.8,26.8-18.3l6.8-0.2v-1.3
- c0-3.5-0.7-6.1-2.1-7.6c-1.3-1.5-3.6-2.2-6.8-2.2c-4,0-8.6,1.3-13.7,3.7l-1.9,0.9L84,22.1l1.6-0.8c2.7-1.4,5.6-2.6,8.8-3.4
- c3.2-0.8,6.4-1.2,9.6-1.2c6.6,0,11.7,1.6,15,4.6c3.4,3.1,5.1,8,5.1,14.5v37.1h-9.4l-1.1-5.3c-2,2-4,3.5-6,4.4
- C104.7,73.1,101.2,73.8,97.1,73.8z M103.5,23c4.4,0,7.7,1.2,9.8,3.5c2.1,2.3,3.1,5.7,3.1,10.3V42l-10.7,0.3
- c-23,0.7-23,10.9-23,14.3c0,4.3,1.2,7.5,3.7,9.7c2.5,2.3,6.1,3.4,10.6,3.4c3.5,0,6.4-0.5,8.7-1.5c2.2-1,4.6-3,6.9-6l0.6-0.8h2.6
- l0.7,1.6l1.2,5.7h2.1V35.8c0-5.4-1.3-9.3-3.8-11.6c-2.6-2.4-6.7-3.5-12.3-3.5c-2.8,0-5.7,0.4-8.6,1.1c-2.2,0.6-4.3,1.3-6.3,2.3
- l0.9,2.3C94.9,24.1,99.4,23,103.5,23z M98.7,67.3c-3.5,0-6.4-0.9-8.5-2.7C88,62.8,87,60.1,87,56.7c0-4.3,1.7-7.6,5-9.6
- c3.1-1.9,7.8-3,14.4-3.2l9.9-0.4v6.7c0,5.3-1.6,9.6-4.8,12.6C108.3,65.8,104,67.3,98.7,67.3z M112.2,47.6l-5.7,0.2
- c-5.8,0.2-10,1.1-12.4,2.6C92,51.8,91,53.8,91,56.7c0,2.2,0.6,3.8,1.9,4.9c1.3,1.1,3.3,1.7,5.8,1.7c4.3,0,7.6-1.1,10-3.4
- c2.4-2.3,3.5-5.5,3.5-9.7V47.6z"/>
- </g>
- </g>
- <rect y="88" fill="#868482" width="124" height="8"/>
-</g>
-</svg>
diff --git a/src/virtualkeyboard/content/styles/default/style.qml b/src/virtualkeyboard/content/styles/default/style.qml
deleted file mode 100644
index 095d5fc4..00000000
--- a/src/virtualkeyboard/content/styles/default/style.qml
+++ /dev/null
@@ -1,1036 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2016 The Qt Company Ltd.
-** Contact: https://www.qt.io/licensing/
-**
-** This file is part of the Qt Virtual Keyboard module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:GPL$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see https://www.qt.io/terms-conditions. For further
-** information use the contact form at https://www.qt.io/contact-us.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 3 or (at your option) any later version
-** approved by the KDE Free Qt Foundation. The licenses are as published by
-** the Free Software Foundation and appearing in the file LICENSE.GPL3
-** included in the packaging of this file. Please review the following
-** information to ensure the GNU General Public License requirements will
-** be met: https://www.gnu.org/licenses/gpl-3.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-import QtQuick 2.7
-import QtQuick.VirtualKeyboard 2.1
-import QtQuick.VirtualKeyboard.Styles 2.1
-
-KeyboardStyle {
- id: currentStyle
- readonly property bool compactSelectionList: [InputEngine.InputMode.Pinyin, InputEngine.InputMode.Cangjie, InputEngine.InputMode.Zhuyin].indexOf(InputContext.inputEngine.inputMode) !== -1
- readonly property string fontFamily: "Sans"
- readonly property real keyBackgroundMargin: Math.round(13 * scaleHint)
- readonly property real keyContentMargin: Math.round(45 * scaleHint)
- readonly property real keyIconScale: scaleHint * 0.6
- readonly property string resourcePrefix: "qrc:/QtQuick/VirtualKeyboard/content/styles/default/"
-
- readonly property string inputLocale: InputContext.locale
- property color inputLocaleIndicatorColor: "white"
- property Timer inputLocaleIndicatorHighlightTimer: Timer {
- interval: 1000
- onTriggered: inputLocaleIndicatorColor = "gray"
- }
- onInputLocaleChanged: {
- inputLocaleIndicatorColor = "white"
- inputLocaleIndicatorHighlightTimer.restart()
- }
-
- keyboardDesignWidth: 2560
- keyboardDesignHeight: 800
- keyboardRelativeLeftMargin: 114 / keyboardDesignWidth
- keyboardRelativeRightMargin: 114 / keyboardDesignWidth
- keyboardRelativeTopMargin: 13 / keyboardDesignHeight
- keyboardRelativeBottomMargin: 86 / keyboardDesignHeight
-
- keyboardBackground: Rectangle {
- color: "black"
- }
-
- keyPanel: KeyPanel {
- id: keyPanel
- Rectangle {
- id: keyBackground
- radius: 5
- color: "#383533"
- anchors.fill: keyPanel
- anchors.margins: keyBackgroundMargin
- Text {
- id: keySmallText
- text: control.smallText
- visible: control.smallTextVisible
- color: "gray"
- anchors.right: parent.right
- anchors.top: parent.top
- anchors.margins: keyContentMargin / 3
- font {
- family: fontFamily
- weight: Font.Normal
- pixelSize: 38 * scaleHint
- capitalization: control.uppercased ? Font.AllUppercase : Font.MixedCase
- }
- }
- Text {
- id: keyText
- text: control.displayText
- color: "white"
- horizontalAlignment: Text.AlignHCenter
- verticalAlignment: Text.AlignVCenter
- anchors.fill: parent
- anchors.leftMargin: keyContentMargin
- anchors.topMargin: keyContentMargin
- anchors.rightMargin: keyContentMargin
- anchors.bottomMargin: keyContentMargin
- font {
- family: fontFamily
- weight: Font.Normal
- pixelSize: 52 * scaleHint
- capitalization: control.uppercased ? Font.AllUppercase : Font.MixedCase
- }
- }
- }
- states: [
- State {
- name: "pressed"
- when: control.pressed
- PropertyChanges {
- target: keyBackground
- opacity: 0.75
- }
- PropertyChanges {
- target: keyText
- opacity: 0.5
- }
- },
- State {
- name: "disabled"
- when: !control.enabled
- PropertyChanges {
- target: keyBackground
- opacity: 0.75
- }
- PropertyChanges {
- target: keyText
- opacity: 0.05
- }
- }
- ]
- }
-
- backspaceKeyPanel: KeyPanel {
- id: backspaceKeyPanel
- Rectangle {
- id: backspaceKeyBackground
- radius: 5
- color: "#23211E"
- anchors.fill: backspaceKeyPanel
- anchors.margins: keyBackgroundMargin
- Image {
- id: backspaceKeyIcon
- anchors.centerIn: parent
- sourceSize.width: 159 * keyIconScale
- sourceSize.height: 88 * keyIconScale
- smooth: false
- source: resourcePrefix + "images/backspace-868482.svg"
- }
- }
- states: [
- State {
- name: "pressed"
- when: control.pressed
- PropertyChanges {
- target: backspaceKeyBackground
- opacity: 0.80
- }
- PropertyChanges {
- target: backspaceKeyIcon
- opacity: 0.6
- }
- },
- State {
- name: "disabled"
- when: !control.enabled
- PropertyChanges {
- target: backspaceKeyBackground
- opacity: 0.8
- }
- PropertyChanges {
- target: backspaceKeyIcon
- opacity: 0.2
- }
- }
- ]
- }
-
- languageKeyPanel: KeyPanel {
- id: languageKeyPanel
- Rectangle {
- id: languageKeyBackground
- radius: 5
- color: "#35322f"
- anchors.fill: languageKeyPanel
- anchors.margins: keyBackgroundMargin
- Image {
- id: languageKeyIcon
- anchors.centerIn: parent
- sourceSize.width: 144 * keyIconScale
- sourceSize.height: 144 * keyIconScale
- smooth: false
- source: resourcePrefix + "images/globe-868482.svg"
- }
- }
- states: [
- State {
- name: "pressed"
- when: control.pressed
- PropertyChanges {
- target: languageKeyBackground
- opacity: 0.80
- }
- PropertyChanges {
- target: languageKeyIcon
- opacity: 0.75
- }
- },
- State {
- name: "disabled"
- when: !control.enabled
- PropertyChanges {
- target: languageKeyBackground
- opacity: 0.8
- }
- PropertyChanges {
- target: languageKeyIcon
- opacity: 0.2
- }
- }
- ]
- }
-
- enterKeyPanel: KeyPanel {
- id: enterKeyPanel
- Rectangle {
- id: enterKeyBackground
- radius: 5
- color: "#1e1b18"
- anchors.fill: enterKeyPanel
- anchors.margins: keyBackgroundMargin
- Image {
- id: enterKeyIcon
- visible: enterKeyText.text.length === 0
- anchors.centerIn: parent
- readonly property size enterKeyIconSize: {
- switch (control.actionId) {
- case EnterKeyAction.Go:
- case EnterKeyAction.Send:
- case EnterKeyAction.Next:
- case EnterKeyAction.Done:
- return Qt.size(170, 119)
- case EnterKeyAction.Search:
- return Qt.size(148, 148)
- default:
- return Qt.size(211, 80)
- }
- }
- sourceSize.width: enterKeyIconSize.width * keyIconScale
- sourceSize.height: enterKeyIconSize.height * keyIconScale
- smooth: false
- source: {
- switch (control.actionId) {
- case EnterKeyAction.Go:
- case EnterKeyAction.Send:
- case EnterKeyAction.Next:
- case EnterKeyAction.Done:
- return resourcePrefix + "images/check-868482.svg"
- case EnterKeyAction.Search:
- return resourcePrefix + "images/search-868482.svg"
- default:
- return resourcePrefix + "images/enter-868482.svg"
- }
- }
- }
- Text {
- id: enterKeyText
- visible: text.length !== 0
- text: control.actionId !== EnterKeyAction.None ? control.displayText : ""
- clip: true
- fontSizeMode: Text.HorizontalFit
- horizontalAlignment: Text.AlignHCenter
- verticalAlignment: Text.AlignVCenter
- color: "#80c342"
- font {
- family: fontFamily
- weight: Font.Normal
- pixelSize: 44 * scaleHint
- capitalization: Font.AllUppercase
- }
- anchors.fill: parent
- anchors.margins: Math.round(42 * scaleHint)
- }
- }
- states: [
- State {
- name: "pressed"
- when: control.pressed
- PropertyChanges {
- target: enterKeyBackground
- opacity: 0.80
- }
- PropertyChanges {
- target: enterKeyIcon
- opacity: 0.6
- }
- PropertyChanges {
- target: enterKeyText
- opacity: 0.6
- }
- },
- State {
- name: "disabled"
- when: !control.enabled
- PropertyChanges {
- target: enterKeyBackground
- opacity: 0.8
- }
- PropertyChanges {
- target: enterKeyIcon
- opacity: 0.2
- }
- PropertyChanges {
- target: enterKeyText
- opacity: 0.2
- }
- }
- ]
- }
-
- hideKeyPanel: KeyPanel {
- id: hideKeyPanel
- Rectangle {
- id: hideKeyBackground
- radius: 5
- color: "#1e1b18"
- anchors.fill: hideKeyPanel
- anchors.margins: keyBackgroundMargin
- Image {
- id: hideKeyIcon
- anchors.centerIn: parent
- sourceSize.width: 144 * keyIconScale
- sourceSize.height: 127 * keyIconScale
- smooth: false
- source: resourcePrefix + "images/hidekeyboard-868482.svg"
- }
- }
- states: [
- State {
- name: "pressed"
- when: control.pressed
- PropertyChanges {
- target: hideKeyBackground
- opacity: 0.80
- }
- PropertyChanges {
- target: hideKeyIcon
- opacity: 0.6
- }
- },
- State {
- name: "disabled"
- when: !control.enabled
- PropertyChanges {
- target: hideKeyBackground
- opacity: 0.8
- }
- PropertyChanges {
- target: hideKeyIcon
- opacity: 0.2
- }
- }
- ]
- }
-
- shiftKeyPanel: KeyPanel {
- id: shiftKeyPanel
- Rectangle {
- id: shiftKeyBackground
- radius: 5
- color: "#1e1b18"
- anchors.fill: shiftKeyPanel
- anchors.margins: keyBackgroundMargin
- Image {
- id: shiftKeyIcon
- anchors.centerIn: parent
- sourceSize.width: 144 * keyIconScale
- sourceSize.height: 134 * keyIconScale
- smooth: false
- source: resourcePrefix + "images/shift-868482.svg"
- }
- states: [
- State {
- name: "capsLockActive"
- when: InputContext.capsLockActive
- PropertyChanges {
- target: shiftKeyBackground
- color: "#5a892e"
- }
- PropertyChanges {
- target: shiftKeyIcon
- source: resourcePrefix + "images/shift-c5d6b6.svg"
- }
- },
- State {
- name: "shiftActive"
- when: InputContext.shiftActive
- PropertyChanges {
- target: shiftKeyIcon
- source: resourcePrefix + "images/shift-80c342.svg"
- }
- }
- ]
- }
- states: [
- State {
- name: "pressed"
- when: control.pressed
- PropertyChanges {
- target: shiftKeyBackground
- opacity: 0.80
- }
- PropertyChanges {
- target: shiftKeyIcon
- opacity: 0.6
- }
- },
- State {
- name: "disabled"
- when: !control.enabled
- PropertyChanges {
- target: shiftKeyBackground
- opacity: 0.8
- }
- PropertyChanges {
- target: shiftKeyIcon
- opacity: 0.2
- }
- }
- ]
- }
-
- spaceKeyPanel: KeyPanel {
- id: spaceKeyPanel
- Rectangle {
- id: spaceKeyBackground
- radius: 5
- color: "#35322f"
- anchors.fill: spaceKeyPanel
- anchors.margins: keyBackgroundMargin
- Text {
- id: spaceKeyText
- text: Qt.locale(InputContext.locale).nativeLanguageName
- color: currentStyle.inputLocaleIndicatorColor
- Behavior on color { PropertyAnimation { duration: 250 } }
- anchors.centerIn: parent
- font {
- family: fontFamily
- weight: Font.Normal
- pixelSize: 48 * scaleHint
- }
- }
- }
- states: [
- State {
- name: "pressed"
- when: control.pressed
- PropertyChanges {
- target: spaceKeyBackground
- opacity: 0.80
- }
- },
- State {
- name: "disabled"
- when: !control.enabled
- PropertyChanges {
- target: spaceKeyBackground
- opacity: 0.8
- }
- }
- ]
- }
-
- symbolKeyPanel: KeyPanel {
- id: symbolKeyPanel
- Rectangle {
- id: symbolKeyBackground
- radius: 5
- color: "#1e1b18"
- anchors.fill: symbolKeyPanel
- anchors.margins: keyBackgroundMargin
- Text {
- id: symbolKeyText
- text: control.displayText
- color: "white"
- horizontalAlignment: Text.AlignHCenter
- verticalAlignment: Text.AlignVCenter
- anchors.fill: parent
- anchors.margins: keyContentMargin
- font {
- family: fontFamily
- weight: Font.Normal
- pixelSize: 44 * scaleHint
- capitalization: Font.AllUppercase
- }
- }
- }
- states: [
- State {
- name: "pressed"
- when: control.pressed
- PropertyChanges {
- target: symbolKeyBackground
- opacity: 0.80
- }
- PropertyChanges {
- target: symbolKeyText
- opacity: 0.6
- }
- },
- State {
- name: "disabled"
- when: !control.enabled
- PropertyChanges {
- target: symbolKeyBackground
- opacity: 0.8
- }
- PropertyChanges {
- target: symbolKeyText
- opacity: 0.2
- }
- }
- ]
- }
-
- modeKeyPanel: KeyPanel {
- id: modeKeyPanel
- Rectangle {
- id: modeKeyBackground
- radius: 5
- color: "#1e1b18"
- anchors.fill: modeKeyPanel
- anchors.margins: keyBackgroundMargin
- Text {
- id: modeKeyText
- text: control.displayText
- color: "white"
- horizontalAlignment: Text.AlignHCenter
- verticalAlignment: Text.AlignVCenter
- anchors.fill: parent
- anchors.margins: keyContentMargin
- font {
- family: fontFamily
- weight: Font.Normal
- pixelSize: 44 * scaleHint
- capitalization: Font.AllUppercase
- }
- }
- Rectangle {
- id: modeKeyIndicator
- implicitHeight: parent.height * 0.1
- anchors.left: parent.left
- anchors.right: parent.right
- anchors.bottom: parent.bottom
- anchors.leftMargin: parent.width * 0.4
- anchors.rightMargin: parent.width * 0.4
- anchors.bottomMargin: parent.height * 0.12
- color: "#80c342"
- radius: 3
- visible: control.mode
- }
- }
- states: [
- State {
- name: "pressed"
- when: control.pressed
- PropertyChanges {
- target: modeKeyBackground
- opacity: 0.80
- }
- PropertyChanges {
- target: modeKeyText
- opacity: 0.6
- }
- },
- State {
- name: "disabled"
- when: !control.enabled
- PropertyChanges {
- target: modeKeyBackground
- opacity: 0.8
- }
- PropertyChanges {
- target: modeKeyText
- opacity: 0.2
- }
- }
- ]
- }
-
- handwritingKeyPanel: KeyPanel {
- id: handwritingKeyPanel
- Rectangle {
- id: hwrKeyBackground
- radius: 5
- color: "#35322f"
- anchors.fill: handwritingKeyPanel
- anchors.margins: keyBackgroundMargin
- Image {
- id: hwrKeyIcon
- anchors.centerIn: parent
- readonly property size hwrKeyIconSize: keyboard.handwritingMode ? Qt.size(124, 96) : Qt.size(156, 104)
- sourceSize.width: hwrKeyIconSize.width * keyIconScale
- sourceSize.height: hwrKeyIconSize.height * keyIconScale
- smooth: false
- source: resourcePrefix + (keyboard.handwritingMode ? "images/textmode-868482.svg" : "images/handwriting-868482.svg")
- }
- }
- states: [
- State {
- name: "pressed"
- when: control.pressed
- PropertyChanges {
- target: hwrKeyBackground
- opacity: 0.80
- }
- PropertyChanges {
- target: hwrKeyIcon
- opacity: 0.6
- }
- },
- State {
- name: "disabled"
- when: !control.enabled
- PropertyChanges {
- target: hwrKeyBackground
- opacity: 0.8
- }
- PropertyChanges {
- target: hwrKeyIcon
- opacity: 0.2
- }
- }
- ]
- }
-
- characterPreviewMargin: 0
- characterPreviewDelegate: Item {
- property string text
- id: characterPreview
- Rectangle {
- id: characterPreviewBackground
- anchors.fill: parent
- color: "#5d5b59"
- radius: 5
- Text {
- id: characterPreviewText
- color: "white"
- text: characterPreview.text
- fontSizeMode: Text.HorizontalFit
- horizontalAlignment: Text.AlignHCenter
- verticalAlignment: Text.AlignVCenter
- anchors.fill: parent
- anchors.margins: Math.round(48 * scaleHint)
- font {
- family: fontFamily
- weight: Font.Normal
- pixelSize: 82 * scaleHint
- }
- }
- }
- }
-
- alternateKeysListItemWidth: 99 * scaleHint
- alternateKeysListItemHeight: 150 * scaleHint
- alternateKeysListDelegate: Item {
- id: alternateKeysListItem
- width: alternateKeysListItemWidth
- height: alternateKeysListItemHeight
- Text {
- id: listItemText
- text: model.text
- color: "#868482"
- font {
- family: fontFamily
- weight: Font.Normal
- pixelSize: 52 * scaleHint
- }
- anchors.centerIn: parent
- }
- states: State {
- name: "current"
- when: alternateKeysListItem.ListView.isCurrentItem
- PropertyChanges {
- target: listItemText
- color: "white"
- }
- }
- }
- alternateKeysListHighlight: Rectangle {
- color: "#5d5b59"
- radius: 5
- }
- alternateKeysListBackground: Rectangle {
- color: "#1e1b18"
- radius: 5
- }
-
- selectionListHeight: 85 * scaleHint
- selectionListDelegate: SelectionListItem {
- id: selectionListItem
- width: Math.round(selectionListLabel.width + selectionListLabel.anchors.leftMargin * 2)
- Text {
- id: selectionListLabel
- anchors.left: parent.left
- anchors.leftMargin: Math.round((compactSelectionList ? 50 : 140) * scaleHint)
- anchors.verticalCenter: parent.verticalCenter
- text: decorateText(display, wordCompletionLength)
- color: "#80c342"
- font {
- family: fontFamily
- weight: Font.Normal
- pixelSize: 44 * scaleHint
- }
- function decorateText(text, wordCompletionLength) {
- if (wordCompletionLength > 0) {
- return text.slice(0, -wordCompletionLength) + '<u>' + text.slice(-wordCompletionLength) + '</u>'
- }
- return text
- }
- }
- Rectangle {
- id: selectionListSeparator
- width: 4 * scaleHint
- height: 36 * scaleHint
- radius: 2
- color: "#35322f"
- anchors.verticalCenter: parent.verticalCenter
- anchors.right: parent.left
- }
- states: State {
- name: "current"
- when: selectionListItem.ListView.isCurrentItem
- PropertyChanges {
- target: selectionListLabel
- color: "white"
- }
- }
- }
- selectionListBackground: Rectangle {
- color: "#1e1b18"
- }
- selectionListAdd: Transition {
- NumberAnimation { property: "y"; from: wordCandidateView.height; duration: 200 }
- NumberAnimation { property: "opacity"; from: 0; to: 1; duration: 200 }
- }
- selectionListRemove: Transition {
- NumberAnimation { property: "y"; to: -wordCandidateView.height; duration: 200 }
- NumberAnimation { property: "opacity"; to: 0; duration: 200 }
- }
-
- navigationHighlight: Rectangle {
- color: "transparent"
- border.color: "yellow"
- border.width: 5
- }
-
- traceInputKeyPanelDelegate: TraceInputKeyPanel {
- id: traceInputKeyPanel
- traceMargins: keyBackgroundMargin
- Rectangle {
- id: traceInputKeyPanelBackground
- radius: 5
- color: "#35322f"
- anchors.fill: traceInputKeyPanel
- anchors.margins: keyBackgroundMargin
- Text {
- id: hwrInputModeIndicator
- visible: control.patternRecognitionMode === InputEngine.PatternRecognitionMode.Handwriting
- text: {
- switch (InputContext.inputEngine.inputMode) {
- case InputEngine.InputMode.Numeric:
- if (["ar", "fa"].indexOf(InputContext.locale.substring(0, 2)) !== -1)
- return "\u0660\u0661\u0662"
- // Fallthrough
- case InputEngine.InputMode.Dialable:
- return "123"
- case InputEngine.InputMode.Greek:
- return "ΑΒΓ"
- case InputEngine.InputMode.Cyrillic:
- return "АБВ"
- case InputEngine.InputMode.Arabic:
- if (InputContext.locale.substring(0, 2) === "fa")
- return "\u0627\u200C\u0628\u200C\u067E"
- return "\u0623\u200C\u0628\u200C\u062C"
- case InputEngine.InputMode.Hebrew:
- return "\u05D0\u05D1\u05D2"
- case InputEngine.InputMode.ChineseHandwriting:
- return "中文"
- case InputEngine.InputMode.JapaneseHandwriting:
- return "日本語"
- case InputEngine.InputMode.KoreanHandwriting:
- return "한국어"
- case InputEngine.InputMode.Thai:
- return "กขค"
- default:
- return "Abc"
- }
- }
- color: "white"
- anchors.left: parent.left
- anchors.top: parent.top
- anchors.margins: keyContentMargin
- font {
- family: fontFamily
- weight: Font.Normal
- pixelSize: 44 * scaleHint
- capitalization: {
- if (InputContext.capsLockActive)
- return Font.AllUppercase
- if (InputContext.shiftActive)
- return Font.MixedCase
- return Font.AllLowercase
- }
- }
- }
- }
- Canvas {
- id: traceInputKeyGuideLines
- anchors.fill: traceInputKeyPanelBackground
- opacity: 0.1
- onPaint: {
- var ctx = getContext("2d")
- ctx.lineWidth = 1
- ctx.strokeStyle = Qt.rgba(0xFF, 0xFF, 0xFF)
- ctx.clearRect(0, 0, width, height)
- var i
- var margin = Math.round(30 * scaleHint)
- if (control.horizontalRulers) {
- for (i = 0; i < control.horizontalRulers.length; i++) {
- ctx.beginPath()
- var y = Math.round(control.horizontalRulers[i])
- var rightMargin = Math.round(width - margin)
- if (i + 1 === control.horizontalRulers.length) {
- ctx.moveTo(margin, y)
- ctx.lineTo(rightMargin, y)
- } else {
- var dashLen = Math.round(20 * scaleHint)
- for (var dash = margin, dashCount = 0;
- dash < rightMargin; dash += dashLen, dashCount++) {
- if ((dashCount & 1) === 0) {
- ctx.moveTo(dash, y)
- ctx.lineTo(Math.min(dash + dashLen, rightMargin), y)
- }
- }
- }
- ctx.stroke()
- }
- }
- if (control.verticalRulers) {
- for (i = 0; i < control.verticalRulers.length; i++) {
- ctx.beginPath()
- ctx.moveTo(control.verticalRulers[i], margin)
- ctx.lineTo(control.verticalRulers[i], Math.round(height - margin))
- ctx.stroke()
- }
- }
- }
- Connections {
- target: control
- onHorizontalRulersChanged: traceInputKeyGuideLines.requestPaint()
- onVerticalRulersChanged: traceInputKeyGuideLines.requestPaint()
- }
- }
- }
-
- traceCanvasDelegate: TraceCanvas {
- id: traceCanvas
- onAvailableChanged: {
- if (!available)
- return
- var ctx = getContext("2d")
- if (parent.canvasType === "fullscreen") {
- ctx.lineWidth = 10
- ctx.strokeStyle = Qt.rgba(0, 0, 0)
- } else {
- ctx.lineWidth = 10 * scaleHint
- ctx.strokeStyle = Qt.rgba(0xFF, 0xFF, 0xFF)
- }
- ctx.lineCap = "round"
- ctx.fillStyle = ctx.strokeStyle
- }
- autoDestroyDelay: 800
- onTraceChanged: if (trace === null) opacity = 0
- Behavior on opacity { PropertyAnimation { easing.type: Easing.OutCubic; duration: 150 } }
- }
-
- popupListDelegate: SelectionListItem {
- property real cursorAnchor: popupListLabel.x + popupListLabel.width
- id: popupListItem
- width: popupListLabel.width + popupListLabel.anchors.leftMargin * 2
- height: popupListLabel.height + popupListLabel.anchors.topMargin * 2
- Text {
- id: popupListLabel
- anchors.left: parent.left
- anchors.top: parent.top
- anchors.leftMargin: popupListLabel.height / 2
- anchors.topMargin: popupListLabel.height / 3
- text: decorateText(display, wordCompletionLength)
- color: "#5CAA15"
- font {
- family: fontFamily
- weight: Font.Normal
- pixelSize: Qt.inputMethod.cursorRectangle.height * 0.8
- }
- function decorateText(text, wordCompletionLength) {
- if (wordCompletionLength > 0) {
- return text.slice(0, -wordCompletionLength) + '<u>' + text.slice(-wordCompletionLength) + '</u>'
- }
- return text
- }
- }
- states: State {
- name: "current"
- when: popupListItem.ListView.isCurrentItem
- PropertyChanges {
- target: popupListLabel
- color: "black"
- }
- }
- }
-
- popupListBackground: Item {
- Rectangle {
- width: parent.width
- height: parent.height
- color: "white"
- border {
- width: 1
- color: "#929495"
- }
- }
- }
-
- popupListAdd: Transition {
- NumberAnimation { property: "opacity"; from: 0; to: 1.0; duration: 200 }
- }
-
- popupListRemove: Transition {
- NumberAnimation { property: "opacity"; to: 0; duration: 200 }
- }
-
- languagePopupListEnabled: true
-
- languageListDelegate: SelectionListItem {
- id: languageListItem
- width: languageNameTextMetrics.width * 17
- height: languageNameTextMetrics.height + languageListLabel.anchors.topMargin + languageListLabel.anchors.bottomMargin
- Text {
- id: languageListLabel
- anchors.left: parent.left
- anchors.top: parent.top
- anchors.leftMargin: languageNameTextMetrics.height / 2
- anchors.rightMargin: anchors.leftMargin
- anchors.topMargin: languageNameTextMetrics.height / 3
- anchors.bottomMargin: anchors.topMargin
- text: languageNameFormatter.elidedText
- color: "#5CAA15"
- font {
- family: fontFamily
- weight: Font.Normal
- pixelSize: 44 * scaleHint
- }
- }
- TextMetrics {
- id: languageNameTextMetrics
- font {
- family: fontFamily
- weight: Font.Normal
- pixelSize: 44 * scaleHint
- }
- text: "X"
- }
- TextMetrics {
- id: languageNameFormatter
- font {
- family: fontFamily
- weight: Font.Normal
- pixelSize: 44 * scaleHint
- }
- elide: Text.ElideRight
- elideWidth: languageListItem.width - languageListLabel.anchors.leftMargin - languageListLabel.anchors.rightMargin
- text: displayName
- }
- states: State {
- name: "current"
- when: languageListItem.ListView.isCurrentItem
- PropertyChanges {
- target: languageListLabel
- color: "black"
- }
- }
- }
-
- languageListBackground: Rectangle {
- color: "white"
- border {
- width: 1
- color: "#929495"
- }
- }
-
- languageListAdd: Transition {
- NumberAnimation { property: "opacity"; from: 0; to: 1.0; duration: 200 }
- }
-
- languageListRemove: Transition {
- NumberAnimation { property: "opacity"; to: 0; duration: 200 }
- }
-
- selectionHandle: Image {
- sourceSize.width: 20
- source: resourcePrefix + "images/selectionhandle-bottom.svg"
- }
-
- fullScreenInputContainerBackground: Rectangle {
- color: "#FFF"
- }
-
- fullScreenInputBackground: Rectangle {
- color: "#FFF"
- }
-
- fullScreenInputMargins: Math.round(15 * scaleHint)
-
- fullScreenInputPadding: Math.round(30 * scaleHint)
-
- fullScreenInputCursor: Rectangle {
- width: 1
- color: "#000"
- visible: parent.blinkStatus
- }
-
- fullScreenInputFont.pixelSize: 58 * scaleHint
-}
diff --git a/src/virtualkeyboard/content/styles/default/virtualkeyboard_default_style.qrc b/src/virtualkeyboard/content/styles/default/virtualkeyboard_default_style.qrc
deleted file mode 100644
index 277e8cde..00000000
--- a/src/virtualkeyboard/content/styles/default/virtualkeyboard_default_style.qrc
+++ /dev/null
@@ -1,17 +0,0 @@
-<RCC>
- <qresource prefix="/QtQuick/VirtualKeyboard/content/styles/default">
- <file>style.qml</file>
- <file>images/backspace-868482.svg</file>
- <file>images/check-868482.svg</file>
- <file>images/enter-868482.svg</file>
- <file>images/globe-868482.svg</file>
- <file>images/handwriting-868482.svg</file>
- <file>images/hidekeyboard-868482.svg</file>
- <file>images/search-868482.svg</file>
- <file>images/shift-80c342.svg</file>
- <file>images/shift-868482.svg</file>
- <file>images/shift-c5d6b6.svg</file>
- <file>images/textmode-868482.svg</file>
- <file>images/selectionhandle-bottom.svg</file>
- </qresource>
-</RCC>
diff --git a/src/virtualkeyboard/content/styles/retro/images/backspace-c5a96f.svg b/src/virtualkeyboard/content/styles/retro/images/backspace-c5a96f.svg
deleted file mode 100644
index a242531a..00000000
--- a/src/virtualkeyboard/content/styles/retro/images/backspace-c5a96f.svg
+++ /dev/null
@@ -1,23 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Generator: Adobe Illustrator 18.1.1, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
-<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
- width="159px" height="88px" viewBox="0 0 159 88" enable-background="new 0 0 159 88" xml:space="preserve">
-<g>
- <rect fill="none" width="159" height="88"/>
- <g>
- <g>
- <path fill="#C5A96F" d="M158.8,88H44L0,44L44,0h114.8V88z M48.7,76.7h98.8V11.3H48.7L16,44L48.7,76.7z"/>
- </g>
- <g>
- <g>
-
- <rect x="87.3" y="16.2" transform="matrix(-0.7071 -0.7071 0.7071 -0.7071 127.5895 140.8497)" fill="#C5A96F" width="11.3" height="55.7"/>
- </g>
- <g>
-
- <rect x="65.1" y="38.4" transform="matrix(-0.7071 -0.7071 0.7071 -0.7071 127.5954 140.8499)" fill="#C5A96F" width="55.7" height="11.3"/>
- </g>
- </g>
- </g>
-</g>
-</svg>
diff --git a/src/virtualkeyboard/content/styles/retro/images/check-c5a96f.svg b/src/virtualkeyboard/content/styles/retro/images/check-c5a96f.svg
deleted file mode 100644
index e45b41ab..00000000
--- a/src/virtualkeyboard/content/styles/retro/images/check-c5a96f.svg
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Generator: Adobe Illustrator 18.1.1, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
-<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
- width="170px" height="119px" viewBox="0 0 170 119" enable-background="new 0 0 170 119" xml:space="preserve">
-<g>
- <polygon fill="#C5A96F" points="62.3,119 0,56.7 11.3,45.3 62.3,96.3 158.7,0 170,11.3 "/>
-</g>
-</svg>
diff --git a/src/virtualkeyboard/content/styles/retro/images/enter-c5a96f.svg b/src/virtualkeyboard/content/styles/retro/images/enter-c5a96f.svg
deleted file mode 100644
index ddbd86e8..00000000
--- a/src/virtualkeyboard/content/styles/retro/images/enter-c5a96f.svg
+++ /dev/null
@@ -1,13 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Generator: Adobe Illustrator 18.1.1, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
-<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
- width="211px" height="80px" viewBox="0 0 211 80" enable-background="new 0 0 211 80" xml:space="preserve">
-<g>
- <rect fill="none" width="211" height="80"/>
- <g>
- <rect x="9.2" y="33.8" fill="#C5A96F" width="201.8" height="12.3"/>
- <rect x="198.7" y="10.7" fill="#C5A96F" width="12.3" height="35.3"/>
- <polygon fill="#C5A96F" points="44.5,0 44.5,79.8 0,40.7 "/>
- </g>
-</g>
-</svg>
diff --git a/src/virtualkeyboard/content/styles/retro/images/globe-110b05.svg b/src/virtualkeyboard/content/styles/retro/images/globe-110b05.svg
deleted file mode 100644
index 591ab50f..00000000
--- a/src/virtualkeyboard/content/styles/retro/images/globe-110b05.svg
+++ /dev/null
@@ -1,26 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Generator: Adobe Illustrator 18.1.1, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
-<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
- width="144px" height="144px" viewBox="0 0 144 144" enable-background="new 0 0 144 144" xml:space="preserve">
-<g>
- <rect fill="none" width="144" height="144"/>
- <g>
- <path fill="#110B05" d="M72,144c-39.5,0-71.8-32.1-72-71.6C-0.2,32.7,31.9,0.2,71.6,0h0.7c19.1,0.1,37.1,7.6,50.6,21.1
- s21,31.5,21.1,50.5c0.1,19.2-7.3,37.4-20.8,51c-13.5,13.7-31.6,21.3-50.8,21.4C72.2,144,72.1,144,72,144z M76.3,101.3v32.3
- c9-8.1,16-17.9,20.6-28.7C90.2,102.9,83.3,101.7,76.3,101.3z M47,104.9c3.2,7.4,7.5,14.3,12.8,20.6c2.4,2.9,5.1,5.6,7.9,8.1v-32.3
- C60.7,101.7,53.8,102.9,47,104.9z M105.2,107.9c-3.9,9.2-9.2,17.6-15.9,25.1c10.4-2.9,19.9-8.5,27.8-16.4c0.5-0.5,1-1.1,1.6-1.6
- C114.3,112.1,109.8,109.8,105.2,107.9z M25.5,114.9c7.8,8.5,17.9,14.8,29.3,18c-0.5-0.6-1.1-1.2-1.6-1.8
- c-6-7.1-10.8-14.9-14.3-23.3C34.2,109.8,29.8,112.1,25.5,114.9z M108.1,99.7c5.5,2.3,10.8,5.1,15.9,8.4
- c6.5-9.4,10.4-20.3,11.2-31.8h-22.9c-0.1,1.2-0.1,2.4-0.2,3.7C111.4,86.8,110.1,93.4,108.1,99.7z M8.8,76.3
- C9.6,88.1,13.6,99,20,108.1c5.1-3.3,10.4-6.1,15.8-8.4c-2.4-7.5-3.7-15.4-4.1-23.4L8.8,76.3L8.8,76.3z M40.4,76.3
- c0.3,7,1.5,13.8,3.6,20.4c7.7-2.4,15.7-3.8,23.7-4.1V76.3H40.4z M76.3,92.6c8,0.4,15.9,1.7,23.6,4.1c1.7-5.6,2.9-11.5,3.4-17.5
- c0.1-1,0.1-2,0.2-2.9H76.3V92.6z M112.2,67.7h23c-0.8-11.5-4.6-22.4-11.2-31.8c-5.1,3.4-10.5,6.2-16.1,8.5
- C110.4,51.9,111.8,59.7,112.2,67.7z M76.3,67.7h27.2c-0.4-7-1.6-13.8-3.7-20.4c-7.7,2.4-15.5,3.7-23.5,4.1V67.7z M40.5,67.7h27.2
- V51.4c-7.9-0.4-15.8-1.7-23.4-4.1c-1.8,5.8-3,11.9-3.6,18.1C40.6,66.2,40.5,66.9,40.5,67.7z M8.8,67.7h23c0.1-1,0.1-2,0.2-3
- c0.6-7,2-13.8,4-20.3c-5.5-2.3-10.9-5.1-16-8.5C13.6,45,9.6,55.9,8.8,67.7z M76.3,11.1v31.6c6.9-0.3,13.7-1.5,20.4-3.5
- c-3.1-7.1-7.3-13.9-12.5-20C81.8,16.3,79.1,13.6,76.3,11.1z M47.3,39.2c6.7,2,13.5,3.2,20.4,3.5V11.1C58.8,19,51.9,28.6,47.3,39.2
- z M88.4,10.8c0.8,0.9,1.6,1.8,2.4,2.8c5.9,6.9,10.6,14.6,14.1,22.7c4.7-2,9.3-4.3,13.7-7.2c-0.6-0.6-1.2-1.2-1.8-1.9
- C108.8,19.2,99,13.6,88.4,10.8z M25.5,29.1c4.4,2.8,8.9,5.2,13.6,7.1c4-9.3,9.5-17.9,16.5-25.4C43.8,14,33.5,20.4,25.5,29.1z"/>
- </g>
-</g>
-</svg>
diff --git a/src/virtualkeyboard/content/styles/retro/images/handwriting-110b05.svg b/src/virtualkeyboard/content/styles/retro/images/handwriting-110b05.svg
deleted file mode 100644
index d19c4da7..00000000
--- a/src/virtualkeyboard/content/styles/retro/images/handwriting-110b05.svg
+++ /dev/null
@@ -1,18 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Generator: Adobe Illustrator 18.1.1, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
-<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
- width="156px" height="104px" viewBox="0 0 156 104" enable-background="new 0 0 156 104" xml:space="preserve">
-<g>
- <rect fill="none" width="156" height="104"/>
- <g>
- <path fill="#110B05" d="M37.6,103.3c-10.1,0-18.9-5-23.1-13.6C4.4,68.7,19.9,52.3,36.2,35c1.2-1.2,2.4-2.5,3.6-3.8
- c5.3-5.7,5.2-11.5,3.5-14.8c-1.8-3.4-5.5-4.9-10.2-4.2c-16.5,2.6-21.2,26.4-21.2,26.6L0,36.6C0.3,35.3,6.4,4.3,31.2,0.3
- c9.8-1.6,18.5,2.4,22.7,10.4c4.7,8.9,2.6,20.1-5.3,28.6c-1.2,1.3-2.4,2.6-3.6,3.8C28.3,60.9,19.1,71.6,25.4,84.5
- c3.3,6.8,11.1,7.6,16.9,6.3c9.2-2.1,19.8-11.1,19.7-29.5c-0.2-28.1,16.2-41.8,30.2-44.9c14.5-3.2,28.4,3.6,34.7,17
- c1.3,2.8,2.3,5.4,3.1,8.1c13.3,0.7,25.5,4.3,26,4.4l-3.4,11.5c-0.1,0-9.7-2.8-20.6-3.8c0.5,16.5-8.6,28.9-20.1,34.7
- c-11.9,6-24,3.8-28.9-5.2c-3.1-5.6-1.9-14.7,2.9-22.5c7.9-13,21.3-17.4,31.5-18.8c-0.4-1.2-0.9-2.4-1.4-3.4
- c-3.9-8.3-12.2-12.4-21.1-10.4c-9.7,2.2-21,12.1-20.8,33.1c0.2,25.5-15.6,38.1-29,41.3C42.5,103,40,103.3,37.6,103.3z M119.8,53.7
- c-14,1.5-20.6,8.5-23.4,12.9c-3.3,5.2-3.4,9.8-2.9,10.9c1.6,2.9,7.3,3,13,0.2C117.3,72.2,120.3,62.6,119.8,53.7z"/>
- </g>
-</g>
-</svg>
diff --git a/src/virtualkeyboard/content/styles/retro/images/hidekeyboard-c5a96f.svg b/src/virtualkeyboard/content/styles/retro/images/hidekeyboard-c5a96f.svg
deleted file mode 100644
index a4019bf3..00000000
--- a/src/virtualkeyboard/content/styles/retro/images/hidekeyboard-c5a96f.svg
+++ /dev/null
@@ -1,55 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Generator: Adobe Illustrator 18.1.1, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
-<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
- width="144px" height="127px" viewBox="0 0 144 127" enable-background="new 0 0 144 127" xml:space="preserve">
-<g>
- <rect fill="none" width="144" height="127"/>
- <g>
- <g>
- <path fill="#C5A96F" d="M144,90.3H0V0h144V90.3z M10.9,79.4h122.2V10.9H10.9V79.4z"/>
- </g>
- <g>
- <rect x="19.5" y="20.2" fill="#C5A96F" width="11.7" height="11.7"/>
- </g>
- <g>
- <rect x="38.1" y="20.2" fill="#C5A96F" width="11.7" height="11.7"/>
- </g>
- <g>
- <rect x="56.8" y="20.2" fill="#C5A96F" width="11.7" height="11.7"/>
- </g>
- <g>
- <rect x="75.5" y="20.2" fill="#C5A96F" width="11.7" height="11.7"/>
- </g>
- <g>
- <rect x="94.2" y="20.2" fill="#C5A96F" width="11.7" height="11.7"/>
- </g>
- <g>
- <rect x="112.9" y="20.2" fill="#C5A96F" width="11.7" height="11.7"/>
- </g>
- <g>
- <rect x="19.5" y="39.7" fill="#C5A96F" width="11.7" height="11.7"/>
- </g>
- <g>
- <rect x="38.1" y="39.7" fill="#C5A96F" width="11.7" height="11.7"/>
- </g>
- <g>
- <rect x="56.8" y="39.7" fill="#C5A96F" width="11.7" height="11.7"/>
- </g>
- <g>
- <rect x="75.5" y="39.7" fill="#C5A96F" width="11.7" height="11.7"/>
- </g>
- <g>
- <rect x="94.2" y="39.7" fill="#C5A96F" width="11.7" height="11.7"/>
- </g>
- <g>
- <rect x="112.9" y="39.7" fill="#C5A96F" width="11.7" height="11.7"/>
- </g>
- <g>
- <rect x="38.1" y="59.2" fill="#C5A96F" width="67.7" height="11.7"/>
- </g>
- <g>
- <polygon fill="#C5A96F" points="72,115.2 62.2,108.2 45.9,108.2 72,126.9 98.1,108.2 81.8,108.2 "/>
- </g>
- </g>
-</g>
-</svg>
diff --git a/src/virtualkeyboard/content/styles/retro/images/key154px_black.png b/src/virtualkeyboard/content/styles/retro/images/key154px_black.png
deleted file mode 100644
index d9bf8e72..00000000
--- a/src/virtualkeyboard/content/styles/retro/images/key154px_black.png
+++ /dev/null
Binary files differ
diff --git a/src/virtualkeyboard/content/styles/retro/images/key154px_black_long.png b/src/virtualkeyboard/content/styles/retro/images/key154px_black_long.png
deleted file mode 100644
index 492c718a..00000000
--- a/src/virtualkeyboard/content/styles/retro/images/key154px_black_long.png
+++ /dev/null
Binary files differ
diff --git a/src/virtualkeyboard/content/styles/retro/images/key154px_capslock.png b/src/virtualkeyboard/content/styles/retro/images/key154px_capslock.png
deleted file mode 100644
index 7cb0bd4a..00000000
--- a/src/virtualkeyboard/content/styles/retro/images/key154px_capslock.png
+++ /dev/null
Binary files differ
diff --git a/src/virtualkeyboard/content/styles/retro/images/key154px_capslock_long.png b/src/virtualkeyboard/content/styles/retro/images/key154px_capslock_long.png
deleted file mode 100644
index 429d4bb5..00000000
--- a/src/virtualkeyboard/content/styles/retro/images/key154px_capslock_long.png
+++ /dev/null
Binary files differ
diff --git a/src/virtualkeyboard/content/styles/retro/images/key154px_colorA.png b/src/virtualkeyboard/content/styles/retro/images/key154px_colorA.png
deleted file mode 100644
index 778384cd..00000000
--- a/src/virtualkeyboard/content/styles/retro/images/key154px_colorA.png
+++ /dev/null
Binary files differ
diff --git a/src/virtualkeyboard/content/styles/retro/images/key154px_colorA.svg b/src/virtualkeyboard/content/styles/retro/images/key154px_colorA.svg
deleted file mode 100644
index 13af8a63..00000000
--- a/src/virtualkeyboard/content/styles/retro/images/key154px_colorA.svg
+++ /dev/null
@@ -1,19 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Generator: Adobe Illustrator 18.1.1, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
-<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
- viewBox="0 0 154 154" enable-background="new 0 0 154 154" xml:space="preserve">
-<g>
- <radialGradient id="SVGID_1_" cx="77" cy="77" r="73" gradientUnits="userSpaceOnUse">
- <stop offset="0" style="stop-color:#CFBE90"/>
- <stop offset="1" style="stop-color:#B2945A"/>
- </radialGradient>
- <path fill="url(#SVGID_1_)" d="M77,150c-40.3,0-73-32.7-73-73C4,36.7,36.7,4,77,4c40.3,0,73,32.7,73,73C150,117.3,117.3,150,77,150
- z"/>
- <path fill="#C2B49B" d="M77,8c38,0,69,31,69,69s-31,69-69,69S8,115,8,77S39,8,77,8 M77,0C34.5,0,0,34.5,0,77s34.5,77,77,77
- s77-34.5,77-77S119.5,0,77,0L77,0z"/>
-</g>
-<g opacity="8.000000e-02">
- <path d="M77,16c33.6,0,61,27.4,61,61s-27.4,61-61,61s-61-27.4-61-61S43.4,16,77,16 M77,8C38.9,8,8,38.9,8,77s30.9,69,69,69
- s69-30.9,69-69S115.1,8,77,8L77,8z"/>
-</g>
-</svg>
diff --git a/src/virtualkeyboard/content/styles/retro/images/key154px_colorA_long.png b/src/virtualkeyboard/content/styles/retro/images/key154px_colorA_long.png
deleted file mode 100644
index e1b6e5b8..00000000
--- a/src/virtualkeyboard/content/styles/retro/images/key154px_colorA_long.png
+++ /dev/null
Binary files differ
diff --git a/src/virtualkeyboard/content/styles/retro/images/key154px_colorB.png b/src/virtualkeyboard/content/styles/retro/images/key154px_colorB.png
deleted file mode 100644
index cef9fd29..00000000
--- a/src/virtualkeyboard/content/styles/retro/images/key154px_colorB.png
+++ /dev/null
Binary files differ
diff --git a/src/virtualkeyboard/content/styles/retro/images/key154px_shiftcase.png b/src/virtualkeyboard/content/styles/retro/images/key154px_shiftcase.png
deleted file mode 100644
index 58bf8282..00000000
--- a/src/virtualkeyboard/content/styles/retro/images/key154px_shiftcase.png
+++ /dev/null
Binary files differ
diff --git a/src/virtualkeyboard/content/styles/retro/images/key154px_shiftcase_long.png b/src/virtualkeyboard/content/styles/retro/images/key154px_shiftcase_long.png
deleted file mode 100644
index bfcba5fd..00000000
--- a/src/virtualkeyboard/content/styles/retro/images/key154px_shiftcase_long.png
+++ /dev/null
Binary files differ
diff --git a/src/virtualkeyboard/content/styles/retro/images/key156px_black_long.png b/src/virtualkeyboard/content/styles/retro/images/key156px_black_long.png
deleted file mode 100644
index a22109bd..00000000
--- a/src/virtualkeyboard/content/styles/retro/images/key156px_black_long.png
+++ /dev/null
Binary files differ
diff --git a/src/virtualkeyboard/content/styles/retro/images/key156px_black_medium_long.png b/src/virtualkeyboard/content/styles/retro/images/key156px_black_medium_long.png
deleted file mode 100644
index 8c92d3b1..00000000
--- a/src/virtualkeyboard/content/styles/retro/images/key156px_black_medium_long.png
+++ /dev/null
Binary files differ
diff --git a/src/virtualkeyboard/content/styles/retro/images/key156px_colorA.png b/src/virtualkeyboard/content/styles/retro/images/key156px_colorA.png
deleted file mode 100644
index 6da57d60..00000000
--- a/src/virtualkeyboard/content/styles/retro/images/key156px_colorA.png
+++ /dev/null
Binary files differ
diff --git a/src/virtualkeyboard/content/styles/retro/images/key156px_colorB.png b/src/virtualkeyboard/content/styles/retro/images/key156px_colorB.png
deleted file mode 100644
index af0912e3..00000000
--- a/src/virtualkeyboard/content/styles/retro/images/key156px_colorB.png
+++ /dev/null
Binary files differ
diff --git a/src/virtualkeyboard/content/styles/retro/images/key160px_black.png b/src/virtualkeyboard/content/styles/retro/images/key160px_black.png
deleted file mode 100644
index 565c4bf7..00000000
--- a/src/virtualkeyboard/content/styles/retro/images/key160px_black.png
+++ /dev/null
Binary files differ
diff --git a/src/virtualkeyboard/content/styles/retro/images/key160px_colorA.png b/src/virtualkeyboard/content/styles/retro/images/key160px_colorA.png
deleted file mode 100644
index e2125cf8..00000000
--- a/src/virtualkeyboard/content/styles/retro/images/key160px_colorA.png
+++ /dev/null
Binary files differ
diff --git a/src/virtualkeyboard/content/styles/retro/images/key160px_colorB.png b/src/virtualkeyboard/content/styles/retro/images/key160px_colorB.png
deleted file mode 100644
index 9b543b05..00000000
--- a/src/virtualkeyboard/content/styles/retro/images/key160px_colorB.png
+++ /dev/null
Binary files differ
diff --git a/src/virtualkeyboard/content/styles/retro/images/key_preview.png b/src/virtualkeyboard/content/styles/retro/images/key_preview.png
deleted file mode 100644
index 3e9e9557..00000000
--- a/src/virtualkeyboard/content/styles/retro/images/key_preview.png
+++ /dev/null
Binary files differ
diff --git a/src/virtualkeyboard/content/styles/retro/images/search-c5a96f.svg b/src/virtualkeyboard/content/styles/retro/images/search-c5a96f.svg
deleted file mode 100644
index a1f7c903..00000000
--- a/src/virtualkeyboard/content/styles/retro/images/search-c5a96f.svg
+++ /dev/null
@@ -1,14 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Generator: Adobe Illustrator 18.1.1, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
-<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
- width="148px" height="148px" viewBox="0 0 148 148" enable-background="new 0 0 148 148" xml:space="preserve">
-<g>
- <rect fill="none" width="148" height="148"/>
- <g>
- <path fill="#C5A96F" d="M146.8,132.7c1.6,1.6,1.6,4.1,0,5.7l-8.5,8.5c-1.6,1.6-4.1,1.6-5.7,0l-44.6-44.6c-1.6-1.6-1.6-4.1,0-5.7
- l8.5-8.5c1.6-1.6,4.1-1.6,5.7,0L146.8,132.7z"/>
- <path fill="#C5A96F" d="M58,12c25.4,0,46,20.6,46,46s-20.6,46-46,46c-25.4,0-46-20.6-46-46S32.6,12,58,12 M58,0C26,0,0,26,0,58
- s26,58,58,58c32,0,58-26,58-58S90,0,58,0L58,0z"/>
- </g>
-</g>
-</svg>
diff --git a/src/virtualkeyboard/content/styles/retro/images/selectionhandle-bottom.svg b/src/virtualkeyboard/content/styles/retro/images/selectionhandle-bottom.svg
deleted file mode 100644
index 1a45a736..00000000
--- a/src/virtualkeyboard/content/styles/retro/images/selectionhandle-bottom.svg
+++ /dev/null
@@ -1,9 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Generator: Adobe Illustrator 19.2.1, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
-<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
- width="54px" height="94px" viewBox="0 0 54 94" enable-background="new 0 0 54 94" xml:space="preserve">
-<rect x="24" y="0" opacity="0.85" fill="#37260B" width="6" height="55"/>
-<path opacity="0.85" fill="#37260B" d="M54,67c0,14.912-12.088,27-27,27S0,81.912,0,67c0-19.758,27-30,27-30S54,47.25,54,67z"/>
-<rect x="24" y="0" fill="#B57C47" width="6" height="55"/>
-<path fill="#B57C47" d="M54,63c0,14.912-12.088,27-27,27S0,77.912,0,63c0-19.758,27-30,27-30S54,43.25,54,63z"/>
-</svg>
diff --git a/src/virtualkeyboard/content/styles/retro/images/shift-c5a96f.svg b/src/virtualkeyboard/content/styles/retro/images/shift-c5a96f.svg
deleted file mode 100644
index 3da185d2..00000000
--- a/src/virtualkeyboard/content/styles/retro/images/shift-c5a96f.svg
+++ /dev/null
@@ -1,12 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Generator: Adobe Illustrator 18.1.1, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
-<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
- width="144px" height="134px" viewBox="0 0 144 134" enable-background="new 0 0 144 134" xml:space="preserve">
-<g>
- <rect fill="none" width="144" height="134"/>
- <g>
- <path fill="#C5A96F" d="M103.6,134H40.2V77.5H0L71.9,0l71.9,77.5h-40.2V134L103.6,134z M51.7,122.5h40.5V66.1h25.4L71.9,16.8
- L26.2,66.1h25.4L51.7,122.5L51.7,122.5z"/>
- </g>
-</g>
-</svg>
diff --git a/src/virtualkeyboard/content/styles/retro/images/shift-cd8865.svg b/src/virtualkeyboard/content/styles/retro/images/shift-cd8865.svg
deleted file mode 100644
index 09eba7cd..00000000
--- a/src/virtualkeyboard/content/styles/retro/images/shift-cd8865.svg
+++ /dev/null
@@ -1,12 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Generator: Adobe Illustrator 18.1.1, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
-<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
- width="144px" height="134px" viewBox="0 0 144 134" enable-background="new 0 0 144 134" xml:space="preserve">
-<g>
- <rect fill="none" width="144" height="134"/>
- <g>
- <path fill="#CD8865" d="M103.6,134H40.2V77.5H0L71.9,0l71.9,77.5h-40.2V134L103.6,134z M51.7,122.5h40.5V66.1h25.4L71.9,16.8
- L26.2,66.1h25.4L51.7,122.5L51.7,122.5z"/>
- </g>
-</g>
-</svg>
diff --git a/src/virtualkeyboard/content/styles/retro/images/shift-dc4f28.svg b/src/virtualkeyboard/content/styles/retro/images/shift-dc4f28.svg
deleted file mode 100644
index d1a5d5ee..00000000
--- a/src/virtualkeyboard/content/styles/retro/images/shift-dc4f28.svg
+++ /dev/null
@@ -1,12 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Generator: Adobe Illustrator 18.1.1, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
-<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
- width="144px" height="134px" viewBox="0 0 144 134" enable-background="new 0 0 144 134" xml:space="preserve">
-<g>
- <rect fill="none" width="144" height="134"/>
- <g>
- <path fill="#DC4F28" d="M103.6,134H40.2V77.5H0L71.9,0l71.9,77.5h-40.2L103.6,134L103.6,134z M51.7,122.5h40.5V66.1h25.4
- L71.9,16.8L26.2,66.1h25.4L51.7,122.5L51.7,122.5z"/>
- </g>
-</g>
-</svg>
diff --git a/src/virtualkeyboard/content/styles/retro/images/textmode-110b05.svg b/src/virtualkeyboard/content/styles/retro/images/textmode-110b05.svg
deleted file mode 100644
index b891d960..00000000
--- a/src/virtualkeyboard/content/styles/retro/images/textmode-110b05.svg
+++ /dev/null
@@ -1,33 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Generator: Adobe Illustrator 18.1.1, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
-<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
- width="124px" height="96px" viewBox="0 0 124 96" enable-background="new 0 0 124 96" xml:space="preserve">
-<g>
- <g>
- <g>
- <path fill="#110B05" d="M55.4,70.8L46.9,49H19.4L11,70.8H2.9L30,2h6.7l27,68.8H55.4z M44.4,41.8l-8-21.2c-1-2.7-2.1-6-3.2-9.9
- c-0.7,3-1.7,6.3-3,9.9l-8.1,21.2H44.4z"/>
- <path fill="#110B05" d="M66.6,72.8H54.1L45.5,51H20.8l-8.4,21.8H0L28.7,0h9.4L66.6,72.8z M56.8,68.8h4L35.4,4h-1.9l1.7,6.2
- c1.1,3.8,2.1,7.1,3.1,9.7l9,24h-28l9.1-23.9c1.2-3.5,2.2-6.7,2.9-9.6L32.8,4h-1.4L5.9,68.8h3.8L18.1,47h30.2L56.8,68.8z
- M25.1,39.8h16.4l-7-18.5c-0.4-1.1-0.8-2.2-1.2-3.4c-0.4,1.1-0.7,2.2-1.2,3.4L25.1,39.8z"/>
- </g>
- <g>
- <path fill="#110B05" d="M116.2,70.8l-1.5-7.3h-0.4c-2.6,3.2-5.1,5.4-7.7,6.5s-5.7,1.7-9.5,1.7c-5.1,0-9.1-1.3-12-3.9
- s-4.3-6.4-4.3-11.2c0-10.4,8.3-15.8,24.9-16.3l8.7-0.3v-3.2c0-4-0.9-7-2.6-8.9s-4.5-2.9-8.3-2.9c-4.3,0-9.1,1.3-14.5,3.9l-2.4-6
- c2.5-1.4,5.3-2.5,8.3-3.2s6-1.2,9.1-1.2c6.1,0,10.7,1.4,13.6,4.1s4.4,7.1,4.4,13.1v35.1H116.2z M98.7,65.3c4.8,0,8.6-1.3,11.4-4
- s4.1-6.4,4.1-11.2v-4.6l-7.8,0.3c-6.2,0.2-10.6,1.2-13.4,2.9S89,53.1,89,56.7c0,2.8,0.9,5,2.6,6.4S95.6,65.3,98.7,65.3z"/>
- <path fill="#110B05" d="M97.1,73.8c-5.6,0-10.1-1.5-13.3-4.5c-3.3-3-5-7.3-5-12.7c0-11.6,9-17.8,26.8-18.3l6.8-0.2v-1.3
- c0-3.5-0.7-6.1-2.1-7.6c-1.3-1.5-3.6-2.2-6.8-2.2c-4,0-8.6,1.3-13.7,3.7l-1.9,0.9L84,22.1l1.6-0.8c2.7-1.4,5.6-2.6,8.8-3.4
- c3.2-0.8,6.4-1.2,9.6-1.2c6.6,0,11.7,1.6,15,4.6c3.4,3.1,5.1,8,5.1,14.5v37.1h-9.4l-1.1-5.3c-2,2-4,3.5-6,4.4
- C104.7,73.1,101.2,73.8,97.1,73.8z M103.5,23c4.4,0,7.7,1.2,9.8,3.5c2.1,2.3,3.1,5.7,3.1,10.3V42l-10.7,0.3
- c-23,0.7-23,10.9-23,14.3c0,4.3,1.2,7.5,3.7,9.7c2.5,2.3,6.1,3.4,10.6,3.4c3.5,0,6.4-0.5,8.7-1.5c2.2-1,4.6-3,6.9-6l0.6-0.8h2.6
- l0.7,1.6l1.2,5.7h2.1V35.8c0-5.4-1.3-9.3-3.8-11.6c-2.6-2.4-6.7-3.5-12.3-3.5c-2.8,0-5.7,0.4-8.6,1.1c-2.2,0.6-4.3,1.3-6.3,2.3
- l0.9,2.3C94.9,24.1,99.4,23,103.5,23z M98.7,67.3c-3.5,0-6.4-0.9-8.5-2.7C88,62.8,87,60.1,87,56.7c0-4.3,1.7-7.6,5-9.6
- c3.1-1.9,7.8-3,14.4-3.2l9.9-0.4v6.7c0,5.3-1.6,9.6-4.8,12.6C108.3,65.8,104,67.3,98.7,67.3z M112.2,47.6l-5.7,0.2
- c-5.8,0.2-10,1.1-12.4,2.6C92,51.8,91,53.8,91,56.7c0,2.2,0.6,3.8,1.9,4.9c1.3,1.1,3.3,1.7,5.8,1.7c4.3,0,7.6-1.1,10-3.4
- c2.4-2.3,3.5-5.5,3.5-9.7V47.6z"/>
- </g>
- </g>
- <rect y="88" fill="#110B05" width="124" height="8"/>
-</g>
-</svg>
diff --git a/src/virtualkeyboard/content/styles/retro/images/triangle_black.png b/src/virtualkeyboard/content/styles/retro/images/triangle_black.png
deleted file mode 100644
index a45e733b..00000000
--- a/src/virtualkeyboard/content/styles/retro/images/triangle_black.png
+++ /dev/null
Binary files differ
diff --git a/src/virtualkeyboard/content/styles/retro/images/triangle_highlight.png b/src/virtualkeyboard/content/styles/retro/images/triangle_highlight.png
deleted file mode 100644
index 34853263..00000000
--- a/src/virtualkeyboard/content/styles/retro/images/triangle_highlight.png
+++ /dev/null
Binary files differ
diff --git a/src/virtualkeyboard/content/styles/retro/style.qml b/src/virtualkeyboard/content/styles/retro/style.qml
deleted file mode 100644
index 17d2581e..00000000
--- a/src/virtualkeyboard/content/styles/retro/style.qml
+++ /dev/null
@@ -1,1079 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2016 The Qt Company Ltd.
-** Contact: https://www.qt.io/licensing/
-**
-** This file is part of the Qt Virtual Keyboard module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:GPL$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see https://www.qt.io/terms-conditions. For further
-** information use the contact form at https://www.qt.io/contact-us.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 3 or (at your option) any later version
-** approved by the KDE Free Qt Foundation. The licenses are as published by
-** the Free Software Foundation and appearing in the file LICENSE.GPL3
-** included in the packaging of this file. Please review the following
-** information to ensure the GNU General Public License requirements will
-** be met: https://www.gnu.org/licenses/gpl-3.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-import QtQuick 2.0
-import QtQuick.VirtualKeyboard 2.1
-import QtQuick.VirtualKeyboard.Styles 2.1
-
-KeyboardStyle {
- id: currentStyle
- readonly property bool compactSelectionList: [InputEngine.InputMode.Pinyin, InputEngine.InputMode.Cangjie, InputEngine.InputMode.Zhuyin].indexOf(InputContext.inputEngine.inputMode) !== -1
- readonly property string fontFamily: "Courier"
- readonly property real keyBackgroundMargin: Math.round(9 * scaleHint)
- readonly property real keyContentMargin: Math.round(30 * scaleHint)
- readonly property real keyIconScale: scaleHint * 0.6
- readonly property string resourcePath: "QtQuick/VirtualKeyboard/content/styles/retro/"
- readonly property string resourcePrefix: "qrc:/" + resourcePath
-
- readonly property string inputLocale: InputContext.locale
- property color inputLocaleIndicatorColor: "#110b05"
- property Timer inputLocaleIndicatorHighlightTimer: Timer {
- interval: 1000
- onTriggered: inputLocaleIndicatorColor = "#413828"
- }
- onInputLocaleChanged: {
- inputLocaleIndicatorColor = "#110b05"
- inputLocaleIndicatorHighlightTimer.restart()
- }
-
- keyboardDesignWidth: 2560
- keyboardDesignHeight: 800
- keyboardRelativeLeftMargin: 114 / keyboardDesignWidth
- keyboardRelativeRightMargin: 114 / keyboardDesignWidth
- keyboardRelativeTopMargin: 9 / keyboardDesignHeight
- keyboardRelativeBottomMargin: 88 / keyboardDesignHeight
-
- keyboardBackground: Rectangle {
- gradient: Gradient {
- GradientStop { position: 0.0; color: "#272727" }
- GradientStop { position: 1.0; color: "black" }
- }
- }
-
- keyPanel: KeyPanel {
- id: keyPanel
- Image {
- id: keyBackground
- source: resourcePrefix + "images/key154px_colorA.png"
- fillMode: Image.PreserveAspectFit
- anchors.fill: keyPanel
- anchors.margins: keyBackgroundMargin
- states: [
- State {
- name: "key154px_colorB"
- when: ['q', 'r', 'y', 'p', 's', 'd', 'j', 'l', 'v', 'b', '\'',
- '1', '4', '6', '0', '#', '%', '+', ')', '>',
- '~', '·', '÷', '}', '€', '£', '§', ']', '«', '»'].indexOf(control.displayText.toLowerCase()) >= 0
- PropertyChanges {
- target: keyBackground
- source: resourcePrefix + "images/key154px_colorB.png"
- }
- },
- State {
- name: "key154px_black"
- when: control.displayText.length > 2
- PropertyChanges {
- target: keyBackground
- source: resourcePrefix + "images/key154px_black.png"
- }
- }
- ]
- }
- Text {
- id: keyText
- text: control.displayText
- color: "#110b05"
- anchors.fill: keyPanel
- anchors.margins: keyContentMargin
- fontSizeMode: Text.Fit
- horizontalAlignment: Text.AlignHCenter
- verticalAlignment: Text.AlignVCenter
- font {
- family: fontFamily
- weight: Font.Bold
- pixelSize: 82 * scaleHint
- capitalization: control.uppercased ? Font.AllUppercase : Font.MixedCase
- }
- states: [
- State {
- name: "fontB"
- when: control.displayText.length > 2
- PropertyChanges {
- target: keyText
- color: "#c5a96f"
- font.pixelSize: 74 * scaleHint
- font.letterSpacing: -5 * scaleHint
- }
- }
- ]
- }
- states: [
- State {
- name: "pressed"
- when: control.pressed
- PropertyChanges {
- target: keyBackground
- opacity: 0.70
- }
- PropertyChanges {
- target: keyText
- opacity: 0.75
- }
- },
- State {
- name: "disabled"
- when: !control.enabled
- PropertyChanges {
- target: keyBackground
- opacity: 0.30
- }
- PropertyChanges {
- target: keyText
- opacity: 0.50
- }
- }
- ]
- }
-
- backspaceKeyPanel: KeyPanel {
- id: backspaceKeyPanel
- BorderImage {
- id: backspaceKeyBackground
- source: resourcePrefix + "images/key154px_black.png"
- width: (parent.width - 2 * keyBackgroundMargin) / scale
- height: sourceSize.height
- anchors.centerIn: backspaceKeyPanel
- border.left: 76
- border.top: 76
- border.right: 76
- border.bottom: 76
- horizontalTileMode: BorderImage.Stretch
- scale: (parent.height - 2 * keyBackgroundMargin) / sourceSize.height
- }
- Image {
- id: backspaceKeyIcon
- anchors.centerIn: backspaceKeyPanel
- sourceSize.width: 159 * keyIconScale
- sourceSize.height: 88 * keyIconScale
- smooth: false
- source: resourcePrefix + "images/backspace-c5a96f.svg"
- }
- states: [
- State {
- name: "pressed"
- when: control.pressed
- PropertyChanges {
- target: backspaceKeyBackground
- opacity: 0.70
- }
- PropertyChanges {
- target: backspaceKeyIcon
- opacity: 0.70
- }
- },
- State {
- name: "disabled"
- when: !control.enabled
- PropertyChanges {
- target: backspaceKeyBackground
- opacity: 0.20
- }
- PropertyChanges {
- target: backspaceKeyIcon
- opacity: 0.20
- }
- }
- ]
- }
-
- languageKeyPanel: KeyPanel {
- id: languageKeyPanel
- Image {
- id: languageKeyBackground
- source: resourcePrefix + "images/key154px_colorB.png"
- fillMode: Image.PreserveAspectFit
- anchors.fill: languageKeyPanel
- anchors.margins: keyBackgroundMargin
- }
- Image {
- id: languageKeyIcon
- anchors.centerIn: languageKeyPanel
- sourceSize.width: 144 * keyIconScale
- sourceSize.height: 144 * keyIconScale
- smooth: false
- source: resourcePrefix + "images/globe-110b05.svg"
- }
- states: [
- State {
- name: "pressed"
- when: control.pressed
- PropertyChanges {
- target: languageKeyBackground
- opacity: 0.70
- }
- PropertyChanges {
- target: languageKeyIcon
- opacity: 0.30
- }
- },
- State {
- name: "disabled"
- when: !control.enabled
- PropertyChanges {
- target: languageKeyBackground
- opacity: 0.75
- }
- PropertyChanges {
- target: languageKeyIcon
- opacity: 0.50
- }
- }
- ]
- }
-
- enterKeyPanel: KeyPanel {
- id: enterKeyPanel
- BorderImage {
- id: enterKeyBackground
- source: resourcePrefix + "images/key154px_black.png"
- width: (parent.width - 2 * keyBackgroundMargin) / scale
- height: sourceSize.height
- anchors.centerIn: enterKeyPanel
- border.left: 76
- border.top: 76
- border.right: 76
- border.bottom: 76
- horizontalTileMode: BorderImage.Stretch
- scale: (parent.height - 2 * keyBackgroundMargin) / sourceSize.height
- }
- Image {
- id: enterKeyIcon
- visible: enterKeyText.text.length === 0
- anchors.centerIn: enterKeyPanel
- readonly property size enterKeyIconSize: {
- switch (control.actionId) {
- case EnterKeyAction.Go:
- case EnterKeyAction.Send:
- case EnterKeyAction.Next:
- case EnterKeyAction.Done:
- return Qt.size(170, 119)
- case EnterKeyAction.Search:
- return Qt.size(148, 148)
- default:
- return Qt.size(211, 80)
- }
- }
- sourceSize.width: enterKeyIconSize.width * keyIconScale
- sourceSize.height: enterKeyIconSize.height * keyIconScale
- smooth: false
- source: {
- switch (control.actionId) {
- case EnterKeyAction.Go:
- case EnterKeyAction.Send:
- case EnterKeyAction.Next:
- case EnterKeyAction.Done:
- return resourcePrefix + "images/check-c5a96f.svg"
- case EnterKeyAction.Search:
- return resourcePrefix + "images/search-c5a96f.svg"
- default:
- return resourcePrefix + "images/enter-c5a96f.svg"
- }
- }
- }
- Text {
- id: enterKeyText
- visible: text.length !== 0
- text: control.actionId !== EnterKeyAction.None ? control.displayText : ""
- clip: true
- fontSizeMode: Text.HorizontalFit
- horizontalAlignment: Text.AlignHCenter
- verticalAlignment: Text.AlignVCenter
- anchors.fill: enterKeyPanel
- anchors.leftMargin: keyContentMargin
- anchors.topMargin: Math.round(50 * scaleHint)
- anchors.rightMargin: keyContentMargin
- anchors.bottomMargin: Math.round(30 * scaleHint)
- color: "#c5a96f"
- font {
- family: fontFamily
- weight: Font.Bold
- pixelSize: 74 * scaleHint
- capitalization: Font.AllUppercase
- }
- }
- states: [
- State {
- name: "pressed"
- when: control.pressed
- PropertyChanges {
- target: enterKeyBackground
- opacity: 0.70
- }
- PropertyChanges {
- target: enterKeyIcon
- opacity: 0.70
- }
- PropertyChanges {
- target: enterKeyText
- opacity: 0.70
- }
- },
- State {
- name: "disabled"
- when: !control.enabled
- PropertyChanges {
- target: enterKeyBackground
- opacity: 0.20
- }
- PropertyChanges {
- target: enterKeyIcon
- opacity: 0.20
- }
- PropertyChanges {
- target: enterKeyText
- opacity: 0.20
- }
- }
- ]
- }
-
- hideKeyPanel: KeyPanel {
- id: hideKeyPanel
- BorderImage {
- id: hideKeyBackground
- source: resourcePrefix + "images/key154px_black.png"
- width: (parent.width - 2 * keyBackgroundMargin) / scale
- height: sourceSize.height
- anchors.centerIn: hideKeyPanel
- border.left: 76
- border.top: 76
- border.right: 76
- border.bottom: 76
- horizontalTileMode: BorderImage.Stretch
- scale: (parent.height - 2 * keyBackgroundMargin) / sourceSize.height
- }
- Image {
- id: hideKeyIcon
- anchors.centerIn: hideKeyPanel
- sourceSize.width: 144 * keyIconScale
- sourceSize.height: 127 * keyIconScale
- smooth: false
- source: resourcePrefix + "images/hidekeyboard-c5a96f.svg"
- }
- states: [
- State {
- name: "pressed"
- when: control.pressed
- PropertyChanges {
- target: hideKeyBackground
- opacity: 0.70
- }
- PropertyChanges {
- target: hideKeyIcon
- opacity: 0.70
- }
- },
- State {
- name: "disabled"
- when: !control.enabled
- PropertyChanges {
- target: hideKeyBackground
- opacity: 0.20
- }
- PropertyChanges {
- target: hideKeyIcon
- opacity: 0.20
- }
- }
- ]
- }
-
- shiftKeyPanel: KeyPanel {
- id: shiftKeyPanel
- BorderImage {
- id: shiftKeyBackground
- source: resourcePrefix + "images/key154px_black.png"
- width: (parent.width - 2 * keyBackgroundMargin) / scale
- height: sourceSize.height
- anchors.centerIn: shiftKeyPanel
- border.left: 76
- border.top: 76
- border.right: 76
- border.bottom: 76
- horizontalTileMode: BorderImage.Stretch
- scale: (parent.height - 2 * keyBackgroundMargin) / sourceSize.height
- states: [
- State {
- name: "capsLockActive"
- when: InputContext.capsLockActive
- PropertyChanges {
- target: shiftKeyBackground
- source: resourcePrefix + "images/key154px_capslock.png"
- }
- PropertyChanges {
- target: shiftKeyIcon
- source: resourcePrefix + "images/shift-cd8865.svg"
- }
- },
- State {
- name: "shiftActive"
- when: InputContext.shiftActive
- PropertyChanges {
- target: shiftKeyBackground
- source: resourcePrefix + "images/key154px_shiftcase.png"
- }
- PropertyChanges {
- target: shiftKeyIcon
- source: resourcePrefix + "images/shift-dc4f28.svg"
- }
- }
- ]
- }
- Image {
- id: shiftKeyIcon
- anchors.centerIn: shiftKeyPanel
- sourceSize.width: 144 * keyIconScale
- sourceSize.height: 134 * keyIconScale
- smooth: false
- source: resourcePrefix + "images/shift-c5a96f.svg"
- }
- states: [
- State {
- name: "pressed"
- when: control.pressed
- PropertyChanges {
- target: shiftKeyBackground
- opacity: 0.70
- }
- PropertyChanges {
- target: shiftKeyIcon
- opacity: 0.70
- }
- },
- State {
- name: "disabled"
- when: !control.enabled
- PropertyChanges {
- target: shiftKeyBackground
- opacity: 0.20
- }
- PropertyChanges {
- target: shiftKeyIcon
- opacity: 0.20
- }
- }
- ]
- }
-
- spaceKeyPanel: KeyPanel {
- id: spaceKeyPanel
- BorderImage {
- id: spaceKeyBackground
- source: resourcePrefix + "images/key154px_colorA.png"
- width: (parent.width - 2 * keyBackgroundMargin) / scale
- height: sourceSize.height
- anchors.centerIn: spaceKeyPanel
- border.left: 76
- border.top: 76
- border.right: 76
- border.bottom: 76
- horizontalTileMode: BorderImage.Stretch
- scale: (parent.height - 2 * keyBackgroundMargin) / sourceSize.height
- }
- Text {
- id: spaceKeyText
- text: Qt.locale(InputContext.locale).nativeLanguageName
- color: currentStyle.inputLocaleIndicatorColor
- Behavior on color { PropertyAnimation { duration: 250 } }
- anchors.centerIn: spaceKeyPanel
- font {
- family: fontFamily
- weight: Font.Bold
- pixelSize: 72 * scaleHint
- }
- }
- states: [
- State {
- name: "pressed"
- when: control.pressed
- PropertyChanges {
- target: spaceKeyBackground
- opacity: 0.70
- }
- },
- State {
- name: "disabled"
- when: !control.enabled
- PropertyChanges {
- target: spaceKeyBackground
- opacity: 0.30
- }
- }
- ]
- }
-
- symbolKeyPanel: KeyPanel {
- id: symbolKeyPanel
- BorderImage {
- id: symbolKeyBackground
- source: resourcePrefix + "images/key154px_black.png"
- width: (parent.width - 2 * keyBackgroundMargin) / scale
- height: sourceSize.height
- anchors.centerIn: symbolKeyPanel
- border.left: 76
- border.top: 76
- border.right: 76
- border.bottom: 76
- horizontalTileMode: BorderImage.Stretch
- scale: (parent.height - 2 * keyBackgroundMargin) / sourceSize.height
- }
- Text {
- id: symbolKeyText
- text: control.displayText
- color: "#c5a96f"
- anchors.centerIn: symbolKeyPanel
- font {
- family: fontFamily
- weight: Font.DemiBold
- pixelSize: 74 * scaleHint
- letterSpacing: -5 * scaleHint
- capitalization: Font.AllUppercase
- }
- }
- states: [
- State {
- name: "pressed"
- when: control.pressed
- PropertyChanges {
- target: symbolKeyBackground
- opacity: 0.70
- }
- PropertyChanges {
- target: symbolKeyText
- opacity: 0.70
- }
- },
- State {
- name: "disabled"
- when: !control.enabled
- PropertyChanges {
- target: symbolKeyBackground
- opacity: 0.20
- }
- PropertyChanges {
- target: symbolKeyText
- opacity: 0.20
- }
- }
- ]
- }
-
- modeKeyPanel: KeyPanel {
- id: modeKeyPanel
- BorderImage {
- id: modeKeyBackground
- source: resourcePrefix + "images/key154px_black.png"
- width: (parent.width - 2 * keyBackgroundMargin) / scale
- height: sourceSize.height
- anchors.centerIn: modeKeyPanel
- border.left: 76
- border.top: 76
- border.right: 76
- border.bottom: 76
- horizontalTileMode: BorderImage.Stretch
- scale: (parent.height - 2 * keyBackgroundMargin) / sourceSize.height
- states: [
- State {
- name: "mode"
- when: control.mode
- PropertyChanges {
- target: modeKeyBackground
- source: resourcePrefix + "images/key154px_capslock.png"
- }
- }
- ]
- }
- Text {
- id: modeKeyText
- text: control.displayText
- color: "#c5a96f"
- anchors.fill: modeKeyPanel
- anchors.margins: keyContentMargin
- fontSizeMode: Text.Fit
- horizontalAlignment: Text.AlignHCenter
- verticalAlignment: Text.AlignVCenter
- font {
- family: fontFamily
- weight: Font.DemiBold
- pixelSize: 74 * scaleHint
- letterSpacing: -5 * scaleHint
- capitalization: Font.AllUppercase
- }
- }
- states: [
- State {
- name: "pressed"
- when: control.pressed
- PropertyChanges {
- target: modeKeyBackground
- opacity: 0.70
- }
- },
- State {
- name: "disabled"
- when: !control.enabled
- PropertyChanges {
- target: modeKeyBackground
- opacity: 0.20
- }
- }
- ]
- }
-
- handwritingKeyPanel: KeyPanel {
- id: handwritingKeyPanel
- BorderImage {
- id: hwrKeyBackground
- source: resourcePrefix + "images/key154px_colorB.png"
- width: (parent.width - 2 * hwrKeyBackground) / scale
- height: sourceSize.height
- anchors.centerIn: handwritingKeyPanel
- border.left: 76
- border.top: 76
- border.right: 76
- border.bottom: 76
- horizontalTileMode: BorderImage.Stretch
- scale: (parent.height - 2 * keyBackgroundMargin) / sourceSize.height
- }
- Image {
- id: hwrKeyIcon
- anchors.centerIn: handwritingKeyPanel
- readonly property size hwrKeyIconSize: keyboard.handwritingMode ? Qt.size(124, 96) : Qt.size(156, 104)
- sourceSize.width: hwrKeyIconSize.width * keyIconScale
- sourceSize.height: hwrKeyIconSize.height * keyIconScale
- smooth: false
- source: resourcePrefix + (keyboard.handwritingMode ? "images/textmode-110b05.svg" : "images/handwriting-110b05.svg")
- }
- states: [
- State {
- name: "pressed"
- when: control.pressed
- PropertyChanges {
- target: hwrKeyBackground
- opacity: 0.70
- }
- PropertyChanges {
- target: hwrKeyIcon
- opacity: 0.70
- }
- },
- State {
- name: "disabled"
- when: !control.enabled
- PropertyChanges {
- target: hwrKeyBackground
- opacity: 0.20
- }
- PropertyChanges {
- target: hwrKeyIcon
- opacity: 0.20
- }
- }
- ]
- }
-
- characterPreviewMargin: Math.round(20 * scaleHint)
- characterPreviewDelegate: Item {
- property string text
- id: characterPreview
- Image {
- id: characterPreviewBackground
- source: resourcePrefix + "images/key_preview.png"
- fillMode: Image.PreserveAspectFit
- anchors.fill: parent
- }
- Text {
- id: characterPreviewText
- color: "#c5a96f"
- text: characterPreview.text
- anchors.centerIn: characterPreviewBackground
- font {
- family: fontFamily
- weight: Font.Bold
- pixelSize: 85 * scaleHint
- }
- states: [
- State {
- name: "fit"
- when: text.length > 1
- PropertyChanges {
- target: characterPreviewText
- font.letterSpacing: -5 * scaleHint
- }
- }
- ]
- }
- }
-
- alternateKeysListItemWidth: Math.round(111 * scaleHint)
- alternateKeysListItemHeight: Math.round(154 * scaleHint)
- alternateKeysListBottomMargin: Math.round(15 * scaleHint)
- alternateKeysListLeftMargin: Math.round(79 * scaleHint)
- alternateKeysListRightMargin: Math.round(79 * scaleHint)
- alternateKeysListDelegate: Item {
- id: alternateKeysListItem
- width: alternateKeysListItemWidth
- height: alternateKeysListItemHeight
- Text {
- id: listItemText
- text: model.text
- color: "#868482"
- font {
- family: fontFamily
- weight: Font.DemiBold
- pixelSize: 52 * scaleHint
- letterSpacing: -6 * scaleHint
- }
- anchors.centerIn: parent
- }
- states: State {
- name: "current"
- when: alternateKeysListItem.ListView.isCurrentItem
- PropertyChanges {
- target: listItemText
- color: "white"
- }
- }
- }
- alternateKeysListHighlight: Item {
- Rectangle {
- anchors.fill: parent
- anchors.topMargin: Math.round(8 * scaleHint)
- anchors.bottomMargin: Math.round(8 * scaleHint)
- gradient: Gradient {
- GradientStop { position: 0.0; color: "#64462a" }
- GradientStop { position: 0.18; color: "#a37648" }
- GradientStop { position: 0.5; color: "#c4a47c" }
- GradientStop { position: 0.82; color: "#a37648" }
- GradientStop { position: 1.0; color: "#64462a" }
- }
- }
- }
- alternateKeysListBackground: Item {
- property real currentItemOffset
- property bool currentItemHighlight: false
- BorderImage {
- cache: false
- source: resourcePrefix + "images/key160px_black.png"
- width: sourceSize.width + parent.width / scale
- height: sourceSize.height
- anchors.centerIn: parent
- border.left: 79
- border.top: 79
- border.right: 79
- border.bottom: 79
- horizontalTileMode: BorderImage.Stretch
- scale: parent.height / sourceSize.height
- }
- Image {
- visible: currentItemOffset !== undefined
- source: currentItemHighlight ? resourcePrefix + "images/triangle_highlight.png" : resourcePrefix + "images/triangle_black.png"
- fillMode: Image.PreserveAspectFit
- width: sourceSize.width * scaleHint
- height: sourceSize.height * scaleHint
- anchors.top: parent.bottom
- anchors.topMargin: Math.round(-8 * scaleHint)
- anchors.left: parent.left
- anchors.leftMargin: Math.round(currentItemOffset - width / 2)
- }
- }
-
- selectionListHeight: 85 * scaleHint
- selectionListDelegate: SelectionListItem {
- id: selectionListItem
- width: Math.round(selectionListLabel.width + selectionListLabel.anchors.leftMargin * 2)
- Text {
- id: selectionListLabel
- anchors.left: parent.left
- anchors.leftMargin: Math.round((compactSelectionList ? 50 : 140) * scaleHint)
- anchors.verticalCenter: parent.verticalCenter
- text: decorateText(display, wordCompletionLength)
- color: "white"
- font {
- family: fontFamily
- weight: Font.Bold
- pixelSize: 44 * scaleHint
- }
- function decorateText(text, wordCompletionLength) {
- if (wordCompletionLength > 0) {
- return text.slice(0, -wordCompletionLength) + '<u>' + text.slice(-wordCompletionLength) + '</u>'
- }
- return text
- }
- }
- Rectangle {
- id: selectionListSeparator
- width: 4 * scaleHint
- height: 36 * scaleHint
- color: "#35322f"
- anchors.verticalCenter: parent.verticalCenter
- anchors.right: parent.left
- }
- states: State {
- name: "current"
- when: selectionListItem.ListView.isCurrentItem
- PropertyChanges {
- target: selectionListLabel
- color: "#c5a96f"
- }
- }
- }
- selectionListBackground: Rectangle {
- color: "#222222"
- }
- selectionListAdd: Transition {
- NumberAnimation { property: "y"; from: wordCandidateView.height; duration: 200 }
- NumberAnimation { property: "opacity"; from: 0; to: 1; duration: 200 }
- }
- selectionListRemove: Transition {
- NumberAnimation { property: "y"; to: -wordCandidateView.height; duration: 200 }
- NumberAnimation { property: "opacity"; to: 0; duration: 200 }
- }
-
- navigationHighlight: Rectangle {
- color: "transparent"
- border.color: "yellow"
- border.width: 5
- }
-
- traceInputKeyPanelDelegate: TraceInputKeyPanel {
- traceMargins: keyBackgroundMargin
- BorderImage {
- id: traceInputKeyPanelBackground
- readonly property int traceInputKeyPanelSvgImageHeight: Math.round(height / 12)
- readonly property real traceInputKeyPanelSvgImageScale: traceInputKeyPanelSvgImageHeight / 154
- source: "image://qtvkbsvg/%1/images/key154px_colorA.svg?height=%2".arg(resourcePath).arg(traceInputKeyPanelSvgImageHeight)
- anchors.fill: parent
- anchors.margins: keyBackgroundMargin
- border.left: 76 * traceInputKeyPanelSvgImageScale
- border.top: 76 * traceInputKeyPanelSvgImageScale
- border.right: 78 * traceInputKeyPanelSvgImageScale
- border.bottom: 78 * traceInputKeyPanelSvgImageScale
- horizontalTileMode: BorderImage.Stretch
- verticalTileMode: BorderImage.Stretch
- }
- Text {
- id: hwrInputModeIndicator
- visible: control.patternRecognitionMode === InputEngine.PatternRecognitionMode.Handwriting
- text: {
- switch (InputContext.inputEngine.inputMode) {
- case InputEngine.InputMode.Numeric:
- if (["ar", "fa"].indexOf(InputContext.locale.substring(0, 2)) !== -1)
- return "\u0660\u0661\u0662"
- // Fallthrough
- case InputEngine.InputMode.Dialable:
- return "123"
- case InputEngine.InputMode.Greek:
- return "ΑΒΓ"
- case InputEngine.InputMode.Cyrillic:
- return "АБВ"
- case InputEngine.InputMode.Arabic:
- if (InputContext.locale.substring(0, 2) === "fa")
- return "\u0627\u200C\u0628\u200C\u067E"
- return "\u0623\u200C\u0628\u200C\u062C"
- case InputEngine.InputMode.Hebrew:
- return "\u05D0\u05D1\u05D2"
- case InputEngine.InputMode.ChineseHandwriting:
- return "中文"
- case InputEngine.InputMode.JapaneseHandwriting:
- return "日本語"
- case InputEngine.InputMode.KoreanHandwriting:
- return "한국어"
- case InputEngine.InputMode.Thai:
- return "กขค"
- default:
- return "Abc"
- }
- }
- color: "black"
- anchors.left: parent.left
- anchors.top: parent.top
- anchors.margins: keyContentMargin * 1.5
- font {
- family: fontFamily
- weight: Font.Bold
- pixelSize: 72 * scaleHint
- capitalization: {
- if (InputContext.capsLockActive)
- return Font.AllUppercase
- if (InputContext.shiftActive)
- return Font.MixedCase
- return Font.AllLowercase
- }
- }
- }
- Canvas {
- id: traceInputKeyGuideLines
- anchors.fill: traceInputKeyPanelBackground
- opacity: 0.4
- onPaint: {
- var ctx = getContext("2d")
- ctx.lineWidth = 1
- ctx.strokeStyle = Qt.rgba(0, 0, 0)
- ctx.clearRect(0, 0, width, height)
- var i
- var margin = Math.round(30 * scaleHint)
- if (control.horizontalRulers) {
- for (i = 0; i < control.horizontalRulers.length; i++) {
- ctx.beginPath()
- var y = Math.round(control.horizontalRulers[i])
- var rightMargin = Math.round(width - margin)
- if (i + 1 === control.horizontalRulers.length) {
- ctx.moveTo(margin, y)
- ctx.lineTo(rightMargin, y)
- } else {
- var dashLen = Math.round(20 * scaleHint)
- for (var dash = margin, dashCount = 0;
- dash < rightMargin; dash += dashLen, dashCount++) {
- if ((dashCount & 1) === 0) {
- ctx.moveTo(dash, y)
- ctx.lineTo(Math.min(dash + dashLen, rightMargin), y)
- }
- }
- }
- ctx.stroke()
- }
- }
- if (control.verticalRulers) {
- for (i = 0; i < control.verticalRulers.length; i++) {
- ctx.beginPath()
- ctx.moveTo(control.verticalRulers[i], 0)
- ctx.lineTo(control.verticalRulers[i], height)
- ctx.stroke()
- }
- }
- }
- Connections {
- target: control
- onHorizontalRulersChanged: traceInputKeyGuideLines.requestPaint()
- onVerticalRulersChanged: traceInputKeyGuideLines.requestPaint()
- }
- }
- }
-
- traceCanvasDelegate: TraceCanvas {
- id: traceCanvas
- onAvailableChanged: {
- if (!available)
- return
- var ctx = getContext("2d")
- ctx.lineWidth = parent.canvasType === "fullscreen" ? 10 : 10 * scaleHint
- ctx.lineCap = "round"
- ctx.strokeStyle = Qt.rgba(0, 0, 0)
- ctx.fillStyle = ctx.strokeStyle
- }
- autoDestroyDelay: 800
- onTraceChanged: if (trace === null) opacity = 0
- Behavior on opacity { PropertyAnimation { easing.type: Easing.OutCubic; duration: 150 } }
- }
-
- popupListDelegate: SelectionListItem {
- property real cursorAnchor: popupListLabel.x + popupListLabel.width
- id: popupListItem
- width: popupListLabel.width + popupListLabel.anchors.leftMargin * 2
- height: popupListLabel.height + popupListLabel.anchors.topMargin * 2
- Text {
- id: popupListLabel
- anchors.left: parent.left
- anchors.top: parent.top
- anchors.leftMargin: popupListLabel.height / 2
- anchors.topMargin: popupListLabel.height / 3
- text: decorateText(display, wordCompletionLength)
- color: "#5CAA15"
- font {
- family: "Sans"
- weight: Font.Normal
- pixelSize: Qt.inputMethod.cursorRectangle.height * 0.8
- }
- function decorateText(text, wordCompletionLength) {
- if (wordCompletionLength > 0) {
- return text.slice(0, -wordCompletionLength) + '<u>' + text.slice(-wordCompletionLength) + '</u>'
- }
- return text
- }
- }
- states: State {
- name: "current"
- when: popupListItem.ListView.isCurrentItem
- PropertyChanges {
- target: popupListLabel
- color: "black"
- }
- }
- }
-
- popupListBackground: Item {
- Rectangle {
- width: parent.width
- height: parent.height
- color: "white"
- border {
- width: 1
- color: "#929495"
- }
- }
- }
-
- popupListAdd: Transition {
- NumberAnimation { property: "opacity"; from: 0; to: 1.0; duration: 200 }
- }
-
- popupListRemove: Transition {
- NumberAnimation { property: "opacity"; to: 0; duration: 200 }
- }
-
- selectionHandle: Image {
- sourceSize.width: 20
- source: resourcePrefix + "images/selectionhandle-bottom.svg"
- }
-
- fullScreenInputContainerBackground: Rectangle {
- color: "#FFF"
- }
-
- fullScreenInputBackground: Rectangle {
- color: "#FFF"
- }
-
- fullScreenInputMargins: Math.round(15 * scaleHint)
-
- fullScreenInputPadding: Math.round(30 * scaleHint)
-
- fullScreenInputCursor: Rectangle {
- width: 1
- color: "#000"
- visible: parent.blinkStatus
- }
-
- fullScreenInputFont.pixelSize: 58 * scaleHint
-
- fullScreenInputPasswordCharacter: "*"
-
- fullScreenInputSelectionColor: "#B57C47"
-}
diff --git a/src/virtualkeyboard/content/styles/retro/virtualkeyboard_retro_style.qrc b/src/virtualkeyboard/content/styles/retro/virtualkeyboard_retro_style.qrc
deleted file mode 100644
index 881755ef..00000000
--- a/src/virtualkeyboard/content/styles/retro/virtualkeyboard_retro_style.qrc
+++ /dev/null
@@ -1,37 +0,0 @@
-<RCC>
- <qresource prefix="/QtQuick/VirtualKeyboard/content/styles/retro">
- <file>style.qml</file>
- <file>images/key154px_black.png</file>
- <file>images/key154px_black_long.png</file>
- <file>images/key154px_capslock_long.png</file>
- <file>images/key154px_capslock.png</file>
- <file>images/key154px_colorA_long.png</file>
- <file>images/key154px_colorA.png</file>
- <file>images/key154px_colorA.svg</file>
- <file>images/key154px_colorB.png</file>
- <file>images/key154px_shiftcase_long.png</file>
- <file>images/key154px_shiftcase.png</file>
- <file>images/key156px_black_long.png</file>
- <file>images/key156px_black_medium_long.png</file>
- <file>images/key156px_colorA.png</file>
- <file>images/key156px_colorB.png</file>
- <file>images/key160px_black.png</file>
- <file>images/key160px_colorA.png</file>
- <file>images/key160px_colorB.png</file>
- <file>images/key_preview.png</file>
- <file>images/triangle_black.png</file>
- <file>images/triangle_highlight.png</file>
- <file>images/backspace-c5a96f.svg</file>
- <file>images/check-c5a96f.svg</file>
- <file>images/enter-c5a96f.svg</file>
- <file>images/globe-110b05.svg</file>
- <file>images/handwriting-110b05.svg</file>
- <file>images/hidekeyboard-c5a96f.svg</file>
- <file>images/search-c5a96f.svg</file>
- <file>images/shift-c5a96f.svg</file>
- <file>images/shift-cd8865.svg</file>
- <file>images/shift-dc4f28.svg</file>
- <file>images/textmode-110b05.svg</file>
- <file>images/selectionhandle-bottom.svg</file>
- </qresource>
-</RCC>
diff --git a/src/virtualkeyboard/content/virtualkeyboard_content.qrc b/src/virtualkeyboard/content/virtualkeyboard_content.qrc
deleted file mode 100644
index 1e6392f4..00000000
--- a/src/virtualkeyboard/content/virtualkeyboard_content.qrc
+++ /dev/null
@@ -1,35 +0,0 @@
-<RCC>
- <qresource prefix="/QtQuick/VirtualKeyboard/content">
- <file>InputPanel.qml</file>
- <file>HandwritingInputPanel.qml</file>
- <file>components/AlternativeKeys.qml</file>
- <file>components/BackspaceKey.qml</file>
- <file>components/BaseKey.qml</file>
- <file>components/ChangeLanguageKey.qml</file>
- <file>components/CharacterPreviewBubble.qml</file>
- <file>components/EnterKey.qml</file>
- <file>components/FillerKey.qml</file>
- <file>components/HideKeyboardKey.qml</file>
- <file>components/Key.qml</file>
- <file>components/Keyboard.qml</file>
- <file>components/KeyboardColumn.qml</file>
- <file>components/KeyboardLayout.qml</file>
- <file>components/KeyboardLayoutLoader.qml</file>
- <file>components/KeyboardRow.qml</file>
- <file>components/ModeKey.qml</file>
- <file>components/MultiSoundEffect.qml</file>
- <file>components/MultitapInputMethod.qml</file>
- <file>components/NumberKey.qml</file>
- <file>components/ShiftKey.qml</file>
- <file>components/SpaceKey.qml</file>
- <file>components/SymbolModeKey.qml</file>
- <file>components/TraceInputKey.qml</file>
- <file>components/TraceInputArea.qml</file>
- <file>components/HandwritingModeKey.qml</file>
- <file>components/WordCandidatePopupList.qml</file>
- <file>components/PopupList.qml</file>
- <file>components/SelectionControl.qml</file>
- <file>components/ShadowInputControl.qml</file>
- <file>components/InputModeKey.qml</file>
- </qresource>
-</RCC>
diff --git a/src/virtualkeyboard/desktopinputpanel.cpp b/src/virtualkeyboard/desktopinputpanel.cpp
index cdaf1ffd..d578330f 100644
--- a/src/virtualkeyboard/desktopinputpanel.cpp
+++ b/src/virtualkeyboard/desktopinputpanel.cpp
@@ -1,31 +1,5 @@
-/****************************************************************************
-**
-** Copyright (C) 2016 The Qt Company Ltd.
-** Contact: https://www.qt.io/licensing/
-**
-** This file is part of the Qt Virtual Keyboard module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:GPL$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see https://www.qt.io/terms-conditions. For further
-** information use the contact form at https://www.qt.io/contact-us.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 3 or (at your option) any later version
-** approved by the KDE Free Qt Foundation. The licenses are as published by
-** the Free Software Foundation and appearing in the file LICENSE.GPL3
-** included in the packaging of this file. Please review the following
-** information to ensure the GNU General Public License requirements will
-** be met: https://www.gnu.org/licenses/gpl-3.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
+// Copyright (C) 2016 The Qt Company Ltd.
+// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GPL-3.0-only
#include <QtVirtualKeyboard/private/qvirtualkeyboard_global_p.h>
#include <QtVirtualKeyboard/private/desktopinputpanel_p.h>
@@ -38,10 +12,6 @@
#include <QQmlEngine>
#include <QScreen>
#include <QtVirtualKeyboard/private/virtualkeyboarddebug_p.h>
-#if QT_CONFIG(vkb_xcb)
-#include <xcb/xcb.h>
-#include <xcb/xfixes.h>
-#endif
#include <qpa/qplatformnativeinterface.h>
#include <QtCore/private/qobject_p.h>
#include <QtCore/QLibraryInfo>
@@ -155,7 +125,7 @@ void DesktopInputPanel::createView()
break;
}
d->view->setColor(QColor(Qt::transparent));
- d->view->setSource(QUrl(QLatin1String("qrc:///QtQuick/VirtualKeyboard/content/InputPanel.qml")));
+ d->view->setSource(QUrl(QLatin1String("qrc:///qt-project.org/imports/QtQuick/VirtualKeyboard/InputPanel.qml")));
if (QGuiApplication *app = qGuiApp)
connect(app, SIGNAL(aboutToQuit()), SLOT(destroyView()));
}
@@ -226,18 +196,6 @@ void DesktopInputPanel::previewVisibleChanged()
updateInputRegion();
}
-#if QT_CONFIG(vkb_xcb)
-static inline xcb_rectangle_t qRectToXCBRectangle(const QRect &r)
-{
- xcb_rectangle_t result;
- result.x = qMax(SHRT_MIN, r.x());
- result.y = qMax(SHRT_MIN, r.y());
- result.width = qMin((int)USHRT_MAX, r.width());
- result.height = qMin((int)USHRT_MAX, r.height());
- return result;
-}
-#endif
-
void DesktopInputPanel::updateInputRegion()
{
Q_D(DesktopInputPanel);
@@ -249,36 +207,11 @@ void DesktopInputPanel::updateInputRegion()
if (!d->view->handle())
d->view->create();
- switch (d->windowingSystem) {
- case DesktopInputPanelPrivate::Xcb:
-#if QT_CONFIG(vkb_xcb)
- {
- QList<xcb_rectangle_t> rects;
- rects.push_back(qRectToXCBRectangle(d->keyboardRect.toRect()));
- if (d->previewVisible && !d->previewRect.isEmpty())
- rects.push_back(qRectToXCBRectangle(d->previewRect.toRect()));
-
- QWindow *window = d->view.data();
- QPlatformNativeInterface *platformNativeInterface = QGuiApplication::platformNativeInterface();
- xcb_connection_t *xbcConnection = static_cast<xcb_connection_t *>(platformNativeInterface->nativeResourceForWindow("connection", window));
- xcb_xfixes_region_t xbcRegion = xcb_generate_id(xbcConnection);
- xcb_xfixes_create_region(xbcConnection, xbcRegion, rects.size(), rects.constData());
- xcb_xfixes_set_window_shape_region(xbcConnection, window->winId(), XCB_SHAPE_SK_INPUT, 0, 0, xbcRegion);
- xcb_xfixes_destroy_region(xbcConnection, xbcRegion);
- }
-#endif
- break;
+ QRegion inputRegion(d->keyboardRect.toRect());
+ if (d->previewVisible && !d->previewRect.isEmpty())
+ inputRegion += d->previewRect.toRect();
- default:
- {
- QRegion inputRegion(d->keyboardRect.toRect());
- if (d->previewVisible && !d->previewRect.isEmpty())
- inputRegion += d->previewRect.toRect();
-
- d->view->setMask(inputRegion);
- break;
- }
- }
+ d->view->setMask(inputRegion);
}
} // namespace QtVirtualKeyboard
diff --git a/src/virtualkeyboard/desktopinputpanel_p.h b/src/virtualkeyboard/desktopinputpanel_p.h
index 1a1b1d2f..34a08f78 100644
--- a/src/virtualkeyboard/desktopinputpanel_p.h
+++ b/src/virtualkeyboard/desktopinputpanel_p.h
@@ -1,31 +1,5 @@
-/****************************************************************************
-**
-** Copyright (C) 2016 The Qt Company Ltd.
-** Contact: https://www.qt.io/licensing/
-**
-** This file is part of the Qt Virtual Keyboard module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:GPL$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see https://www.qt.io/terms-conditions. For further
-** information use the contact form at https://www.qt.io/contact-us.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 3 or (at your option) any later version
-** approved by the KDE Free Qt Foundation. The licenses are as published by
-** the Free Software Foundation and appearing in the file LICENSE.GPL3
-** included in the packaging of this file. Please review the following
-** information to ensure the GNU General Public License requirements will
-** be met: https://www.gnu.org/licenses/gpl-3.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
+// Copyright (C) 2016 The Qt Company Ltd.
+// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GPL-3.0-only
#ifndef DESKTOPINPUTPANEL_P_H
#define DESKTOPINPUTPANEL_P_H
@@ -51,7 +25,7 @@ namespace QtVirtualKeyboard {
class DesktopInputPanelPrivate;
-class QVIRTUALKEYBOARD_EXPORT DesktopInputPanel : public AppInputPanel
+class Q_VIRTUALKEYBOARD_EXPORT DesktopInputPanel : public AppInputPanel
{
Q_OBJECT
Q_DECLARE_PRIVATE(DesktopInputPanel)
diff --git a/src/virtualkeyboard/desktopinputselectioncontrol.cpp b/src/virtualkeyboard/desktopinputselectioncontrol.cpp
index 196ab512..0fc5d646 100644
--- a/src/virtualkeyboard/desktopinputselectioncontrol.cpp
+++ b/src/virtualkeyboard/desktopinputselectioncontrol.cpp
@@ -1,31 +1,5 @@
-/****************************************************************************
-**
-** Copyright (C) 2016 The Qt Company Ltd.
-** Contact: https://www.qt.io/licensing/
-**
-** This file is part of the Qt Virtual Keyboard module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:GPL$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see https://www.qt.io/terms-conditions. For further
-** information use the contact form at https://www.qt.io/contact-us.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 3 or (at your option) any later version
-** approved by the KDE Free Qt Foundation. The licenses are as published by
-** the Free Software Foundation and appearing in the file LICENSE.GPL3
-** included in the packaging of this file. Please review the following
-** information to ensure the GNU General Public License requirements will
-** be met: https://www.gnu.org/licenses/gpl-3.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
+// Copyright (C) 2016 The Qt Company Ltd.
+// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GPL-3.0-only
#include <QtVirtualKeyboard/private/desktopinputselectioncontrol_p.h>
#include <QtVirtualKeyboard/qvirtualkeyboardinputcontext.h>
@@ -160,7 +134,7 @@ void DesktopInputSelectionControl::updateVisibility()
void DesktopInputSelectionControl::reloadGraphics()
{
Settings *settings = Settings::instance();
- const QString stylePath = QString::fromLatin1(":/QtQuick/VirtualKeyboard/content/styles/%1/images/selectionhandle-bottom.svg")
+ const QString stylePath = QString::fromLatin1(":/qt-project.org/imports/QtQuick/VirtualKeyboard/Styles/Builtin/%1/images/selectionhandle-bottom.svg")
.arg(settings->styleName());
QImageReader imageReader(stylePath);
QSize sz = imageReader.size(); // SVG handler will return default size
@@ -206,6 +180,8 @@ void DesktopInputSelectionControl::setEnabled(bool enable)
connect(m_inputContext, &QVirtualKeyboardInputContext::cursorRectangleChanged, this, &DesktopInputSelectionControl::updateCursorHandlePosition);
connect(m_inputContext, &QVirtualKeyboardInputContext::anchorRectIntersectsClipRectChanged, this, &DesktopInputSelectionControl::updateVisibility);
connect(m_inputContext, &QVirtualKeyboardInputContext::cursorRectIntersectsClipRectChanged, this, &DesktopInputSelectionControl::updateVisibility);
+ updateAnchorHandlePosition();
+ updateCursorHandlePosition();
if (focusWindow)
focusWindow->installEventFilter(this);
} else {
@@ -241,7 +217,7 @@ bool DesktopInputSelectionControl::eventFilter(QObject *object, QEvent *event)
}
} else if (event->type() == QEvent::MouseButtonPress) {
QMouseEvent *me = static_cast<QMouseEvent*>(event);
- const QPoint mousePos = me->screenPos().toPoint();
+ const QPoint mousePos = me->globalPosition().toPoint();
// calculate distances from mouse pos to each handle,
// then choose to interact with the nearest handle
@@ -256,8 +232,8 @@ bool DesktopInputSelectionControl::eventFilter(QObject *object, QEvent *event)
for (int i = 0; i <= CursorHandle; ++i) {
SelectionHandleInfo &h = handles[i];
- QPoint curHandleCenter = focusWindow->mapToGlobal(h.rect.center()); // ### map to desktoppanel
- const QPoint delta = mousePos - curHandleCenter;
+ QPoint curHandleTopCenter = focusWindow->mapToGlobal(QPoint(h.rect.x() + qRound((qreal)h.rect.width() / 2), h.rect.top())); // ### map to desktoppanel
+ const QPoint delta = mousePos - curHandleTopCenter;
h.delta = delta;
h.squaredDistance = QPoint::dotProduct(delta, delta);
}
@@ -265,24 +241,24 @@ bool DesktopInputSelectionControl::eventFilter(QObject *object, QEvent *event)
// (squared) distances calculated, pick the closest handle
HandleType closestHandle = (handles[AnchorHandle].squaredDistance < handles[CursorHandle].squaredDistance ? AnchorHandle : CursorHandle);
- // Can not be replaced with me->windowPos(); because the event might be forwarded from the window of the handle
+ // Can not be replaced with me->scenePosition(); because the event might be forwarded from the window of the handle
const QPoint windowPos = focusWindow->mapFromGlobal(mousePos);
if (m_anchorHandleVisible && handles[closestHandle].rect.contains(windowPos)) {
m_currentDragHandle = closestHandle;
- m_distanceBetweenMouseAndCursor = handles[closestHandle].delta - QPoint(0, m_handleWindowSize.height()/2 + 4);
+ m_distanceBetweenMouseAndCursor = handles[closestHandle].delta;
m_handleState = HandleIsHeld;
m_handleDragStartedPosition = mousePos;
const QRect otherRect = handles[1 - closestHandle].rect;
m_otherSelectionPoint = QPoint(otherRect.x() + otherRect.width()/2, otherRect.top() - 4);
- QMouseEvent *mouseEvent = new QMouseEvent(me->type(), me->localPos(), me->windowPos(), me->screenPos(),
+ QMouseEvent *mouseEvent = new QMouseEvent(me->type(), me->position(), me->scenePosition(), me->globalPosition(),
me->button(), me->buttons(), me->modifiers(), me->source());
m_eventQueue.append(mouseEvent);
return true;
}
} else if (event->type() == QEvent::MouseMove) {
QMouseEvent *me = static_cast<QMouseEvent*>(event);
- QPoint mousePos = me->screenPos().toPoint();
+ QPoint mousePos = me->globalPosition().toPoint();
if (m_handleState == HandleIsHeld) {
QPoint delta = m_handleDragStartedPosition - mousePos;
const int startDragDistance = QGuiApplication::styleHints()->startDragDistance();
diff --git a/src/virtualkeyboard/desktopinputselectioncontrol_p.h b/src/virtualkeyboard/desktopinputselectioncontrol_p.h
index 290d4e02..955cafb7 100644
--- a/src/virtualkeyboard/desktopinputselectioncontrol_p.h
+++ b/src/virtualkeyboard/desktopinputselectioncontrol_p.h
@@ -1,31 +1,5 @@
-/****************************************************************************
-**
-** Copyright (C) 2016 The Qt Company Ltd.
-** Contact: https://www.qt.io/licensing/
-**
-** This file is part of the Qt Virtual Keyboard module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:GPL$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see https://www.qt.io/terms-conditions. For further
-** information use the contact form at https://www.qt.io/contact-us.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 3 or (at your option) any later version
-** approved by the KDE Free Qt Foundation. The licenses are as published by
-** the Free Software Foundation and appearing in the file LICENSE.GPL3
-** included in the packaging of this file. Please review the following
-** information to ensure the GNU General Public License requirements will
-** be met: https://www.gnu.org/licenses/gpl-3.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
+// Copyright (C) 2021 The Qt Company Ltd.
+// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GPL-3.0-only
#ifndef DESKTOPINPUTSELECTIONCONTROL_P_H
#define DESKTOPINPUTSELECTIONCONTROL_P_H
@@ -45,6 +19,7 @@
#include <QtCore/qobject.h>
#include <QtGui/qimage.h>
#include <QtVirtualKeyboard/qvirtualkeyboard_global.h>
+#include <QtCore/private/qglobal_p.h>
QT_BEGIN_NAMESPACE
@@ -55,7 +30,7 @@ namespace QtVirtualKeyboard {
class InputSelectionHandle;
-class QVIRTUALKEYBOARD_EXPORT DesktopInputSelectionControl : public QObject
+class Q_VIRTUALKEYBOARD_EXPORT DesktopInputSelectionControl : public QObject
{
Q_OBJECT
diff --git a/src/virtualkeyboard/doc/doc.pri b/src/virtualkeyboard/doc/doc.pri
deleted file mode 100644
index 4da77d1f..00000000
--- a/src/virtualkeyboard/doc/doc.pri
+++ /dev/null
@@ -1,8 +0,0 @@
-OTHER_FILES += \
- $$PWD/qtvirtualkeyboard.qdocconf \
- $$PWD/src/qtvirtualkeyboard-index.qdoc \
- $$PWD/src/deployment-guide.qdoc \
- $$PWD/src/technical-guide.qdoc \
- $$PWD/src/user-guide.qdoc \
- $$PWD/src/build.qdoc \
- $$PWD/src/snippets/CustomInputMethod.qml
diff --git a/src/virtualkeyboard/doc/qtvirtualkeyboard.qdocconf b/src/virtualkeyboard/doc/qtvirtualkeyboard.qdocconf
index 5391595a..0a87b21f 100644
--- a/src/virtualkeyboard/doc/qtvirtualkeyboard.qdocconf
+++ b/src/virtualkeyboard/doc/qtvirtualkeyboard.qdocconf
@@ -6,26 +6,19 @@ description = Qt Virtual Keyboard
version = $QT_VERSION
buildversion = Qt Virtual Keyboard | Commercial or GPLv3
-headerdirs += ..
-sourcedirs += .. ../../styles/
-excludedirs += ../content/layouts
+headerdirs += .. ../../components/ ../../styles/ ../../settings/
+sourcedirs += .. ../../components/ ../../styles/ ../../settings/
# Specify the install path under QT_INSTALL_EXAMPLES
exampledirs += ../../../examples/virtualkeyboard \
snippets
examplesinstallpath = virtualkeyboard
-Cpp.ignoretokens += \
- QVIRTUALKEYBOARD_EXPORT
-Cpp.ignoredirectives += \
- Q_DECLARE_LOGGING_CATEGORY \
- VIRTUALKEYBOARD_DEBUG
-
-manifestmeta.highlighted.names = "QtVirtualKeyboard/Qt Quick Virtual Keyboard - Basic Example"
+manifestmeta.highlighted.names = "QtVirtualKeyboard/Virtual Keyboard in Qt Quick"
imagedirs += images
-depends += qtdoc qtcore qtgui qtwidgets qtwaylandcompositor qtqml qtquick qtquickcontrols
+depends += qtdoc qtcore qtgui qtwidgets qtwaylandcompositor qtqml qtquick qtquickcontrols qtcmake qmake
qhp.projects = QtVirtualKeyboard
@@ -35,10 +28,6 @@ qhp.QtVirtualKeyboard.virtualFolder = qtvirtualkeyboard
qhp.QtVirtualKeyboard.indexTitle = Qt Virtual Keyboard
qhp.QtVirtualKeyboard.indexRoot =
-qhp.QtVirtualKeyboard.filterAttributes = qtvirtualkeyboard $QT_VERSION qtrefdoc
-qhp.QtVirtualKeyboard.customFilters.Qt.name = QtVirtualKeyboard $QT_VERSION
-qhp.QtVirtualKeyboard.customFilters.Qt.filterAttributes = qtvirtualkeyboard $QT_VERSION
-
qhp.QtVirtualKeyboard.subprojects = classes qmltypes examples
qhp.QtVirtualKeyboard.subprojects.classes.title = C++ Classes
@@ -46,10 +35,10 @@ qhp.QtVirtualKeyboard.subprojects.classes.indexTitle = Qt Virtual Keyboard C++ C
qhp.QtVirtualKeyboard.subprojects.classes.selectors = class doc:headerfile
qhp.QtVirtualKeyboard.subprojects.classes.sortPages = true
-qhp.QtVirtualKeyboard.subprojects.qmltypes.title = QML Types
+qhp.QtVirtualKeyboard.subprojects.qmltypes.title = QML Types
qhp.QtVirtualKeyboard.subprojects.qmltypes.indexTitle = Qt Virtual Keyboard QML Types
-qhp.QtVirtualKeyboard.subprojects.qmltypes.selectors = qmlclass
-qhp.QtVirtualKeyboard.subprojects.qmltypes.sortPages = true
+qhp.QtVirtualKeyboard.subprojects.qmltypes.selectors = qmlclass
+qhp.QtVirtualKeyboard.subprojects.qmltypes.sortPages = true
qhp.QtVirtualKeyboard.subprojects.examples.title = Examples
qhp.QtVirtualKeyboard.subprojects.examples.indexTitle = Qt Virtual Keyboard Examples
@@ -59,3 +48,6 @@ qhp.QtVirtualKeyboard.subprojects.examples.sortPages = true
navigation.landingpage = "Qt Virtual Keyboard"
navigation.qmltypespage = "Qt Virtual Keyboard QML Types"
navigation.cppclassespage = "Qt Virtual Keyboard C++ Classes"
+
+# Enforce zero documentation warnings
+warninglimit = 0
diff --git a/src/virtualkeyboard/doc/snippets/CustomInputMethod.qml b/src/virtualkeyboard/doc/snippets/CustomInputMethod.qml
index 4f5b1f08..7b3b837d 100644
--- a/src/virtualkeyboard/doc/snippets/CustomInputMethod.qml
+++ b/src/virtualkeyboard/doc/snippets/CustomInputMethod.qml
@@ -1,40 +1,14 @@
-/****************************************************************************
-**
-** Copyright (C) 2016 The Qt Company Ltd.
-** Contact: https://www.qt.io/licensing/
-**
-** This file is part of the Qt Virtual Keyboard module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:GPL$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see https://www.qt.io/terms-conditions. For further
-** information use the contact form at https://www.qt.io/contact-us.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 3 or (at your option) any later version
-** approved by the KDE Free Qt Foundation. The licenses are as published by
-** the Free Software Foundation and appearing in the file LICENSE.GPL3
-** included in the packaging of this file. Please review the following
-** information to ensure the GNU General Public License requirements will
-** be met: https://www.gnu.org/licenses/gpl-3.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-import QtQuick 2.0
-import QtQuick.VirtualKeyboard 1.0
+// Copyright (C) 2016 The Qt Company Ltd.
+// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR BSD-3-Clause
+
+import QtQuick
+import QtQuick.VirtualKeyboard
// file: CustomInputMethod.qml
InputMethod {
function inputModes(locale) {
- return [InputEngine.Latin];
+ return [InputEngine.InputMode.Latin];
}
function setInputMode(locale, inputMode) {
diff --git a/src/virtualkeyboard/doc/snippets/cmake.txt b/src/virtualkeyboard/doc/snippets/cmake.txt
new file mode 100644
index 00000000..90459244
--- /dev/null
+++ b/src/virtualkeyboard/doc/snippets/cmake.txt
@@ -0,0 +1,4 @@
+//! [find-and-link]
+find_package(Qt6 REQUIRED COMPONENTS VirtualKeyboard)
+target_link_libraries(mytarget PRIVATE Qt6::VirtualKeyboard)
+//! [find-and-link]
diff --git a/src/virtualkeyboard/doc/snippets/qtvirtualkeyboard-custom-language-popup.qml b/src/virtualkeyboard/doc/snippets/qtvirtualkeyboard-custom-language-popup.qml
index 261ad9be..9272d29f 100644
--- a/src/virtualkeyboard/doc/snippets/qtvirtualkeyboard-custom-language-popup.qml
+++ b/src/virtualkeyboard/doc/snippets/qtvirtualkeyboard-custom-language-popup.qml
@@ -1,29 +1,5 @@
-/****************************************************************************
-**
-** Copyright (C) 2018 The Qt Company Ltd.
-** Contact: https://www.qt.io/licensing/
-**
-** This file is part of the documentation of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:FDL$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see https://www.qt.io/terms-conditions. For further
-** information use the contact form at https://www.qt.io/contact-us.
-**
-** GNU Free Documentation License Usage
-** Alternatively, this file may be used under the terms of the GNU Free
-** Documentation License version 1.3 as published by the Free Software
-** Foundation and appearing in the file included in the packaging of
-** this file. Please review the following information to ensure
-** the GNU Free Documentation License version 1.3 requirements
-** will be met: https://www.gnu.org/licenses/fdl-1.3.html.
-** $QT_END_LICENSE$
-**
-****************************************************************************/
+// Copyright (C) 2018 The Qt Company Ltd.
+// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR BSD-3-Clause
// ![popup]
Dialog {
diff --git a/src/virtualkeyboard/doc/src/build.qdoc b/src/virtualkeyboard/doc/src/build.qdoc
index 46dbfb65..54a77719 100644
--- a/src/virtualkeyboard/doc/src/build.qdoc
+++ b/src/virtualkeyboard/doc/src/build.qdoc
@@ -1,29 +1,5 @@
-/****************************************************************************
-**
-** Copyright (C) 2016 The Qt Company Ltd.
-** Contact: https://www.qt.io/licensing/
-**
-** This file is part of the documentation of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:FDL$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see https://www.qt.io/terms-conditions. For further
-** information use the contact form at https://www.qt.io/contact-us.
-**
-** GNU Free Documentation License Usage
-** Alternatively, this file may be used under the terms of the GNU Free
-** Documentation License version 1.3 as published by the Free Software
-** Foundation and appearing in the file included in the packaging of
-** this file. Please review the following information to ensure
-** the GNU Free Documentation License version 1.3 requirements
-** will be met: https://www.gnu.org/licenses/fdl-1.3.html.
-** $QT_END_LICENSE$
-**
-****************************************************************************/
+// Copyright (C) 2016 The Qt Company Ltd.
+// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GFDL-1.3-no-invariants-only
/*!
@@ -38,52 +14,37 @@ This document describes how to build the Qt Virtual Keyboard plugin.
The project is split into the following subprojects:
\table
\row
- \li \e examples/virtualkeyboard/basic/basic.pro
+ \li \e examples/virtualkeyboard/basic
\li Qt Virtual Keyboard Demo application
\row
- \li \e src/virtualkeyboard/import/
- \li Qt Virtual Keyboard QML plugin (QtQuick.VirtualKeyboard)
+ \li \e src/components/
+ \li Qt Virtual Keyboard Components QML plugin (QtQuick.VirtualKeyboard.Components)
\row
- \li \e src/virtualkeyboard/plugin/
+ \li \e src/plugin/
\li Qt Virtual Keyboard platform input context plugin. This plugin
- provides the QPlatformInputContext interface for the Qt and is
- also responsible for loading the Virtual Keyboard Plugins
- (QtQuick.VirtualKeyboard.Plugins).
+ provides the QPlatformInputContext interface and works as a
+ layer between QML input context and platform.
\row
- \li \e src/virtualkeyboard/plugins/
- \li A directory containing Qt Virtual Keyboard plugins, such as the Hunspell plugin
+ \li \e src/plugins/
+ \li A directory containing Qt Virtual Keyboard plugins (QtQuick.VirtualKeyboard.Plugins),
+ which implement complex input methods, such as the \e HunspellInputMethod.
+ Build time configuration specifies which plugins are built and loaded at runtime.
\row
- \li \e src/virtualkeyboard/settings/
- \li Qt Virtual Keyboard Settings QML plugin (QtQuick.VirtualKeyboard.Settings)
+ \li \e src/settings/
+ \li Qt Virtual Keyboard Settings QML plugin (QtQuick.VirtualKeyboard.Settings).
+ This plugin provides application-configurable settings for the virtual keyboard.
\row
- \li \e src/virtualkeyboard/styles/styles.pro
- \li Qt Virtual Keyboard Styles QML plugin (QtQuick.VirtualKeyboard.Styles)
+ \li \e src/styles/
+ \li Qt Virtual Keyboard Styles QML plugin (QtQuick.VirtualKeyboard.Styles).
\row
- \li \e src/virtualkeyboard/virtualkeyboard.pro
- \li Qt Virtual Keyboard module, QML components and layouts
+ \li \e src/virtualkeyboard/
+ \li Qt Virtual Keyboard module and QML plugin.
\endtable
-The input methods are implemented either in C++ or QML.
-Qt Virtual Keyboard provides implementations of \e PlainInputMethod,
-\e MultitapInputMethod and \e HunspellInputMethod.
-The \e MultitapInputMethod is implemented in QML while the others are implemented
-in C++.
-
-\section1 Build Instructions
-
-The Qt Virtual Keyboard can be built for Linux Desktop/X11, Windows Desktop
-or Boot2Qt targets.
-The target is automatically detected by QMAKE and requires no special
-configuration parameters.
-
-Qt Creator is the preferred build environment for Qt Virtual Keyboard as you
-can then leverage the shadow build functionality and rapidly switch between
-build targets.
-
\section2 Configuration Options
The table below contains the top-level options for configuring the virtual
-keyboard features.
+keyboard features. These options are passed to the \e configure tool.
\table
\header
@@ -112,13 +73,14 @@ keyboard features.
if no other languages are specified.
\row
\li \e -vkb-handwriting
- \li [yes|no|t9write|lipi]
+ \li \e [no|example-hwr|myscript-hwr|cerence-hwr]
\li Enables or disabled handwriting input
- \li This flag enables handwriting input. By default, the first engine
- available at build time is used. The engines are chosen in the
- following order: \c t9write, \c lipi-toolkit. To force handwriting
- input using to use a specific engine, specify the engine to be used;
- for example, \c {-vkb-handwriting lipi}.
+ \li This flag enables handwriting input. By default, the engine is
+ automatically activated if it is located in the proper plugins folder
+ even without using of this option. But, in case MyScript and Cerence SDK
+ co-exist, one of [no|myscript-hwr|cerence-hwr] must be configured. The
+ \l {Example Handwriting}{example-hwr} option needs to be explicitly
+ activated. This can be done for development and testing purposes.
\row
\li \e [-no]-vkb-arrow-keynavigation
\li
@@ -167,73 +129,69 @@ keyboard features.
\note In this scenario, the \c QT_VIRTUALKEYBOARD_LAYOUT_PATH environment
variable should be set to the file system directory containing the custom
keyboard layouts before running the application.
-\endtable
-
-These options can be passed to configure when doing a full build of Qt.
-Alternatively, when building only the Qt Virtual Keyboard, you can configure
-the keyboard using the following command (where SRCDIR points to the source
-directory of QtVirtualKeyboard):
-
-\badcode
-qmake $SRCDIR -- [options]
-\endcode
-
-\table
\row
- \li \e disable-hunspell
- \li \e n/a
- \li Disables Hunspell integration
- \li Hunspell integration is enabled if the Hunspell library is available on the
- system, or if it is built using the local project file. Integration can be
- disabled using this option.
-\row
- \li \e no-bundle-pinyin
+ \li \e -vkb-hunspell
+ \li \e [no|3rdparty|system]
+ \li Choose Hunspell integration
+ \li Forces the Hunspell integration method to the specified option. The \e 3rdparty option
+ selects the local build of the Hunspell source code using project files in the
+ virtual keyboard repo. This option requires that the Hunspell git repository has
+ been cloned into \e src/plugins/hunspell/3rdparty/hunspell directory. The \e system
+ option selects the system package via \e pkg-config. The \e no option disables the
+ Hunspell plugin.
+\row
+ \li \e -vkb-no-bundle-pinyin
\li \e n/a
\li Disables bundling of pinyin resources
\li This option excludes pinyin resources from the plugin binary. This option may be
used to reduce the plugin binary size.
\row
- \li \e no-bundle-tcime
+ \li \e -vkb-no-bundle-tcime
\li \e n/a
\li Disables bundling of tcime resources
\li This option excludes tcime resources from the plugin binary. This option may be
used to reduce the plugin binary size.
\row
- \li \e pinyin
- \li \e lang-zh_CN
- \li Enables the Pinyin input method for Simplified Chinese.
- \li This option activates the Pinyin input method for the Simplified Chinese
- language.
-
- \include build.qdocinc input-method-language-option-note
-\row
- \li \e tcime
- \li \e lang-zh_TW
- \li Enables the both Cangjie and Zhuyin input methods for Traditional Chinese.
- \li This option activates the both Cangjie and Zhuyin input methods for the
- Traditional Chinese language.
-
- \include build.qdocinc input-method-language-option-note
-\row
- \li \e openwnn
- \li \e lang-ja_JP
- \li Enables the OpenWnn input method for Japanese.
- \li This option activates the OpenWnn input method for the Japanese language.
-
- \include build.qdocinc input-method-language-option-note
+ \li \e -vkb-cerence-sdk
+ \li \e path/to/cerence/sdk
+ \li Configures the Cerence SDK location and enables the Cerence Handwriting and XT9 integrations.
+ \li The Cerence SDK zip file must be unpacked using the \e src/plugins/cerence/unpack.py
+ script. By default, the SDK is unpacked to \e src/plugins/cerence/sdk, where
+ the build scripts can pick it up automatically. However, by using the second parameter to the unpack.py
+ script, it is possible to use different location for the SDK. In that case, the location must be
+ passed to the build script using the -vkb-cerence-sdk command line parameter.
\row
- \li \e lipi-toolkit
+ \li \e -vkb-cerence-static
\li \e handwriting
- \li Enables the handwriting input method using Lipi Toolkit.
- \li Handwriting recognition is based on the open source Lipi Toolkit.
-\endtable
-
-\section2 Building Documentation
-
-\table
+ \li Enables static linking of the Cerence Handwriting engine.
+ \li The Cerence Handwriting engine is linked dynamically by default. Use \e -vkb-cerence-static to
+ force static linking.
\row
- \li \e {make docs}
- \li Generates documentation
+ \li \e -vkb-bundle-cerence-hwr or \e -vkb-bundle-cerence
+ \li \e n/a
+ \li Enables bundling of Cerence Handwriting resources
+ \li This option bundles the Cerence Handwriting resources in the plugin binary.
+\row
+ \li \e -vkb-bundle-xt9 or \e -vkb-bundle-cerence
+ \li \e n/a
+ \li Enables bundling of XT9 resources
+ \li This option bundles the XT9 resources in the plugin binary.
+\row
+ \li \e -vkb-myscript-sdk
+ \li \e path/to/myscript/sdk
+ \li Configures the MyScript Text SDK location and enables the MyScript Handwriting integration.
+ \li The MyScript Text SDK (zip) which is unpacked to \e src/plugins/myscript/sdk, can be
+ picked up automatically by the build scripts. However, the SDK can be placed in different
+ location. In that case, the location must be passed to the build script using the \c -vkb-myscript-sdk
+ command line parameter.
+\row
+ \li \e -vkb-myscript-arch
+ \li \e [x86|x64|armv7hf|armv7|arm64]
+ \li Configures the target CPU architecture
+ \li The MyScript Text SDK offers shared (dynamic) libraries for different CPU architectures
+ - \e [x86|x64|armv7hf|armv7|arm64] for Linux and \e [x86|x64] for Windows. It can automatically configured.
+ However, a user also can specify the target CPU architecture using the \c -vkb-myscript-arch
+ command line parameter.
\endtable
\section2 Hunspell Integration
@@ -241,13 +199,13 @@ qmake $SRCDIR -- [options]
By default, \e HunspellInputMethod will not be available unless the Hunspell
library and development headers are found. For Linux/X11 targets, the Hunspell
library can be provided by installing the libhunspell-dev package.
-Alternatively, the Hunspell sources can be extracted into the
+Alternatively, the Hunspell git repository can be cloned into the
\e src/plugins/hunspell/3rdparty/hunspell directory. The sources are automatically
detected by the qmake and the project will be configured to use the local Hunspell.
If Hunspell sources are used, then the dictionary files must also be
copied into the \e src/plugins/hunspell/3rdparty/hunspell/data directory.
-An example of how the directory structure should look after copying in the
+An example of how the directory structure should look after setting up the
Hunspell sources and dictionary files is listed below:
\badcode
@@ -256,96 +214,104 @@ Hunspell sources and dictionary files is listed below:
├── data
│ ├── en_GB.aff
│ └── en_GB.dic
- ├── hunspell.pro
- └── src
- └── hunspell
- ├── affentry.cxx
- ├── affentry.hxx
- (etc.)
+ ├── hunspell <-- Hunspell git repository
+ └── CMakeLists.txt
\endcode
-\section2 T9 Write Integration
+\section2 Cerence Handwriting Integration
-T9 Write integration supports the T9 Write Alphabetic and T9 Write CJK engines. Both
-engines are integrated via T9WriteInputMethod. The input method can be initialized
-with either of the engines at runtime. The engine selection happens automatically
-based on input locale and input mode from the keyboard.
+Cerence Handwriting integration supports the Alphabetic and CJK (Chinese Japanese Korean)
+engines. Both engines are integrated via T9WriteInputMethod. The input method is initialized
+with one engine at the time. The engine selection happens automatically based on the current
+input locale.
-\section3 T9 Write Compatibility
+\section3 Cerence Handwriting Compatibility
-Qt Virtual Keyboard is compatible with T9 Write v7.5.0 onward.
+Qt Virtual Keyboard is compatible with Cerence Handwriting v8.7 or later.
-The latest tested version is v7.8.1.
+\section3 Cerence Handwriting Build Preparations
-\section3 T9 Write Build Preparations
+The contents of the SDK must unpacked using the \e unpack.py script located in the \e cerence
+directory. This ensures the correct directory structure for CMake to find the content.
-The contents of the SDK must be either manually copied to the directory structure
-described below, or by using the \e unpack.py script found in the t9write directory.
+\badcode
+$ cd src/plugins/cerence/
+$ python unpack.py filename.zip
+\endcode
-To unpack the SDK using the script:
+This will unpack the contents to the \e src/plugins/cerence/sdk directory, where the CMake can
+pick it up automatically.
+
+Alternatively, you can unpack to any other directory by adding extra parameter to the command
+line. In this case, the location of the SDK must be passed to the \e configure script.
\badcode
-$ cd src/plugins/t9write/3rdparty/t9write/
-$ python unpack.py T9Write_Alpha_v7-8-0_SDK.zip .
+configure ... -vkb-cerence-sdk /path/to/cerence/sdk
\endcode
+\section3 Layout of the Cerence SDK
+
+The extracted content of the SDK looks like this:
+
\badcode
-3rdparty
-└── t9write
- ├─── api
- │ ├─── decuma*.h
- │ ├─── t9write*.h
- │ └─── xxt9w*.h
- ├─── data
- │ ├─── arabic
- │ │ └─── *.bin [T9 Write Arabic]
- │ ├─── hebrew
- │ │ └─── *.bin [T9 Write Hebrew]
- │ ├─── *.bin [T9 Write Alphabetic]
- │ ├─── *.hdb
- │ ├─── *.phd
- │ └─── *.ldb [T9 Write v7.5]
- └─── lib
- ├─── arm
- │ ├─── shared
- │ │ ├─── alphabetic
- │ │ │ └─── *.so
- │ │ └─── cjk
- │ │ └─── *.so
- │ └─── static
- │ ├─── alphabetic
- │ │ └─── *.a / *.o
- │ └─── cjk
- │ └─── *.a / *.o
- ├─── linux-x86
- │ ├─── shared
- │ │ ├─── alphabetic
- │ │ │ └─── *.so
- │ │ └─── cjk
- │ │ └─── *.so
- │ └─── static
- │ ├─── alphabetic
- │ │ └─── *.a / *.o
- │ └─── cjk
- │ └─── *.a / *.o
- └─── win32
- ├─── shared
- │ ├─── alphabetic
- │ │ ├─── *.dll
- │ │ └─── *.lib
- │ └─── cjk
- │ ├─── *.dll
- │ └─── *.lib
- └─── static
- ├─── alphabetic
- │ └─── *.lib / *.obj
- └─── cjk
- └─── *.lib / *.obj
+sdk
+├───t9write
+│ ├───api
+│ ├───data
+│ │ ├───arabic
+│ │ ├───hebrew
+│ │ └───thai
+│ └───lib
+│ ├───linux
+│ │ ├───arm64
+│ │ │ ├───shared
+│ │ │ │ ├───alphabetic
+│ │ │ │ └───cjk
+│ │ │ └───static
+│ │ │ ├───alphabetic
+│ │ │ └───cjk
+│ │ └───x86_64
+│ │ ├───shared
+│ │ │ ├───alphabetic
+│ │ │ └───cjk
+│ │ └───static
+│ │ ├───alphabetic
+│ │ └───cjk
+│ └───win32
+│ ├───x86
+│ │ ├───shared
+│ │ │ ├───alphabetic
+│ │ │ └───cjk
+│ │ └───static
+│ │ ├───alphabetic
+│ │ └───cjk
+│ └───x86_64
+│ ├───shared
+│ │ ├───alphabetic
+│ │ └───cjk
+│ └───static
+│ ├───alphabetic
+│ └───cjk
+└───xt9
+ ├───api
+ ├───data
+ └───lib
+ ├───linux
+ │ ├───arm64
+ │ │ ├───shared
+ │ │ └───static
+ │ └───x86_64
+ │ ├───shared
+ │ └───static
+ └───win32
+ ├───x86
+ │ ├───shared
+ │ └───static
+ └───x86_64
+ ├───shared
+ └───static
\endcode
-\note The above files are from the T9 Write demo SDK for Windows; the contents may vary for other
- platforms.
-
Where the contents of each directory are:
\table
@@ -365,12 +331,12 @@ Where the contents of each directory are:
\li \e data
\li This directory should contain all HWR databases and optionally
XT9 databases.
- \li HWR database for the T9 Write Alphabetic:
+ \li HWR database for the Cerence Handwriting Alphabetic:
\list
\li \e _databas_le.bin
\endlist
- HWR database for the T9 Write CJK:
+ HWR database for the Cerence Handwriting CJK:
\list
\li \e cjk_HK_std_le.hdb HongKong Chinese
\li \e cjk_J_std_le.hdb Japanese
@@ -389,14 +355,23 @@ Where the contents of each directory are:
\li These directories should hold the desired target libraries.
If both shared and static libraries are found, shared libraries
are preferred.
-
- For example, to enable a static win32 build, copy
- \e t9write_alphabetic_rel.obj to \e lib/win32/static/alphabetic
- directory.
\endtable
-Finally, the SDK is included in the build by adding CONFIG+=t9write to the
-qmake command line.
+The Cerence Handwriting and XT9 integration code is automatically activated when the
+Cerence SDK is detected.
+
+All other extensions should be cleaned from the \e [qtbase]/plugins/virtualkeyboard directory
+before building the Cerence extensions to avoid conflicting behavior at runtime. The
+Cerence extensions do not require any other virtual keyboard plugin to function.
+
+Handwriting databases and language databases for XT9 are installed in the
+\e [qtbase]/qtvirtualkeyboard/cerence directory. In addition, there are two other
+alternatives for locating these files:
+
+\list
+ \li A custom runtime location defined by \l {Environment Variables}
+ \li The \e -vkb-bundle-cerence command line option to embed resources in the plugin binaries
+\endlist
\section2 MyScript Text SDK Integration
@@ -419,22 +394,50 @@ is no need for an explicit gesture.
<div align="center"><figure><svg xmlns:svg="http://www.w3.org/2000/svg" xmlns="http://www.w3.org/2000/svg" version="1.1" id="svg2" viewbox="0 0 156.63411 96.840738" height="27.330608mm" width="44.205627mm"> <defs id="defs4"></defs> <metadata id="metadata7"> </metadata> <g transform="translate(-19.991064,-156.76845)" id="layer1"> <path id="path3338" stroke-dasharray="700" stroke-dashoffset="700" d="m 20.203051,228.07773 c 7.019038,3.28583 18.296996,2.19868 25.253814,2.0203 27.834023,-0.71369 42.825541,-21.91043 41.416254,-47.98224 -0.323001,-5.97553 -7.191269,-26.45641 -10.606602,-24.74874 -10.259596,5.1298 -9.124503,41.18434 -7.576144,52.02286 1.430314,10.01219 2.165272,8.95563 3.030458,20.20305 0.514408,6.68731 0.563751,12.53255 1.515229,19.19289 0.191958,1.34371 0.355181,2.69156 0.505076,4.04061 0.01859,0.16733 0,0.67344 0,0.50508 0,-2.49868 0.106479,0.64925 -1.010153,-4.04061 -1.138171,-4.78032 -2.879899,-14.31543 -2.525381,-18.68782 0.215131,-2.65328 1.334905,-5.19519 2.525381,-7.57615 1.190476,-2.38095 2.750791,-4.60015 4.545687,-6.56599 2.880061,-3.15435 5.631315,-6.15186 10.101525,-5.55584 7.218425,0.96246 9.158962,18.77507 9.596449,24.24367 0.312712,3.90889 -0.730173,4.84918 1.010153,8.08122 2.037193,3.78335 3.387013,4.88523 8.081223,5.55583 5.47716,0.78246 9.60547,-2.86344 13.63706,-6.06091 2.23856,-1.77541 4.56788,-3.62491 6.06091,-6.06092 4.94323,-8.06526 6.7262,-26.15308 -6.06091,-28.28427 -20.629129,-3.43819 -15.11782,36.04559 11.11167,35.35534 3.30658,-0.087 6.53787,-1.26596 9.59645,-2.52538 25.47885,-10.49129 20.89279,-45.3686 11.61676,-65.65992 -1.54311,-3.37554 -5.32932,-11.06285 -9.09137,-13.13198 -1.47519,-0.81135 -3.36718,0 -5.05077,0 -1.01015,0 -2.08112,-0.34521 -3.03046,0 -9.66282,3.51375 -12.01346,27.64821 -11.11167,36.36549 0.68611,6.63247 4.06851,21.716 8.08122,26.76905 8.89766,11.20446 20.90822,13.3675 34.34518,14.64721 4.58435,0.4366 7.15182,0.9294 10.10153,-2.02031" style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;stroke-miterlimit:4;"> <animate begin="0s;helOpacityFinal.end" attributename="stroke-dashoffset" from="700px" to="0px" dur="2s" fill="freeze" id="hel"></animate> <animate begin="hel.end" attributename="opacity" from="1" to="0.2" dur="3s" fill="freeze" id="helOpacity"></animate> <animate begin="loOpacity.end" attributename="opacity" from="0.2" to="0" dur="0.1s" fill="remove" id="helOpacityFinal"></animate> <set begin="helOpacityFinal.end" attributename="opacity" to="1"></set> </path> <path id="path3344" stroke-dasharray="500" stroke-dashoffset="500" d="m 41.416254,231.61326 c 3.094802,7.92585 11.797035,7.22396 19.192898,7.57614 31.260076,1.48858 50.776938,-24.97346 43.436558,-55.55839 -2.10376,-8.76565 -7.342388,-19.06976 -17.172591,-20.70812 -0.664273,-0.11071 -1.494441,-0.42069 -2.020305,0 -0.542049,0.43364 -0.354492,1.34267 -0.505077,2.0203 -0.522917,2.35313 -1.164511,4.68619 -1.515229,7.07107 -2.708747,18.41948 0.296465,32.36077 6.565992,49.49747 2.682486,7.33213 5.639357,17.22468 15.15229,17.67767 13.38648,0.63746 15.45757,-25.2821 7.07106,-32.82995 -1.55953,-1.40358 -5.88665,6.03367 -4.54568,15.15228 1.46349,9.95173 11.80613,17.40505 21.71828,15.15229 4.41964,-1.00446 11.43406,-9.0399 12.6269,-11.11167 7.10359,-12.33781 -9.7499,-22.51604 -18.18274,-26.26397 -11.05732,-4.91436 -18.5283,7.61904 -12.62691,11.61675 9.07281,6.1461 23.89173,1.97435 32.32488,-1.51523 4.27171,-1.7676 7.7445,-5.05076 11.61676,-7.57614" style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;stroke-miterlimit:4"> <animate begin="hel.end" attributename="stroke-dashoffset" from="500px" to="0px" dur="3s" fill="freeze" id="lo"></animate> <animate begin="lo.end" attributename="opacity" from="1" to="0" dur="2s" fill="freeze" id="loOpacity"></animate> <set begin="hel.end" attributename="opacity" to="1"></set> </path> </g></svg><figcaption>Writing fragments of word over the others</figcaption></figure></div>
\endraw
+\raw DocBook
+<db:figure>
+<db:title>Writing one character over the other</db:title>
+<db:mediaobject>
+<db:imageobject>
+<db:imagedata>
+<svg xmlns:svg="http://www.w3.org/2000/svg" xmlns="http://www.w3.org/2000/svg" width="21.057215mm" height="23.094498mm" viewbox="0 0 74.612178 81.830896" id="svg4891" version="1.1"> <defs id="defs4893"></defs> <metadata id="metadata4896"> </metadata> <g id="layer1" transform="translate(523.68284,-132.09962)"> <filter id="dropshadow" height="130%"> <fegaussianblur in="SourceAlpha" stddeviation="3"></fegaussianblur> <feoffset dx="2" dy="2" result="offsetblur"></feoffset> <fecomponenttransfer xmlns="http://www.w3.org/2000/svg"> <fefunca type="linear" slope="0.5"></fefunca> </fecomponenttransfer> <femerge> <femergenode></femergenode> <femergenode in="SourceGraphic"></femergenode> </femerge></filter> <path style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:2px;stroke-linecap:round;stroke-linejoin:round;stroke-opacity:1" stroke-dasharray="300" stroke-dashoffset="300" d="m -523.25902,200.29853 c 6.95139,11.10595 25.78874,3.22177 32.32488,-4.04061 11.79865,-13.1096 17.63403,-31.02787 14.14214,-48.48732 -0.50587,-2.52933 -5.5167,-18.22189 -9.09137,-14.64721 -5.55428,5.55427 -5.5673,24.06358 -6.06092,30.80965 -0.76585,10.46668 -2.8203,20.43699 -4.04061,30.80965 -0.6416,5.45361 -0.50508,9.28437 -0.50508,14.64722 0,1.34687 1.34687,4.04061 0,4.04061 -0.61968,0 0.23734,-4.20009 2.52539,-10.60661 3.69589,-10.34851 8.06488,-17.115 18.68782,-21.71828 2.1627,-0.93717 6.32571,-2.23606 7.07106,0 1.75433,5.26298 -3.71882,27.10875 8.08123,24.74874 1.4766,-0.29532 3.0107,-0.92173 4.04061,-2.0203 1.59968,-1.70633 2.42154,-4.00433 3.53553,-6.06092 1.07581,-1.98612 2.0203,-4.04061 3.03046,-6.06091" id="path4899"> <animate begin="0s;hOpacityFinal.end" attributename="stroke-dashoffset" from="300px" to="0px" dur="2s" fill="freeze" id="h"></animate> <animate begin="h.end" attributename="opacity" from="1" to="0.2" dur="2s" fill="freeze" id="hOpacity"></animate> <animate begin="oOpacity.end" attributename="opacity" from="0.2" to="0" dur="0.1s" fill="remove" id="hOpacityFinal"></animate> <set begin="hOpacityFinal.end" attributename="opacity" to="1"></set> </path> <path style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:2px;stroke-linecap:round;stroke-linejoin:round;stroke-opacity:1" stroke-dasharray="150" stroke-dashoffset="150" d="m -503.05597,187.16655 c 6.30156,1.57539 7.48006,2.26745 14.64721,2.0203 4.68337,-0.16149 7.79914,-1.02611 11.11168,-4.54568 10.51043,-11.16733 -11.38898,-18.31643 -18.18274,-3.03046 -0.77578,1.7455 -0.56279,12.84339 0,14.14214 6.50612,15.01414 20.7593,7.81972 27.77919,-2.52539 1.4399,-2.12194 2.02031,-4.71404 3.03046,-7.07106" id="path4901"> <animate begin="h.end+0.01s" attributename="stroke-dashoffset" from="150px" to="0px" dur="2s" fill="freeze" id="e"></animate> <animate begin="e.end" attributename="opacity" from="1" to="0.2" dur="2s" fill="freeze" id="eOpacity"></animate> <animate begin="oOpacity.end" attributename="opacity" from="0.2" to="0" dur="0.1s" fill="remove" id="eOpacityFinal"></animate> <set begin="h.end" attributename="opacity" to="1"></set> </path> <path style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:2px;stroke-linecap:round;stroke-linejoin:round;stroke-opacity:1" stroke-dasharray="200" stroke-dashoffset="200" d="m -501.03566,200.80361 c 11.64322,7.6781 20.14867,-6.67932 24.24366,-16.16244 1.65295,-3.82789 5.7942,-16.09995 4.54568,-21.71828 -0.76783,-3.45526 -2.7246,-6.56132 -4.54568,-9.59645 -10.0858,-16.80967 -16.78281,-1.60069 -18.68782,10.10152 -1.35371,8.31563 -3.14678,22.86131 -0.50508,31.31473 4.4811,14.33953 15.24399,22.1694 26.76904,8.5863 3.22845,-3.80496 5.30918,-10.30708 7.07107,-15.15229" id="path4903"> <animate begin="e.end+0.01s" attributename="stroke-dashoffset" from="200px" to="0px" dur="2s" fill="freeze" id="l"></animate> <animate begin="l.end" attributename="opacity" from="1" to="0.2" dur="2s" fill="freeze" id="lOpacity"></animate> <animate begin="oOpacity.end" attributename="opacity" from="0.2" to="0" dur="0.1s" fill="remove" id="lOpacityFinal"></animate> <set begin="e.end" attributename="opacity" to="1"></set> </path> <path style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:2px;stroke-linecap:round;stroke-linejoin:round;stroke-opacity:1" stroke-dasharray="220" stroke-dashoffset="220" d="m -507.60165,205.3493 c 1.53719,3.07439 0.25722,2.0203 4.54568,2.0203 11.013,0 16.92189,-7.83289 21.21321,-17.67767 1.48054,-3.39653 3.24098,-15.42468 3.03045,-18.68782 -0.31004,-4.80567 -4.96262,-9.4326 -7.57614,-12.62691 -5.01521,-6.1297 -7.93642,-7.18375 -11.61676,1.51523 -3.61721,8.54979 -5.0193,26.86342 -2.0203,35.86042 3.71905,11.15714 12.82566,21.08507 24.74874,11.61675 3.11162,-2.47099 4.71404,-6.39763 7.07106,-9.59645" id="path4905"> <animate begin="l.end+0.01s" attributename="stroke-dashoffset" from="220px" to="0px" dur="2s" fill="freeze" id="l2"></animate> <animate begin="l2.end" attributename="opacity" from="1" to="0.2" dur="2s" fill="freeze" id="l2Opacity"></animate> <animate begin="oOpacity.end" attributename="opacity" from="0.2" to="0" dur="0.1s" fill="remove" id="l2OpacityFinal"></animate> <set begin="l.end" attributename="opacity" to="1"></set> </path> <path style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:2px;stroke-linecap:round;stroke-linejoin:round;stroke-opacity:1" stroke-dasharray="120" stroke-dashoffset="120" d="m -483.86307,185.14624 c -4.91638,-10.38229 -25.09874,-2.01585 -21.71828,9.09138 4.18358,13.74606 25.60472,15.81949 31.31473,2.0203 8.05585,-19.4683 -24.24366,-20.3309 -24.24366,-12.12183" id="path4907"> <animate begin="l2.end+0.01s" attributename="stroke-dashoffset" from="100px" to="0px" dur="2s" fill="freeze" id="o"></animate> <animate begin="o.end" attributename="opacity" from="1" to="0" dur="2s" fill="freeze" id="oOpacity"></animate> <set begin="l2.end" attributename="opacity" to="1"></set> </path> </g></svg></db:imagedata>
+</db:imageobject>
+</db:mediaobject>
+</db:figure>
+<db:figure>
+<db:title>Writing fragments of word over the others</db:title>
+<db:mediaobject>
+<db:imageobject>
+<db:imagedata>
+<svg xmlns:svg="http://www.w3.org/2000/svg" xmlns="http://www.w3.org/2000/svg" version="1.1" id="svg2" viewbox="0 0 156.63411 96.840738" height="27.330608mm" width="44.205627mm"> <defs id="defs4"></defs> <metadata id="metadata7"> </metadata> <g transform="translate(-19.991064,-156.76845)" id="layer1"> <path id="path3338" stroke-dasharray="700" stroke-dashoffset="700" d="m 20.203051,228.07773 c 7.019038,3.28583 18.296996,2.19868 25.253814,2.0203 27.834023,-0.71369 42.825541,-21.91043 41.416254,-47.98224 -0.323001,-5.97553 -7.191269,-26.45641 -10.606602,-24.74874 -10.259596,5.1298 -9.124503,41.18434 -7.576144,52.02286 1.430314,10.01219 2.165272,8.95563 3.030458,20.20305 0.514408,6.68731 0.563751,12.53255 1.515229,19.19289 0.191958,1.34371 0.355181,2.69156 0.505076,4.04061 0.01859,0.16733 0,0.67344 0,0.50508 0,-2.49868 0.106479,0.64925 -1.010153,-4.04061 -1.138171,-4.78032 -2.879899,-14.31543 -2.525381,-18.68782 0.215131,-2.65328 1.334905,-5.19519 2.525381,-7.57615 1.190476,-2.38095 2.750791,-4.60015 4.545687,-6.56599 2.880061,-3.15435 5.631315,-6.15186 10.101525,-5.55584 7.218425,0.96246 9.158962,18.77507 9.596449,24.24367 0.312712,3.90889 -0.730173,4.84918 1.010153,8.08122 2.037193,3.78335 3.387013,4.88523 8.081223,5.55583 5.47716,0.78246 9.60547,-2.86344 13.63706,-6.06091 2.23856,-1.77541 4.56788,-3.62491 6.06091,-6.06092 4.94323,-8.06526 6.7262,-26.15308 -6.06091,-28.28427 -20.629129,-3.43819 -15.11782,36.04559 11.11167,35.35534 3.30658,-0.087 6.53787,-1.26596 9.59645,-2.52538 25.47885,-10.49129 20.89279,-45.3686 11.61676,-65.65992 -1.54311,-3.37554 -5.32932,-11.06285 -9.09137,-13.13198 -1.47519,-0.81135 -3.36718,0 -5.05077,0 -1.01015,0 -2.08112,-0.34521 -3.03046,0 -9.66282,3.51375 -12.01346,27.64821 -11.11167,36.36549 0.68611,6.63247 4.06851,21.716 8.08122,26.76905 8.89766,11.20446 20.90822,13.3675 34.34518,14.64721 4.58435,0.4366 7.15182,0.9294 10.10153,-2.02031" style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;stroke-miterlimit:4;"> <animate begin="0s;helOpacityFinal.end" attributename="stroke-dashoffset" from="700px" to="0px" dur="2s" fill="freeze" id="hel"></animate> <animate begin="hel.end" attributename="opacity" from="1" to="0.2" dur="3s" fill="freeze" id="helOpacity"></animate> <animate begin="loOpacity.end" attributename="opacity" from="0.2" to="0" dur="0.1s" fill="remove" id="helOpacityFinal"></animate> <set begin="helOpacityFinal.end" attributename="opacity" to="1"></set> </path> <path id="path3344" stroke-dasharray="500" stroke-dashoffset="500" d="m 41.416254,231.61326 c 3.094802,7.92585 11.797035,7.22396 19.192898,7.57614 31.260076,1.48858 50.776938,-24.97346 43.436558,-55.55839 -2.10376,-8.76565 -7.342388,-19.06976 -17.172591,-20.70812 -0.664273,-0.11071 -1.494441,-0.42069 -2.020305,0 -0.542049,0.43364 -0.354492,1.34267 -0.505077,2.0203 -0.522917,2.35313 -1.164511,4.68619 -1.515229,7.07107 -2.708747,18.41948 0.296465,32.36077 6.565992,49.49747 2.682486,7.33213 5.639357,17.22468 15.15229,17.67767 13.38648,0.63746 15.45757,-25.2821 7.07106,-32.82995 -1.55953,-1.40358 -5.88665,6.03367 -4.54568,15.15228 1.46349,9.95173 11.80613,17.40505 21.71828,15.15229 4.41964,-1.00446 11.43406,-9.0399 12.6269,-11.11167 7.10359,-12.33781 -9.7499,-22.51604 -18.18274,-26.26397 -11.05732,-4.91436 -18.5283,7.61904 -12.62691,11.61675 9.07281,6.1461 23.89173,1.97435 32.32488,-1.51523 4.27171,-1.7676 7.7445,-5.05076 11.61676,-7.57614" style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;stroke-miterlimit:4"> <animate begin="hel.end" attributename="stroke-dashoffset" from="500px" to="0px" dur="3s" fill="freeze" id="lo"></animate> <animate begin="lo.end" attributename="opacity" from="1" to="0" dur="2s" fill="freeze" id="loOpacity"></animate> <set begin="hel.end" attributename="opacity" to="1"></set> </path> </g></svg></db:imagedata>
+</db:imageobject>
+</db:mediaobject>
+</db:figure>
+\endraw
+
\section3 Language coverage of MyScript Text SDK
-MyScript Superimposed supports 70 languages.
+MyScript Superimposed supports 72 languages.
\section3 MyScript Text SDK Packages Installation
The MyScript delivery team can provide you the packages with various \c .zip archives.
To access all the code, tools, and resources needed for building your own
handwriting application, \b {extract all the packages in the same destination folder} as
-\c src/plugins/myscript/3rdparty/myscript.
+\c src/plugins/myscript/sdk, where the CMake can pick it up automatically.
+
+Alternatively, you can extract the packages to any other directory.
+In this case, the location of the SDK must be passed to the \e configure script.
+
+\badcode
+configure ... -vkb-myscript-sdk /path/to/myscript/sdk
+\endcode
The file hierarchy should look like below:
\badcode
-3rdparty
-└── myscript
+myscript
+└── sdk
├─── conf
├─── doc
├─── edk
@@ -444,6 +447,8 @@ The file hierarchy should look like below:
│ │ └─── *.so
│ ├─── lin-armv7
│ │ └─── *.so
+ │ ├─── lin-armv7hf
+ │ │ └─── *.so
│ ├─── lin-x64
│ │ └─── *.so
│ ├─── lin-x86
@@ -474,6 +479,8 @@ The file hierarchy should look like below:
│ │ └─── *.so
│ ├─── lin-armv7
│ │ └─── *.so
+ │ ├─── lin-armv7hf
+ │ │ └─── *.so
│ ├─── lin-x64
│ │ └─── *.so
│ ├─── lin-x86
@@ -525,15 +532,16 @@ security measure that uniquely identifies you as a legitimate customer of MyScri
technologies. The certificate helps MyScript trace customers' identify and the products
that have been purchased.
-The certificate is delivered in the /c [your_login].vo.zip package. When you unzip
+The certificate is delivered in the \c {[your_login].vo.zip package}. When you unzip
this package, the certificate is automatically put in the appropriate location.
This ensure that the certificate is instantly working within the services and code
samples that you have been provided with.
\section3 How to build Qt Virtual Keyboard with MyScript Text SDK
-The MyScript Text SDK is included in the build of Qt Virtual Keyboard by either
-adding \c CONFIG+=handwriting or \c CONFIG+=myscript to the qmake command line.
+The MyScript integration code is automatically activated when the MyScript Text SDK is detected.
+
+Language resources for MyScript Text SDK are installed in the \e [qtbase]/qtvirtualkeyboard/myscript directory.
\section2 Static builds
@@ -541,41 +549,4 @@ The virtual keyboard can be built and linked statically against the application.
This implies that Qt is also built statically (using the -static option in the
configure command line).
-Static builds of the virtual keyboard are enabled by adding \c CONFIG+=static to
-the qmake command line and then rebuilding.
-
-Some third party modules used by the virtual keyboard are always built as shared
-libraries. These modules are Hunspell and Lipi Toolkit.
-
-\section3 Using the static plugin
-
-The following section should be added to the application project file that uses the
-statically built virtual keyboard.
-
-\code
-static {
- QTPLUGIN += qtvirtualkeyboardplugin
- QT += svg
-}
-\endcode
-
-\c QTPLUGIN causes qmake to pull linker dependencies for the virtual keyboard
-plugin. The SVG module is required as an extra dependency for Qt, since the SVG format is
-required by the default styles.
-
-From here on, using a statically built virtual keyboard is no different from the normal
-case.
-
-\section1 Deployment
-
-\section2 Desktop Targets
-
-Add a Deploy Step that executes the \e {make install} command, then deploy using
-the \e {Deploy All} command.
-
-\section2 Boot2Qt Targets
-
-The installation is done by copying the necessary files to the memory card, or
-by using the adb push command.
-
*/
diff --git a/src/virtualkeyboard/doc/src/deployment-guide.qdoc b/src/virtualkeyboard/doc/src/deployment-guide.qdoc
index d7ea786c..04abd288 100644
--- a/src/virtualkeyboard/doc/src/deployment-guide.qdoc
+++ b/src/virtualkeyboard/doc/src/deployment-guide.qdoc
@@ -1,29 +1,5 @@
-/****************************************************************************
-**
-** Copyright (C) 2016 The Qt Company Ltd.
-** Contact: https://www.qt.io/licensing/
-**
-** This file is part of the documentation of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:FDL$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see https://www.qt.io/terms-conditions. For further
-** information use the contact form at https://www.qt.io/contact-us.
-**
-** GNU Free Documentation License Usage
-** Alternatively, this file may be used under the terms of the GNU Free
-** Documentation License version 1.3 as published by the Free Software
-** Foundation and appearing in the file included in the packaging of
-** this file. Please review the following information to ensure
-** the GNU Free Documentation License version 1.3 requirements
-** will be met: https://www.gnu.org/licenses/fdl-1.3.html.
-** $QT_END_LICENSE$
-**
-****************************************************************************/
+// Copyright (C) 2016 The Qt Company Ltd.
+// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GFDL-1.3-no-invariants-only
/*!
@@ -34,7 +10,7 @@
\section1 Overview
This document describes how to deploy and use the Qt Virtual Keyboard plugin
-with Qt 5 applications.
+with Qt applications.
\section1 Deployment
@@ -47,32 +23,55 @@ locations:
\li Desktop install path
\li Boot2Qt install path
\row
- \li qtvirtualkeyboardplugin
- \li \c $$[QT_INSTALL_PLUGINS]/platforminputcontexts
+ \li qtvirtualkeyboardplugin platform input context plugin
+ \li \c <QT_INSTALL_PLUGINS>/platforminputcontexts
\li \c /system/plugins/platforminputcontexts
\row
- \li qtvirtualkeyboardextensionplugin
- \li \c $$[QT_INSTALL_PLUGINS]/virtualkeyboard
- \li \c /system/plugins/virtualkeyboard
-\row
- \li qtvirtualkeyboardplugin QML files
- \li \c $$[QT_INSTALL_QML]/QtQuick/VirtualKeyboard
+ \li qtvkbplugin QML plugin
+ \li \c <QT_INSTALL_QML>/QtQuick/VirtualKeyboard
\li \c /system/qml/QtQuick/VirtualKeyboard
\row
- \li qtvirtualkeyboardstylesplugin
- \li \c $$[QT_INSTALL_QML]/QtQuick/VirtualKeyboard/Styles
+ \li qtvkbcomponentsplugin QML plugin
+ \li \c <QT_INSTALL_QML>/QtQuick/VirtualKeyboard/Components
+ \li \c /system/qml/QtQuick/VirtualKeyboard/Components
+\row
+ \li qtvkblayoutsplugin QML plugin
+ \li \c <QT_INSTALL_QML>/QtQuick/VirtualKeyboard/Layouts
+ \li \c /system/qml/QtQuick/VirtualKeyboard/Layouts
+\row
+ \li qtvkbpluginsplugin QML plugin
+ \li \c <QT_INSTALL_QML>/QtQuick/VirtualKeyboard/Plugins
+ \li \c /system/qml/QtQuick/VirtualKeyboard/Plugins
+\row
+ \li extension QML plugins
+ \li \c <QT_INSTALL_QML>/QtQuick/VirtualKeyboard/Plugins/*
+ \li \c /system/qml/QtQuick/VirtualKeyboard/Plugins/*
+\row
+ \li qtvkbsettingsplugin QML plugin
+ \li \c <QT_INSTALL_QML>/QtQuick/VirtualKeyboard/Settings
+ \li \c /system/qml/QtQuick/VirtualKeyboard/Settings
+\row
+ \li qtvkbstylesplugin QML plugin
+ \li \c <QT_INSTALL_QML>/QtQuick/VirtualKeyboard/Styles
\li \c /system/qml/QtQuick/VirtualKeyboard/Styles
+\row
+ \li Virtual keyboard data
+ \li \c <QT_INSTALL_DATA>/qtvirtualkeyboard
+ \li \c /system/qtvirtualkeyboard
\endtable
+\section2 Dependencies
+
+Read more at \l {Deploying Qt's Libraries}.
+
\section1 Integration Method
Qt Virtual Keyboard currently supports two alternative integration methods
for using the plugin:
\list
- \li \c Desktop: requires no changes to existing applications.
- The virtual keyboard is available to all of the Qt 5 applications
- in the system.
+ \li \c Desktop: requires no changes to existing applications. The virtual
+ keyboard is available to all Qt applications in the system.
In this integration method, the keyboard is shown in a dedicated
top-level window.
@@ -91,23 +90,23 @@ The integration method is automatically selected by the project files.
However, in desktop environments, it is possible to override the desktop
integration method and use the application integration method instead,
by using the \c QT_VIRTUALKEYBOARD_DESKTOP_DISABLE environment variable,
-or by adding \c CONFIG+=disable-desktop to the \c qmake command line.
+or by adding \c -no-vkb-desktop to the \c configure command line.
\section2 Using Qt Virtual Keyboard with Qt Wayland
This section explains how to use Qt Virtual Keyboard to interact with the
\l {Line Edits Example}{Qt Widgets Line Edits example} using the
-\l {Qt Wayland Compositor Examples - Pure QML}{Pure QML example}
-as a compositor.
+\l {Fancy Compositor}{Fancy Compositor example} as a compositor.
We will be using Ubuntu 18.04 to run the example, using the X11 as the
-windowing system. The example compositor (\c pure-qml) will open
+windowing system. The example compositor (\c fancy-compositor) will open
as a window within an X11 session.
\list 1
\li Start the compositor:
\badcode
-QT_XCB_GL_INTEGRATION=xcb_egl QT_WAYLAND_CLIENT_BUFFER_INTEGRATION=xcomposite-egl QT_IM_MODULE=qtvirtualkeyboard ./pure-qml -platform xcb
+QT_XCB_GL_INTEGRATION=xcb_egl QT_WAYLAND_CLIENT_BUFFER_INTEGRATION=xcomposite-egl \
+QT_IM_MODULE=qtvirtualkeyboard ./fancy-compositor -platform xcb
\endcode
\li Before running the client application, ensure that QT_IM_MODULE is unset:
\badcode
@@ -154,8 +153,8 @@ The following example shows how to create an InputPanel and how to
divide the screen area with the application container.
\code
-import QtQuick 2.0
-import QtQuick.VirtualKeyboard 2.1
+import QtQuick
+import QtQuick.VirtualKeyboard
Item {
id: root
@@ -195,7 +194,7 @@ There are several environment variables defined by the module that are listed be
\li Overrides the location of the Hunspell data files.
The default location depends on the value of
- \c {QLibraryInfo::location(QLibraryInfo::DataPath)}.
+ \c {QLibraryInfo::path(QLibraryInfo::DataPath)}.
For example, for Qt libraries built from source,
it could be \c {qtbase/qtvirtualkeyboard/hunspell}.
@@ -206,9 +205,9 @@ There are several environment variables defined by the module that are listed be
By default, the dictionary is bundled into the plugin's resources.
- To disable resource bundling, add \c CONFIG+=no-bundle-pinyin in the
- plugin's qmake command line. In this scenario, the default location
- depends on the value of \c {QLibraryInfo::location(QLibraryInfo::DataPath)}.
+ To disable resource bundling, add \e -vkb-no-bundle-pinyin to the
+ Qt configure command line. In this scenario, the default location
+ depends on the value of \c {QLibraryInfo::path(QLibraryInfo::DataPath)}.
For example, for Qt libraries built from source,
it could be \c {qtbase/qtvirtualkeyboard/pinyin/dict_pinyin.dat}.
\row
@@ -217,9 +216,9 @@ There are several environment variables defined by the module that are listed be
By default, the dictionary is bundled into the plugin's resources.
- To disable resource bundling, add \c CONFIG+=no-bundle-tcime in the
- plugin's qmake command line. In this scenario, the default location
- depends on the value of \c {QLibraryInfo::location(QLibraryInfo::DataPath)}.
+ To disable resource bundling, add \e -vkb-no-bundle-tcime to the
+ Qt configure command line. In this scenario, the default location
+ depends on the value of \c {QLibraryInfo::path(QLibraryInfo::DataPath)}.
For example, for Qt libraries built from source,
it could be \c {qtbase/qtvirtualkeyboard/tcime/dict_cangjie.dat}.
\row
@@ -228,9 +227,9 @@ There are several environment variables defined by the module that are listed be
By default, the dictionary is bundled into the plugin's resources.
- To disable resource bundling, add \c CONFIG+=no-bundle-tcime in the
- plugin's qmake command line. In this scenario, the default location
- depends on the value of \c {QLibraryInfo::location(QLibraryInfo::DataPath)}.
+ To disable resource bundling, add \e -vkb-no-bundle-tcime to the
+ Qt configure command line. In this scenario, the default location
+ depends on the value of \c {QLibraryInfo::path(QLibraryInfo::DataPath)}.
For example, for Qt libraries built from source,
it could be \c {qtbase/qtvirtualkeyboard/tcime/dict_zhuyin.dat}.
\row
@@ -239,17 +238,47 @@ There are several environment variables defined by the module that are listed be
By default, the dictionary is bundled into the plugin's resources.
- To disable resource bundling, add \c CONFIG+=no-bundle-tcime in the
- plugin's qmake command line. In this scenario, the default location
- depends on the value of \c {QLibraryInfo::location(QLibraryInfo::DataPath)}.
+ To disable resource bundling, add \e -vkb-no-bundle-tcime to the
+ Qt configure command line. In this scenario, the default location
+ depends on the value of \c {QLibraryInfo::path(QLibraryInfo::DataPath)}.
For example, for Qt libraries built from source,
it could be \c {qtbase/qtvirtualkeyboard/tcime/dict_phrases.dat}.
\row
+ \li QT_VIRTUALKEYBOARD_CERENCE_HWR_DB_PATH
+ \li Specifies the location of Cerence Handwriting handwriting database.
+
+ The default search location for Cerence Handwriting handwriting database are:
+ \list
+ \li \c QT_VIRTUALKEYBOARD_CERENCE_HWR_DB_PATH
+ \li \c {QLibraryInfo::location(QLibraryInfo::DataPath) + "/qtvirtualkeyboard/cerence/handwriting"}
+ \li \c {":/qt-project.org/imports/QtQuick/VirtualKeyboard/Cerence/Handwriting"}
+ \endlist
+
+ The environment variable may contain multiple paths. Multiple paths are separated with
+ semicolon in Windows and with colon in other operating systems.
+ \row
+ \li QT_VIRTUALKEYBOARD_XT9_LDB_PATH
+ \li Specifies the location of XT9 databases.
+
+ The default search location for LDB files are:
+ \list
+ \li \c QT_VIRTUALKEYBOARD_XT9_LDB_PATH
+ \li \c {QLibraryInfo::location(QLibraryInfo::DataPath) + "/qtvirtualkeyboard/cerence/xt9"}
+ \li \c {":/qt-project.org/imports/QtQuick/VirtualKeyboard/Cerence/Xt9"}
+ \endlist
+
+ Additional search paths can be specified by setting this environment variable. Multiple paths are
+ separated with semicolon in Windows and with colon in other operating systems.
+
+ The LDB files are shared between XT9 and Cerence Handwriting plugins, so this environment variable
+ affects both plugins.
+ \row
\li QT_VIRTUALKEYBOARD_STYLE
\li Specifies the location of the style to use with the virtual keyboard.
This can also be specified in QML by setting \l {VirtualKeyboardSettings::styleName},
- or at build time by using the \l {Advanced Configuration Options}{qmake configuration options}.
+ or at build time by using the
+ \l [DOC] {Advanced Usage} {Configuration Options}.
\row
\li QT_VIRTUALKEYBOARD_LAYOUT_PATH
\li Specifies the location of the layouts to be used with the virtual keyboard.
@@ -257,23 +286,6 @@ There are several environment variables defined by the module that are listed be
\li QT_VIRTUALKEYBOARD_DESKTOP_DISABLE
\li Disables the desktop integration method.
\row
- \li LIPI_ROOT
- \li Specifies the location of lipi-toolkit.
-
- The default location depends on the value of
- \c {QLibraryInfo::location(QLibraryInfo::DataPath)}.
- For example, for Qt libraries built from source,
- it could be \c {qtbase/qtvirtualkeyboard/lipi_toolkit}.
- \row
- \li LIPI_LIB
- \li Specifies the location of lipi-toolkit plugins.
-
- The default location depends on \c LIPI_ROOT:
- \list
- \li \c {LIPI_ROOT + "/lib"} if \c LIPI_ROOT is set.
- \li \c {QLibraryInfo::location(QLibraryInfo::PluginsPath) + "/lipi_toolkit"} if \c LIPI_ROOT is not set.
- \endlist
- \row
\li QT_VIRTUALKEYBOARD_FORCE_EVENTS_WITHOUT_FOCUS
\li Enables Qt Virtual Keyboard to send key events and use Shift key without having any text input in focus.
diff --git a/src/virtualkeyboard/doc/src/handwriting.qdoc b/src/virtualkeyboard/doc/src/handwriting.qdoc
index 61fdd92c..204b4269 100644
--- a/src/virtualkeyboard/doc/src/handwriting.qdoc
+++ b/src/virtualkeyboard/doc/src/handwriting.qdoc
@@ -1,29 +1,5 @@
-/****************************************************************************
-**
-** Copyright (C) 2018 The Qt Company Ltd.
-** Contact: https://www.qt.io/licensing/
-**
-** This file is part of the documentation of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:FDL$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see https://www.qt.io/terms-conditions. For further
-** information use the contact form at https://www.qt.io/contact-us.
-**
-** GNU Free Documentation License Usage
-** Alternatively, this file may be used under the terms of the GNU Free
-** Documentation License version 1.3 as published by the Free Software
-** Foundation and appearing in the file included in the packaging of
-** this file. Please review the following information to ensure
-** the GNU Free Documentation License version 1.3 requirements
-** will be met: https://www.gnu.org/licenses/fdl-1.3.html.
-** $QT_END_LICENSE$
-**
-****************************************************************************/
+// Copyright (C) 2018 The Qt Company Ltd.
+// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GFDL-1.3-no-invariants-only
/*!
@@ -45,66 +21,33 @@ For instructions on how to activate and use the handwriting input mode, see the
For information about building Qt Virtual Keyboard with a particular
handwriting engine, see \l {Configuration Options}.
-\section1 Lipi Toolkit
+\section1 Example Handwriting
-\l {http://lipitk.sourceforge.net/lipi-toolkit.htm}{Lipi Toolkit} is an
-open source handwriting recognition engine.
+The Example Handwriting Plugin offers a simulated handwriting recognition experience
+producing random characters regardless of what is written. It serves as a tool for
+examining handwriting layouts and as a foundation for developing new plugins.
-Lipi Toolkit only supports handwriting written in the English language.
+\section1 Cerence Handwriting
-\section1 T9 Write
-
-\l {https://www.nuance.com/mobile/mobile-solutions/text-input-solutions/t9-write.html}{T9 Write}
+\l {https://cerence.com}{Cerence Handwriting}
is a commercial handwriting recognition engine.
-T9 Write supports handwriting written in the following languages:
+Cerence Handwriting works with all languages supported by the virtual keyboard.
-\table
-\row
-\li \list
- \li Arabic
- \li Bulgarian
- \li Croatian
- \li Czech
- \li Danish
- \li Dutch
- \li English
-\endlist
-\li \list
- \li Estonian
- \li Finnish
- \li French
- \li German
- \li Greek
- \li Hebrew
- \li Hungarian
-\endlist
-\li \list
- \li Italian
- \li Japanese
- \li Korean
- \li Norwegian
- \li Persian/Farsi
- \li Polish
- \li Portugese
-\endlist
-\li \list
- \li Romanian
- \li Russian
- \li Serbian
- \li Simplified Chinese
- \li Spanish
- \li Swedish
- \li Traditional Chinese
-\endlist
-\endtable
+ \list
+ \li \l {Qt Virtual Keyboard Overview#Supported Languages}{Supported Languages}
+ \endlist
+
+\b {See also}: \l {Cerence Handwriting Integration}
+
+\b {See also}: \l {Cerence XT9 Advanced Input}
\section1 MyScript
\l {https://www.myscript.com}{MyScript}
SDK is a commercial handwriting recognition engine.
-MyScript SDK supports 71 handwriting recognition languages:
+MyScript SDK supports 72 handwriting recognition languages:
\table
\row
@@ -126,12 +69,13 @@ MyScript SDK supports 71 handwriting recognition languages:
\li Croatian
\li Czech
\li Danish
+ \li Dutch, Flemish
\endlist
\li \list
- \li Dutch, Flemish
\li Dutch
\li English - Canada
\li English - Philippines
+ \li English - South Africa
\li English - United Kingdom
\li English - United States
\li Estonian
@@ -192,7 +136,7 @@ MyScript SDK supports 71 handwriting recognition languages:
MyScript is integrated into Qt Virtual Keyboard with identical coverage of supported languages.
\list
- \li \l {Qt Virtual Keyboard#Supported Languages}{Supported Languages}
+ \li \l {Qt Virtual Keyboard Overview#Supported Languages}{Supported Languages}
\endlist
However, with minor modifications to the Qt Virtual Keyboard source code, it is easy to add handwriting panels for other languages supported by \MyScript.
diff --git a/src/virtualkeyboard/doc/src/includes/build.qdocinc b/src/virtualkeyboard/doc/src/includes/build.qdocinc
deleted file mode 100644
index 44988ce7..00000000
--- a/src/virtualkeyboard/doc/src/includes/build.qdocinc
+++ /dev/null
@@ -1,7 +0,0 @@
-//! [input-method-language-option-note]
-
-As this option activates a particular language, the \c lang-all option
-will not be enabled if this option is specified. To build all languages,
-use \c CONFIG+=lang-all.
-
-//! [input-method-language-option-note]
diff --git a/src/virtualkeyboard/doc/src/layouts.qdoc b/src/virtualkeyboard/doc/src/layouts.qdoc
index 70ab2f05..e0e4e285 100644
--- a/src/virtualkeyboard/doc/src/layouts.qdoc
+++ b/src/virtualkeyboard/doc/src/layouts.qdoc
@@ -1,29 +1,5 @@
-/****************************************************************************
-**
-** Copyright (C) 2016 The Qt Company Ltd.
-** Contact: https://www.qt.io/licensing/
-**
-** This file is part of the documentation of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:FDL$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see https://www.qt.io/terms-conditions. For further
-** information use the contact form at https://www.qt.io/contact-us.
-**
-** GNU Free Documentation License Usage
-** Alternatively, this file may be used under the terms of the GNU Free
-** Documentation License version 1.3 as published by the Free Software
-** Foundation and appearing in the file included in the packaging of
-** this file. Please review the following information to ensure
-** the GNU Free Documentation License version 1.3 requirements
-** will be met: https://www.gnu.org/licenses/fdl-1.3.html.
-** $QT_END_LICENSE$
-**
-****************************************************************************/
+// Copyright (C) 2016 The Qt Company Ltd.
+// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GFDL-1.3-no-invariants-only
/*!
diff --git a/src/virtualkeyboard/doc/src/qtvirtualkeyboard-components.qdoc b/src/virtualkeyboard/doc/src/qtvirtualkeyboard-components.qdoc
new file mode 100644
index 00000000..44e172fb
--- /dev/null
+++ b/src/virtualkeyboard/doc/src/qtvirtualkeyboard-components.qdoc
@@ -0,0 +1,17 @@
+// Copyright (C) 2022 The Qt Company Ltd.
+// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GFDL-1.3-no-invariants-only
+
+/*!
+ \qmlmodule QtQuick.VirtualKeyboard.Components
+ \title Qt Quick Virtual Keyboard Components QML Types
+ \ingroup qmlmodules
+ \ingroup qtvirtualkeyboard-components-qml
+ \brief Provides QML types for customizing virtual keyboard layouts.
+
+ The QML types can be imported into your application using the following
+ import statement in your .qml file:
+
+ \qml
+ import QtQuick.VirtualKeyboard.Components
+ \endqml
+*/
diff --git a/src/virtualkeyboard/doc/src/qtvirtualkeyboard-examples.qdoc b/src/virtualkeyboard/doc/src/qtvirtualkeyboard-examples.qdoc
index 408a919a..f0edd5ab 100644
--- a/src/virtualkeyboard/doc/src/qtvirtualkeyboard-examples.qdoc
+++ b/src/virtualkeyboard/doc/src/qtvirtualkeyboard-examples.qdoc
@@ -1,29 +1,5 @@
-/****************************************************************************
-**
-** Copyright (C) 2016 The Qt Company Ltd.
-** Contact: https://www.qt.io/licensing/
-**
-** This file is part of the documentation of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:FDL$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see https://www.qt.io/terms-conditions. For further
-** information use the contact form at https://www.qt.io/contact-us.
-**
-** GNU Free Documentation License Usage
-** Alternatively, this file may be used under the terms of the GNU Free
-** Documentation License version 1.3 as published by the Free Software
-** Foundation and appearing in the file included in the packaging of
-** this file. Please review the following information to ensure
-** the GNU Free Documentation License version 1.3 requirements
-** will be met: https://www.gnu.org/licenses/fdl-1.3.html.
-** $QT_END_LICENSE$
-**
-****************************************************************************/
+// Copyright (C) 2016 The Qt Company Ltd.
+// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GFDL-1.3-no-invariants-only
/*!
\group qtvirtualkeyboard-examples
@@ -32,11 +8,13 @@
*/
/*!
- \title Qt Quick Virtual Keyboard - Basic Example
+ \title Virtual Keyboard in Qt Quick
\example basic
- \brief This is a basic QML example that uses the virtual keyboard.
+ \examplecategory {Embedded}
+ \brief This example shows how to use the virtual keyboard in a Qt Quick application.
\ingroup qtvirtualkeyboard-examples
\image basic-example.png
+ \meta tags {quick}
The example has two implementations: one for desktop
platforms and another for embedded platforms. The former version
@@ -47,7 +25,7 @@
appropriate implementation based on the CONFIG options:
\quotefromfile basic/basic.pro
- \skipto android-embedded
+ \skipto vkb-desktop
\printuntil /^\}$/
The example enables the virtual keyboard by setting the \c QT_IM_MODULE
diff --git a/src/virtualkeyboard/doc/src/qtvirtualkeyboard-index.qdoc b/src/virtualkeyboard/doc/src/qtvirtualkeyboard-index.qdoc
index a3156cd0..037acf44 100644
--- a/src/virtualkeyboard/doc/src/qtvirtualkeyboard-index.qdoc
+++ b/src/virtualkeyboard/doc/src/qtvirtualkeyboard-index.qdoc
@@ -1,141 +1,138 @@
-/****************************************************************************
-**
-** Copyright (C) 2016 The Qt Company Ltd.
-** Contact: https://www.qt.io/licensing/
-**
-** This file is part of the documentation of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:FDL$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see https://www.qt.io/terms-conditions. For further
-** information use the contact form at https://www.qt.io/contact-us.
-**
-** GNU Free Documentation License Usage
-** Alternatively, this file may be used under the terms of the GNU Free
-** Documentation License version 1.3 as published by the Free Software
-** Foundation and appearing in the file included in the packaging of
-** this file. Please review the following information to ensure
-** the GNU Free Documentation License version 1.3 requirements
-** will be met: https://www.gnu.org/licenses/fdl-1.3.html.
-** $QT_END_LICENSE$
-**
-****************************************************************************/
+// Copyright (C) 2016 The Qt Company Ltd.
+// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GFDL-1.3-no-invariants-only
/*!
\title Qt Virtual Keyboard
\page qtvirtualkeyboard-index.html
The Qt Virtual Keyboard project provides an input framework and reference
- keyboard frontend for Qt 5 on Linux Desktop/X11, Windows Desktop, and
+ keyboard frontend for Qt 6 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.
- \section1 Features
+ \section1 Using the Module
- Key features of the Qt Virtual Keyboard include:
+ \include {module-use.qdocinc} {using the c++ api}
- \list
- \li Customizable keyboard layouts and styles with dynamic switching.
- \li Predictive text input with word selection.
- \li Character preview and alternative character view.
- \li Automatic capitalization and space insertion.
- \li Scalability to different resolutions.
- \li Support for different character sets (Latin, Simplified/Traditional Chinese,
- Hindi, Japanese, Arabic, Hebrew, Korean, and others).
- \li Support for most common input \l {Supported Languages}{languages},
- with possibility to easily extend the language support.
- \li Left-to-right and right-to-left input.
- \li Hardware key support for 2-way and 5-way navigation.
- \li \l {Handwriting Recognition}{Handwriting support}, with gestures for fullscreen input.
- \li Audio feedback.
- \li Cross-platform functionality.
- \li Supports both \l {Integration Method}{Qt Quick and Qt Widgets applications}.
- \endlist
-
- \section1 Supported Languages
+ \section2 Building with CMake
- \include layouts.qdocinc layout-list
+ \include {module-use.qdocinc} {building with cmake} {VirtualKeyboard}
- \section1 Third-party Plugins
+ \section2 Building with qmake
- The Qt Virtual Keyboard supports third-party plugins from the following vendors:
- \list
- \li \l {Handwriting Recognition#T9 Write}{T9 Write} handwriting text input.
- \li \l {Handwriting Recognition#MyScript}{MyScript} Text handwriting recognition
- \endlist
+ \include {module-use.qdocinc} {building_with_qmake} {virtualkeyboard}
- \l {Building Qt Virtual Keyboard} describes how to integrate these plugins
- into the Qt Virtual Keyboard.
-
- \section1 Guides
+ \section1 Articles and Guides
\list
\li \l {Building Qt Virtual Keyboard}
\li \l {Deployment Guide}
- \li \l {Technical Guide}
+ \li \l {Qt Virtual Keyboard Overview}
\li \l {User Guide}
\endlist
- \section1 API Reference
+ \section1 Examples
\list
- \li \l{Qt Virtual Keyboard QML Types}{QML Types}
- \li \l{Qt Virtual Keyboard C++ Classes}{C++ Classes}
+ \li \l{Qt Virtual Keyboard Examples}
\endlist
- \section1 Examples
+ \section1 Reference
+
+ \list
+ \li \l{Qt Virtual Keyboard API for Applications}
+ \li \l{Qt Virtual Keyboard API for Advanced Use Cases}
+ \li \l{Qt Virtual Keyboard QML Types}
+ \li \l{Qt Virtual Keyboard C++ Classes}
+ \endlist
- \list
- \li \l{Qt Virtual Keyboard Examples}
- \endlist
\section1 Licenses and Attributions
- Qt Virtual Keyboard is available under commercial licenses from \l{The Qt Company}.
- In addition, it is available under the \l{GNU General Public License, version 3}.
+ Qt Virtual Keyboard is available under commercial licenses from
+ \l{The Qt Company}. In addition, it is available under the
+ \l{GNU General Public License, version 3}.
See \l{Qt Licensing} for further details.
- Furthermore Qt Virtual Keyboard potentially contains third party
- modules under following permissive licenses:
+ Furthermore, Qt Virtual Keyboard potentially contains third party
+ modules under the following permissive licenses:
\generatelist{groupsbymodule attributions-qtvirtualkeyboard}
*/
/*!
-\qmlmodule QtQuick.VirtualKeyboard 2.\QtMinorVersion
-\title Qt Virtual Keyboard QML Types
-\ingroup qmlmodules
-\brief Provides QML types for an input framework and a reference keyboard front
-end.
+ \page qtquick-virtualkeyboard-for-application.html
+ \title Qt Virtual Keyboard API for Applications
+ \brief Provides API for integrating the virtual keyboard into an application.
The QML types can be imported into your application using the following
import statements in your .qml file:
- \qml \QtMinorVersion
- import QtQuick.VirtualKeyboard 2.\1
- import QtQuick.VirtualKeyboard.Styles 2.\1
- import QtQuick.VirtualKeyboard.Settings 2.\1
+ \qml
+ import QtQuick.VirtualKeyboard
+ import QtQuick.VirtualKeyboard.Settings
\endqml
In addition to importing the types, the \c QT_IM_MODULE environment
variable must be set to \c qtvirtualkeyboard. For more information, see
\l {Loading the Plugin}.
-Styling:
+ \section1 \l {Qt Virtual Keyboard Module QML Types} {Virtual Keyboard}
+
+ QML types
+
+ \generatelist groupsbymodule qtvirtualkeyboard-qml
+
+ C++ types
+
+ \generatelist groupsbymodule qtvirtualkeyboard-cpp-for-apps
-\generatelist qmltypesbymodule QtQuick.VirtualKeyboard.Styles
+ \section1 \l {Qt Quick Virtual Keyboard Settings QML Types} {Virtual Keyboard Settings}
-Settings:
+ QML types
-\generatelist qmltypesbymodule QtQuick.VirtualKeyboard.Settings
+ \generatelist qmltypesbymodule QtQuick.VirtualKeyboard.Settings
+*/
+
+/*!
+ \page qtquick-virtualkeyboard-for-advanced-use-cases.html
+ \title Qt Virtual Keyboard API for Advanced Use Cases
+ \brief Provides API for extending or modifying virtual keyboard functionality.
+
+ These QML types fall under the categories of virtual keyboard plugin vendors,
+ style providers, and keyboard layouts. They should not be used by application
+ or middleware.
+
+ \section1 \l {Qt Quick Virtual Keyboard Styles QML Types} {Styles}
+
+ QML types
+
+ \generatelist qmltypesbymodule QtQuick.VirtualKeyboard.Styles
+
+ \section1 \l {Qt Quick Virtual Keyboard Components QML Types} {Components}
+
+ QML types
-Input framework and keys:
+ \generatelist qmltypesbymodule QtQuick.VirtualKeyboard.Components
+
+ C++ types
+
+ \generatelist groupsbymodule qtvirtualkeyboard-cpp-for-devs
+*/
+
+/*!
+ \qmlmodule QtQuick.VirtualKeyboard
+ \title Qt Virtual Keyboard Module QML Types
+ \brief Provides QML types for the virtual keyboard.
+*/
+
+/*!
+ \page qtvirtualkeyboard-qmltypes.html
+ \title Qt Virtual Keyboard QML Types
+ \brief QML types for the virtual keyboard.
+ \generatelist groupsbymodule qmlclass
*/
diff --git a/src/virtualkeyboard/doc/src/qtvirtualkeyboard-module-cpp.qdoc b/src/virtualkeyboard/doc/src/qtvirtualkeyboard-module-cpp.qdoc
index ed069630..64553d34 100644
--- a/src/virtualkeyboard/doc/src/qtvirtualkeyboard-module-cpp.qdoc
+++ b/src/virtualkeyboard/doc/src/qtvirtualkeyboard-module-cpp.qdoc
@@ -1,29 +1,5 @@
-/****************************************************************************
-**
-** Copyright (C) 2016 The Qt Company Ltd.
-** Contact: https://www.qt.io/licensing/
-**
-** This file is part of the documentation of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:FDL$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see https://www.qt.io/terms-conditions. For further
-** information use the contact form at https://www.qt.io/contact-us.
-**
-** GNU Free Documentation License Usage
-** Alternatively, this file may be used under the terms of the GNU Free
-** Documentation License version 1.3 as published by the Free Software
-** Foundation and appearing in the file included in the packaging of
-** this file. Please review the following information to ensure
-** the GNU Free Documentation License version 1.3 requirements
-** will be met: https://www.gnu.org/licenses/fdl-1.3.html.
-** $QT_END_LICENSE$
-**
-****************************************************************************/
+// Copyright (C) 2016 The Qt Company Ltd.
+// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GFDL-1.3-no-invariants-only
/*!
\module QtVirtualKeyboard
@@ -40,7 +16,15 @@
#include <QtVirtualKeyboard>
\endcode
- To link against the module, add this line to your qmake .pro file:
+ \include module-use.qdocinc using qt module
+ \snippet cmake.txt find-and-link
+
+ See \l{Getting started with CMake} for more information.
+
+ \section2 Building with qmake
+
+ To link against this module, add the following line to your qmake \c .pro
+ file:
\badcode
QT += virtualkeyboard
diff --git a/src/virtualkeyboard/doc/src/qtvirtualkeyboard-namespace.qdoc b/src/virtualkeyboard/doc/src/qtvirtualkeyboard-namespace.qdoc
new file mode 100644
index 00000000..6c2635e5
--- /dev/null
+++ b/src/virtualkeyboard/doc/src/qtvirtualkeyboard-namespace.qdoc
@@ -0,0 +1,53 @@
+// Copyright (C) 2022 The Qt Company Ltd.
+// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GFDL-1.3-no-invariants-only
+
+/*!
+ \namespace QtVirtualKeyboard
+ \inmodule QtVirtualKeyboard
+ \ingroup qtvirtualkeyboard-cpp-for-devs
+ \keyword Qt Virtual Keyboard Namespace
+ \brief Contains enums used by the virtual keyboard classes.
+*/
+
+/*!
+ \enum QtVirtualKeyboard::KeyType
+
+ \inmodule QtVirtualKeyboard
+ \ingroup qtvirtualkeyboard-cpp-for-devs
+
+ \brief Key type for the virtual keyboard key.
+
+ \value BaseKey
+ \value BackspaceKey
+ \value ChangeLanguageKey
+ \value EnterKey
+ \value FillerKey
+ \value HandwritingModeKey
+ \value HideKeyboardKey
+ \value InputModeKey
+ \value Key
+ \value ModeKey
+ \value NumberKey
+ \value ShiftKey
+ \value SpaceKey
+ \value SymbolModeKey
+ \value FlickKey
+*/
+
+/*!
+ \enum QtVirtualKeyboard::KeyboardFunction
+
+ \inmodule QtVirtualKeyboard
+ \ingroup qtvirtualkeyboard-cpp-for-devs
+
+ \brief Specifies a keyboard function to be executed by the virtual keyboard.
+
+ This enumeration is used as an alias for predefined keyboard functions, such
+ as hiding the virtual keyboard. The enumeration is used internally by the
+ virtual keyboard to implement common functionality. The enumeration value is
+ passed to Keyboard.doKeyboardFunction() for execution.
+
+ \value HideInputPanel
+ \value ChangeLanguage
+ \value ToggleHandwritingMode
+*/
diff --git a/src/virtualkeyboard/doc/src/technical-guide.qdoc b/src/virtualkeyboard/doc/src/technical-guide.qdoc
index 91711447..eb424765 100644
--- a/src/virtualkeyboard/doc/src/technical-guide.qdoc
+++ b/src/virtualkeyboard/doc/src/technical-guide.qdoc
@@ -1,46 +1,58 @@
-/****************************************************************************
-**
-** Copyright (C) 2016 The Qt Company Ltd.
-** Contact: https://www.qt.io/licensing/
-**
-** This file is part of the documentation of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:FDL$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see https://www.qt.io/terms-conditions. For further
-** information use the contact form at https://www.qt.io/contact-us.
-**
-** GNU Free Documentation License Usage
-** Alternatively, this file may be used under the terms of the GNU Free
-** Documentation License version 1.3 as published by the Free Software
-** Foundation and appearing in the file included in the packaging of
-** this file. Please review the following information to ensure
-** the GNU Free Documentation License version 1.3 requirements
-** will be met: https://www.gnu.org/licenses/fdl-1.3.html.
-** $QT_END_LICENSE$
-**
-****************************************************************************/
+// Copyright (C) 2022 The Qt Company Ltd.
+// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GFDL-1.3-no-invariants-only
/*!
-\page technical-guide.html
+\page qtvirtualkeyboard-overview.html
+\title Qt Virtual Keyboard Overview
+\brief Describes the technical details of the Qt Virtual Keyboard module.
+\ingroup explanantion
+This document provides a technical overview of the Qt Virtual Keyboard plugin.
-\title Technical Guide
+\section1 Features
-\section1 Overview
+Key features of the Qt Virtual Keyboard include:
-This document provides a technical overview of the Qt Virtual Keyboard plugin.
+\list
+ \li Customizable keyboard layouts and styles with dynamic switching.
+ \li Predictive text input with word selection.
+ \li Character preview and alternative character view.
+ \li Automatic capitalization and space insertion.
+ \li Scalability to different resolutions.
+ \li Support for different character sets (Latin, Simplified/Traditional Chinese,
+ Hindi, Japanese, Arabic, Hebrew, Korean, and others).
+ \li Support for most common input \l {Supported Languages}{languages},
+ with possibility to easily extend the language support.
+ \li Left-to-right and right-to-left input.
+ \li Hardware key support for 2-way and 5-way navigation.
+ \li \l {Handwriting Recognition}{Handwriting support}, with gestures for fullscreen input.
+ \li Audio feedback.
+ \li Cross-platform functionality.
+ \li Supports both \l {Integration Method}{Qt Quick and Qt Widgets applications}.
+\endlist
+
+\section1 Supported Languages
+
+\include layouts.qdocinc layout-list
+
+\section1 Third-party Plugins
+
+The Qt Virtual Keyboard supports third-party plugins from the following vendors:
+\list
+ \li \l {Cerence XT9 Advanced Input}{Cerence XT9} advanced input.
+ \li \l {Handwriting Recognition#Cerence Handwriting}{Cerence Handwriting} text input.
+ \li \l {Handwriting Recognition#MyScript}{MyScript} Text handwriting recognition
+\endlist
+
+\l {Building Qt Virtual Keyboard} describes how to integrate these plugins
+into the Qt Virtual Keyboard.
\section1 Basic Concepts
-The Qt Virtual Keyboard project is a Qt 5 input context plugin which implements
+The Qt Virtual Keyboard project is a Qt input context plugin that implements
QPlatformInputContextPlugin and QPlatformInputContext interfaces.
These interfaces allow the plugin to be used as a platform input
-context plugin in Qt 5 applications.
+context plugin in Qt applications.
The plugin itself provides an input framework supporting multiple
input methods as well as a QML UI for the virtual keyboard. The input
@@ -61,8 +73,6 @@ The input framework provides the following main interfaces:
\li InputMethod: a base type for QML-based input methods. The input method
usually handles key events, but can also handle mouse and touch input
events.
- \li QVirtualKeyboardExtensionPlugin: a plugin interface for virtual keyboard
- extensions that provide additional functionality.
\endlist
\section1 Input Context
@@ -87,46 +97,68 @@ from the application. This information includes, but is not limited to:
\section2 Locale
-The list of supported locales is specified by the existence of a locale specific
-layout directory in "layouts/*". Each layout directory may contain one
-or more layouts, for example fi_FI/main.qml or symbols.qml. If the locale specific
-layout is not different from the fallback locale, then a place holder file \c
-<layout type>.fallback can be added for the layout. This will specify the virtual
-keyboard that a fallback layout can be used instead.
+The Virtual Keyboard Engine generates the list of supported locales from
+locale-specific layout directories in \c {layouts/}. Each layout directory
+must contain a definition or fallback for the following layout types:
+\e dialpad, \e digits, \e handwriting, \e main, \e numbers, and \e symbols.
+Definitions are implemented in \c {.qml}-files, fallbacks are defined by a
+placeholder file with the \c {.fallback} file extension. The \c {layouts/}
+directory must contain a \c {fallback/} sub-directory that contains definitions
+for each layout type.
-At minimum the layout directory must contain the files:
+Each layout directory may contain the definition of one or more layout types.
+If the locale-specific layout is the same as that of the fallback locale, you
+can add a placeholder file for the layout called \c {<layout type>.fallback}.
+This instructs the virtual keyboard to use the fallback layout instead.
-\list
- \li \c dialpad.fallback
- \li \c digits.fallback
- \li \c main.fallback
- \li \c numbers.fallback
- \li \c symbols.fallback
-\endlist
+For example: you may add a locale-specific layout for Finnish, that defines the
+main layout type in \c {main.qml}. For the other layout types, you opt for the
+fallback mechanism. Your \c {layouts/} tree will look like this:
+
+\badcode
+.
+├── fallback
+│   ├── dialpad.qml
+│   ├── digits.qml
+│   ├── handwriting.qml
+│   ├── main.qml
+│   ├── numbers.qml
+│   └── symbols.qml
+└── fi_FI
+ ├── dialpad.fallback
+ ├── digits.fallback
+ ├── handwriting.fallback
+ ├── main.qml
+ ├── numbers.fallback
+ └── symbols.fallback
+\endcode
+
+It's imperative that the \c {layouts/fallback} directory always contain a set
+of full implementation files.
The application can specify the initial layout by changing the default locale.
-However, this needs to be done before the application is initialized and the
-input method plugin is loaded. If no changes are made to the default locale, the
-current system locale is used.
+However, this must be done before the application initializes and loads the
+input method plugin. If there are no changes to the default locale, the current
+system locale is used.
-The keyboard locale matching is performed in the following sequence:
+Matching the keyboard locale follows this sequence:
\list
- \li layouts/<language>_<country>
- \li layouts/<language>_*
- \li layouts/en_GB
+ \li \c {layouts/<language>_<country>}
+ \li \c {layouts/<language>_*}
+ \li \c {layouts/fallback} -- the default layout here is \e en_GB.
\endlist
-The locale is first matched against the full locale name. If a full match is
-not found, then only the locale language is matched. If a partial match is
-not found, then the "en_GB" locale is used as a fallback.
+First, the locale is matched against the full locale name. If a there isn't a
+full match, then only the locale language is matched. Finally, the contents of
+\c {layouts/fallback} is used as a fallback when there's also no partial match.
After the locale selection is done, the keyboard updates the input locale and
input direction to match the current layout. The application can receive this
information through the QInputMethod interface.
-Internally, the current input locale is also updated to the QVirtualKeyboardInputEngine
-and the current input method instances.
+Internally, the current input locale is also updated to
+QVirtualKeyboardInputEngine and the current input method instances.
\section1 Input Engine
@@ -179,28 +211,17 @@ case:
input method.
\endlist
-\section1 Virtual Keyboard Extension Plugin
-
-An extension plugin allows third-party providers to enhance the functionality
-of the virtual keyboard without recompiling it. Currently the extension plugin
-can provide keyboard layouts and custom input methods. Creating a plugin for
-Qt Virtual Keyboard is similar to the standard way of creating a Qt plugin:
-
-\list
- \li \b {Link against the virtualkeyboard library}.
-
- The virtualkeyboard module must be linked against the plugin:
+\section1 Virtual Keyboard Plugins
- \badcode
- QT += virtualkeyboard
- \endcode
+The \e src/plugins directory of the virtual keyboard contains the existing plugins
+for the virtual keyboard. These plugins are standard QML modules loaded implicitly
+by the QtQuick.VirtualKeyboard.Plugins QML module.
- This allows the plugin to access \l QVirtualKeyboardInputContext and other interfaces.
- \li \b {Implement a subclass of QVirtualKeyboardExtensionPlugin.}
-
- The plugin provides the virtual keyboard with the necessary metadata,
- which allows it to sort and load the plugins.
-\endlist
+A plugin may provide keyboard layouts and input methods (usually both). The input method
+used by the virtual keyboard depends on which keyboard layout is in use. The keyboard layout
+may provide an instance of a custom input method by the KeyboardLayout.createInputMethod()
+function. Otherwise, the default input method (DefaultInputMethod) created by the virtual
+keyboard is used.
\section2 Adding Keyboard Layouts
@@ -208,82 +229,29 @@ The plugin can add keyboard layouts for the virtual keyboard by including
the layout files in the Qt resources of the plugin binary.
The virtual keyboard searches for the keyboard layouts (per language) from a specific
-path \e /QtQuick/VirtualKeyboard/content/layouts/<language_COUNTRY>, so it is essential
-to use this exact path also in the plugin. Qt resource paths can be overlapped, however,
-the plugin cannot override the existing layouts in the virtual keyboard plugin.
-
-If the extension plugin needs to override the built-in keyboard layout, the virtual
-keyboard must be recompiled with only specific languages (e.g. \e CONFIG+=lang-en) or without
-keyboard layouts at (e.g. \e CONFIG+=disable-layouts). Alternatively, if recompiling is not an
-option, it is possible to override the built-in keyboard layouts and have them loaded directly
+path \e /qt-project.org/imports/QtQuick/VirtualKeyboard/Layouts/<language_COUNTRY>, so it is essential
+to use this exact path also in the plugin. Qt resource paths can overlap, meaning that
+the plugin can override existing layouts on the virtual keyboard.
+
+It is also possible to override the built-in keyboard layouts by having them loaded directly
from the file system by using the \e QT_VIRTUALKEYBOARD_LAYOUT_PATH environment variable.
\section2 Adding Input Method
The plugin can register an input method that other keyboard layouts can use by
default (such as \c DefaultInputMethod) or an input method that is used privately
-in the plugin.
-
-The input method must implement \l {QVirtualKeyboardAbstractInputMethod} (C++) or InputMethod (QML)
-interface and the plugin must register it as a QML type in
-{QVirtualKeyboardExtensionPlugin::registerTypes} method.
-
-\section2 Metadata for the Extension Plugin
-
-Metadata allows the virtual keyboard to inspect the plugin before loading
-the actual library. It also prevents the virtual keyboard from loading
-conflicting extension plugins, for example, two handwriting extensions.
-
-\table
- \row
- \li \c Name
- \li \c Required
- \li This field defines the plugin name. There are several built-in
- plugins available by default:
-
- \list
- \li \c hangul
- \li \c default (Hunspell)
- \li \c handwriting (T9 Write, Lipi-Toolkit)
- \li \c japanese (OpenWNN)
- \li \c pinyin
- \li \c traditional_chinese
- \endlist
- \row
- \li \c Provider
- \li \c Optional
- \li An informative name of the plugin provider. Used mainly for diagnostics.
- \row
- \li \c InputMethod
- \li \c Optional
- \li This field tells the virtual keyboard the plugin contains an input method.
- When this field is defined, the virtual keyboard will invoke the
- \l {QVirtualKeyboardExtensionPlugin::registerTypes} {interface}
- for registering the QML types.
- Similar to the \c Name, there can be only one provider for each input method.
- \row
- \li \c Version
- \li \c Required
- \li An integer defining the version number of the plugin. If there are two or more
- plugins available of the same \c Name, the one with greatest version number is
- preferred.
-\endtable
+in the plugin (by also providing custom keyboard layout, which creates the input
+method).
-The following metadata example is from the Lipi-Toolkit extension plugin (lipi.json):
-
-\badcode
-{
- "Name": "handwriting",
- "Provider": "Qt Lipi-Toolkit Extension",
- "InputMethod": "HandwritingInputMethod",
- "Version": 100
-}
-\endcode
+The input method must implement a \l {QVirtualKeyboardAbstractInputMethod} (C++) or InputMethod (QML)
+interface and it must be registered as a QML type (\l {QML_NAMED_ELEMENT}) by the plugin.
\section1 Implementing a Custom Input Method
-The implementation of input methods starts by deciding which interface is used;
-QML or C++. In this example the QML interface is used.
+The implementation of input methods starts by deciding which interface is used,
+QML or C++. In this example the QML interface is used. The same logic and interfaces
+apply with the C++ interface \l {QVirtualKeyboardAbstractInputMethod}. In this case,
+the plugin must be linked to the \e VirtualKeyboard module.
The following example shows the minimum functionality that is required
from an input method:
@@ -399,17 +367,19 @@ function selectionListItemSelected(type, index) {
\section1 Integrating Handwriting Recognition
-Since version 2.0 of the virtual keyboard, input methods can consume
-touch input data from touch screens or other input devices. This allows
-integration of a handwriting recognition engine seamlessly to the virtual
-keyboard, without any changes to the existing keyboard layouts (as
-the virtual keyboard already provides the handwriting keyboard layouts for
-most languages).
+An input method can also use input data from the touch screen or other input devices.
+
+When the input begins, the virtual keyboard calls the input method function
+\l { QVirtualKeyboardAbstractInputMethod::traceBegin } { traceBegin }, which returns a new \l {QVirtualKeyboardTrace} {Trace}
+object to which the input is collected on behalf of the input method. Similarly, when
+the finger or stylus is raised, the event is terminated with the \l { QVirtualKeyboardAbstractInputMethod::traceEnd } { traceEnd } call.
+The input method processes the collected data and produces text using the
+\l {QVirtualKeyboardInputContext} {InputContext} interface.
-Towards an input method, handwriting recognition works on the same principle
-as handling of normal keyboard input, i.e. input data is collected by the
-keyboard layout and transferred by the input engine to the input method for
-processing.
+There are predefined keyboard layouts for handwriting. However, they are not included
+by default, and the handwriting plugin should include them in its own resources. For
+examples of how to do this, see the existing plugins for handwriting from \e MyScript
+or \e Cerence.
\section2 Data Model for Handwriting Input
@@ -465,7 +435,7 @@ the object. This also removes the trace rendered to the screen.
\section1 Keyboard Layouts
-Keyboard layouts are located in the \e src/virtualkeyboard/content/layouts
+Keyboard layouts are located in the \e src/layouts/builtin
directory. Each subdirectory of the layout directory represents a locale.
The locale directory is a string of the form "language_country", where
language is a lowercase, two-letter ISO 639 language code, and country is an
@@ -517,29 +487,16 @@ Otherwise, the key weight is inherited from its parent element.
New keys are added to the keyboard row using the Key type or one of the
specialized key types. Below is the list of all key types:
-\list
- \li \l Key
- \li \l BackspaceKey
- \li \l ChangeLanguageKey
- \li \l EnterKey
- \li \l FillerKey
- \li \l HideKeyboardKey
- \li \l NumberKey
- \li \l ShiftKey
- \li \l SpaceKey
- \li \l SymbolModeKey
- \li \l HandwritingModeKey
- \li \l TraceInputKey
-\endlist
+\generatelist groupsbymodule qtvirtualkeyboard-key-types
For example, to add a regular key which sends a key event to the input method:
\code
- import QtQuick 2.0
- import QtQuick.Layouts 1.0
- import QtQuick.VirtualKeyboard 2.1
+ import QtQuick
+ import QtQuick.VirtualKeyboard
+ import QtQuick.VirtualKeyboard.Components
- // file: layouts/en_GB/main.qml
+ // file: en_GB/main.qml
KeyboardLayout {
keyWeight: 160
@@ -568,11 +525,11 @@ The effective value for the key weight will be 160. For the sake of the
example, we add another key which specifies a custom key weight:
\code
- import QtQuick 2.0
- import QtQuick.Layouts 1.0
- import QtQuick.VirtualKeyboard 2.1
+ import QtQuick
+ import QtQuick.VirtualKeyboard
+ import QtQuick.VirtualKeyboard.Components
- // file: layouts/en_GB/main.qml
+ // file: en_GB/main.qml
KeyboardLayout {
keyWeight: 160
@@ -626,11 +583,11 @@ sourceComponent property.
For example:
\code
- import QtQuick 2.0
- import QtQuick.Layouts 1.0
- import QtQuick.VirtualKeyboard 2.1
+ import QtQuick
+ import QtQuick.VirtualKeyboard
+ import QtQuick.VirtualKeyboard.Components
- // file: layouts/en_GB/symbols.qml
+ // file: en_GB/symbols.qml
KeyboardLayoutLoader {
property bool secondPage
@@ -674,7 +631,7 @@ This type of keyboard layout must meet the following requirements:
\li provides an instance of HandwritingInputMethod as the input method.
\endlist
-The handwriting layout may also include ChangeLanguageKey. For this purpose, it is
+The handwriting layout may also include \l ChangeLanguageKey. For this purpose, it is
important to use the \l {ChangeLanguageKey::customLayoutsOnly} {customLayoutsOnly} attribute, which will filter out languages
that do not use handwriting.
@@ -695,8 +652,8 @@ In case the environment variable is not set, or contains an invalid
directory, the virtual keyboard falls back to the default built-in layouts.
To prevent the built-in layouts from being built into the virtual keyboard
-plugin when using custom layouts, add \c disable-layouts to the \c CONFIG qmake variable.
-For more information, see \l {Advanced Configuration Options}.
+plugin when using custom layouts, add \c -no-vkb-layouts option to the \c configure script.
+For more information, see \l [DOC] {Advanced Usage} {Configuration Options}.
\section1 Keyboard Styles
@@ -721,7 +678,7 @@ style name, the virtual keyboard falls back in the default built-in style.
The process of creating a new style begins by creating a new subdirectory
for the style in a QML import path under the URL-based directory structure
-QtQuick/VirtualKeyboard/Styles/. See \l {QML Import Path}
+QtQuick/VirtualKeyboard/Styles/. See \l[QtQml]{QML Import Path}
for information about QML import paths. The directory
name can not contain spaces or special characters other than underscore.
Also, the directory name can not be the same as one of the built-in style,
@@ -730,7 +687,7 @@ which currently includes "default" and "retro".
A good starting point for creating a new style is to use an existing
built-in style as a template and edit it. You can find the built-in
styles from the virtual keyboard sources directory
-src/virtualkeyboard/content/styles. Copy one of the directories containing
+src/styles/builtin. Copy one of the directories containing
a built-in style into the \e Styles directory and rename it to "test".
The directory structure should now be as follows:
diff --git a/src/virtualkeyboard/doc/src/user-guide.qdoc b/src/virtualkeyboard/doc/src/user-guide.qdoc
index e334e2d5..e1352d14 100644
--- a/src/virtualkeyboard/doc/src/user-guide.qdoc
+++ b/src/virtualkeyboard/doc/src/user-guide.qdoc
@@ -1,29 +1,5 @@
-/****************************************************************************
-**
-** Copyright (C) 2016 The Qt Company Ltd.
-** Contact: https://www.qt.io/licensing/
-**
-** This file is part of the documentation of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:FDL$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see https://www.qt.io/terms-conditions. For further
-** information use the contact form at https://www.qt.io/contact-us.
-**
-** GNU Free Documentation License Usage
-** Alternatively, this file may be used under the terms of the GNU Free
-** Documentation License version 1.3 as published by the Free Software
-** Foundation and appearing in the file included in the packaging of
-** this file. Please review the following information to ensure
-** the GNU Free Documentation License version 1.3 requirements
-** will be met: https://www.gnu.org/licenses/fdl-1.3.html.
-** $QT_END_LICENSE$
-**
-****************************************************************************/
+// Copyright (C) 2016 The Qt Company Ltd.
+// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GFDL-1.3-no-invariants-only
/*!
@@ -31,8 +7,6 @@
\title User Guide
-\section1 Overview
-
This document explains how to interact with the virtual keyboard.
\section1 Opening the Keyboard
@@ -62,7 +36,6 @@ The handwriting mode can be activated by pressing the handwriting key:
\table
\header
\li Gesture
- \li Lipi Toolkit
\li T9 Write
\li MyScript Text SDK
\row
diff --git a/src/virtualkeyboard/doc/src/xt9.qdoc b/src/virtualkeyboard/doc/src/xt9.qdoc
new file mode 100644
index 00000000..884d6e8e
--- /dev/null
+++ b/src/virtualkeyboard/doc/src/xt9.qdoc
@@ -0,0 +1,58 @@
+// Copyright (C) 2021 The Qt Company Ltd.
+// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GFDL-1.3-no-invariants-only
+
+/*!
+
+\page xt9.html
+
+\title Cerence XT9 Advanced Input
+
+The Cerence XT9 advanced input offers high-quality spell correction and predictive
+text input that works with standard keyboard layouts bundled with
+the Qt Virtual Keyboard.
+
+The Cerence XT9 works as an add-on loaded into the Qt Virtual Keyboard at start-up.
+
+Main features:
+
+\list
+ \li \l {Multilingual}
+ \li \l {Advanced correction and learning capabilities}
+ \li \l {Next word prediction}
+ \li \l {Application specific dictionaries} (e.g. phone book)
+ \li \l {Handwriting Recognition with XT9 Capabilities}
+\endlist
+
+\section2 Multilingual
+
+The XT9 engine supports all the alphabetical languages as well as other languages, such
+as Chinese, Japanese and Korean.
+
+\section2 Advanced correction and learning capabilities
+
+Correction and learning capabilities are based the advanced language model that XT9 uses
+to correct and learn from the user input. For instance, frequently used words are prioritized
+in the word candidate list.
+
+\section2 Next word prediction
+
+Next word prediction is activated after selecting a candidate from the word candidate list.
+It automatically fills the word candidate list with followup words based on the context and
+previous input.
+
+\section2 Application specific dictionaries
+
+With the new QVirtualKeyboardDictionaryManager, the application can
+create custom dictionaries and attach them to any context within the
+application. Together with the
+\l{VirtualKeyboardSettings::defaultDictionaryDisabled}{VirtualKeyboardSettings.defaultDictionaryDisabled}
+property, it is possible to use custom dictionaries exclusively, without the standard
+built-in dictionaries.
+
+\section2 Handwriting Recognition with XT9 Capabilities
+
+Cerence handwriting recognition and XT9 engines are uniquely integrated together in the Qt
+Virtual Keyboard. This means that the improved word candidate suggestions and next word
+prediction are also available in the handwriting mode.
+
+*/
diff --git a/src/virtualkeyboard/enterkeyaction.cpp b/src/virtualkeyboard/enterkeyaction.cpp
index 6d9361b1..1555caf9 100644
--- a/src/virtualkeyboard/enterkeyaction.cpp
+++ b/src/virtualkeyboard/enterkeyaction.cpp
@@ -1,31 +1,5 @@
-/****************************************************************************
-**
-** Copyright (C) 2016 The Qt Company Ltd.
-** Contact: https://www.qt.io/licensing/
-**
-** This file is part of the Qt Virtual Keyboard module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:GPL$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see https://www.qt.io/terms-conditions. For further
-** information use the contact form at https://www.qt.io/contact-us.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 3 or (at your option) any later version
-** approved by the KDE Free Qt Foundation. The licenses are as published by
-** the Free Software Foundation and appearing in the file LICENSE.GPL3
-** included in the packaging of this file. Please review the following
-** information to ensure the GNU General Public License requirements will
-** be met: https://www.gnu.org/licenses/gpl-3.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
+// Copyright (C) 2016 The Qt Company Ltd.
+// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GPL-3.0-only
#include <QtVirtualKeyboard/private/enterkeyaction_p.h>
#include <QtVirtualKeyboard/private/enterkeyactionattachedtype_p.h>
@@ -36,6 +10,7 @@ namespace QtVirtualKeyboard {
/*!
\qmltype EnterKeyAction
\inqmlmodule QtQuick.VirtualKeyboard
+ \ingroup qmlclass
\ingroup qtvirtualkeyboard-qml
\brief Provides attached properties for customizing the enter key.
diff --git a/src/virtualkeyboard/enterkeyaction_p.h b/src/virtualkeyboard/enterkeyaction_p.h
index 2de309ad..0b06a079 100644
--- a/src/virtualkeyboard/enterkeyaction_p.h
+++ b/src/virtualkeyboard/enterkeyaction_p.h
@@ -1,31 +1,5 @@
-/****************************************************************************
-**
-** Copyright (C) 2016 The Qt Company Ltd.
-** Contact: https://www.qt.io/licensing/
-**
-** This file is part of the Qt Virtual Keyboard module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:GPL$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see https://www.qt.io/terms-conditions. For further
-** information use the contact form at https://www.qt.io/contact-us.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 3 or (at your option) any later version
-** approved by the KDE Free Qt Foundation. The licenses are as published by
-** the Free Software Foundation and appearing in the file LICENSE.GPL3
-** included in the packaging of this file. Please review the following
-** information to ensure the GNU General Public License requirements will
-** be met: https://www.gnu.org/licenses/gpl-3.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
+// Copyright (C) 2021 The Qt Company Ltd.
+// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GPL-3.0-only
#ifndef ENTERKEYACTION_P_H
#define ENTERKEYACTION_P_H
@@ -41,17 +15,23 @@
// We mean it.
//
-#include <qqml.h>
+#include <QtQml/qqml.h>
#include <QtVirtualKeyboard/qvirtualkeyboard_global.h>
+#include <QtCore/private/qglobal_p.h>
QT_BEGIN_NAMESPACE
namespace QtVirtualKeyboard {
class EnterKeyActionAttachedType;
-class QVIRTUALKEYBOARD_EXPORT EnterKeyAction : public QObject
+class Q_VIRTUALKEYBOARD_EXPORT EnterKeyAction : public QObject
{
Q_OBJECT
+ QML_NAMED_ELEMENT(EnterKeyAction)
+ QML_UNCREATABLE("EnterKeyAction is an abstract type that is only available as an attached property.")
+ QML_ATTACHED(EnterKeyActionAttachedType)
+ QML_ADDED_IN_VERSION(1, 0)
+ QML_EXTRA_VERSION(2, 0)
public:
enum Id {
diff --git a/src/virtualkeyboard/enterkeyactionattachedtype.cpp b/src/virtualkeyboard/enterkeyactionattachedtype.cpp
index ca0ee934..2a290e58 100644
--- a/src/virtualkeyboard/enterkeyactionattachedtype.cpp
+++ b/src/virtualkeyboard/enterkeyactionattachedtype.cpp
@@ -1,31 +1,5 @@
-/****************************************************************************
-**
-** Copyright (C) 2016 The Qt Company Ltd.
-** Contact: https://www.qt.io/licensing/
-**
-** This file is part of the Qt Virtual Keyboard module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:GPL$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see https://www.qt.io/terms-conditions. For further
-** information use the contact form at https://www.qt.io/contact-us.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 3 or (at your option) any later version
-** approved by the KDE Free Qt Foundation. The licenses are as published by
-** the Free Software Foundation and appearing in the file LICENSE.GPL3
-** included in the packaging of this file. Please review the following
-** information to ensure the GNU General Public License requirements will
-** be met: https://www.gnu.org/licenses/gpl-3.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
+// Copyright (C) 2016 The Qt Company Ltd.
+// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GPL-3.0-only
#include <QtVirtualKeyboard/private/enterkeyactionattachedtype_p.h>
diff --git a/src/virtualkeyboard/enterkeyactionattachedtype_p.h b/src/virtualkeyboard/enterkeyactionattachedtype_p.h
index a7a7f4f8..bc778f12 100644
--- a/src/virtualkeyboard/enterkeyactionattachedtype_p.h
+++ b/src/virtualkeyboard/enterkeyactionattachedtype_p.h
@@ -1,31 +1,5 @@
-/****************************************************************************
-**
-** Copyright (C) 2016 The Qt Company Ltd.
-** Contact: https://www.qt.io/licensing/
-**
-** This file is part of the Qt Virtual Keyboard module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:GPL$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see https://www.qt.io/terms-conditions. For further
-** information use the contact form at https://www.qt.io/contact-us.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 3 or (at your option) any later version
-** approved by the KDE Free Qt Foundation. The licenses are as published by
-** the Free Software Foundation and appearing in the file LICENSE.GPL3
-** included in the packaging of this file. Please review the following
-** information to ensure the GNU General Public License requirements will
-** be met: https://www.gnu.org/licenses/gpl-3.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
+// Copyright (C) 2016 The Qt Company Ltd.
+// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GPL-3.0-only
#ifndef ENTERKEYACTIONATTACHEDTYPE_P_H
#define ENTERKEYACTIONATTACHEDTYPE_P_H
@@ -48,12 +22,15 @@
QT_BEGIN_NAMESPACE
namespace QtVirtualKeyboard {
-class QVIRTUALKEYBOARD_EXPORT EnterKeyActionAttachedType : public QObject
+class Q_VIRTUALKEYBOARD_EXPORT EnterKeyActionAttachedType : public QObject
{
Q_OBJECT
Q_PROPERTY(int actionId READ actionId WRITE setActionId NOTIFY actionIdChanged)
Q_PROPERTY(QString label READ label WRITE setLabel NOTIFY labelChanged)
Q_PROPERTY(bool enabled READ enabled WRITE setEnabled NOTIFY enabledChanged)
+ QML_ANONYMOUS
+ QML_ADDED_IN_VERSION(1, 0)
+ QML_EXTRA_VERSION(2, 0)
public:
explicit EnterKeyActionAttachedType(QObject *parent);
diff --git a/src/virtualkeyboard/fallbackinputmethod.cpp b/src/virtualkeyboard/fallbackinputmethod.cpp
index a6f7c0d8..539fc387 100644
--- a/src/virtualkeyboard/fallbackinputmethod.cpp
+++ b/src/virtualkeyboard/fallbackinputmethod.cpp
@@ -1,31 +1,5 @@
-/****************************************************************************
-**
-** Copyright (C) 2016 The Qt Company Ltd.
-** Contact: https://www.qt.io/licensing/
-**
-** This file is part of the Qt Virtual Keyboard module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:GPL$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see https://www.qt.io/terms-conditions. For further
-** information use the contact form at https://www.qt.io/contact-us.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 3 or (at your option) any later version
-** approved by the KDE Free Qt Foundation. The licenses are as published by
-** the Free Software Foundation and appearing in the file LICENSE.GPL3
-** included in the packaging of this file. Please review the following
-** information to ensure the GNU General Public License requirements will
-** be met: https://www.gnu.org/licenses/gpl-3.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
+// Copyright (C) 2016 The Qt Company Ltd.
+// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GPL-3.0-only
#include <QtVirtualKeyboard/private/fallbackinputmethod_p.h>
#include <QtVirtualKeyboard/qvirtualkeyboardinputcontext.h>
diff --git a/src/virtualkeyboard/fallbackinputmethod_p.h b/src/virtualkeyboard/fallbackinputmethod_p.h
index f3bbdb47..b2a7c9d0 100644
--- a/src/virtualkeyboard/fallbackinputmethod_p.h
+++ b/src/virtualkeyboard/fallbackinputmethod_p.h
@@ -1,31 +1,5 @@
-/****************************************************************************
-**
-** Copyright (C) 2016 The Qt Company Ltd.
-** Contact: https://www.qt.io/licensing/
-**
-** This file is part of the Qt Virtual Keyboard module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:GPL$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see https://www.qt.io/terms-conditions. For further
-** information use the contact form at https://www.qt.io/contact-us.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 3 or (at your option) any later version
-** approved by the KDE Free Qt Foundation. The licenses are as published by
-** the Free Software Foundation and appearing in the file LICENSE.GPL3
-** included in the packaging of this file. Please review the following
-** information to ensure the GNU General Public License requirements will
-** be met: https://www.gnu.org/licenses/gpl-3.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
+// Copyright (C) 2021 The Qt Company Ltd.
+// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GPL-3.0-only
#ifndef FALLBACKINPUTMETHOD_P_H
#define FALLBACKINPUTMETHOD_P_H
@@ -42,11 +16,12 @@
//
#include <QtVirtualKeyboard/qvirtualkeyboardabstractinputmethod.h>
+#include <QtCore/private/qglobal_p.h>
QT_BEGIN_NAMESPACE
namespace QtVirtualKeyboard {
-class QVIRTUALKEYBOARD_EXPORT FallbackInputMethod : public QVirtualKeyboardAbstractInputMethod
+class Q_VIRTUALKEYBOARD_EXPORT FallbackInputMethod : public QVirtualKeyboardAbstractInputMethod
{
Q_OBJECT
diff --git a/src/virtualkeyboard/gesturerecognizer.cpp b/src/virtualkeyboard/gesturerecognizer.cpp
index c50102fe..266a5230 100644
--- a/src/virtualkeyboard/gesturerecognizer.cpp
+++ b/src/virtualkeyboard/gesturerecognizer.cpp
@@ -1,31 +1,5 @@
-/****************************************************************************
-**
-** Copyright (C) 2017 The Qt Company Ltd.
-** Contact: https://www.qt.io/licensing/
-**
-** This file is part of the Qt Virtual Keyboard module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:GPL$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see https://www.qt.io/terms-conditions. For further
-** information use the contact form at https://www.qt.io/contact-us.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 3 or (at your option) any later version
-** approved by the KDE Free Qt Foundation. The licenses are as published by
-** the Free Software Foundation and appearing in the file LICENSE.GPL3
-** included in the packaging of this file. Please review the following
-** information to ensure the GNU General Public License requirements will
-** be met: https://www.gnu.org/licenses/gpl-3.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
+// Copyright (C) 2017 The Qt Company Ltd.
+// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GPL-3.0-only
#include <QtVirtualKeyboard/private/gesturerecognizer_p.h>
diff --git a/src/virtualkeyboard/gesturerecognizer_p.h b/src/virtualkeyboard/gesturerecognizer_p.h
index d7b14b20..b74005a9 100644
--- a/src/virtualkeyboard/gesturerecognizer_p.h
+++ b/src/virtualkeyboard/gesturerecognizer_p.h
@@ -1,31 +1,5 @@
-/****************************************************************************
-**
-** Copyright (C) 2017 The Qt Company Ltd.
-** Contact: https://www.qt.io/licensing/
-**
-** This file is part of the Qt Virtual Keyboard module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:GPL$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see https://www.qt.io/terms-conditions. For further
-** information use the contact form at https://www.qt.io/contact-us.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 3 or (at your option) any later version
-** approved by the KDE Free Qt Foundation. The licenses are as published by
-** the Free Software Foundation and appearing in the file LICENSE.GPL3
-** included in the packaging of this file. Please review the following
-** information to ensure the GNU General Public License requirements will
-** be met: https://www.gnu.org/licenses/gpl-3.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
+// Copyright (C) 2021 The Qt Company Ltd.
+// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GPL-3.0-only
#ifndef GESTURERECOGNIZER_P_H
#define GESTURERECOGNIZER_P_H
@@ -45,11 +19,12 @@
#include <QVariantMap>
#include <QtVirtualKeyboard/qvirtualkeyboardtrace.h>
#include <QtVirtualKeyboard/qvirtualkeyboard_global.h>
+#include <QtCore/private/qglobal_p.h>
QT_BEGIN_NAMESPACE
namespace QtVirtualKeyboard {
-class QVIRTUALKEYBOARD_EXPORT GestureRecognizer : public QObject
+class Q_VIRTUALKEYBOARD_EXPORT GestureRecognizer : public QObject
{
Q_OBJECT
public:
diff --git a/src/virtualkeyboard/handwritinggesturerecognizer.cpp b/src/virtualkeyboard/handwritinggesturerecognizer.cpp
index 36fe8cf8..72337132 100644
--- a/src/virtualkeyboard/handwritinggesturerecognizer.cpp
+++ b/src/virtualkeyboard/handwritinggesturerecognizer.cpp
@@ -1,31 +1,5 @@
-/****************************************************************************
-**
-** Copyright (C) 2017 The Qt Company Ltd.
-** Contact: https://www.qt.io/licensing/
-**
-** This file is part of the Qt Virtual Keyboard module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:GPL$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see https://www.qt.io/terms-conditions. For further
-** information use the contact form at https://www.qt.io/contact-us.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 3 or (at your option) any later version
-** approved by the KDE Free Qt Foundation. The licenses are as published by
-** the Free Software Foundation and appearing in the file LICENSE.GPL3
-** included in the packaging of this file. Please review the following
-** information to ensure the GNU General Public License requirements will
-** be met: https://www.gnu.org/licenses/gpl-3.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
+// Copyright (C) 2017 The Qt Company Ltd.
+// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GPL-3.0-only
#include <QtVirtualKeyboard/private/handwritinggesturerecognizer_p.h>
@@ -53,7 +27,7 @@ int HandwritingGestureRecognizer::dpi() const
QVariantMap HandwritingGestureRecognizer::recognize(const QList<QVirtualKeyboardTrace *> traceList)
{
- if (traceList.count() > 0 && traceList.count() < 3) {
+ if (traceList.size() > 0 && traceList.size() < 3) {
// Swipe gesture detection
// =======================
@@ -90,7 +64,7 @@ QVariantMap HandwritingGestureRecognizer::recognize(const QList<QVirtualKeyboard
const QVirtualKeyboardTrace *trace = traceList.at(traceIndex);
const QVariantList &points = trace->points();
QVector2D swipeVector;
- const int pointCount = points.count();
+ const int pointCount = points.size();
int pointIndex = 0;
if (pointCount >= 2) {
@@ -136,7 +110,7 @@ QVariantMap HandwritingGestureRecognizer::recognize(const QList<QVirtualKeyboard
bool matchesToExisting = true;
const qreal minimumSwipeLength = (swipeLength * (100.0 - MAXIMUM_WIDTH_VARIANCE) / 100.0);
const qreal maximumSwipeLength = (swipeLength * (100.0 + MAXIMUM_WIDTH_VARIANCE) / 100.0);
- for (const QVector2D &otherSwipeVector : qAsConst(swipeVectors)) {
+ for (const QVector2D &otherSwipeVector : std::as_const(swipeVectors)) {
const qreal otherSwipeLength = otherSwipeVector.length();
const qreal theta = qAcos(QVector2D::dotProduct(swipeVector, otherSwipeVector) / (swipeLength * otherSwipeLength));
diff --git a/src/virtualkeyboard/handwritinggesturerecognizer_p.h b/src/virtualkeyboard/handwritinggesturerecognizer_p.h
index 69472bec..1cb3c2c8 100644
--- a/src/virtualkeyboard/handwritinggesturerecognizer_p.h
+++ b/src/virtualkeyboard/handwritinggesturerecognizer_p.h
@@ -1,31 +1,5 @@
-/****************************************************************************
-**
-** Copyright (C) 2017 The Qt Company Ltd.
-** Contact: https://www.qt.io/licensing/
-**
-** This file is part of the Qt Virtual Keyboard module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:GPL$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see https://www.qt.io/terms-conditions. For further
-** information use the contact form at https://www.qt.io/contact-us.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 3 or (at your option) any later version
-** approved by the KDE Free Qt Foundation. The licenses are as published by
-** the Free Software Foundation and appearing in the file LICENSE.GPL3
-** included in the packaging of this file. Please review the following
-** information to ensure the GNU General Public License requirements will
-** be met: https://www.gnu.org/licenses/gpl-3.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
+// Copyright (C) 2017 The Qt Company Ltd.
+// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GPL-3.0-only
#ifndef HANDWRITINGGESTURERECOGNIZER_P_H
#define HANDWRITINGGESTURERECOGNIZER_P_H
@@ -46,7 +20,7 @@
QT_BEGIN_NAMESPACE
namespace QtVirtualKeyboard {
-class QVIRTUALKEYBOARD_EXPORT HandwritingGestureRecognizer : public GestureRecognizer
+class Q_VIRTUALKEYBOARD_EXPORT HandwritingGestureRecognizer : public GestureRecognizer
{
Q_OBJECT
public:
diff --git a/src/virtualkeyboard/inputmethod.cpp b/src/virtualkeyboard/inputmethod.cpp
index b108be34..1cd232d3 100644
--- a/src/virtualkeyboard/inputmethod.cpp
+++ b/src/virtualkeyboard/inputmethod.cpp
@@ -1,31 +1,5 @@
-/****************************************************************************
-**
-** Copyright (C) 2016 The Qt Company Ltd.
-** Contact: https://www.qt.io/licensing/
-**
-** This file is part of the Qt Virtual Keyboard module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:GPL$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see https://www.qt.io/terms-conditions. For further
-** information use the contact form at https://www.qt.io/contact-us.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 3 or (at your option) any later version
-** approved by the KDE Free Qt Foundation. The licenses are as published by
-** the Free Software Foundation and appearing in the file LICENSE.GPL3
-** included in the packaging of this file. Please review the following
-** information to ensure the GNU General Public License requirements will
-** be met: https://www.gnu.org/licenses/gpl-3.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
+// Copyright (C) 2016 The Qt Company Ltd.
+// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GPL-3.0-only
#include <QtVirtualKeyboard/private/inputmethod_p.h>
#include <QtVirtualKeyboard/qvirtualkeyboardtrace.h>
@@ -38,7 +12,7 @@ namespace QtVirtualKeyboard {
\qmltype InputMethod
\instantiates QtVirtualKeyboard::InputMethod
\inqmlmodule QtQuick.VirtualKeyboard
- \ingroup qtvirtualkeyboard-qml
+ \ingroup qtvirtualkeyboard-internal-qml
\brief Base type for creating input method in QML.
The InputMethod type lets you create a custom input method
@@ -407,5 +381,10 @@ void InputMethod::update()
QMetaObject::invokeMethod(this, "update");
}
+void InputMethod::clearInputMode()
+{
+ QMetaObject::invokeMethod(this, "clearInputMode");
+}
+
} // namespace QtVirtualKeyboard
QT_END_NAMESPACE
diff --git a/src/virtualkeyboard/inputmethod_p.h b/src/virtualkeyboard/inputmethod_p.h
index c5b6b347..7141226f 100644
--- a/src/virtualkeyboard/inputmethod_p.h
+++ b/src/virtualkeyboard/inputmethod_p.h
@@ -1,31 +1,5 @@
-/****************************************************************************
-**
-** Copyright (C) 2016 The Qt Company Ltd.
-** Contact: https://www.qt.io/licensing/
-**
-** This file is part of the Qt Virtual Keyboard module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:GPL$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see https://www.qt.io/terms-conditions. For further
-** information use the contact form at https://www.qt.io/contact-us.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 3 or (at your option) any later version
-** approved by the KDE Free Qt Foundation. The licenses are as published by
-** the Free Software Foundation and appearing in the file LICENSE.GPL3
-** included in the packaging of this file. Please review the following
-** information to ensure the GNU General Public License requirements will
-** be met: https://www.gnu.org/licenses/gpl-3.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
+// Copyright (C) 2021 The Qt Company Ltd.
+// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GPL-3.0-only
#ifndef INPUTMETHOD_P_H
#define INPUTMETHOD_P_H
@@ -41,17 +15,22 @@
// We mean it.
//
+#include <QtQml/qqml.h>
#include <QtVirtualKeyboard/qvirtualkeyboardabstractinputmethod.h>
+#include <QtCore/private/qglobal_p.h>
QT_BEGIN_NAMESPACE
namespace QtVirtualKeyboard {
-class QVIRTUALKEYBOARD_EXPORT InputMethod : public QVirtualKeyboardAbstractInputMethod
+class Q_VIRTUALKEYBOARD_EXPORT InputMethod : public QVirtualKeyboardAbstractInputMethod
{
Q_OBJECT
Q_PROPERTY(QVirtualKeyboardInputContext *inputContext READ inputContext CONSTANT)
Q_PROPERTY(QVirtualKeyboardInputEngine *inputEngine READ inputEngine CONSTANT)
Q_MOC_INCLUDE("qvirtualkeyboardinputcontext.h")
+ QML_NAMED_ELEMENT(InputMethod)
+ QML_ADDED_IN_VERSION(1, 0)
+ QML_EXTRA_VERSION(2, 0)
public:
explicit InputMethod(QObject *parent = nullptr);
@@ -80,6 +59,7 @@ public:
void reset() override;
void update() override;
+ void clearInputMode() override;
};
} // namespace QtVirtualKeyboard
diff --git a/src/virtualkeyboard/inputselectionhandle.cpp b/src/virtualkeyboard/inputselectionhandle.cpp
index 3f4817a2..8d2558f7 100644
--- a/src/virtualkeyboard/inputselectionhandle.cpp
+++ b/src/virtualkeyboard/inputselectionhandle.cpp
@@ -1,31 +1,5 @@
-/****************************************************************************
-**
-** Copyright (C) 2016 The Qt Company Ltd.
-** Contact: https://www.qt.io/licensing/
-**
-** This file is part of the Qt Virtual Keyboard module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:GPL$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see https://www.qt.io/terms-conditions. For further
-** information use the contact form at https://www.qt.io/contact-us.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 3 or (at your option) any later version
-** approved by the KDE Free Qt Foundation. The licenses are as published by
-** the Free Software Foundation and appearing in the file LICENSE.GPL3
-** included in the packaging of this file. Please review the following
-** information to ensure the GNU General Public License requirements will
-** be met: https://www.gnu.org/licenses/gpl-3.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
+// Copyright (C) 2016 The Qt Company Ltd.
+// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GPL-3.0-only
#include <QtVirtualKeyboard/private/inputselectionhandle_p.h>
#include <QtVirtualKeyboard/private/desktopinputselectioncontrol_p.h>
diff --git a/src/virtualkeyboard/inputselectionhandle_p.h b/src/virtualkeyboard/inputselectionhandle_p.h
index d62e4147..64877317 100644
--- a/src/virtualkeyboard/inputselectionhandle_p.h
+++ b/src/virtualkeyboard/inputselectionhandle_p.h
@@ -1,31 +1,5 @@
-/****************************************************************************
-**
-** Copyright (C) 2016 The Qt Company Ltd.
-** Contact: https://www.qt.io/licensing/
-**
-** This file is part of the Qt Virtual Keyboard module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:GPL$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see https://www.qt.io/terms-conditions. For further
-** information use the contact form at https://www.qt.io/contact-us.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 3 or (at your option) any later version
-** approved by the KDE Free Qt Foundation. The licenses are as published by
-** the Free Software Foundation and appearing in the file LICENSE.GPL3
-** included in the packaging of this file. Please review the following
-** information to ensure the GNU General Public License requirements will
-** be met: https://www.gnu.org/licenses/gpl-3.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
+// Copyright (C) 2021 The Qt Company Ltd.
+// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GPL-3.0-only
#ifndef INPUTSELECTIONHANDLE_P_H
#define INPUTSELECTIONHANDLE_P_H
@@ -43,6 +17,7 @@
#include <QtGui/QRasterWindow>
#include <QtVirtualKeyboard/qvirtualkeyboard_global.h>
+#include <QtCore/private/qglobal_p.h>
QT_BEGIN_NAMESPACE
@@ -52,7 +27,7 @@ namespace QtVirtualKeyboard {
class DesktopInputSelectionControl;
-class QVIRTUALKEYBOARD_EXPORT InputSelectionHandle : public QRasterWindow
+class Q_VIRTUALKEYBOARD_EXPORT InputSelectionHandle : public QRasterWindow
{
Q_OBJECT
diff --git a/src/virtualkeyboard/inputview.cpp b/src/virtualkeyboard/inputview.cpp
index 304a3419..c2e29e0f 100644
--- a/src/virtualkeyboard/inputview.cpp
+++ b/src/virtualkeyboard/inputview.cpp
@@ -1,31 +1,5 @@
-/****************************************************************************
-**
-** Copyright (C) 2016 The Qt Company Ltd.
-** Contact: https://www.qt.io/licensing/
-**
-** This file is part of the Qt Virtual Keyboard module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:GPL$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see https://www.qt.io/terms-conditions. For further
-** information use the contact form at https://www.qt.io/contact-us.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 3 or (at your option) any later version
-** approved by the KDE Free Qt Foundation. The licenses are as published by
-** the Free Software Foundation and appearing in the file LICENSE.GPL3
-** included in the packaging of this file. Please review the following
-** information to ensure the GNU General Public License requirements will
-** be met: https://www.gnu.org/licenses/gpl-3.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
+// Copyright (C) 2016 The Qt Company Ltd.
+// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GPL-3.0-only
#include <QtVirtualKeyboard/private/inputview_p.h>
diff --git a/src/virtualkeyboard/inputview_p.h b/src/virtualkeyboard/inputview_p.h
index 59d983a3..c36ce3f8 100644
--- a/src/virtualkeyboard/inputview_p.h
+++ b/src/virtualkeyboard/inputview_p.h
@@ -1,31 +1,5 @@
-/****************************************************************************
-**
-** Copyright (C) 2016 The Qt Company Ltd.
-** Contact: https://www.qt.io/licensing/
-**
-** This file is part of the Qt Virtual Keyboard module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:GPL$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see https://www.qt.io/terms-conditions. For further
-** information use the contact form at https://www.qt.io/contact-us.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 3 or (at your option) any later version
-** approved by the KDE Free Qt Foundation. The licenses are as published by
-** the Free Software Foundation and appearing in the file LICENSE.GPL3
-** included in the packaging of this file. Please review the following
-** information to ensure the GNU General Public License requirements will
-** be met: https://www.gnu.org/licenses/gpl-3.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
+// Copyright (C) 2021 The Qt Company Ltd.
+// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GPL-3.0-only
#ifndef INPUTVIEW_P_H
#define INPUTVIEW_P_H
@@ -43,11 +17,12 @@
#include <QQuickView>
#include <QtVirtualKeyboard/qvirtualkeyboard_global.h>
+#include <QtCore/private/qglobal_p.h>
QT_BEGIN_NAMESPACE
namespace QtVirtualKeyboard {
-class QVIRTUALKEYBOARD_EXPORT InputView : public QQuickView
+class Q_VIRTUALKEYBOARD_EXPORT InputView : public QQuickView
{
Q_OBJECT
public:
diff --git a/src/virtualkeyboard/plaininputmethod.cpp b/src/virtualkeyboard/plaininputmethod.cpp
index c9a107e5..3ec1046a 100644
--- a/src/virtualkeyboard/plaininputmethod.cpp
+++ b/src/virtualkeyboard/plaininputmethod.cpp
@@ -1,31 +1,5 @@
-/****************************************************************************
-**
-** Copyright (C) 2016 The Qt Company Ltd.
-** Contact: https://www.qt.io/licensing/
-**
-** This file is part of the Qt Virtual Keyboard module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:GPL$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see https://www.qt.io/terms-conditions. For further
-** information use the contact form at https://www.qt.io/contact-us.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 3 or (at your option) any later version
-** approved by the KDE Free Qt Foundation. The licenses are as published by
-** the Free Software Foundation and appearing in the file LICENSE.GPL3
-** included in the packaging of this file. Please review the following
-** information to ensure the GNU General Public License requirements will
-** be met: https://www.gnu.org/licenses/gpl-3.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
+// Copyright (C) 2016 The Qt Company Ltd.
+// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GPL-3.0-only
#include <QtVirtualKeyboard/private/plaininputmethod_p.h>
#include <QtVirtualKeyboard/qvirtualkeyboardinputengine.h>
diff --git a/src/virtualkeyboard/plaininputmethod_p.h b/src/virtualkeyboard/plaininputmethod_p.h
index c117358e..4e8c2217 100644
--- a/src/virtualkeyboard/plaininputmethod_p.h
+++ b/src/virtualkeyboard/plaininputmethod_p.h
@@ -1,31 +1,5 @@
-/****************************************************************************
-**
-** Copyright (C) 2016 The Qt Company Ltd.
-** Contact: https://www.qt.io/licensing/
-**
-** This file is part of the Qt Virtual Keyboard module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:GPL$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see https://www.qt.io/terms-conditions. For further
-** information use the contact form at https://www.qt.io/contact-us.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 3 or (at your option) any later version
-** approved by the KDE Free Qt Foundation. The licenses are as published by
-** the Free Software Foundation and appearing in the file LICENSE.GPL3
-** included in the packaging of this file. Please review the following
-** information to ensure the GNU General Public License requirements will
-** be met: https://www.gnu.org/licenses/gpl-3.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
+// Copyright (C) 2021 The Qt Company Ltd.
+// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GPL-3.0-only
#ifndef PLAININPUTMETHOD_P_H
#define PLAININPUTMETHOD_P_H
@@ -42,13 +16,16 @@
//
#include <QtVirtualKeyboard/qvirtualkeyboardabstractinputmethod.h>
+#include <QtCore/private/qglobal_p.h>
QT_BEGIN_NAMESPACE
namespace QtVirtualKeyboard {
-class QVIRTUALKEYBOARD_EXPORT PlainInputMethod : public QVirtualKeyboardAbstractInputMethod
+class Q_VIRTUALKEYBOARD_EXPORT PlainInputMethod : public QVirtualKeyboardAbstractInputMethod
{
Q_OBJECT
+ QML_NAMED_ELEMENT(PlainInputMethod)
+ QML_ADDED_IN_VERSION(2, 0)
public:
explicit PlainInputMethod(QObject *parent = nullptr);
diff --git a/src/virtualkeyboard/platforminputcontext.cpp b/src/virtualkeyboard/platforminputcontext.cpp
index eef26574..ab3f3887 100644
--- a/src/virtualkeyboard/platforminputcontext.cpp
+++ b/src/virtualkeyboard/platforminputcontext.cpp
@@ -1,31 +1,5 @@
-/****************************************************************************
-**
-** Copyright (C) 2016 The Qt Company Ltd.
-** Contact: https://www.qt.io/licensing/
-**
-** This file is part of the Qt Virtual Keyboard module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:GPL$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see https://www.qt.io/terms-conditions. For further
-** information use the contact form at https://www.qt.io/contact-us.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 3 or (at your option) any later version
-** approved by the KDE Free Qt Foundation. The licenses are as published by
-** the Free Software Foundation and appearing in the file LICENSE.GPL3
-** included in the packaging of this file. Please review the following
-** information to ensure the GNU General Public License requirements will
-** be met: https://www.gnu.org/licenses/gpl-3.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
+// Copyright (C) 2016 The Qt Company Ltd.
+// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GPL-3.0-only
#include <QtVirtualKeyboard/private/platforminputcontext_p.h>
#include <QtVirtualKeyboard/qvirtualkeyboardinputcontext.h>
@@ -96,7 +70,7 @@ void PlatformInputContext::commit()
void PlatformInputContext::update(Qt::InputMethodQueries queries)
{
VIRTUALKEYBOARD_DEBUG() << "PlatformInputContext::update():" << queries;
- bool enabled = inputMethodQuery(Qt::ImEnabled).toBool();
+ const bool enabled = inputMethodAccepted();
#ifdef QT_VIRTUALKEYBOARD_DESKTOP
if (enabled && !m_inputPanel && !m_desktopModeDisabled) {
m_inputPanel = new DesktopInputPanel(this);
@@ -110,14 +84,10 @@ void PlatformInputContext::update(Qt::InputMethodQueries queries)
}
#endif
if (m_inputContext) {
- if (enabled) {
+ if (enabled)
m_inputContext->priv()->update(queries);
- if (m_visible)
- updateInputPanelVisible();
- } else {
- hideInputPanel();
- }
m_inputContext->priv()->setFocus(enabled);
+ updateInputPanelVisible();
}
}
@@ -200,6 +170,9 @@ void PlatformInputContext::setFocusObject(QObject *object)
Q_ASSERT(m_inputContext == nullptr ||
m_inputContext->priv()->shadow()->inputItem() == nullptr ||
m_inputContext->priv()->shadow()->inputItem() != object);
+ QScopedPointer<QVirtualKeyboardScopedState> setFocusState;
+ if (m_inputContext)
+ setFocusState.reset(new QVirtualKeyboardScopedState(m_inputContext->priv(), QVirtualKeyboardInputContextPrivate::State::SetFocus));
if (m_focusObject != object) {
if (m_focusObject)
m_focusObject->removeEventFilter(this);
@@ -223,16 +196,6 @@ bool PlatformInputContext::eventFilter(QObject *object, QEvent *event)
return false;
}
-void PlatformInputContext::setInputMethods(const QStringList &inputMethods)
-{
- m_inputMethods = inputMethods;
-}
-
-QStringList PlatformInputContext::inputMethods() const
-{
- return m_inputMethods;
-}
-
void PlatformInputContext::sendEvent(QEvent *event)
{
if (m_focusObject) {
@@ -285,6 +248,16 @@ void PlatformInputContext::setInputContext(QVirtualKeyboardInputContext *context
}
}
+bool PlatformInputContext::evaluateInputPanelVisible() const
+{
+ // Show input panel when input panel is requested by showInputPanel()
+ // and focus object is set to an input control with input method accepted (Qt::ImEnabled)
+ // or input events without focus are enabled.
+ return m_visible &&
+ ((m_focusObject && inputMethodAccepted()) ||
+ QT_VIRTUALKEYBOARD_FORCE_EVENTS_WITHOUT_FOCUS);
+}
+
void PlatformInputContext::keyboardRectangleChanged()
{
m_inputPanel->setInputRect(m_inputContext->priv()->keyboardRectangle().toRect());
@@ -295,13 +268,16 @@ void PlatformInputContext::updateInputPanelVisible()
if (!m_inputPanel)
return;
- if (m_visible != m_inputPanel->isVisible()) {
- if (m_visible)
+ const bool visible = evaluateInputPanelVisible();
+ if (visible != m_inputPanel->isVisible()) {
+ if (visible)
m_inputPanel->show();
else
m_inputPanel->hide();
- if (m_selectionControl)
- m_selectionControl->setEnabled(m_visible);
+ if (m_selectionControl) {
+ m_selectionControl->setEnabled(visible);
+ m_inputContext->priv()->updateSelectionControlVisible(visible);
+ }
emitInputPanelVisibleChanged();
}
}
diff --git a/src/virtualkeyboard/platforminputcontext_p.h b/src/virtualkeyboard/platforminputcontext_p.h
index e7d29405..f6b57c31 100644
--- a/src/virtualkeyboard/platforminputcontext_p.h
+++ b/src/virtualkeyboard/platforminputcontext_p.h
@@ -1,31 +1,5 @@
-/****************************************************************************
-**
-** Copyright (C) 2016 The Qt Company Ltd.
-** Contact: https://www.qt.io/licensing/
-**
-** This file is part of the Qt Virtual Keyboard module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:GPL$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see https://www.qt.io/terms-conditions. For further
-** information use the contact form at https://www.qt.io/contact-us.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 3 or (at your option) any later version
-** approved by the KDE Free Qt Foundation. The licenses are as published by
-** the Free Software Foundation and appearing in the file LICENSE.GPL3
-** included in the packaging of this file. Please review the following
-** information to ensure the GNU General Public License requirements will
-** be met: https://www.gnu.org/licenses/gpl-3.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
+// Copyright (C) 2016 The Qt Company Ltd.
+// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GPL-3.0-only
#ifndef PLATFORMINPUTCONTEXT_P_H
#define PLATFORMINPUTCONTEXT_P_H
@@ -57,7 +31,7 @@ namespace QtVirtualKeyboard {
class AbstractInputPanel;
-class QVIRTUALKEYBOARD_EXPORT PlatformInputContext : public QPlatformInputContext
+class Q_VIRTUALKEYBOARD_EXPORT PlatformInputContext : public QPlatformInputContext
{
Q_OBJECT
public:
@@ -90,9 +64,6 @@ public:
bool eventFilter(QObject *object, QEvent *event) override;
- void setInputMethods(const QStringList &inputMethods);
- QStringList inputMethods() const;
-
signals:
void focusObjectChanged();
@@ -101,6 +72,7 @@ protected:
void sendKeyEvent(QKeyEvent *event);
QVariant inputMethodQuery(Qt::InputMethodQuery query);
void setInputContext(QVirtualKeyboardInputContext *context);
+ bool evaluateInputPanelVisible() const;
private slots:
void keyboardRectangleChanged();
@@ -110,7 +82,6 @@ private:
friend class ::QVirtualKeyboardInputContext;
friend class ::QVirtualKeyboardInputContextPrivate;
QPointer<QVirtualKeyboardInputContext> m_inputContext;
- QStringList m_inputMethods;
QPointer<AbstractInputPanel> m_inputPanel;
QPointer<DesktopInputSelectionControl> m_selectionControl;
QPointer<QObject> m_focusObject;
diff --git a/src/virtualkeyboard/qt_cmdline.cmake b/src/virtualkeyboard/qt_cmdline.cmake
new file mode 100644
index 00000000..e66b46c8
--- /dev/null
+++ b/src/virtualkeyboard/qt_cmdline.cmake
@@ -0,0 +1,24 @@
+# Copyright (C) 2022 The Qt Company Ltd.
+# SPDX-License-Identifier: BSD-3-Clause
+
+qt_commandline_option(vkb-sensitive-debug TYPE boolean)
+qt_commandline_option(vkb-arrow-keynavigation TYPE boolean)
+qt_commandline_option(vkb-enable TYPE enableLang)
+qt_commandline_option(vkb-disable TYPE disableLang)
+qt_commandline_option(vkb-layouts TYPE boolean)
+qt_commandline_option(vkb-desktop TYPE boolean)
+qt_commandline_option(vkb-hunspell TYPE enum VALUES no 3rdparty system)
+qt_commandline_option(vkb-handwriting TYPE optionalString VALUES no myscript-hwr cerence-hwr example-hwr)
+qt_commandline_option(vkb-cerence-sdk TYPE string)
+qt_commandline_option(vkb-style TYPE string VALUES standard retro none)
+qt_commandline_option(vkb-no-bundle-pinyin TYPE boolean)
+qt_commandline_option(vkb-no-bundle-tcime TYPE boolean)
+qt_commandline_option(vkb-cerence-static TYPE boolean)
+qt_commandline_option(vkb-bundle-cerence TYPE boolean)
+qt_commandline_option(vkb-bundle-cerence-hwr TYPE boolean)
+qt_commandline_option(vkb-bundle-cerence-xt9 TYPE boolean)
+qt_commandline_option(vkb-cerence-xt9-debug TYPE boolean)
+qt_commandline_option(vkb-cerence-xt9-9key-layouts TYPE boolean)
+qt_commandline_option(vkb-myscript-sdk TYPE string)
+qt_commandline_option(vkb-myscript-arch TYPE optionalString VALUES x86 x64 armv7hf armv7 arm64)
+
diff --git a/src/virtualkeyboard/qvirtualkeyboard_global.h b/src/virtualkeyboard/qvirtualkeyboard_global.h
index b4719d3c..a5ef3aad 100644
--- a/src/virtualkeyboard/qvirtualkeyboard_global.h
+++ b/src/virtualkeyboard/qvirtualkeyboard_global.h
@@ -1,50 +1,11 @@
-/****************************************************************************
-**
-** Copyright (C) 2018 The Qt Company Ltd.
-** Contact: https://www.qt.io/licensing/
-**
-** This file is part of the Qt Virtual Keyboard module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:GPL$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see https://www.qt.io/terms-conditions. For further
-** information use the contact form at https://www.qt.io/contact-us.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 3 or (at your option) any later version
-** approved by the KDE Free Qt Foundation. The licenses are as published by
-** the Free Software Foundation and appearing in the file LICENSE.GPL3
-** included in the packaging of this file. Please review the following
-** information to ensure the GNU General Public License requirements will
-** be met: https://www.gnu.org/licenses/gpl-3.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
+// Copyright (C) 2018 The Qt Company Ltd.
+// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GPL-3.0-only
#ifndef QVIRTUALKEYBOARD_GLOBAL_H
#define QVIRTUALKEYBOARD_GLOBAL_H
#include <QtCore/qglobal.h>
#include <QtVirtualKeyboard/qtvirtualkeyboard-config.h>
-
-QT_BEGIN_NAMESPACE
-
-#ifndef QT_STATIC
-# if defined(QVIRTUALKEYBOARD_LIBRARY)
-# define QVIRTUALKEYBOARD_EXPORT Q_DECL_EXPORT
-# else
-# define QVIRTUALKEYBOARD_EXPORT Q_DECL_IMPORT
-# endif
-#else
-# define QVIRTUALKEYBOARD_EXPORT
-#endif
-
-QT_END_NAMESPACE
+#include <QtVirtualKeyboard/qtvirtualkeyboardexports.h>
#endif
diff --git a/src/virtualkeyboard/qvirtualkeyboard_global_p.h b/src/virtualkeyboard/qvirtualkeyboard_global_p.h
index a8f0f12a..28218311 100644
--- a/src/virtualkeyboard/qvirtualkeyboard_global_p.h
+++ b/src/virtualkeyboard/qvirtualkeyboard_global_p.h
@@ -1,41 +1,5 @@
-/****************************************************************************
-**
-** Copyright (C) 2020 The Qt Company.
-** Contact: https://www.qt.io/licensing/
-**
-** This file is part of the QtVirtualkeyboard module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see https://www.qt.io/terms-conditions. For further
-** information use the contact form at https://www.qt.io/contact-us.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 3 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL3 included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 3 requirements
-** will be met: https://www.gnu.org/licenses/lgpl-3.0.html.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 2.0 or (at your option) the GNU General
-** Public license version 3 or any later version approved by the KDE Free
-** Qt Foundation. The licenses are as published by the Free Software
-** Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3
-** included in the packaging of this file. Please review the following
-** information to ensure the GNU General Public License requirements will
-** be met: https://www.gnu.org/licenses/gpl-2.0.html and
-** https://www.gnu.org/licenses/gpl-3.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
+// Copyright (C) 2020 The Qt Company.
+// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GPL-3.0-only
#ifndef QTVIRTUALKEYBOARDGLOBAL_H
#define QTVIRTUALKEYBOARDGLOBAL_H
diff --git a/src/virtualkeyboard/qvirtualkeyboard_namespace.h b/src/virtualkeyboard/qvirtualkeyboard_namespace.h
new file mode 100644
index 00000000..84871c1a
--- /dev/null
+++ b/src/virtualkeyboard/qvirtualkeyboard_namespace.h
@@ -0,0 +1,13 @@
+// Copyright (C) 2022 The Qt Company Ltd.
+// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GPL-3.0-only
+
+#ifndef QVIRTUALKEYBOARD_NAMESPACE_H
+#define QVIRTUALKEYBOARD_NAMESPACE_H
+
+#if 0
+# pragma qt_sync_skip_header_check
+#endif
+// TODO: Remove in Qt 7
+#include <QtVirtualKeyboard/private/qvirtualkeyboardnamespace_p.h>
+
+#endif // QVIRTUALKEYBOARD_NAMESPACE_H
diff --git a/src/virtualkeyboard/qvirtualkeyboard_staticplugin_p.h b/src/virtualkeyboard/qvirtualkeyboard_staticplugin_p.h
deleted file mode 100644
index 00ac394c..00000000
--- a/src/virtualkeyboard/qvirtualkeyboard_staticplugin_p.h
+++ /dev/null
@@ -1,69 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2018 The Qt Company Ltd.
-** Contact: https://www.qt.io/licensing/
-**
-** This file is part of the Qt Virtual Keyboard module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:GPL$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see https://www.qt.io/terms-conditions. For further
-** information use the contact form at https://www.qt.io/contact-us.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 3 or (at your option) any later version
-** approved by the KDE Free Qt Foundation. The licenses are as published by
-** the Free Software Foundation and appearing in the file LICENSE.GPL3
-** included in the packaging of this file. Please review the following
-** information to ensure the GNU General Public License requirements will
-** be met: https://www.gnu.org/licenses/gpl-3.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#ifndef QVIRTUALKEYBOARD_STATICPLUGIN_P_H
-#define QVIRTUALKEYBOARD_STATICPLUGIN_P_H
-
-//
-// W A R N I N G
-// -------------
-//
-// This file is not part of the Qt API. It exists purely as an
-// implementation detail. This header file may change from version to
-// version without notice, or even be removed.
-//
-// We mean it.
-//
-
-#if defined(QT_STATICPLUGIN)
-#include <QtPlugin>
-#include <QPluginLoader>
-
-QT_BEGIN_NAMESPACE
-
-// This macro is similar to Q_IMPORT_PLUGIN, except it does not
-// register duplicate entries as static plugins.
-// The check is required since the application may already have
-// initialized the plugin by its own dependencies.
-#define Q_VKB_IMPORT_PLUGIN(PLUGIN) \
- extern const QT_PREPEND_NAMESPACE(QStaticPlugin) qt_static_plugin_##PLUGIN(); \
- class Static##PLUGIN##PluginInstance{ \
- public: \
- Static##PLUGIN##PluginInstance() { \
- if (!QPluginLoader::staticInstances().contains(qt_static_plugin_##PLUGIN().instance())) \
- qRegisterStaticPluginFunction(qt_static_plugin_##PLUGIN()); \
- } \
- }; \
- static Static##PLUGIN##PluginInstance static##PLUGIN##Instance;
-
-QT_END_NAMESPACE
-
-#endif
-
-#endif // QVIRTUALKEYBOARD_STATICPLUGIN_P_H
diff --git a/src/virtualkeyboard/qvirtualkeyboardabstractinputmethod.cpp b/src/virtualkeyboard/qvirtualkeyboardabstractinputmethod.cpp
index 4ff99785..e3e6c4e6 100644
--- a/src/virtualkeyboard/qvirtualkeyboardabstractinputmethod.cpp
+++ b/src/virtualkeyboard/qvirtualkeyboardabstractinputmethod.cpp
@@ -1,59 +1,16 @@
-/****************************************************************************
-**
-** Copyright (C) 2016 The Qt Company Ltd.
-** Contact: https://www.qt.io/licensing/
-**
-** This file is part of the Qt Virtual Keyboard module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:GPL$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see https://www.qt.io/terms-conditions. For further
-** information use the contact form at https://www.qt.io/contact-us.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 3 or (at your option) any later version
-** approved by the KDE Free Qt Foundation. The licenses are as published by
-** the Free Software Foundation and appearing in the file LICENSE.GPL3
-** included in the packaging of this file. Please review the following
-** information to ensure the GNU General Public License requirements will
-** be met: https://www.gnu.org/licenses/gpl-3.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
+// Copyright (C) 2016 The Qt Company Ltd.
+// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GPL-3.0-only
#include <QtVirtualKeyboard/qvirtualkeyboardabstractinputmethod.h>
-#include <QtCore/private/qobject_p.h>
+#include <QtVirtualKeyboard/private/qvirtualkeyboardabstractinputmethod_p.h>
QT_BEGIN_NAMESPACE
-class QVirtualKeyboardAbstractInputMethodPrivate : public QObjectPrivate
-{
-public:
- QVirtualKeyboardAbstractInputMethodPrivate();
-
- QVirtualKeyboardInputEngine *inputEngine;
-};
-
-/*!
- \class AbstractInputMethodPrivate
- \internal
-*/
-
-QVirtualKeyboardAbstractInputMethodPrivate::QVirtualKeyboardAbstractInputMethodPrivate() :
- inputEngine(nullptr)
-{
-}
-
/*!
\class QVirtualKeyboardAbstractInputMethod
\inmodule QtVirtualKeyboard
+ \ingroup qtvirtualkeyboard-cpp-for-devs
\brief The base class for input methods.
@@ -61,9 +18,15 @@ QVirtualKeyboardAbstractInputMethodPrivate::QVirtualKeyboardAbstractInputMethodP
method using C/C++ language.
*/
+QVirtualKeyboardAbstractInputMethod::QVirtualKeyboardAbstractInputMethod(QVirtualKeyboardAbstractInputMethodPrivate &dd, QObject *parent) :
+ QObject(dd, parent)
+{
+}
+
/*!
Constructs an input method with \a parent.
*/
+
QVirtualKeyboardAbstractInputMethod::QVirtualKeyboardAbstractInputMethod(QObject *parent) :
QObject(*new QVirtualKeyboardAbstractInputMethodPrivate(), parent)
{
@@ -116,6 +79,25 @@ void QVirtualKeyboardAbstractInputMethod::update()
}
/*!
+ Clears input mode.
+
+ This method is called by the virtual keyboard when this input method is being replaced
+ by another input method. It should clear the operations performed by setInputMode() method,
+ for example, to disconnect signal handlers from the virtual keyboard or free up resources.
+
+ The input mode may be reactivated by calling setInputMode(). However, note that the calls to
+ setInputMethod() and clearInputMethod() are not in balance. Thus, for example, setInputMethod()
+ may be called multiple times without matching calls to clearInputMethod().
+
+ The default implementation does nothing.
+
+ \since QtQuick.VirtualKeyboard 6.1
+*/
+void QVirtualKeyboardAbstractInputMethod::clearInputMode()
+{
+}
+
+/*!
\internal
Called by the input engine when the input method is activated and
deactivated.
diff --git a/src/virtualkeyboard/qvirtualkeyboardabstractinputmethod.h b/src/virtualkeyboard/qvirtualkeyboardabstractinputmethod.h
index b3fc0f04..92a9c633 100644
--- a/src/virtualkeyboard/qvirtualkeyboardabstractinputmethod.h
+++ b/src/virtualkeyboard/qvirtualkeyboardabstractinputmethod.h
@@ -1,35 +1,10 @@
-/****************************************************************************
-**
-** Copyright (C) 2016 The Qt Company Ltd.
-** Contact: https://www.qt.io/licensing/
-**
-** This file is part of the Qt Virtual Keyboard module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:GPL$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see https://www.qt.io/terms-conditions. For further
-** information use the contact form at https://www.qt.io/contact-us.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 3 or (at your option) any later version
-** approved by the KDE Free Qt Foundation. The licenses are as published by
-** the Free Software Foundation and appearing in the file LICENSE.GPL3
-** included in the packaging of this file. Please review the following
-** information to ensure the GNU General Public License requirements will
-** be met: https://www.gnu.org/licenses/gpl-3.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
+// Copyright (C) 2016 The Qt Company Ltd.
+// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GPL-3.0-only
#ifndef QVIRTUALKEYBOARDABSTRACTINPUTMETHOD_H
#define QVIRTUALKEYBOARDABSTRACTINPUTMETHOD_H
+#include <QtQml/qqml.h>
#include <QtVirtualKeyboard/qvirtualkeyboardinputengine.h>
#include <QtVirtualKeyboard/qvirtualkeyboardselectionlistmodel.h>
@@ -37,10 +12,16 @@ QT_BEGIN_NAMESPACE
class QVirtualKeyboardAbstractInputMethodPrivate;
-class QVIRTUALKEYBOARD_EXPORT QVirtualKeyboardAbstractInputMethod : public QObject
+class Q_VIRTUALKEYBOARD_EXPORT QVirtualKeyboardAbstractInputMethod : public QObject
{
Q_OBJECT
Q_DECLARE_PRIVATE(QVirtualKeyboardAbstractInputMethod)
+ QML_ANONYMOUS
+ QML_ADDED_IN_VERSION(1, 0)
+ QML_EXTRA_VERSION(2, 0)
+
+protected:
+ QVirtualKeyboardAbstractInputMethod(QVirtualKeyboardAbstractInputMethodPrivate &dd, QObject *parent = nullptr);
public:
explicit QVirtualKeyboardAbstractInputMethod(QObject *parent = nullptr);
@@ -78,6 +59,7 @@ Q_SIGNALS:
public Q_SLOTS:
virtual void reset();
virtual void update();
+ Q_REVISION(6, 1) virtual void clearInputMode();
private:
void setInputEngine(QVirtualKeyboardInputEngine *inputEngine);
diff --git a/src/virtualkeyboard/qvirtualkeyboardabstractinputmethod_p.cpp b/src/virtualkeyboard/qvirtualkeyboardabstractinputmethod_p.cpp
new file mode 100644
index 00000000..57acf104
--- /dev/null
+++ b/src/virtualkeyboard/qvirtualkeyboardabstractinputmethod_p.cpp
@@ -0,0 +1,19 @@
+// Copyright (C) 2021 The Qt Company Ltd.
+// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GPL-3.0-only
+
+#include <QtVirtualKeyboard/private/qvirtualkeyboardabstractinputmethod_p.h>
+
+QT_BEGIN_NAMESPACE
+
+/*!
+ \class QVirtualKeyboardAbstractInputMethodPrivate
+ \internal
+*/
+
+QVirtualKeyboardAbstractInputMethodPrivate::QVirtualKeyboardAbstractInputMethodPrivate() :
+ QObjectPrivate(),
+ inputEngine(nullptr)
+{
+}
+
+QT_END_NAMESPACE
diff --git a/src/virtualkeyboard/qvirtualkeyboardabstractinputmethod_p.h b/src/virtualkeyboard/qvirtualkeyboardabstractinputmethod_p.h
new file mode 100644
index 00000000..d29f37e2
--- /dev/null
+++ b/src/virtualkeyboard/qvirtualkeyboardabstractinputmethod_p.h
@@ -0,0 +1,35 @@
+// Copyright (C) 2021 The Qt Company Ltd.
+// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GPL-3.0-only
+
+#ifndef QVIRTUALKEYBOARDABSTRACTINPUTMETHOD_P_H
+#define QVIRTUALKEYBOARDABSTRACTINPUTMETHOD_P_H
+
+//
+// W A R N I N G
+// -------------
+//
+// This file is not part of the Qt API. It exists purely as an
+// implementation detail. This header file may change from version to
+// version without notice, or even be removed.
+//
+// We mean it.
+//
+
+#include <QtVirtualKeyboard/qvirtualkeyboard_global.h>
+#include <QtCore/private/qobject_p.h>
+
+QT_BEGIN_NAMESPACE
+
+class QVirtualKeyboardInputEngine;
+
+class Q_VIRTUALKEYBOARD_EXPORT QVirtualKeyboardAbstractInputMethodPrivate : public QObjectPrivate
+{
+public:
+ QVirtualKeyboardAbstractInputMethodPrivate();
+
+ QVirtualKeyboardInputEngine *inputEngine;
+};
+
+QT_END_NAMESPACE
+
+#endif // QVIRTUALKEYBOARDABSTRACTINPUTMETHOD_P_H
diff --git a/src/virtualkeyboard/qvirtualkeyboarddictionary.cpp b/src/virtualkeyboard/qvirtualkeyboarddictionary.cpp
new file mode 100644
index 00000000..417c81f7
--- /dev/null
+++ b/src/virtualkeyboard/qvirtualkeyboarddictionary.cpp
@@ -0,0 +1,70 @@
+// Copyright (C) 2021 The Qt Company Ltd.
+// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GPL-3.0-only
+
+#include <QtVirtualKeyboard/qvirtualkeyboarddictionary.h>
+
+/*!
+ \class QVirtualKeyboardDictionary
+
+ \inmodule QtVirtualKeyboard
+ \ingroup qtvirtualkeyboard-cpp-for-apps
+
+ \brief An application-defined dictionary for virtual keyboard input methods.
+
+ This class defines a named dictionary that consists of words or phrases. The
+ dictionary can be enabled in the desired context and its usage depends on
+ the current input method of the virtual keyboard.
+*/
+
+QVirtualKeyboardDictionary::QVirtualKeyboardDictionary(const QString &name, QObject *parent) :
+ QObject(parent),
+ _name(name)
+{
+
+}
+
+QString QVirtualKeyboardDictionary::name() const
+{
+ return _name;
+}
+
+QStringList QVirtualKeyboardDictionary::contents() const
+{
+ return _wordList;
+}
+
+void QVirtualKeyboardDictionary::setContents(const QStringList &wordList)
+{
+ if (_wordList != wordList) {
+ _wordList = wordList;
+ emit contentsChanged();
+ }
+}
+
+/*!
+ \property QVirtualKeyboardDictionary::name
+ \brief name of the dictionary.
+
+ This property holds the name of the dictionary that was specified when
+ the dictionary was created. The name is necessary when referring to a
+ specific dictionary (for example when you activate it in the input context).
+
+ \note The dictionary name cannot be changed later.
+*/
+
+/*!
+ \property QVirtualKeyboardDictionary::contents
+ \brief contents of the dictionary.
+
+ This property holds the contents of the dictionary. Typically, the content
+ consists of words or phrases. Note that the dictionary is language neutral,
+ meaning it is the application's responsibility to localize the dictionary if
+ it contains language-dependent data.
+
+ The content can be set at any time, although it makes sense to set it when
+ the input method is not active.
+*/
+
+QT_BEGIN_NAMESPACE
+
+QT_END_NAMESPACE
diff --git a/src/virtualkeyboard/qvirtualkeyboarddictionary.h b/src/virtualkeyboard/qvirtualkeyboarddictionary.h
new file mode 100644
index 00000000..a85cc636
--- /dev/null
+++ b/src/virtualkeyboard/qvirtualkeyboarddictionary.h
@@ -0,0 +1,39 @@
+// Copyright (C) 2021 The Qt Company Ltd.
+// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GPL-3.0-only
+
+#ifndef QVIRTUALKEYBOARDDICTIONARY_H
+#define QVIRTUALKEYBOARDDICTIONARY_H
+
+#include <QtVirtualKeyboard/qvirtualkeyboard_global.h>
+#include <QtCore/QStringList>
+#include <QtCore/QObject>
+
+QT_BEGIN_NAMESPACE
+
+class Q_VIRTUALKEYBOARD_EXPORT QVirtualKeyboardDictionary : public QObject
+{
+ Q_OBJECT
+ Q_PROPERTY(QString name READ name CONSTANT)
+ Q_PROPERTY(QStringList contents READ contents WRITE setContents NOTIFY contentsChanged RESET resetContents)
+
+ explicit QVirtualKeyboardDictionary(const QString &name, QObject *parent = nullptr);
+ friend class QVirtualKeyboardDictionaryManager;
+
+public:
+ QString name() const;
+
+ QStringList contents() const;
+ void setContents(const QStringList &contents);
+ void resetContents() { setContents({}); }
+
+Q_SIGNALS:
+ void contentsChanged();
+
+private:
+ const QString _name;
+ QStringList _wordList;
+};
+
+QT_END_NAMESPACE
+
+#endif // QVIRTUALKEYBOARDDICTIONARY_H
diff --git a/src/virtualkeyboard/qvirtualkeyboarddictionarymanager.cpp b/src/virtualkeyboard/qvirtualkeyboarddictionarymanager.cpp
new file mode 100644
index 00000000..14b2bb10
--- /dev/null
+++ b/src/virtualkeyboard/qvirtualkeyboarddictionarymanager.cpp
@@ -0,0 +1,214 @@
+// Copyright (C) 2021 The Qt Company Ltd.
+// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GPL-3.0-only
+
+#include <QtVirtualKeyboard/qvirtualkeyboarddictionarymanager.h>
+#include <QtVirtualKeyboard/qvirtualkeyboarddictionary.h>
+#include <QtGlobal>
+#include <QSet>
+
+#include <QtCore/private/qobject_p.h>
+
+QT_BEGIN_NAMESPACE
+
+class QVirtualKeyboardDictionaryManagerPrivate : public QObjectPrivate
+{
+ Q_DECLARE_PUBLIC(QVirtualKeyboardDictionaryManager)
+public:
+ QVirtualKeyboardDictionaryManagerPrivate(QVirtualKeyboardDictionaryManager *q)
+ {
+ q_ptr = q;
+ }
+
+ void updateActiveDictionaries()
+ {
+ Q_Q(QVirtualKeyboardDictionaryManager);
+ QSet<QString> newActiveDictionaries(baseDictionaries);
+ newActiveDictionaries.unite(extraDictionaries);
+ if (activeDictionaries != newActiveDictionaries) {
+ activeDictionaries = newActiveDictionaries;
+ emit q->activeDictionariesChanged();
+ }
+ }
+
+ QSet<QString> baseDictionaries;
+ QSet<QString> extraDictionaries;
+ QSet<QString> activeDictionaries;
+ QMap<QString, QVirtualKeyboardDictionary *> dictionaries;
+};
+
+struct QVirtualKeyboardDictionaryManagerSingleton {
+ QVirtualKeyboardDictionaryManager instance;
+};
+
+Q_GLOBAL_STATIC(QVirtualKeyboardDictionaryManagerSingleton, singleton)
+
+/*!
+ \class QVirtualKeyboardDictionaryManager
+
+ \inmodule QtVirtualKeyboard
+ \ingroup qtvirtualkeyboard-cpp-for-apps
+
+ \brief Dictionary management for application-defined dictionaries.
+
+ This class allows you to manage dictionaries for virtual keyboard input
+ methods. Dictionaries are application-defined and can be activated in the
+ desired context.
+
+ \note Dictionaries do not refer to the built-in dictionaries of the input
+ method, but to the application's own dictionaries (for example, a phonebook
+ application).
+
+ The following operations are supported by the dictionary manager:
+ \list
+ \li Create dictionaries using the \c createDictionary() function.
+ \li Add or modify content of the dictionary instance.
+ \li Activate dictionaries by adding them to the list of
+ \l {baseDictionaries}{base dictionaries} or
+ \l {extraDictionaries}{extra dictionaries}.
+ \endlist
+
+ To activate dictionaries from QML, use the \l VirtualKeyboard attached
+ type.
+*/
+
+QVirtualKeyboardDictionaryManager::QVirtualKeyboardDictionaryManager(QObject *parent) :
+ QObject(*new QVirtualKeyboardDictionaryManagerPrivate(this), parent)
+{
+ Q_D(QVirtualKeyboardDictionaryManager);
+ connect(this, &QVirtualKeyboardDictionaryManager::baseDictionariesChanged, this,
+ [d]() { d->updateActiveDictionaries(); });
+ connect(this, &QVirtualKeyboardDictionaryManager::extraDictionariesChanged, this,
+ [d]() { d->updateActiveDictionaries(); });
+}
+
+/*!
+ Returns the singleton instance of the QVirtualKeyboardDictionaryManager.
+
+ All the functionalities must be called from the main thread.
+ */
+
+QVirtualKeyboardDictionaryManager *QVirtualKeyboardDictionaryManager::instance()
+{
+ return &singleton->instance;
+}
+
+QStringList QVirtualKeyboardDictionaryManager::availableDictionaries() const
+{
+ Q_D(const QVirtualKeyboardDictionaryManager);
+ return d->dictionaries.keys();
+}
+
+QStringList QVirtualKeyboardDictionaryManager::baseDictionaries() const
+{
+ Q_D(const QVirtualKeyboardDictionaryManager);
+ return d->baseDictionaries.values();
+}
+
+void QVirtualKeyboardDictionaryManager::setBaseDictionaries(const QStringList &baseDictionaries)
+{
+ Q_D(QVirtualKeyboardDictionaryManager);
+ QSet<QString> newBaseDictionaries(baseDictionaries.begin(), baseDictionaries.end());
+ const QStringList availableDict = availableDictionaries();
+ newBaseDictionaries.intersect(QSet<QString>(availableDict.begin(), availableDict.end()));
+ if (d->baseDictionaries != newBaseDictionaries) {
+ d->baseDictionaries = newBaseDictionaries;
+ emit baseDictionariesChanged();
+ }
+}
+
+QStringList QVirtualKeyboardDictionaryManager::extraDictionaries() const
+{
+ Q_D(const QVirtualKeyboardDictionaryManager);
+ return d->extraDictionaries.values();
+}
+
+void QVirtualKeyboardDictionaryManager::setExtraDictionaries(const QStringList &extraDictionaries)
+{
+ Q_D(QVirtualKeyboardDictionaryManager);
+ QSet<QString> newExtraDictionaries(extraDictionaries.begin(), extraDictionaries.end());
+ const QStringList availableDict = availableDictionaries();
+ newExtraDictionaries.intersect(QSet<QString>(availableDict.begin(), availableDict.end()));
+ if (d->extraDictionaries != newExtraDictionaries) {
+ d->extraDictionaries = newExtraDictionaries;
+ emit extraDictionariesChanged();
+ }
+}
+
+QStringList QVirtualKeyboardDictionaryManager::activeDictionaries() const
+{
+ Q_D(const QVirtualKeyboardDictionaryManager);
+ return d->activeDictionaries.values();
+}
+
+/*!
+ Create a dictionary with the given \a name or return the dictionary if it
+ already exists.
+
+ The dictionary instance is owned by the dictionary manager and must not be
+ destroyed manually. To free memory allocated for the dictionary, the
+ application may reset the \l{QVirtualKeyboardDictionary::contents}{contents}
+ of the dictionary.
+
+ \sa dictionary()
+ */
+
+QVirtualKeyboardDictionary *QVirtualKeyboardDictionaryManager::createDictionary(const QString &name)
+{
+ Q_D(QVirtualKeyboardDictionaryManager);
+
+ QVirtualKeyboardDictionary *dictionary = d->dictionaries.value(name);
+ if (!dictionary) {
+ dictionary = new QVirtualKeyboardDictionary(name, this);
+ d->dictionaries[name] = dictionary;
+ emit availableDictionariesChanged();
+ }
+
+ return dictionary;
+}
+
+/*!
+ Returns an existing dictionary with the given \a name if it exists, otherwise returns
+ \nullptr.
+
+ \sa createDictionary()
+ */
+
+QVirtualKeyboardDictionary *QVirtualKeyboardDictionaryManager::dictionary(const QString &name) const
+{
+ Q_D(const QVirtualKeyboardDictionaryManager);
+
+ return d->dictionaries.value(name);
+}
+
+/*!
+ \property QVirtualKeyboardDictionaryManager::availableDictionaries
+ \brief the list of all dictionaries.
+
+ This property holds the names of all existing dictionaries.
+*/
+
+/*!
+ \property QVirtualKeyboardDictionaryManager::baseDictionaries
+ \brief the list of currently active base dictionaries.
+
+ This property holds the names of base dictionaries. The application manages
+ this property.
+*/
+
+/*!
+ \property QVirtualKeyboardDictionaryManager::extraDictionaries
+ \brief the list of currently active extra dictionaries.
+
+ This property holds the names of extra dictionaries. The application manages
+ this property.
+*/
+
+/*!
+ \property QVirtualKeyboardDictionaryManager::activeDictionaries
+ \brief the list of currently active dictionaries.
+
+ This property holds the list of active dictionaries, which is a combination
+ of unique names included in baseDictionaries and extraDictionaries.
+*/
+
+QT_END_NAMESPACE
diff --git a/src/virtualkeyboard/qvirtualkeyboarddictionarymanager.h b/src/virtualkeyboard/qvirtualkeyboarddictionarymanager.h
new file mode 100644
index 00000000..fe549fc0
--- /dev/null
+++ b/src/virtualkeyboard/qvirtualkeyboarddictionarymanager.h
@@ -0,0 +1,54 @@
+// Copyright (C) 2021 The Qt Company Ltd.
+// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GPL-3.0-only
+
+#ifndef QVIRTUALKEYBOARDDICTIONARYMANAGER_H
+#define QVIRTUALKEYBOARDDICTIONARYMANAGER_H
+
+#include <QtVirtualKeyboard/qvirtualkeyboard_global.h>
+#include <QtCore/QStringList>
+#include <QtCore/QObject>
+
+QT_BEGIN_NAMESPACE
+
+class QVirtualKeyboardDictionary;
+class QVirtualKeyboardDictionaryManagerPrivate;
+
+class Q_VIRTUALKEYBOARD_EXPORT QVirtualKeyboardDictionaryManager : public QObject
+{
+ Q_OBJECT
+ Q_DISABLE_COPY(QVirtualKeyboardDictionaryManager)
+ Q_DECLARE_PRIVATE(QVirtualKeyboardDictionaryManager)
+ Q_PROPERTY(QStringList availableDictionaries READ availableDictionaries NOTIFY availableDictionariesChanged)
+ Q_PROPERTY(QStringList baseDictionaries READ baseDictionaries WRITE setBaseDictionaries NOTIFY baseDictionariesChanged)
+ Q_PROPERTY(QStringList extraDictionaries READ extraDictionaries WRITE setExtraDictionaries NOTIFY extraDictionariesChanged)
+ Q_PROPERTY(QStringList activeDictionaries READ activeDictionaries NOTIFY activeDictionariesChanged)
+
+ explicit QVirtualKeyboardDictionaryManager(QObject *parent = nullptr);
+ friend struct QVirtualKeyboardDictionaryManagerSingleton;
+
+public:
+ static QVirtualKeyboardDictionaryManager *instance();
+
+ QStringList availableDictionaries() const;
+
+ QStringList baseDictionaries() const;
+ void setBaseDictionaries(const QStringList &baseDictionaries);
+
+ QStringList extraDictionaries() const;
+ void setExtraDictionaries(const QStringList &extraDictionaries);
+
+ QStringList activeDictionaries() const;
+
+ QVirtualKeyboardDictionary *createDictionary(const QString &name);
+ QVirtualKeyboardDictionary *dictionary(const QString &name) const;
+
+Q_SIGNALS:
+ void availableDictionariesChanged();
+ void baseDictionariesChanged();
+ void extraDictionariesChanged();
+ void activeDictionariesChanged();
+};
+
+QT_END_NAMESPACE
+
+#endif // QVIRTUALKEYBOARDDICTIONARYMANAGER_H
diff --git a/src/virtualkeyboard/qvirtualkeyboardextensionplugin.cpp b/src/virtualkeyboard/qvirtualkeyboardextensionplugin.cpp
deleted file mode 100644
index 78bf82a1..00000000
--- a/src/virtualkeyboard/qvirtualkeyboardextensionplugin.cpp
+++ /dev/null
@@ -1,68 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2018 The Qt Company Ltd.
-** Contact: https://www.qt.io/licensing/
-**
-** This file is part of the Qt Virtual Keyboard module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:GPL$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see https://www.qt.io/terms-conditions. For further
-** information use the contact form at https://www.qt.io/contact-us.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 3 or (at your option) any later version
-** approved by the KDE Free Qt Foundation. The licenses are as published by
-** the Free Software Foundation and appearing in the file LICENSE.GPL3
-** included in the packaging of this file. Please review the following
-** information to ensure the GNU General Public License requirements will
-** be met: https://www.gnu.org/licenses/gpl-3.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#include <QVirtualKeyboardExtensionPlugin>
-
-QT_BEGIN_NAMESPACE
-
-/*!
- \class QVirtualKeyboardExtensionPlugin
- \inmodule QtVirtualKeyboard
- \brief Extension plugin for the Qt Virtual Keyboard.
-
- Extension plugin allows customizing and extending the Qt Virtual Keyboard
- functionality. Extension plugin can provide additional keyboard layouts and
- input methods.
-
- Virtual keyboard loads all the extension plugins at startup. It searches for
- \c plugins/virtualkeyboard directory and matches the metadata found in the
- plugin. If there are two or more extension plugins with the same \c Name, it
- loads the one with the highest \c Version number.
-
- \sa {Virtual Keyboard Extension Plugin}
-*/
-
-QVirtualKeyboardExtensionPlugin::~QVirtualKeyboardExtensionPlugin()
-{
-}
-
-/*!
- If the plugin metadata contains \c InputMethod field defining an input method
- name, Qt Virtual Keyboard will call registerTypes() for registering the input
- method as QML type. The type must be registered with a \a uri if the input method
- is used by the default keyboard layouts. If the input method type is only used in
- private layouts (known only by the plugin), the uri can be omitted and chosen
- freely.
-*/
-void QVirtualKeyboardExtensionPlugin::registerTypes(const char *uri) const
-{
- Q_UNUSED(uri);
-}
-
-QT_END_NAMESPACE
diff --git a/src/virtualkeyboard/qvirtualkeyboardextensionplugin.h b/src/virtualkeyboard/qvirtualkeyboardextensionplugin.h
deleted file mode 100644
index 40e2192f..00000000
--- a/src/virtualkeyboard/qvirtualkeyboardextensionplugin.h
+++ /dev/null
@@ -1,54 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2018 The Qt Company Ltd.
-** Contact: https://www.qt.io/licensing/
-**
-** This file is part of the Qt Virtual Keyboard module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:GPL$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see https://www.qt.io/terms-conditions. For further
-** information use the contact form at https://www.qt.io/contact-us.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 3 or (at your option) any later version
-** approved by the KDE Free Qt Foundation. The licenses are as published by
-** the Free Software Foundation and appearing in the file LICENSE.GPL3
-** included in the packaging of this file. Please review the following
-** information to ensure the GNU General Public License requirements will
-** be met: https://www.gnu.org/licenses/gpl-3.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#ifndef QVIRTUALKEYBOARDEXTENSIONPLUGIN_H
-#define QVIRTUALKEYBOARDEXTENSIONPLUGIN_H
-
-#include <QtVirtualKeyboard/qvirtualkeyboard_global.h>
-#include <QtCore/QtPlugin>
-
-QT_BEGIN_NAMESPACE
-
-#define QVirtualKeyboardExtensionPluginFactoryInterface_iid "org.qt-project.qt.virtualkeyboard.plugin/5.12"
-
-class QVIRTUALKEYBOARD_EXPORT QVirtualKeyboardExtensionPlugin : public QObject
-{
- Q_OBJECT
-public:
- virtual ~QVirtualKeyboardExtensionPlugin();
-
- virtual void registerTypes(const char *uri) const;
-};
-
-Q_DECLARE_INTERFACE(QVirtualKeyboardExtensionPlugin,
- QVirtualKeyboardExtensionPluginFactoryInterface_iid)
-
-QT_END_NAMESPACE
-
-#endif
diff --git a/src/virtualkeyboard/qvirtualkeyboardfeatures_namespace_p.h b/src/virtualkeyboard/qvirtualkeyboardfeatures_namespace_p.h
new file mode 100644
index 00000000..19791285
--- /dev/null
+++ b/src/virtualkeyboard/qvirtualkeyboardfeatures_namespace_p.h
@@ -0,0 +1,46 @@
+// Copyright (C) 2022 The Qt Company Ltd.
+// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GPL-3.0-only
+
+#ifndef QVIRTUALKEYBOARDFEATURES_NAMESPACE_P_H
+#define QVIRTUALKEYBOARDFEATURES_NAMESPACE_P_H
+
+//
+// W A R N I N G
+// -------------
+//
+// This file is not part of the Qt API. It exists purely as an
+// implementation detail. This header file may change from version to
+// version without notice, or even be removed.
+//
+// We mean it.
+//
+
+#include <QMetaEnum>
+#include <QtQml/qqml.h>
+#include <QtVirtualKeyboard/qtvirtualkeyboardexports.h>
+#include <QtVirtualKeyboard/private/qtvirtualkeyboard-config_p.h>
+
+QT_BEGIN_NAMESPACE
+
+namespace QVirtualKeyboardFeatures {
+
+Q_VIRTUALKEYBOARD_EXPORT Q_NAMESPACE
+QML_NAMED_ELEMENT(VirtualKeyboardFeatures)
+QML_ADDED_IN_VERSION(6, 4)
+
+enum Feature {
+ Handwriting =
+#if QT_CONFIG(cerence_hwr) || QT_CONFIG(myscript) || QT_CONFIG(example_hwr)
+ 1
+#else
+ 0
+#endif
+ // possibly extend for other things you may want to detect in the future
+};
+Q_ENUM_NS(Feature)
+
+} // namespace QVirtualKeyboardFeatures
+
+QT_END_NAMESPACE
+
+#endif // QVIRTUALKEYBOARDFEATURES_NAMESPACE_P_H
diff --git a/src/virtualkeyboard/qvirtualkeyboardinputcontext.cpp b/src/virtualkeyboard/qvirtualkeyboardinputcontext.cpp
index fb65b29e..1da578d3 100644
--- a/src/virtualkeyboard/qvirtualkeyboardinputcontext.cpp
+++ b/src/virtualkeyboard/qvirtualkeyboardinputcontext.cpp
@@ -1,40 +1,16 @@
-/****************************************************************************
-**
-** Copyright (C) 2016 The Qt Company Ltd.
-** Contact: https://www.qt.io/licensing/
-**
-** This file is part of the Qt Virtual Keyboard module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:GPL$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see https://www.qt.io/terms-conditions. For further
-** information use the contact form at https://www.qt.io/contact-us.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 3 or (at your option) any later version
-** approved by the KDE Free Qt Foundation. The licenses are as published by
-** the Free Software Foundation and appearing in the file LICENSE.GPL3
-** included in the packaging of this file. Please review the following
-** information to ensure the GNU General Public License requirements will
-** be met: https://www.gnu.org/licenses/gpl-3.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
+// Copyright (C) 2016 The Qt Company Ltd.
+// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GPL-3.0-only
#include <QtVirtualKeyboard/qvirtualkeyboardinputcontext.h>
#include <QtVirtualKeyboard/private/qvirtualkeyboardinputcontext_p.h>
#include <QtVirtualKeyboard/private/shifthandler_p.h>
#include <QtVirtualKeyboard/private/platforminputcontext_p.h>
#include <QtVirtualKeyboard/private/virtualkeyboarddebug_p.h>
+#include <QtVirtualKeyboard/qvirtualkeyboardobserver.h>
#include <QTextFormat>
#include <QGuiApplication>
+#include <QtGui/private/qhighdpiscaling_p.h>
QT_BEGIN_NAMESPACE
using namespace QtVirtualKeyboard;
@@ -43,7 +19,7 @@ using namespace QtVirtualKeyboard;
\qmltype InputContext
\instantiates QVirtualKeyboardInputContext
\inqmlmodule QtQuick.VirtualKeyboard
- \ingroup qtvirtualkeyboard-qml
+ \ingroup qtvirtualkeyboard-internal-qml
\brief Provides access to an input context.
The InputContext can be accessed as singleton instance.
@@ -52,6 +28,7 @@ using namespace QtVirtualKeyboard;
/*!
\class QVirtualKeyboardInputContext
\inmodule QtVirtualKeyboard
+ \ingroup qtvirtualkeyboard-cpp-for-devs
\brief Provides access to an input context.
*/
@@ -131,7 +108,7 @@ void QVirtualKeyboardInputContext::setPreeditText(const QString &text, QList<QIn
if (!d->testAttribute(attributes, QInputMethodEvent::TextFormat)) {
QTextCharFormat textFormat;
textFormat.setUnderlineStyle(QTextCharFormat::SingleUnderline);
- attributes.append(QInputMethodEvent::Attribute(QInputMethodEvent::TextFormat, 0, text.length(), textFormat));
+ attributes.append(QInputMethodEvent::Attribute(QInputMethodEvent::TextFormat, 0, text.size(), textFormat));
}
} else if (d->_forceCursorPosition != -1) {
d->addSelectionAttribute(attributes);
@@ -208,7 +185,7 @@ QVirtualKeyboardInputEngine *QVirtualKeyboardInputContext::inputEngine() const
/*!
\qmlmethod void InputContext::sendKeyClick(int key, string text, int modifiers = 0)
- Sends a key click event with the given \a key, \a text and \e modifiers to
+ Sends a key click event with the given \a key, \a text and \a modifiers to
the input item that currently has focus.
*/
/*!
@@ -231,6 +208,10 @@ void QVirtualKeyboardInputContext::sendKeyClick(int key, const QString &text, in
d->setState(QVirtualKeyboardInputContextPrivate::State::KeyEvent);
d->platformInputContext->sendKeyEvent(&pressEvent);
d->platformInputContext->sendKeyEvent(&releaseEvent);
+
+ if (key == Qt::Key_Return || key == Qt::Key_Enter)
+ d->maybeCloseOnReturn();
+
if (d->activeKeys.isEmpty())
d->clearState(QVirtualKeyboardInputContextPrivate::State::KeyEvent);
} else {
@@ -336,7 +317,11 @@ void QVirtualKeyboardInputContext::clear()
*/
void QVirtualKeyboardInputContext::setSelectionOnFocusObject(const QPointF &anchorPos, const QPointF &cursorPos)
{
- QPlatformInputContext::setSelectionOnFocusObject(anchorPos, cursorPos);
+ QWindow *window = qApp->focusWindow();
+ const QPointF &nativeAnchorPos = QHighDpi::toNativePixels(anchorPos, window);
+ const QPointF &nativeCursorPos = QHighDpi::toNativePixels(cursorPos, window);
+
+ QPlatformInputContext::setSelectionOnFocusObject(nativeAnchorPos, nativeCursorPos);
}
/*!
@@ -406,6 +391,25 @@ QVirtualKeyboardInputContextPrivate *QVirtualKeyboardInputContext::priv() const
}
/*!
+ \property QVirtualKeyboardInputContext::keyboardObserver
+ \since QtQuick.VirtualKeyboard 6.1
+ \brief Holds the keyboard observer object, which can be used to receive
+ notifications of keyboard change events.
+*/
+/*!
+ \qmlproperty KeyboardObserver InputContext::keyboardObserver
+ \readonly
+ \since QtQuick.VirtualKeyboard 6.1
+ \brief Holds the keyboard observer object, which can be used to receive
+ notifications of keyboard change events.
+*/
+QVirtualKeyboardObserver *QVirtualKeyboardInputContext::keyboardObserver() const
+{
+ Q_D(const QVirtualKeyboardInputContext);
+ return d->keyboardObserver;
+}
+
+/*!
\qmlproperty bool InputContext::shift
\deprecated
diff --git a/src/virtualkeyboard/qvirtualkeyboardinputcontext.h b/src/virtualkeyboard/qvirtualkeyboardinputcontext.h
index e511bbfb..1bd81d58 100644
--- a/src/virtualkeyboard/qvirtualkeyboardinputcontext.h
+++ b/src/virtualkeyboard/qvirtualkeyboardinputcontext.h
@@ -1,40 +1,15 @@
-/****************************************************************************
-**
-** Copyright (C) 2016 The Qt Company Ltd.
-** Contact: https://www.qt.io/licensing/
-**
-** This file is part of the Qt Virtual Keyboard module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:GPL$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see https://www.qt.io/terms-conditions. For further
-** information use the contact form at https://www.qt.io/contact-us.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 3 or (at your option) any later version
-** approved by the KDE Free Qt Foundation. The licenses are as published by
-** the Free Software Foundation and appearing in the file LICENSE.GPL3
-** included in the packaging of this file. Please review the following
-** information to ensure the GNU General Public License requirements will
-** be met: https://www.gnu.org/licenses/gpl-3.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
+// Copyright (C) 2016 The Qt Company Ltd.
+// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GPL-3.0-only
#ifndef QVIRTUALKEYBOARDINPUTCONTEXT_H
#define QVIRTUALKEYBOARDINPUTCONTEXT_H
-#include <QObject>
-#include <QRectF>
-#include <QLocale>
-#include <QInputMethodEvent>
-#include <QInputMethod>
+#include <QtCore/QObject>
+#include <QtCore/QRectF>
+#include <QtCore/QLocale>
+#include <QtGui/QInputMethodEvent>
+#include <QtGui/QInputMethod>
+#include <QtQml/qqml.h>
#include <QtVirtualKeyboard/qvirtualkeyboard_global.h>
QT_BEGIN_NAMESPACE
@@ -44,16 +19,17 @@ class PlatformInputContext;
}
class QVirtualKeyboardInputEngine;
class QVirtualKeyboardInputContextPrivate;
+class QVirtualKeyboardObserver;
-class QVIRTUALKEYBOARD_EXPORT QVirtualKeyboardInputContext : public QObject
+class Q_VIRTUALKEYBOARD_EXPORT QVirtualKeyboardInputContext : public QObject
{
Q_OBJECT
Q_DISABLE_COPY(QVirtualKeyboardInputContext)
Q_DECLARE_PRIVATE(QVirtualKeyboardInputContext)
Q_PROPERTY(bool shift READ isShiftActive NOTIFY shiftActiveChanged)
- Q_PROPERTY(bool shiftActive READ isShiftActive NOTIFY shiftActiveChanged REVISION 4)
+ Q_PROPERTY(bool shiftActive READ isShiftActive NOTIFY shiftActiveChanged REVISION(2, 4))
Q_PROPERTY(bool capsLock READ isCapsLockActive NOTIFY capsLockActiveChanged)
- Q_PROPERTY(bool capsLockActive READ isCapsLockActive NOTIFY capsLockActiveChanged REVISION 4)
+ Q_PROPERTY(bool capsLockActive READ isCapsLockActive NOTIFY capsLockActiveChanged REVISION(2, 4))
Q_PROPERTY(bool uppercase READ isUppercase NOTIFY uppercaseChanged)
Q_PROPERTY(int anchorPosition READ anchorPosition NOTIFY anchorPositionChanged)
Q_PROPERTY(int cursorPosition READ cursorPosition NOTIFY cursorPositionChanged)
@@ -70,10 +46,17 @@ class QVIRTUALKEYBOARD_EXPORT QVirtualKeyboardInputContext : public QObject
Q_PROPERTY(bool selectionControlVisible READ isSelectionControlVisible NOTIFY selectionControlVisibleChanged)
Q_PROPERTY(bool anchorRectIntersectsClipRect READ anchorRectIntersectsClipRect NOTIFY anchorRectIntersectsClipRectChanged)
Q_PROPERTY(bool cursorRectIntersectsClipRect READ cursorRectIntersectsClipRect NOTIFY cursorRectIntersectsClipRectChanged)
- Q_PROPERTY(QVirtualKeyboardInputContextPrivate *priv READ priv CONSTANT)
+ Q_PROPERTY(QVirtualKeyboardInputContextPrivate *priv READ priv CONSTANT REVISION(2, 0))
+ Q_PROPERTY(QVirtualKeyboardObserver *keyboardObserver READ keyboardObserver CONSTANT REVISION(6, 1))
Q_MOC_INCLUDE("qvirtualkeyboardinputengine.h")
Q_MOC_INCLUDE("qvirtualkeyboardinputcontext_p.h")
+ // The QML macros are unused for now, until we can move the QML_NAMED_ELEMENT back here.
+ // QML_SINGLETON generates some code that might or might not emit symbols on some platforms.
+ QML_SINGLETON
+ QML_ADDED_IN_VERSION(1, 0)
+ QML_EXTRA_VERSION(2, 0)
+
public:
explicit QVirtualKeyboardInputContext(QObject *parent = nullptr);
~QVirtualKeyboardInputContext();
@@ -100,6 +83,7 @@ public:
bool anchorRectIntersectsClipRect() const;
bool cursorRectIntersectsClipRect() const;
QVirtualKeyboardInputContextPrivate *priv() const;
+ QVirtualKeyboardObserver *keyboardObserver() const;
Q_INVOKABLE void sendKeyClick(int key, const QString &text, int modifiers = 0);
Q_INVOKABLE void commit();
diff --git a/src/virtualkeyboard/qvirtualkeyboardinputcontext_p.cpp b/src/virtualkeyboard/qvirtualkeyboardinputcontext_p.cpp
index 4365178f..3483a6cc 100644
--- a/src/virtualkeyboard/qvirtualkeyboardinputcontext_p.cpp
+++ b/src/virtualkeyboard/qvirtualkeyboardinputcontext_p.cpp
@@ -1,31 +1,5 @@
-/****************************************************************************
-**
-** Copyright (C) 2018 The Qt Company Ltd.
-** Contact: https://www.qt.io/licensing/
-**
-** This file is part of the Qt Virtual Keyboard module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:GPL$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see https://www.qt.io/terms-conditions. For further
-** information use the contact form at https://www.qt.io/contact-us.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 3 or (at your option) any later version
-** approved by the KDE Free Qt Foundation. The licenses are as published by
-** the Free Software Foundation and appearing in the file LICENSE.GPL3
-** included in the packaging of this file. Please review the following
-** information to ensure the GNU General Public License requirements will
-** be met: https://www.gnu.org/licenses/gpl-3.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
+// Copyright (C) 2018 The Qt Company Ltd.
+// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GPL-3.0-only
#include <QtVirtualKeyboard/private/qvirtualkeyboardinputcontext_p.h>
#include <QtVirtualKeyboard/private/platforminputcontext_p.h>
@@ -34,6 +8,10 @@
#include <QtVirtualKeyboard/private/virtualkeyboarddebug_p.h>
#include <QtVirtualKeyboard/private/enterkeyaction_p.h>
#include <QtVirtualKeyboard/qvirtualkeyboardinputengine.h>
+#include <QtVirtualKeyboard/qvirtualkeyboardobserver.h>
+#include <QtVirtualKeyboard/private/enterkeyactionattachedtype_p.h>
+#include <QtVirtualKeyboard/private/virtualkeyboardattachedtype_p.h>
+#include <QtVirtualKeyboard/qvirtualkeyboarddictionarymanager.h>
#include <QFile>
#include <QGuiApplication>
@@ -41,17 +19,10 @@
#include <QtQuick/qquickwindow.h>
#include <QtGui/qpa/qplatformintegration.h>
#include <QtGui/private/qguiapplication_p.h>
+#include <QQmlEngine>
QT_BEGIN_NAMESPACE
-bool operator==(const QInputMethodEvent::Attribute &attribute1, const QInputMethodEvent::Attribute &attribute2)
-{
- return attribute1.start == attribute2.start &&
- attribute1.length == attribute2.length &&
- attribute1.type == attribute2.type &&
- attribute1.value == attribute2.value;
-}
-
using namespace QtVirtualKeyboard;
const bool QtVirtualKeyboard::QT_VIRTUALKEYBOARD_FORCE_EVENTS_WITHOUT_FOCUS = qEnvironmentVariableIsSet("QT_VIRTUALKEYBOARD_FORCE_EVENTS_WITHOUT_FOCUS");
@@ -172,6 +143,8 @@ QString QVirtualKeyboardInputContextPrivate::locale() const
void QVirtualKeyboardInputContextPrivate::setLocale(const QString &locale)
{
VIRTUALKEYBOARD_DEBUG() << "QVirtualKeyboardInputContextPrivate::setLocale():" << locale;
+ if (!platformInputContext)
+ return;
QLocale newLocale(locale);
if (newLocale != platformInputContext->locale()) {
platformInputContext->setLocale(newLocale);
@@ -195,9 +168,12 @@ ShadowInputContext *QVirtualKeyboardInputContextPrivate::shadow() const
return const_cast<ShadowInputContext *>(&_shadow);
}
-QStringList QVirtualKeyboardInputContextPrivate::inputMethods() const
+void QVirtualKeyboardInputContextPrivate::setKeyboardObserver(QVirtualKeyboardObserver *keyboardObserver)
{
- return platformInputContext ? platformInputContext->inputMethods() : QStringList();
+ if (!this->keyboardObserver.isNull())
+ return;
+
+ this->keyboardObserver = keyboardObserver;
}
bool QVirtualKeyboardInputContextPrivate::fileExists(const QUrl &fileUrl)
@@ -221,8 +197,6 @@ void QVirtualKeyboardInputContextPrivate::registerInputPanel(QObject *inputPanel
VIRTUALKEYBOARD_DEBUG() << "QVirtualKeyboardInputContextPrivate::registerInputPanel():" << inputPanel;
Q_ASSERT(!this->inputPanel);
this->inputPanel = inputPanel;
- if (QQuickItem *item = qobject_cast<QQuickItem *>(inputPanel))
- item->setZ(std::numeric_limits<qreal>::max());
}
void QVirtualKeyboardInputContextPrivate::hideInputPanel()
@@ -253,7 +227,7 @@ void QVirtualKeyboardInputContextPrivate::forceCursorPosition(int anchorPosition
forceAnchorPosition = -1;
_forceCursorPosition = cursorPosition;
if (cursorPosition > this->cursorPosition)
- _forceCursorPosition += preeditText.length();
+ _forceCursorPosition += preeditText.size();
commit();
} else {
forceAnchorPosition = anchorPosition;
@@ -269,18 +243,69 @@ void QVirtualKeyboardInputContextPrivate::forceCursorPosition(int anchorPosition
}
}
+/*! \internal
+ The context private becomes a containment mask for a dimmer opened by a
+ modal QQuickPopup. The dimmer eats events, and the virtual keyboard must
+ continue to work during modal sessions as well. This implementation lets
+ all pointer events within the area of the input panel through.
+*/
+bool QVirtualKeyboardInputContextPrivate::contains(const QPointF &point) const
+{
+ bool hit = false;
+ if (dimmer) {
+ const auto scenePoint = dimmer->mapToScene(point);
+ if (keyboardRectangle().contains(scenePoint)) {
+ hit = true;
+ } else if (QQuickItem *vkbPanel = qobject_cast<QQuickItem*>(inputPanel)) {
+ const auto vkbPanelPoint = vkbPanel->mapFromScene(scenePoint);
+ if (vkbPanel->contains(vkbPanelPoint))
+ hit = true;
+ }
+ }
+ // dimmer doesn't contain points that hit the input panel
+ return !hit;
+}
+
+KeyboardFunctionKey QVirtualKeyboardInputContextPrivate::keyboardFunctionKey(QtVirtualKeyboard::KeyboardFunction keyboardFunction) const
+{
+ switch (keyboardFunction) {
+ case KeyboardFunction::HideInputPanel:
+ return KeyboardFunctionKey::Hide;
+ case KeyboardFunction::ChangeLanguage:
+ return KeyboardFunctionKey::Language;
+ case KeyboardFunction::ToggleHandwritingMode:
+ return KeyboardFunctionKey::None;
+ }
+ return KeyboardFunctionKey::None;
+}
+
void QVirtualKeyboardInputContextPrivate::onInputItemChanged()
{
- if (QObject *item = inputItem()) {
+ QObject *item = inputItem();
+ if (item) {
if (QQuickItem *vkbPanel = qobject_cast<QQuickItem*>(inputPanel)) {
if (QQuickItem *quickItem = qobject_cast<QQuickItem*>(item)) {
const QVariant isDesktopPanel = vkbPanel->property("desktopPanel");
- /*
- For integrated keyboards, make sure it's a sibling to the overlay. The
- high z-order will make sure it gets events also during a modal session.
- */
- if (isDesktopPanel.isValid() && !isDesktopPanel.toBool())
- vkbPanel->setParentItem(quickItem->window()->contentItem());
+ if (isDesktopPanel.isValid() && !isDesktopPanel.toBool()) {
+ // Integrated keyboards used in a Qt Quick Controls UI must continue to
+ // work during a modal session, which is implemented using an overlay
+ // and dimmer item. So, make use of some QQC2 internals to find out if
+ // there is a dimmer, and if so, make ourselves the containment mask
+ // that can let pointer events through to the keyboard.
+ if (QQuickWindow *quickWindow = quickItem->window()) {
+ if (QQuickItem *overlay = quickWindow->property("_q_QQuickOverlay").value<QQuickItem*>()) {
+ if (dimmer && dimmer->containmentMask() == this) {
+ dimmer->setContainmentMask(nullptr);
+ dimmer = nullptr;
+ }
+ if (overlay && overlay->isVisible()) {
+ dimmer = overlay->property("_q_dimmerItem").value<QQuickItem*>();
+ if (dimmer)
+ dimmer->setContainmentMask(this);
+ }
+ }
+ }
+ }
}
}
} else {
@@ -291,6 +316,14 @@ void QVirtualKeyboardInputContextPrivate::onInputItemChanged()
}
}
clearState(State::InputMethodClick);
+
+ QStringList extraDictionaries;
+ if (item) {
+ VirtualKeyboardAttachedType *virtualKeyboardAttachedType = static_cast<VirtualKeyboardAttachedType *>(qmlAttachedPropertiesObject<VirtualKeyboard>(item, false));
+ if (virtualKeyboardAttachedType)
+ extraDictionaries = virtualKeyboardAttachedType->extraDictionaries();
+ }
+ QVirtualKeyboardDictionaryManager::instance()->setExtraDictionaries(extraDictionaries);
}
void QVirtualKeyboardInputContextPrivate::sendPreedit(const QString &text, const QList<QInputMethodEvent::Attribute> &attributes, int replaceFrom, int replaceLength)
@@ -370,6 +403,7 @@ void QVirtualKeyboardInputContextPrivate::update(Qt::InputMethodQueries queries)
Qt::ImQueryInput | Qt::ImInputItemClipRectangle));
platformInputContext->sendEvent(&imQueryEvent);
Qt::InputMethodHints inputMethodHints = Qt::InputMethodHints(imQueryEvent.value(Qt::ImHints).toInt());
+ inputMethodHints |= Settings::instance()->inputMethodHints();
const int cursorPosition = imQueryEvent.value(Qt::ImCursorPosition).toInt();
const int anchorPosition = imQueryEvent.value(Qt::ImAnchorPosition).toInt();
QRectF anchorRectangle;
@@ -392,7 +426,7 @@ void QVirtualKeyboardInputContextPrivate::update(Qt::InputMethodQueries queries)
bool newCursorPosition = cursorPosition != this->cursorPosition;
bool newAnchorRectangle = anchorRectangle != this->anchorRectangle;
bool newCursorRectangle = cursorRectangle != this->cursorRectangle;
- bool selectionControlVisible = platformInputContext->isInputPanelVisible() && (cursorPosition != anchorPosition) && !inputMethodHints.testFlag(Qt::ImhNoTextHandles);
+ bool selectionControlVisible = platformInputContext->evaluateInputPanelVisible() && (cursorPosition != anchorPosition) && !inputMethodHints.testFlag(Qt::ImhNoTextHandles);
bool newSelectionControlVisible = selectionControlVisible != this->selectionControlVisible;
QRectF inputItemClipRect = imQueryEvent.value(Qt::ImInputItemClipRectangle).toRectF();
@@ -483,13 +517,13 @@ void QVirtualKeyboardInputContextPrivate::invokeAction(QInputMethod::Action acti
if (inputEngine->clickPreeditText(cursorPosition))
break;
- bool reselect = !inputMethodHints.testFlag(Qt::ImhNoPredictiveText) && selectedText.isEmpty() && cursorPosition < preeditText.length();
+ bool reselect = !inputMethodHints.testFlag(Qt::ImhNoPredictiveText) && selectedText.isEmpty() && cursorPosition < preeditText.size();
if (reselect) {
QVirtualKeyboardScopedState reselectState(this, State::Reselect);
_forceCursorPosition = this->cursorPosition + cursorPosition;
commit();
inputEngine->reselect(this->cursorPosition, QVirtualKeyboardInputEngine::ReselectFlag::WordBeforeCursor);
- } else if (!preeditText.isEmpty() && cursorPosition == preeditText.length()) {
+ } else if (!preeditText.isEmpty() && cursorPosition == preeditText.size()) {
commit();
}
}
@@ -501,11 +535,52 @@ void QVirtualKeyboardInputContextPrivate::invokeAction(QInputMethod::Action acti
}
}
+void QVirtualKeyboardInputContextPrivate::maybeCloseOnReturn()
+{
+ if (!Settings::instance()->closeOnReturn())
+ return;
+
+ const int imHints = QInputMethod::queryFocusObject(Qt::ImHints, QVariant()).toInt();
+ if (imHints & Qt::ImhMultiLine)
+ return;
+
+ const Qt::EnterKeyType keyType = static_cast<Qt::EnterKeyType>(QInputMethod::queryFocusObject(Qt::ImEnterKeyType, QVariant()).toInt());
+ switch (keyType) {
+ case Qt::EnterKeyDefault:
+ case Qt::EnterKeyDone:
+ case Qt::EnterKeyGo:
+ case Qt::EnterKeySend:
+ case Qt::EnterKeySearch:
+ break;
+ case Qt::EnterKeyReturn:
+ case Qt::EnterKeyNext:
+ case Qt::EnterKeyPrevious:
+ return;
+ }
+
+ if (EnterKeyActionAttachedType *enterKeyActionAttachedType = static_cast<EnterKeyActionAttachedType *>(qmlAttachedPropertiesObject<EnterKeyAction>(inputItem(), false))) {
+ const EnterKeyAction::Id enterKeyActionId = static_cast<EnterKeyAction::Id>(enterKeyActionAttachedType->actionId());
+ switch (enterKeyActionId) {
+ case EnterKeyAction::None:
+ case EnterKeyAction::Done:
+ case EnterKeyAction::Go:
+ case EnterKeyAction::Search:
+ case EnterKeyAction::Send:
+ break;
+ case EnterKeyAction::Next:
+ return;
+ }
+ }
+
+ hideInputPanel();
+}
+
bool QVirtualKeyboardInputContextPrivate::filterEvent(const QEvent *event)
{
QEvent::Type type = event->type();
if (type == QEvent::KeyPress || type == QEvent::KeyRelease) {
const QKeyEvent *keyEvent = static_cast<const QKeyEvent *>(event);
+ const int key = keyEvent->key();
// Keep track of pressed keys update key event state
if (type == QEvent::KeyPress)
@@ -519,7 +594,6 @@ bool QVirtualKeyboardInputContextPrivate::filterEvent(const QEvent *event)
setState(State::KeyEvent);
#ifdef QT_VIRTUALKEYBOARD_ARROW_KEY_NAVIGATION
- int key = keyEvent->key();
if ((key >= Qt::Key_Left && key <= Qt::Key_Down) || key == Qt::Key_Return) {
if (type == QEvent::KeyPress && platformInputContext->isInputPanelVisible()) {
activeNavigationKeys += key;
@@ -533,9 +607,21 @@ bool QVirtualKeyboardInputContextPrivate::filterEvent(const QEvent *event)
}
#endif
+ if (type == QEvent::KeyRelease && (key == Qt::Key_Return || key == Qt::Key_Enter)) {
+ maybeCloseOnReturn();
+ }
+
// Break composing text since the virtual keyboard does not support hard keyboard events
- if (!preeditText.isEmpty())
- commit();
+ if (!preeditText.isEmpty()) {
+ if (type == QEvent::KeyPress && (key == Qt::Key_Delete || key == Qt::Key_Backspace)) {
+ reset();
+ Q_Q(QVirtualKeyboardInputContext);
+ q->clear();
+ return true;
+ } else {
+ commit();
+ }
+ }
}
#ifdef QT_VIRTUALKEYBOARD_ARROW_KEY_NAVIGATION
else if (type == QEvent::ShortcutOverride) {
@@ -575,7 +661,7 @@ void QVirtualKeyboardInputContextPrivate::addSelectionAttribute(QList<QInputMeth
bool QVirtualKeyboardInputContextPrivate::testAttribute(const QList<QInputMethodEvent::Attribute> &attributes, QInputMethodEvent::AttributeType attributeType) const
{
- for (const QInputMethodEvent::Attribute &attribute : qAsConst(attributes)) {
+ for (const QInputMethodEvent::Attribute &attribute : std::as_const(attributes)) {
if (attribute.type == attributeType)
return true;
}
@@ -584,7 +670,7 @@ bool QVirtualKeyboardInputContextPrivate::testAttribute(const QList<QInputMethod
int QVirtualKeyboardInputContextPrivate::findAttribute(const QList<QInputMethodEvent::Attribute> &attributes, QInputMethodEvent::AttributeType attributeType) const
{
- const int count = attributes.count();
+ const int count = attributes.size();
for (int i = 0; i < count; ++i) {
if (attributes.at(i).type == attributeType)
return i;
@@ -592,4 +678,26 @@ int QVirtualKeyboardInputContextPrivate::findAttribute(const QList<QInputMethodE
return -1;
}
+void QVirtualKeyboardInputContextPrivate::updateSelectionControlVisible(bool inputPanelVisible)
+{
+ Q_Q(QVirtualKeyboardInputContext);
+ bool newSelectionControlVisible = inputPanelVisible && (cursorPosition != anchorPosition) && !inputMethodHints.testFlag(Qt::ImhNoTextHandles);
+ if (selectionControlVisible != newSelectionControlVisible) {
+ selectionControlVisible = newSelectionControlVisible;
+ emit q->selectionControlVisibleChanged();
+ }
+}
+
+QVirtualKeyboardInputContext *QVirtualKeyboardInputContextForeign::create(
+ QQmlEngine *qmlEngine, QJSEngine *)
+{
+ static QMutex mutex;
+ static QHash<QQmlEngine *, QVirtualKeyboardInputContext *> instances;
+ QMutexLocker locker(&mutex);
+ QVirtualKeyboardInputContext *&instance = instances[qmlEngine];
+ if (instance == nullptr)
+ instance = new QVirtualKeyboardInputContext(qmlEngine);
+ return instance;
+}
+
QT_END_NAMESPACE
diff --git a/src/virtualkeyboard/qvirtualkeyboardinputcontext_p.h b/src/virtualkeyboard/qvirtualkeyboardinputcontext_p.h
index 05eae901..f81c57b1 100644
--- a/src/virtualkeyboard/qvirtualkeyboardinputcontext_p.h
+++ b/src/virtualkeyboard/qvirtualkeyboardinputcontext_p.h
@@ -1,31 +1,5 @@
-/****************************************************************************
-**
-** Copyright (C) 2018 The Qt Company Ltd.
-** Contact: https://www.qt.io/licensing/
-**
-** This file is part of the Qt Virtual Keyboard module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:GPL$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see https://www.qt.io/terms-conditions. For further
-** information use the contact form at https://www.qt.io/contact-us.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 3 or (at your option) any later version
-** approved by the KDE Free Qt Foundation. The licenses are as published by
-** the Free Software Foundation and appearing in the file LICENSE.GPL3
-** included in the packaging of this file. Please review the following
-** information to ensure the GNU General Public License requirements will
-** be met: https://www.gnu.org/licenses/gpl-3.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
+// Copyright (C) 2018 The Qt Company Ltd.
+// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GPL-3.0-only
#ifndef QVIRTUALKEYBOARDINPUTCONTEXT_P_H
#define QVIRTUALKEYBOARDINPUTCONTEXT_P_H
@@ -45,8 +19,13 @@
#include <QRectF>
#include <QSet>
#include <QInputMethodEvent>
+#include <QQuickItem>
#include <QtVirtualKeyboard/qvirtualkeyboardinputcontext.h>
#include <QtVirtualKeyboard/private/shadowinputcontext_p.h>
+#include <QtVirtualKeyboard/qvirtualkeyboardobserver.h>
+#include <QtVirtualKeyboard/private/qvirtualkeyboardnamespace_p.h>
+
+#include <QtCore/qpointer.h>
QT_BEGIN_NAMESPACE
@@ -64,7 +43,7 @@ class ShiftHandler;
class QVirtualKeyboardInputEngine;
class QVirtualKeyboardInputContextPrivate;
-class QVIRTUALKEYBOARD_EXPORT QVirtualKeyboardInputContextPrivate : public QObject
+class Q_VIRTUALKEYBOARD_EXPORT QVirtualKeyboardInputContextPrivate : public QObject
{
Q_OBJECT
Q_DECLARE_PUBLIC(QVirtualKeyboardInputContext)
@@ -76,8 +55,10 @@ class QVIRTUALKEYBOARD_EXPORT QVirtualKeyboardInputContextPrivate : public QObje
Q_PROPERTY(QObject *inputItem READ inputItem NOTIFY inputItemChanged)
Q_PROPERTY(QtVirtualKeyboard::ShiftHandler *shiftHandler READ shiftHandler CONSTANT)
Q_PROPERTY(QtVirtualKeyboard::ShadowInputContext *shadow READ shadow CONSTANT)
- Q_PROPERTY(QStringList inputMethods READ inputMethods CONSTANT)
Q_MOC_INCLUDE("shifthandler_p.h")
+ QML_NAMED_ELEMENT(InputContextPrivate)
+ QML_UNCREATABLE("InputContextPrivate is only available via InputContext.priv")
+ QML_ADDED_IN_VERSION(2, 0)
explicit QVirtualKeyboardInputContextPrivate(QVirtualKeyboardInputContext *q_ptr);
void init();
@@ -88,7 +69,8 @@ public:
InputMethodEvent = 0x2,
KeyEvent = 0x4,
InputMethodClick = 0x8,
- SyncShadowInput = 0x10
+ SyncShadowInput = 0x10,
+ SetFocus = 0x20
};
Q_FLAG(State)
Q_DECLARE_FLAGS(StateFlags, QVirtualKeyboardInputContextPrivate::State)
@@ -108,12 +90,14 @@ public:
QObject *inputItem() const;
QtVirtualKeyboard::ShiftHandler *shiftHandler() const;
QtVirtualKeyboard::ShadowInputContext *shadow() const;
- QStringList inputMethods() const;
+ Q_INVOKABLE void setKeyboardObserver(QVirtualKeyboardObserver *keyboardObserver);
// Helper functions
Q_INVOKABLE bool fileExists(const QUrl &fileUrl);
Q_INVOKABLE bool hasEnterKeyAction(QObject *item) const;
Q_INVOKABLE void registerInputPanel(QObject *inputPanel);
+ Q_INVOKABLE bool contains(const QPointF &point) const;
+ Q_INVOKABLE QtVirtualKeyboard::KeyboardFunctionKey keyboardFunctionKey(QtVirtualKeyboard::KeyboardFunction keyboardFunction) const;
Q_SIGNALS:
void focusChanged();
@@ -140,6 +124,7 @@ private:
void commit();
void update(Qt::InputMethodQueries queries);
void invokeAction(QInputMethod::Action action, int cursorPosition);
+ void maybeCloseOnReturn();
bool filterEvent(const QEvent *event);
void addSelectionAttribute(QList<QInputMethodEvent::Attribute> &attributes);
bool testAttribute(const QList<QInputMethodEvent::Attribute> &attributes, QInputMethodEvent::AttributeType attributeType) const;
@@ -148,6 +133,7 @@ private:
inline void clearState(const State &state) { stateFlags &= ~StateFlags(state); }
inline bool testState(const State &state) const { return stateFlags.testFlag(state); }
inline bool isEmptyState() const { return !stateFlags; }
+ void updateSelectionControlVisible(bool inputPanelVisible);
private:
QVirtualKeyboardInputContext *q_ptr;
@@ -155,6 +141,7 @@ private:
QVirtualKeyboardInputEngine *inputEngine;
QtVirtualKeyboard::ShiftHandler *_shiftHandler;
QPointer<QObject> inputPanel;
+ QPointer<QQuickItem> dimmer;
QRectF keyboardRect;
QRectF previewRect;
bool _previewVisible;
@@ -180,6 +167,7 @@ private:
#endif
QSet<quint32> activeKeys;
QtVirtualKeyboard::ShadowInputContext _shadow;
+ QPointer<QVirtualKeyboardObserver> keyboardObserver;
friend class QtVirtualKeyboard::PlatformInputContext;
friend class QVirtualKeyboardScopedState;
@@ -208,6 +196,23 @@ private:
Q_DECLARE_OPERATORS_FOR_FLAGS(QVirtualKeyboardInputContextPrivate::StateFlags)
+/*!
+ TODO: Remove this type and move the registration back into QVirtualKeyboardInputContext when
+ QML stops creating separate singleton instances for each version.
+ */
+struct QVirtualKeyboardInputContextForeign
+{
+ Q_GADGET
+ QML_FOREIGN(QVirtualKeyboardInputContext)
+ QML_NAMED_ELEMENT(InputContext)
+ QML_SINGLETON
+ QML_ADDED_IN_VERSION(1, 0)
+ QML_EXTRA_VERSION(2, 0)
+
+public:
+ static QVirtualKeyboardInputContext *create(QQmlEngine *qmlEngine, QJSEngine *);
+};
+
QT_END_NAMESPACE
Q_DECLARE_METATYPE(QVirtualKeyboardInputContextPrivate::State)
diff --git a/src/virtualkeyboard/qvirtualkeyboardinputengine.cpp b/src/virtualkeyboard/qvirtualkeyboardinputengine.cpp
index e64ea4eb..59ddb6b1 100644
--- a/src/virtualkeyboard/qvirtualkeyboardinputengine.cpp
+++ b/src/virtualkeyboard/qvirtualkeyboardinputengine.cpp
@@ -1,31 +1,5 @@
-/****************************************************************************
-**
-** Copyright (C) 2016 The Qt Company Ltd.
-** Contact: https://www.qt.io/licensing/
-**
-** This file is part of the Qt Virtual Keyboard module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:GPL$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see https://www.qt.io/terms-conditions. For further
-** information use the contact form at https://www.qt.io/contact-us.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 3 or (at your option) any later version
-** approved by the KDE Free Qt Foundation. The licenses are as published by
-** the Free Software Foundation and appearing in the file LICENSE.GPL3
-** included in the packaging of this file. Please review the following
-** information to ensure the GNU General Public License requirements will
-** be met: https://www.gnu.org/licenses/gpl-3.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
+// Copyright (C) 2016 The Qt Company Ltd.
+// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GPL-3.0-only
#include <QtVirtualKeyboard/qvirtualkeyboardinputengine.h>
#include <QtVirtualKeyboard/qvirtualkeyboardinputcontext.h>
@@ -35,6 +9,8 @@
#include <QtVirtualKeyboard/qvirtualkeyboardtrace.h>
#include <QtVirtualKeyboard/private/virtualkeyboarddebug_p.h>
+#include <QQmlContext>
+#include <QQmlEngine>
#include <QTimerEvent>
#include <QtCore/private/qobject_p.h>
@@ -124,7 +100,7 @@ private:
/*!
\qmltype InputEngine
\inqmlmodule QtQuick.VirtualKeyboard
- \ingroup qtvirtualkeyboard-qml
+ \ingroup qtvirtualkeyboard-internal-qml
\instantiates QVirtualKeyboardInputEngine
\brief Maps the user input to the input methods.
@@ -139,6 +115,7 @@ private:
/*!
\class QVirtualKeyboardInputEngine
\inmodule QtVirtualKeyboard
+ \ingroup qtvirtualkeyboard-cpp-for-devs
\brief The InputEngine class provides an input engine
that supports C++ and QML integration.
@@ -390,6 +367,7 @@ void QVirtualKeyboardInputEngine::setInputMethod(QVirtualKeyboardAbstractInputMe
if (d->inputMethod != inputMethod) {
update();
if (d->inputMethod) {
+ d->inputMethod->clearInputMode();
QObject::disconnect(d->inputMethod.data(), &QVirtualKeyboardAbstractInputMethod::selectionListsChanged, this, &QVirtualKeyboardInputEngine::updateSelectionListModels);
d->inputMethod->setInputEngine(nullptr);
}
@@ -475,7 +453,7 @@ QList<int> QVirtualKeyboardInputEngine::patternRecognitionModes() const
if (patterRecognitionModeList.isEmpty())
return resultList;
resultList.reserve(patterRecognitionModeList.size());
- for (const PatternRecognitionMode &patternRecognitionMode : qAsConst(patterRecognitionModeList))
+ for (const PatternRecognitionMode &patternRecognitionMode : std::as_const(patterRecognitionModeList))
resultList.append(static_cast<int>(patternRecognitionMode));
return resultList;
}
@@ -538,8 +516,14 @@ QVirtualKeyboardTrace *QVirtualKeyboardInputEngine::traceBegin(
if (!d->inputMethod->patternRecognitionModes().contains(patternRecognitionMode))
return nullptr;
QVirtualKeyboardTrace *trace = d->inputMethod->traceBegin(traceId, patternRecognitionMode, traceCaptureDeviceInfo, traceScreenInfo);
- if (trace)
+ if (trace) {
+ if (QQmlContext *context = QQmlEngine::contextForObject(this)) {
+ if (QQmlEngine *engine = context->engine()) {
+ engine->setObjectOwnership(trace, QQmlEngine::CppOwnership);
+ }
+ }
trace->setTraceId(traceId);
+ }
return trace;
}
@@ -676,7 +660,7 @@ void QVirtualKeyboardInputEngine::updateSelectionListModels()
}
// Deallocate inactive selection lists
- for (const QVirtualKeyboardSelectionListModel::Type &selectionListType : qAsConst(inactiveSelectionLists)) {
+ for (const QVirtualKeyboardSelectionListModel::Type &selectionListType : std::as_const(inactiveSelectionLists)) {
const auto it = d->selectionListModels.constFind(selectionListType);
if (it != d->selectionListModels.cend()) {
it.value()->setDataSource(nullptr, selectionListType);
@@ -693,8 +677,9 @@ void QVirtualKeyboardInputEngine::updateInputModes()
{
Q_D(QVirtualKeyboardInputEngine);
QList<int> newInputModes;
+ QList<InputMode> tmpList;
if (d->inputMethod) {
- QList<InputMode> tmpList(d->inputMethod->inputModes(d->inputContext->locale()));
+ tmpList = d->inputMethod->inputModes(d->inputContext->locale());
if (!tmpList.isEmpty()) {
std::transform(tmpList.constBegin(), tmpList.constEnd(),
std::back_inserter(newInputModes),
@@ -705,6 +690,7 @@ void QVirtualKeyboardInputEngine::updateInputModes()
}
if (d->inputModes != newInputModes) {
d->inputModes = newInputModes;
+ VIRTUALKEYBOARD_DEBUG() << "QVirtualKeyboardInputEngine::inputModesChanged():" << tmpList;
emit inputModesChanged();
}
}
@@ -716,9 +702,11 @@ void QVirtualKeyboardInputEngine::timerEvent(QTimerEvent *timerEvent)
{
Q_D(QVirtualKeyboardInputEngine);
if (timerEvent->timerId() == d->repeatTimer) {
- d->repeatTimer = 0;
d->virtualKeyClick(d->activeKey, d->activeKeyText, d->activeKeyModifiers, true);
- d->repeatTimer = startTimer(50);
+ if (!d->repeatCount) {
+ killTimer(d->repeatTimer);
+ d->repeatTimer = startTimer(50);
+ }
d->repeatCount++;
}
}
@@ -806,6 +794,8 @@ void QVirtualKeyboardInputEngine::timerEvent(QTimerEvent *timerEvent)
\li \c InputEngine.InputMode.JapaneseHandwriting Japanese handwriting.
\li \c InputEngine.InputMode.KoreanHandwriting Korean handwriting.
\li \c InputEngine.InputMode.Thai Thai input mode.
+ \li \c InputEngine.InputMode.Stroke Stroke input mode for Chinese.
+ \li \c InputEngine.InputMode.Romaji Romaji input mode for Japanese.
\endlist
*/
@@ -889,6 +879,10 @@ void QVirtualKeyboardInputEngine::timerEvent(QTimerEvent *timerEvent)
Korean handwriting input mode.
\value Thai
Thai input mode.
+ \value Stroke
+ Stroke input mode for Chinese.
+ \value Romaji
+ Romaji input mode for Japanese.
*/
/*!
diff --git a/src/virtualkeyboard/qvirtualkeyboardinputengine.h b/src/virtualkeyboard/qvirtualkeyboardinputengine.h
index f3deb657..4e1f9481 100644
--- a/src/virtualkeyboard/qvirtualkeyboardinputengine.h
+++ b/src/virtualkeyboard/qvirtualkeyboardinputengine.h
@@ -1,37 +1,12 @@
-/****************************************************************************
-**
-** Copyright (C) 2016 The Qt Company Ltd.
-** Contact: https://www.qt.io/licensing/
-**
-** This file is part of the Qt Virtual Keyboard module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:GPL$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see https://www.qt.io/terms-conditions. For further
-** information use the contact form at https://www.qt.io/contact-us.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 3 or (at your option) any later version
-** approved by the KDE Free Qt Foundation. The licenses are as published by
-** the Free Software Foundation and appearing in the file LICENSE.GPL3
-** included in the packaging of this file. Please review the following
-** information to ensure the GNU General Public License requirements will
-** be met: https://www.gnu.org/licenses/gpl-3.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
+// Copyright (C) 2016 The Qt Company Ltd.
+// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GPL-3.0-only
#ifndef QVIRTUALKEYBOARDINPUTENGINE_H
#define QVIRTUALKEYBOARDINPUTENGINE_H
-#include <QObject>
-#include <QPointer>
+#include <QtCore/QObject>
+#include <QtCore/QPointer>
+#include <QtQml/qqml.h>
#include <QtVirtualKeyboard/qvirtualkeyboard_global.h>
QT_BEGIN_NAMESPACE
@@ -42,7 +17,7 @@ class QVirtualKeyboardAbstractInputMethod;
class QVirtualKeyboardInputEnginePrivate;
class QVirtualKeyboardTrace;
-class QVIRTUALKEYBOARD_EXPORT QVirtualKeyboardInputEngine : public QObject
+class Q_VIRTUALKEYBOARD_EXPORT QVirtualKeyboardInputEngine : public QObject
{
Q_OBJECT
Q_DISABLE_COPY(QVirtualKeyboardInputEngine)
@@ -56,6 +31,10 @@ class QVIRTUALKEYBOARD_EXPORT QVirtualKeyboardInputEngine : public QObject
Q_PROPERTY(QVirtualKeyboardSelectionListModel *wordCandidateListModel READ wordCandidateListModel NOTIFY wordCandidateListModelChanged)
Q_PROPERTY(bool wordCandidateListVisibleHint READ wordCandidateListVisibleHint NOTIFY wordCandidateListVisibleHintChanged)
Q_MOC_INCLUDE("qvirtualkeyboardabstractinputmethod.h")
+ QML_NAMED_ELEMENT(InputEngine)
+ QML_UNCREATABLE("InputEngine is only available via InputContext.inputEngine")
+ QML_ADDED_IN_VERSION(1, 0)
+ QML_EXTRA_VERSION(2, 0)
explicit QVirtualKeyboardInputEngine(QVirtualKeyboardInputContext *parent = nullptr);
void init();
@@ -85,7 +64,9 @@ public:
ChineseHandwriting,
JapaneseHandwriting,
KoreanHandwriting,
- Thai
+ Thai,
+ Stroke,
+ Romaji,
};
Q_ENUM(InputMode)
diff --git a/src/virtualkeyboard/qvirtualkeyboardnamespace_p.h b/src/virtualkeyboard/qvirtualkeyboardnamespace_p.h
new file mode 100644
index 00000000..60587a50
--- /dev/null
+++ b/src/virtualkeyboard/qvirtualkeyboardnamespace_p.h
@@ -0,0 +1,70 @@
+// Copyright (C) 2023 The Qt Company Ltd.
+// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GPL-3.0-only
+
+#ifndef QVIRTUALKEYBOARDNAMESPACE_P_H
+#define QVIRTUALKEYBOARDNAMESPACE_P_H
+
+//
+// W A R N I N G
+// -------------
+//
+// This file is not part of the Qt API. It exists purely as an
+// implementation detail. This header file may change from version to
+// version without notice, or even be removed.
+//
+// We mean it.
+//
+
+#include <QtCore/qmetaobject.h>
+#include <QtQml/qqml.h>
+#include <QtVirtualKeyboard/qvirtualkeyboard_global.h>
+
+QT_BEGIN_NAMESPACE
+
+namespace QtVirtualKeyboard {
+
+Q_VIRTUALKEYBOARD_EXPORT Q_NAMESPACE
+QML_NAMED_ELEMENT(QtVirtualKeyboard)
+QML_ADDED_IN_VERSION(6, 4)
+
+enum class KeyType {
+ BaseKey,
+ BackspaceKey,
+ ChangeLanguageKey,
+ EnterKey,
+ FillerKey,
+ HandwritingModeKey,
+ HideKeyboardKey,
+ InputModeKey,
+ Key,
+ ModeKey,
+ NumberKey,
+ ShiftKey,
+ SpaceKey,
+ SymbolModeKey,
+ FlickKey,
+};
+Q_ENUM_NS(KeyType)
+
+enum class KeyboardFunction {
+ HideInputPanel,
+ ChangeLanguage,
+ ToggleHandwritingMode,
+};
+Q_ENUM_NS(KeyboardFunction)
+
+enum class KeyboardFunctionKey : quint32 {
+ None = 0,
+ Hide = 0x1,
+ Language = 0x2,
+ All = 0xffffffff,
+};
+Q_DECLARE_FLAGS(KeyboardFunctionKeys, KeyboardFunctionKey)
+Q_DECLARE_OPERATORS_FOR_FLAGS(KeyboardFunctionKeys)
+Q_FLAG_NS(KeyboardFunctionKeys)
+
+} // namespace QtVirtualKeyboard
+
+QT_END_NAMESPACE
+
+#endif // QVIRTUALKEYBOARDNAMESPACE_P_H
diff --git a/src/virtualkeyboard/qvirtualkeyboardobserver.cpp b/src/virtualkeyboard/qvirtualkeyboardobserver.cpp
new file mode 100644
index 00000000..fc2e57ed
--- /dev/null
+++ b/src/virtualkeyboard/qvirtualkeyboardobserver.cpp
@@ -0,0 +1,65 @@
+// Copyright (C) 2021 The Qt Company Ltd.
+// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GPL-3.0-only
+
+#include "qvirtualkeyboardobserver.h"
+
+#include <QtCore/private/qobject_p.h>
+
+QT_BEGIN_NAMESPACE
+
+class QVirtualKeyboardObserverPrivate : public QObjectPrivate
+{
+public:
+ QVirtualKeyboardObserverPrivate()
+ {}
+
+ QVariant layout;
+};
+
+/*!
+ \qmltype KeyboardObserver
+ \instantiates QVirtualKeyboardObserver
+ \inqmlmodule QtQuick.VirtualKeyboard
+ \ingroup qtvirtualkeyboard-internal-qml
+ \brief Acts as a hub for keyboard event notifications.
+*/
+
+/*!
+ \class QVirtualKeyboardObserver
+ \inmodule QtVirtualKeyboard
+ \ingroup qtvirtualkeyboard-cpp-for-devs
+ \brief Acts as a hub for keyboard event notifications.
+*/
+
+QVirtualKeyboardObserver::QVirtualKeyboardObserver(QObject *parent) :
+ QObject(*new QVirtualKeyboardObserverPrivate, parent)
+{
+ connect(this, &QVirtualKeyboardObserver::layoutChanged, this, &QVirtualKeyboardObserver::invalidateLayout);
+}
+
+/*!
+ \property QVirtualKeyboardObserver::layout
+ \brief The current keyboard layout expressed as a variant.
+*/
+/*!
+ \qmlproperty variant KeyboardObserver::layout
+ \readonly
+ \brief The current keyboard layout expressed as a variant.
+*/
+QVariant QVirtualKeyboardObserver::layout()
+{
+ Q_D(QVirtualKeyboardObserver);
+
+ if (d->layout.isNull())
+ QMetaObject::invokeMethod(this, "scanLayout", Q_RETURN_ARG(QVariant, d->layout));
+
+ return d->layout;
+}
+
+void QVirtualKeyboardObserver::invalidateLayout()
+{
+ Q_D(QVirtualKeyboardObserver);
+ d->layout = QVariant();
+}
+
+QT_END_NAMESPACE
diff --git a/src/virtualkeyboard/qvirtualkeyboardobserver.h b/src/virtualkeyboard/qvirtualkeyboardobserver.h
new file mode 100644
index 00000000..7609a521
--- /dev/null
+++ b/src/virtualkeyboard/qvirtualkeyboardobserver.h
@@ -0,0 +1,39 @@
+// Copyright (C) 2021 The Qt Company Ltd.
+// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GPL-3.0-only
+
+#ifndef QVIRTUALKEYBOARDOBSERVER_H
+#define QVIRTUALKEYBOARDOBSERVER_H
+
+#include <QtCore/QObject>
+#include <QtCore/QVariant>
+#include <QtQml/qqml.h>
+#include <QtVirtualKeyboard/qvirtualkeyboard_global.h>
+
+QT_BEGIN_NAMESPACE
+
+class QVirtualKeyboardObserverPrivate;
+
+class Q_VIRTUALKEYBOARD_EXPORT QVirtualKeyboardObserver : public QObject
+{
+ Q_OBJECT
+ Q_DECLARE_PRIVATE(QVirtualKeyboardObserver)
+ Q_DISABLE_COPY(QVirtualKeyboardObserver)
+ Q_PROPERTY(QVariant layout READ layout NOTIFY layoutChanged)
+ QML_NAMED_ELEMENT(KeyboardObserver)
+ QML_ADDED_IN_VERSION(6, 1)
+
+public:
+ explicit QVirtualKeyboardObserver(QObject *parent = nullptr);
+
+ QVariant layout();
+
+Q_SIGNALS:
+ void layoutChanged();
+
+private Q_SLOTS:
+ void invalidateLayout();
+};
+
+QT_END_NAMESPACE
+
+#endif // QVIRTUALKEYBOARDOBSERVER_H
diff --git a/src/virtualkeyboard/qvirtualkeyboardselectionlistmodel.cpp b/src/virtualkeyboard/qvirtualkeyboardselectionlistmodel.cpp
index d2cbc22e..9cece734 100644
--- a/src/virtualkeyboard/qvirtualkeyboardselectionlistmodel.cpp
+++ b/src/virtualkeyboard/qvirtualkeyboardselectionlistmodel.cpp
@@ -1,31 +1,5 @@
-/****************************************************************************
-**
-** Copyright (C) 2016 The Qt Company Ltd.
-** Contact: https://www.qt.io/licensing/
-**
-** This file is part of the Qt Virtual Keyboard module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:GPL$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see https://www.qt.io/terms-conditions. For further
-** information use the contact form at https://www.qt.io/contact-us.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 3 or (at your option) any later version
-** approved by the KDE Free Qt Foundation. The licenses are as published by
-** the Free Software Foundation and appearing in the file LICENSE.GPL3
-** included in the packaging of this file. Please review the following
-** information to ensure the GNU General Public License requirements will
-** be met: https://www.gnu.org/licenses/gpl-3.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
+// Copyright (C) 2016 The Qt Company Ltd.
+// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GPL-3.0-only
#include <QtVirtualKeyboard/qvirtualkeyboardselectionlistmodel.h>
#include <QtVirtualKeyboard/qvirtualkeyboardabstractinputmethod.h>
@@ -60,7 +34,7 @@ public:
\qmltype SelectionListModel
\instantiates QVirtualKeyboardSelectionListModel
\inqmlmodule QtQuick.VirtualKeyboard
- \ingroup qtvirtualkeyboard-qml
+ \ingroup qtvirtualkeyboard-internal-qml
\brief Provides a data model for the selection lists.
The SelectionListModel is a data model for word candidates
@@ -92,6 +66,7 @@ public:
\class QVirtualKeyboardSelectionListModel
\inmodule QtVirtualKeyboard
+ \ingroup qtvirtualkeyboard-cpp-for-devs
\brief List model for selection lists.
@@ -170,6 +145,7 @@ void QVirtualKeyboardSelectionListModel::setDataSource(QVirtualKeyboardAbstractI
if (d->dataSource) {
disconnect(this, SLOT(selectionListChanged(Type)));
disconnect(this, SLOT(selectionListActiveItemChanged(Type, int)));
+ disconnect(this, SLOT(dataSourceDestroyed()));
}
d->type = type;
if (d->dataSource) {
@@ -181,6 +157,7 @@ void QVirtualKeyboardSelectionListModel::setDataSource(QVirtualKeyboardAbstractI
if (d->dataSource) {
QObject::connect(d->dataSource.data(), &QVirtualKeyboardAbstractInputMethod::selectionListChanged, this, &QVirtualKeyboardSelectionListModel::selectionListChanged);
QObject::connect(d->dataSource.data(), &QVirtualKeyboardAbstractInputMethod::selectionListActiveItemChanged, this, &QVirtualKeyboardSelectionListModel::selectionListActiveItemChanged);
+ QObject::connect(d->dataSource.data(), &QObject::destroyed, this, &QVirtualKeyboardSelectionListModel::dataSourceDestroyed);
}
}
@@ -209,7 +186,14 @@ int QVirtualKeyboardSelectionListModel::rowCount(const QModelIndex &parent) cons
QVariant QVirtualKeyboardSelectionListModel::data(const QModelIndex &index, int role) const
{
Q_D(const QVirtualKeyboardSelectionListModel);
- return d->dataSource ? d->dataSource->selectionListData(d->type, index.row(), static_cast<Role>(role)) : QVariant();
+
+ if (!d->dataSource)
+ return QVariant();
+
+ if (index.row() < 0 || index.row() >= d->rowCount)
+ return QVariant();
+
+ return d->dataSource->selectionListData(d->type, index.row(), static_cast<Role>(role));
}
/*!
@@ -312,7 +296,7 @@ void QVirtualKeyboardSelectionListModel::selectionListChanged(QVirtualKeyboardSe
if (static_cast<QVirtualKeyboardSelectionListModel::Type>(type) == QVirtualKeyboardSelectionListModel::Type::WordCandidateList)
d->wclAutoCommitWord = ((oldCount > 1 || (oldCount == 1 && d->wclAutoCommitWord)) && newCount == 1 &&
Settings::instance()->wclAutoCommitWord() &&
- dataAt(0).toString().length() > 1);
+ dataAt(0).toString().size() > 1);
if (d->rowCount != oldCount)
emit countChanged();
}
@@ -332,6 +316,16 @@ void QVirtualKeyboardSelectionListModel::selectionListActiveItemChanged(QVirtual
}
/*!
+ \internal
+*/
+void QVirtualKeyboardSelectionListModel::dataSourceDestroyed()
+{
+ Q_D(QVirtualKeyboardSelectionListModel);
+ selectionListChanged(d->type);
+ selectionListActiveItemChanged(d->type, -1);
+}
+
+/*!
\qmlsignal void SelectionListModel::activeItemChanged(int index)
This signal is emitted when the active item in the list changes. The
diff --git a/src/virtualkeyboard/qvirtualkeyboardselectionlistmodel.h b/src/virtualkeyboard/qvirtualkeyboardselectionlistmodel.h
index 12382860..06fab1f6 100644
--- a/src/virtualkeyboard/qvirtualkeyboardselectionlistmodel.h
+++ b/src/virtualkeyboard/qvirtualkeyboardselectionlistmodel.h
@@ -1,36 +1,11 @@
-/****************************************************************************
-**
-** Copyright (C) 2016 The Qt Company Ltd.
-** Contact: https://www.qt.io/licensing/
-**
-** This file is part of the Qt Virtual Keyboard module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:GPL$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see https://www.qt.io/terms-conditions. For further
-** information use the contact form at https://www.qt.io/contact-us.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 3 or (at your option) any later version
-** approved by the KDE Free Qt Foundation. The licenses are as published by
-** the Free Software Foundation and appearing in the file LICENSE.GPL3
-** included in the packaging of this file. Please review the following
-** information to ensure the GNU General Public License requirements will
-** be met: https://www.gnu.org/licenses/gpl-3.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
+// Copyright (C) 2016 The Qt Company Ltd.
+// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GPL-3.0-only
#ifndef QVIRTUALKEYBOARDSELECTIONLISTMODEL_H
#define QVIRTUALKEYBOARDSELECTIONLISTMODEL_H
-#include <QAbstractListModel>
+#include <QtCore/QAbstractListModel>
+#include <QtQml/qqml.h>
#include <QtVirtualKeyboard/qvirtualkeyboard_global.h>
QT_BEGIN_NAMESPACE
@@ -39,11 +14,15 @@ class QVirtualKeyboardAbstractInputMethod;
class QVirtualKeyboardInputEngine;
class QVirtualKeyboardSelectionListModelPrivate;
-class QVIRTUALKEYBOARD_EXPORT QVirtualKeyboardSelectionListModel : public QAbstractListModel
+class Q_VIRTUALKEYBOARD_EXPORT QVirtualKeyboardSelectionListModel : public QAbstractListModel
{
Q_OBJECT
Q_DECLARE_PRIVATE(QVirtualKeyboardSelectionListModel)
Q_PROPERTY(int count READ count NOTIFY countChanged)
+ QML_NAMED_ELEMENT(SelectionListModel)
+ QML_UNCREATABLE("SelectionListModel is only available via InputEngine.wordCandidateListModel")
+ QML_ADDED_IN_VERSION(1, 0)
+ QML_EXTRA_VERSION(2, 0)
explicit QVirtualKeyboardSelectionListModel(QObject *parent = nullptr);
@@ -93,6 +72,7 @@ Q_SIGNALS:
protected Q_SLOTS:
void selectionListChanged(Type type);
void selectionListActiveItemChanged(Type type, int index);
+ void dataSourceDestroyed();
private:
friend class QVirtualKeyboardInputEngine;
diff --git a/src/virtualkeyboard/qvirtualkeyboardtrace.cpp b/src/virtualkeyboard/qvirtualkeyboardtrace.cpp
index 4f29d0ea..e3e5b8f4 100644
--- a/src/virtualkeyboard/qvirtualkeyboardtrace.cpp
+++ b/src/virtualkeyboard/qvirtualkeyboardtrace.cpp
@@ -1,31 +1,5 @@
-/****************************************************************************
-**
-** Copyright (C) 2016 The Qt Company Ltd.
-** Contact: https://www.qt.io/licensing/
-**
-** This file is part of the Qt Virtual Keyboard module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:GPL$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see https://www.qt.io/terms-conditions. For further
-** information use the contact form at https://www.qt.io/contact-us.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 3 or (at your option) any later version
-** approved by the KDE Free Qt Foundation. The licenses are as published by
-** the Free Software Foundation and appearing in the file LICENSE.GPL3
-** included in the packaging of this file. Please review the following
-** information to ensure the GNU General Public License requirements will
-** be met: https://www.gnu.org/licenses/gpl-3.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
+// Copyright (C) 2016 The Qt Company Ltd.
+// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GPL-3.0-only
#include <QtVirtualKeyboard/qvirtualkeyboardtrace.h>
#include <QtCore/private/qobject_p.h>
@@ -40,7 +14,8 @@ public:
traceId(0),
final(false),
canceled(false),
- opacity(1.0)
+ opacity(1.0),
+ hideTimer(0)
{ }
int traceId;
@@ -49,11 +24,13 @@ public:
bool final;
bool canceled;
qreal opacity;
+ int hideTimer;
};
/*!
\class QVirtualKeyboardTrace
\inmodule QtVirtualKeyboard
+ \ingroup qtvirtualkeyboard-cpp-for-devs
\since QtQuick.VirtualKeyboard 2.0
\brief Trace is a data model for touch input data.
@@ -115,7 +92,7 @@ public:
\qmltype Trace
\instantiates QVirtualKeyboardTrace
\inqmlmodule QtQuick.VirtualKeyboard
- \ingroup qtvirtualkeyboard-qml
+ \ingroup qtvirtualkeyboard-internal-qml
\since QtQuick.VirtualKeyboard 2.0
\brief Trace is a data model for touch input data.
@@ -177,6 +154,7 @@ public:
QVirtualKeyboardTrace::QVirtualKeyboardTrace(QObject *parent) :
QObject(*new QVirtualKeyboardTracePrivate(), parent)
{
+ Q_ASSERT(parent);
}
/*! \internal */
@@ -384,6 +362,45 @@ void QVirtualKeyboardTrace::setOpacity(qreal opacity)
}
}
+/*! \qmlmethod void Trace::startHideTimer(int delayMs)
+
+ Starts a timer to set opacity to zero after \a delayMs. If called again
+ within \a delayMs, the timer is restarted.
+
+ With this function the input method can hide the trace from screen before
+ destroying the trace object, for example, to indicate that the trace has
+ been processed.
+
+ \since QtQuick.VirtualKeyboard.Styles 6.1
+*/
+
+/*! Starts a timer to set opacity to zero after \a delayMs. If called again
+ within \a delayMs, the timer is restarted.
+
+ With this function the input method can hide the trace from screen before
+ destroying the trace object, for example, to indicate that the trace has
+ been processed.
+
+ \since QtQuick.VirtualKeyboard.Styles 6.1
+*/
+
+void QVirtualKeyboardTrace::startHideTimer(int delayMs)
+{
+ Q_D(QVirtualKeyboardTrace);
+ if (d->hideTimer != 0) {
+ killTimer(d->hideTimer);
+ }
+ d->hideTimer = startTimer(delayMs);
+}
+
+void QVirtualKeyboardTrace::timerEvent(QTimerEvent *event)
+{
+ Q_UNUSED(event)
+ Q_D(QVirtualKeyboardTrace);
+ d->hideTimer = 0;
+ setOpacity(0);
+}
+
/*! \qmlproperty int Trace::traceId
Unique id of this Trace.
diff --git a/src/virtualkeyboard/qvirtualkeyboardtrace.h b/src/virtualkeyboard/qvirtualkeyboardtrace.h
index 18544742..84161f4d 100644
--- a/src/virtualkeyboard/qvirtualkeyboardtrace.h
+++ b/src/virtualkeyboard/qvirtualkeyboardtrace.h
@@ -1,45 +1,20 @@
-/****************************************************************************
-**
-** Copyright (C) 2016 The Qt Company Ltd.
-** Contact: https://www.qt.io/licensing/
-**
-** This file is part of the Qt Virtual Keyboard module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:GPL$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see https://www.qt.io/terms-conditions. For further
-** information use the contact form at https://www.qt.io/contact-us.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 3 or (at your option) any later version
-** approved by the KDE Free Qt Foundation. The licenses are as published by
-** the Free Software Foundation and appearing in the file LICENSE.GPL3
-** included in the packaging of this file. Please review the following
-** information to ensure the GNU General Public License requirements will
-** be met: https://www.gnu.org/licenses/gpl-3.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
+// Copyright (C) 2016 The Qt Company Ltd.
+// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GPL-3.0-only
#ifndef QVIRTUALKEYBOARDTRACE_H
#define QVIRTUALKEYBOARDTRACE_H
-#include <QObject>
-#include <QVariant>
-#include <QPointF>
+#include <QtCore/QObject>
+#include <QtCore/QVariant>
+#include <QtCore/QPointF>
+#include <QtQml/qqml.h>
#include <QtVirtualKeyboard/qvirtualkeyboard_global.h>
QT_BEGIN_NAMESPACE
class QVirtualKeyboardTracePrivate;
-class QVIRTUALKEYBOARD_EXPORT QVirtualKeyboardTrace : public QObject
+class Q_VIRTUALKEYBOARD_EXPORT QVirtualKeyboardTrace : public QObject
{
Q_OBJECT
Q_DECLARE_PRIVATE(QVirtualKeyboardTrace)
@@ -49,6 +24,10 @@ class QVIRTUALKEYBOARD_EXPORT QVirtualKeyboardTrace : public QObject
Q_PROPERTY(bool final READ isFinal WRITE setFinal NOTIFY finalChanged)
Q_PROPERTY(bool canceled READ isCanceled WRITE setCanceled NOTIFY canceledChanged)
Q_PROPERTY(qreal opacity READ opacity WRITE setOpacity NOTIFY opacityChanged)
+ QML_NAMED_ELEMENT(Trace)
+ QML_UNCREATABLE("Trace object is created by InputContext.inputEngine.traceBegin() function")
+ QML_ADDED_IN_VERSION(2, 0)
+
public:
explicit QVirtualKeyboardTrace(QObject *parent = nullptr);
~QVirtualKeyboardTrace();
@@ -76,6 +55,11 @@ public:
qreal opacity() const;
void setOpacity(qreal opacity);
+ Q_REVISION(6, 1) Q_INVOKABLE void startHideTimer(int delayMs);
+
+protected:
+ void timerEvent(QTimerEvent *event) override;
+
Q_SIGNALS:
void traceIdChanged(int traceId);
void channelsChanged();
diff --git a/src/virtualkeyboard/settings.cpp b/src/virtualkeyboard/settings.cpp
index 1d324687..15d66bbc 100644
--- a/src/virtualkeyboard/settings.cpp
+++ b/src/virtualkeyboard/settings.cpp
@@ -1,34 +1,12 @@
-/****************************************************************************
-**
-** Copyright (C) 2016 The Qt Company Ltd.
-** Contact: https://www.qt.io/licensing/
-**
-** This file is part of the Qt Virtual Keyboard module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:GPL$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see https://www.qt.io/terms-conditions. For further
-** information use the contact form at https://www.qt.io/contact-us.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 3 or (at your option) any later version
-** approved by the KDE Free Qt Foundation. The licenses are as published by
-** the Free Software Foundation and appearing in the file LICENSE.GPL3
-** included in the packaging of this file. Please review the following
-** information to ensure the GNU General Public License requirements will
-** be met: https://www.gnu.org/licenses/gpl-3.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
+// Copyright (C) 2016 The Qt Company Ltd.
+// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GPL-3.0-only
#include <QtVirtualKeyboard/private/settings_p.h>
#include <QtCore/private/qobject_p.h>
+#include <QStandardPaths>
+#include <QFileInfo>
+#include <QDir>
+#include "virtualkeyboarddebug_p.h"
QT_BEGIN_NAMESPACE
namespace QtVirtualKeyboard {
@@ -47,8 +25,29 @@ public:
wclAutoHideDelay(5000),
wclAlwaysVisible(false),
wclAutoCommitWord(false),
- fullScreenMode(false)
- {}
+ fullScreenMode(false),
+ userDataPath(QStringLiteral("%1/qtvirtualkeyboard")
+ .arg(QStandardPaths::writableLocation(
+ QStandardPaths::GenericConfigLocation))),
+ hwrTimeoutForAlphabetic(500),
+ hwrTimeoutForCjk(500),
+ handwritingModeDisabled(false),
+ defaultInputMethodDisabled(false),
+ defaultDictionaryDisabled(false),
+ visibleFunctionKeys(QtVirtualKeyboard::KeyboardFunctionKey::All),
+ closeOnReturn(false)
+ {
+ ensureUserDataPathExists();
+ }
+
+ void ensureUserDataPathExists() const
+ {
+ if (!userDataPath.isEmpty() && !QFileInfo::exists(userDataPath)) {
+ if (!QDir::root().mkpath(userDataPath)) {
+ VIRTUALKEYBOARD_WARN() << "Cannot create directory for user data" << userDataPath;
+ }
+ }
+ }
QString style;
QString styleName;
@@ -60,6 +59,15 @@ public:
bool wclAlwaysVisible;
bool wclAutoCommitWord;
bool fullScreenMode;
+ QString userDataPath;
+ int hwrTimeoutForAlphabetic;
+ int hwrTimeoutForCjk;
+ Qt::InputMethodHints inputMethodHints;
+ bool handwritingModeDisabled;
+ bool defaultInputMethodDisabled;
+ bool defaultDictionaryDisabled;
+ QtVirtualKeyboard::KeyboardFunctionKeys visibleFunctionKeys;
+ bool closeOnReturn;
};
static QScopedPointer<Settings> s_settingsInstance;
@@ -231,5 +239,141 @@ void Settings::setFullScreenMode(bool fullScreenMode)
}
}
+QString Settings::userDataPath() const
+{
+ Q_D(const Settings);
+ return d->userDataPath;
+}
+
+void Settings::setUserDataPath(const QString &userDataPath)
+{
+ Q_D(Settings);
+ if (d->userDataPath != userDataPath) {
+ d->userDataPath = userDataPath;
+ d->ensureUserDataPathExists();
+ emit userDataPathChanged();
+ }
+}
+
+int Settings::hwrTimeoutForAlphabetic() const
+{
+ Q_D(const Settings);
+ return d->hwrTimeoutForAlphabetic;
+}
+
+void Settings::setHwrTimeoutForAlphabetic(int hwrTimeoutForAlphabetic)
+{
+ Q_D(Settings);
+ if (d->hwrTimeoutForAlphabetic != hwrTimeoutForAlphabetic) {
+ d->hwrTimeoutForAlphabetic = hwrTimeoutForAlphabetic;
+ emit hwrTimeoutForAlphabeticChanged();
+ }
+}
+
+int Settings::hwrTimeoutForCjk() const
+{
+ Q_D(const Settings);
+ return d->hwrTimeoutForCjk;
+}
+
+void Settings::setHwrTimeoutForCjk(int hwrTimeoutForCjk)
+{
+ Q_D(Settings);
+ if (d->hwrTimeoutForCjk != hwrTimeoutForCjk) {
+ d->hwrTimeoutForCjk = hwrTimeoutForCjk;
+ emit hwrTimeoutForCjkChanged();
+ }
+}
+
+Qt::InputMethodHints Settings::inputMethodHints() const
+{
+ Q_D(const Settings);
+ return d->inputMethodHints;
+}
+
+void Settings::setInputMethodHints(const Qt::InputMethodHints &inputMethodHints)
+{
+ Q_D(Settings);
+ if (d->inputMethodHints != inputMethodHints) {
+ d->inputMethodHints = inputMethodHints;
+ emit inputMethodHintsChanged();
+ }
+}
+
+bool Settings::isHandwritingModeDisabled() const
+{
+ Q_D(const Settings);
+ return d->handwritingModeDisabled;
+}
+
+void Settings::setHandwritingModeDisabled(bool handwritingModeDisabled)
+{
+ Q_D(Settings);
+ if (d->handwritingModeDisabled != handwritingModeDisabled) {
+ d->handwritingModeDisabled = handwritingModeDisabled;
+ emit handwritingModeDisabledChanged();
+ }
+}
+
+bool Settings::isDefaultInputMethodDisabled() const
+{
+ Q_D(const Settings);
+ return d->defaultInputMethodDisabled;
+}
+
+void Settings::setDefaultInputMethodDisabled(bool defaultInputMethodDisabled)
+{
+ Q_D(Settings);
+ if (d->defaultInputMethodDisabled != defaultInputMethodDisabled) {
+ d->defaultInputMethodDisabled = defaultInputMethodDisabled;
+ emit defaultInputMethodDisabledChanged();
+ }
+}
+
+bool QtVirtualKeyboard::Settings::isDefaultDictionaryDisabled() const
+{
+ Q_D(const Settings);
+ return d->defaultDictionaryDisabled;
+}
+
+void QtVirtualKeyboard::Settings::setDefaultDictionaryDisabled(bool defaultDictionaryDisabled)
+{
+ Q_D(Settings);
+ if (d->defaultDictionaryDisabled != defaultDictionaryDisabled) {
+ d->defaultDictionaryDisabled = defaultDictionaryDisabled;
+ emit defaultDictionaryDisabledChanged();
+ }
+}
+
+QtVirtualKeyboard::KeyboardFunctionKeys Settings::visibleFunctionKeys() const
+{
+ Q_D(const Settings);
+ return d->visibleFunctionKeys;
+}
+
+void Settings::setVisibleFunctionKeys(QtVirtualKeyboard::KeyboardFunctionKeys newVisibleFunctionKeys)
+{
+ Q_D(Settings);
+ if (d->visibleFunctionKeys != newVisibleFunctionKeys) {
+ d->visibleFunctionKeys = newVisibleFunctionKeys;
+ emit visibleFunctionKeysChanged();
+ }
+}
+
+bool Settings::closeOnReturn() const
+{
+ Q_D(const Settings);
+ return d->closeOnReturn;
+}
+
+void Settings::setCloseOnReturn(bool enabled)
+{
+ Q_D(Settings);
+ if (d->closeOnReturn != enabled) {
+ d->closeOnReturn = enabled;
+ emit closeOnReturnChanged();
+ }
+}
+
} // namespace QtVirtualKeyboard
QT_END_NAMESPACE
diff --git a/src/virtualkeyboard/settings_p.h b/src/virtualkeyboard/settings_p.h
index 843592fe..4efd757f 100644
--- a/src/virtualkeyboard/settings_p.h
+++ b/src/virtualkeyboard/settings_p.h
@@ -1,31 +1,5 @@
-/****************************************************************************
-**
-** Copyright (C) 2016 The Qt Company Ltd.
-** Contact: https://www.qt.io/licensing/
-**
-** This file is part of the Qt Virtual Keyboard module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:GPL$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see https://www.qt.io/terms-conditions. For further
-** information use the contact form at https://www.qt.io/contact-us.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 3 or (at your option) any later version
-** approved by the KDE Free Qt Foundation. The licenses are as published by
-** the Free Software Foundation and appearing in the file LICENSE.GPL3
-** included in the packaging of this file. Please review the following
-** information to ensure the GNU General Public License requirements will
-** be met: https://www.gnu.org/licenses/gpl-3.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
+// Copyright (C) 2021 The Qt Company Ltd.
+// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GPL-3.0-only
#ifndef SETTINGS_P_H
#define SETTINGS_P_H
@@ -41,16 +15,18 @@
// We mean it.
//
+#include "qvirtualkeyboardnamespace_p.h"
#include <QObject>
#include <QUrl>
#include <QtVirtualKeyboard/qvirtualkeyboard_global.h>
+#include <QtCore/private/qglobal_p.h>
QT_BEGIN_NAMESPACE
namespace QtVirtualKeyboard {
class SettingsPrivate;
-class QVIRTUALKEYBOARD_EXPORT Settings : public QObject
+class Q_VIRTUALKEYBOARD_EXPORT Settings : public QObject
{
Q_OBJECT
Q_DISABLE_COPY(Settings)
@@ -91,6 +67,33 @@ public:
bool fullScreenMode() const;
void setFullScreenMode(bool fullScreenMode);
+ QString userDataPath() const;
+ void setUserDataPath(const QString &userDataPath);
+
+ int hwrTimeoutForAlphabetic() const;
+ void setHwrTimeoutForAlphabetic(int hwrTimeoutForAlphabetic);
+
+ int hwrTimeoutForCjk() const;
+ void setHwrTimeoutForCjk(int hwrTimeoutForCjk);
+
+ Qt::InputMethodHints inputMethodHints() const;
+ void setInputMethodHints(const Qt::InputMethodHints &inputMethodHints);
+
+ bool isHandwritingModeDisabled() const;
+ void setHandwritingModeDisabled(bool handwritingModeDisabled);
+
+ bool isDefaultInputMethodDisabled() const;
+ void setDefaultInputMethodDisabled(bool defaultInputMethodDisabled);
+
+ bool isDefaultDictionaryDisabled() const;
+ void setDefaultDictionaryDisabled(bool defaultDictionaryDisabled);
+
+ QtVirtualKeyboard::KeyboardFunctionKeys visibleFunctionKeys() const;
+ void setVisibleFunctionKeys(QtVirtualKeyboard::KeyboardFunctionKeys newVisibleFunctionKeys);
+
+ bool closeOnReturn() const;
+ void setCloseOnReturn(bool enable);
+
signals:
void styleChanged();
void styleNameChanged();
@@ -102,6 +105,16 @@ signals:
void wclAlwaysVisibleChanged();
void wclAutoCommitWordChanged();
void fullScreenModeChanged();
+ void userDataPathChanged();
+ void userDataReset();
+ void hwrTimeoutForAlphabeticChanged();
+ void hwrTimeoutForCjkChanged();
+ void inputMethodHintsChanged();
+ void handwritingModeDisabledChanged();
+ void defaultInputMethodDisabledChanged();
+ void defaultDictionaryDisabledChanged();
+ void visibleFunctionKeysChanged();
+ void closeOnReturnChanged();
};
} // namespace QtVirtualKeyboard
diff --git a/src/virtualkeyboard/shadowinputcontext.cpp b/src/virtualkeyboard/shadowinputcontext.cpp
index 2390e04c..c7a5387c 100644
--- a/src/virtualkeyboard/shadowinputcontext.cpp
+++ b/src/virtualkeyboard/shadowinputcontext.cpp
@@ -1,31 +1,5 @@
-/****************************************************************************
-**
-** Copyright (C) 2017 The Qt Company Ltd.
-** Contact: https://www.qt.io/licensing/
-**
-** This file is part of the Qt Virtual Keyboard module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:GPL$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see https://www.qt.io/terms-conditions. For further
-** information use the contact form at https://www.qt.io/contact-us.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 3 or (at your option) any later version
-** approved by the KDE Free Qt Foundation. The licenses are as published by
-** the Free Software Foundation and appearing in the file LICENSE.GPL3
-** included in the packaging of this file. Please review the following
-** information to ensure the GNU General Public License requirements will
-** be met: https://www.gnu.org/licenses/gpl-3.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
+// Copyright (C) 2017 The Qt Company Ltd.
+// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GPL-3.0-only
#include <QtVirtualKeyboard/private/shadowinputcontext_p.h>
#include <QtVirtualKeyboard/qvirtualkeyboardinputcontext.h>
@@ -36,7 +10,6 @@
#include <QQuickItem>
QT_BEGIN_NAMESPACE
-bool operator==(const QInputMethodEvent::Attribute &attribute1, const QInputMethodEvent::Attribute &attribute2);
namespace QtVirtualKeyboard {
@@ -133,6 +106,8 @@ void ShadowInputContext::setSelectionOnFocusObject(const QPointF &anchorPos, con
if (success) {
int cursor = queryFocusObject(Qt::ImCursorPosition, quickItem ? quickItem->mapFromScene(cursorPos) : cursorPos).toInt(&success);
if (success) {
+ if (anchor == cursor && anchorPos != cursorPos)
+ return;
QList<QInputMethodEvent::Attribute> imAttributes;
imAttributes.append(QInputMethodEvent::Attribute(QInputMethodEvent::Selection, anchor, cursor - anchor, QVariant()));
QInputMethodEvent event(QString(), imAttributes);
@@ -203,22 +178,28 @@ void ShadowInputContext::update(Qt::InputMethodQueries queries)
const int newCursorPosition = d->inputContext->cursorPosition();
const int newAnchorPosition = d->inputContext->anchorPosition();
+ const QString newPreeditText = d->inputContext->preeditText();
+ const QList<QInputMethodEvent::Attribute> newPreeditAttributes = d->inputContext->preeditTextAttributes();
+
bool updateSurroundingText = newSurroundingText != surroundingText;
bool updateSelection = newCursorPosition != cursorPosition || newAnchorPosition != anchorPosition;
+ if (updateSurroundingText) {
+ QInputMethodEvent inputEvent;
+ inputEvent.setCommitString(newSurroundingText, -cursorPosition, surroundingText.size());
+ QGuiApplication::sendEvent(d->inputItem, &inputEvent);
+ }
+
if (updateSurroundingText || updateSelection) {
QList<QInputMethodEvent::Attribute> attributes;
attributes.append(QInputMethodEvent::Attribute(QInputMethodEvent::Selection,
newAnchorPosition,
newCursorPosition - newAnchorPosition, QVariant()));
QInputMethodEvent inputEvent(QString(), attributes);
- if (updateSurroundingText)
- inputEvent.setCommitString(newSurroundingText, -cursorPosition, surroundingText.length());
QGuiApplication::sendEvent(d->inputItem, &inputEvent);
}
- const QString newPreeditText = d->inputContext->preeditText();
- const QList<QInputMethodEvent::Attribute> newPreeditAttributes = d->inputContext->preeditTextAttributes();
- if (d->preeditText != newPreeditText || d->preeditTextAttributes != newPreeditAttributes) {
+ const bool forcePreeditText = !newPreeditText.isEmpty() && (updateSurroundingText || updateSelection);
+ if (forcePreeditText || d->preeditText != newPreeditText || d->preeditTextAttributes != newPreeditAttributes) {
d->preeditText = newPreeditText;
d->preeditTextAttributes = newPreeditAttributes;
QInputMethodEvent inputEvent(d->preeditText, d->preeditTextAttributes);
diff --git a/src/virtualkeyboard/shadowinputcontext_p.h b/src/virtualkeyboard/shadowinputcontext_p.h
index f77aba08..aa07ddb6 100644
--- a/src/virtualkeyboard/shadowinputcontext_p.h
+++ b/src/virtualkeyboard/shadowinputcontext_p.h
@@ -1,31 +1,5 @@
-/****************************************************************************
-**
-** Copyright (C) 2017 The Qt Company Ltd.
-** Contact: https://www.qt.io/licensing/
-**
-** This file is part of the Qt Virtual Keyboard module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:GPL$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see https://www.qt.io/terms-conditions. For further
-** information use the contact form at https://www.qt.io/contact-us.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 3 or (at your option) any later version
-** approved by the KDE Free Qt Foundation. The licenses are as published by
-** the Free Software Foundation and appearing in the file LICENSE.GPL3
-** included in the packaging of this file. Please review the following
-** information to ensure the GNU General Public License requirements will
-** be met: https://www.gnu.org/licenses/gpl-3.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
+// Copyright (C) 2021 The Qt Company Ltd.
+// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GPL-3.0-only
#ifndef SHADOWINPUTCONTEXT_P_H
#define SHADOWINPUTCONTEXT_P_H
@@ -45,7 +19,9 @@
#include <QPointer>
#include <QMetaType>
#include <QRectF>
+#include <QtQml/qqml.h>
#include <QtVirtualKeyboard/qvirtualkeyboard_global.h>
+#include <QtCore/private/qglobal_p.h>
QT_BEGIN_NAMESPACE
@@ -56,7 +32,7 @@ namespace QtVirtualKeyboard {
class ShadowInputContextPrivate;
-class QVIRTUALKEYBOARD_EXPORT ShadowInputContext : public QObject
+class Q_VIRTUALKEYBOARD_EXPORT ShadowInputContext : public QObject
{
Q_OBJECT
Q_DISABLE_COPY(ShadowInputContext)
@@ -67,6 +43,9 @@ class QVIRTUALKEYBOARD_EXPORT ShadowInputContext : public QObject
Q_PROPERTY(bool anchorRectIntersectsClipRect READ anchorRectIntersectsClipRect NOTIFY anchorRectIntersectsClipRectChanged)
Q_PROPERTY(bool cursorRectIntersectsClipRect READ cursorRectIntersectsClipRect NOTIFY cursorRectIntersectsClipRectChanged)
Q_PROPERTY(bool selectionControlVisible READ selectionControlVisible NOTIFY selectionControlVisibleChanged)
+ QML_NAMED_ELEMENT(ShadowInputContext)
+ QML_UNCREATABLE("ShadowInputContext is only available via InputContext.priv.shadow")
+ QML_ADDED_IN_VERSION(2, 0)
explicit ShadowInputContext(QObject *parent = nullptr);
diff --git a/src/virtualkeyboard/shifthandler.cpp b/src/virtualkeyboard/shifthandler.cpp
index f170ee59..cd809115 100644
--- a/src/virtualkeyboard/shifthandler.cpp
+++ b/src/virtualkeyboard/shifthandler.cpp
@@ -1,31 +1,5 @@
-/****************************************************************************
-**
-** Copyright (C) 2016 The Qt Company Ltd.
-** Contact: https://www.qt.io/licensing/
-**
-** This file is part of the Qt Virtual Keyboard module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:GPL$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see https://www.qt.io/terms-conditions. For further
-** information use the contact form at https://www.qt.io/contact-us.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 3 or (at your option) any later version
-** approved by the KDE Free Qt Foundation. The licenses are as published by
-** the Free Software Foundation and appearing in the file LICENSE.GPL3
-** included in the packaging of this file. Please review the following
-** information to ensure the GNU General Public License requirements will
-** be met: https://www.gnu.org/licenses/gpl-3.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
+// Copyright (C) 2016 The Qt Company Ltd.
+// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GPL-3.0-only
#include <QtVirtualKeyboard/private/shifthandler_p.h>
#include <QtVirtualKeyboard/private/qvirtualkeyboardinputcontext_p.h>
@@ -38,6 +12,14 @@
#include <QStyleHints>
QT_BEGIN_NAMESPACE
+
+using namespace Qt::StringLiterals;
+
+size_t qHash(QLocale::Language lang, size_t seed)
+{
+ return qHash(ushort(lang), seed);
+}
+
namespace QtVirtualKeyboard {
class ShiftHandlerPrivate : public QObjectPrivate
@@ -46,7 +28,7 @@ public:
ShiftHandlerPrivate() :
QObjectPrivate(),
inputContext(nullptr),
- sentenceEndingCharacters(QLatin1String(".!?") + QChar(Qt::Key_exclamdown) + QChar(Qt::Key_questiondown)),
+ sentenceEndingCharacters(u".!?¡¿"_s),
autoCapitalizationEnabled(false),
toggleShiftEnabled(false),
shift(false),
@@ -55,7 +37,7 @@ public:
resetWhenVisible(false),
manualShiftLanguageFilter(QSet<QLocale::Language>() << QLocale::Arabic << QLocale::Persian << QLocale::Hindi << QLocale::Korean << QLocale::Thai),
manualCapsInputModeFilter(QSet<QVirtualKeyboardInputEngine::InputMode>() << QVirtualKeyboardInputEngine::InputMode::Cangjie << QVirtualKeyboardInputEngine::InputMode::Zhuyin << QVirtualKeyboardInputEngine::InputMode::Hebrew),
- noAutoUppercaseInputModeFilter(QSet<QVirtualKeyboardInputEngine::InputMode>() << QVirtualKeyboardInputEngine::InputMode::FullwidthLatin << QVirtualKeyboardInputEngine::InputMode::Pinyin << QVirtualKeyboardInputEngine::InputMode::Cangjie << QVirtualKeyboardInputEngine::InputMode::Zhuyin << QVirtualKeyboardInputEngine::InputMode::ChineseHandwriting << QVirtualKeyboardInputEngine::InputMode::JapaneseHandwriting << QVirtualKeyboardInputEngine::InputMode::KoreanHandwriting),
+ noAutoUppercaseInputModeFilter(QSet<QVirtualKeyboardInputEngine::InputMode>() << QVirtualKeyboardInputEngine::InputMode::FullwidthLatin << QVirtualKeyboardInputEngine::InputMode::Pinyin << QVirtualKeyboardInputEngine::InputMode::Cangjie << QVirtualKeyboardInputEngine::InputMode::Zhuyin << QVirtualKeyboardInputEngine::InputMode::ChineseHandwriting << QVirtualKeyboardInputEngine::InputMode::JapaneseHandwriting << QVirtualKeyboardInputEngine::InputMode::KoreanHandwriting << QVirtualKeyboardInputEngine::InputMode::Romaji),
allCapsInputModeFilter(QSet<QVirtualKeyboardInputEngine::InputMode>() << QVirtualKeyboardInputEngine::InputMode::Hiragana << QVirtualKeyboardInputEngine::InputMode::Katakana)
{
}
@@ -79,7 +61,7 @@ public:
/*!
\qmltype ShiftHandler
\inqmlmodule QtQuick.VirtualKeyboard
- \ingroup qtvirtualkeyboard-qml
+ \ingroup qtvirtualkeyboard-internal-qml
\instantiates QtVirtualKeyboard::ShiftHandler
\brief Manages the shift state.
*/
@@ -301,7 +283,7 @@ void ShiftHandler::autoCapitalize()
} else { // space after sentence-ending character triggers auto-capitalization
QString text = d->inputContext->surroundingText();
text.truncate(cursorPosition);
- if (text.trimmed().length() == 0)
+ if (text.trimmed().size() == 0)
setShiftActive(!preferLowerCase);
else if (text.endsWith(QLatin1Char(' ')))
setShiftActive(d->sentenceEndingCharacters.contains(QStringView{text}.right(2)[0])
diff --git a/src/virtualkeyboard/shifthandler_p.h b/src/virtualkeyboard/shifthandler_p.h
index 1dcce96c..e520402e 100644
--- a/src/virtualkeyboard/shifthandler_p.h
+++ b/src/virtualkeyboard/shifthandler_p.h
@@ -1,31 +1,5 @@
-/****************************************************************************
-**
-** Copyright (C) 2016 The Qt Company Ltd.
-** Contact: https://www.qt.io/licensing/
-**
-** This file is part of the Qt Virtual Keyboard module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:GPL$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see https://www.qt.io/terms-conditions. For further
-** information use the contact form at https://www.qt.io/contact-us.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 3 or (at your option) any later version
-** approved by the KDE Free Qt Foundation. The licenses are as published by
-** the Free Software Foundation and appearing in the file LICENSE.GPL3
-** included in the packaging of this file. Please review the following
-** information to ensure the GNU General Public License requirements will
-** be met: https://www.gnu.org/licenses/gpl-3.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
+// Copyright (C) 2021 The Qt Company Ltd.
+// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GPL-3.0-only
#ifndef SHIFTHANDLER_P_H
#define SHIFTHANDLER_P_H
@@ -42,7 +16,9 @@
//
#include <QObject>
+#include <QtQml/qqml.h>
#include <QtVirtualKeyboard/qvirtualkeyboard_global.h>
+#include <QtCore/private/qglobal_p.h>
QT_BEGIN_NAMESPACE
@@ -53,7 +29,7 @@ namespace QtVirtualKeyboard {
class ShiftHandlerPrivate;
-class QVIRTUALKEYBOARD_EXPORT ShiftHandler : public QObject
+class Q_VIRTUALKEYBOARD_EXPORT ShiftHandler : public QObject
{
Q_OBJECT
Q_DISABLE_COPY(ShiftHandler)
@@ -64,6 +40,10 @@ class QVIRTUALKEYBOARD_EXPORT ShiftHandler : public QObject
Q_PROPERTY(bool shiftActive READ isShiftActive WRITE setShiftActive NOTIFY shiftActiveChanged)
Q_PROPERTY(bool capsLockActive READ isCapsLockActive WRITE setCapsLockActive NOTIFY capsLockActiveChanged)
Q_PROPERTY(bool uppercase READ isUppercase NOTIFY uppercaseChanged)
+ QML_NAMED_ELEMENT(ShiftHandler)
+ QML_UNCREATABLE("ShiftHandler is only available via InputContextPrivate.shiftHandler")
+ QML_ADDED_IN_VERSION(1, 0)
+ QML_EXTRA_VERSION(2, 0)
explicit ShiftHandler(QVirtualKeyboardInputContext *parent = nullptr);
void init();
diff --git a/src/virtualkeyboard/unipentrace.cpp b/src/virtualkeyboard/unipentrace.cpp
index eca531c2..123ffcbd 100644
--- a/src/virtualkeyboard/unipentrace.cpp
+++ b/src/virtualkeyboard/unipentrace.cpp
@@ -1,31 +1,5 @@
-/****************************************************************************
-**
-** Copyright (C) 2017 The Qt Company Ltd.
-** Contact: https://www.qt.io/licensing/
-**
-** This file is part of the Qt Virtual Keyboard module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:GPL$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see https://www.qt.io/terms-conditions. For further
-** information use the contact form at https://www.qt.io/contact-us.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 3 or (at your option) any later version
-** approved by the KDE Free Qt Foundation. The licenses are as published by
-** the Free Software Foundation and appearing in the file LICENSE.GPL3
-** included in the packaging of this file. Please review the following
-** information to ensure the GNU General Public License requirements will
-** be met: https://www.gnu.org/licenses/gpl-3.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
+// Copyright (C) 2017 The Qt Company Ltd.
+// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GPL-3.0-only
#include <QtVirtualKeyboard/private/unipentrace_p.h>
#include <QRectF>
@@ -65,7 +39,7 @@ UnipenTrace::UnipenTrace(const QVariantMap &traceCaptureDeviceInfo,
void UnipenTrace::record(const QList<QVirtualKeyboardTrace *> &traceList)
{
qlonglong t0 = 0;
- for (const QVirtualKeyboardTrace *trace : qAsConst(traceList)) {
+ for (const QVirtualKeyboardTrace *trace : std::as_const(traceList)) {
const QVariantList &points = trace->points();
const bool hasTime = trace->channels().contains(QLatin1String("t"));
const QVariantList timeData = hasTime ? trace->channelData(QLatin1String("t")) : QVariantList();
diff --git a/src/virtualkeyboard/unipentrace_p.h b/src/virtualkeyboard/unipentrace_p.h
index 09441e59..ec058c32 100644
--- a/src/virtualkeyboard/unipentrace_p.h
+++ b/src/virtualkeyboard/unipentrace_p.h
@@ -1,31 +1,5 @@
-/****************************************************************************
-**
-** Copyright (C) 2017 The Qt Company Ltd.
-** Contact: https://www.qt.io/licensing/
-**
-** This file is part of the Qt Virtual Keyboard module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:GPL$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see https://www.qt.io/terms-conditions. For further
-** information use the contact form at https://www.qt.io/contact-us.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 3 or (at your option) any later version
-** approved by the KDE Free Qt Foundation. The licenses are as published by
-** the Free Software Foundation and appearing in the file LICENSE.GPL3
-** included in the packaging of this file. Please review the following
-** information to ensure the GNU General Public License requirements will
-** be met: https://www.gnu.org/licenses/gpl-3.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
+// Copyright (C) 2021 The Qt Company Ltd.
+// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GPL-3.0-only
#ifndef UNIPENTRACE_H
#define UNIPENTRACE_H
@@ -44,11 +18,12 @@
#include <QObject>
#include <QtVirtualKeyboard/qvirtualkeyboardtrace.h>
#include <QtVirtualKeyboard/qvirtualkeyboard_global.h>
+#include <QtCore/private/qglobal_p.h>
QT_BEGIN_NAMESPACE
namespace QtVirtualKeyboard {
-class QVIRTUALKEYBOARD_EXPORT UnipenTrace : public QObject
+class Q_VIRTUALKEYBOARD_EXPORT UnipenTrace : public QObject
{
Q_OBJECT
public:
diff --git a/src/virtualkeyboard/virtualkeyboard.cpp b/src/virtualkeyboard/virtualkeyboard.cpp
new file mode 100644
index 00000000..6b2fa50d
--- /dev/null
+++ b/src/virtualkeyboard/virtualkeyboard.cpp
@@ -0,0 +1,52 @@
+// Copyright (C) 2021 The Qt Company Ltd.
+// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GPL-3.0-only
+
+#include <QtVirtualKeyboard/private/virtualkeyboard_p.h>
+#include <QtVirtualKeyboard/private/virtualkeyboardattachedtype_p.h>
+
+QT_BEGIN_NAMESPACE
+namespace QtVirtualKeyboard {
+
+/*!
+ \qmltype VirtualKeyboard
+ \inqmlmodule QtQuick.VirtualKeyboard
+ \ingroup qmlclass
+ \ingroup qtvirtualkeyboard-qml
+ \brief Provides attached properties for customizing the virtual keyboard.
+ \since QtQuick.VirtualKeyboard 6.1
+
+ The VirtualKeyboard type provides attached properties which allow
+ customizing the virtual keyboard, such as attaching custom dictionaries.
+
+ The VirtualKeyboard must be used directly inside the item
+ receiving input focus, e.g. TextInput.
+
+ For example:
+ \code
+ TextInput {
+ VirtualKeyboard.extraDictionaries: ["myDictionary"]
+ }
+ \endcode
+*/
+
+/*!
+ \class QtVirtualKeyboard::VirtualKeyboard
+ \internal
+*/
+
+/*!
+ \internal
+*/
+VirtualKeyboardAttachedType *VirtualKeyboard::qmlAttachedProperties(QObject *object)
+{
+ return new VirtualKeyboardAttachedType(object);
+}
+
+/*!
+ \qmlattachedproperty list VirtualKeyboard::extraDictionaries
+
+ Sets active user dictionaries in this context.
+*/
+
+} // namespace QtVirtualKeyboard
+QT_END_NAMESPACE
diff --git a/src/virtualkeyboard/virtualkeyboard.pro b/src/virtualkeyboard/virtualkeyboard.pro
deleted file mode 100644
index 37e695cc..00000000
--- a/src/virtualkeyboard/virtualkeyboard.pro
+++ /dev/null
@@ -1,433 +0,0 @@
-TARGET = QtVirtualKeyboard
-MODULE = virtualkeyboard
-MODULE_PLUGIN_TYPES = virtualkeyboard
-
-include(../shared.pri)
-
-QMAKE_DOCS = $$PWD/doc/qtvirtualkeyboard.qdocconf
-include(doc/doc.pri)
-
-QT += qml quick gui gui-private core-private
-CONFIG += qtquickcompiler
-
-qtConfig(vkb-sensitive-debug) {
- MODULE_DEFINES += SENSITIVE_DEBUG
-}
-
-
-DEFINES += QVIRTUALKEYBOARD_LIBRARY
-
-SOURCES += \
- platforminputcontext.cpp \
- qvirtualkeyboardinputcontext.cpp \
- qvirtualkeyboardinputcontext_p.cpp \
- qvirtualkeyboardabstractinputmethod.cpp \
- plaininputmethod.cpp \
- qvirtualkeyboardinputengine.cpp \
- shifthandler.cpp \
- inputmethod.cpp \
- inputselectionhandle.cpp \
- qvirtualkeyboardselectionlistmodel.cpp \
- fallbackinputmethod.cpp \
- abstractinputpanel.cpp \
- appinputpanel.cpp \
- enterkeyaction.cpp \
- enterkeyactionattachedtype.cpp \
- settings.cpp \
- virtualkeyboardsettings.cpp \
- qvirtualkeyboardtrace.cpp \
- desktopinputselectioncontrol.cpp \
- shadowinputcontext.cpp \
- gesturerecognizer.cpp \
- handwritinggesturerecognizer.cpp \
- qvirtualkeyboardextensionplugin.cpp
-
-HEADERS += \
- platforminputcontext_p.h \
- qvirtualkeyboardinputcontext.h \
- qvirtualkeyboardinputcontext_p.h \
- qvirtualkeyboardabstractinputmethod.h \
- plaininputmethod_p.h \
- qvirtualkeyboardinputengine.h \
- shifthandler_p.h \
- inputmethod_p.h \
- inputselectionhandle_p.h \
- qvirtualkeyboardselectionlistmodel.h \
- fallbackinputmethod_p.h \
- abstractinputpanel_p.h \
- appinputpanel_p.h \
- appinputpanel_p_p.h \
- virtualkeyboarddebug_p.h \
- enterkeyaction_p.h \
- enterkeyactionattachedtype_p.h \
- settings_p.h \
- virtualkeyboardsettings_p.h \
- qvirtualkeyboardtrace.h \
- desktopinputselectioncontrol_p.h \
- shadowinputcontext_p.h \
- gesturerecognizer_p.h \
- handwritinggesturerecognizer_p.h \
- qvirtualkeyboard_global.h \
- qvirtualkeyboard_global_p.h \
- qvirtualkeyboardextensionplugin.h \
- qvirtualkeyboard_staticplugin_p.h
-
-!no-builtin-style: RESOURCES += \
- content/styles/default/virtualkeyboard_default_style.qrc \
- content/styles/retro/virtualkeyboard_retro_style.qrc
-
-RESOURCES += \
- content/virtualkeyboard_content.qrc
-
-# Fallback for languages which don't have these special layouts
-LAYOUT_FILES += \
- content/layouts/fallback/dialpad.qml \
- content/layouts/fallback/digits.qml \
- content/layouts/fallback/numbers.qml \
- content/layouts/fallback/main.qml \
- content/layouts/fallback/symbols.qml
-qtConfig(vkb-lang-en_GB) {
- LAYOUT_FILES += \
- content/layouts/en_GB/dialpad.fallback \
- content/layouts/en_GB/digits.fallback \
- content/layouts/en_GB/main.fallback \
- content/layouts/en_GB/numbers.fallback \
- content/layouts/en_GB/symbols.fallback
-}
-qtConfig(vkb-lang-en_US) {
- LAYOUT_FILES += \
- content/layouts/en_US/dialpad.fallback \
- content/layouts/en_US/digits.fallback \
- content/layouts/en_US/main.fallback \
- content/layouts/en_US/numbers.fallback \
- content/layouts/en_US/symbols.fallback
-}
-qtConfig(vkb-lang-ar_AR) {
- LAYOUT_FILES += \
- content/layouts/ar_AR/dialpad.fallback \
- content/layouts/ar_AR/digits.qml \
- content/layouts/ar_AR/main.qml \
- content/layouts/ar_AR/numbers.qml \
- content/layouts/ar_AR/symbols.qml
-}
-qtConfig(vkb-lang-bg_BG) {
- LAYOUT_FILES += \
- content/layouts/bg_BG/dialpad.fallback \
- content/layouts/bg_BG/digits.fallback \
- content/layouts/bg_BG/main.qml \
- content/layouts/bg_BG/numbers.fallback \
- content/layouts/bg_BG/symbols.fallback
-}
-qtConfig(vkb-lang-cs_CZ) {
- LAYOUT_FILES += \
- content/layouts/cs_CZ/dialpad.fallback \
- content/layouts/cs_CZ/digits.fallback \
- content/layouts/cs_CZ/main.qml \
- content/layouts/cs_CZ/numbers.fallback \
- content/layouts/cs_CZ/symbols.fallback
-}
-qtConfig(vkb-lang-da_DK) {
- LAYOUT_FILES += \
- content/layouts/da_DK/dialpad.fallback \
- content/layouts/da_DK/digits.fallback \
- content/layouts/da_DK/main.qml \
- content/layouts/da_DK/numbers.fallback \
- content/layouts/da_DK/symbols.fallback
-}
-qtConfig(vkb-lang-de_DE) {
- LAYOUT_FILES += \
- content/layouts/de_DE/dialpad.fallback \
- content/layouts/de_DE/digits.fallback \
- content/layouts/de_DE/main.qml \
- content/layouts/de_DE/numbers.fallback \
- content/layouts/de_DE/symbols.fallback
-}
-qtConfig(vkb-lang-el_GR) {
- LAYOUT_FILES += \
- content/layouts/el_GR/dialpad.fallback \
- content/layouts/el_GR/digits.fallback \
- content/layouts/el_GR/main.qml \
- content/layouts/el_GR/numbers.fallback \
- content/layouts/el_GR/symbols.fallback
-}
-qtConfig(vkb-lang-es_ES) {
- LAYOUT_FILES += \
- content/layouts/es_ES/dialpad.fallback \
- content/layouts/es_ES/digits.fallback \
- content/layouts/es_ES/main.qml \
- content/layouts/es_ES/numbers.fallback \
- content/layouts/es_ES/symbols.qml
-}
-qtConfig(vkb-lang-es_MX) {
- LAYOUT_FILES += \
- content/layouts/es_MX/dialpad.fallback \
- content/layouts/es_MX/digits.fallback \
- content/layouts/es_MX/main.qml \
- content/layouts/es_MX/numbers.fallback \
- content/layouts/es_MX/symbols.qml
-}
-qtConfig(vkb-lang-et_EE) {
- LAYOUT_FILES += \
- content/layouts/et_EE/dialpad.fallback \
- content/layouts/et_EE/digits.fallback \
- content/layouts/et_EE/main.qml \
- content/layouts/et_EE/numbers.fallback \
- content/layouts/et_EE/symbols.fallback
-}
-qtConfig(vkb-lang-fa_FA) {
- LAYOUT_FILES += \
- content/layouts/fa_FA/dialpad.fallback \
- content/layouts/fa_FA/digits.qml \
- content/layouts/fa_FA/main.qml \
- content/layouts/fa_FA/numbers.qml \
- content/layouts/fa_FA/symbols.qml
-}
-qtConfig(vkb-lang-fi_FI) {
- LAYOUT_FILES += \
- content/layouts/fi_FI/dialpad.fallback \
- content/layouts/fi_FI/digits.fallback \
- content/layouts/fi_FI/main.qml \
- content/layouts/fi_FI/numbers.fallback \
- content/layouts/fi_FI/symbols.fallback
-}
-qtConfig(vkb-lang-fr_CA) {
- LAYOUT_FILES += \
- content/layouts/fr_CA/dialpad.fallback \
- content/layouts/fr_CA/digits.fallback \
- content/layouts/fr_CA/main.qml \
- content/layouts/fr_CA/numbers.fallback \
- content/layouts/fr_CA/symbols.fallback
-}
-qtConfig(vkb-lang-fr_FR) {
- LAYOUT_FILES += \
- content/layouts/fr_FR/dialpad.fallback \
- content/layouts/fr_FR/digits.fallback \
- content/layouts/fr_FR/main.qml \
- content/layouts/fr_FR/numbers.fallback \
- content/layouts/fr_FR/symbols.fallback
-}
-qtConfig(vkb-lang-he_IL) {
- LAYOUT_FILES += \
- content/layouts/he_IL/dialpad.fallback \
- content/layouts/he_IL/digits.fallback \
- content/layouts/he_IL/main.qml \
- content/layouts/he_IL/numbers.fallback \
- content/layouts/he_IL/symbols.qml
-}
-qtConfig(vkb-lang-hi_IN) {
- LAYOUT_FILES += \
- content/layouts/hi_IN/dialpad.fallback \
- content/layouts/hi_IN/digits.fallback \
- content/layouts/hi_IN/main.qml \
- content/layouts/hi_IN/numbers.fallback \
- content/layouts/hi_IN/symbols.qml
-}
-qtConfig(vkb-lang-hr_HR) {
- LAYOUT_FILES += \
- content/layouts/hr_HR/dialpad.fallback \
- content/layouts/hr_HR/digits.fallback \
- content/layouts/hr_HR/main.qml \
- content/layouts/hr_HR/numbers.fallback \
- content/layouts/hr_HR/symbols.fallback
-}
-qtConfig(vkb-lang-hu_HU) {
- LAYOUT_FILES += \
- content/layouts/hu_HU/dialpad.fallback \
- content/layouts/hu_HU/digits.fallback \
- content/layouts/hu_HU/main.qml \
- content/layouts/hu_HU/numbers.fallback \
- content/layouts/hu_HU/symbols.fallback
-}
-qtConfig(vkb-lang-id_ID) {
- LAYOUT_FILES += \
- content/layouts/id_ID/dialpad.fallback \
- content/layouts/id_ID/digits.fallback \
- content/layouts/id_ID/main.fallback \
- content/layouts/id_ID/numbers.fallback \
- content/layouts/id_ID/symbols.fallback
-}
-qtConfig(vkb-lang-it_IT) {
- LAYOUT_FILES += \
- content/layouts/it_IT/dialpad.fallback \
- content/layouts/it_IT/digits.fallback \
- content/layouts/it_IT/main.qml \
- content/layouts/it_IT/numbers.fallback \
- content/layouts/it_IT/symbols.fallback
-}
-qtConfig(vkb-lang-nb_NO) {
- LAYOUT_FILES += \
- content/layouts/nb_NO/dialpad.fallback \
- content/layouts/nb_NO/digits.fallback \
- content/layouts/nb_NO/main.qml \
- content/layouts/nb_NO/numbers.fallback \
- content/layouts/nb_NO/symbols.fallback
-}
-qtConfig(vkb-lang-ms_MY) {
- LAYOUT_FILES += \
- content/layouts/ms_MY/dialpad.fallback \
- content/layouts/ms_MY/digits.fallback \
- content/layouts/ms_MY/main.fallback \
- content/layouts/ms_MY/numbers.fallback \
- content/layouts/ms_MY/symbols.fallback
-}
-qtConfig(vkb-lang-nl_NL) {
- LAYOUT_FILES += \
- content/layouts/nl_NL/dialpad.fallback \
- content/layouts/nl_NL/digits.fallback \
- content/layouts/nl_NL/main.fallback \
- content/layouts/nl_NL/numbers.fallback \
- content/layouts/nl_NL/symbols.fallback
-}
-qtConfig(vkb-lang-pl_PL) {
- LAYOUT_FILES += \
- content/layouts/pl_PL/dialpad.fallback \
- content/layouts/pl_PL/digits.fallback \
- content/layouts/pl_PL/main.qml \
- content/layouts/pl_PL/numbers.fallback \
- content/layouts/pl_PL/symbols.fallback
-}
-qtConfig(vkb-lang-pt_BR) {
- LAYOUT_FILES += \
- content/layouts/pt_BR/dialpad.fallback \
- content/layouts/pt_BR/digits.fallback \
- content/layouts/pt_BR/main.qml \
- content/layouts/pt_BR/numbers.fallback \
- content/layouts/pt_BR/symbols.fallback
-}
-qtConfig(vkb-lang-pt_PT) {
- LAYOUT_FILES += \
- content/layouts/pt_PT/dialpad.fallback \
- content/layouts/pt_PT/digits.fallback \
- content/layouts/pt_PT/main.qml \
- content/layouts/pt_PT/numbers.fallback \
- content/layouts/pt_PT/symbols.fallback
-}
-qtConfig(vkb-lang-ro_RO) {
- LAYOUT_FILES += \
- content/layouts/ro_RO/dialpad.fallback \
- content/layouts/ro_RO/digits.fallback \
- content/layouts/ro_RO/main.qml \
- content/layouts/ro_RO/numbers.fallback \
- content/layouts/ro_RO/symbols.fallback
-}
-qtConfig(vkb-lang-ru_RU) {
- LAYOUT_FILES += \
- content/layouts/ru_RU/dialpad.fallback \
- content/layouts/ru_RU/digits.fallback \
- content/layouts/ru_RU/main.qml \
- content/layouts/ru_RU/numbers.fallback \
- content/layouts/ru_RU/symbols.fallback
-}
-qtConfig(vkb-lang-sk_SK) {
- LAYOUT_FILES += \
- content/layouts/sk_SK/dialpad.fallback \
- content/layouts/sk_SK/digits.fallback \
- content/layouts/sk_SK/main.qml \
- content/layouts/sk_SK/numbers.fallback \
- content/layouts/sk_SK/symbols.fallback
-}
-qtConfig(vkb-lang-sl_SI) {
- LAYOUT_FILES += \
- content/layouts/sl_SI/dialpad.fallback \
- content/layouts/sl_SI/digits.fallback \
- content/layouts/sl_SI/main.qml \
- content/layouts/sl_SI/numbers.fallback \
- content/layouts/sl_SI/symbols.fallback
-}
-qtConfig(vkb-lang-sq_AL) {
- LAYOUT_FILES += \
- content/layouts/sq_AL/dialpad.fallback \
- content/layouts/sq_AL/digits.fallback \
- content/layouts/sq_AL/main.qml \
- content/layouts/sq_AL/numbers.fallback \
- content/layouts/sq_AL/symbols.fallback
-}
-qtConfig(vkb-lang-sr_SP) {
- LAYOUT_FILES += \
- content/layouts/sr_SP/dialpad.fallback \
- content/layouts/sr_SP/digits.fallback \
- content/layouts/sr_SP/main.qml \
- content/layouts/sr_SP/numbers.fallback \
- content/layouts/sr_SP/symbols.fallback
-}
-qtConfig(vkb-lang-sv_SE) {
- LAYOUT_FILES += \
- content/layouts/sv_SE/dialpad.fallback \
- content/layouts/sv_SE/digits.fallback \
- content/layouts/sv_SE/main.qml \
- content/layouts/sv_SE/numbers.fallback \
- content/layouts/sv_SE/symbols.fallback
-}
-qtConfig(vkb-lang-tr_TR) {
- LAYOUT_FILES += \
- content/layouts/tr_TR/dialpad.fallback \
- content/layouts/tr_TR/digits.fallback \
- content/layouts/tr_TR/main.qml \
- content/layouts/tr_TR/numbers.fallback \
- content/layouts/tr_TR/symbols.fallback
-}
-qtConfig(vkb-lang-uk_UA) {
- LAYOUT_FILES += \
- content/layouts/uk_UA/dialpad.fallback \
- content/layouts/uk_UA/digits.fallback \
- content/layouts/uk_UA/main.qml \
- content/layouts/uk_UA/numbers.fallback \
- content/layouts/uk_UA/symbols.fallback
-}
-qtConfig(vkb-lang-vi_VN) {
- LAYOUT_FILES += \
- content/layouts/vi_VN/dialpad.fallback \
- content/layouts/vi_VN/digits.fallback \
- content/layouts/vi_VN/main.qml \
- content/layouts/vi_VN/numbers.fallback \
- content/layouts/vi_VN/symbols.qml
-}
-
-qtConfig(vkb-no-builtin-style){
- DEFINES += QT_VIRTUALKEYBOARD_DEFAULT_STYLE=\\\"\\\"
-} else:qtConfig(vkb-retro-style) {
- DEFINES += QT_VIRTUALKEYBOARD_DEFAULT_STYLE=\\\"retro\\\"
-} else {
- DEFINES += QT_VIRTUALKEYBOARD_DEFAULT_STYLE=\\\"default\\\"
-}
-
-DEFINES += QT_VIRTUALKEYBOARD_DEFAULT_LAYOUTS_DIR=\\\"qrc:/QtQuick/VirtualKeyboard/content/layouts\\\"
-
-DEFINES += \
- QT_NO_CAST_TO_ASCII \
- QT_ASCII_CAST_WARNINGS \
- QT_NO_CAST_FROM_ASCII \
- QT_NO_CAST_FROM_BYTEARRAY
-
-OTHER_FILES += \
- content/styles/default/*.qml \
- content/styles/retro/*.qml \
- content/*.qml \
- content/components/*.qml \
- qtvirtualkeyboard.json \
- $$LAYOUT_FILES
-
-qtConfig(vkb-desktop) {
- SOURCES += desktopinputpanel.cpp inputview.cpp
- HEADERS += desktopinputpanel_p.h inputview_p.h
- DEFINES += QT_VIRTUALKEYBOARD_DESKTOP
- qtConfig(vkb-xcb): \
- QMAKE_USE += xcb-xfixes
-}
-
-qtConfig(vkb-record-trace-input) {
- SOURCES += unipentrace.cpp
- HEADERS += unipentrace_p.h
- MODULE_DEFINES += QT_VIRTUALKEYBOARD_RECORD_TRACE_INPUT
-}
-
-qtConfig(vkb-arrow-keynavigation): \
- DEFINES += QT_VIRTUALKEYBOARD_ARROW_KEY_NAVIGATION
-
-qtConfig(vkb-layouts) {
- virtualkeyboard_layouts.files = $$LAYOUT_FILES
- virtualkeyboard_layouts.prefix = $$LAYOUTS_PREFIX
- RESOURCES += virtualkeyboard_layouts
-}
-
-load(qt_module)
diff --git a/src/virtualkeyboard/virtualkeyboard_p.h b/src/virtualkeyboard/virtualkeyboard_p.h
new file mode 100644
index 00000000..f00cbfdc
--- /dev/null
+++ b/src/virtualkeyboard/virtualkeyboard_p.h
@@ -0,0 +1,44 @@
+// Copyright (C) 2021 The Qt Company Ltd.
+// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GPL-3.0-only
+
+#ifndef VIRTUALKEYBOARD_P_H
+#define VIRTUALKEYBOARD_P_H
+
+//
+// W A R N I N G
+// -------------
+//
+// This file is not part of the Qt API. It exists purely as an
+// implementation detail. This header file may change from version to
+// version without notice, or even be removed.
+//
+// We mean it.
+//
+
+#include <QtQml/qqml.h>
+#include <QtVirtualKeyboard/qvirtualkeyboard_global.h>
+#include <QtCore/private/qglobal_p.h>
+
+QT_BEGIN_NAMESPACE
+namespace QtVirtualKeyboard {
+
+class VirtualKeyboardAttachedType;
+
+class Q_VIRTUALKEYBOARD_EXPORT VirtualKeyboard : public QObject
+{
+ Q_OBJECT
+ QML_NAMED_ELEMENT(VirtualKeyboard)
+ QML_UNCREATABLE("VirtualKeyboard is an abstract type that is only available as an attached property.")
+ QML_ATTACHED(VirtualKeyboardAttachedType)
+ QML_ADDED_IN_VERSION(6, 1)
+
+public:
+ static VirtualKeyboardAttachedType *qmlAttachedProperties(QObject *object);
+};
+
+} // namespace QtVirtualKeyboard
+QT_END_NAMESPACE
+
+QML_DECLARE_TYPEINFO(QT_PREPEND_NAMESPACE(QtVirtualKeyboard)::VirtualKeyboard, QML_HAS_ATTACHED_PROPERTIES)
+
+#endif
diff --git a/src/virtualkeyboard/virtualkeyboardattachedtype.cpp b/src/virtualkeyboard/virtualkeyboardattachedtype.cpp
new file mode 100644
index 00000000..6a433020
--- /dev/null
+++ b/src/virtualkeyboard/virtualkeyboardattachedtype.cpp
@@ -0,0 +1,33 @@
+// Copyright (C) 2021 The Qt Company Ltd.
+// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GPL-3.0-only
+
+#include <QtVirtualKeyboard/private/virtualkeyboardattachedtype_p.h>
+
+QT_BEGIN_NAMESPACE
+namespace QtVirtualKeyboard {
+
+/*!
+ \class QtVirtualKeyboard::VirtualKeyboardAttachedType
+ \internal
+*/
+
+VirtualKeyboardAttachedType::VirtualKeyboardAttachedType(QObject *parent) :
+ QObject(parent)
+{
+}
+
+QStringList QtVirtualKeyboard::VirtualKeyboardAttachedType::extraDictionaries() const
+{
+ return _extraDictionaries;
+}
+
+void QtVirtualKeyboard::VirtualKeyboardAttachedType::setExtraDictionaries(const QStringList &extraDictionaries)
+{
+ if (_extraDictionaries != extraDictionaries) {
+ _extraDictionaries = extraDictionaries;
+ emit extraDictionariesChanged();
+ }
+}
+
+} // namespace QtVirtualKeyboard
+QT_END_NAMESPACE
diff --git a/src/virtualkeyboard/virtualkeyboardattachedtype_p.h b/src/virtualkeyboard/virtualkeyboardattachedtype_p.h
new file mode 100644
index 00000000..ff3a2630
--- /dev/null
+++ b/src/virtualkeyboard/virtualkeyboardattachedtype_p.h
@@ -0,0 +1,48 @@
+// Copyright (C) 2021 The Qt Company Ltd.
+// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GPL-3.0-only
+
+#ifndef VIRTUALKEYBOARDATTACHEDTYPE_P_H
+#define VIRTUALKEYBOARDATTACHEDTYPE_P_H
+
+//
+// W A R N I N G
+// -------------
+//
+// This file is not part of the Qt API. It exists purely as an
+// implementation detail. This header file may change from version to
+// version without notice, or even be removed.
+//
+// We mean it.
+//
+
+#include <QObject>
+#include <QtVirtualKeyboard/private/virtualkeyboard_p.h>
+#include <QtVirtualKeyboard/qvirtualkeyboard_global.h>
+
+QT_BEGIN_NAMESPACE
+namespace QtVirtualKeyboard {
+
+class Q_VIRTUALKEYBOARD_EXPORT VirtualKeyboardAttachedType : public QObject
+{
+ Q_OBJECT
+ Q_PROPERTY(QStringList extraDictionaries READ extraDictionaries WRITE setExtraDictionaries NOTIFY extraDictionariesChanged)
+ QML_ANONYMOUS
+ QML_ADDED_IN_VERSION(6, 1)
+
+public:
+ explicit VirtualKeyboardAttachedType(QObject *parent);
+
+ QStringList extraDictionaries() const;
+ void setExtraDictionaries(const QStringList& dictionaries);
+
+signals:
+ void extraDictionariesChanged();
+
+private:
+ QStringList _extraDictionaries;
+};
+
+} // namespace QtVirtualKeyboard
+QT_END_NAMESPACE
+
+#endif
diff --git a/src/virtualkeyboard/virtualkeyboarddebug_p.h b/src/virtualkeyboard/virtualkeyboarddebug_p.h
index 02374663..1d737ed2 100644
--- a/src/virtualkeyboard/virtualkeyboarddebug_p.h
+++ b/src/virtualkeyboard/virtualkeyboarddebug_p.h
@@ -1,31 +1,5 @@
-/****************************************************************************
-**
-** Copyright (C) 2016 The Qt Company Ltd.
-** Contact: https://www.qt.io/licensing/
-**
-** This file is part of the Qt Virtual Keyboard module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:GPL$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see https://www.qt.io/terms-conditions. For further
-** information use the contact form at https://www.qt.io/contact-us.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 3 or (at your option) any later version
-** approved by the KDE Free Qt Foundation. The licenses are as published by
-** the Free Software Foundation and appearing in the file LICENSE.GPL3
-** included in the packaging of this file. Please review the following
-** information to ensure the GNU General Public License requirements will
-** be met: https://www.gnu.org/licenses/gpl-3.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
+// Copyright (C) 2018 The Qt Company Ltd.
+// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GPL-3.0-only
#ifndef VIRTUALKEYBOARDDEBUG_H
#define VIRTUALKEYBOARDDEBUG_H
@@ -43,6 +17,7 @@
#include <QDebug>
#include <QLoggingCategory>
+#include <private/qglobal_p.h>
QT_BEGIN_NAMESPACE
namespace QtVirtualKeyboard {
diff --git a/src/virtualkeyboard/virtualkeyboardsettings.cpp b/src/virtualkeyboard/virtualkeyboardsettings.cpp
deleted file mode 100644
index d415c36c..00000000
--- a/src/virtualkeyboard/virtualkeyboardsettings.cpp
+++ /dev/null
@@ -1,471 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2016 The Qt Company Ltd.
-** Contact: https://www.qt.io/licensing/
-**
-** This file is part of the Qt Virtual Keyboard module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:GPL$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see https://www.qt.io/terms-conditions. For further
-** information use the contact form at https://www.qt.io/contact-us.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 3 or (at your option) any later version
-** approved by the KDE Free Qt Foundation. The licenses are as published by
-** the Free Software Foundation and appearing in the file LICENSE.GPL3
-** included in the packaging of this file. Please review the following
-** information to ensure the GNU General Public License requirements will
-** be met: https://www.gnu.org/licenses/gpl-3.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#include <QtVirtualKeyboard/private/virtualkeyboardsettings_p.h>
-#include <QtVirtualKeyboard/private/settings_p.h>
-#include <QtVirtualKeyboard/private/virtualkeyboarddebug_p.h>
-#include <QQmlEngine>
-#include <QFileInfo>
-#include <QDir>
-#include <QRegularExpression>
-#include <QtCore/private/qobject_p.h>
-
-QT_BEGIN_NAMESPACE
-namespace QtVirtualKeyboard {
-
-class VirtualKeyboardSettingsPrivate : public QObjectPrivate
-{
-public:
- VirtualKeyboardSettingsPrivate() :
- QObjectPrivate(),
- engine()
- {}
-
- QString buildStyleImportPath(const QString &path, const QString &name) const
- {
- QString importPath(path + name + QLatin1String("/style.qml"));
- if (!importPath.startsWith(QLatin1String("qrc:"))) {
- QUrl url = QUrl::fromLocalFile(importPath);
- importPath = url.toString();
- }
- return importPath;
- }
-
- QString buildStyleFilePath(const QString &path, const QString &name) const
- {
- QString filePath(path);
- if (filePath.startsWith(QLatin1String("qrc:")))
- filePath.remove(0, 3);
- return filePath + name + QLatin1String("/style.qml");
- }
-
- QString styleImportPath(const QString &name) const
- {
- if (name.isEmpty())
- return QString();
-
- QStringList styleImportPathList;
- styleImportPathList << QLatin1String("qrc:/QtQuick/VirtualKeyboard/content/styles/");
- const QStringList importPathList = engine->importPathList();
- // Add QML import path (Note: the QML base dir is usually the last entry in the list)
- for (int i = importPathList.size() - 1; i >= 0; --i) {
- const QString stylesPath = importPathList.at(i)
- + QLatin1String("/QtQuick/VirtualKeyboard/Styles/");
- styleImportPathList += stylesPath;
- }
-
- for (const QString &styleImportPath : qAsConst(styleImportPathList)) {
- QString filePath = buildStyleFilePath(styleImportPath, name);
- bool pathExist = false;
- pathExist = QFileInfo::exists(filePath);
- if (pathExist)
- return buildStyleImportPath(styleImportPath, name);
- }
- return QString();
- }
-
- QPointer<QQmlEngine> engine;
- WordCandidateListSettings wordCandidateListSettings;
-};
-
-/*!
- \qmlmodule QtQuick.VirtualKeyboard.Settings 2.\QtMinorVersion
- \title Qt Quick Virtual Keyboard Settings QML Types
- \ingroup qmlmodules
-
- \brief Provides settings for Qt Virtual Keyboard.
-
- The QML types can be imported into your application using the following
- import statements in your .qml file:
-
- \qml \QtMinorVersion
- import QtQuick.VirtualKeyboard.Settings 2.\1
- \endqml
-*/
-
-/*!
- \qmltype VirtualKeyboardSettings
- \inqmlmodule QtQuick.VirtualKeyboard.Settings
- \ingroup qtvirtualkeyboard-settings-qml
- \since QtQuick.VirtualKeyboard 1.2
- \brief Provides settings for virtual keyboard.
-
- This type provides a VirtualKeyboardSettings singleton instance,
- which can be used to configure the virtual keyboard settings.
-
- Please note that the settings have only effect in the current
- application's lifetime, that is, configuration changes are not
- permanent.
-
- For example, to change the keyboard style in application:
-
- \code
- Component.onCompleted: VirtualKeyboardSettings.styleName = "retro"
- \endcode
-*/
-
-/*!
- \internal
-*/
-QObject *VirtualKeyboardSettings::registerSettingsModule(QQmlEngine *engine, QJSEngine *jsEngine)
-{
- Q_UNUSED(jsEngine);
- return new VirtualKeyboardSettings(engine);
-}
-
-/*!
- \class QtVirtualKeyboard::VirtualKeyboardSettings
- \internal
-*/
-
-/*!
- \internal
-*/
-VirtualKeyboardSettings::VirtualKeyboardSettings(QQmlEngine *engine) :
- QObject(*new VirtualKeyboardSettingsPrivate())
-{
- Q_D(VirtualKeyboardSettings);
- d->engine = engine;
- Settings *settings = Settings::instance();
- if (settings->styleName().isEmpty())
- resetStyle();
- if (settings->layoutPath().isEmpty())
- resetLayoutPath();
- connect(settings, SIGNAL(styleChanged()), SIGNAL(styleChanged()));
- connect(settings, SIGNAL(styleNameChanged()), SIGNAL(styleNameChanged()));
- connect(settings, SIGNAL(localeChanged()), SIGNAL(localeChanged()));
- connect(settings, SIGNAL(availableLocalesChanged()), SIGNAL(availableLocalesChanged()));
- connect(settings, SIGNAL(activeLocalesChanged()), SIGNAL(activeLocalesChanged()));
- connect(settings, SIGNAL(layoutPathChanged()), SIGNAL(layoutPathChanged()));
- connect(settings, SIGNAL(wclAutoHideDelayChanged()), &d->wordCandidateListSettings, SIGNAL(autoHideDelayChanged()));
- connect(settings, SIGNAL(wclAlwaysVisibleChanged()), &d->wordCandidateListSettings, SIGNAL(alwaysVisibleChanged()));
- connect(settings, SIGNAL(wclAutoCommitWordChanged()), &d->wordCandidateListSettings, SIGNAL(autoCommitWordChanged()));
- connect(settings, SIGNAL(fullScreenModeChanged()), SIGNAL(fullScreenModeChanged()));
-}
-
-/*!
- \internal
-*/
-QString VirtualKeyboardSettings::style() const
-{
- return Settings::instance()->style();
-}
-
-/*!
- \internal
-*/
-QString VirtualKeyboardSettings::styleName() const
-{
- return Settings::instance()->styleName();
-}
-
-/*!
- \internal
-*/
-void VirtualKeyboardSettings::setStyleName(const QString &styleName)
-{
- Q_D(VirtualKeyboardSettings);
- Settings *settings = Settings::instance();
- QString style = d->styleImportPath(styleName);
- if (style.isEmpty()) {
- qWarning() << "WARNING: Cannot find style" << styleName << "- fallback:" << settings->styleName();
- return;
- }
- settings->setStyleName(styleName);
- settings->setStyle(style);
-}
-
-/*!
- \internal
-*/
-QUrl VirtualKeyboardSettings::layoutPath() const
-{
- return Settings::instance()->layoutPath();
-}
-
-/*!
- \internal
-*/
-void VirtualKeyboardSettings::setLayoutPath(const QUrl &layoutPath)
-{
- Settings *settings = Settings::instance();
- QDir layoutDirectory(layoutPath.toLocalFile());
- if (!layoutDirectory.exists()) {
- qWarning() << "WARNING: Cannot find layout path" << layoutPath;
- return;
- }
- settings->setLayoutPath(layoutPath);
-}
-
-void VirtualKeyboardSettings::resetLayoutPath()
-{
- Settings *settings = Settings::instance();
- QUrl layoutPath(QLatin1String(QT_VIRTUALKEYBOARD_DEFAULT_LAYOUTS_DIR));
- const QString customLayoutPath(QDir::fromNativeSeparators(qEnvironmentVariable("QT_VIRTUALKEYBOARD_LAYOUT_PATH")));
- if (!customLayoutPath.isEmpty()) {
- bool found = false;
- QDir customLayoutDirectory(customLayoutPath);
- if (customLayoutDirectory.exists()) {
- found = true;
- layoutPath = QUrl::fromLocalFile(customLayoutPath);
- } else {
- customLayoutDirectory = QDir(QUrl(customLayoutPath).toLocalFile());
- if (customLayoutDirectory.exists()) {
- found = true;
- layoutPath = QUrl(customLayoutPath);
- }
- }
- if (!found) {
- qWarning() << "WARNING: Cannot assign custom layout path" << customLayoutPath << "- fallback:" << layoutPath;
- }
- }
- settings->setLayoutPath(layoutPath);
-}
-
-QString VirtualKeyboardSettings::locale() const
-{
- return Settings::instance()->locale();
-}
-
-void VirtualKeyboardSettings::setLocale(const QString &locale)
-{
- Settings::instance()->setLocale(locale);
-}
-
-QStringList VirtualKeyboardSettings::availableLocales() const
-{
- return Settings::instance()->availableLocales();
-}
-
-void VirtualKeyboardSettings::setActiveLocales(const QStringList &activeLocales)
-{
- Settings::instance()->setActiveLocales(activeLocales);
-}
-
-QStringList VirtualKeyboardSettings::activeLocales() const
-{
- return Settings::instance()->activeLocales();
-}
-
-WordCandidateListSettings *VirtualKeyboardSettings::wordCandidateList() const
-{
- Q_D(const VirtualKeyboardSettings);
- return const_cast<WordCandidateListSettings *>(&d->wordCandidateListSettings);
-}
-
-bool VirtualKeyboardSettings::fullScreenMode() const
-{
- return Settings::instance()->fullScreenMode();
-}
-
-void VirtualKeyboardSettings::setFullScreenMode(bool fullScreenMode)
-{
- return Settings::instance()->setFullScreenMode(fullScreenMode);
-}
-
-void VirtualKeyboardSettings::resetStyle()
-{
- Q_D(VirtualKeyboardSettings);
- Settings *settings = Settings::instance();
- QString styleName = QLatin1String(QT_VIRTUALKEYBOARD_DEFAULT_STYLE);
- QString style = d->styleImportPath(styleName);
- QString customStyleName = QString::fromLatin1(qgetenv("QT_VIRTUALKEYBOARD_STYLE"));
- if (!customStyleName.isEmpty()) {
- bool found = false;
- QRegularExpression styleNameValidator(QLatin1String("\\A(?:\\w+)\\z"));
- QRegularExpressionMatch match = styleNameValidator.match(customStyleName);
- if (match.hasMatch()) {
- QString customStyle = d->styleImportPath(customStyleName);
- if (!customStyle.isEmpty()) {
- styleName = customStyleName;
- style = customStyle;
- found = true;
- }
- }
- if (!found) {
- qWarning() << "WARNING: Cannot find style" << customStyleName << "- fallback:" << styleName;
- }
- }
- if (!style.isEmpty()) {
- settings->setStyleName(styleName);
- settings->setStyle(style);
- }
-}
-
-/*!
- \qmlproperty string VirtualKeyboardSettings::style
- \internal
-*/
-
-/*!
- \qmlproperty string VirtualKeyboardSettings::styleName
-
- This property provides the current style. Application can change
- the keyboard style by setting the styleName to different value.
-
- The system wide keyboard style can be affected by setting
- the QT_VIRTUALKEYBOARD_STYLE environment variable.
-*/
-
-/*!
- \qmlproperty string VirtualKeyboardSettings::locale
- \since QtQuick.VirtualKeyboard.Settings 2.0
-
- This property provides the default locale for the keyboard.
-
- When the locale is not specified, the default system locale is used instead.
-
- If the keyboard locale is different from the new default locale, keyboard
- language is changed immediately to reflect the new locale. If the locale setting
- is incorrect, or it is not in the list of supported locales, it is ignored and
- the default setting is used instead.
-
- A locale is supported if it is included in the list of availableLocales.
-*/
-
-/*!
- \qmlproperty list<string> VirtualKeyboardSettings::availableLocales
- \since QtQuick.VirtualKeyboard.Settings 2.0
-
- This property contains a list of languages supported by the virtual keyboard.
-
- This list is read-only and depends on the build-time configuration of the
- virtual keyboard.
-*/
-
-/*!
- \qmlproperty list<string> VirtualKeyboardSettings::activeLocales
- \since QtQuick.VirtualKeyboard.Settings 2.0
-
- This property contains a list of activated languages of the virtual keyboard.
-
- The list of active languages is a subset of the available languages, and can be
- used to limit the list of available languages in the application lifetime.
-*/
-
-/*!
- \qmlproperty bool VirtualKeyboardSettings::fullScreenMode
- \since QtQuick.VirtualKeyboard.Settings 2.2
-
- This property enables the fullscreen mode for the virtual keyboard.
-
- In fullscreen mode, the virtual keyboard replicates the contents of the
- focused input field to the fullscreen input field located at the top of the
- keyboard.
-
- For example, to activate the fullscreen mode when the screen aspect ratio
- is greater than 16:9:
-
- \code
- Binding {
- target: VirtualKeyboardSettings
- property: "fullScreenMode"
- value: (Screen.width / Screen.height) > (16.0 / 9.0)
- }
- \endcode
-*/
-
-/*!
- \since QtQuick.VirtualKeyboard.Settings 2.2
- \qmlpropertygroup QtQuick.VirtualKeyboard::VirtualKeyboardSettings::wordCandidateList
- \qmlproperty int QtQuick.VirtualKeyboard::VirtualKeyboardSettings::wordCandidateList.autoHideDelay
- \qmlproperty bool QtQuick.VirtualKeyboard::VirtualKeyboardSettings::wordCandidateList.alwaysVisible
-
- \table
- \header
- \li Name
- \li Description
- \row
- \li autoHideDelay
- \li This property defines the delay, in milliseconds, after which the
- word candidate list is hidden if empty.
-
- If the value is \c 0, the list is immediately hidden when cleared.
-
- If the value is \c -1, the list is visible until input focus
- changes, or the input panel is hidden.
-
- The default value is \c 5000 milliseconds.
- \row
- \li alwaysVisible
- \li This property defines whether the word candidate list should always
- remain visible.
-
- The default value is \c false.
- \row
- \li autoCommitWord
- \li This property enables the automatic commit feature that is activated
- when the word candidate list is narrowed down to a single candidate.
-
- The automatic commit feature takes effect when the word candidate
- list initially contains multiple words and is reduced to single word
- after additional input. This word will be selected and committed
- automatically without user interaction.
-
- This property is set to \c false by default.
- \endtable
-*/
-
-WordCandidateListSettings::WordCandidateListSettings(QObject *parent) :
- QObject(parent)
-{
-}
-
-int WordCandidateListSettings::autoHideDelay() const
-{
- return Settings::instance()->wclAutoHideDelay();
-}
-
-void WordCandidateListSettings::setAutoHideDelay(int autoHideDelay)
-{
- Settings::instance()->setWclAutoHideDelay(autoHideDelay);
-}
-
-bool WordCandidateListSettings::alwaysVisible() const
-{
- return Settings::instance()->wclAlwaysVisible();
-}
-
-void WordCandidateListSettings::setAlwaysVisible(bool alwaysVisible)
-{
- Settings::instance()->setWclAlwaysVisible(alwaysVisible);
-}
-
-bool WordCandidateListSettings::autoCommitWord() const
-{
- return Settings::instance()->wclAutoCommitWord();
-}
-
-void WordCandidateListSettings::setAutoCommitWord(bool autoCommitWord)
-{
- Settings::instance()->setWclAutoCommitWord(autoCommitWord);
-}
-
-} // namespace QtVirtualKeyboard
-QT_END_NAMESPACE
diff --git a/src/virtualkeyboard/virtualkeyboardsettings_p.h b/src/virtualkeyboard/virtualkeyboardsettings_p.h
deleted file mode 100644
index 7acb8268..00000000
--- a/src/virtualkeyboard/virtualkeyboardsettings_p.h
+++ /dev/null
@@ -1,135 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2016 The Qt Company Ltd.
-** Contact: https://www.qt.io/licensing/
-**
-** This file is part of the Qt Virtual Keyboard module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:GPL$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see https://www.qt.io/terms-conditions. For further
-** information use the contact form at https://www.qt.io/contact-us.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 3 or (at your option) any later version
-** approved by the KDE Free Qt Foundation. The licenses are as published by
-** the Free Software Foundation and appearing in the file LICENSE.GPL3
-** included in the packaging of this file. Please review the following
-** information to ensure the GNU General Public License requirements will
-** be met: https://www.gnu.org/licenses/gpl-3.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#ifndef VIRTUALKEYBOARDSETTINGS_H
-#define VIRTUALKEYBOARDSETTINGS_H
-
-//
-// W A R N I N G
-// -------------
-//
-// This file is not part of the Qt API. It exists purely as an
-// implementation detail. This header file may change from version to
-// version without notice, or even be removed.
-//
-// We mean it.
-//
-
-#include <qqml.h>
-#include <QtVirtualKeyboard/qvirtualkeyboard_global.h>
-
-QT_BEGIN_NAMESPACE
-namespace QtVirtualKeyboard {
-
-class WordCandidateListSettings;
-class VirtualKeyboardSettingsPrivate;
-
-class QVIRTUALKEYBOARD_EXPORT VirtualKeyboardSettings : public QObject
-{
- Q_OBJECT
- Q_DECLARE_PRIVATE(VirtualKeyboardSettings)
- Q_PROPERTY(QUrl style READ style NOTIFY styleChanged)
- Q_PROPERTY(QUrl layoutPath READ layoutPath WRITE setLayoutPath NOTIFY layoutPathChanged)
- Q_PROPERTY(QString styleName READ styleName WRITE setStyleName NOTIFY styleNameChanged)
- Q_PROPERTY(QString locale READ locale WRITE setLocale NOTIFY localeChanged)
- Q_PROPERTY(QStringList availableLocales READ availableLocales NOTIFY availableLocalesChanged)
- Q_PROPERTY(QStringList activeLocales READ activeLocales WRITE setActiveLocales NOTIFY activeLocalesChanged)
- Q_PROPERTY(WordCandidateListSettings *wordCandidateList READ wordCandidateList CONSTANT)
- Q_PROPERTY(bool fullScreenMode READ fullScreenMode WRITE setFullScreenMode NOTIFY fullScreenModeChanged)
-
-public:
- static QObject *registerSettingsModule(QQmlEngine *engine, QJSEngine *jsEngine);
-
- explicit VirtualKeyboardSettings(QQmlEngine *engine);
-
- QString style() const;
-
- QUrl layoutPath() const;
- void setLayoutPath(const QUrl &layoutPath);
-
- QString styleName() const;
- void setStyleName(const QString &styleName);
-
- QString locale() const;
- void setLocale(const QString &locale);
-
- QStringList availableLocales() const;
-
- void setActiveLocales(const QStringList &activeLocales);
- QStringList activeLocales() const;
-
- WordCandidateListSettings *wordCandidateList() const;
-
- bool fullScreenMode() const;
- void setFullScreenMode(bool fullScreenMode);
-
-signals:
- void styleChanged();
- void styleNameChanged();
- void localeChanged();
- void availableLocalesChanged();
- void activeLocalesChanged();
- void layoutPathChanged();
- void fullScreenModeChanged();
-
-private:
- void resetStyle();
- void resetLayoutPath();
-};
-
-class QVIRTUALKEYBOARD_EXPORT WordCandidateListSettings : public QObject
-{
- Q_OBJECT
- Q_PROPERTY(int autoHideDelay READ autoHideDelay WRITE setAutoHideDelay NOTIFY autoHideDelayChanged)
- Q_PROPERTY(bool alwaysVisible READ alwaysVisible WRITE setAlwaysVisible NOTIFY alwaysVisibleChanged)
- Q_PROPERTY(bool autoCommitWord READ autoCommitWord WRITE setAutoCommitWord NOTIFY autoCommitWordChanged)
-
- explicit WordCandidateListSettings(QObject *parent = nullptr);
- friend class VirtualKeyboardSettingsPrivate;
-
-public:
- int autoHideDelay() const;
- void setAutoHideDelay(int autoHideDelay);
-
- bool alwaysVisible() const;
- void setAlwaysVisible(bool alwaysVisible);
-
- bool autoCommitWord() const;
- void setAutoCommitWord(bool autoCommitWord);
-
-signals:
- void autoHideDelayChanged();
- void alwaysVisibleChanged();
- void autoCommitWordChanged();
-};
-
-} // namespace QtVirtualKeyboard
-QT_END_NAMESPACE
-
-#endif // VIRTUALKEYBOARDSETTINGS_H