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 * SPDX-License-Identifier: GPL-3.0-or-later
* *
* Calamares is free software: you can redistribute it and/or modify * Calamares is Free Software: see the License-Identifier above.
* 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 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.core 1.0
import io.calamares.ui 1.0 import io.calamares.ui 1.0
import QtQuick 2.10 import QtQuick 2.15
import QtQuick.Controls 2.10 import QtQuick.Controls 2.15
import QtQuick.Window 2.14 import QtQuick.Window 2.14
import QtQuick.Layouts 1.3 import QtQuick.Layouts 1.3
import org.kde.kirigami 2.7 as Kirigami import org.kde.kirigami 2.7 as Kirigami
import "data"
Page { Item {
width: 800 //parent.width width: 800 //parent.width
height: 500 height: 600
StackView { readonly property color backgroundColor: "#E6E9EA" //Kirigami.Theme.backgroundColor
id: stack 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 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 { Label {
Layout.alignment: Qt.AlignCenter
id: header text: qsTr("Keyboard Model:")
anchors.horizontalCenter: parent.horizontalCenter color: textColor
text: qsTr("Keyboard Model")
color: Kirigami.Theme.textColor
font.bold: true font.bold: true
font.weight: Font.Bold
font.pointSize: 24
} }
Label { ComboBox {
Layout.fillWidth: true
anchors.horizontalCenter: parent.horizontalCenter textRole: "label"
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
}
model: config.keyboardModelsModel model: config.keyboardModelsModel
//model: ["Africa", "America", "Antarctica", "Arctic", "Asia", "Atlantic", "Australia", "Europe", "Indian", "Pacific"]
currentIndex: model.currentIndex currentIndex: model.currentIndex
delegate: ItemDelegate { onCurrentIndexChanged: config.keyboardModels = currentIndex
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)
}
}
} }
} }
Component { StackView {
id: layoutsList id: stack
anchors.top: models.bottom
anchors.topMargin: 10
anchors.left: parent.left
anchors.right: parent.right
anchors.bottom: parent.bottom
clip: true
Item { initialItem: 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.")
}
ListView { ListView {
id: layouts
id: list2
ScrollBar.vertical: ScrollBar { ScrollBar.vertical: ScrollBar {
active: true active: true
} }
width: parent.width / 2 width: parent.width / 2
height: 250 height: 200
anchors.centerIn: parent anchors.horizontalCenter: parent.horizontalCenter
anchors.verticalCenterOffset: -30
focus: true focus: true
clip: true clip: true
boundsBehavior: Flickable.StopAtBounds boundsBehavior: Flickable.StopAtBounds
spacing: 2 spacing: 2
Rectangle { Rectangle {
z: parent.z - 1 z: parent.z - 1
anchors.fill: parent anchors.fill: parent
color: "#BDC3C7" color: listBackgroundColor
radius: 5
opacity: 0.7 opacity: 0.7
} }
model: config.keyboardLayoutsModel 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 currentIndex: model.currentIndex
Component.onCompleted: positionViewAtIndex(model.currentIndex, ListView.Center)
delegate: ItemDelegate { delegate: ItemDelegate {
hoverEnabled: true hoverEnabled: true
@ -202,203 +140,169 @@ Page {
highlighted: ListView.isCurrentItem highlighted: ListView.isCurrentItem
RowLayout { RowLayout {
anchors.fill: parent anchors.fill: parent
Label { Label {
id: label1
text: model.label // modelData text: model.label
Layout.fillHeight: true Layout.fillHeight: true
Layout.fillWidth: true Layout.fillWidth: true
padding: 10
width: parent.width width: parent.width
height: 30 height: 32
color: highlighted ? Kirigami.Theme.highlightedTextColor : Kirigami.Theme.textColor color: highlighted ? highlightedTextColor : textColor
background: Rectangle { background: Rectangle {
color: highlighted || hovered ? highlightColor : listBackgroundColor
color: highlighted || hovered ? Kirigami.Theme.highlightColor : "white" //Kirigami.Theme.backgroundColor
opacity: highlighted || hovered ? 0.5 : 0.3 opacity: highlighted || hovered ? 0.5 : 0.3
} }
} }
Kirigami.Icon {
source: "checkmark"
Layout.preferredWidth: 22
Layout.preferredHeight: 22
color: Kirigami.Theme.highlightedTextColor
visible: highlighted
}
} }
onClicked: { onClicked: {
list2.model.currentIndex = index layouts.model.currentIndex = index
keyIndex = label1.text.substring(0,6)
stack.push(variantsList) 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 { Button {
Layout.fillWidth: true Layout.fillWidth: true
anchors.verticalCenter: parent.verticalCenter anchors.verticalCenter: parent.verticalCenter
anchors.verticalCenterOffset: -30 anchors.verticalCenterOffset: -parent.height / 3.5
anchors.left: parent.left anchors.left: parent.left
anchors.leftMargin: parent.width / 15 anchors.leftMargin: parent.width / 15
icon.name: "go-previous" icon.name: "go-next"
text: qsTr("Layouts") text: qsTr("Variants")
onClicked: stack.pop() 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") background:Rectangle {
height: 48 z: parent.z - 1
width: parent.width / 1.5 anchors.fill: parent
horizontalAlignment: TextInput.AlignHCenter color: textFieldBackgroundColor
anchors.horizontalCenter: parent.horizontalCenter radius: 2
anchors.bottom: parent.bottom }
anchors.bottomMargin: parent.height / 10 }
color: "#1F1F1F"
background:Rectangle { Keyboard {
id: keyboard
z: parent.z - 1 width: parent.width
anchors.fill: parent height: parent.height / 3
color: "#BDC3C7" anchors.bottom: parent.bottom
radius: 2 source: langXml.includes(keyIndex) ? (keyIndex + ".xml") :
opacity: 0.3 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!")
} }
} }
} }