dots-hyprland/.config/quickshell/ii/modules/onScreenKeyboard/OskContent.qml

47 lines
1.3 KiB
QML

import "root:/"
import "root:/services"
import "root:/modules/common"
import "root:/modules/common/widgets"
import "layouts.js" as Layouts
import QtQuick
import QtQuick.Controls
import QtQuick.Layouts
import Quickshell
import Quickshell.Io
import Quickshell.Widgets
import Quickshell.Hyprland
Item {
id: root
property var activeLayoutName: Config.options?.osk.layout ?? Layouts.defaultLayout
property var layouts: Layouts.byName
property var currentLayout: layouts[activeLayoutName]
implicitWidth: keyRows.implicitWidth
implicitHeight: keyRows.implicitHeight
ColumnLayout {
id: keyRows
anchors.fill: parent
spacing: 5
Repeater {
model: root.currentLayout.keys
delegate: RowLayout {
id: keyRow
required property var modelData
spacing: 5
Repeater {
model: modelData
// A normal key looks like this: {label: "a", labelShift: "A", shape: "normal", keycode: 30, type: "normal"}
delegate: OskKey {
required property var modelData
keyData: modelData
}
}
}
}
}
}