aboutsummaryrefslogtreecommitdiffstats
path: root/src/layouts/zh_CN/handwriting.qml
diff options
context:
space:
mode:
Diffstat (limited to 'src/layouts/zh_CN/handwriting.qml')
-rw-r--r--src/layouts/zh_CN/handwriting.qml73
1 files changed, 73 insertions, 0 deletions
diff --git a/src/layouts/zh_CN/handwriting.qml b/src/layouts/zh_CN/handwriting.qml
new file mode 100644
index 00000000..a2548b89
--- /dev/null
+++ b/src/layouts/zh_CN/handwriting.qml
@@ -0,0 +1,73 @@
+// Copyright (C) 2021 The Qt Company Ltd.
+// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GPL-3.0-only
+
+import QtQuick
+import QtQuick.Layouts
+import QtQuick.VirtualKeyboard
+import QtQuick.VirtualKeyboard.Components
+
+KeyboardLayout {
+ function createInputMethod() {
+ return Qt.createQmlObject('import QtQuick; import QtQuick.VirtualKeyboard.Plugins; HandwritingInputMethod {}', parent)
+ }
+ sharedLayouts: ['symbols']
+ inputMode: preferredInputMode()
+
+ Connections {
+ target: InputContext
+ function 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 {
+ KeyboardColumn {
+ Layout.preferredWidth: 1
+ InputModeKey {
+ }
+ ChangeLanguageKey {
+ visible: true
+ }
+ ShiftKey {
+ }
+ HandwritingModeKey {
+ }
+ }
+ KeyboardColumn {
+ Layout.preferredWidth: 8
+ 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: 1
+ Key {
+ key: Qt.Key_Period
+ text: "。"
+ alternativeKeys: "¥‘’“”~…—\",.:;、。?! "
+ smallText: "!?"
+ smallTextVisible: true
+ highlighted: true
+ }
+ HideKeyboardKey {
+ visible: true
+ }
+ BackspaceKey {
+ }
+ EnterKey {
+ }
+ }
+ }
+}