diff options
Diffstat (limited to 'src/layouts/ja_JP')
-rw-r--r-- | src/layouts/ja_JP/dialpad.fallback | 0 | ||||
-rw-r--r-- | src/layouts/ja_JP/digits.fallback | 0 | ||||
-rw-r--r-- | src/layouts/ja_JP/handwriting.qml | 57 | ||||
-rw-r--r-- | src/layouts/ja_JP/main.qml | 453 | ||||
-rw-r--r-- | src/layouts/ja_JP/numbers.fallback | 0 | ||||
-rw-r--r-- | src/layouts/ja_JP/symbols.qml | 486 |
6 files changed, 996 insertions, 0 deletions
diff --git a/src/layouts/ja_JP/dialpad.fallback b/src/layouts/ja_JP/dialpad.fallback new file mode 100644 index 00000000..e69de29b --- /dev/null +++ b/src/layouts/ja_JP/dialpad.fallback diff --git a/src/layouts/ja_JP/digits.fallback b/src/layouts/ja_JP/digits.fallback new file mode 100644 index 00000000..e69de29b --- /dev/null +++ b/src/layouts/ja_JP/digits.fallback diff --git a/src/layouts/ja_JP/handwriting.qml b/src/layouts/ja_JP/handwriting.qml new file mode 100644 index 00000000..c8d5acd3 --- /dev/null +++ b/src/layouts/ja_JP/handwriting.qml @@ -0,0 +1,57 @@ +// 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'] + + 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.JapaneseHandwriting ? [] : + [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 { + } + } + } +} diff --git a/src/layouts/ja_JP/main.qml b/src/layouts/ja_JP/main.qml new file mode 100644 index 00000000..18680c99 --- /dev/null +++ b/src/layouts/ja_JP/main.qml @@ -0,0 +1,453 @@ +// Copyright (C) 2021 The Qt Company Ltd. +// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GPL-3.0-only + +import QtQuick +import QtQuick.VirtualKeyboard +import QtQuick.VirtualKeyboard.Components +import QtQuick.Layouts + +KeyboardLayoutLoader { + function createInputMethod() { + return Qt.createQmlObject('import QtQuick; import QtQuick.VirtualKeyboard.Plugins; JapaneseInputMethod {}', parent, "japaneseInputMethod") + } + sharedLayouts: ['symbols'] + sourceComponent: InputContext.inputEngine.inputMode === InputEngine.InputMode.FullwidthLatin ? page2 : page1 + Component { + id: page1 + KeyboardLayout { + keyWeight: 160 + readonly property real normalKeyWidth: normalKey.width + readonly property real functionKeyWidth: mapFromItem(normalKey, normalKey.width / 2, 0).x + KeyboardRow { + Key { + key: Qt.Key_Q + text: "q" + } + Key { + id: normalKey + key: Qt.Key_W + text: "w" + } + Key { + key: Qt.Key_E + text: "e" + } + Key { + key: Qt.Key_R + text: "r" + } + Key { + key: Qt.Key_T + text: "t" + } + Key { + key: Qt.Key_Y + text: "y" + } + Key { + key: Qt.Key_U + text: "u" + } + Key { + key: Qt.Key_I + text: "i" + } + Key { + key: Qt.Key_O + text: "o" + } + Key { + key: Qt.Key_P + text: "p" + } + } + KeyboardRow { + KeyboardRow { + Layout.preferredWidth: functionKeyWidth + Layout.fillWidth: false + FillerKey { + } + Key { + key: Qt.Key_A + text: "a" + Layout.preferredWidth: normalKeyWidth + Layout.fillWidth: false + } + } + Key { + key: Qt.Key_S + text: "s" + } + Key { + key: Qt.Key_D + text: "d" + } + Key { + key: Qt.Key_F + text: "f" + } + Key { + key: Qt.Key_G + text: "g" + } + Key { + key: Qt.Key_H + text: "h" + } + Key { + key: Qt.Key_J + text: "j" + } + Key { + key: Qt.Key_K + text: "k" + } + KeyboardRow { + Layout.preferredWidth: functionKeyWidth + Layout.fillWidth: false + Key { + key: Qt.Key_L + text: "l" + Layout.preferredWidth: normalKeyWidth + Layout.fillWidth: false + } + FillerKey { + } + } + } + KeyboardRow { + ShiftKey { + Layout.preferredWidth: functionKeyWidth + Layout.fillWidth: false + } + Key { + key: Qt.Key_Z + text: "z" + } + Key { + key: Qt.Key_X + text: "x" + } + Key { + key: Qt.Key_C + text: "c" + } + Key { + key: Qt.Key_V + text: "v" + } + Key { + key: Qt.Key_B + text: "b" + } + Key { + key: Qt.Key_N + text: "n" + } + Key { + key: Qt.Key_M + text: "m" + } + BackspaceKey { + Layout.preferredWidth: functionKeyWidth + Layout.fillWidth: false + } + } + KeyboardRow { + SymbolModeKey { + Layout.preferredWidth: functionKeyWidth + Layout.fillWidth: false + } + ChangeLanguageKey { + weight: normalKeyWidth + Layout.fillWidth: false + } + Key { + key: Qt.Key_Comma + Layout.preferredWidth: normalKeyWidth + Layout.fillWidth: false + text: "\u3001" + smallText: "\u2699" + smallTextVisible: keyboard.isFunctionPopupListAvailable() + highlighted: true + } + InputModeKey { + enabled: !(InputContext.inputMethodHints & Qt.ImhLatinOnly) && inputModeCount > 1 + Layout.preferredWidth: normalKeyWidth + Layout.fillWidth: false + inputModeNameList: [ + "半角", // InputEngine.InputMode.Latin + "", // InputEngine.InputMode.Numeric + "", // InputEngine.InputMode.Dialable + "", // InputEngine.InputMode.Pinyin + "", // InputEngine.InputMode.Cangjie + "", // InputEngine.InputMode.Zhuyin + "", // InputEngine.InputMode.Hangul + "あ", // InputEngine.InputMode.Hiragana + "カ", // InputEngine.InputMode.Katakana + "全角", // InputEngine.InputMode.FullwidthLatin + ] + } + SpaceKey { + } + Key { + key: Qt.Key_Left + Layout.preferredWidth: normalKeyWidth / 2 + Layout.fillWidth: false + displayText: "\u2190" + repeat: true + noModifier: true + functionKey: true + highlighted: true + } + Key { + key: Qt.Key_Right + Layout.preferredWidth: normalKeyWidth / 2 + Layout.fillWidth: false + displayText: "\u2192" + repeat: true + noModifier: true + functionKey: true + highlighted: true + } + Key { + key: Qt.Key_Period + Layout.preferredWidth: normalKeyWidth + Layout.fillWidth: false + text: "\u3002" + alternativeKeys: "\u3001\uFF01\u3002\uFF1F,.?!" + smallText: "!?" + smallTextVisible: true + highlighted: true + } + HideKeyboardKey { + weight: normalKeyWidth + Layout.fillWidth: false + } + EnterKey { + Layout.preferredWidth: functionKeyWidth + Layout.fillWidth: false + } + } + } + } + Component { + id: page2 + KeyboardLayout { + keyWeight: 160 + readonly property real normalKeyWidth: normalKey.width + readonly property real functionKeyWidth: mapFromItem(normalKey, normalKey.width / 2, 0).x + KeyboardRow { + Key { + key: Qt.Key_Q + text: "\uFF51" + } + Key { + id: normalKey + key: Qt.Key_W + text: "\uFF57" + } + Key { + key: Qt.Key_E + text: "\uFF45" + } + Key { + key: Qt.Key_R + text: "\uFF52" + } + Key { + key: Qt.Key_T + text: "\uFF54" + } + Key { + key: Qt.Key_Y + text: "\uFF59" + } + Key { + key: Qt.Key_U + text: "\uFF55" + } + Key { + key: Qt.Key_I + text: "\uFF49" + } + Key { + key: Qt.Key_O + text: "\uFF4F" + } + Key { + key: Qt.Key_P + text: "\uFF50" + } + } + KeyboardRow { + KeyboardRow { + Layout.preferredWidth: functionKeyWidth + Layout.fillWidth: false + FillerKey { + } + Key { + key: Qt.Key_A + text: "\uFF41" + weight: normalKeyWidth + Layout.fillWidth: false + } + } + Key { + key: Qt.Key_S + text: "\uFF53" + } + Key { + key: Qt.Key_D + text: "\uFF44" + } + Key { + key: Qt.Key_F + text: "\uFF46" + } + Key { + key: Qt.Key_G + text: "\uFF47" + } + Key { + key: Qt.Key_H + text: "\uFF48" + } + Key { + key: Qt.Key_J + text: "\uFF4A" + } + Key { + key: Qt.Key_K + text: "\uFF4B" + } + KeyboardRow { + Layout.preferredWidth: functionKeyWidth + Layout.fillWidth: false + Key { + key: Qt.Key_L + text: "\uFF4C" + weight: normalKeyWidth + Layout.fillWidth: false + } + FillerKey { + } + } + } + KeyboardRow { + ShiftKey { + weight: functionKeyWidth + Layout.fillWidth: false + } + Key { + key: Qt.Key_Z + text: "\uFF5A" + } + Key { + key: Qt.Key_X + text: "\uFF58" + } + Key { + key: Qt.Key_C + text: "\uFF43" + } + Key { + key: Qt.Key_V + text: "\uFF56" + } + Key { + key: Qt.Key_B + text: "\uFF42" + } + Key { + key: Qt.Key_N + text: "\uFF4E" + } + Key { + key: Qt.Key_M + text: "\uFF4D" + } + BackspaceKey { + weight: functionKeyWidth + Layout.fillWidth: false + } + } + KeyboardRow { + SymbolModeKey { + weight: functionKeyWidth + Layout.fillWidth: false + } + ChangeLanguageKey { + weight: normalKeyWidth + Layout.fillWidth: false + } + Key { + key: Qt.Key_Comma + weight: normalKeyWidth + Layout.fillWidth: false + text: "\u3001" + smallText: "\u2699" + smallTextVisible: keyboard.isFunctionPopupListAvailable() + highlighted: true + } + InputModeKey { + enabled: !(InputContext.inputMethodHints & Qt.ImhLatinOnly) && inputModeCount > 1 + weight: normalKeyWidth + Layout.fillWidth: false + inputModeNameList: [ + "半角", // InputEngine.InputMode.Latin + "", // InputEngine.InputMode.Numeric + "", // InputEngine.InputMode.Dialable + "", // InputEngine.InputMode.Pinyin + "", // InputEngine.InputMode.Cangjie + "", // InputEngine.InputMode.Zhuyin + "", // InputEngine.InputMode.Hangul + "あ", // InputEngine.InputMode.Hiragana + "カ", // InputEngine.InputMode.Katakana + "全角", // InputEngine.InputMode.FullwidthLatin + ] + } + SpaceKey { + } + Key { + key: Qt.Key_Left + weight: normalKeyWidth / 2 + Layout.fillWidth: false + displayText: "\u2190" + repeat: true + noModifier: true + functionKey: true + highlighted: true + } + Key { + key: Qt.Key_Right + weight: normalKeyWidth / 2 + Layout.fillWidth: false + displayText: "\u2192" + repeat: true + noModifier: true + functionKey: true + highlighted: true + } + Key { + key: Qt.Key_Period + weight: normalKeyWidth + Layout.fillWidth: false + text: "\u3002" + alternativeKeys: "\u3001\uFF01\u3002\uFF1F,.?!" + smallText: "!?" + smallTextVisible: true + highlighted: true + } + HideKeyboardKey { + weight: normalKeyWidth + Layout.fillWidth: false + } + EnterKey { + weight: functionKeyWidth + Layout.fillWidth: false + } + } + } + } +} diff --git a/src/layouts/ja_JP/numbers.fallback b/src/layouts/ja_JP/numbers.fallback new file mode 100644 index 00000000..e69de29b --- /dev/null +++ b/src/layouts/ja_JP/numbers.fallback diff --git a/src/layouts/ja_JP/symbols.qml b/src/layouts/ja_JP/symbols.qml new file mode 100644 index 00000000..c84134fb --- /dev/null +++ b/src/layouts/ja_JP/symbols.qml @@ -0,0 +1,486 @@ +// 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 + +KeyboardLayoutLoader { + function createInputMethod() { + return Qt.createQmlObject('import QtQuick; import QtQuick.VirtualKeyboard.Plugins; JapaneseInputMethod {}', parent, "symbols.qml") + } + sharedLayouts: ['main'] + property int page + readonly property int numPages: 3 + readonly property string inputModeName: { + switch (InputContext.inputEngine.inputMode) { + case InputEngine.Katakana: + return "アイウ" + case InputEngine.Hiragana: + return "あいう" + default: + return "ABC" + } + } + sourceComponent: { + switch (page) { + case 2: return page3 + case 1: return page2 + default: return page1 + } + } + Component { + id: page1 + KeyboardLayout { + keyWeight: 160 + readonly property real normalKeyWidth: normalKey.width + readonly property real functionKeyWidth: mapFromItem(normalKey, normalKey.width / 2, 0).x + KeyboardRow { + Key { + key: Qt.Key_1 + text: "1" + } + Key { + id: normalKey + key: Qt.Key_2 + text: "2" + } + Key { + key: Qt.Key_3 + text: "3" + } + Key { + key: Qt.Key_4 + text: "4" + } + Key { + key: Qt.Key_5 + text: "5" + } + Key { + key: Qt.Key_6 + text: "6" + } + Key { + key: Qt.Key_7 + text: "7" + } + Key { + key: Qt.Key_8 + text: "8" + } + Key { + key: Qt.Key_9 + text: "9" + } + Key { + key: Qt.Key_0 + text: "0" + } + } + KeyboardRow { + Key { + key: Qt.Key_1 + text: "@" + } + Key { + key: Qt.Key_1 + text: "#" + } + Key { + key: Qt.Key_1 + text: "%" + } + Key { + key: Qt.Key_1 + text: "&" + } + Key { + key: Qt.Key_1 + text: "*" + } + Key { + key: Qt.Key_1 + text: "_" + } + Key { + key: Qt.Key_1 + text: "-" + } + Key { + key: Qt.Key_1 + text: "+" + } + Key { + key: Qt.Key_1 + text: "(" + } + Key { + key: Qt.Key_1 + text: ")" + } + } + KeyboardRow { + Key { + displayText: (page + 1) + "/" + numPages + functionKey: true + onClicked: page = (page + 1) % numPages + highlighted: true + } + Key { + text: "“" + } + Key { + text: "”" + } + Key { + text: "、" + } + Key { + text: ":" + } + Key { + text: ";" + } + Key { + text: "!" + } + Key { + text: "?" + } + Key { + text: "~" + } + BackspaceKey { + } + } + KeyboardRow { + SymbolModeKey { + weight: functionKeyWidth + Layout.fillWidth: false + displayText: inputModeName + } + ChangeLanguageKey { + weight: normalKeyWidth + Layout.fillWidth: false + } + Key { + key: Qt.Key_Comma + weight: normalKeyWidth + Layout.fillWidth: false + text: "," + smallText: "\u2699" + smallTextVisible: keyboard.isFunctionPopupListAvailable() + highlighted: true + } + SpaceKey { + } + Key { + key: Qt.Key_Period + weight: normalKeyWidth + Layout.fillWidth: false + text: "—" + highlighted: true + } + HideKeyboardKey { + weight: normalKeyWidth + Layout.fillWidth: false + } + EnterKey { + weight: functionKeyWidth + Layout.fillWidth: false + } + } + } + } + Component { + id: page2 + KeyboardLayout { + keyWeight: 160 + readonly property real normalKeyWidth: normalKey.width + readonly property real functionKeyWidth: mapFromItem(normalKey, normalKey.width / 2, 0).x + KeyboardRow { + Key { + text: "½" + alternativeKeys: "½¼¾" + } + Key { + id: normalKey + text: "'" + } + Key { + text: "/" + } + Key { + text: "\\" + } + Key { + text: "|" + } + Key { + text: "[" + } + Key { + text: "]" + } + Key { + text: "{" + } + Key { + text: "}" + } + Key { + text: "·" + } + } + KeyboardRow { + Key { + text: "<" + } + Key { + text: ">" + } + Key { + text: "," + } + Key { + text: "." + } + Key { + text: ":" + } + Key { + text: ";" + } + Key { + text: "!" + } + Key { + text: "?" + } + Key { + text: "=" + } + Key { + text: "~" + } + } + KeyboardRow { + Key { + displayText: (page + 1) + "/" + numPages + functionKey: true + onClicked: page = (page + 1) % numPages + highlighted: true + } + Key { + text: "\"" + } + Key { + text: "§" + } + Key { + text: "^" + } + Key { + text: "$" + } + Key { + text: "¥" + } + Key { + text: "€" + } + Key { + text: "£" + } + Key { + text: "¢" + } + BackspaceKey { + } + } + KeyboardRow { + SymbolModeKey { + weight: functionKeyWidth + Layout.fillWidth: false + displayText: inputModeName + } + ChangeLanguageKey { + weight: normalKeyWidth + Layout.fillWidth: false + } + Key { + key: Qt.Key_Comma + weight: normalKeyWidth + Layout.fillWidth: false + text: "," + smallText: "\u2699" + smallTextVisible: keyboard.isFunctionPopupListAvailable() + highlighted: true + } + SpaceKey { + } + Key { + key: Qt.Key_Period + weight: normalKeyWidth + Layout.fillWidth: false + text: "。" + highlighted: true + } + HideKeyboardKey { + weight: normalKeyWidth + Layout.fillWidth: false + } + EnterKey { + weight: functionKeyWidth + Layout.fillWidth: false + } + } + } + } + Component { + id: page3 + KeyboardLayout { + keyWeight: 160 + readonly property real normalKeyWidth: normalKey.width + readonly property real functionKeyWidth: mapFromItem(normalKey, normalKey.width / 2, 0).x + KeyboardRow { + Key { + text: "\" + } + Key { + id: normalKey + text: "/" + } + Key { + text: "(" + } + Key { + text: ")" + } + Key { + text: "〔" + } + Key { + text: "〕" + } + Key { + text: "〈" + } + Key { + text: "〉" + } + Key { + text: "《" + } + Key { + text: "》" + } + } + KeyboardRow { + Key { + text: "→" + } + Key { + text: "←" + } + Key { + text: "↑" + } + Key { + text: "↓" + } + Key { + text: "■" + } + Key { + text: "□" + } + Key { + text: "●" + } + Key { + text: "○" + } + Key { + text: "【" + } + Key { + text: "】" + } + } + KeyboardRow { + Key { + displayText: (page + 1) + "/" + numPages + functionKey: true + onClicked: page = (page + 1) % numPages + highlighted: true + } + Key { + text: "『" + } + Key { + text: "』" + } + Key { + text: "「" + } + Key { + text: "」" + } + Key { + text: "★" + } + Key { + text: "☆" + } + Key { + text: "◆" + } + Key { + text: "◇" + } + BackspaceKey { + } + } + KeyboardRow { + SymbolModeKey { + weight: functionKeyWidth + Layout.fillWidth: false + displayText: inputModeName + } + ChangeLanguageKey { + weight: normalKeyWidth + Layout.fillWidth: false + } + Key { + key: Qt.Key_Comma + weight: normalKeyWidth + Layout.fillWidth: false + text: "," + smallText: "\u2699" + smallTextVisible: keyboard.isFunctionPopupListAvailable() + highlighted: true + } + SpaceKey { + } + Key { + key: Qt.Key_Period + weight: normalKeyWidth + Layout.fillWidth: false + text: "…" + highlighted: true + } + HideKeyboardKey { + weight: normalKeyWidth + Layout.fillWidth: false + } + EnterKey { + weight: functionKeyWidth + Layout.fillWidth: false + } + } + } + } +} |