aboutsummaryrefslogtreecommitdiffstats
path: root/src/virtualkeyboard/virtualkeyboard.pro
Commit message (Collapse)AuthorAgeFilesLines
* Remove qmake project filesJoerg Bornemann2021-04-301-444/+0
| | | | | | | Task-number: QTBUG-88742 Change-Id: Ide456bc0f6d1c5613e83d500717acdd37cbbbf81 Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org> Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
* Add generic dictionary API for the virtual keyboard v2Jarkko Koivikko2021-01-291-0/+8
| | | | | | | | | | | | | | | | | | - Dictionary manager API provides applications methods to create custom dictionaries for use in the virtual keyboard input methods. - The dictionaries can be activated from both C++ and QML. v2: Update CMake project [ChangeLog] Added a generic dictionary API. The API allows applications to create/update/remove dictionaries at runtime. The desired dictionaries can be activated from the application. The implementation of the dictionaries depends on the input method. A typical use case for this API would be a phone book. Change-Id: I8fcb931eff2adff80b4a458a676ba25d51df2ec9 Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
* Add InputContext.keyboardObserver property v4Jarkko Koivikko2021-01-261-0/+3
| | | | | | | | | | | | | | | | | | | | | | | - KeyboardObserver provides access to keyboard properties. Currently it contains a property to access keyboard layout. One possible use case of the KeyboardObserver is for input methods that use the keyboard layout for more accurate spell correction. - Add BaseKey.keyType property: This property holds the key type at runtime. v2: Ensure keyboard observer is set before input mode - Fixes crash if the input panel instance is destroyed and created again. In such case, the keyboard observer is not assigned before the next input mode is set. v3: Fix keyboard layout observer for keys that are invisible v4: Update CMake project - Skip keys that are invisible. Change-Id: I820ce3a575397885eb6310722c3f2c6dffcf325c Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
* Move qtvirtualkeyboard over to the new configure systemLeander Beernaert2020-04-081-50/+54
| | | | | | | | | | | | | | | | | | | | | Adjust configuration from passing lots of CONFIG+=... on the qmake command line to proper command line arguments. Add configure tests for external libraries we might end up using. Adjusted the build documentation to reflect the new way of configuring. Replace all custom HAVE_FOO feature defines with proper QT_CONFIG() checks. This patch does not handle the options -disable-hunspell, -no-bundle-ctime and -no-bundle-pinyin as they are not a necessity to properly support the CMake port and can be added later. [ChangeLog][Important Behavior Changes] The build system was switched to the new configure system. See documentation for updated instructions. Change-Id: I52f863a4d0217bde38fa3fc5e5967b7d8dcb06e0 Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
* Fix string castJarkko Koivikko2018-09-071-0/+6
| | | | | | | | Enforce proper string cast using QT_NO_CAST_TO_ASCII and friends. Change-Id: I039b23144c8d57f12aad1c27f29654b382078222 Reviewed-by: Jarkko Koivikko <jarkko.koivikko@code-q.fi> Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
* Fix resource initialization in static buildJarkko Koivikko2018-09-061-6/+6
| | | | | | | | | | | | | | | | | Resources used by qtvirtualkeyboard must (still) be initialized manually in static build. The reason for this is that the resources are located in the virtualkeyboard module, not in the plugin. Layouts resources in plugins must have unique name. This change renames the layouts resource file in each plugin. Otherwise the Q_INIT_RESOURCE does not work, since all use the same name. Finally, rename the static resource files to avoid using too generic name and clash with the user application. Change-Id: I53054605f14ff8a7b61ce2736f61e456b6c3ee88 Reviewed-by: Jarkko Koivikko <jarkko.koivikko@code-q.fi> Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
* Move QML types registration to import modulesJarkko Koivikko2018-09-061-1/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | This change moves the QML type registration from platform input context plugin to respective QML plugins: QtQuick.VirtualKeyboard (import.pro) QtQuick.VirtualKeyboard.Settings (settings.pro) Input method types (e.g. from the virtual keyboard plugins) are still registered in the qtvirtualkeyboard module, but with new URI: QtQuick.VirtualKeyboard.Plugins (plugin.pro) This change is necessary, because the Quick.VirtualKeyboard URI is now reserved for the QML module. Like before, the Quick.VirtualKeyboard module cannot be used without setting QT_IM_MODULE=qtvirtualkeyboard environment variable. The main motivation for this change was to make plugins.qmltypes generation possible for C++ based QML types. Change-Id: Ieb449eb73e0fa33e9a1686d471cc4284982ea1bd Reviewed-by: Jarkko Koivikko <jarkko.koivikko@code-q.fi> Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
* Prefix non-namespaced header file names with qvirtualkeyboardJarkko Koivikko2018-08-271-12/+12
| | | | | | Change-Id: Idf2447736ef72fa0fb4dfeacc3386ed7b4fe41c9 Reviewed-by: Jarkko Koivikko <jarkko.koivikko@code-q.fi> Reviewed-by: Frederik Gladhorn <frederik.gladhorn@qt.io>
* Fix record-trace-input config optionJarkko Koivikko2018-08-271-1/+1
| | | | | | | | | Since creation of qtvirtualkeyboard module, record-trace-input config option has been broken. Change-Id: I053facf414a2fcd2d417aabcb01cb81054fb0d6e Reviewed-by: Jarkko Koivikko <jarkko.koivikko@code-q.fi> Reviewed-by: Frederik Gladhorn <frederik.gladhorn@qt.io>
* Trim InputContext APIJarkko Koivikko2018-08-271-0/+2
| | | | | | | | | | | | | | | | | The purpose of this change is to reduce the number of public API in the virtual keyboard. This change moves a lot of stuff from InputContext to ShiftHandler and InputContextPrivate and exposes the private API to QML through InputContext.priv property. Almost all the unrelevant APIs were moved away, except some properties and methods needed by selection control. These were left intact because moving them is not trivial. Change-Id: I1f23f5f54bc21c68996cb220a66d16d34b5d14ce Reviewed-by: Jarkko Koivikko <jarkko.koivikko@code-q.fi> Reviewed-by: Frederik Gladhorn <frederik.gladhorn@qt.io>
* Add Spanish Mexican keyboard layoutJarkko Koivikko2018-08-201-1/+9
| | | | | | | | [ChangeLog] Added Spanish Mexican keyboard layout Change-Id: Idfdf9d8abd051e8fbdad8e724780d30cb452e006 Reviewed-by: Jarkko Koivikko <jarkko.koivikko@code-q.fi> Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
* Add Portuguese Brazil keyboard layoutJarkko Koivikko2018-08-201-1/+9
| | | | | | | | [ChangeLog] Added Portuguese Brazil keyboard layout Change-Id: Icb6f5931c63aa0380bebee29c9344a2e30c6a8f1 Reviewed-by: Jarkko Koivikko <jarkko.koivikko@code-q.fi> Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
* Add French Canadian keyboard layoutJarkko Koivikko2018-08-201-1/+9
| | | | | | | | [ChangeLog] Added French Canadian keyboard layout Change-Id: I20efb7aa42cf2b30f6302980b931e2d5c9df930a Reviewed-by: Jarkko Koivikko <jarkko.koivikko@code-q.fi> Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
* Show layout files in the project explorerJarkko Koivikko2018-08-171-1/+2
| | | | | | | | When developing in Qt Creator it is convenient that the layout files are accessible through the project explorer. Change-Id: Ica7a8316580c738d8b0bf9ae4566480d14041cd4 Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
* Add English US keyboard layoutJarkko Koivikko2018-08-171-0/+8
| | | | | | | [ChangeLog] Added English US keyboard layout Change-Id: I02c54b5f31bfb757f3fb41fcc6c90341013a4fc3 Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
* Add Indonesian keyboard layoutJarkko Koivikko2018-08-171-0/+8
| | | | | | | [ChangeLog] Added Indonesian keyboard layout Change-Id: I22bc6eca017c5ae79783c68eaf992853ae77d4ec Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
* Add Malay keyboard layoutJarkko Koivikko2018-08-171-0/+8
| | | | | | | [ChangeLog] Added Malay keyboard layout Change-Id: I4c388f6d5a8ee3863e09e2319645ba4644abc9b7 Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
* Add layout fallback feature and eliminate duplicate layoutsJarkko Koivikko2018-08-171-31/+122
| | | | | | | | | | | | | | | | | | | Keyboard layouts such as symbols and handwriting have been duplicated commonly. While it has been possible to avoid duplication with digits, numbers and dialpad layouts, it was not possible with handwriting layout, because the existence of handwriting layout indicates the language supports handwriting (which is used to enable the handwriting button on the main layout). This change modifies the fallback mechanism so that a special fallback file called <layout type>.fallback must exist in place of the layout. This allows to explicitly state whether a layout fallback should be used. This change also removes the duplicated layouts. Change-Id: I22764f96a992c92731128fa192365dec419d17eb Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
* Add Ukrainian keyboard layoutJarkko Koivikko2018-08-161-0/+5
| | | | | | | [ChangeLog] Added Ukrainian keyboard layout Change-Id: Ic844f43221823e6fde1a6f218f3ec539e731f607 Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
* Add Turkish keyboard layoutJarkko Koivikko2018-08-161-0/+5
| | | | | | | | [ChangeLog] Added Turkish keyboard layout Change-Id: Ibc4d1382346f20fcc0d6cd3031b728a40f4bf5a3 Reviewed-by: Jarkko Koivikko <jarkko.koivikko@code-q.fi> Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
* Add Slovenian keyboard layoutJarkko Koivikko2018-08-161-0/+5
| | | | | | | [ChangeLog] Added Slovenian keyboard layout Change-Id: Icb8105c044831753a2565a55c0a1c7b98e9f84d1 Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
* Add Slovak keyboard layoutJarkko Koivikko2018-08-161-0/+5
| | | | | | | [ChangeLog] Added Slovak keyboard layout Change-Id: Ie9a853b8ba2eecc023918e0d8abe8a41a03e4329 Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
* Add Albanian keyboard layoutJarkko Koivikko2018-08-161-0/+5
| | | | | | | [ChangeLog] Added Albanian keyboard layout Change-Id: I85e800f0771c2d94ab87859c5feb7cf9d1f07f18 Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
* Modularize virtual keyboard and add an extension interfaceJarkko Koivikko2018-08-061-282/+35
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | With the extension interface it is possible to add new input method and/or languages without recompiling the Qt Virtual Keyboard plugin itself. The existing input methods are now isolated into plugins. So installing a new input method is a matter of copying the corresponding extension plugin to the plugins/virtualkeyboard directory (and any collateral required by the extension plugin itself). This change also renames the HunspellInputMethod to DefaultInputMethod. This change is necessary because some other extension plugin may want to provide the default input method instead. Implementation plan =================== [x] Create virtualkeyboard-private module [x] Create plugin library [x] Define interface for input method plugin [x] Define interface for keyboard layouts [x] Move existing input methods and layouts to plugins [x] HangulInputMethod [x] HunspellInputMethod [x] Maybe create a private library for sharing between HunspellInputMethod and LipiInputMethod [x] LipiInputMethod [x] OpenWnnInputMethod [x] PinyinInputMethod [x] T9WriteInputMethod [x] TCInputMethod [o] Rename some C++ classes (too generic name?) [x] Think again replacing the QtVirtualKeyboard namespace [x] Update documentation [x] General instructions for creating a plugin [x] For the C++ interfaces too (previously removed) [ChangeLog][Important Behavior Changes] Introduce an extension interface for the virtual keyboard. All the current input methods and some special keyboard layouts (e.g. Hunspell, OpenWnn, etc.) have been moved to extensions. The extension interface allows third party to create a new input method without having to modify or rebuild the virtual keyboard. In addition, this change makes it possible to add features and languages independently by copying the desired extension to the system. [ChangeLog][Important Behavior Changes] Introduce a virtualkeyboard module, which can be linked against an extension plugin. This module provides the C++ API necessary for creating an input method. [ChangeLog][Important Behavior Changes] Wrap the entire virtual keyboard API into Qt namespace (e.g. QT_BEGIN_NAMESPACE/QT_END_NAMESPACE). Task-number: QTBUG-57602 Change-Id: I449f4429109f596a7a1df7517c81f97d4aada27c Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
* Clean up resource handlingSimon Hausmann2018-05-161-4/+9
| | | | | | | | | | Since Qt 5.6 it is possible to pass "objects" to RESOURCES that describe files and prefix directly. That allows getting rid of the qmake code to generate .qrc files here, resources.prf does that by itself now. Change-Id: Ibdcfd47355aeb10b83d23f6b00ec55b179b03bbf Reviewed-by: Jarkko Koivikko <jarkko.koivikko@code-q.fi> Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
* Add build time option to exclude all styles from the pluginJarkko Koivikko2018-05-111-3/+7
| | | | | | | | [ChangeLog] Added build time option to exclude all styles from the plugin. Change-Id: I7b965cfb10eb0c140c2910c5321615758bb18b95 Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
* Add Vietnamese handwriting recognition (T9 Write)Jarkko Koivikko2018-05-111-0/+2
| | | | | | | [ChangeLog] Added Vietnamese handwriting recognition. Change-Id: I34fcf6acf58c3fcc8ef131db9c0f34703a7f85fc Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
* Add Vietnamese keyboard layoutJarkko Koivikko2018-05-111-0/+5
| | | | | | | [ChangeLog] Added Vietnamese keyboard layout Change-Id: I9191e76a3ff268ffa93af87786412c27da022950 Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
* Merge remote-tracking branch 'origin/5.11' into devQt Forward Merge Bot2018-04-051-0/+1
|\ | | | | | | Change-Id: I391752a6af04671b12f88a5980b1fb7ed62921c6
| * Revert "Revert "Compile QML files ahead of time in resources""v5.11.0-beta3Simon Hausmann2018-04-011-0/+1
| | | | | | | | | | | | | | | | | | QTBUG-66675 is fixed now. This reverts commit 7db26902b36e3417a96586f98278b63afc0b0ad4. Change-Id: Ifc02a9ba4ce4fcb0dd7ecf9e48fab42e332648a5 Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
* | Bundle tcime dictionary in the pluginJarkko Koivikko2018-04-041-9/+18
| | | | | | | | | | | | | | | | | | | | | | This change bundles the tcime dictionaries into plugin by default. [ChangeLog] The tcime dictionary is now bundled in the plugin by default. Task-number: QTBUG-66198 Change-Id: I0a8ed09e9a32f0ec3fa08efbdb5802d83e727463 Reviewed-by: Andy Shaw <andy.shaw@qt.io> Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
* | Bundle pinyin dictionary in the pluginJarkko Koivikko2018-04-041-6/+10
|/ | | | | | | | | | | | This change modifies the pinyin library and adds support for loading the dictionary from the qt resource system. [ChangeLog] The pinyin dictionary is now bundled in the plugin by default. Task-number: QTBUG-66198 Change-Id: I17459c4bde89cc4ccd96ad5c97393a5ad502b902 Reviewed-by: Andy Shaw <andy.shaw@qt.io> Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
* Revert "Compile QML files ahead of time in resources"Simon Hausmann2018-03-061-1/+0
| | | | | | | | | This reverts commit 5f80f66d3b5878bba021d4ac67e35388bfe84fdb, as it caused QTBUG-66675 and blocks the module. Let's re-apply this when the bug in declarative is fixed. Change-Id: Ice2dc9b9e7c8fd85d59fc0dfc324e4574c9140fd Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
* Compile QML files ahead of time in resourcesSimon Hausmann2018-02-151-0/+1
| | | | | | | | | | | With the QtQuickCompiler compatibility in place in qtdeclarative, we can by default compile all qml files ahead of time, embed the cache files into resources and avoid shipping the original sources. This simplifies distribution and reduces the size of the overall package, ~1.6 MB for libqtvirtualkeyboardplugin.so on Linux x86-64. Change-Id: Ic3c20f43dfac6e601389b581033dcaf6f7015443 Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
* Remove QtQuickCompiler workaroundsSamuli Piippo2018-02-051-2/+0
| | | | | | | | | QtQuickCompiler workarounds are no longer required with Qt 5.11 and need to be removed to fix build failure where private/qqmlmetatype_p.h was not found, since QT+=qml-private is no longer done by qtquickcompiler.prf. Change-Id: I48f640a5b7196b295de89589d14061011ed920fc Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
* Add Hebrew keyboard layoutJarkko Koivikko2017-08-241-0/+7
| | | | | | | [ChangeLog] Added Hebrew keyboard layout. Change-Id: I7779db4e5ac3c5a99937a0d7b7e572db65f0d811 Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
* Add Farsi handwritingJarkko Koivikko2017-08-211-0/+2
| | | | | | | [ChangeLog] Added Farsi handwriting. Change-Id: I1bf25cbc7f36cf8ca3f0a44b7e217a55ed3aa13a Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
* Add Arabic handwritingJarkko Koivikko2017-08-211-0/+2
| | | | | | | [ChangeLog] Added Arabic handwriting. Change-Id: Ica0601da2df262369159415d28fdb183e6f63736 Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
* Add Serbian keyboard layoutJarkko Koivikko2017-08-071-0/+7
| | | | | | | [ChangeLog] Added Serbian keyboard layout. Change-Id: I7baa330791c62f7bbf4ff6a253ce1eea9f9c0e32 Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
* Add Hungarian keyboard layoutJarkko Koivikko2017-08-071-0/+7
| | | | | | | [ChangeLog] Added Hungarian keyboard layout. Change-Id: Ie0491c625aa767c2e775f1961192f3e4fa0c652b Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
* Add Czech keyboard layoutJarkko Koivikko2017-08-071-0/+7
| | | | | | | [ChangeLog] Added Czech keyboard layout. Change-Id: I12d989436e0299dc3dc1e993d756aba31a30a763 Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
* Add Croatian keyboard layoutJarkko Koivikko2017-08-071-0/+7
| | | | | | | [ChangeLog] Added Croatian keyboard layout. Change-Id: I6e06b81439b046919561a5f7349d2603e53a7f55 Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
* Add Bulgarian keyboard layoutJarkko Koivikko2017-08-071-0/+7
| | | | | | | [ChangeLog] Added Bulgarian keyboard layout. Change-Id: I636ba97d3fe80c94f91b269426465023a433d7bf Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
* Add Greek keyboard layoutJarkko Koivikko2017-08-071-0/+7
| | | | | | | [ChangeLog] Added Greek keyboard layout. Change-Id: I56a15ebcf58c768d8f544654cb8a17a77c743e3f Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
* Add Estonian keyboard layoutJarkko Koivikko2017-07-311-0/+7
| | | | | | | [ChangeLog] Added Estonian keyboard layout. Change-Id: Iadb39df14980e36a15f61f4e4f346f8aeee63b91 Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
* Add Dutch keyboard layoutJarkko Koivikko2017-07-311-0/+7
| | | | | | | [ChangeLog] Added Dutch keyboard layout. Change-Id: I91d853fe2e74c68492caf9afac85df2c4b64548d Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
* Add support for Japanese handwriting (T9 Write CJK)Jarkko Koivikko2017-07-081-0/+2
| | | | | | | This change adds handwriting support for Japanese. Change-Id: Ifc8f0e32c8b3211c13aee8be5cb2e05fae09d3b7 Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
* Add support for Korean handwriting (T9 Write CJK)Jarkko Koivikko2017-07-081-0/+2
| | | | | | | This change adds handwriting support for Korean. Change-Id: I77eb322020c39259d9609051100c40b271a62c04 Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
* Add support for Traditional Chinese handwriting (T9 Write CJK)Jarkko Koivikko2017-07-081-0/+2
| | | | | | | This change adds handwriting support for Traditional Chinese. Change-Id: Ic358bf81795a3c88234b5e9c85635223ebf1c0d7 Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
* Add support for T9 Write CJKJarkko Koivikko2017-07-081-18/+44
| | | | | | | | | | | | | This change adds support for handwriting in Simplified Chinese. The integration is based on T9 Write CJK SDK v7.8.1. [ChangeLog] Added support for CJK (Chinese/Japanese/Korean) handwriting via T9 Write. Change-Id: I18481cfd897987ecb471c49ecfcac62ea0c3489c Reviewed-by: Mitch Curtis <mitch.curtis@qt.io> Reviewed-by: Liang Qi <liang.qi@qt.io>