aboutsummaryrefslogtreecommitdiffstats
path: root/tests/auto
Commit message (Collapse)AuthorAgeFilesLines
* Fix cursor position in Japanese inputJanne Myöhänen2020-06-231-0/+33
| | | | | | | | | | | Fix cursor position in Japanese input when suggestion is selected. The selected text is set as preedit text just before committing. Fixes: QTBUG-74664 Change-Id: I7d1dd35fad8b844f5849c3006145c69792ce8725 Reviewed-by: Mitch Curtis <mitch.curtis@qt.io> (cherry picked from commit 5760593c66928c77b193a8502b8433e122980bc1) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
* Fix tst_layoutresources::layoutsSami Nurmenniemi2019-01-171-0/+1
| | | | | | | | | Fix is needed after change 68511d41d50b1a136fb0e74fdabfd362e0b21a1a in qtbase Change-Id: I4dc1427a095edaf7d15aabc6193936546f90ae17 Task-number: QTBUG-73065 Reviewed-by: Liang Qi <liang.qi@qt.io>
* Fix tst_layoutfilesystem::layoutsSami Nurmenniemi2019-01-161-0/+1
| | | | | | | | | Fix is needed after change 68511d41d50b1a136fb0e74fdabfd362e0b21a1a in qtbase Task-number: QTBUG-73065 Change-Id: I88374d953e7e99e9ed653630380404b5ce9953bb Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
* t9write: Add Thai handwriting recognitionJarkko Koivikko2018-10-119-0/+7887
| | | | | | | [ChangeLog] Added Thai handwriting recognition (T9 Write). Change-Id: Idb34fcf07d0318bbca6e6573e5859edb375f205f Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
* Qtify new APIMitch Curtis2018-09-272-7/+7
| | | | | | | | | | | | | | | Add "is" to C++ getter functions returning bool (where applicable). Add "Active" to "shift" and "capsLock" QML properties, etc. By making these names more explicit, it's clearer what they do and also future-proofs the API by allowing us to add related properties in the future if necessary. [ChangeLog][InputContext] Deprecated shift and capsLock properties in favor of shiftActive and capsLockActive. Change-Id: I66f2c85b50622a6e5fe6b25fb24f13be27acaf9d Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
* Merge remote-tracking branch 'origin/5.11' into 5.12Qt Forward Merge Bot2018-09-251-0/+11
|\ | | | | | | Change-Id: I8aab893466cfc476a4017b082700cfe4cb678dcd
| * tests: Verify current item in selectionListSelectCurrentItemJarkko Koivikko2018-09-241-0/+11
| | | | | | | | | | | | | | | | | | | | For investigating flaky tests. Task-number: QTBUG-62518 Task-number: QTBUG-61279 Task-number: QTQAINFRA-2226 Change-Id: I447f8e4a332b60df617c834fc3ccbf4e3f6a47ce Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
| * tests: Backport test_wclAutoCommitWordSetting from 5.12Jarkko Koivikko2018-09-242-8/+10
| | | | | | | | | | | | | | | | | | | | Fixes flaky test. Task-number: QTBUG-62518 Task-number: QTBUG-61279 Task-number: QTQAINFRA-2226 Change-Id: I55208710ed4b9699fde6643438b23148cb7c7240 Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
* | Enable layout mirroring for word candidate listJarkko Koivikko2018-09-072-0/+46
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Change 4a92afe75bfb7886ecb1b3282b05b2985c39fe3c disabled layout mirroring for virtual keyboard. This change enables layout mirroring for word candidate list. Changes to navigation cursor logic are necessary, so that navigation cursor follows text direction. Task-number: QTBUG-70041 Change-Id: I59ec8968294c1c342e10f718dbd2360f25378956 Reviewed-by: Jarkko Koivikko <jarkko.koivikko@code-q.fi> Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
* | Merge remote-tracking branch 'origin/5.11' into 5.12Liang Qi2018-09-051-0/+8
|\| | | | | | | | | | | | | Conflicts: src/virtualkeyboard/platforminputcontext.cpp Change-Id: Ic12049c5bfa598fff6e6c896a9b6ee73f664b681
| * Attempt to stabilise inputpanel auto testMitch Curtis2018-09-051-0/+8
| | | | | | | | | | | | | | | | | | | | The last patch showed that there was no focus window when InputContext::sendKeyClick() was called, so try to raise and activate the window at the start of each test to see if it helps. Task-number: QTBUG-62518 Change-Id: I48a66109d18e941e16e177d0c6ec76517846bc9d Reviewed-by: Andy Shaw <andy.shaw@qt.io>
* | Fix regression in arrow key navigationJarkko Koivikko2018-08-301-0/+11
| | | | | | | | | | | | | | | | | | | | | | | | When word candidate view contained items and an alternative keys view was opened by long press key, the word candidate item was selected together with alternative key. This regression was introduced in commit e803aec1ea21fd00e13b9535a4b536cc43c26ee4 Change-Id: Ie6f7e1580ddcc5327104eafafc3a10c86e9abb65 Reviewed-by: Jarkko Koivikko <jarkko.koivikko@code-q.fi> Reviewed-by: Frederik Gladhorn <frederik.gladhorn@qt.io>
* | Use enum class in the public APIJarkko Koivikko2018-08-284-21/+95
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This change was suggested in the API review. All the "old" enums are backwards compatible in QML, since unscoped values are enabled by default. Added the following new enum values maintaining compatibility (in QML): - QVirtualKeyboardInputEngine::PatternRecognitionMode::None (same as PatternRecognitionDisabled) - QVirtualKeyboardInputEngine::PatternRecognitionMode::Handwriting (same as HandwritingRecoginition) - QVirtualKeyboardSelectionListModel::Role::Display (same as DisplayRole) - QVirtualKeyboardSelectionListModel::Role::WordCompletionLength (same as WordCompletionLengthRole) Renamed the following enum values (new in 5.12): - QVirtualKeyboardSelectionListModel::Role::Dictionary (was DictionaryTypeRole) - QVirtualKeyboardSelectionListModel::Role::CanRemoveSuggestion (was CanRemoveSuggestionRole) - QVirtualKeyboardSelectionListModel::DictionaryType::Default (was DefaultDictionary) - QVirtualKeyboardSelectionListModel::DictionaryType::User (was UserDictionary) Added missing Q_DECLARE_METATYPE for: - QVirtualKeyboardInputEngine::PatternRecognitionMode - QVirtualKeyboardInputEngine::ReselectFlag - QVirtualKeyboardSelectionListModel::DictionaryType The enums can be found in: - src/virtualkeyboard/qvirtualkeyboardinputengine.h - src/virtualkeyboard/qvirtualkeyboardselectionlistmodel.h Added a test case for verifying QML enum values. Change-Id: I16749af71aadd762e9c303b5c682b2888afaa672 Reviewed-by: Jarkko Koivikko <jarkko.koivikko@code-q.fi> Reviewed-by: Frederik Gladhorn <frederik.gladhorn@qt.io>
* | Fix regression in test_wclAutoCommitWordSettingJarkko Koivikko2018-08-272-2/+9
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Commit e803aec1ea21fd00e13b9535a4b536cc43c26ee4 modified the test case and caused regression. The idea was correct, but the implementation used SignalSpy for model.dataChanged, which is ambiguous, since there are multiple signals per update. This change introduce inputMethodSelectionListChangedSpy which monitors selectionListChanged signal from the input method. This is reliable, as long as suggestions are generated background. Change-Id: Ica2710b8c389c13e1a1b1d28027667e031bc4f59 Reviewed-by: Jarkko Koivikko <jarkko.koivikko@code-q.fi> Reviewed-by: Frederik Gladhorn <frederik.gladhorn@qt.io>
* | Trim InputContext APIJarkko Koivikko2018-08-271-7/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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>
* | Restore inputpanel tests for b2qtSami Nurmenniemi2018-08-272-18/+0
| | | | | | | | | | | | | | | | | | | | | | These tests pass now. Fixes have been - Support for MADV_DONTNEED added to qemu - Newer Yocto toolchain Task-number: QTBUG-68349 Change-Id: I47377a1f2596c7de410a23dd556c79552b0a41c1 Reviewed-by: Jarkko Koivikko <jarkko.koivikko@code-q.fi> Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
* | Add Spanish Mexican keyboard layoutJarkko Koivikko2018-08-201-0/+1
| | | | | | | | | | | | | | | | [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-0/+1
| | | | | | | | | | | | | | | | [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-0/+1
| | | | | | | | | | | | | | | | [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>
* | Add English US keyboard layoutJarkko Koivikko2018-08-171-0/+1
| | | | | | | | | | | | | | [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/+1
| | | | | | | | | | | | | | [ChangeLog] Added Indonesian keyboard layout Change-Id: I22bc6eca017c5ae79783c68eaf992853ae77d4ec Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
* | Add Malay keyboard layoutJarkko Koivikko2018-08-171-0/+1
| | | | | | | | | | | | | | [ChangeLog] Added Malay keyboard layout Change-Id: I4c388f6d5a8ee3863e09e2319645ba4644abc9b7 Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
* | Add user dictionary and learning for HunspellJarkko Koivikko2018-08-163-8/+137
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This change adds user dictionary and learning function for Hunspell. Learning happens when the user selects the first candidate from the word candidate list (or presses the space key while the first candidate is selected) and the word does not exist in the default dictionary. User can remove a word from user dictionary by long pressing an item on the word candidate list (and selecting from the menu). This also allows the user to block words originating from the system dictionary. The Hunspell user dictionary is hard limited to 100 words. However, when user enters a word again (which exists in the user dictionary), it will be prioritized in the dictionary, so the most frequent words stay in the dictionary. The dictionaries are language and locale specific and are stored in: QStandardPaths::GenericConfigLocation + "/qtvirtualkeyboard/hunspell" The dictionaries are UTF-8 encoded text files and contain one word per line. The same directory also contains the blacklist files (which also exist per language and locale). These files contain words which are blacklisted from the default dictionary. [ChangeLog] Added user dictionary and learning for Hunspell Change-Id: Ib0fc70f7eaa14ec49b74000144a75c59313ac0fb Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
* | Add Ukrainian keyboard layoutJarkko Koivikko2018-08-161-0/+1
| | | | | | | | | | | | | | [ChangeLog] Added Ukrainian keyboard layout Change-Id: Ic844f43221823e6fde1a6f218f3ec539e731f607 Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
* | Add Turkish keyboard layoutJarkko Koivikko2018-08-161-0/+1
| | | | | | | | | | | | | | | | [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 Thai keyboard layoutJarkko Koivikko2018-08-161-1/+2
| | | | | | | | | | | | | | [ChangeLog] Added Thai keyboard layout Change-Id: Ie527524f110a02729e2c81fa97408a00464eda4f Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
* | tests: Fix key search for Shift toggle layoutJarkko Koivikko2018-08-161-3/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Some layouts, such as Arabic and Thai use Shift key to toggle nested keyboard layout. The test helper method InputPanel.multiLayoutKeyActionHelper contained a bug which caused Shift key to be pressed, but not released. Subsequently the keyboard layout did not change as expected. This change fixes the test method by changing the key press to key click. The issue was discovered when testing some Thai input strings. Change-Id: If73865d0765e0763cddc99f92d2582ebfa73125b Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
* | Add Slovenian keyboard layoutJarkko Koivikko2018-08-161-1/+2
| | | | | | | | | | | | | | [ChangeLog] Added Slovenian keyboard layout Change-Id: Icb8105c044831753a2565a55c0a1c7b98e9f84d1 Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
* | Add Slovak keyboard layoutJarkko Koivikko2018-08-161-1/+2
| | | | | | | | | | | | | | [ChangeLog] Added Slovak keyboard layout Change-Id: Ie9a853b8ba2eecc023918e0d8abe8a41a03e4329 Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
* | Add Albanian keyboard layoutJarkko Koivikko2018-08-161-1/+2
| | | | | | | | | | | | | | [ChangeLog] Added Albanian keyboard layout Change-Id: I85e800f0771c2d94ab87859c5feb7cf9d1f07f18 Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
* | Allow InputMethod to process pre-edit clickYuntaek Rim2018-08-161-0/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | We already have InputMethod::reselect, but it is limited to case where the current pre-edit is discarded and new range is made active. However, if an input method wants to move the cursor within pre-edit, it is not possible with the current implementation. This change adds the new API for the InputMethod which allows to handle pre-edit click before reselect happens. If the input method handles the event, reselect will not be done. This change also improves the cursor handling within pre-edit text. Previously if the cursor attribute was added to pre-edit text and the input was committed, the cursor would jump to position after pre-edit text. This is now taken into account when committing text and cursor location will be preserved. Change-Id: I0a32f75eb4e454c86dd8d4f4016ac02fc1bc6c60 Reviewed-by: Jarkko Koivikko <jarkko.koivikko@code-q.fi> Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
* | myscript: initial integrationYuntaek Rim2018-08-167-680/+837
| | | | | | | | | | | | | | [ChangeLog][MyScript] Added support for MyScript handwriting. Change-Id: I7c1f41dfd7ddd25faf2d197652ba04d3d7e12941 Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
* | Modularize virtual keyboard and add an extension interfaceJarkko Koivikko2018-08-063-1/+19
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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>
* | Merge remote-tracking branch 'origin/5.11' into devLiang Qi2018-06-131-0/+4
|\| | | | | | | | | | | | | | | | | Conflicts: .qmake.conf src/virtualkeyboard/pinyindecoderservice.cpp src/virtualkeyboard/tcinputmethod.cpp Change-Id: Ie111173f60bc622ceda18bd5ee4a0e4b0e0a00ae
| * Skip crashing test on offscreen platformSami Nurmenniemi2018-05-231-0/+4
| | | | | | | | | | | | | | | | | | | | | | Test currently crashes often on QEMU so it needs to be skipped until root cause is found. Blacklisting is not enough since it does not capture crashes. Task-number: QTBUG-68349 Change-Id: I72aaeae3cc338fc59fea43ee766eea3762a1eaa6 Reviewed-by: Jarkko Koivikko <jarkko.koivikko@code-q.fi> Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
* | Improve reliability of inputpanel testJarkko Koivikko2018-05-221-91/+81
| | | | | | | | | | | | | | | | | | - Skip tests which are not applicaple - Add delay after focus change in prepareTest Task-number: QTBUG-62518 Change-Id: Ib62b408634bf4ad19940908738fc2cd756bb6b67 Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
* | Add Vietnamese handwriting recognition (T9 Write)Jarkko Koivikko2018-05-1111-3/+2410
| | | | | | | | | | | | | | [ChangeLog] Added Vietnamese handwriting recognition. Change-Id: I34fcf6acf58c3fcc8ef131db9c0f34703a7f85fc Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
* | Add Vietnamese keyboard layoutJarkko Koivikko2018-05-112-1/+23
| | | | | | | | | | | | | | [ChangeLog] Added Vietnamese keyboard layout Change-Id: I9191e76a3ff268ffa93af87786412c27da022950 Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
* | Add latin extra layout for RussianJarkko Koivikko2018-05-101-0/+1
|/ | | | | | | | [ChangeLog] Added latin extra layout for Russian. Task-number: QTBUG-67756 Change-Id: I9422d68ef2d08fffa6bb7241bd038aad9a3146a2 Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
* FullScreenMode: Send return key without modifiersv5.11.0-beta2Andy Shaw2018-03-091-0/+13
| | | | | | | | | | | When the return key is sent to a multiple line text field it can be interpreted differently if the Shift modifier is included. This makes sense for a hard keyboard as you can use it to enter in a new line versus a new paragraph. For the virtual keyboard however, it is best to just send it as a plain return so it handles it correctly. Change-Id: I995504d7ab6961fd8baf016d2d68be4b659d1e19 Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
* Merge remote-tracking branch 'origin/5.10' into devLiang Qi2018-01-202-0/+12
|\ | | | | | | | | | | | | Conflicts: .qmake.conf Change-Id: I84cccac7024c1c48b6419838bb424e45cb2557d4
| * Blacklist and skip failing/crashing tests on boot2qtSami Nurmenniemi2018-01-032-0/+12
| | | | | | | | | | | | Task-number: QTBUG-63152 Change-Id: I588c4b71a9d7e44cab5010e9a32c75e6e12c7389 Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
* | Add support for external language switchJarkko Koivikko2018-01-192-3/+24
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Added new signal InputPanel::externalLanguageSwitch and a property InputPanel::externalLanguageSwitchEnabled for enabling external language switch. If the externalLanguageSwitchEnabled is true, the signal is triggered instead of built-in language popup. The new language can be selected by setting the VirtualKeyboardSettings::locale property. [ChangeLog] Add option to use external language dialog instead of built-in language popup. Change-Id: I44f88e6b3e52db4cfbee02bd3b6d7f4be38a9521 Reviewed-by: Jarkko Koivikko <jarkko.koivikko@code-q.fi> Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
* | tst_inputpanel: don't rely on index var being valid after first loopMitch Curtis2017-12-131-1/+1
|/ | | | | | | | | | | | In Qt 5.10 this code would work, but in dev inputIndex is null. It might be a regression or it might be a fix to comply with the standard, but either way, we should be explicit in the test and initialize the variable in the for loop's initial expression. Task-number: QTBUG-64988 Change-Id: Idf6019307a02a32dcb6237e2e83e5a9cd512df3d Reviewed-by: Jarkko Koivikko <jarkko.koivikko@code-q.fi> Reviewed-by: Liang Qi <liang.qi@qt.io>
* Add Hebrew keyboard layoutJarkko Koivikko2017-08-2432-1/+8596
| | | | | | | [ChangeLog] Added Hebrew keyboard layout. Change-Id: I7779db4e5ac3c5a99937a0d7b7e572db65f0d811 Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
* Clear toggle shift timer when appropriateJarkko Koivikko2017-08-241-3/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | The timer in the ShiftHandler is used for detecting double click events for shift key. A double click event will trigger caps lock if the initial shift state is lower case. However, the implementation did not handle a case where the keyboard layout changes between the first and second press. This can be done with multitouch. The second problem was with the automatic test cases, where the test code toggles the shift to see if there is a secondary layout triggered by the shift key, e.g. in Arabic and Farsi. However, if the keyboard layout does not contain secondary layout, rapid shift state change will trigger caps lock instead. This issue was identified with certain test case for Hebrew layout. This change fixes the issue by clearing the shift toggle timer when the layout changes and in the automatic tests while checking for the secondary layout with the shift key. Also, update test code so that the shift press is simulated with mouse. This will ensure the key exists in the layout and that the key is enabled. Change-Id: I2a528f1b82c30e8b8d9746d380b32ee370b38004 Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
* Add Farsi handwritingJarkko Koivikko2017-08-214-0/+611
| | | | | | | [ChangeLog] Added Farsi handwriting. Change-Id: I1bf25cbc7f36cf8ca3f0a44b7e217a55ed3aa13a Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
* Add Arabic handwritingJarkko Koivikko2017-08-218-0/+1439
| | | | | | | [ChangeLog] Added Arabic handwriting. Change-Id: Ica0601da2df262369159415d28fdb183e6f63736 Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
* Merge remote-tracking branch 'origin/5.9' into devLiang Qi2017-08-151-0/+2
|\ | | | | | | | | | | | | | | Conflicts: src/virtualkeyboard/t9writeworker.cpp src/virtualkeyboard/t9writeworker.h Change-Id: I1fa1567e2739766c55c0e94b10706eecb8ba2ae1
| * 3rdparty/openwnn: Fix crash related to entering a smileyJarkko Koivikko2017-08-021-0/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | The crash occurs in Hiragana input mode only when pressing the space after entering a smiley. Fix it by handling the smiley as individual characters instead of text when submitting to OpenWNN engine. [ChangeLog][OpenWNN] Fixed crash when pressing the space after entering a smiley. Task-number: QTBUG-62143 Change-Id: Ic5f271bdfe05491ffd6147f1fc8eb9f54ef4e032 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io> Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>