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.VirtualKeyboard
import QtQuick.VirtualKeyboard.Components
import QtQuick.Layouts
KeyboardLayoutLoader {
sharedLayouts: ['symbols']
sourceComponent: InputContext.inputEngine.inputMode === InputEngine.InputMode.Hebrew ? hebrewLayout : latinLayout
Component {
id: hebrewLayout
KeyboardLayout {
keyWeight: 160
readonly property real normalKeyWidth: normalKey.width
readonly property real functionKeyWidth: mapFromItem(normalKey, normalKey.width / 2, 0).x
KeyboardRow {
KeyboardRow {
Layout.preferredWidth: functionKeyWidth
Layout.fillWidth: false
FillerKey {
}
Key {
key: Qt.Key_Apostrophe
text: "'"
alternativeKeys: "'\""
weight: normalKeyWidth
Layout.fillWidth: false
}
}
Key {
text: "\u05E7"
alternativeKeys: "\u05B3\u05E7\u05B8\u05BB"
}
Key {
text: "\u05E8"
}
Key {
text: "\u05D0"
}
Key {
text: "\u05D8"
}
Key {
text: "\u05D5"
alternativeKeys: [ "\u05D5", "\u05D5\u05B9", "\u05D5\u05BC" ]
}
Key {
text: "\u05DF"
}
Key {
text: "\u05DD"
}
KeyboardRow {
Layout.preferredWidth: functionKeyWidth
Layout.fillWidth: false
Key {
text: "\u05E4"
alternativeKeys: "\u05B2\u05B7\u05E4"
weight: normalKeyWidth
Layout.fillWidth: false
}
FillerKey {
}
}
}
KeyboardRow {
Key {
text: "\u05E9"
alternativeKeys: [ "\u05E9", "\u05B0", "\u05E9\u05C2", "\u05E9\u05C1" ]
}
Key {
id: normalKey
text: "\u05D3"
alternativeKeys: "\u05D3\u05BC"
}
Key {
text: "\u05D2"
alternativeKeys: [ "\u05D2", "\u05D2\u05F3" ]
}
Key {
text: "\u05DB"
}
Key {
text: "\u05E2"
}
Key {
text: "\u05D9"
alternativeKeys: [ "\u05D9", "\u05F2\u05B7" ]
}
Key {
text: "\u05D7"
alternativeKeys: [ "\u05B9", "\u05D7", "\u05D7\u05F3", "\u05B4" ]
}
Key {
text: "\u05DC"
}
Key {
text: "\u05DA"
}
Key {
text: "\u05E3"
}
}
KeyboardRow {
Key {
text: "\u05D6"
alternativeKeys: [ "\u05D6", "\u05D6\u05F3" ]
}
Key {
text: "\u05E1"
alternativeKeys: "\u05E1\u05B6\u05B1"
}
Key {
text: "\u05D1"
}
Key {
text: "\u05D4"
}
Key {
text: "\u05E0"
}
Key {
text: "\u05DE"
}
Key {
text: "\u05E6"
alternativeKeys: [ "\u05E6", "\u05E6\u05F3", "\u05B5" ]
}
Key {
text: "\u05EA"
alternativeKeys: [ "\u05EA", "\u05EA\u05F3" ]
}
Key {
text: "\u05E5"
alternativeKeys: [ "\u05E5", "\u05E5\u05F3" ]
}
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
}
InputModeKey {
inputModes: [InputEngine.InputMode.Hebrew, InputEngine.InputMode.Latin]
weight: normalKeyWidth
Layout.fillWidth: false
}
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: latinLayout
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"
alternativeKeys: "êeëèé"
}
Key {
key: Qt.Key_R
text: "r"
alternativeKeys: "ŕrř"
}
Key {
key: Qt.Key_T
text: "t"
alternativeKeys: "ţtŧť"
}
Key {
key: Qt.Key_Y
text: "y"
alternativeKeys: "ÿyýŷ"
}
Key {
key: Qt.Key_U
text: "u"
alternativeKeys: "űūũûüuùú"
}
Key {
key: Qt.Key_I
text: "i"
alternativeKeys: "îïīĩiìí"
}
Key {
key: Qt.Key_O
text: "o"
alternativeKeys: "œøõôöòóo"
}
Key {
key: Qt.Key_P
text: "p"
}
}
KeyboardRow {
KeyboardRow {
Layout.preferredWidth: functionKeyWidth
Layout.fillWidth: false
FillerKey {
}
Key {
key: Qt.Key_A
text: "a"
alternativeKeys: (InputContext.inputMethodHints & (Qt.ImhEmailCharactersOnly | Qt.ImhUrlCharactersOnly)) ? "a@äåãâàá" : "aäåãâàá"
smallTextVisible: (InputContext.inputMethodHints & (Qt.ImhEmailCharactersOnly | Qt.ImhUrlCharactersOnly))
weight: normalKeyWidth
Layout.fillWidth: false
}
}
Key {
key: Qt.Key_S
text: "s"
alternativeKeys: "šsşś"
}
Key {
key: Qt.Key_D
text: "d"
alternativeKeys: "dđď"
}
Key {
key: Qt.Key_F
text: "f"
}
Key {
key: Qt.Key_G
text: "g"
alternativeKeys: "ġ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"
alternativeKeys: "ĺŀłļľl"
weight: normalKeyWidth
Layout.fillWidth: false
}
FillerKey {
}
}
}
KeyboardRow {
ShiftKey {
weight: functionKeyWidth
Layout.fillWidth: false
}
Key {
key: Qt.Key_Z
text: "z"
alternativeKeys: "zžż"
}
Key {
key: Qt.Key_X
text: "x"
}
Key {
key: Qt.Key_C
text: "c"
alternativeKeys: "çcċčć"
}
Key {
key: Qt.Key_V
text: "v"
}
Key {
key: Qt.Key_B
text: "b"
}
Key {
key: Qt.Key_N
text: "n"
alternativeKeys: "ņńnň"
}
Key {
key: Qt.Key_M
text: "m"
}
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: ","
smallText: "\u2699"
smallTextVisible: keyboard.isFunctionPopupListAvailable()
highlighted: true
}
InputModeKey {
enabled: !(InputContext.inputMethodHints & Qt.ImhLatinOnly) && inputModeCount > 1
inputModes: [InputEngine.InputMode.Hebrew, InputEngine.InputMode.Latin]
weight: normalKeyWidth
Layout.fillWidth: false
}
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
}
}
}
}
}