/**************************************************************************** ** ** 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 } } }