Merge pull request #1774 from demmm/calamares

[keyboardq] add interactive keyboard preview
This commit is contained in:
Adriaan de Groot 2021-09-08 11:58:36 +02:00 committed by GitHub
commit 3380da638e
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
27 changed files with 1465 additions and 315 deletions

View File

@ -0,0 +1,179 @@
/* === This file is part of Calamares - <https://github.com/calamares> ===
*
* Copyright 2021, Anke Boersma <demm@kaosx.us>
*
* Calamares is Free Software: see the License-Identifier above.
*
*/
import QtQuick 2.15
Item {
id: key
property string mainLabel: "A"
property var secondaryLabels: [];
property var iconSource;
property var keyImageLeft: ""
property var keyImageRight: ""
property var keyImageCenter: ""
property color keyColor: "#404040"
property color keyPressedColor: "grey"
property int keyBounds: 2
property var keyPressedColorOpacity: 1
property var mainFontFamily: "Roboto"
property color mainFontColor: "white"
property int mainFontSize: 18
property var secondaryFontFamily: "Roboto"
property color secondaryFontColor: "white"
property int secondaryFontSize: 10
property bool secondaryLabelVisible: true
property bool isChekable;
property bool isChecked;
property bool upperCase;
signal clicked()
signal alternatesClicked(string symbol)
Item {
anchors.fill: parent
anchors.margins: key.keyBounds
visible: key.keyImageLeft != "" || key.keyImageCenter != "" || key.keyImageRight != "" ? 1 : 0
Image {
id: backgroundImage_left
anchors.left: parent.left
height: parent.height
fillMode: Image.PreserveAspectFit
source: key.keyImageLeft
}
Image {
id: backgroundImage_right
anchors.right: parent.right
height: parent.height
fillMode: Image.PreserveAspectFit
source: key.keyImageRight
}
Image {
id: backgroundImage_center
anchors.fill: parent
anchors.leftMargin: backgroundImage_left.width - 1
anchors.rightMargin: backgroundImage_right.width - 1
height: parent.height
fillMode: Image.Stretch
source: key.keyImageCenter
}
}
Rectangle {
id: backgroundItem
anchors.fill: parent
anchors.margins: key.keyBounds
color: key.isChecked || mouseArea.pressed ? key.keyPressedColor : key.keyColor;
opacity: key.keyPressedColorOpacity
}
Column
{
anchors.centerIn: backgroundItem
Text {
id: secondaryLabelsItem
smooth: true
anchors.right: parent.right
visible: true //secondaryLabelVisible
text: secondaryLabels.length > 0 ? secondaryLabels : ""
color: secondaryFontColor
font.pixelSize: secondaryFontSize
font.weight: Font.Light
font.family: secondaryFontFamily
font.capitalization: upperCase ? Font.AllUppercase :
Font.MixedCase
}
Row {
anchors.horizontalCenter: parent.horizontalCenter
Image {
id: icon
smooth: true
anchors.verticalCenter: parent.verticalCenter
source: iconSource
//sourceSize.width: key.width * 0.6
sourceSize.height: key.height * 0.4
}
Text {
id: mainLabelItem
smooth: true
anchors.verticalCenter: parent.verticalCenter
text: mainLabel
color: mainFontColor
visible: iconSource ? false : true
font.pixelSize: mainFontSize
font.weight: Font.Light
font.family: mainFontFamily
font.capitalization: upperCase ? Font.AllUppercase :
Font.MixedCase
}
}
}
Row {
id: alternatesRow
property int selectedIndex: -1
visible: false
anchors.bottom: backgroundItem.top
anchors.left: backgroundItem.left
Repeater {
model: secondaryLabels.length
Rectangle {
property bool isSelected: alternatesRow.selectedIndex == index
color: isSelected ? mainLabelItem.color : key.keyPressedColor
height: backgroundItem.height
width: backgroundItem.width
Text {
anchors.centerIn: parent
text: secondaryLabels[ index ]
font: mainLabelItem.font
color: isSelected ? key.keyPressedColor : mainLabelItem.color
}
}
}
}
MouseArea {
id: mouseArea
anchors.fill: parent
onPressAndHold: alternatesRow.visible = true
onClicked: {
if (key.isChekable) key.isChecked = !key.isChecked
key.clicked()
}
onReleased: {
alternatesRow.visible = false
if (alternatesRow.selectedIndex > -1)
key.alternatesClicked(secondaryLabels[alternatesRow.selectedIndex])
}
onMouseXChanged: {
alternatesRow.selectedIndex =
(mouseY < 0 && mouseX > 0 && mouseY < alternatesRow.width) ?
Math.floor(mouseX / backgroundItem.width) :
-1;
}
}
}

View File

@ -0,0 +1,222 @@
/* === This file is part of Calamares - <https://github.com/calamares> ===
*
* Copyright 2021, Anke Boersma <demm@kaosx.us>
*
* Calamares is Free Software: see the License-Identifier above.
*
*/
import QtQuick 2.15
import QtQuick.XmlListModel 2.10
Item {
id: keyboard
width: 1024
height: 640
property int rows: 4;
property int columns: 10;
property string source: "generic.xml"
property var target;
property color backgroundColor: "black"
property var keyImageLeft: ""
property var keyImageRight: ""
property var keyImageCenter: ""
property color keyColor: "#404040"
property color keyPressedColor: "grey"
property int keyBounds: 2
property var keyPressedColorOpacity: 1
property var mainFontFamily: "Roboto"
property color mainFontColor: "white"
property int mainFontSize: 59
property var secondaryFontFamily: "Roboto"
property color secondaryFontColor: "white"
property int secondaryFontSize: 30
property bool secondaryLabelsVisible: false
property bool doSwitchSource: true
property bool allUpperCase: false
signal keyClicked(string key)
signal switchSource(string source)
signal enterClicked()
Rectangle {
id: root
anchors.fill: parent
color: backgroundColor
property int keyWidth: keyboard.width / columns;
property int keyHeight: keyboard.height / rows;
property int xmlIndex: 1
Text {
id: proxyMainTextItem
color: keyboard.mainFontColor
font.pixelSize: keyboard.mainFontSize
font.weight: Font.Light
font.family: keyboard.mainFontFamily
font.capitalization: keyboard.allUpperCase ? Font.AllUppercase :
Font.MixedCase
verticalAlignment: Text.AlignVCenter
horizontalAlignment: Text.AlignHCenter
}
Text {
id: proxySecondaryTextItem
color: keyboard.secondaryFontColor
font.pixelSize: keyboard.secondaryFontSize
font.weight: Font.Light
font.family: keyboard.secondaryFontFamily
font.capitalization: keyboard.allUpperCase ? Font.AllUppercase :
Font.MixedCase
verticalAlignment: Text.AlignVCenter
horizontalAlignment: Text.AlignHCenter
}
Column {
id: column
anchors.centerIn: parent
Repeater {
id: rowRepeater
model: XmlListModel {
id: keyboardModel
source: keyboard.source
query: "/Keyboard/Row"
Behavior on source {
NumberAnimation {
easing.type: Easing.InOutSine
duration: 100
}
}
}
Row {
id: keyRow
property int rowIndex: index
anchors.horizontalCenter: if(parent) parent.horizontalCenter
Repeater {
id: keyRepeater
model: XmlListModel {
source: keyboard.source
query: "/Keyboard/Row[" + (rowIndex + 1) + "]/Key"
XmlRole { name: "labels"; query: "@labels/string()" }
XmlRole { name: "ratio"; query: "@ratio/number()" }
XmlRole { name: "icon"; query: "@icon/string()" }
XmlRole { name: "checkable"; query: "@checkable/string()" }
}
Key {
id: key
width: root.keyWidth * ratio
height: root.keyHeight
iconSource: icon
mainFontFamily: proxyMainTextItem.font
mainFontColor: proxyMainTextItem.color
secondaryFontFamily: proxySecondaryTextItem.font
secondaryFontColor: proxySecondaryTextItem.color
secondaryLabelVisible: keyboard.secondaryLabelsVisible
keyColor: keyboard.keyColor
keyImageLeft: keyboard.keyImageLeft
keyImageRight: keyboard.keyImageRight
keyImageCenter: keyboard.keyImageCenter
keyPressedColor: keyboard.keyPressedColor
keyPressedColorOpacity: keyboard.keyPressedColorOpacity
keyBounds: keyboard.keyBounds
isChekable: checkable
isChecked: isChekable &&
command &&
command === "shift" &&
keyboard.allUpperCase
upperCase: keyboard.allUpperCase
property var command
property var params: labels
onParamsChanged: {
var labelSplit;
if(params[0] === '|')
{
mainLabel = '|'
labelSplit = params
}
else
{
labelSplit = params.split(/[|]+/)
if (labelSplit[0] === '!')
mainLabel = '!';
else
mainLabel = params.split(/[!|]+/)[0].toString();
}
if (labelSplit[1]) secondaryLabels = labelSplit[1];
if (labelSplit[0] === '!')
command = params.split(/[!|]+/)[1];
else
command = params.split(/[!]+/)[1];
}
onClicked: {
if (command)
{
var commandList = command.split(":");
switch(commandList[0])
{
case "source":
keyboard.switchSource(commandList[1])
if(doSwitchSource) keyboard.source = commandList[1]
return;
case "shift":
keyboard.allUpperCase = !keyboard.allUpperCase
return;
case "backspace":
keyboard.keyClicked('\b');
target.text = target.text.substring(0,target.text.length-1)
return;
case "enter":
keyboard.enterClicked()
return;
case "tab":
keyboard.keyClicked('\t');
target.text = target.text + " "
return;
default: return;
}
}
if (mainLabel.length === 1)
root.emitKeyClicked(mainLabel);
}
onAlternatesClicked: root.emitKeyClicked(symbol);
}
}
}
}
}
function emitKeyClicked(text) {
var emitText = keyboard.allUpperCase ? text.toUpperCase() : text;
keyClicked( emitText );
target.text = target.text + emitText
}
}
}

View File

@ -0,0 +1,65 @@
<!-- === This file is part of Calamares - <https://github.com/calamares> ===
* Copyright 2021, Anke Boersma <demm@kaosx.us>
*
* Calamares is Free Software: see the License-Identifier above. -->
<?xml version="1.0" encoding="UTF-8"?>
<Keyboard>
<Row>
<Key labels = " |" ratio = ".6"/>
<Key labels = "ض|" ratio = ".7"/>
<Key labels = "ص|" ratio = ".7"/>
<Key labels = "ث|" ratio = ".7"/>
<Key labels = "ق|" ratio = ".7"/>
<Key labels = "ف|" ratio = ".7"/>
<Key labels = "غ|" ratio = ".7"/>
<Key labels = "ع|" ratio = ".7"/>
<Key labels = "ه|" ratio = ".7"/>
<Key labels = "خ|" ratio = ".7"/>
<Key labels = "ح|" ratio = ".7"/>
<Key labels = "ج|" ratio = ".7"/>
<Key labels = "چ|" ratio = ".7"/>
<Key labels = " |" ratio = "1"/>
</Row>
<Row>
<Key labels = " |" ratio = ".8"/>
<Key labels = "ش|" ratio = ".7"/>
<Key labels = "س|" ratio = ".7"/>
<Key labels = "ی|" ratio = ".7"/>
<Key labels = "ب|" ratio = ".7"/>
<Key labels = "ل|" ratio = ".7"/>
<Key labels = "ا|" ratio = ".7"/>
<Key labels = "ت|" ratio = ".7"/>
<Key labels = "ن|" ratio = ".7"/>
<Key labels = "م|" ratio = ".7"/>
<Key labels = "ک|" ratio = ".7"/>
<Key labels = "ګ|" ratio = ".7"/>
<Key labels = "\|" ratio = ".7"/>
<Key labels = "↵!enter" icon = "enter.svg" ratio = ".8"/>
</Row>
<Row>
<Key labels = "&#8593;!shift" ratio = "1.2" icon = "shift.svg" checkable = "true"/>
<Key labels = " |" ratio = ".7"/>
<Key labels = "ط|" ratio = ".7"/>
<Key labels = "ې|" ratio = ".7"/>
<Key labels = "ز|" ratio = ".7"/>
<Key labels = "ر|" ratio = ".7"/>
<Key labels = "ذ|" ratio = ".7"/>
<Key labels = "ړ|" ratio = ".7"/>
<Key labels = "و|" ratio = ".7"/>
<Key labels = "ږ|" ratio = ".7"/>
<Key labels = "/|" ratio = ".7"/>
<Key labels = "&#8593;!shift" ratio = "1.1" icon = "shift.svg" checkable = "true"/>
<Key labels = "⌫!backspace" icon = "backspace.svg" ratio = ".7"/>
</Row>
<Row>
<Key labels = "Ctrl" ratio = "1"/>
<Key labels = " |" ratio = "1"/>
<Key labels = "Alt|" ratio = "1"/>
<Key labels = " |" ratio = "4"/>
<Key labels = "Alt|" ratio = "1"/>
<Key labels = " |" ratio = "1"/>
<Key labels = "Ctrl" ratio = "1"/>
</Row>
</Keyboard>

View File

@ -0,0 +1,65 @@
<!-- === This file is part of Calamares - <https://github.com/calamares> ===
* Copyright 2021, Anke Boersma <demm@kaosx.us>
*
* Calamares is Free Software: see the License-Identifier above. -->
<?xml version="1.0" encoding="UTF-8"?>
<Keyboard>
<Row>
<Key labels = " |" ratio = ".6"/>
<Key labels = "ض|" ratio = ".7"/>
<Key labels = "ص|" ratio = ".7"/>
<Key labels = "ث|" ratio = ".7"/>
<Key labels = "ق|" ratio = ".7"/>
<Key labels = "ف|" ratio = ".7"/>
<Key labels = "غ|" ratio = ".7"/>
<Key labels = "ع|" ratio = ".7"/>
<Key labels = "ه|" ratio = ".7"/>
<Key labels = "خ|" ratio = ".7"/>
<Key labels = "ح|" ratio = ".7"/>
<Key labels = "ج|" ratio = ".7"/>
<Key labels = "د|" ratio = ".7"/>
<Key labels = " |" ratio = "1"/>
</Row>
<Row>
<Key labels = " |" ratio = ".8"/>
<Key labels = "ش|" ratio = ".7"/>
<Key labels = "س|" ratio = ".7"/>
<Key labels = "ي|" ratio = ".7"/>
<Key labels = "ب|" ratio = ".7"/>
<Key labels = "ل|" ratio = ".7"/>
<Key labels = "ا|" ratio = ".7"/>
<Key labels = "ت|" ratio = ".7"/>
<Key labels = "ن|" ratio = ".7"/>
<Key labels = "م|" ratio = ".7"/>
<Key labels = "ك|" ratio = ".7"/>
<Key labels = "ط|" ratio = ".7"/>
<Key labels = "\|" ratio = ".7"/>
<Key labels = "↵!enter" icon = "enter.svg" ratio = ".8"/>
</Row>
<Row>
<Key labels = "&#8593;!shift" ratio = "1.2" icon = "shift.svg" checkable = "true"/>
<Key labels = " |" ratio = ".7"/>
<Key labels = "ئ|" ratio = ".7"/>
<Key labels = "ء|" ratio = ".7"/>
<Key labels = "ؤ|" ratio = ".7"/>
<Key labels = "ر|" ratio = ".7"/>
<Key labels = "لا|" ratio = ".7"/>
<Key labels = "ى|" ratio = ".7"/>
<Key labels = "و|" ratio = ".7"/>
<Key labels = "ز|" ratio = ".7"/>
<Key labels = "ظ|" ratio = ".7"/>
<Key labels = "&#8593;!shift" ratio = "1.1" icon = "shift.svg" checkable = "true"/>
<Key labels = "⌫!backspace" icon = "backspace.svg" ratio = ".7"/>
</Row>
<Row>
<Key labels = "Ctrl" ratio = "1"/>
<Key labels = " |" ratio = "1"/>
<Key labels = "Alt|" ratio = "1"/>
<Key labels = " |" ratio = "4"/>
<Key labels = "Alt|" ratio = "1"/>
<Key labels = " |" ratio = "1"/>
<Key labels = "Ctrl" ratio = "1"/>
</Row>
</Keyboard>

View File

@ -0,0 +1,7 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- Svg Vector Icons : http://www.onlinewebfonts.com/icon -->
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
<svg version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" viewBox="0 0 1000 1000" enable-background="new 0 0 1000 1000" xml:space="preserve">
<metadata> Svg Vector Icons : http://www.onlinewebfonts.com/icon </metadata>
<g><g transform="translate(0.000000,511.000000) scale(0.100000,-0.100000)"><path fill="#FFFFFF" d="M1755,1514.1C875.7,828.2,143.7,245.9,127.6,218.2c-36.8-64.5-36.8-151.9,0-216.4c27.6-50.6,3158-2497.4,3229.4-2525c20.7-6.9,1468.5-13.8,3217.9-13.8c3475.7,0,3245.5-9.2,3303,131.2c18.4,48.3,25.3,715.8,20.7,2557.3l-6.9,2495.1l-64.4,55.2l-64.5,55.2H6558.8H3354.7L1755,1514.1z M9442.9,110.1v-2186.7H6480.5H3515.8L2123.3-992.5C1356.8-398.6,730.7,98.5,730.7,110.1c0,13.8,626.1,508.7,1390.3,1104.8l1392.6,1081.8h2964.7h2964.7V110.1z"/><path fill="#FFFFFF" d="M4917.6,1735.1c-94.4-41.4-147.3-119.7-147.3-218.7c0-76,48.3-131.2,690.5-773.4l690.5-690.5L5460.8-638c-662.9-662.9-690.5-695.1-690.5-780.3c0-126.6,99-221,232.5-221c99,0,99,0,784.9,683.6l685.9,685.9l685.9-685.9c685.9-683.6,685.9-683.6,784.9-683.6c133.5,0,232.5,94.4,232.5,221c0,85.2-27.6,117.4-690.5,780.3L6795.8,52.5L7486.4,743c662.9,662.9,690.5,695.1,690.5,780.3c0,126.6-99,221-232.5,221c-99,0-99,0-784.9-683.6l-685.9-685.9l-685.9,685.9c-377.5,375.2-697.4,683.6-711.3,683.6c-13.8,0-39.1,4.6-57.5,11.5C5002.8,1760.4,4956.7,1751.2,4917.6,1735.1z"/></g></g>
</svg>

After

Width:  |  Height:  |  Size: 1.6 KiB

View File

@ -0,0 +1,2 @@
SPDX-FileCopyrightText: 2019 https://www.onlinewebfonts.com/fonts
SPDX-License-Identifier: GPL-3.0-or-later

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.2 KiB

View File

@ -0,0 +1,2 @@
SPDX-FileCopyrightText: 2019 MarcoPellin <marco.pellin@gmail.com>
SPDX-License-Identifier: GPL-3.0-or-later

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.4 KiB

View File

@ -0,0 +1,2 @@
SPDX-FileCopyrightText: 2019 MarcoPellin <marco.pellin@gmail.com>
SPDX-License-Identifier: GPL-3.0-or-later

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.8 KiB

View File

@ -0,0 +1,2 @@
SPDX-FileCopyrightText: 2019 MarcoPellin <marco.pellin@gmail.com>
SPDX-License-Identifier: GPL-3.0-or-later

View File

@ -0,0 +1,66 @@
<!-- === This file is part of Calamares - <https://github.com/calamares> ===
* Copyright 2021, Anke Boersma <demm@kaosx.us>
*
* Calamares is Free Software: see the License-Identifier above. -->
<?xml version="1.0" encoding="UTF-8"?>
<Keyboard>
<Row>
<Key labels = " |" ratio = ".6"/>
<Key labels = "q|" ratio = ".7"/>
<Key labels = "w|" ratio = ".7"/>
<Key labels = "e|" ratio = ".7"/>
<Key labels = "r|" ratio = ".7"/>
<Key labels = "t|" ratio = ".7"/>
<Key labels = "z|" ratio = ".7"/>
<Key labels = "u|" ratio = ".7"/>
<Key labels = "i|" ratio = ".7"/>
<Key labels = "o|" ratio = ".7"/>
<Key labels = "p|" ratio = ".7"/>
<Key labels = "ü |" ratio = ".7"/>
<Key labels = "+|" ratio = ".7"/>
<Key labels = " |" ratio = "1.0"/>
</Row>
<Row>
<Key labels = " |" ratio = ".9"/>
<Key labels = "a|" ratio = ".7"/>
<Key labels = "s|" ratio = ".7"/>
<Key labels = "d|" ratio = ".7"/>
<Key labels = "f|" ratio = ".7"/>
<Key labels = "g|" ratio = ".7"/>
<Key labels = "h|" ratio = ".7"/>
<Key labels = "j|" ratio = ".7"/>
<Key labels = "k|" ratio = ".7"/>
<Key labels = "l|" ratio = ".7"/>
<Key labels = "ö|" ratio = ".7"/>
<Key labels = "ä|" ratio = ".7"/>
<Key labels = "#|" ratio = ".7"/>
<Key labels = "↵!enter" icon = "enter.svg" ratio = ".7"/>
</Row>
<Row>
<Key labels = "&#8593;!shift" ratio = ".7" icon = "shift.svg" checkable = "true"/>
<Key labels = "&lt;|" ratio = ".7"/>
<Key labels = "y|" ratio = ".7"/>
<Key labels = "x|" ratio = ".7"/>
<Key labels = "c|" ratio = ".7"/>
<Key labels = "v|" ratio = ".7"/>
<Key labels = "b|" ratio = ".7"/>
<Key labels = "n|" ratio = ".7"/>
<Key labels = "m|" ratio = ".7"/>
<Key labels = ",|" ratio = ".7"/>
<Key labels = ".|" ratio = ".7"/>
<Key labels = "-|" ratio = ".7"/>
<Key labels = "&#8593;!shift" ratio = ".9" icon = "shift.svg" checkable = "true"/>
<Key labels = "⌫!backspace" icon = "backspace.svg" ratio = ".7"/>
</Row>
<Row>
<Key labels = "Ctrl" ratio = "1"/>
<Key labels = " |" ratio = "1"/>
<Key labels = "Alt|" ratio = "1"/>
<Key labels = " |" ratio = "4"/>
<Key labels = "Alt|" ratio = "1"/>
<Key labels = " |" ratio = "1"/>
<Key labels = "Ctrl" ratio = "1"/>
</Row>
</Keyboard>

View File

@ -0,0 +1,64 @@
<!-- === This file is part of Calamares - <https://github.com/calamares> ===
* Copyright 2021, Anke Boersma <demm@kaosx.us>
*
* Calamares is Free Software: see the License-Identifier above. -->
<?xml version="1.0" encoding="UTF-8"?>
<Keyboard>
<Row>
<Key labels = " |" ratio = ".8"/>
<Key labels = " |" ratio = ".7"/>
<Key labels = " |" ratio = ".7"/>
<Key labels = " |" ratio = ".7"/>
<Key labels = " |" ratio = ".7"/>
<Key labels = " |" ratio = ".7"/>
<Key labels = " |" ratio = ".7"/>
<Key labels = " |" ratio = ".7"/>
<Key labels = " |" ratio = ".7"/>
<Key labels = " |" ratio = ".7"/>
<Key labels = " |" ratio = ".7"/>
<Key labels = " |" ratio = ".7"/>
<Key labels = " |" ratio = ".7"/>
<Key labels = " |" ratio = ".8"/>
</Row>
<Row>
<Key labels = " |" ratio = "1.3"/>
<Key labels = " |" ratio = ".7"/>
<Key labels = " |" ratio = ".7"/>
<Key labels = " |" ratio = ".7"/>
<Key labels = " |" ratio = ".7"/>
<Key labels = " |" ratio = ".7"/>
<Key labels = " |" ratio = ".7"/>
<Key labels = " |" ratio = ".7"/>
<Key labels = " |" ratio = ".7"/>
<Key labels = " |" ratio = ".7"/>
<Key labels = " |" ratio = ".7"/>
<Key labels = " |" ratio = ".7"/>
<Key labels = "↵!enter" icon = "enter.svg" ratio = "1"/>
</Row>
<Row>
<Key labels = "&#8593;!shift" ratio = "1.2" icon = "shift.svg" checkable = "true"/>
<Key labels = " |" ratio = ".7"/>
<Key labels = " |" ratio = ".7"/>
<Key labels = " |" ratio = ".7"/>
<Key labels = " |" ratio = ".7"/>
<Key labels = " |" ratio = ".7"/>
<Key labels = " |" ratio = ".7"/>
<Key labels = " |" ratio = ".7"/>
<Key labels = " |" ratio = ".7"/>
<Key labels = " |" ratio = ".7"/>
<Key labels = " |" ratio = ".7"/>
<Key labels = "&#8593;!shift" ratio = "1.1" icon = "shift.svg" checkable = "true"/>
<Key labels = "⌫!backspace" icon = "backspace.svg" ratio = ".7"/>
</Row>
<Row>
<Key labels = "Ctrl" ratio = "1"/>
<Key labels = " |" ratio = "1"/>
<Key labels = "Alt|" ratio = "1"/>
<Key labels = " |" ratio = "4"/>
<Key labels = "Alt|" ratio = "1"/>
<Key labels = " |" ratio = "1"/>
<Key labels = "Ctrl" ratio = "1"/>
</Row>
</Keyboard>

View File

@ -0,0 +1,64 @@
<!-- === This file is part of Calamares - <https://github.com/calamares> ===
* Copyright 2021, Anke Boersma <demm@kaosx.us>
*
* Calamares is Free Software: see the License-Identifier above. -->
<?xml version="1.0" encoding="UTF-8"?>
<Keyboard>
<Row>
<Key labels = " |" ratio = ".8"/>
<Key labels = "q|" ratio = ".7"/>
<Key labels = "w|" ratio = ".7"/>
<Key labels = "e|" ratio = ".7"/>
<Key labels = "r|" ratio = ".7"/>
<Key labels = "t|" ratio = ".7"/>
<Key labels = "y|" ratio = ".7"/>
<Key labels = "u|" ratio = ".7"/>
<Key labels = "i|" ratio = ".7"/>
<Key labels = "o|" ratio = ".7"/>
<Key labels = "p|" ratio = ".7"/>
<Key labels = "[|" ratio = ".7"/>
<Key labels = "]|" ratio = ".7"/>
<Key labels = "\|" ratio = ".8"/>
</Row>
<Row>
<Key labels = " |" ratio = "1.3"/>
<Key labels = "a|" ratio = ".7"/>
<Key labels = "s|" ratio = ".7"/>
<Key labels = "d|" ratio = ".7"/>
<Key labels = "f|" ratio = ".7"/>
<Key labels = "g|" ratio = ".7"/>
<Key labels = "h|" ratio = ".7"/>
<Key labels = "j|" ratio = ".7"/>
<Key labels = "k|" ratio = ".7"/>
<Key labels = "l|" ratio = ".7"/>
<Key labels = ";|" ratio = ".7"/>
<Key labels = "'|" ratio = ".7"/>
<Key labels = "↵!enter" icon = "enter.svg" ratio = "1"/>
</Row>
<Row>
<Key labels = "&#8593;!shift" ratio = "1.2" icon = "shift.svg" checkable = "true"/>
<Key labels = "z|" ratio = ".7"/>
<Key labels = "x|" ratio = ".7"/>
<Key labels = "c|" ratio = ".7"/>
<Key labels = "v|" ratio = ".7"/>
<Key labels = "b|" ratio = ".7"/>
<Key labels = "n|" ratio = ".7"/>
<Key labels = "m|" ratio = ".7"/>
<Key labels = ",|" ratio = ".7"/>
<Key labels = ".|" ratio = ".7"/>
<Key labels = "/|" ratio = ".7"/>
<Key labels = "&#8593;!shift" ratio = "1.1" icon = "shift.svg" checkable = "true"/>
<Key labels = "⌫!backspace" icon = "backspace.svg" ratio = ".7"/>
</Row>
<Row>
<Key labels = "Ctrl" ratio = "1"/>
<Key labels = " |" ratio = "1"/>
<Key labels = "Alt|" ratio = "1"/>
<Key labels = " |" ratio = "4"/>
<Key labels = "Alt|" ratio = "1"/>
<Key labels = " |" ratio = "1"/>
<Key labels = "Ctrl" ratio = "1"/>
</Row>
</Keyboard>

View File

@ -0,0 +1,43 @@
<?xml version="1.0" encoding="iso-8859-1"?>
<!-- Generator: Adobe Illustrator 16.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
<svg version="1.1" id="Capa_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
width="484.5px" height="484.5px" viewBox="0 0 484.5 484.5" style="enable-background:new 0 0 484.5 484.5;" xml:space="preserve"
>
<g>
<g id="keyboard-return">
<polygon fill="#FFFFFF" points="433.5,114.75 433.5,216.75 96.9,216.75 188.7,124.95 153,89.25 0,242.25 153,395.25 188.7,359.55 96.9,267.75
484.5,267.75 484.5,114.75 "/>
</g>
</g>
<g>
</g>
<g>
</g>
<g>
</g>
<g>
</g>
<g>
</g>
<g>
</g>
<g>
</g>
<g>
</g>
<g>
</g>
<g>
</g>
<g>
</g>
<g>
</g>
<g>
</g>
<g>
</g>
<g>
</g>
</svg>

After

Width:  |  Height:  |  Size: 897 B

View File

@ -0,0 +1,2 @@
SPDX-FileCopyrightText: 2019 https://www.onlinewebfonts.com/fonts
SPDX-License-Identifier: GPL-3.0-or-later

View File

@ -0,0 +1,64 @@
<!-- === This file is part of Calamares - <https://github.com/calamares> ===
* Copyright 2021, Anke Boersma <demm@kaosx.us>
*
* Calamares is Free Software: see the License-Identifier above. -->
<?xml version="1.0" encoding="UTF-8"?>
<Keyboard>
<Row>
<Key labels = " |" ratio = ".8"/>
<Key labels = "q|" ratio = ".7"/>
<Key labels = "w|" ratio = ".7"/>
<Key labels = "e|" ratio = ".7"/>
<Key labels = "r|" ratio = ".7"/>
<Key labels = "t|" ratio = ".7"/>
<Key labels = "y|" ratio = ".7"/>
<Key labels = "u|" ratio = ".7"/>
<Key labels = "i|" ratio = ".7"/>
<Key labels = "o|" ratio = ".7"/>
<Key labels = "p|" ratio = ".7"/>
<Key labels = " |" ratio = ".7"/>
<Key labels = " |" ratio = ".7"/>
<Key labels = " |" ratio = ".8"/>
</Row>
<Row>
<Key labels = " |" ratio = "1.3"/>
<Key labels = "a|" ratio = ".7"/>
<Key labels = "s|" ratio = ".7"/>
<Key labels = "d|" ratio = ".7"/>
<Key labels = "f|" ratio = ".7"/>
<Key labels = "g|" ratio = ".7"/>
<Key labels = "h|" ratio = ".7"/>
<Key labels = "j|" ratio = ".7"/>
<Key labels = "k|" ratio = ".7"/>
<Key labels = "l|" ratio = ".7"/>
<Key labels = "ñ|" ratio = ".7"/>
<Key labels = " |" ratio = ".7"/>
<Key labels = "↵!enter" icon = "enter.svg" ratio = "1"/>
</Row>
<Row>
<Key labels = "&#8593;!shift" ratio = "1.2" icon = "shift.svg" checkable = "true"/>
<Key labels = "z|" ratio = ".7"/>
<Key labels = "x|" ratio = ".7"/>
<Key labels = "c|" ratio = ".7"/>
<Key labels = "v|" ratio = ".7"/>
<Key labels = "b|" ratio = ".7"/>
<Key labels = "n|" ratio = ".7"/>
<Key labels = "m|" ratio = ".7"/>
<Key labels = "," ratio = ".7"/>
<Key labels = ".|" ratio = ".7"/>
<Key labels = "-|" ratio = ".7"/>
<Key labels = "&#8593;!shift" ratio = "1.1" icon = "shift.svg" checkable = "true"/>
<Key labels = "⌫!backspace" icon = "backspace.svg" ratio = ".7"/>
</Row>
<Row>
<Key labels = "Ctrl" ratio = "1"/>
<Key labels = " |" ratio = "1"/>
<Key labels = "Alt|" ratio = "1"/>
<Key labels = " |" ratio = "4"/>
<Key labels = "Alt|" ratio = "1"/>
<Key labels = " |" ratio = "1"/>
<Key labels = "Ctrl" ratio = "1"/>
</Row>
</Keyboard>

View File

@ -0,0 +1,66 @@
<!-- === This file is part of Calamares - <https://github.com/calamares> ===
* Copyright 2021, Anke Boersma <demm@kaosx.us>
*
* Calamares is Free Software: see the License-Identifier above. -->
<?xml version="1.0" encoding="UTF-8"?>
<Keyboard>
<Row>
<Key labels = " |" ratio = ".8"/>
<Key labels = "a|" ratio = ".7"/>
<Key labels = "z|" ratio = ".7"/>
<Key labels = "e|" ratio = ".7"/>
<Key labels = "r|" ratio = ".7"/>
<Key labels = "t|" ratio = ".7"/>
<Key labels = "y|" ratio = ".7"/>
<Key labels = "u|" ratio = ".7"/>
<Key labels = "i|" ratio = ".7"/>
<Key labels = "o|" ratio = ".7"/>
<Key labels = "p|" ratio = ".7"/>
<Key labels = " |" ratio = ".7"/>
<Key labels = " |" ratio = ".7"/>
<Key labels = " |" ratio = ".8"/>
</Row>
<Row>
<Key labels = " |" ratio = ".9"/>
<Key labels = "q|" ratio = ".7"/>
<Key labels = "s|" ratio = ".7"/>
<Key labels = "d|" ratio = ".7"/>
<Key labels = "f|" ratio = ".7"/>
<Key labels = "g|" ratio = ".7"/>
<Key labels = "h|" ratio = ".7"/>
<Key labels = "j|" ratio = ".7"/>
<Key labels = "k|" ratio = ".7"/>
<Key labels = "l|" ratio = ".7"/>
<Key labels = "m|" ratio = ".7"/>
<Key labels = "ù|" ratio = ".7"/>
<Key labels = "*|" ratio = ".7"/>
<Key labels = "↵!enter" icon = "enter.svg" ratio = ".7"/>
</Row>
<Row>
<Key labels = "&#8593;!shift" ratio = ".5" icon = "shift.svg" checkable = "true"/>
<Key labels = "&lt;|" ratio = ".7"/>
<Key labels = "w|" ratio = ".7"/>
<Key labels = "x|" ratio = ".7"/>
<Key labels = "c|" ratio = ".7"/>
<Key labels = "v|" ratio = ".7"/>
<Key labels = "b|" ratio = ".7"/>
<Key labels = "n|" ratio = ".7"/>
<Key labels = ",|" ratio = ".7"/>
<Key labels = ";|" ratio = ".7"/>
<Key labels = ":|" ratio = ".7"/>
<Key labels = "!|" ratio = ".7"/>
<Key labels = "&#8593;!shift" ratio = "1.1" icon = "shift.svg" checkable = "true"/>
<Key labels = "⌫!backspace" icon = "backspace.svg" ratio = ".7"/>
</Row>
<Row>
<Key labels = "Ctrl" ratio = "1"/>
<Key labels = " |" ratio = "1"/>
<Key labels = "Alt|" ratio = "1"/>
<Key labels = " |" ratio = "4"/>
<Key labels = "Alt|" ratio = "1"/>
<Key labels = " |" ratio = "1"/>
<Key labels = "Ctrl" ratio = "1"/>
</Row>
</Keyboard>

View File

@ -0,0 +1,64 @@
<!-- === This file is part of Calamares - <https://github.com/calamares> ===
* Copyright 2021, Anke Boersma <demm@kaosx.us>
*
* Calamares is Free Software: see the License-Identifier above. -->
<?xml version="1.0" encoding="UTF-8"?>
<Keyboard>
<Row>
<Key labels = " |" ratio = ".8"/>
<Key labels = "q|" ratio = ".7"/>
<Key labels = "w|" ratio = ".7"/>
<Key labels = "e|" ratio = ".7"/>
<Key labels = "r|" ratio = ".7"/>
<Key labels = "t|" ratio = ".7"/>
<Key labels = "y|" ratio = ".7"/>
<Key labels = "u|" ratio = ".7"/>
<Key labels = "i|" ratio = ".7"/>
<Key labels = "o|" ratio = ".7"/>
<Key labels = "p|" ratio = ".7"/>
<Key labels = " |" ratio = ".7"/>
<Key labels = " |" ratio = ".7"/>
<Key labels = " |" ratio = ".8"/>
</Row>
<Row>
<Key labels = " |" ratio = "1.3"/>
<Key labels = "a|" ratio = ".7"/>
<Key labels = "s|" ratio = ".7"/>
<Key labels = "d|" ratio = ".7"/>
<Key labels = "f|" ratio = ".7"/>
<Key labels = "g|" ratio = ".7"/>
<Key labels = "h|" ratio = ".7"/>
<Key labels = "j|" ratio = ".7"/>
<Key labels = "k|" ratio = ".7"/>
<Key labels = "l|" ratio = ".7"/>
<Key labels = " |" ratio = ".7"/>
<Key labels = " |" ratio = ".7"/>
<Key labels = "↵!enter" icon = "enter.svg" ratio = "1"/>
</Row>
<Row>
<Key labels = "&#8593;!shift" ratio = "1.2" icon = "shift.svg" checkable = "true"/>
<Key labels = "z|" ratio = ".7"/>
<Key labels = "x|" ratio = ".7"/>
<Key labels = "c|" ratio = ".7"/>
<Key labels = "v|" ratio = ".7"/>
<Key labels = "b|" ratio = ".7"/>
<Key labels = "n|" ratio = ".7"/>
<Key labels = "m|" ratio = ".7"/>
<Key labels = " |" ratio = ".7"/>
<Key labels = " |" ratio = ".7"/>
<Key labels = " |" ratio = ".7"/>
<Key labels = "&#8593;!shift" ratio = "1.1" icon = "shift.svg" checkable = "true"/>
<Key labels = "⌫!backspace" icon = "backspace.svg" ratio = ".7"/>
</Row>
<Row>
<Key labels = "Ctrl" ratio = "1"/>
<Key labels = " |" ratio = "1"/>
<Key labels = "Alt|" ratio = "1"/>
<Key labels = " |" ratio = "4"/>
<Key labels = "Alt|" ratio = "1"/>
<Key labels = " |" ratio = "1"/>
<Key labels = "Ctrl" ratio = "1"/>
</Row>
</Keyboard>

View File

@ -0,0 +1,66 @@
<!-- === This file is part of Calamares - <https://github.com/calamares> ===
* Copyright 2021, Anke Boersma <demm@kaosx.us>
*
* Calamares is Free Software: see the License-Identifier above. -->
<?xml version="1.0" encoding="UTF-8"?>
<Keyboard>
<Row>
<Key labels = " |" ratio = ".6"/>
<Key labels = "q|" ratio = ".7"/>
<Key labels = "w|" ratio = ".7"/>
<Key labels = "e|" ratio = ".7"/>
<Key labels = "r|" ratio = ".7"/>
<Key labels = "t|" ratio = ".7"/>
<Key labels = "z|" ratio = ".7"/>
<Key labels = "u|" ratio = ".7"/>
<Key labels = "i|" ratio = ".7"/>
<Key labels = "o|" ratio = ".7"/>
<Key labels = "p|" ratio = ".7"/>
<Key labels = " |" ratio = ".7"/>
<Key labels = " |" ratio = ".7"/>
<Key labels = " |" ratio = "1.0"/>
</Row>
<Row>
<Key labels = " |" ratio = ".9"/>
<Key labels = "a|" ratio = ".7"/>
<Key labels = "s|" ratio = ".7"/>
<Key labels = "d|" ratio = ".7"/>
<Key labels = "f|" ratio = ".7"/>
<Key labels = "g|" ratio = ".7"/>
<Key labels = "h|" ratio = ".7"/>
<Key labels = "j|" ratio = ".7"/>
<Key labels = "k|" ratio = ".7"/>
<Key labels = "l|" ratio = ".7"/>
<Key labels = " |" ratio = ".7"/>
<Key labels = " |" ratio = ".7"/>
<Key labels = " |" ratio = ".7"/>
<Key labels = "↵!enter" icon = "enter.svg" ratio = ".7"/>
</Row>
<Row>
<Key labels = "&#8593;!shift" ratio = ".7" icon = "shift.svg" checkable = "true"/>
<Key labels = "&lt;|" ratio = ".7"/>
<Key labels = "y|" ratio = ".7"/>
<Key labels = "x|" ratio = ".7"/>
<Key labels = "c|" ratio = ".7"/>
<Key labels = "v|" ratio = ".7"/>
<Key labels = "b|" ratio = ".7"/>
<Key labels = "n|" ratio = ".7"/>
<Key labels = "m|" ratio = ".7"/>
<Key labels = ",|" ratio = ".7"/>
<Key labels = ".|" ratio = ".7"/>
<Key labels = "-|" ratio = ".7"/>
<Key labels = "&#8593;!shift" ratio = ".9" icon = "shift.svg" checkable = "true"/>
<Key labels = "⌫!backspace" icon = "backspace.svg" ratio = ".7"/>
</Row>
<Row>
<Key labels = "Ctrl" ratio = "1"/>
<Key labels = " |" ratio = "1"/>
<Key labels = "Alt|" ratio = "1"/>
<Key labels = " |" ratio = "4"/>
<Key labels = "Alt|" ratio = "1"/>
<Key labels = " |" ratio = "1"/>
<Key labels = "Ctrl" ratio = "1"/>
</Row>
</Keyboard>

View File

@ -0,0 +1,64 @@
<!-- === This file is part of Calamares - <https://github.com/calamares> ===
* Copyright 2021, Anke Boersma <demm@kaosx.us>
*
* Calamares is Free Software: see the License-Identifier above. -->
<?xml version="1.0" encoding="UTF-8"?>
<Keyboard>
<Row>
<Key labels = " |" ratio = ".8"/>
<Key labels = "q|" ratio = ".7"/>
<Key labels = "w|" ratio = ".7"/>
<Key labels = "e|" ratio = ".7"/>
<Key labels = "r|" ratio = ".7"/>
<Key labels = "t|" ratio = ".7"/>
<Key labels = "y|" ratio = ".7"/>
<Key labels = "u|" ratio = ".7"/>
<Key labels = "i|" ratio = ".7"/>
<Key labels = "o|" ratio = ".7"/>
<Key labels = "p|" ratio = ".7"/>
<Key labels = "+|" ratio = ".7"/>
<Key labels = "]|" ratio = ".7"/>
<Key labels = " |" ratio = ".8"/>
</Row>
<Row>
<Key labels = " |" ratio = "1.3"/>
<Key labels = "a|" ratio = ".7"/>
<Key labels = "s|" ratio = ".7"/>
<Key labels = "d|" ratio = ".7"/>
<Key labels = "f|" ratio = ".7"/>
<Key labels = "g|" ratio = ".7"/>
<Key labels = "h|" ratio = ".7"/>
<Key labels = "j|" ratio = ".7"/>
<Key labels = "k|" ratio = ".7"/>
<Key labels = "l|" ratio = ".7"/>
<Key labels = "ç|" ratio = ".7"/>
<Key labels = "º|" ratio = ".7"/>
<Key labels = "↵!enter" icon = "enter.svg" ratio = "1"/>
</Row>
<Row>
<Key labels = "&#8593;!shift" ratio = "1.2" icon = "shift.svg" checkable = "true"/>
<Key labels = "z|" ratio = ".7"/>
<Key labels = "x|" ratio = ".7"/>
<Key labels = "c|" ratio = ".7"/>
<Key labels = "v|" ratio = ".7"/>
<Key labels = "b|" ratio = ".7"/>
<Key labels = "n|" ratio = ".7"/>
<Key labels = "m|" ratio = ".7"/>
<Key labels = ",|" ratio = ".7"/>
<Key labels = ".|" ratio = ".7"/>
<Key labels = "-|" ratio = ".7"/>
<Key labels = "&#8593;!shift" ratio = "1.1" icon = "shift.svg" checkable = "true"/>
<Key labels = "⌫!backspace" icon = "backspace.svg" ratio = ".7"/>
</Row>
<Row>
<Key labels = "Ctrl" ratio = "1"/>
<Key labels = " |" ratio = "1"/>
<Key labels = "Alt|" ratio = "1"/>
<Key labels = " |" ratio = "4"/>
<Key labels = "Alt|" ratio = "1"/>
<Key labels = " |" ratio = "1"/>
<Key labels = "Ctrl" ratio = "1"/>
</Row>
</Keyboard>

View File

@ -0,0 +1,64 @@
<!-- === This file is part of Calamares - <https://github.com/calamares> ===
* Copyright 2021, Anke Boersma <demm@kaosx.us>
*
* Calamares is Free Software: see the License-Identifier above. -->
<?xml version="1.0" encoding="UTF-8"?>
<Keyboard>
<Row>
<Key labels = " |" ratio = ".8"/>
<Key labels = "й|" ratio = ".7"/>
<Key labels = "ц|" ratio = ".7"/>
<Key labels = "у|" ratio = ".7"/>
<Key labels = "к|" ratio = ".7"/>
<Key labels = "е|" ratio = ".7"/>
<Key labels = "н|" ratio = ".7"/>
<Key labels = "г|" ratio = ".7"/>
<Key labels = "ш|" ratio = ".7"/>
<Key labels = "щ|" ratio = ".7"/>
<Key labels = "з|" ratio = ".7"/>
<Key labels = "х|" ratio = ".7"/>
<Key labels = "Ъ|" ratio = ".7"/>
<Key labels = " |" ratio = ".8"/>
</Row>
<Row>
<Key labels = " |" ratio = "1.3"/>
<Key labels = "ф|" ratio = ".7"/>
<Key labels = "ы|" ratio = ".7"/>
<Key labels = "в|" ratio = ".7"/>
<Key labels = "а|" ratio = ".7"/>
<Key labels = "п|" ratio = ".7"/>
<Key labels = "р|" ratio = ".7"/>
<Key labels = "о|" ratio = ".7"/>
<Key labels = "л|" ratio = ".7"/>
<Key labels = "д|" ratio = ".7"/>
<Key labels = "ж|" ratio = ".7"/>
<Key labels = "э|" ratio = ".7"/>
<Key labels = "↵!enter" icon = "enter.svg" ratio = "1"/>
</Row>
<Row>
<Key labels = "&#8593;!shift" ratio = "1.2" icon = "shift.svg" checkable = "true"/>
<Key labels = "я|" ratio = ".7"/>
<Key labels = "ч|" ratio = ".7"/>
<Key labels = "с|" ratio = ".7"/>
<Key labels = "м|" ratio = ".7"/>
<Key labels = "и|" ratio = ".7"/>
<Key labels = "т|" ratio = ".7"/>
<Key labels = "ь|" ratio = ".7"/>
<Key labels = "б|" ratio = ".7"/>
<Key labels = "ю|" ratio = ".7"/>
<Key labels = ".|" ratio = ".7"/>
<Key labels = "&#8593;!shift" ratio = "1.1" icon = "shift.svg" checkable = "true"/>
<Key labels = "⌫!backspace" icon = "backspace.svg" ratio = ".7"/>
</Row>
<Row>
<Key labels = "Ctrl" ratio = "1"/>
<Key labels = " |" ratio = "1"/>
<Key labels = "Alt|" ratio = "1"/>
<Key labels = " |" ratio = "4"/>
<Key labels = "Alt|" ratio = "1"/>
<Key labels = " |" ratio = "1"/>
<Key labels = "Ctrl" ratio = "1"/>
</Row>
</Keyboard>

View File

@ -0,0 +1,64 @@
<!-- === This file is part of Calamares - <https://github.com/calamares> ===
* Copyright 2021, Anke Boersma <demm@kaosx.us>
*
* Calamares is Free Software: see the License-Identifier above. -->
<?xml version="1.0" encoding="UTF-8"?>
<Keyboard>
<Row>
<Key labels = " |" ratio = ".8"/>
<Key labels = "q|" ratio = ".7"/>
<Key labels = "w|" ratio = ".7"/>
<Key labels = "e|" ratio = ".7"/>
<Key labels = "r|" ratio = ".7"/>
<Key labels = "t|" ratio = ".7"/>
<Key labels = "y|" ratio = ".7"/>
<Key labels = "u|" ratio = ".7"/>
<Key labels = "i|" ratio = ".7"/>
<Key labels = "o|" ratio = ".7"/>
<Key labels = "p|" ratio = ".7"/>
<Key labels = "å|" ratio = ".7"/>
<Key labels = " |" ratio = ".7"/>
<Key labels = " |" ratio = ".8"/>
</Row>
<Row>
<Key labels = " |" ratio = "1.3"/>
<Key labels = "a|" ratio = ".7"/>
<Key labels = "s|" ratio = ".7"/>
<Key labels = "d|" ratio = ".7"/>
<Key labels = "f|" ratio = ".7"/>
<Key labels = "g|" ratio = ".7"/>
<Key labels = "h|" ratio = ".7"/>
<Key labels = "j|" ratio = ".7"/>
<Key labels = "k|" ratio = ".7"/>
<Key labels = "l|" ratio = ".7"/>
<Key labels = " |" ratio = ".7"/>
<Key labels = " |" ratio = ".7"/>
<Key labels = "↵!enter" icon = "enter.svg" ratio = "1"/>
</Row>
<Row>
<Key labels = "&#8593;!shift" ratio = "1.2" icon = "shift.svg" checkable = "true"/>
<Key labels = "z|" ratio = ".7"/>
<Key labels = "x|" ratio = ".7"/>
<Key labels = "c|" ratio = ".7"/>
<Key labels = "v|" ratio = ".7"/>
<Key labels = "b|" ratio = ".7"/>
<Key labels = "n|" ratio = ".7"/>
<Key labels = "m|" ratio = ".7"/>
<Key labels = ",|" ratio = ".7"/>
<Key labels = ".|" ratio = ".7"/>
<Key labels = "-|" ratio = ".7"/>
<Key labels = "&#8593;!shift" ratio = "1.1" icon = "shift.svg" checkable = "true"/>
<Key labels = "⌫!backspace" icon = "backspace.svg" ratio = ".7"/>
</Row>
<Row>
<Key labels = "Ctrl" ratio = "1"/>
<Key labels = " |" ratio = "1"/>
<Key labels = "Alt|" ratio = "1"/>
<Key labels = " |" ratio = "4"/>
<Key labels = "Alt|" ratio = "1"/>
<Key labels = " |" ratio = "1"/>
<Key labels = "Ctrl" ratio = "1"/>
</Row>
</Keyboard>

View File

@ -0,0 +1,2 @@
SPDX-FileCopyrightText: 2019 https://www.onlinewebfonts.com/fonts
SPDX-License-Identifier: GPL-3.0-or-later

View File

@ -0,0 +1,7 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- Svg Vector Icons : http://www.onlinewebfonts.com/icon -->
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
<svg version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" viewBox="0 0 1000 1000" enable-background="new 0 0 1000 1000" xml:space="preserve">
<metadata> Svg Vector Icons : http://www.onlinewebfonts.com/icon </metadata>
<g><path fill="#FFFFFF" d="M987.8,489.5c-1.3-3.6-3.2-7.1-6.1-10L519.8,18.8c-0.2-0.2-0.2-0.4-0.4-0.6c-5.3-5.5-12.3-8.3-19.2-8.2c-6.9,0-13.9,2.7-19.2,8.2c-0.1,0.1-0.1,0.2-0.2,0.4L17.9,479.5c-10.6,10.9-10.6,28.7,0,39.7c5.3,5.6,12.4,8.3,19.4,8.2c0.1,0,0.2,0.1,0.4,0.1h217.7v435.3c0,15,12.2,27.2,27.2,27.2h435.3c15.1,0,27.2-12.2,27.2-27.2V527.4h217.7c15,0,27.2-12.2,27.2-27.2C990,496.4,989.2,492.8,987.8,489.5z M717.9,473c-15,0-27.2,12.2-27.2,27.2v435.3H309.8V500.2c0-15-12.2-27.2-27.2-27.2h-180L500.2,77.2l397,395.8H717.9z"/></g>
</svg>

After

Width:  |  Height:  |  Size: 1015 B

View File

@ -1,200 +1,138 @@
/* === This file is part of Calamares - <https://github.com/calamares> ===
/* === This file is part of Calamares - <https://calamares.io> ===
*
* SPDX-FileCopyrightText: 2020 Anke Boersma <demm@kaosx.us>
* SPDX-FileCopyrightText: 2020 - 2021 Anke Boersma <demm@kaosx.us>
* SPDX-License-Identifier: GPL-3.0-or-later
*
* Calamares is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
* Calamares is Free Software: see the License-Identifier above.
*
* Calamares is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with Calamares. If not, see <http://www.gnu.org/licenses/>.
*/
import io.calamares.core 1.0
import io.calamares.ui 1.0
import QtQuick 2.10
import QtQuick.Controls 2.10
import QtQuick 2.15
import QtQuick.Controls 2.15
import QtQuick.Window 2.14
import QtQuick.Layouts 1.3
import org.kde.kirigami 2.7 as Kirigami
import "data"
Page {
Item {
width: 800 //parent.width
height: 500
height: 600
StackView {
id: stack
readonly property color backgroundColor: "#E6E9EA" //Kirigami.Theme.backgroundColor
readonly property color listBackgroundColor: "white"
readonly property color textFieldColor: "#121212"
readonly property color textFieldBackgroundColor: "#F8F8F8"
readonly property color textColor: Kirigami.Theme.textColor
readonly property color highlightedTextColor: Kirigami.Theme.highlightedTextColor
readonly property color highlightColor: Kirigami.Theme.highlightColor
property var langXml: ["de", "en", "es", "fr", "ru",]
property var arXml: ["Arabic"]
property var ruXml: ["Azerba", "Belaru", "Kazakh", "Kyrgyz", "Mongol",
"Russia", "Tajik", "Ukrain"]
property var frXml: ["Bambar", "Belgia","French", "Wolof"]
property var enXml: ["Bikol", "Chines", "Englis", "Irish", "Lithua", "Maori"]
property var esXml: ["Spanis"]
property var deXml: ["German"]
property var ptXml: ["Portug"]
property var scanXml: ["Danish", "Finnis", "Norweg", "Swedis"]
property var afganiXml: ["Afghan"]
property var genericXml: ["Armeni", "Bulgar", "Dutch", "Estoni", "Icelan",
"Indone", "Italia", "Latvia", "Maltes", "Moldav", "Romani", "Swahil", "Turkis"]
property var genericQzXml: ["Albani", "Bosnia", "Croati", "Czech", "Hungar",
"Luxemb", "Monten", "Polish", "Serbia", "Sloven", "Slovak"]
property var genericAzXml: []
property var keyIndex: []
Rectangle {
id: backgroundItem
anchors.fill: parent
clip: true
color: backgroundColor
initialItem: Item {
Label {
id: header
anchors.horizontalCenter: parent.horizontalCenter
text: qsTr("To activate keyboard preview, select a layout.")
color: textColor
font.bold: true
}
Label {
id: intro
anchors.horizontalCenter: parent.horizontalCenter
anchors.top: header.bottom
color: textColor
horizontalAlignment: Text.AlignHCenter
width: parent.width / 1.2
wrapMode: Text.WordWrap
text: ( config.prettyStatus)
}
RowLayout {
id: models
anchors.top: intro.bottom
anchors.topMargin: 10
anchors.horizontalCenter: parent.horizontalCenter
width: parent.width /1.5
spacing: 10
Label {
id: header
anchors.horizontalCenter: parent.horizontalCenter
text: qsTr("Keyboard Model")
color: Kirigami.Theme.textColor
Layout.alignment: Qt.AlignCenter
text: qsTr("Keyboard Model:")
color: textColor
font.bold: true
font.weight: Font.Bold
font.pointSize: 24
}
Label {
anchors.horizontalCenter: parent.horizontalCenter
anchors.top: header.bottom
color: Kirigami.Theme.textColor
horizontalAlignment: Text.AlignHCenter
width: parent.width / 1.5
wrapMode: Text.WordWrap
text: qsTr("Click your preferred keyboard model to select layout and variant, or use the default one based on the detected hardware.")
}
ListView {
id: list1
ScrollBar.vertical: ScrollBar {
active: true
}
width: parent.width / 2
height: 250
anchors.centerIn: parent
anchors.verticalCenterOffset: -30
focus: true
clip: true
boundsBehavior: Flickable.StopAtBounds
spacing: 2
Rectangle {
z: parent.z - 1
anchors.fill: parent
color: "#BDC3C7"
radius: 5
opacity: 0.7
}
ComboBox {
Layout.fillWidth: true
textRole: "label"
model: config.keyboardModelsModel
//model: ["Africa", "America", "Antarctica", "Arctic", "Asia", "Atlantic", "Australia", "Europe", "Indian", "Pacific"]
currentIndex: model.currentIndex
delegate: ItemDelegate {
hoverEnabled: true
width: parent.width
highlighted: ListView.isCurrentItem
RowLayout {
anchors.fill: parent
Label {
text: model.label // modelData
Layout.fillHeight: true
Layout.fillWidth: true
width: parent.width
height: 32
color: highlighted ? Kirigami.Theme.highlightedTextColor : Kirigami.Theme.textColor
background: Rectangle {
color: highlighted || hovered ? Kirigami.Theme.highlightColor : "white" //Kirigami.Theme.backgroundColor
opacity: highlighted || hovered ? 0.5 : 0.3
}
}
Kirigami.Icon {
source: "checkmark"
Layout.preferredWidth: 22
Layout.preferredHeight: 22
color: Kirigami.Theme.highlightedTextColor
visible: highlighted
}
}
onClicked: {
list1.model.currentIndex = index
stack.push(layoutsList)
list1.positionViewAtIndex(index, ListView.Center)
}
}
onCurrentIndexChanged: config.keyboardModels = currentIndex
}
}
Component {
id: layoutsList
StackView {
id: stack
anchors.top: models.bottom
anchors.topMargin: 10
anchors.left: parent.left
anchors.right: parent.right
anchors.bottom: parent.bottom
clip: true
Item {
Label {
id: header
anchors.horizontalCenter: parent.horizontalCenter
text: qsTr("Keyboard Layout")
color: Kirigami.Theme.textColor
font.bold: true
font.weight: Font.Bold
font.pointSize: 24
}
Label {
anchors.horizontalCenter: parent.horizontalCenter
anchors.top: header.bottom
color: Kirigami.Theme.textColor
horizontalAlignment: Text.AlignHCenter
width: parent.width / 1.5
wrapMode: Text.WordWrap
text: config.prettyStatus
//text: qsTr("Set keyboard model or use the default one based on the detected hardware.")
}
initialItem: Item {
ListView {
id: list2
id: layouts
ScrollBar.vertical: ScrollBar {
active: true
}
width: parent.width / 2
height: 250
anchors.centerIn: parent
anchors.verticalCenterOffset: -30
height: 200
anchors.horizontalCenter: parent.horizontalCenter
focus: true
clip: true
boundsBehavior: Flickable.StopAtBounds
spacing: 2
Rectangle {
z: parent.z - 1
anchors.fill: parent
color: "#BDC3C7"
radius: 5
color: listBackgroundColor
opacity: 0.7
}
model: config.keyboardLayoutsModel
//model: ["Brussels", "London", "Madrid", "New York", "Melbourne", "London", "Madrid", "New York", "Brussels", "London", "Madrid", "New York", "Brussels", "London", "Madrid", "New York"]
currentIndex: model.currentIndex
Component.onCompleted: positionViewAtIndex(model.currentIndex, ListView.Center)
delegate: ItemDelegate {
hoverEnabled: true
@ -202,203 +140,169 @@ Page {
highlighted: ListView.isCurrentItem
RowLayout {
anchors.fill: parent
anchors.fill: parent
Label {
text: model.label // modelData
id: label1
text: model.label
Layout.fillHeight: true
Layout.fillWidth: true
padding: 10
width: parent.width
height: 30
color: highlighted ? Kirigami.Theme.highlightedTextColor : Kirigami.Theme.textColor
height: 32
color: highlighted ? highlightedTextColor : textColor
background: Rectangle {
color: highlighted || hovered ? Kirigami.Theme.highlightColor : "white" //Kirigami.Theme.backgroundColor
color: highlighted || hovered ? highlightColor : listBackgroundColor
opacity: highlighted || hovered ? 0.5 : 0.3
}
}
Kirigami.Icon {
source: "checkmark"
Layout.preferredWidth: 22
Layout.preferredHeight: 22
color: Kirigami.Theme.highlightedTextColor
visible: highlighted
}
}
onClicked: {
list2.model.currentIndex = index
layouts.model.currentIndex = index
keyIndex = label1.text.substring(0,6)
stack.push(variantsList)
list2.positionViewAtIndex(index, ListView.Center)
layouts.positionViewAtIndex(index, ListView.Center)
}
}
}
ColumnLayout {
spacing: 2
anchors.verticalCenter: parent.verticalCenter
anchors.verticalCenterOffset: -30
anchors.left: parent.left
anchors.leftMargin: parent.width / 15
Button {
icon.name: "go-previous"
text: qsTr("Models")
onClicked: stack.pop()
}
Button {
icon.name: "go-next"
text: qsTr("Variants")
onClicked: stack.push(variantsList)
}
}
}
}
Component {
id: variantsList
Item {
Label {
id: header
anchors.horizontalCenter: parent.horizontalCenter
text: qsTr("Keyboard Variant")
color: Kirigami.Theme.textColor
font.bold: true
font.weight: Font.Bold
font.pointSize: 24
}
Label {
anchors.horizontalCenter: parent.horizontalCenter
anchors.top: header.bottom
color: Kirigami.Theme.textColor
horizontalAlignment: Text.AlignHCenter
width: parent.width / 1.5
wrapMode: Text.WordWrap
text: config.prettyStatus
//text: qsTr("Variant keyboard model or use the default one based on the detected hardware.")
}
ListView {
id: list3
ScrollBar.vertical: ScrollBar {
active: true
}
width: parent.width / 2
height: 250
anchors.centerIn: parent
anchors.verticalCenterOffset: -30
focus: true
clip: true
boundsBehavior: Flickable.StopAtBounds
spacing: 2
Rectangle {
z: parent.z - 1
anchors.fill: parent
color: "#BDC3C7"
radius: 5
opacity: 0.7
}
model: config.keyboardVariantsModel
//model: ["Brussels", "London", "Madrid", "New York", "Melbourne", "London", "Madrid", "New York", "Brussels", "London", "Madrid", "New York", "Brussels", "London", "Madrid", "New York"]
currentIndex: model.currentIndex
delegate: ItemDelegate {
hoverEnabled: true
width: parent.width
highlighted: ListView.isCurrentItem
RowLayout {
anchors.fill: parent
Label {
text: model.label //modelData
Layout.fillHeight: true
Layout.fillWidth: true
width: parent.width
height: 30
color: highlighted ? Kirigami.Theme.highlightedTextColor : Kirigami.Theme.textColor
background: Rectangle {
color: highlighted || hovered ? Kirigami.Theme.highlightColor : "white" //Kirigami.Theme.backgroundColor
opacity: highlighted || hovered ? 0.5 : 0.3
}
}
Kirigami.Icon {
source: "checkmark"
Layout.preferredWidth: 22
Layout.preferredHeight: 22
color: Kirigami.Theme.highlightedTextColor
visible: highlighted
}
}
onClicked: {
list3.model.currentIndex = index
list3.positionViewAtIndex(index, ListView.Center)
}
}
}
Button {
Layout.fillWidth: true
anchors.verticalCenter: parent.verticalCenter
anchors.verticalCenterOffset: -30
anchors.left: parent.left
anchors.verticalCenterOffset: -parent.height / 3.5
anchors.left: parent.left
anchors.leftMargin: parent.width / 15
icon.name: "go-previous"
text: qsTr("Layouts")
onClicked: stack.pop()
icon.name: "go-next"
text: qsTr("Variants")
onClicked: stack.push(variantsList)
}
}
Component {
id: variantsList
Item {
ListView {
id: variants
ScrollBar.vertical: ScrollBar {
active: true
}
width: parent.width / 2
height: 200
anchors.horizontalCenter: parent.horizontalCenter
anchors.topMargin: 10
focus: true
clip: true
boundsBehavior: Flickable.StopAtBounds
spacing: 2
Rectangle {
z: parent.z - 1
anchors.fill: parent
color: listBackgroundColor
opacity: 0.7
}
model: config.keyboardVariantsModel
currentIndex: model.currentIndex
Component.onCompleted: positionViewAtIndex(model.currentIndex, ListView.Center)
delegate: ItemDelegate {
hoverEnabled: true
width: parent.width
highlighted: ListView.isCurrentItem
RowLayout {
anchors.fill: parent
Label {
text: model.label
Layout.fillHeight: true
Layout.fillWidth: true
padding: 10
width: parent.width
height: 30
color: highlighted ? highlightedTextColor : textColor
background: Rectangle {
color: highlighted || hovered ? highlightColor : listBackgroundColor
opacity: highlighted || hovered ? 0.5 : 0.3
}
}
}
onClicked: {
variants.model.currentIndex = index
variants.positionViewAtIndex(index, ListView.Center)
}
}
}
Button {
Layout.fillWidth: true
anchors.verticalCenter: parent.verticalCenter
anchors.verticalCenterOffset: -parent.height / 3.5
anchors.left: parent.left
anchors.leftMargin: parent.width / 15
icon.name: "go-previous"
text: qsTr("Layouts")
onClicked: stack.pop()
}
}
}
}
}
TextField {
TextField {
id: textInput
placeholderText: qsTr("Type here to test your keyboard")
height: 36
width: parent.width / 1.5
horizontalAlignment: TextInput.AlignHCenter
anchors.horizontalCenter: parent.horizontalCenter
anchors.bottom: keyboard.top
anchors.bottomMargin: parent.height / 25
color: textFieldColor
placeholderText: qsTr("Test your keyboard")
height: 48
width: parent.width / 1.5
horizontalAlignment: TextInput.AlignHCenter
anchors.horizontalCenter: parent.horizontalCenter
anchors.bottom: parent.bottom
anchors.bottomMargin: parent.height / 10
color: "#1F1F1F"
background:Rectangle {
z: parent.z - 1
anchors.fill: parent
color: textFieldBackgroundColor
radius: 2
}
}
background:Rectangle {
z: parent.z - 1
anchors.fill: parent
color: "#BDC3C7"
radius: 2
opacity: 0.3
Keyboard {
id: keyboard
width: parent.width
height: parent.height / 3
anchors.bottom: parent.bottom
source: langXml.includes(keyIndex) ? (keyIndex + ".xml") :
afganiXml.includes(keyIndex) ? "afgani.xml" :
scanXml.includes(keyIndex) ? "scan.xml" :
genericXml.includes(keyIndex) ? "generic.xml" :
genericQzXml.includes(keyIndex) ? "generic_qz.xml" :
arXml.includes(keyIndex) ? "ar.xml" :
deXml.includes(keyIndex) ? "de.xml" :
enXml.includes(keyIndex) ? "en.xml" :
esXml.includes(keyIndex) ? "es.xml" :
frXml.includes(keyIndex) ? "fr.xml" :
ptXml.includes(keyIndex) ? "pt.xml" :
ruXml.includes(keyIndex) ? "ru.xml" :"empty.xml"
rows: 4
columns: 10
keyColor: "transparent"
keyPressedColorOpacity: 0.2
keyImageLeft: "button_bkg_left.png"
keyImageRight: "button_bkg_right.png"
keyImageCenter: "button_bkg_center.png"
target: textInput
onEnterClicked: console.log("Enter!")
}
}
}