Revision control

Copy as Markdown

// Copyright (C) 2018 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 {
inputMode: InputEngine.InputMode.Latin
function createInputMethod() {
return Qt.createQmlObject('import QtQuick; import QtQuick.VirtualKeyboard.Plugins; ThaiInputMethod {}', parent, "inputMethod.qml")
}
sharedLayouts: [ "symbols" ]
sourceComponent: InputContext.shiftActive ? 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 {
Layout.preferredHeight: 3
smallTextVisible: true
KeyboardColumn {
KeyboardRow {
Key {
text: "ๅ"
alternativeKeys: "ๅ1๑"
}
Key {
id: normalKey
text: "/"
alternativeKeys: "/2๒"
}
Key {
text: "_"
alternativeKeys: "_3๓"
}
Key {
text: "ภ"
alternativeKeys: "ภ4๔"
}
Key {
text: "ถ"
alternativeKeys: "ถ5๕"
}
Key {
text: "\u0E38"
displayText: " \u0E38"
alternativeKeys: [ "\u0E38", " \u0E39" ]
}
Key {
text: "\u0E36"
displayText: " \u0E36"
}
Key {
text: "ค"
alternativeKeys: "ค6๖"
}
Key {
text: "ต"
alternativeKeys: "ต7๗"
}
Key {
text: "จ"
alternativeKeys: "จ8๘"
}
Key {
text: "ข"
alternativeKeys: "๙ข9"
}
Key {
text: "ช"
alternativeKeys: "๐ช0"
}
}
KeyboardRow {
Key {
text: "ๆ"
}
Key {
text: "ไ"
alternativeKeys: "ไ\""
}
Key {
text: " ำ"
alternativeKeys: " ำฎ"
}
Key {
text: "พ"
alternativeKeys: "พฑ"
}
Key {
text: "ะ"
alternativeKeys: "ะธ"
}
Key {
text: "\u0E31"
displayText: " \u0E31"
alternativeKeys: "\u0E31。"
}
Key {
text: "\u0E35"
displayText: " \u0E35"
alternativeKeys: [ "\u0E35", " \u0E4A" ]
}
Key {
text: "ร"
alternativeKeys: "รณ"
}
Key {
text: "น"
alternativeKeys: "นฯ"
}
Key {
text: "ย"
alternativeKeys: "ยญ"
}
Key {
text: "บ"
alternativeKeys: "บฐ"
}
Key {
text: "ล"
}
}
KeyboardRow {
Key {
text: "ฟ"
alternativeKeys: "ฟฤ"
}
Key {
text: "ห"
alternativeKeys: "หฆ"
}
Key {
text: "ก"
alternativeKeys: "กฏ"
}
Key {
text: "ด"
alternativeKeys: "ดโ"
}
Key {
text: "เ"
alternativeKeys: "เฌ"
}
Key {
text: "\u0E49"
displayText: " \u0E49"
alternativeKeys: [ "\u0E49", " \u0E47" ]
}
Key {
text: "\u0E48"
displayText: " \u0E48"
alternativeKeys: [ "\u0E48", " \u0E4B" ]
}
Key {
text: "า"
alternativeKeys: "าษ"
}
Key {
text: "ส"
alternativeKeys: "สศ"
}
Key {
text: "ว"
}
Key {
text: "ง"
}
Key {
text: "ซ"
}
}
KeyboardRow {
ShiftKey {
}
Key {
text: "ผ"
}
Key {
text: "ป"
}
Key {
text: "แ"
alternativeKeys: "แฉ"
}
Key {
text: "อ"
alternativeKeys: "อฮ"
}
Key {
text: "\u0E34"
displayText: " \u0E34"
alternativeKeys: [ "\u0E34", " \u0E3A" ]
}
Key {
text: "\u0E37"
displayText: " \u0E37"
alternativeKeys: [ "\u0E37", " \u0E4C" ]
}
Key {
text: "ท"
}
Key {
text: "ม"
alternativeKeys: "มฒ"
}
Key {
text: "ใ"
alternativeKeys: "ใฬ"
}
Key {
text: "ฝ"
alternativeKeys: "ฝฦ"
}
BackspaceKey {
}
}
}
}
KeyboardRow {
SymbolModeKey {
weight: functionKeyWidth
Layout.fillWidth: false
}
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: "."
alternativeKeys: "!.?"
smallText: "!?"
smallTextVisible: true
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 {
Layout.preferredHeight: 3
smallTextVisible: true
KeyboardColumn {
KeyboardRow {
Key {
text: "+"
}
Key {
id: normalKey
text: "๑"
}
Key {
text: "๒"
}
Key {
text: "๓"
}
Key {
text: "๔"
}
Key {
text: "\u0E39"
displayText: " \u0E39"
}
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: "\u0E4A"
displayText: " \u0E4A"
}
Key {
text: "ณ"
}
Key {
text: "ฯ"
}
Key {
text: "ญ"
}
Key {
text: "ฐ"
}
Key {
text: ","
}
}
KeyboardRow {
Key {
text: "ฤ"
}
Key {
text: "ฆ"
}
Key {
text: "ฏ"
}
Key {
text: "โ"
}
Key {
text: "ฌ"
}
Key {
text: "\u0E47"
displayText: " \u0E47"
}
Key {
text: "\u0E4B"
displayText: " \u0E4B"
}
Key {
text: "ษ"
}
Key {
text: "ศ"
}
Key {
text: "ซ"
}
Key {
text: "."
}
Key {
text: "ฅ"
}
}
KeyboardRow {
ShiftKey {
}
Key {
text: "("
}
Key {
text: ")"
}
Key {
text: "ฉ"
}
Key {
text: "ฮ"
}
Key {
text: "\u0E3A"
displayText: " \u0E3A"
}
Key {
text: "\u0E4C"
displayText: " \u0E4C"
}
Key {
text: "?"
}
Key {
text: "ฒ"
}
Key {
text: "ฬ"
}
Key {
text: "ฦ"
}
BackspaceKey {
}
}
}
}
KeyboardRow {
SymbolModeKey {
weight: functionKeyWidth
Layout.fillWidth: false
}
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: "."
alternativeKeys: "!.?"
smallText: "!?"
smallTextVisible: true
highlighted: true
}
HideKeyboardKey {
weight: normalKeyWidth
Layout.fillWidth: false
}
EnterKey {
weight: functionKeyWidth
Layout.fillWidth: false
}
}
}
}
}