| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Cerence SDK enables two extension plugins for the Qt Virtual Keyboard.
- Cerence HWR: Handwriting extension know previously as T9 Write
- Cerence XT9: Advanced keyboard extension, supporting various languages
This commit removes the previous T9 Write extension and reintroduces
it as the Cerence HWR extension. This commit also adds the Cerence XT9
as a new feature. The Cerence HWR can also utilize the XT9 for some
additional features.
Here is a list of changes made to the handwriting extension:
- Move the T9 Write extension to the general "cerence" directory,
which allows data and code to be shared between T9 Write and XT9.
- Update unpack.py to match the latest Cerence SDK. Drop support
for legacy delivery rules, as they interfere with the latest
SDK.
- Alphabetic API was renamed from decuma* to decumaUcr at version
number 21
- Add extra parameter to BeginArcAddition and set
bMinimizePreProcessing to 1 to avoid defining the parameter.
- Do not pass the support lines to engine as they are not
supported/needed. For example, the latest CJK SDK returns error
when the support lines are defined.
- Remove reference to decumaFunctionalSupport.h, which is not part
of the official SDK. As a consequence, disable support for
recognition interrupt, which is not critical feature anyway.
- Fix several compiler warnings.
- Enable UCR mode for new languages.
- Filter out duplicate candidates (after case formatting)
- Use handwriting recognition timeout setting
- Check and recover from an init failure when UCR not supported
- Use common dictionary management with XT9
- Add user defined search path for HWR db
QT_VIRTUALKEYBOARD_T9WRITE_DB_PATH
- Use generic dictionary API
- Add user dictionary (DLM)
- Limit too many simultaneous input
- Add support for the latest SDK (removed support from previous
versions of the SDK)
- Add support for background recognition supported by the engine.
This improves latencies and removes delays in certain situations.
- Clear old traces from screen after specified delay.
Previously, old traces were cleared from the screen based on the
information from the engine to identify strokes of the recognized
characters. Unfortunately, the engine does not provide this
information at the same detail in UCR mode.
This change introduces a timer-based approach, where traces are
removed after a specified time, calculated from the recognition
result. This time can be adjusted in the virtual keyboard settings.
- Add auto correction for alphabetic languages
- Add predictions from custom dictionary (XT9 Nav)
- Fix language id mapping between Qt6 QLocale::Language and Cerence
HWR.
Change-Id: Iff4daea67cbb8adee1caf2e9513198482da48a38
Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
Reviewed-by: Jarkko Koivikko <jarkko.koivikko@code-q.fi>
|
|
|
|
|
|
| |
Pick-to: 6.1
Change-Id: Iaf4bb20ff7753ee0b7c066e9743ef566a1837865
Reviewed-by: Jarkko Koivikko <jarkko.koivikko@code-q.fi>
|
|
|
|
|
|
| |
Change-Id: Ia639b1aad48805ac472c2fde3791e6945fdaf38c
Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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>
|
|\
| |
| |
| |
| |
| |
| | |
Conflicts:
.qmake.conf
Change-Id: Ic33e523570bd1e7801fa9515b907bed912ba53ba
|
| |
| |
| |
| |
| | |
Change-Id: Ifab743c1e965dd92c6c174296f310f39f87e8bac
Reviewed-by: J-P Nurmi <jpnurmi@qt.io>
|
|\|
| |
| |
| |
| |
| |
| | |
Conflicts:
.qmake.conf
Change-Id: I84cccac7024c1c48b6419838bb424e45cb2557d4
|
| |
| |
| |
| |
| | |
Change-Id: I8c0a85cacc07ba4bce6f3f2f573bc519e73cc938
Reviewed-by: Andy Shaw <andy.shaw@qt.io>
|
|/
|
|
|
|
|
|
|
| |
In commit 6a07634b20dddb9c67e2a865bfb3227dac103ca4 the entire path of the
basic example was mistakenly added to gitignore, while it should have
added only the binary.
Change-Id: I9859dd8b2971eb211bc5df82110250d37362b2cf
Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
|
|
|
|
|
|
|
|
| |
* Ignore .qmake files
* Ignore test binaries
Change-Id: I6571cfc219641c36c558d7de127c7198c98c1476
Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
|
|
|
|
|
|
| |
Change-Id: I98cf8c40ae944d99e1df5b3c4647b8caa87d4713
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@theqtcompany.com>
Reviewed-by: Andy Shaw <andy.shaw@theqtcompany.com>
|
|
|
|
|
| |
Change-Id: I0ed003b384df5019025c767912a392218a5dfa5e
Reviewed-by: Andy Shaw <andy.shaw@theqtcompany.com>
|
|
|
|
|
|
|
|
|
|
|
| |
This change adds T9Write implementation of HandwritingInputMethod.
To use the T9Write, the contents of T9Write sdk must be extracted
to srv/virtualkeyboard/3rdparty/t9write directory and the qmake
command line must contain CONFIG+=t9write.
Change-Id: Ib56d1d3dc553bb5d5677ab03e213dc8fed43ac68
Reviewed-by: Mitch Curtis <mitch.curtis@theqtcompany.com>
|
|
|
|
|
| |
Change-Id: I0dff6d89b06ccf294b635c6d5545eb4299bd8873
Reviewed-by: Mitch Curtis <mitch.curtis@digia.com>
|
|
|
|
|
|
|
|
|
|
|
|
| |
The version 1.3.3 introduces files to the parsers directory.
The previous version compiles with the new project file, as
the project uses wildcard match for the source files in the
parsers directory.
The conguration file "config.h" is now generated by the qmake.
Change-Id: I90f6e2e33ce4ca928cbf9265e51221240ecf7914
Reviewed-by: Mitch Curtis <mitch.curtis@digia.com>
|
|
|
|
|
| |
Change-Id: Ic96fe15587f65606e94280173ddef49bb582344d
Reviewed-by: Mitch Curtis <mitch.curtis@digia.com>
|
|
|
|
|
|
|
| |
The hunspell directory entries were not properly set.
Change-Id: Ie87bc20ebfbe754ad6418bba36343fd413a01521
Reviewed-by: Mitch Curtis <mitch.curtis@digia.com>
|
|
|
|
|
|
|
|
|
|
| |
This restructures the repo to match other Qt modules, like the
Enterprise Controls. It also renames the plugin and usages of its name
in the documentation so that the abbreviated "VKB" is not used
anywhere.
Change-Id: I5de3fc67846a50438e52f4be057abfa0d9be0d91
Reviewed-by: Frederik Gladhorn <frederik.gladhorn@digia.com>
|
| |
|
|
|