Revision control
Copy as Markdown
// 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 {
property bool secondPage
onVisibleChanged: if (!visible) secondPage = false
sourceComponent: secondPage ? page2 : page1
Component {
id: page1
KeyboardLayout {
keyWeight: 160
smallTextVisible: true
readonly property real normalKeyWidth: normalKey.width
readonly property real functionKeyWidth: mapFromItem(normalKey, normalKey.width / 2, 0).x
KeyboardRow {
Key {
key: 0x0661
text: "\u0661"
alternativeKeys: "\u06611"
}
Key {
id: normalKey
key: 0x0662
text: "\u0662"
alternativeKeys: "\u06622"
}
Key {
key: 0x0663
text: "\u0663"
alternativeKeys: "\u06633"
}
Key {
key: 0x0664
text: "\u0664"
alternativeKeys: "\u06644"
}
Key {
key: 0x0665
text: "\u0665"
alternativeKeys: "\u06655"
}
Key {
key: 0x0666
text: "\u0666"
alternativeKeys: "\u06666"
}
Key {
key: 0x0667
text: "\u0667"
alternativeKeys: "\u06677"
}
Key {
key: 0x0668
text: "\u0668"
alternativeKeys: "\u06688"
}
Key {
key: 0x0669
text: "\u0669"
alternativeKeys: "\u06699"
}
Key {
key: 0x0660
text: "\u0660"
alternativeKeys: "\u06600"
}
}
KeyboardRow {
Key {
key: Qt.Key_At
text: "@"
}
Key {
key: Qt.Key_NumberSign
text: "#"
}
Key {
key: Qt.Key_Percent
text: "%"
}
Key {
key: Qt.Key_Ampersand
text: "&"
}
Key {
key: Qt.Key_Asterisk
text: "*"
}
Key {
key: Qt.Key_Underscore
text: "_"
}
Key {
key: Qt.Key_Minus
text: "-"
}
Key {
key: Qt.Key_Plus
text: "+"
}
Key {
key: Qt.Key_ParenLeft
text: "("
}
Key {
key: Qt.Key_ParenRight
text: ")"
}
}
KeyboardRow {
Key {
displayText: "1/2"
functionKey: true
onClicked: secondPage = !secondPage
highlighted: true
}
Key {
key: Qt.Key_QuoteDbl
text: '"'
}
Key {
key: Qt.Key_Less
text: "<"
}
Key {
key: Qt.Key_Greater
text: ">"
}
Key {
key: Qt.Key_Apostrophe
text: "'"
}
Key {
key: Qt.Key_Semicolon
text: "\u061B"
alternativeKeys: "\u061B;"
}
Key {
key: Qt.Key_Slash
text: "/"
}
Key {
key: Qt.Key_Exclam
text: "!"
}
Key {
key: Qt.Key_Question
text: "\u061F"
alternativeKeys: "\u061F?"
}
BackspaceKey {
}
}
KeyboardRow {
SymbolModeKey {
weight: functionKeyWidth
Layout.fillWidth: false
displayText: "\u0623\u200C\u0628\u200C\u062C"
}
ChangeLanguageKey {
weight: normalKeyWidth
Layout.fillWidth: false
}
Key {
key: Qt.Key_Comma
weight: normalKeyWidth
Layout.fillWidth: false
text: "\u060C"
smallText: "\u2699"
smallTextVisible: keyboard.isFunctionPopupListAvailable()
highlighted: true
}
SpaceKey {
}
Key {
key: Qt.Key_Period
weight: normalKeyWidth
Layout.fillWidth: false
text: "."
alternativeKeys: "!,\u060C."
highlighted: true
}
EnterKey {
weight: functionKeyWidth
Layout.fillWidth: false
}
}
}
}
Component {
id: page2
KeyboardLayout {
keyWeight: 160
smallTextVisible: true
readonly property real normalKeyWidth: normalKey.width
readonly property real functionKeyWidth: mapFromItem(normalKey, normalKey.width / 2, 0).x
KeyboardRow {
Key {
key: Qt.Key_AsciiTilde
text: "~"
}
Key {
id: normalKey
key: Qt.Key_Agrave
text: "`"
}
Key {
key: Qt.Key_Bar
text: "|"
}
Key {
key: 0x7B
text: "·"
}
Key {
key: 0x221A
text: "√"
}
Key {
key: Qt.Key_division
text: "÷"
}
Key {
key: Qt.Key_multiply
text: "×"
}
Key {
key: Qt.Key_onehalf
text: "½"
alternativeKeys: "¼⅓½¾⅞"
}
Key {
key: Qt.Key_BraceLeft
text: "{"
}
Key {
key: Qt.Key_BraceRight
text: "}"
}
}
KeyboardRow {
Key {
key: Qt.Key_Dollar
text: "$"
}
Key {
key: 0x20AC
text: "€"
}
Key {
key: 0xC2
text: "£"
}
Key {
key: 0xA2
text: "¢"
}
Key {
key: 0xA5
text: "¥"
}
Key {
key: Qt.Key_AsciiCircum
text: "^"
}
Key {
key: Qt.Key_Equal
text: "="
}
Key {
key: Qt.Key_section
text: "§"
}
Key {
key: Qt.Key_BracketLeft
text: "["
}
Key {
key: Qt.Key_BracketRight
text: "]"
}
}
KeyboardRow {
Key {
displayText: "2/2"
functionKey: true
onClicked: secondPage = !secondPage
highlighted: true
}
Key {
key: 0x2122
text: '™'
}
Key {
key: 0x00AE
text: '®'
}
Key {
key: Qt.Key_guillemotleft
text: '«'
}
Key {
key: Qt.Key_guillemotright
text: '»'
}
Key {
key: Qt.Key_Colon
text: ":"
}
Key {
key: 0x201C
text: '“'
}
Key {
key: 0x201D
text: '”'
}
Key {
key: Qt.Key_Backslash
text: "\\"
}
BackspaceKey {
}
}
KeyboardRow {
SymbolModeKey {
weight: functionKeyWidth
Layout.fillWidth: false
displayText: "\u0623\u200C\u0628\u200C\u062C"
}
ChangeLanguageKey {
weight: normalKeyWidth
Layout.fillWidth: false
}
Key {
key: Qt.Key_Comma
weight: normalKeyWidth
Layout.fillWidth: false
text: "\u060C"
smallText: "\u2699"
smallTextVisible: keyboard.isFunctionPopupListAvailable()
highlighted: true
}
SpaceKey {
}
Key {
key: 0x2026
weight: normalKeyWidth
Layout.fillWidth: false
text: "\u2026"
highlighted: true
}
EnterKey {
weight: functionKeyWidth
Layout.fillWidth: false
}
}
}
}
}