Compare commits
No commits in common. "master" and "1.0.2" have entirely different histories.
|
|
@ -2,5 +2,4 @@
|
||||||
config.ini
|
config.ini
|
||||||
token.txt
|
token.txt
|
||||||
datenbank.csv
|
datenbank.csv
|
||||||
qrcodes.csv
|
qrcodes.csv
|
||||||
log.txt
|
|
||||||
BIN
PIL/_imaging.pyd
BIN
PIL/_webp.pyd
|
|
@ -245,6 +245,34 @@ mJlglFwjz1onl14LBQaTNx47aTbrqZ5hHY8y2o4M1nQ+ewkk2gF3R8Q7zTSMmfXK
|
||||||
4SVhM7JZG+Ju1zdXtg2pEto=
|
4SVhM7JZG+Ju1zdXtg2pEto=
|
||||||
-----END CERTIFICATE-----
|
-----END CERTIFICATE-----
|
||||||
|
|
||||||
|
# Issuer: O=SECOM Trust.net OU=Security Communication RootCA1
|
||||||
|
# Subject: O=SECOM Trust.net OU=Security Communication RootCA1
|
||||||
|
# Label: "Security Communication Root CA"
|
||||||
|
# Serial: 0
|
||||||
|
# MD5 Fingerprint: f1:bc:63:6a:54:e0:b5:27:f5:cd:e7:1a:e3:4d:6e:4a
|
||||||
|
# SHA1 Fingerprint: 36:b1:2b:49:f9:81:9e:d7:4c:9e:bc:38:0f:c6:56:8f:5d:ac:b2:f7
|
||||||
|
# SHA256 Fingerprint: e7:5e:72:ed:9f:56:0e:ec:6e:b4:80:00:73:a4:3f:c3:ad:19:19:5a:39:22:82:01:78:95:97:4a:99:02:6b:6c
|
||||||
|
-----BEGIN CERTIFICATE-----
|
||||||
|
MIIDWjCCAkKgAwIBAgIBADANBgkqhkiG9w0BAQUFADBQMQswCQYDVQQGEwJKUDEY
|
||||||
|
MBYGA1UEChMPU0VDT00gVHJ1c3QubmV0MScwJQYDVQQLEx5TZWN1cml0eSBDb21t
|
||||||
|
dW5pY2F0aW9uIFJvb3RDQTEwHhcNMDMwOTMwMDQyMDQ5WhcNMjMwOTMwMDQyMDQ5
|
||||||
|
WjBQMQswCQYDVQQGEwJKUDEYMBYGA1UEChMPU0VDT00gVHJ1c3QubmV0MScwJQYD
|
||||||
|
VQQLEx5TZWN1cml0eSBDb21tdW5pY2F0aW9uIFJvb3RDQTEwggEiMA0GCSqGSIb3
|
||||||
|
DQEBAQUAA4IBDwAwggEKAoIBAQCzs/5/022x7xZ8V6UMbXaKL0u/ZPtM7orw8yl8
|
||||||
|
9f/uKuDp6bpbZCKamm8sOiZpUQWZJtzVHGpxxpp9Hp3dfGzGjGdnSj74cbAZJ6kJ
|
||||||
|
DKaVv0uMDPpVmDvY6CKhS3E4eayXkmmziX7qIWgGmBSWh9JhNrxtJ1aeV+7AwFb9
|
||||||
|
Ms+k2Y7CI9eNqPPYJayX5HA49LY6tJ07lyZDo6G8SVlyTCMwhwFY9k6+HGhWZq/N
|
||||||
|
QV3Is00qVUarH9oe4kA92819uZKAnDfdDJZkndwi92SL32HeFZRSFaB9UslLqCHJ
|
||||||
|
xrHty8OVYNEP8Ktw+N/LTX7s1vqr2b1/VPKl6Xn62dZ2JChzAgMBAAGjPzA9MB0G
|
||||||
|
A1UdDgQWBBSgc0mZaNyFW2XjmygvV5+9M7wHSDALBgNVHQ8EBAMCAQYwDwYDVR0T
|
||||||
|
AQH/BAUwAwEB/zANBgkqhkiG9w0BAQUFAAOCAQEAaECpqLvkT115swW1F7NgE+vG
|
||||||
|
kl3g0dNq/vu+m22/xwVtWSDEHPC32oRYAmP6SBbvT6UL90qY8j+eG61Ha2POCEfr
|
||||||
|
Uj94nK9NrvjVT8+amCoQQTlSxN3Zmw7vkwGusi7KaEIkQmywszo+zenaSMQVy+n5
|
||||||
|
Bw+SUEmK3TGXX8npN6o7WWWXlDLJs58+OmJYxUmtYg5xpTKqL8aJdkNAExNnPaJU
|
||||||
|
JRDL8Try2frbSVa7pv6nQTXD4IhhyYjH3zYQIphZ6rBK+1YWc26sTfcioU+tHXot
|
||||||
|
RSflMMFe8toTyyVCUZVHA4xsIcx0Qu1T/zOLjw9XARYvz6buyXAiFL39vmwLAw==
|
||||||
|
-----END CERTIFICATE-----
|
||||||
|
|
||||||
# Issuer: CN=XRamp Global Certification Authority O=XRamp Security Services Inc OU=www.xrampsecurity.com
|
# Issuer: CN=XRamp Global Certification Authority O=XRamp Security Services Inc OU=www.xrampsecurity.com
|
||||||
# Subject: CN=XRamp Global Certification Authority O=XRamp Security Services Inc OU=www.xrampsecurity.com
|
# Subject: CN=XRamp Global Certification Authority O=XRamp Security Services Inc OU=www.xrampsecurity.com
|
||||||
# Label: "XRamp Global CA Root"
|
# Label: "XRamp Global CA Root"
|
||||||
|
|
@ -3485,6 +3513,46 @@ DgQWBBQxCpCPtsad0kRLgLWi5h+xEk8blTAKBggqhkjOPQQDAwNoADBlAjEA31SQ
|
||||||
+RHUjE7AwWHCFUyqqx0LMV87HOIAl0Qx5v5zli/altP+CAezNIm8BZ/3Hobui3A=
|
+RHUjE7AwWHCFUyqqx0LMV87HOIAl0Qx5v5zli/altP+CAezNIm8BZ/3Hobui3A=
|
||||||
-----END CERTIFICATE-----
|
-----END CERTIFICATE-----
|
||||||
|
|
||||||
|
# Issuer: CN=GLOBALTRUST 2020 O=e-commerce monitoring GmbH
|
||||||
|
# Subject: CN=GLOBALTRUST 2020 O=e-commerce monitoring GmbH
|
||||||
|
# Label: "GLOBALTRUST 2020"
|
||||||
|
# Serial: 109160994242082918454945253
|
||||||
|
# MD5 Fingerprint: 8a:c7:6f:cb:6d:e3:cc:a2:f1:7c:83:fa:0e:78:d7:e8
|
||||||
|
# SHA1 Fingerprint: d0:67:c1:13:51:01:0c:aa:d0:c7:6a:65:37:31:16:26:4f:53:71:a2
|
||||||
|
# SHA256 Fingerprint: 9a:29:6a:51:82:d1:d4:51:a2:e3:7f:43:9b:74:da:af:a2:67:52:33:29:f9:0f:9a:0d:20:07:c3:34:e2:3c:9a
|
||||||
|
-----BEGIN CERTIFICATE-----
|
||||||
|
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
|
||||||
|
qfrQA71yN2BWHzZ8vTmR9W0Nv3vXkg==
|
||||||
|
-----END CERTIFICATE-----
|
||||||
|
|
||||||
# Issuer: CN=ANF Secure Server Root CA O=ANF Autoridad de Certificacion OU=ANF CA Raiz
|
# Issuer: CN=ANF Secure Server Root CA O=ANF Autoridad de Certificacion OU=ANF CA Raiz
|
||||||
# Subject: CN=ANF Secure Server Root CA O=ANF Autoridad de Certificacion OU=ANF CA Raiz
|
# Subject: CN=ANF Secure Server Root CA O=ANF Autoridad de Certificacion OU=ANF CA Raiz
|
||||||
# Label: "ANF Secure Server Root CA"
|
# Label: "ANF Secure Server Root CA"
|
||||||
|
|
@ -4708,91 +4776,3 @@ lklyALKrdVwPaFsdZcJfMw8eD/A7hvWwTruc9+olBdytoptLFwG+Qt81IR2tq670
|
||||||
v64fG9PiO/yzcnMcmyiQiRM9HcEARwmWmjgb3bHPDcK0RPOWlc4yOo80nOAXx17O
|
v64fG9PiO/yzcnMcmyiQiRM9HcEARwmWmjgb3bHPDcK0RPOWlc4yOo80nOAXx17O
|
||||||
rg3bhzjlP1v9mxnhMUF6cKojawHhRUzNlM47ni3niAIi9G7oyOzWPPO5std3eqx7
|
rg3bhzjlP1v9mxnhMUF6cKojawHhRUzNlM47ni3niAIi9G7oyOzWPPO5std3eqx7
|
||||||
-----END CERTIFICATE-----
|
-----END CERTIFICATE-----
|
||||||
|
|
||||||
# Issuer: CN=Telekom Security TLS ECC Root 2020 O=Deutsche Telekom Security GmbH
|
|
||||||
# Subject: CN=Telekom Security TLS ECC Root 2020 O=Deutsche Telekom Security GmbH
|
|
||||||
# Label: "Telekom Security TLS ECC Root 2020"
|
|
||||||
# Serial: 72082518505882327255703894282316633856
|
|
||||||
# MD5 Fingerprint: c1:ab:fe:6a:10:2c:03:8d:bc:1c:22:32:c0:85:a7:fd
|
|
||||||
# SHA1 Fingerprint: c0:f8:96:c5:a9:3b:01:06:21:07:da:18:42:48:bc:e9:9d:88:d5:ec
|
|
||||||
# SHA256 Fingerprint: 57:8a:f4:de:d0:85:3f:4e:59:98:db:4a:ea:f9:cb:ea:8d:94:5f:60:b6:20:a3:8d:1a:3c:13:b2:bc:7b:a8:e1
|
|
||||||
-----BEGIN CERTIFICATE-----
|
|
||||||
MIICQjCCAcmgAwIBAgIQNjqWjMlcsljN0AFdxeVXADAKBggqhkjOPQQDAzBjMQsw
|
|
||||||
CQYDVQQGEwJERTEnMCUGA1UECgweRGV1dHNjaGUgVGVsZWtvbSBTZWN1cml0eSBH
|
|
||||||
bWJIMSswKQYDVQQDDCJUZWxla29tIFNlY3VyaXR5IFRMUyBFQ0MgUm9vdCAyMDIw
|
|
||||||
MB4XDTIwMDgyNTA3NDgyMFoXDTQ1MDgyNTIzNTk1OVowYzELMAkGA1UEBhMCREUx
|
|
||||||
JzAlBgNVBAoMHkRldXRzY2hlIFRlbGVrb20gU2VjdXJpdHkgR21iSDErMCkGA1UE
|
|
||||||
AwwiVGVsZWtvbSBTZWN1cml0eSBUTFMgRUNDIFJvb3QgMjAyMDB2MBAGByqGSM49
|
|
||||||
AgEGBSuBBAAiA2IABM6//leov9Wq9xCazbzREaK9Z0LMkOsVGJDZos0MKiXrPk/O
|
|
||||||
tdKPD/M12kOLAoC+b1EkHQ9rK8qfwm9QMuU3ILYg/4gND21Ju9sGpIeQkpT0CdDP
|
|
||||||
f8iAC8GXs7s1J8nCG6NCMEAwHQYDVR0OBBYEFONyzG6VmUex5rNhTNHLq+O6zd6f
|
|
||||||
MA8GA1UdEwEB/wQFMAMBAf8wDgYDVR0PAQH/BAQDAgEGMAoGCCqGSM49BAMDA2cA
|
|
||||||
MGQCMHVSi7ekEE+uShCLsoRbQuHmKjYC2qBuGT8lv9pZMo7k+5Dck2TOrbRBR2Di
|
|
||||||
z6fLHgIwN0GMZt9Ba9aDAEH9L1r3ULRn0SyocddDypwnJJGDSA3PzfdUga/sf+Rn
|
|
||||||
27iQ7t0l
|
|
||||||
-----END CERTIFICATE-----
|
|
||||||
|
|
||||||
# Issuer: CN=Telekom Security TLS RSA Root 2023 O=Deutsche Telekom Security GmbH
|
|
||||||
# Subject: CN=Telekom Security TLS RSA Root 2023 O=Deutsche Telekom Security GmbH
|
|
||||||
# Label: "Telekom Security TLS RSA Root 2023"
|
|
||||||
# Serial: 44676229530606711399881795178081572759
|
|
||||||
# MD5 Fingerprint: bf:5b:eb:54:40:cd:48:71:c4:20:8d:7d:de:0a:42:f2
|
|
||||||
# SHA1 Fingerprint: 54:d3:ac:b3:bd:57:56:f6:85:9d:ce:e5:c3:21:e2:d4:ad:83:d0:93
|
|
||||||
# SHA256 Fingerprint: ef:c6:5c:ad:bb:59:ad:b6:ef:e8:4d:a2:23:11:b3:56:24:b7:1b:3b:1e:a0:da:8b:66:55:17:4e:c8:97:86:46
|
|
||||||
-----BEGIN CERTIFICATE-----
|
|
||||||
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
|
|
||||||
dTdmQRCsu/WU48IxK63nI1bMNSWSs1A=
|
|
||||||
-----END CERTIFICATE-----
|
|
||||||
|
|
||||||
# Issuer: CN=FIRMAPROFESIONAL CA ROOT-A WEB O=Firmaprofesional SA
|
|
||||||
# Subject: CN=FIRMAPROFESIONAL CA ROOT-A WEB O=Firmaprofesional SA
|
|
||||||
# Label: "FIRMAPROFESIONAL CA ROOT-A WEB"
|
|
||||||
# Serial: 65916896770016886708751106294915943533
|
|
||||||
# MD5 Fingerprint: 82:b2:ad:45:00:82:b0:66:63:f8:5f:c3:67:4e:ce:a3
|
|
||||||
# SHA1 Fingerprint: a8:31:11:74:a6:14:15:0d:ca:77:dd:0e:e4:0c:5d:58:fc:a0:72:a5
|
|
||||||
# SHA256 Fingerprint: be:f2:56:da:f2:6e:9c:69:bd:ec:16:02:35:97:98:f3:ca:f7:18:21:a0:3e:01:82:57:c5:3c:65:61:7f:3d:4a
|
|
||||||
-----BEGIN CERTIFICATE-----
|
|
||||||
MIICejCCAgCgAwIBAgIQMZch7a+JQn81QYehZ1ZMbTAKBggqhkjOPQQDAzBuMQsw
|
|
||||||
CQYDVQQGEwJFUzEcMBoGA1UECgwTRmlybWFwcm9mZXNpb25hbCBTQTEYMBYGA1UE
|
|
||||||
YQwPVkFURVMtQTYyNjM0MDY4MScwJQYDVQQDDB5GSVJNQVBST0ZFU0lPTkFMIENB
|
|
||||||
IFJPT1QtQSBXRUIwHhcNMjIwNDA2MDkwMTM2WhcNNDcwMzMxMDkwMTM2WjBuMQsw
|
|
||||||
CQYDVQQGEwJFUzEcMBoGA1UECgwTRmlybWFwcm9mZXNpb25hbCBTQTEYMBYGA1UE
|
|
||||||
YQwPVkFURVMtQTYyNjM0MDY4MScwJQYDVQQDDB5GSVJNQVBST0ZFU0lPTkFMIENB
|
|
||||||
IFJPT1QtQSBXRUIwdjAQBgcqhkjOPQIBBgUrgQQAIgNiAARHU+osEaR3xyrq89Zf
|
|
||||||
e9MEkVz6iMYiuYMQYneEMy3pA4jU4DP37XcsSmDq5G+tbbT4TIqk5B/K6k84Si6C
|
|
||||||
cyvHZpsKjECcfIr28jlgst7L7Ljkb+qbXbdTkBgyVcUgt5SjYzBhMA8GA1UdEwEB
|
|
||||||
/wQFMAMBAf8wHwYDVR0jBBgwFoAUk+FDY1w8ndYn81LsF7Kpryz3dvgwHQYDVR0O
|
|
||||||
BBYEFJPhQ2NcPJ3WJ/NS7Beyqa8s93b4MA4GA1UdDwEB/wQEAwIBBjAKBggqhkjO
|
|
||||||
PQQDAwNoADBlAjAdfKR7w4l1M+E7qUW/Runpod3JIha3RxEL2Jq68cgLcFBTApFw
|
|
||||||
hVmpHqTm6iMxoAACMQD94vizrxa5HnPEluPBMBnYfubDl94cT7iJLzPrSA8Z94dG
|
|
||||||
XSaQpYXFuXqUPoeovQA=
|
|
||||||
-----END CERTIFICATE-----
|
|
||||||
|
|
|
||||||
|
|
@ -1,42 +1,73 @@
|
||||||
<MDBottomSheetContent>
|
#:import Window kivy.core.window.Window
|
||||||
size_hint_y: None
|
|
||||||
height: self.minimum_height
|
|
||||||
|
|
||||||
|
|
||||||
<MDBottomSheetDragHandle>
|
<SheetList>
|
||||||
orientation: "vertical"
|
|
||||||
size_hint_y: None
|
|
||||||
height: self.minimum_height
|
|
||||||
padding: "16dp", "8dp", "16dp", "16dp"
|
|
||||||
|
|
||||||
BottomSheetDragHandle:
|
MDGridLayout:
|
||||||
md_bg_color:
|
id: box_sheet_list
|
||||||
app.theme_cls.disabled_hint_text_color \
|
cols: 1
|
||||||
if not root.drag_handle_color else \
|
adaptive_height: True
|
||||||
root.drag_handle_color
|
padding: 0, 0, 0, "96dp"
|
||||||
size_hint: None, None
|
|
||||||
size: "32dp", "4dp"
|
|
||||||
radius: 4
|
|
||||||
pos_hint: {"center_x": .5}
|
|
||||||
|
|
||||||
BottomSheetDragHandleContainer:
|
|
||||||
id: header_container
|
|
||||||
size_hint_y: None
|
|
||||||
height: self.minimum_height
|
|
||||||
|
|
||||||
|
|
||||||
<MDBottomSheet>
|
<MDBottomSheet>
|
||||||
|
md_bg_color: root.value_transparent
|
||||||
|
_upper_padding: _upper_padding
|
||||||
|
_gl_content: _gl_content
|
||||||
|
_position_content: Window.height
|
||||||
|
|
||||||
|
MDBoxLayout:
|
||||||
|
orientation: "vertical"
|
||||||
|
padding: 0, 1, 0, 0
|
||||||
|
|
||||||
|
BsPadding:
|
||||||
|
id: _upper_padding
|
||||||
|
size_hint_y: None
|
||||||
|
height: root.height - min(root.width * 9 / 16, root._gl_content.height)
|
||||||
|
on_release: root.dismiss()
|
||||||
|
|
||||||
|
BottomSheetContent:
|
||||||
|
id: _gl_content
|
||||||
|
size_hint_y: None
|
||||||
|
cols: 1
|
||||||
|
md_bg_color: 0, 0, 0, 0
|
||||||
|
|
||||||
|
canvas:
|
||||||
|
Color:
|
||||||
|
rgba: root.theme_cls.bg_normal if not root.bg_color else root.bg_color
|
||||||
|
RoundedRectangle:
|
||||||
|
pos: self.pos
|
||||||
|
size: self.size
|
||||||
|
radius:
|
||||||
|
[
|
||||||
|
(root.radius, root.radius) if root.radius_from == "top_left" or root.radius_from == "top" else (0, 0),
|
||||||
|
(root.radius, root.radius) if root.radius_from == "top_right" or root.radius_from == "top" else (0, 0),
|
||||||
|
(root.radius, root.radius) if root.radius_from == "bottom_right" or root.radius_from == "bottom" else (0, 0),
|
||||||
|
(root.radius, root.radius) if root.radius_from == "bottom_left" or root.radius_from == "bottom" else (0, 0)
|
||||||
|
]
|
||||||
|
|
||||||
|
|
||||||
|
<ListBottomSheetIconLeft>
|
||||||
|
theme_text_color: "Primary"
|
||||||
|
pos_hint: {"center_x": .5, "center_y": .5}
|
||||||
|
|
||||||
|
|
||||||
|
<GridBottomSheetItem>
|
||||||
orientation: "vertical"
|
orientation: "vertical"
|
||||||
md_bg_color: root.bg_color if root.bg_color else app.theme_cls.bg_darkest
|
padding: 0, dp(24), 0, 0
|
||||||
radius: 16, 16, 0, 0
|
size_hint_y: None
|
||||||
padding: 0, "8dp", 0, 0
|
size: dp(64), dp(96)
|
||||||
|
|
||||||
MDBoxLayout:
|
AnchorLayout:
|
||||||
id: drag_handle_container
|
anchor_x: "center"
|
||||||
size_hint_y: None
|
|
||||||
height: self.minimum_height
|
|
||||||
|
|
||||||
MDBoxLayout:
|
MDIconButton:
|
||||||
id: container
|
icon: root.source
|
||||||
size_hint_y: None
|
user_font_size: root.icon_size
|
||||||
height: self.minimum_height
|
on_release: root.dispatch("on_release")
|
||||||
|
|
||||||
|
MDLabel:
|
||||||
|
font_style: "Caption"
|
||||||
|
theme_text_color: "Secondary"
|
||||||
|
text: root.caption
|
||||||
|
halign: "center"
|
||||||
|
|
|
||||||
|
|
@ -2,7 +2,6 @@
|
||||||
canvas:
|
canvas:
|
||||||
Clear
|
Clear
|
||||||
Color:
|
Color:
|
||||||
group: "bg-color"
|
|
||||||
rgba:
|
rgba:
|
||||||
self._md_bg_color \
|
self._md_bg_color \
|
||||||
if not self.disabled else \
|
if not self.disabled else \
|
||||||
|
|
@ -13,7 +12,6 @@
|
||||||
source: self.source if hasattr(self, "source") else ""
|
source: self.source if hasattr(self, "source") else ""
|
||||||
radius: [root._radius, ]
|
radius: [root._radius, ]
|
||||||
Color:
|
Color:
|
||||||
group: "outline-color"
|
|
||||||
rgba:
|
rgba:
|
||||||
root._line_color \
|
root._line_color \
|
||||||
if not root.disabled else \
|
if not root.disabled else \
|
||||||
|
|
@ -94,11 +92,9 @@
|
||||||
root.theme_cls.disabled_hint_text_color \
|
root.theme_cls.disabled_hint_text_color \
|
||||||
if not root.disabled_color else \
|
if not root.disabled_color else \
|
||||||
root.disabled_color
|
root.disabled_color
|
||||||
# Fix https://github.com/kivymd/KivyMD/issues/1448
|
|
||||||
# TODO: Perhaps this change may affect other widgets.
|
on_icon:
|
||||||
# You need to create tests.
|
if self.icon not in md_icons.keys(): self.size_hint = (1, 1)
|
||||||
# on_icon:
|
|
||||||
# if self.icon not in md_icons.keys(): self.size_hint = (1, 1)
|
|
||||||
theme_text_color: root._theme_icon_color
|
theme_text_color: root._theme_icon_color
|
||||||
|
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -1,38 +1,110 @@
|
||||||
|
<MDScalableCheckIcon>
|
||||||
|
scale_value_x: 0
|
||||||
|
scale_value_y: 0
|
||||||
|
scale_value_z: 0
|
||||||
|
|
||||||
|
|
||||||
<MDChip>
|
<MDChip>
|
||||||
size_hint_y: None
|
size_hint_y: None
|
||||||
height: "32dp"
|
height: "32dp"
|
||||||
|
spacing: "8dp"
|
||||||
adaptive_width: True
|
adaptive_width: True
|
||||||
radius:
|
radius: 16 if self.radius == [0, 0, 0, 0] else self.radius
|
||||||
16 \
|
padding:
|
||||||
if self.radius == [0, 0, 0, 0] else \
|
"12dp" if not self.icon_left else "4dp", \
|
||||||
(max(self.radius) if max(self.radius) < self.height / 2 else 16)
|
0, \
|
||||||
|
"12dp" if not self.icon_right else "8dp", \
|
||||||
|
0
|
||||||
md_bg_color:
|
md_bg_color:
|
||||||
( \
|
|
||||||
( \
|
( \
|
||||||
app.theme_cls.bg_darkest \
|
app.theme_cls.bg_darkest \
|
||||||
if app.theme_cls.theme_style == "Light" else \
|
if app.theme_cls.theme_style == "Light" else \
|
||||||
app.theme_cls.bg_light \
|
app.theme_cls.bg_light \
|
||||||
) \
|
) \
|
||||||
if not self._origin_md_bg_color else \
|
if not self.disabled else app.theme_cls.disabled_hint_text_color
|
||||||
self._origin_md_bg_color
|
|
||||||
) \
|
|
||||||
if not self.disabled else app.theme_cls.disabled_primary_color
|
|
||||||
line_color:
|
|
||||||
app.theme_cls.disabled_hint_text_color \
|
|
||||||
if self.disabled else ( \
|
|
||||||
self._origin_line_color \
|
|
||||||
if self._origin_line_color else \
|
|
||||||
self.line_color \
|
|
||||||
)
|
|
||||||
|
|
||||||
LeadingIconContainer:
|
canvas.before:
|
||||||
id: leading_icon_container
|
Color:
|
||||||
adaptive_width: True
|
rgba:
|
||||||
|
self.line_color \
|
||||||
|
if not self.disabled else \
|
||||||
|
app.theme_cls.disabled_hint_text_color
|
||||||
|
Line:
|
||||||
|
width: 1
|
||||||
|
rounded_rectangle:
|
||||||
|
( \
|
||||||
|
self.x, \
|
||||||
|
self.y, \
|
||||||
|
self.width, \
|
||||||
|
self.height, \
|
||||||
|
*self.radius, \
|
||||||
|
self.height \
|
||||||
|
)
|
||||||
|
|
||||||
LabelTextContainer:
|
MDRelativeLayout:
|
||||||
id: label_container
|
id: relative_box
|
||||||
adaptive_width: True
|
size_hint: None, None
|
||||||
|
size: ("24dp", "24dp") if root.icon_left else (0, 0)
|
||||||
|
pos_hint: {"center_y": .5}
|
||||||
|
radius: [int(self.height / 2),]
|
||||||
|
|
||||||
TrailingIconContainer:
|
MDIcon:
|
||||||
id: trailing_icon_container
|
id: icon_left
|
||||||
adaptive_width: True
|
icon: root.icon_left
|
||||||
|
size_hint: None, None
|
||||||
|
size: ("28dp", "28dp") if root.icon_left else (0, 0)
|
||||||
|
theme_text_color: "Custom"
|
||||||
|
pos_hint: {"center_y": .5}
|
||||||
|
pos: 0, -2
|
||||||
|
text_color:
|
||||||
|
( \
|
||||||
|
root.icon_left_color \
|
||||||
|
if root.icon_left_color else \
|
||||||
|
root.theme_cls.disabled_hint_text_color \
|
||||||
|
) \
|
||||||
|
if not self.disabled else app.theme_cls.disabled_hint_text_color
|
||||||
|
|
||||||
|
MDBoxLayout:
|
||||||
|
id: icon_left_box
|
||||||
|
size_hint: None, None
|
||||||
|
radius: [int(self.height / 2),]
|
||||||
|
size: ("28dp", "28dp") if root.icon_left else (0, 0)
|
||||||
|
pos: 0, -2
|
||||||
|
|
||||||
|
MDScalableCheckIcon:
|
||||||
|
id: check_icon
|
||||||
|
icon: "check"
|
||||||
|
size_hint: None, None
|
||||||
|
size: "28dp", "28dp"
|
||||||
|
color: (1, 1, 1, 1) if not root.icon_check_color else root.icon_check_color
|
||||||
|
pos: 2, -2
|
||||||
|
|
||||||
|
MDLabel:
|
||||||
|
id: label
|
||||||
|
text: root.text
|
||||||
|
adaptive_size: True
|
||||||
|
markup: True
|
||||||
|
pos_hint: {"center_y": .5}
|
||||||
|
color:
|
||||||
|
( \
|
||||||
|
root.text_color \
|
||||||
|
if root.text_color else \
|
||||||
|
root.theme_cls.disabled_hint_text_color \
|
||||||
|
) \
|
||||||
|
if not self.disabled else app.theme_cls.disabled_hint_text_color
|
||||||
|
|
||||||
|
MDIcon:
|
||||||
|
id: icon_right
|
||||||
|
icon: root.icon_right
|
||||||
|
size_hint: None, None
|
||||||
|
size: ("18dp", "18dp") if root.icon_right else (0, 0)
|
||||||
|
font_size: "18sp" if root.icon_right else 0
|
||||||
|
theme_text_color: "Custom"
|
||||||
|
pos_hint: {"center_y": .5}
|
||||||
|
text_color:
|
||||||
|
( \
|
||||||
|
root.icon_right_color \
|
||||||
|
if root.icon_right_color else \
|
||||||
|
root.theme_cls.disabled_hint_text_color \
|
||||||
|
) \
|
||||||
|
if not self.disabled else app.theme_cls.disabled_hint_text_color
|
||||||
|
|
|
||||||
|
|
@ -231,11 +231,4 @@
|
||||||
id: container
|
id: container
|
||||||
orientation: "vertical"
|
orientation: "vertical"
|
||||||
elevation: root.elevation
|
elevation: root.elevation
|
||||||
shadow_radius: root.shadow_radius
|
|
||||||
shadow_softness: root.shadow_softness
|
|
||||||
shadow_offset: root.shadow_offset
|
|
||||||
shadow_color: root.shadow_color
|
|
||||||
shadow_color: root.shadow_color
|
|
||||||
shadow_softness_size: root.shadow_softness_size
|
|
||||||
padding: "24dp", "24dp", "8dp", "8dp"
|
padding: "24dp", "24dp", "8dp", "8dp"
|
||||||
md_bg_color: app.theme_cls.bg_normal
|
|
||||||
|
|
|
||||||
|
|
@ -1,6 +1,4 @@
|
||||||
#:import os os
|
#:import os os
|
||||||
#:import FILE_MANAGER_TOP_APP_BAR_ELEVATION kivymd.material_resources.FILE_MANAGER_TOP_APP_BAR_ELEVATION
|
|
||||||
|
|
||||||
|
|
||||||
<BodyManager>
|
<BodyManager>
|
||||||
icon: "folder"
|
icon: "folder"
|
||||||
|
|
@ -76,7 +74,7 @@
|
||||||
title: root.current_path
|
title: root.current_path
|
||||||
right_action_items: [["close-box", lambda x: root.exit_manager(1)]]
|
right_action_items: [["close-box", lambda x: root.exit_manager(1)]]
|
||||||
left_action_items: [["chevron-left", lambda x: root.back()]]
|
left_action_items: [["chevron-left", lambda x: root.back()]]
|
||||||
elevation: FILE_MANAGER_TOP_APP_BAR_ELEVATION
|
elevation: 3
|
||||||
md_bg_color:
|
md_bg_color:
|
||||||
app.theme_cls.primary_color \
|
app.theme_cls.primary_color \
|
||||||
if not root.background_color_toolbar else \
|
if not root.background_color_toolbar else \
|
||||||
|
|
|
||||||
|
|
@ -13,7 +13,6 @@
|
||||||
(0, 0)
|
(0, 0)
|
||||||
on_release: root.dispatch("on_release")
|
on_release: root.dispatch("on_release")
|
||||||
on_press: root.dispatch("on_press")
|
on_press: root.dispatch("on_press")
|
||||||
_no_ripple_effect: root._no_ripple_effect
|
|
||||||
|
|
||||||
SmartTileOverlayBox:
|
SmartTileOverlayBox:
|
||||||
id: box
|
id: box
|
||||||
|
|
|
||||||
|
|
@ -3,10 +3,12 @@
|
||||||
|
|
||||||
<MDLabel>
|
<MDLabel>
|
||||||
disabled_color: self.theme_cls.disabled_hint_text_color
|
disabled_color: self.theme_cls.disabled_hint_text_color
|
||||||
text_size:
|
# FIXME: Overriding the values of this property greatly affects application
|
||||||
(self.width if not self.adaptive_width else None) \
|
# performance. Especially when the application window is resized and a
|
||||||
if not self.adaptive_size else None, \
|
# custom font is used. Performance is especially slow when you are using
|
||||||
None
|
# `PIL` as your text processing provider - os.environ ['KIVY_TEXT'] = 'pil'.
|
||||||
|
# Priority - CRITICAL.
|
||||||
|
text_size: self.width, None
|
||||||
|
|
||||||
|
|
||||||
<MDIcon>:
|
<MDIcon>:
|
||||||
|
|
@ -14,7 +16,6 @@
|
||||||
Color:
|
Color:
|
||||||
rgba: (1, 1, 1, 1) if self.source else (0, 0, 0, 0)
|
rgba: (1, 1, 1, 1) if self.source else (0, 0, 0, 0)
|
||||||
Rectangle:
|
Rectangle:
|
||||||
group: "rectangle"
|
|
||||||
source: self.source if self.source else None
|
source: self.source if self.source else None
|
||||||
pos:
|
pos:
|
||||||
self.pos \
|
self.pos \
|
||||||
|
|
@ -31,7 +32,6 @@
|
||||||
|
|
||||||
# Badge icon.
|
# Badge icon.
|
||||||
MDLabel:
|
MDLabel:
|
||||||
id: badge
|
|
||||||
font_style: "Icon"
|
font_style: "Icon"
|
||||||
adaptive_size: True
|
adaptive_size: True
|
||||||
opposite_icon_color: True
|
opposite_icon_color: True
|
||||||
|
|
@ -62,7 +62,6 @@
|
||||||
if root.badge_icon else \
|
if root.badge_icon else \
|
||||||
(0, 0, 0, 0)
|
(0, 0, 0, 0)
|
||||||
RoundedRectangle:
|
RoundedRectangle:
|
||||||
group: "badge"
|
|
||||||
radius: [self.width / 2,]
|
radius: [self.width / 2,]
|
||||||
pos: self.pos
|
pos: self.pos
|
||||||
size: self.size
|
size: self.size
|
||||||
|
|
|
||||||
|
|
@ -1,9 +1,26 @@
|
||||||
|
#:import STANDARD_INCREMENT kivymd.material_resources.STANDARD_INCREMENT
|
||||||
|
|
||||||
|
|
||||||
|
<RightContent>
|
||||||
|
adaptive_width: True
|
||||||
|
|
||||||
|
|
||||||
|
<MDMenuItemIcon>
|
||||||
|
|
||||||
|
IconLeftWidget:
|
||||||
|
id: icon_widget
|
||||||
|
icon: root.icon
|
||||||
|
|
||||||
|
|
||||||
<MDMenu>
|
<MDMenu>
|
||||||
|
size_hint: None, None
|
||||||
|
width: root.width_mult * STANDARD_INCREMENT
|
||||||
bar_width: 0
|
bar_width: 0
|
||||||
key_viewclass: "viewclass"
|
key_viewclass: "viewclass"
|
||||||
key_size: "height"
|
key_size: "height"
|
||||||
|
|
||||||
RecycleBoxLayout:
|
RecycleBoxLayout:
|
||||||
|
padding: 0, "4dp", 0, "4dp"
|
||||||
default_size: None, dp(48)
|
default_size: None, dp(48)
|
||||||
default_size_hint: 1, None
|
default_size_hint: 1, None
|
||||||
size_hint_y: None
|
size_hint_y: None
|
||||||
|
|
@ -11,478 +28,32 @@
|
||||||
orientation: "vertical"
|
orientation: "vertical"
|
||||||
|
|
||||||
|
|
||||||
<MDDropdownTrailingTextItem>
|
<MenuContainer@MDCard>
|
||||||
orientation: "vertical"
|
|
||||||
|
|
||||||
MDBoxLayout:
|
|
||||||
id: container
|
|
||||||
spacing: "12dp"
|
|
||||||
padding: "12dp", 0, "12dp", 0
|
|
||||||
|
|
||||||
MDLabel:
|
|
||||||
text: root.text
|
|
||||||
pos_hint: {"center_y": .5}
|
|
||||||
theme_text_color: "Custom" if root.text_color else "Primary"
|
|
||||||
shorten: True
|
|
||||||
shorten_from: "right"
|
|
||||||
size_hint_x: None
|
|
||||||
width:
|
|
||||||
root.width - \
|
|
||||||
( \
|
|
||||||
+ trailing_container.width \
|
|
||||||
+ container.padding[0] \
|
|
||||||
+ container.padding[2] \
|
|
||||||
+ container.spacing \
|
|
||||||
)
|
|
||||||
text_color:
|
|
||||||
root.text_color \
|
|
||||||
if root.text_color else \
|
|
||||||
app.theme_cls.text_color
|
|
||||||
|
|
||||||
MDTrailingTextContainer:
|
|
||||||
id: trailing_container
|
|
||||||
text: root.trailing_text
|
|
||||||
adaptive_width: True
|
|
||||||
theme_text_color: "Custom" if root.trailing_text_color else "Primary"
|
|
||||||
text_color:
|
|
||||||
root.trailing_text_color \
|
|
||||||
if root.trailing_text_color else \
|
|
||||||
app.theme_cls.text_color
|
|
||||||
|
|
||||||
MDSeparator:
|
|
||||||
md_bg_color:
|
|
||||||
( \
|
|
||||||
self.theme_cls.divider_color \
|
|
||||||
if not root.divider_color \
|
|
||||||
else root.divider_color \
|
|
||||||
) \
|
|
||||||
if root.divider else \
|
|
||||||
(0, 0, 0, 0)
|
|
||||||
|
|
||||||
|
|
||||||
<MDDropdownLeadingIconTrailingTextItem>
|
|
||||||
orientation: "vertical"
|
|
||||||
|
|
||||||
MDBoxLayout:
|
|
||||||
id: container
|
|
||||||
spacing: "12dp"
|
|
||||||
padding: "10dp", 0, "16dp", 0
|
|
||||||
|
|
||||||
MDIcon:
|
|
||||||
id: leading_icon
|
|
||||||
icon: root.leading_icon
|
|
||||||
size_hint: None, None
|
|
||||||
size: "48dp", "48dp"
|
|
||||||
pos_hint: {"center_y": .5}
|
|
||||||
theme_text_color: "Custom" if root.leading_icon_color else "Primary"
|
|
||||||
text_color:
|
|
||||||
root.leading_icon_color \
|
|
||||||
if root.leading_icon_color else \
|
|
||||||
app.theme_cls.text_color
|
|
||||||
|
|
||||||
MDLabel:
|
|
||||||
text: root.text
|
|
||||||
pos_hint: {"center_y": .5}
|
|
||||||
theme_text_color: "Custom" if root.text_color else "Primary"
|
|
||||||
shorten: True
|
|
||||||
shorten_from: "right"
|
|
||||||
size_hint_x: None
|
|
||||||
width:
|
|
||||||
root.width - \
|
|
||||||
( \
|
|
||||||
leading_icon.width \
|
|
||||||
+ trailing_container.width \
|
|
||||||
+ container.padding[0] \
|
|
||||||
+ container.padding[2] \
|
|
||||||
+ container.spacing \
|
|
||||||
+ dp(18) \
|
|
||||||
)
|
|
||||||
text_color:
|
|
||||||
root.text_color \
|
|
||||||
if root.text_color else \
|
|
||||||
app.theme_cls.text_color
|
|
||||||
|
|
||||||
Widget:
|
|
||||||
|
|
||||||
MDTrailingTextContainer:
|
|
||||||
id: trailing_container
|
|
||||||
text: root.trailing_text
|
|
||||||
adaptive_width: True
|
|
||||||
theme_text_color: "Custom" if root.trailing_text_color else "Primary"
|
|
||||||
text_color:
|
|
||||||
root.trailing_text_color \
|
|
||||||
if root.trailing_text_color else \
|
|
||||||
app.theme_cls.text_color
|
|
||||||
|
|
||||||
MDSeparator:
|
|
||||||
md_bg_color:
|
|
||||||
( \
|
|
||||||
self.theme_cls.divider_color \
|
|
||||||
if not root.divider_color \
|
|
||||||
else root.divider_color \
|
|
||||||
) \
|
|
||||||
if root.divider else \
|
|
||||||
(0, 0, 0, 0)
|
|
||||||
|
|
||||||
|
|
||||||
<MDDropdownTrailingIconItem>
|
|
||||||
orientation: "vertical"
|
|
||||||
|
|
||||||
MDBoxLayout:
|
|
||||||
id: container
|
|
||||||
spacing: "12dp"
|
|
||||||
padding: "12dp", 0, "12dp", 0
|
|
||||||
|
|
||||||
MDLabel:
|
|
||||||
id: label
|
|
||||||
text: root.text
|
|
||||||
shorten: True
|
|
||||||
size_hint_x: None
|
|
||||||
shorten_from: "right"
|
|
||||||
pos_hint: {"center_y": .5}
|
|
||||||
theme_text_color: "Custom" if root.text_color else "Primary"
|
|
||||||
shorten: True
|
|
||||||
shorten_from: "right"
|
|
||||||
width:
|
|
||||||
root.width - \
|
|
||||||
( \
|
|
||||||
+ trailing_icon.width \
|
|
||||||
+ container.padding[0] \
|
|
||||||
+ container.padding[2] \
|
|
||||||
+ container.spacing \
|
|
||||||
+ dp(18) \
|
|
||||||
)
|
|
||||||
text_color:
|
|
||||||
root.text_color \
|
|
||||||
if root.text_color else \
|
|
||||||
app.theme_cls.text_color
|
|
||||||
|
|
||||||
Widget:
|
|
||||||
|
|
||||||
MDIcon:
|
|
||||||
id: trailing_icon
|
|
||||||
size_hint: None, None
|
|
||||||
size: "48dp", "48dp"
|
|
||||||
pos_hint: {"center_y": .5}
|
|
||||||
icon: root.trailing_icon
|
|
||||||
theme_text_color: "Custom" if root.trailing_icon_color else "Primary"
|
|
||||||
text_color:
|
|
||||||
root.trailing_icon_color \
|
|
||||||
if root.trailing_icon_color else \
|
|
||||||
app.theme_cls.text_color
|
|
||||||
|
|
||||||
MDSeparator:
|
|
||||||
md_bg_color:
|
|
||||||
( \
|
|
||||||
self.theme_cls.divider_color \
|
|
||||||
if not root.divider_color \
|
|
||||||
else root.divider_color \
|
|
||||||
) \
|
|
||||||
if root.divider else \
|
|
||||||
(0, 0, 0, 0)
|
|
||||||
|
|
||||||
|
|
||||||
<MDTrailingIconTextContainer>
|
|
||||||
adaptive_width: True
|
|
||||||
|
|
||||||
MDIcon:
|
|
||||||
icon: root.trailing_icon
|
|
||||||
size_hint: None, None
|
|
||||||
size: "48dp", "48dp"
|
|
||||||
pos_hint: {"center_y": .5}
|
|
||||||
theme_text_color: "Custom" if root.trailing_icon_color else "Primary"
|
|
||||||
text_color:
|
|
||||||
root.trailing_icon_color \
|
|
||||||
if root.trailing_icon_color else \
|
|
||||||
app.theme_cls.text_color
|
|
||||||
|
|
||||||
MDLabel:
|
|
||||||
text: root.trailing_text
|
|
||||||
adaptive_size: True
|
|
||||||
pos_hint: {"center_y": .5}
|
|
||||||
theme_text_color: "Custom" if root.trailing_text_color else "Primary"
|
|
||||||
text_color:
|
|
||||||
root.trailing_text_color \
|
|
||||||
if root.trailing_text_color else \
|
|
||||||
app.theme_cls.text_color
|
|
||||||
|
|
||||||
|
|
||||||
<MDDropdownTrailingIconTextItem>
|
|
||||||
orientation: "vertical"
|
|
||||||
|
|
||||||
MDBoxLayout:
|
|
||||||
id: container
|
|
||||||
spacing: "12dp"
|
|
||||||
padding: "12dp", 0, "12dp", 0
|
|
||||||
|
|
||||||
MDLabel:
|
|
||||||
id: label
|
|
||||||
text: root.text
|
|
||||||
shorten: True
|
|
||||||
size_hint_x: None
|
|
||||||
shorten_from: "right"
|
|
||||||
pos_hint: {"center_y": .5}
|
|
||||||
theme_text_color: "Custom" if root.text_color else "Primary"
|
|
||||||
shorten: True
|
|
||||||
shorten_from: "right"
|
|
||||||
width:
|
|
||||||
root.width - \
|
|
||||||
( \
|
|
||||||
+ trailing_container.width \
|
|
||||||
+ container.padding[0] \
|
|
||||||
+ container.padding[2] \
|
|
||||||
+ container.spacing \
|
|
||||||
)
|
|
||||||
text_color:
|
|
||||||
root.text_color \
|
|
||||||
if root.text_color else \
|
|
||||||
app.theme_cls.text_color
|
|
||||||
|
|
||||||
MDTrailingIconTextContainer:
|
|
||||||
id: trailing_container
|
|
||||||
trailing_icon: root.trailing_icon
|
|
||||||
trailing_text: root.trailing_text
|
|
||||||
trailing_text_color: root.trailing_text_color
|
|
||||||
trailing_icon_color: root.trailing_icon_color
|
|
||||||
|
|
||||||
MDSeparator:
|
|
||||||
md_bg_color:
|
|
||||||
( \
|
|
||||||
self.theme_cls.divider_color \
|
|
||||||
if not root.divider_color \
|
|
||||||
else root.divider_color \
|
|
||||||
) \
|
|
||||||
if root.divider else \
|
|
||||||
(0, 0, 0, 0)
|
|
||||||
|
|
||||||
|
|
||||||
<MDDropdownTextItem>
|
|
||||||
orientation: "vertical"
|
|
||||||
|
|
||||||
MDLabel:
|
|
||||||
text: root.text
|
|
||||||
valign: "center"
|
|
||||||
padding_x: "12dp"
|
|
||||||
theme_text_color: "Custom" if root.text_color else "Primary"
|
|
||||||
shorten: True
|
|
||||||
shorten_from: "right"
|
|
||||||
text_color:
|
|
||||||
root.text_color \
|
|
||||||
if root.text_color else \
|
|
||||||
app.theme_cls.text_color
|
|
||||||
|
|
||||||
MDSeparator:
|
|
||||||
md_bg_color:
|
|
||||||
( \
|
|
||||||
self.theme_cls.divider_color \
|
|
||||||
if not root.divider_color \
|
|
||||||
else root.divider_color \
|
|
||||||
) \
|
|
||||||
if root.divider else \
|
|
||||||
(0, 0, 0, 0)
|
|
||||||
|
|
||||||
|
|
||||||
<MDDropdownLeadingTrailingIconTextItem>
|
|
||||||
orientation: "vertical"
|
|
||||||
|
|
||||||
MDBoxLayout:
|
|
||||||
id: container
|
|
||||||
spacing: "12dp"
|
|
||||||
padding: "10dp", 0, "16dp", 0
|
|
||||||
|
|
||||||
MDIcon:
|
|
||||||
id: leading_icon
|
|
||||||
icon: root.leading_icon
|
|
||||||
size_hint: None, None
|
|
||||||
size: "48dp", "48dp"
|
|
||||||
pos_hint: {"center_y": .5}
|
|
||||||
theme_text_color: "Custom" if root.leading_icon_color else "Primary"
|
|
||||||
text_color:
|
|
||||||
root.leading_icon_color \
|
|
||||||
if root.leading_icon_color else \
|
|
||||||
app.theme_cls.text_color
|
|
||||||
|
|
||||||
MDLabel:
|
|
||||||
text: root.text
|
|
||||||
pos_hint: {"center_y": .5}
|
|
||||||
theme_text_color: "Custom" if root.text_color else "Primary"
|
|
||||||
shorten: True
|
|
||||||
shorten_from: "right"
|
|
||||||
size_hint_x: None
|
|
||||||
width:
|
|
||||||
root.width - \
|
|
||||||
( \
|
|
||||||
leading_icon.width \
|
|
||||||
+ trailing_container.width \
|
|
||||||
+ container.padding[0] \
|
|
||||||
+ container.padding[2] \
|
|
||||||
+ container.spacing \
|
|
||||||
+ dp(18) \
|
|
||||||
)
|
|
||||||
text_color:
|
|
||||||
root.text_color \
|
|
||||||
if root.text_color else \
|
|
||||||
app.theme_cls.text_color
|
|
||||||
|
|
||||||
Widget:
|
|
||||||
|
|
||||||
MDTrailingIconTextContainer:
|
|
||||||
id: trailing_container
|
|
||||||
trailing_icon: root.trailing_icon
|
|
||||||
trailing_text: root.trailing_text
|
|
||||||
trailing_icon_color: root.trailing_icon_color
|
|
||||||
trailing_text_color: root.trailing_text_color
|
|
||||||
|
|
||||||
MDSeparator:
|
|
||||||
md_bg_color:
|
|
||||||
( \
|
|
||||||
self.theme_cls.divider_color \
|
|
||||||
if not root.divider_color \
|
|
||||||
else root.divider_color \
|
|
||||||
) \
|
|
||||||
if root.divider else \
|
|
||||||
(0, 0, 0, 0)
|
|
||||||
|
|
||||||
|
|
||||||
<MDDropdownLeadingTrailingIconItem>
|
|
||||||
orientation: "vertical"
|
|
||||||
|
|
||||||
MDBoxLayout:
|
|
||||||
id: container
|
|
||||||
spacing: "12dp"
|
|
||||||
padding: "10dp", 0, "12dp", 0
|
|
||||||
|
|
||||||
MDIcon:
|
|
||||||
id: leading_icon
|
|
||||||
icon: root.leading_icon
|
|
||||||
size_hint: None, None
|
|
||||||
size: "48dp", "48dp"
|
|
||||||
pos_hint: {"center_y": .5}
|
|
||||||
theme_text_color: "Custom" if root.leading_icon_color else "Primary"
|
|
||||||
text_color:
|
|
||||||
root.leading_icon_color \
|
|
||||||
if root.leading_icon_color else \
|
|
||||||
app.theme_cls.text_color
|
|
||||||
|
|
||||||
MDLabel:
|
|
||||||
id: label
|
|
||||||
text: root.text
|
|
||||||
shorten: True
|
|
||||||
size_hint_x: None
|
|
||||||
shorten_from: "right"
|
|
||||||
pos_hint: {"center_y": .5}
|
|
||||||
theme_text_color: "Custom" if root.text_color else "Primary"
|
|
||||||
shorten: True
|
|
||||||
shorten_from: "right"
|
|
||||||
width:
|
|
||||||
root.width - \
|
|
||||||
( \
|
|
||||||
leading_icon.width \
|
|
||||||
+ trailing_icon.width \
|
|
||||||
+ container.padding[0] \
|
|
||||||
+ container.padding[2] \
|
|
||||||
+ container.spacing \
|
|
||||||
+ dp(18) \
|
|
||||||
)
|
|
||||||
text_color:
|
|
||||||
root.text_color \
|
|
||||||
if root.text_color else \
|
|
||||||
app.theme_cls.text_color
|
|
||||||
|
|
||||||
Widget:
|
|
||||||
|
|
||||||
MDIcon:
|
|
||||||
id: trailing_icon
|
|
||||||
size_hint: None, None
|
|
||||||
size: "48dp", "48dp"
|
|
||||||
pos_hint: {"center_y": .5}
|
|
||||||
icon: root.trailing_icon
|
|
||||||
theme_text_color: "Custom" if root.trailing_icon_color else "Primary"
|
|
||||||
text_color:
|
|
||||||
root.trailing_icon_color \
|
|
||||||
if root.trailing_icon_color else \
|
|
||||||
app.theme_cls.text_color
|
|
||||||
|
|
||||||
MDSeparator:
|
|
||||||
md_bg_color:
|
|
||||||
( \
|
|
||||||
self.theme_cls.divider_color \
|
|
||||||
if not root.divider_color \
|
|
||||||
else root.divider_color \
|
|
||||||
) \
|
|
||||||
if root.divider else \
|
|
||||||
(0, 0, 0, 0)
|
|
||||||
|
|
||||||
|
|
||||||
<MDDropdownLeadingIconItem>
|
|
||||||
orientation: "vertical"
|
|
||||||
|
|
||||||
MDBoxLayout:
|
|
||||||
id: container
|
|
||||||
spacing: "12dp"
|
|
||||||
padding: "12dp", 0, "12dp", 0
|
|
||||||
|
|
||||||
MDIcon:
|
|
||||||
id: leading_icon
|
|
||||||
icon: root.leading_icon
|
|
||||||
size_hint: None, None
|
|
||||||
size: "48dp", "48dp"
|
|
||||||
pos_hint: {"center_y": .5}
|
|
||||||
theme_text_color: "Custom" if root.leading_icon_color else "Primary"
|
|
||||||
text_color:
|
|
||||||
root.leading_icon_color \
|
|
||||||
if root.leading_icon_color else \
|
|
||||||
app.theme_cls.text_color
|
|
||||||
|
|
||||||
MDLabel:
|
|
||||||
id: label
|
|
||||||
text: root.text
|
|
||||||
shorten: True
|
|
||||||
size_hint_x: None
|
|
||||||
shorten_from: "right"
|
|
||||||
pos_hint: {"center_y": .5}
|
|
||||||
theme_text_color: "Custom" if root.text_color else "Primary"
|
|
||||||
shorten: True
|
|
||||||
shorten_from: "right"
|
|
||||||
width:
|
|
||||||
root.width - \
|
|
||||||
( \
|
|
||||||
leading_icon.width \
|
|
||||||
+ container.padding[0] \
|
|
||||||
+ container.padding[2] \
|
|
||||||
+ container.spacing \
|
|
||||||
)
|
|
||||||
text_color:
|
|
||||||
root.text_color \
|
|
||||||
if root.text_color else \
|
|
||||||
app.theme_cls.text_color
|
|
||||||
|
|
||||||
MDSeparator:
|
|
||||||
md_bg_color:
|
|
||||||
( \
|
|
||||||
self.theme_cls.divider_color \
|
|
||||||
if not root.divider_color \
|
|
||||||
else root.divider_color \
|
|
||||||
) \
|
|
||||||
if root.divider else \
|
|
||||||
(0, 0, 0, 0)
|
|
||||||
|
|
||||||
|
|
||||||
<MDDropdownMenu>
|
<MDDropdownMenu>
|
||||||
orientation: "vertical"
|
|
||||||
elevation: root.elevation
|
|
||||||
shadow_radius: root.shadow_radius
|
|
||||||
shadow_softness: root.shadow_softness
|
|
||||||
shadow_offset: root.shadow_offset
|
|
||||||
shadow_color: root.shadow_color
|
|
||||||
shadow_color: root.shadow_color
|
|
||||||
radius: root.radius
|
|
||||||
size_hint: None, None
|
|
||||||
|
|
||||||
MDBoxLayout:
|
MenuContainer:
|
||||||
id: content_header
|
id: card
|
||||||
adaptive_size: True
|
orientation: "vertical"
|
||||||
|
elevation: root.elevation
|
||||||
|
size_hint: None, None
|
||||||
|
size: md_menu.size[0], md_menu.size[1] + content_header.height
|
||||||
|
pos: md_menu.pos
|
||||||
|
opacity: md_menu.opacity
|
||||||
|
radius: root.radius
|
||||||
|
md_bg_color:
|
||||||
|
root.background_color \
|
||||||
|
if root.background_color else root.theme_cls.bg_dark
|
||||||
|
|
||||||
MDMenu:
|
MDBoxLayout:
|
||||||
id: md_menu
|
id: content_header
|
||||||
drop_cls: root
|
adaptive_size: True
|
||||||
|
|
||||||
|
MDMenu:
|
||||||
|
id: md_menu
|
||||||
|
drop_cls: root
|
||||||
|
width_mult: root.width_mult
|
||||||
|
size_hint: None, None
|
||||||
|
size: 0, 0
|
||||||
|
opacity: 0
|
||||||
|
|
|
||||||
|
|
@ -371,7 +371,6 @@
|
||||||
adaptive_height: True
|
adaptive_height: True
|
||||||
size_hint_x: None
|
size_hint_x: None
|
||||||
spacing: dp(8)
|
spacing: dp(8)
|
||||||
opacity: 0
|
|
||||||
width:
|
width:
|
||||||
self.owner.width - dp(48) \
|
self.owner.width - dp(48) \
|
||||||
if root.owner.theme_cls.device_orientation == "portrait" \
|
if root.owner.theme_cls.device_orientation == "portrait" \
|
||||||
|
|
@ -387,6 +386,7 @@
|
||||||
|
|
||||||
<DatePickerInputField>
|
<DatePickerInputField>
|
||||||
mode: "fill"
|
mode: "fill"
|
||||||
|
opacity: 0
|
||||||
hint_text: "dd/mm/yyyy"
|
hint_text: "dd/mm/yyyy"
|
||||||
input_filter: root.input_filter
|
input_filter: root.input_filter
|
||||||
fill_color: root.owner.input_field_background_color or (0, 0, 0, .15)
|
fill_color: root.owner.input_field_background_color or (0, 0, 0, .15)
|
||||||
|
|
|
||||||
|
|
@ -6,8 +6,7 @@
|
||||||
self.theme_cls.divider_color \
|
self.theme_cls.divider_color \
|
||||||
if not self.back_color else \
|
if not self.back_color else \
|
||||||
self.back_color
|
self.back_color
|
||||||
RoundedRectangle:
|
Rectangle:
|
||||||
radius: root.radius
|
|
||||||
size:
|
size:
|
||||||
(self.width, self.height) \
|
(self.width, self.height) \
|
||||||
if self.orientation == "horizontal" else \
|
if self.orientation == "horizontal" else \
|
||||||
|
|
@ -19,8 +18,7 @@
|
||||||
Color:
|
Color:
|
||||||
rgba:
|
rgba:
|
||||||
self.theme_cls.primary_color if not self.color else self.color
|
self.theme_cls.primary_color if not self.color else self.color
|
||||||
RoundedRectangle:
|
Rectangle:
|
||||||
radius: root.radius
|
|
||||||
size:
|
size:
|
||||||
(self.width * self.value_normalized, self.height if self.height else dp(4)) \
|
(self.width * self.value_normalized, self.height if self.height else dp(4)) \
|
||||||
if self.orientation == "horizontal" else \
|
if self.orientation == "horizontal" else \
|
||||||
|
|
|
||||||
|
|
@ -15,7 +15,7 @@
|
||||||
canvas:
|
canvas:
|
||||||
Clear
|
Clear
|
||||||
Color:
|
Color:
|
||||||
rgba: root.circle_color
|
rgba: root.theme_cls.primary_dark
|
||||||
Ellipse:
|
Ellipse:
|
||||||
pos: self.pos
|
pos: self.pos
|
||||||
size: self.size
|
size: self.size
|
||||||
|
|
@ -24,4 +24,4 @@
|
||||||
id: spinner
|
id: spinner
|
||||||
size_hint: None, None
|
size_hint: None, None
|
||||||
size: dp(30), dp(30)
|
size: dp(30), dp(30)
|
||||||
color: root.spinner_color
|
color: 1, 1, 1, 1
|
||||||
|
|
|
||||||
|
|
@ -1,32 +0,0 @@
|
||||||
<MDSegmentedButton>
|
|
||||||
size_hint: None, None
|
|
||||||
height: "40dp"
|
|
||||||
opacity: 0
|
|
||||||
|
|
||||||
|
|
||||||
<MDSegmentedButtonItem>
|
|
||||||
size_hint: None, None
|
|
||||||
height: self.parent.height
|
|
||||||
line_color:
|
|
||||||
self.theme_cls.disabled_hint_text_color \
|
|
||||||
if self.parent.line_color == [0, 0, 0, 0] else \
|
|
||||||
self.parent.line_color
|
|
||||||
|
|
||||||
SegmentButtonIcon:
|
|
||||||
id: scale_icon
|
|
||||||
icon: root.icon
|
|
||||||
size_hint: None, None
|
|
||||||
size: "24dp", "24dp"
|
|
||||||
pos_hint: {"center_y": .5}
|
|
||||||
scale_value_x: 1 if root.icon else 0
|
|
||||||
scale_value_y: 1 if root.icon else 0
|
|
||||||
x: label_text.x - dp(32)
|
|
||||||
|
|
||||||
MDLabel:
|
|
||||||
id: label_text
|
|
||||||
text: root.text
|
|
||||||
adaptive_size: True
|
|
||||||
pos_hint: {"center_y": .5}
|
|
||||||
x:
|
|
||||||
root.center_x - (self.texture_size[0] / 2) \
|
|
||||||
+ (dp(16) if root.icon else 0)
|
|
||||||
|
|
@ -1,6 +1,3 @@
|
||||||
#:import SEGMENT_CONTROL_SEGMENT_SWITCH_ELEVATION kivymd.material_resources.SEGMENT_CONTROL_SEGMENT_SWITCH_ELEVATION
|
|
||||||
|
|
||||||
|
|
||||||
<MDSegmentedControlItem>
|
<MDSegmentedControlItem>
|
||||||
adaptive_height: True
|
adaptive_height: True
|
||||||
halign: "center"
|
halign: "center"
|
||||||
|
|
@ -18,9 +15,8 @@
|
||||||
pos_hint: {"center_y": .5}
|
pos_hint: {"center_y": .5}
|
||||||
x: root._segment_switch_x
|
x: root._segment_switch_x
|
||||||
md_bg_color: root.segment_color
|
md_bg_color: root.segment_color
|
||||||
elevation: SEGMENT_CONTROL_SEGMENT_SWITCH_ELEVATION
|
elevation: 2
|
||||||
_radius: root.radius[0] - 4
|
_radius: root.radius[0] - 4
|
||||||
shadow_radius: self._radius
|
|
||||||
width:
|
width:
|
||||||
segment_panel.width / segment_panel.children_number \
|
segment_panel.width / segment_panel.children_number \
|
||||||
- segment_panel.spacing
|
- segment_panel.spacing
|
||||||
|
|
|
||||||
|
|
@ -1,28 +1,34 @@
|
||||||
#:import SNACK_BAR_ELEVATION kivymd.material_resources.SNACK_BAR_ELEVATION
|
#:import window kivy.core.window
|
||||||
#:import SNACK_BAR_OFFSET kivymd.material_resources.SNACK_BAR_OFFSET
|
|
||||||
|
|
||||||
|
|
||||||
<MDSnackbar>
|
<BaseSnackbar>
|
||||||
padding: 0, 0, "8dp", 0
|
|
||||||
size_hint_y: None
|
size_hint_y: None
|
||||||
height: self.minimum_height
|
height: "58dp"
|
||||||
md_bg_color: "#323232"
|
spacing: "10dp"
|
||||||
elevation: SNACK_BAR_ELEVATION
|
padding: "10dp", "10dp", "10dp", "10dp"
|
||||||
shadow_offset: SNACK_BAR_OFFSET
|
md_bg_color: "323232" if not root.bg_color else root.bg_color
|
||||||
|
radius: root.radius
|
||||||
|
elevation: 4 if root.padding else 0
|
||||||
|
|
||||||
SnackbarLabelContainer:
|
canvas:
|
||||||
id: label_container
|
Color:
|
||||||
padding: "16dp", "15dp", 0, "15dp"
|
rgba: self.md_bg_color
|
||||||
orientation: "vertical"
|
RoundedRectangle:
|
||||||
adaptive_height: True
|
size: self.size
|
||||||
|
pos: self.pos
|
||||||
|
radius: self.radius
|
||||||
|
|
||||||
|
<Snackbar>
|
||||||
|
|
||||||
|
MDLabel:
|
||||||
|
id: text_bar
|
||||||
|
size_hint_y: None
|
||||||
|
height: self.texture_size[1]
|
||||||
|
text: root.text
|
||||||
|
font_size: root.font_size
|
||||||
|
theme_text_color: "Custom"
|
||||||
|
text_color: "ffffff"
|
||||||
|
shorten: True
|
||||||
|
shorten_from: "right"
|
||||||
|
markup: True
|
||||||
pos_hint: {"center_y": .5}
|
pos_hint: {"center_y": .5}
|
||||||
spacing: "4dp"
|
|
||||||
|
|
||||||
SnackbarActionButtonContainer:
|
|
||||||
id: action_container
|
|
||||||
size_hint_x: None
|
|
||||||
|
|
||||||
SnackbarCloseButtonContainer:
|
|
||||||
id: close_container
|
|
||||||
size_hint_x: None
|
|
||||||
width: "38dp"
|
|
||||||
|
|
|
||||||
|
|
@ -7,7 +7,6 @@
|
||||||
|
|
||||||
# "round" mode.
|
# "round" mode.
|
||||||
Color:
|
Color:
|
||||||
group: "round-color"
|
|
||||||
rgba: self._fill_color if self.mode == "round" else (0, 0, 0, 0)
|
rgba: self._fill_color if self.mode == "round" else (0, 0, 0, 0)
|
||||||
Ellipse:
|
Ellipse:
|
||||||
angle_start: 180
|
angle_start: 180
|
||||||
|
|
@ -20,32 +19,49 @@
|
||||||
pos: (self.width - dp(18)) + self.x - self.height / 2.0, self.y
|
pos: (self.width - dp(18)) + self.x - self.height / 2.0, self.y
|
||||||
size: self.height, self.height
|
size: self.height, self.height
|
||||||
Rectangle:
|
Rectangle:
|
||||||
pos: self.x + dp(14), self.y
|
pos: self.x + dp(9), self.y
|
||||||
size: self.width - dp(28), self.height
|
size: self.width - dp(18), self.height
|
||||||
|
|
||||||
Color:
|
Color:
|
||||||
rgba:
|
rgba:
|
||||||
( \
|
( \
|
||||||
(self.line_color_focus if not self.error else self.error_color) \
|
(self.line_color_focus if not self.error else self.error_color) \
|
||||||
if self.focus else ( \
|
if self.focus \
|
||||||
self.theme_cls.disabled_hint_text_color \
|
else self.theme_cls.disabled_hint_text_color \
|
||||||
if not self.line_color_normal else \
|
|
||||||
self.line_color_normal) \
|
|
||||||
) \
|
) \
|
||||||
if self.mode == "round" else \
|
if self.mode == "round" else \
|
||||||
(0, 0, 0, 0)
|
(0, 0, 0, 0)
|
||||||
SmoothLine:
|
Line:
|
||||||
width: dp(1)
|
points:
|
||||||
rounded_rectangle:
|
self.x + dp(18), \
|
||||||
self.x, \
|
self.y, \
|
||||||
|
self.x + self.width - dp(18), \
|
||||||
|
self.y
|
||||||
|
Line:
|
||||||
|
points:
|
||||||
|
self.x + dp(18), \
|
||||||
|
self.y + self.height, \
|
||||||
|
self.x + self.width - dp(18), \
|
||||||
|
self.y + self.height
|
||||||
|
Line:
|
||||||
|
ellipse:
|
||||||
|
self.x - self.height / 2 + dp(18), \
|
||||||
self.y, \
|
self.y, \
|
||||||
self.width, \
|
|
||||||
self.height, \
|
self.height, \
|
||||||
self.height / 2
|
self.height, \
|
||||||
|
180, \
|
||||||
|
360
|
||||||
|
Line:
|
||||||
|
ellipse:
|
||||||
|
self.width + self.x - self.height / 2.0 - dp(18), \
|
||||||
|
self.y, \
|
||||||
|
self.height, \
|
||||||
|
self.height, \
|
||||||
|
360, \
|
||||||
|
540
|
||||||
|
|
||||||
# "fill" mode.
|
# "fill" mode.
|
||||||
Color:
|
Color:
|
||||||
group: "fill-color"
|
|
||||||
rgba: self._fill_color if self.mode == "fill" else (0, 0, 0, 0)
|
rgba: self._fill_color if self.mode == "fill" else (0, 0, 0, 0)
|
||||||
RoundedRectangle:
|
RoundedRectangle:
|
||||||
pos: self.x, self.y
|
pos: self.x, self.y
|
||||||
|
|
@ -54,7 +70,6 @@
|
||||||
|
|
||||||
# Static underline texture.
|
# Static underline texture.
|
||||||
Color:
|
Color:
|
||||||
group: "static-underline-color"
|
|
||||||
rgba:
|
rgba:
|
||||||
(self._line_color_normal \
|
(self._line_color_normal \
|
||||||
if self.line_color_normal else self.theme_cls.divider_color) \
|
if self.line_color_normal else self.theme_cls.divider_color) \
|
||||||
|
|
@ -67,7 +82,6 @@
|
||||||
|
|
||||||
# Active underline (on focus) texture.
|
# Active underline (on focus) texture.
|
||||||
Color:
|
Color:
|
||||||
group: "active-underline-color"
|
|
||||||
rgba:
|
rgba:
|
||||||
self._line_color_focus \
|
self._line_color_focus \
|
||||||
if self.mode in ("line", "fill") and self.active_line \
|
if self.mode in ("line", "fill") and self.active_line \
|
||||||
|
|
@ -80,10 +94,7 @@
|
||||||
|
|
||||||
# Helper text texture.
|
# Helper text texture.
|
||||||
Color:
|
Color:
|
||||||
group: "helper-text-color"
|
|
||||||
rgba:
|
rgba:
|
||||||
self.theme_cls.disabled_hint_text_color \
|
|
||||||
if self.disabled else \
|
|
||||||
self._helper_text_color
|
self._helper_text_color
|
||||||
Rectangle:
|
Rectangle:
|
||||||
texture: self._helper_text_label.texture
|
texture: self._helper_text_label.texture
|
||||||
|
|
@ -95,11 +106,7 @@
|
||||||
|
|
||||||
# Right/left icon texture.
|
# Right/left icon texture.
|
||||||
Color:
|
Color:
|
||||||
group: "right-left-icons-color"
|
rgba: self._icon_right_color if self.icon_right else self._icon_left_color
|
||||||
rgba:
|
|
||||||
self.theme_cls.disabled_hint_text_color \
|
|
||||||
if self.disabled else \
|
|
||||||
(self._icon_right_color if self.icon_right else self._icon_left_color)
|
|
||||||
Rectangle:
|
Rectangle:
|
||||||
texture:
|
texture:
|
||||||
self._icon_right_label.texture if self.icon_right else self._icon_left_label.texture
|
self._icon_right_label.texture if self.icon_right else self._icon_left_label.texture
|
||||||
|
|
@ -130,11 +137,7 @@
|
||||||
|
|
||||||
# Max length texture.
|
# Max length texture.
|
||||||
Color:
|
Color:
|
||||||
group: "max-length-color"
|
rgba: self._max_length_text_color
|
||||||
rgba:
|
|
||||||
self.theme_cls.disabled_hint_text_color \
|
|
||||||
if self.disabled else \
|
|
||||||
self._max_length_text_color
|
|
||||||
Rectangle:
|
Rectangle:
|
||||||
texture: self._max_length_label.texture
|
texture: self._max_length_label.texture
|
||||||
size: self._max_length_label.texture_size
|
size: self._max_length_label.texture_size
|
||||||
|
|
@ -157,75 +160,9 @@
|
||||||
pos: (int(x) for x in self.cursor_pos)
|
pos: (int(x) for x in self.cursor_pos)
|
||||||
size: 1, -self.line_height
|
size: 1, -self.line_height
|
||||||
|
|
||||||
# "rectangle" mode
|
|
||||||
Color:
|
|
||||||
group: "rectangle-color"
|
|
||||||
rgba:
|
|
||||||
( \
|
|
||||||
(self.line_color_focus if not self.error else self.error_color) \
|
|
||||||
if self.focus else \
|
|
||||||
self.line_color_normal \
|
|
||||||
) \
|
|
||||||
if self.mode == "rectangle" else \
|
|
||||||
(0, 0, 0, 0)
|
|
||||||
SmoothLine:
|
|
||||||
width: dp(1)
|
|
||||||
rounded_rectangle:
|
|
||||||
self.x, \
|
|
||||||
self.y, \
|
|
||||||
self.width, \
|
|
||||||
self.height - self._hint_text_label.texture_size[1] // 2, \
|
|
||||||
root.radius[0]
|
|
||||||
|
|
||||||
# The background color line of the widget on which the text field
|
|
||||||
# is placed (for background hint text texture).
|
|
||||||
Color:
|
|
||||||
rgba:
|
|
||||||
( \
|
|
||||||
( \
|
|
||||||
self.parent.md_bg_color \
|
|
||||||
if hasattr(self.parent, "md_bg_color") \
|
|
||||||
and self.parent.md_bg_color != [1, 1, 1, 0] else \
|
|
||||||
self.theme_cls.bg_normal \
|
|
||||||
) \
|
|
||||||
if self.focus else \
|
|
||||||
( \
|
|
||||||
(0, 0, 0, 0) if not self.text else \
|
|
||||||
( \
|
|
||||||
self.parent.md_bg_color \
|
|
||||||
if hasattr(self.parent, "md_bg_color") \
|
|
||||||
and self.parent.md_bg_color != [1, 1, 1, 0] else \
|
|
||||||
self.theme_cls.bg_normal \
|
|
||||||
) \
|
|
||||||
) \
|
|
||||||
) \
|
|
||||||
if self.mode == "rectangle" else \
|
|
||||||
(0, 0, 0, 0)
|
|
||||||
SmoothLine:
|
|
||||||
width: dp(2)
|
|
||||||
points:
|
|
||||||
self.x + dp(10), \
|
|
||||||
self.top - self._hint_text_label.texture_size[1] // 2, \
|
|
||||||
self.x + dp(16) + self._hint_text_label.texture_size[0], \
|
|
||||||
self.top - self._hint_text_label.texture_size[1] // 2
|
|
||||||
|
|
||||||
# Text color.
|
|
||||||
Color:
|
|
||||||
group: "text-color"
|
|
||||||
rgba:
|
|
||||||
self.theme_cls.disabled_hint_text_color if self.disabled else \
|
|
||||||
( \
|
|
||||||
self.text_color_focus if self.focus else self._text_color_normal
|
|
||||||
) \
|
|
||||||
if not self.error else self.error_color
|
|
||||||
|
|
||||||
canvas.after:
|
|
||||||
# Hint text texture.
|
# Hint text texture.
|
||||||
Color:
|
Color:
|
||||||
group: "hint-text-color"
|
|
||||||
rgba:
|
rgba:
|
||||||
self.theme_cls.disabled_hint_text_color \
|
|
||||||
if self.disabled else \
|
|
||||||
self._hint_text_color
|
self._hint_text_color
|
||||||
Rectangle:
|
Rectangle:
|
||||||
texture: self._hint_text_label.texture
|
texture: self._hint_text_label.texture
|
||||||
|
|
@ -247,6 +184,34 @@
|
||||||
if self.mode != "line" else \
|
if self.mode != "line" else \
|
||||||
dp(-6)) if self.mode != "rectangle" else dp(-4)) - self._hint_y
|
dp(-6)) if self.mode != "rectangle" else dp(-4)) - self._hint_y
|
||||||
|
|
||||||
|
# "rectangle" mode
|
||||||
|
Color:
|
||||||
|
rgba:
|
||||||
|
(self.line_color_focus if not self.error else self.error_color) \
|
||||||
|
if self.focus else \
|
||||||
|
self.line_color_normal
|
||||||
|
Line:
|
||||||
|
width: dp(1) if self.mode == "rectangle" else dp(0.00001)
|
||||||
|
points:
|
||||||
|
(
|
||||||
|
self.x + self._line_blank_space_right_point,
|
||||||
|
self.top - self._hint_text_label.texture_size[1] // 2,
|
||||||
|
self.right, self.top - self._hint_text_label.texture_size[1] // 2,
|
||||||
|
self.right, self.y,
|
||||||
|
self.x, self.y,
|
||||||
|
self.x, self.top - self._hint_text_label.texture_size[1] // 2,
|
||||||
|
self.x + self._line_blank_space_left_point,
|
||||||
|
self.top - self._hint_text_label.texture_size[1] // 2
|
||||||
|
)
|
||||||
|
|
||||||
|
# Text color.
|
||||||
|
Color:
|
||||||
|
rgba:
|
||||||
|
self.disabled_foreground_color if self.disabled else \
|
||||||
|
( \
|
||||||
|
self.text_color_focus if self.focus else self._text_color_normal
|
||||||
|
) \
|
||||||
|
if not self.error else self.error_color
|
||||||
|
|
||||||
font_name: "Roboto" if not self.font_name else self.font_name
|
font_name: "Roboto" if not self.font_name else self.font_name
|
||||||
foreground_color: self.theme_cls.text_color
|
foreground_color: self.theme_cls.text_color
|
||||||
|
|
|
||||||
BIN
updater/SDL2.dll
BIN
updater/_bz2.pyd
BIN
updater/_ssl.pyd
|
|
@ -1,4 +0,0 @@
|
||||||
$HEADER$
|
|
||||||
void main (void){
|
|
||||||
gl_FragColor = frag_color * texture2D(texture0, tex_coord0);
|
|
||||||
}
|
|
||||||
|
Before Width: | Height: | Size: 74 B |
|
|
@ -1,6 +0,0 @@
|
||||||
$HEADER$
|
|
||||||
void main (void) {
|
|
||||||
frag_color = color * vec4(1.0, 1.0, 1.0, opacity);
|
|
||||||
tex_coord0 = vTexCoords0;
|
|
||||||
gl_Position = projection_mat * modelview_mat * vec4(vPosition.xy, 0.0, 1.0);
|
|
||||||
}
|
|
||||||
|
|
@ -1,12 +0,0 @@
|
||||||
#ifdef GL_ES
|
|
||||||
precision highp float;
|
|
||||||
#endif
|
|
||||||
|
|
||||||
/* Outputs from the vertex shader */
|
|
||||||
varying vec4 frag_color;
|
|
||||||
varying vec2 tex_coord0;
|
|
||||||
|
|
||||||
/* uniform texture samplers */
|
|
||||||
uniform sampler2D texture0;
|
|
||||||
|
|
||||||
uniform mat4 frag_modelview_mat;
|
|
||||||
|
|
@ -1,17 +0,0 @@
|
||||||
#ifdef GL_ES
|
|
||||||
precision highp float;
|
|
||||||
#endif
|
|
||||||
|
|
||||||
/* Outputs to the fragment shader */
|
|
||||||
varying vec4 frag_color;
|
|
||||||
varying vec2 tex_coord0;
|
|
||||||
|
|
||||||
/* vertex attributes */
|
|
||||||
attribute vec2 vPosition;
|
|
||||||
attribute vec2 vTexCoords0;
|
|
||||||
|
|
||||||
/* uniform variables */
|
|
||||||
uniform mat4 modelview_mat;
|
|
||||||
uniform mat4 projection_mat;
|
|
||||||
uniform vec4 color;
|
|
||||||
uniform float opacity;
|
|
||||||
|
Before Width: | Height: | Size: 8.5 KiB |
|
Before Width: | Height: | Size: 138 B |
|
Before Width: | Height: | Size: 4.0 KiB |
|
Before Width: | Height: | Size: 53 KiB |
|
|
@ -1 +0,0 @@
|
||||||
{"defaulttheme-0.png": {"progressbar_background": [392, 227, 24, 24], "tab_btn_disabled": [332, 137, 32, 32], "tab_btn_pressed": [400, 137, 32, 32], "image-missing": [152, 171, 48, 48], "splitter_h": [174, 123, 32, 7], "splitter_down": [11, 10, 7, 32], "splitter_disabled_down": [2, 10, 7, 32], "vkeyboard_key_down": [2, 44, 32, 32], "vkeyboard_disabled_key_down": [434, 137, 32, 32], "selector_right": [438, 326, 64, 64], "player-background": [2, 287, 103, 103], "selector_middle": [372, 326, 64, 64], "spinner": [204, 82, 29, 37], "tab_btn_disabled_pressed": [366, 137, 32, 32], "switch-button_disabled": [375, 291, 43, 32], "textinput_disabled_active": [134, 221, 64, 64], "splitter_grip": [70, 50, 12, 26], "vkeyboard_key_normal": [36, 44, 32, 32], "button_disabled": [111, 82, 29, 37], "media-playback-stop": [302, 171, 48, 48], "splitter": [502, 137, 7, 32], "splitter_down_h": [140, 123, 32, 7], "sliderh_background_disabled": [115, 132, 41, 37], "modalview-background": [464, 456, 45, 54], "button": [80, 82, 29, 37], "splitter_disabled": [501, 87, 7, 32], "checkbox_radio_disabled_on": [467, 87, 32, 32], "slider_cursor": [352, 171, 48, 48], "vkeyboard_disabled_background": [266, 221, 64, 64], "checkbox_disabled_on": [331, 87, 32, 32], "sliderv_background_disabled": [41, 78, 37, 41], "button_disabled_pressed": [142, 82, 29, 37], "audio-volume-muted": [102, 171, 48, 48], "close": [487, 173, 20, 20], "action_group_disabled": [2, 121, 33, 48], "vkeyboard_background": [200, 221, 64, 64], "checkbox_off": [365, 87, 32, 32], "tab_disabled": [107, 291, 96, 32], "sliderh_background": [72, 132, 41, 37], "switch-button": [430, 253, 43, 32], "tree_closed": [418, 231, 20, 20], "bubble_btn_pressed": [454, 291, 32, 32], "selector_left": [306, 326, 64, 64], "filechooser_file": [174, 326, 64, 64], "checkbox_radio_disabled_off": [433, 87, 32, 32], "checkbox_radio_on": [230, 137, 32, 32], "checkbox_on": [399, 87, 32, 32], "button_pressed": [173, 82, 29, 37], "audio-volume-high": [464, 406, 48, 48], "audio-volume-low": [2, 171, 48, 48], "progressbar": [332, 227, 32, 24], "previous_normal": [488, 291, 19, 32], "separator": [504, 342, 5, 48], "filechooser_folder": [240, 326, 64, 64], "checkbox_radio_off": [196, 137, 32, 32], "textinput_active": [68, 221, 64, 64], "textinput": [2, 221, 64, 64], "player-play-overlay": [122, 395, 117, 115], "media-playback-pause": [202, 171, 48, 48], "sliderv_background": [2, 78, 37, 41], "ring": [354, 402, 108, 108], "bubble_arrow": [490, 241, 16, 10], "slider_cursor_disabled": [402, 171, 48, 48], "checkbox_disabled_off": [297, 87, 32, 32], "action_group_down": [37, 121, 33, 48], "spinner_disabled": [235, 82, 29, 37], "splitter_disabled_h": [106, 123, 32, 7], "bubble": [107, 325, 65, 65], "media-playback-start": [252, 171, 48, 48], "vkeyboard_disabled_key_normal": [468, 137, 32, 32], "overflow": [264, 137, 32, 32], "tree_opened": [440, 231, 20, 20], "action_item": [487, 195, 24, 24], "bubble_btn": [420, 291, 32, 32], "audio-volume-medium": [52, 171, 48, 48], "action_group": [452, 171, 33, 48], "spinner_pressed": [266, 82, 29, 37], "filechooser_selected": [2, 392, 118, 118], "tab": [332, 253, 96, 32], "action_bar": [158, 133, 36, 36], "action_view": [366, 227, 24, 24], "tab_btn": [298, 137, 32, 32], "switch-background": [205, 291, 83, 32], "splitter_disabled_down_h": [72, 123, 32, 7], "action_item_down": [475, 253, 32, 32], "switch-background_disabled": [290, 291, 83, 32], "textinput_disabled": [241, 399, 111, 111], "splitter_grip_h": [462, 239, 26, 12]}}
|
|
||||||
|
Before Width: | Height: | Size: 2.8 KiB |
|
Before Width: | Height: | Size: 73 B |
|
|
@ -1,68 +0,0 @@
|
||||||
{
|
|
||||||
"title" : "Azerty",
|
|
||||||
"description" : "A French keyboard without international keys",
|
|
||||||
"cols" : 15,
|
|
||||||
"rows": 5,
|
|
||||||
"normal_1" : [
|
|
||||||
["@", "@", "`", 1], ["&", "&", "1", 1], ["\u00e9", "\u00e9", "2", 1],
|
|
||||||
["'", "'", "3", 1], ["\"", "\"", "4", 1], ["[", "[", "5", 1],
|
|
||||||
["-", "-", "6", 1], ["\u00e8", "\u00e8", "7", 1], ["_", "_", "8", 1],
|
|
||||||
["\u00e7", "\u00e7", "9", 1], ["\u00e0", "\u00e0", "0", 1], ["]", "]", "+", 1],
|
|
||||||
["=", "=", "=", 1], ["\u232b", null, "backspace", 2]
|
|
||||||
],
|
|
||||||
"normal_2" : [
|
|
||||||
["\u21B9", "\t", "tab", 1.5], ["a", "a", "a", 1], ["z", "z", "z", 1],
|
|
||||||
["e", "e", "e", 1], ["r", "r", "r", 1], ["t", "t", "t", 1],
|
|
||||||
["y", "y", "y", 1], ["u", "u", "u", 1], ["i", "i", "i", 1],
|
|
||||||
["o", "o", "o", 1], ["p", "p", "p", 1], ["^", "^", "^", 1],
|
|
||||||
["$", "$", "}", 1], ["\u23ce", null, "enter", 1.5]
|
|
||||||
],
|
|
||||||
"normal_3" : [
|
|
||||||
["\u21ea", null, "capslock", 1.8], ["q", "q", "q", 1], ["s", "s", "s", 1],
|
|
||||||
["d", "d", "d", 1], ["f", "f", "f", 1], ["g", "g", "g", 1],
|
|
||||||
["h", "h", "h", 1], ["j", "j", "j", 1], ["k", "k", "k", 1],
|
|
||||||
["l", "l", "l", 1], ["m", "m", "m", 1], ["\u00f9", "\u00f9", "%", 1],
|
|
||||||
["*", "*", "*", 1], ["\u23ce", null, "enter", 1.2]
|
|
||||||
],
|
|
||||||
"normal_4" : [
|
|
||||||
["\u21e7", null, "shift", 1.5], ["<", "<", null, 1], ["w", "w", null, 1],
|
|
||||||
["x", "x", null, 1],
|
|
||||||
["c", "c", null, 1], ["v", "v", null, 1], ["b", "b", null, 1],
|
|
||||||
["n", "n", null, 1], [",", ",", null, 1], [";", ";", null, 1],
|
|
||||||
[":", ":", null, 1], ["!", "!", null, 1], ["\u21e7", null, "shift", 2.5]
|
|
||||||
],
|
|
||||||
"normal_5" : [
|
|
||||||
[" ", " ", "spacebar", 12], ["\u2b12", null, "layout", 1.5], ["\u2a2f", null, "escape", 1.5]
|
|
||||||
],
|
|
||||||
"shift_1" : [
|
|
||||||
["|", "|", "|", 1], ["1", "1", "1", 1], ["2", "2", "2", 1],
|
|
||||||
["3", "3", "3", 1], ["4", "4", "4", 1], ["5", "5", "5", 1],
|
|
||||||
["6", "6", "6", 1], ["7", "7", "7", 1], ["8", "8", "8", 1],
|
|
||||||
["9", "9", "9", 1], ["0", "0", "0", 1], ["#", "#", "#", 1],
|
|
||||||
["+", "+", "+", 1], ["\u232b", null, "backspace", 2]
|
|
||||||
],
|
|
||||||
"shift_2" : [
|
|
||||||
["\u21B9", "\t", "tab", 1.5], ["A", "A", "a", 1], ["Z", "Z", null, 1],
|
|
||||||
["E", "E", "e", 1], ["R", "R", "r", 1], ["T", "T", "t", 1],
|
|
||||||
["Y", "Y", "y", 1], ["U", "U", "u", 1], ["I", "I", "i", 1],
|
|
||||||
["O", "O", "o", 1], ["P", "P", "p", 1], ["[", "[", "[", 1],
|
|
||||||
["]", "]", "]", 1], ["\u23ce", null, "enter", 1.5]
|
|
||||||
],
|
|
||||||
"shift_3" : [
|
|
||||||
["\u21ea", null, "capslock", 1.8], ["Q", "Q", "q", 1], ["S", "S", "s", 1],
|
|
||||||
["D", "D", "d", 1], ["F", "F", "f", 1], ["G", "G", "g", 1],
|
|
||||||
["H", "H", "h", 1], ["J", "J", "j", 1], ["K", "K", "k", 1],
|
|
||||||
["L", "L", "l", 1], ["M", "M", "m", 1], ["%", "%", "%", 1],
|
|
||||||
["\u00b5", "\u00b5", "*", 1], ["\u23ce", null, "enter", 1.2]
|
|
||||||
],
|
|
||||||
"shift_4" : [
|
|
||||||
["\u21e7", null, "shift", 1.5], [">", ">", ">", 1], ["W", "W", "w", 1],
|
|
||||||
["X", "X", "x", 1], ["C", "C", "c", 1], ["V", "V", "v", 1],
|
|
||||||
["B", "B", "b", 1], ["N", "N", "n", 1], ["?", "?", "?", 1],
|
|
||||||
[".", ".", ".", 1], ["/", "/", "/", 1], ["\u00a7", "\u00a7", "!", 1],
|
|
||||||
["\u21e7", null, "shift", 2.5]
|
|
||||||
],
|
|
||||||
"shift_5" : [
|
|
||||||
[" ", " ", "spacebar", 12], ["\u2b12", null, "layout", 1.5], ["\u2a2f", null, "escape", 1.5]
|
|
||||||
]
|
|
||||||
}
|
|
||||||
|
|
@ -1,101 +0,0 @@
|
||||||
{
|
|
||||||
"title": "de",
|
|
||||||
"description": "A true German keyboard",
|
|
||||||
"cols": 15,
|
|
||||||
"rows": 5,
|
|
||||||
"normal_1": [
|
|
||||||
["^", "^", "^", 1], ["1", "1", "1", 1], ["2", "2", "2", 1],
|
|
||||||
["3", "3", "3", 1], ["4", "4", "4", 1], ["5", "5", "5", 1],
|
|
||||||
["6", "6", "6", 1], ["7", "7", "7", 1], ["8", "8", "8", 1],
|
|
||||||
["9", "9", "9", 1], ["0", "0", "0", 1], ["ß", "ß", "ß", 1],
|
|
||||||
["´", "´", "´", 1], ["\u232b", null, "backspace", 2]
|
|
||||||
],
|
|
||||||
"normal_2" : [
|
|
||||||
["\u21B9", "\t", "tab", 1.5], ["q", "q", "q", 1], ["w", "w", "w", 1],
|
|
||||||
["e", "e", "e", 1], ["r", "r", "r", 1], ["t", "t", "t", 1],
|
|
||||||
["z", "z", "z", 1], ["u", "u", "´", 1], ["i", "i", "i", 1],
|
|
||||||
["o", "o", "o", 1], ["p", "p", "p", 1], ["ü", "ü", "ü", 1],
|
|
||||||
["+", "+", "+", 1], ["\u23ce", null, "enter", 1.5]
|
|
||||||
],
|
|
||||||
"normal_3": [
|
|
||||||
["\u21ea", null, "capslock", 1.8], ["a", "a", "a", 1], ["s", "s", "s", 1],
|
|
||||||
["d", "d", "d", 1], ["f", "f", "f", 1], ["g", "g", "g", 1],
|
|
||||||
["h", "h", "h", 1], ["j", "j", "j", 1], ["k", "k", "k", 1],
|
|
||||||
["l", "l", "l", 1], ["ö", "ö", "ö", 1], ["ä", "ä", "ä", 1],
|
|
||||||
["#", "#", "#", 1], ["\u23ce", null, "enter", 1.2]
|
|
||||||
],
|
|
||||||
"normal_4": [
|
|
||||||
["\u21e7", null, "shift", 1.5], ["<", "<", "<", 1], ["y", "y", "y", 1],
|
|
||||||
["x", "x", "x", 1], ["c", "c", "c", 1], ["v", "v", "v", 1],
|
|
||||||
["b", "b", "b", 1], ["n", "n", "n", 1], ["m", "m", "m", 1],
|
|
||||||
[",", ",", ",", 1], [".", ".", ".", 1], ["-", "-", "-", 1],
|
|
||||||
["\u21e7", null, "shift", 2.5]
|
|
||||||
],
|
|
||||||
"normal_5": [
|
|
||||||
["@€¿", null, "special", 2.5], [" ", " ", "spacebar", 11], ["\u2a2f", null, "escape", 1.5]
|
|
||||||
],
|
|
||||||
|
|
||||||
"shift_1": [
|
|
||||||
["°", "°", "°", 1], ["!", "!", "!", 1], ["\"", "\"","\"", 1],
|
|
||||||
["§", "§", "§", 1], ["$", "$", "$", 1], ["%", "%", "%", 1],
|
|
||||||
["&", "&", "&", 1], ["/", "/", "/", 1], ["(", "(", "(", 1],
|
|
||||||
[")", ")", ")", 1], ["=", "=", "=", 1], ["?", "?", "?", 1],
|
|
||||||
["`", "`", "`", 1], ["\u232b", null, "backspace", 2]
|
|
||||||
],
|
|
||||||
"shift_2": [
|
|
||||||
["\u21B9", "\t", "tab", 1.5], ["Q", "Q", null, 1], ["W", "W", null, 1],
|
|
||||||
["E", "E", "e", 1], ["R", "R", "r", 1], ["T", "T", "t", 1],
|
|
||||||
["Z", "Z", "z", 1], ["U", "U", "u", 1], ["I", "I", "i", 1],
|
|
||||||
["O", "O", "o", 1], ["P", "P", "p", 1], ["Ü", "Ü", "Ü", 1],
|
|
||||||
["*", "*", "*", 1], ["\u23ce", null, "enter", 1.5]
|
|
||||||
],
|
|
||||||
"shift_3": [
|
|
||||||
["\u21ea", null, "capslock", 1.8], ["A", "A", "a", 1], ["S", "S", "s", 1],
|
|
||||||
["D", "D", "d", 1], ["F", "F", "f", 1], ["G", "G", "g", 1],
|
|
||||||
["H", "H", "h", 1], ["J", "J", "j", 1], ["K", "K", "k", 1],
|
|
||||||
["L", "L", "l", 1], ["Ö", "Ö", "Ö", 1], ["Ä", "Ä", "Ä", 1],
|
|
||||||
["'", "'", "'", 1], ["\u23ce", null, "enter", 1.2]
|
|
||||||
],
|
|
||||||
"shift_4": [
|
|
||||||
["\u21e7", null, "shift", 1.5], [">", ">", ">", 1], ["Y", "Y", "Y", 1],
|
|
||||||
["X", "X", "X", 1], ["C", "C", "C", 1], ["V", "V", "V", 1],
|
|
||||||
["B", "B", "B", 1], ["N", "N", "N", 1], ["M", "M", "M", 1],
|
|
||||||
[";", ";", ";", 1], [":", ":", ":", 1], ["_", "_", "_", 1],
|
|
||||||
["\u21e7", null, "shift", 2.5]
|
|
||||||
],
|
|
||||||
"shift_5": [
|
|
||||||
["@€¿", null, "special", 2.5], [" ", " ", "spacebar", 11], ["\u2a2f", null, "escape", 1.5]
|
|
||||||
],
|
|
||||||
|
|
||||||
"special_1": [
|
|
||||||
["„", "„", "„", 1], ["¡", "¡", "¡", 1], ["“", "“", "“", 1],
|
|
||||||
["¶", "¶", "¶", 1], ["¢", "¢", "¢", 1], ["[", "[", "[", 1],
|
|
||||||
["]", "]", "]", 1], ["|", "|", "|", 1], ["{", "{", "{", 1],
|
|
||||||
["}", "}", "}", 1], ["≠", "≠", "≠", 1], ["¿", "¿", "¿", 1],
|
|
||||||
["'", "'", "'", 1], ["\u232b", null, "backspace", 2]
|
|
||||||
],
|
|
||||||
"special_2": [
|
|
||||||
["\u21B9", "\t", "tab", 1.5], ["@", "@", "@", 1], ["∑", "∑", "∑", 1],
|
|
||||||
["€", "€", "€", 1], ["®", "®", "®", 1], ["†", "†", "†", 1],
|
|
||||||
["Ω", "Ω", "Ω", 1], ["¨", "¨", "¨", 1], ["⁄", "⁄", "⁄", 1],
|
|
||||||
["ø", "ø", "ø", 1], ["π", "π", "π", 1], ["•", "•", "•", 1],
|
|
||||||
["±", "±", "±", 1], ["\u23ce", null, "enter", 1.5]
|
|
||||||
],
|
|
||||||
"special_3": [
|
|
||||||
["\u21ea", null, "capslock", 1.8], ["æ", "æ", "æ", 1], ["‚", "‚", "‚", 1],
|
|
||||||
["∂", "∂", "∂", 1], ["ƒ", "ƒ", "ƒ", 1], ["©", "©", "©", 1],
|
|
||||||
["ª", "ª", "ª", 1], ["º", "º", "º", 1], ["∆", "∆", "∆", 1],
|
|
||||||
["@", "@", "@", 1], ["œ", "œ", "œ", 1], ["æ", "æ", "æ", 1],
|
|
||||||
["‘", "‘", "‘", 1], ["\u23ce", null, "enter", 1.2]
|
|
||||||
],
|
|
||||||
"special_4": [
|
|
||||||
["\u21e7", null, "shift", 1.5], ["≤", "≤", "≤", 1], ["¥", "¥", "¥", 1],
|
|
||||||
["≈", "≈", "≈", 1], ["ç", "ç", "ç", 1], ["√", "√", "√", 1],
|
|
||||||
["∫", "∫", "∫", 1], ["~", "~", "~", 1], ["µ", "µ", "µ", 1],
|
|
||||||
["∞", "∞", "∞", 1], ["…", "…", "…", 1], ["–", "–", "–", 1],
|
|
||||||
["\u21e7", null, "shift", 2.5]
|
|
||||||
],
|
|
||||||
"special_5": [
|
|
||||||
["@€¿", null, "special", 2.5], [" ", " ", "spacebar", 11], ["\u2a2f", null, "escape", 1.5]
|
|
||||||
]
|
|
||||||
}
|
|
||||||
|
|
@ -1,98 +0,0 @@
|
||||||
{
|
|
||||||
"title": "de_CH",
|
|
||||||
"description": "A Swiss German keyboard, touch optimized (no shift+caps lock)",
|
|
||||||
"cols": 15,
|
|
||||||
"rows": 5,
|
|
||||||
"normal_1": [
|
|
||||||
["1", "1", "1", 1], ["2", "2", "2", 1], ["3", "3", "3", 1],
|
|
||||||
["4", "4", "4", 1], ["5", "5", "5", 1], ["6", "6", "6", 1],
|
|
||||||
["7", "7", "7", 1], ["8", "8", "8", 1], ["9", "9", "9", 1],
|
|
||||||
["0", "0", "0", 1], ["@", "@", "@", 1], ["?", "?", "?", 1],
|
|
||||||
["!", "!", "!", 1], ["\u232b", null, "backspace", 2]
|
|
||||||
],
|
|
||||||
"normal_2" : [
|
|
||||||
["\u21B9", "\t", "tab", 1.5], ["q", "q", "q", 1], ["w", "w", "w", 1],
|
|
||||||
["e", "e", "e", 1], ["r", "r", "r", 1], ["t", "t", "t", 1],
|
|
||||||
["z", "z", "z", 1], ["u", "u", "u", 1], ["i", "i", "i", 1],
|
|
||||||
["o", "o", "o", 1], ["p", "p", "p", 1], ["ü", "ü", "ü", 1],
|
|
||||||
[":", ":", ":", 1], ["$", "$", "$", 1.5]
|
|
||||||
],
|
|
||||||
"normal_3": [
|
|
||||||
["\u21ea", null, "capslock", 1.8], ["a", "a", "a", 1], ["s", "s", "s", 1],
|
|
||||||
["d", "d", "d", 1], ["f", "f", "f", 1], ["g", "g", "g", 1],
|
|
||||||
["h", "h", "h", 1], ["j", "j", "j", 1], ["k", "k", "k", 1],
|
|
||||||
["l", "l", "l", 1], ["ö", "ö", "ö", 1], ["ä", "ä", "ä", 1],
|
|
||||||
["\u23ce", null, "enter", 2.2]
|
|
||||||
],
|
|
||||||
"normal_4": [
|
|
||||||
["\u21e7", null, "shift", 2.5], ["y", "y", "y", 1], ["x", "x", "x", 1],
|
|
||||||
["c", "c", "c", 1], ["v", "v", "v", 1], ["b", "b", "b", 1],
|
|
||||||
["n", "n", "n", 1], ["m", "m", "m", 1], [",", ",", ",", 1],
|
|
||||||
[".", ".", ".", 1], ["-", "-", "-", 1], ["\u21e7", null, "shift", 2.5]
|
|
||||||
],
|
|
||||||
"normal_5": [
|
|
||||||
["#+=", null, "special", 2.5], [" ", " ", "spacebar", 11], ["\u2a2f", null, "escape", 1.5]
|
|
||||||
],
|
|
||||||
|
|
||||||
"shift_1": [
|
|
||||||
["1", "1", "1", 1], ["2", "2", "2", 1], ["3", "3", "3", 1],
|
|
||||||
["4", "4", "4", 1], ["5", "5", "5", 1], ["6", "6", "6", 1],
|
|
||||||
["7", "7", "7", 1], ["8", "8", "8", 1], ["9", "9", "9", 1],
|
|
||||||
["0", "0", "0", 1], ["@", "@", "@", 1], ["?", "?", "?", 1],
|
|
||||||
["!", "!", "!", 1], ["\u232b", null, "backspace", 2]
|
|
||||||
],
|
|
||||||
"shift_2": [
|
|
||||||
["\u21B9", "\t", "tab", 1.5], ["Q", "Q", null, 1], ["W", "W", null, 1],
|
|
||||||
["E", "E", "e", 1], ["R", "R", "r", 1], ["T", "T", "t", 1],
|
|
||||||
["Z", "Z", "z", 1], ["U", "U", "u", 1], ["I", "I", "i", 1],
|
|
||||||
["O", "O", "o", 1], ["P", "P", "p", 1], ["Ü", "Ü", "Ü", 1],
|
|
||||||
[":", ":", ":", 1], ["/", "/", "/", 1.5]
|
|
||||||
],
|
|
||||||
"shift_3": [
|
|
||||||
["\u21ea", null, "capslock", 1.8], ["A", "A", "a", 1], ["S", "S", "s", 1],
|
|
||||||
["D", "D", "d", 1], ["F", "F", "f", 1], ["G", "G", "g", 1],
|
|
||||||
["H", "H", "h", 1], ["J", "J", "j", 1], ["K", "K", "k", 1],
|
|
||||||
["L", "L", "l", 1], ["Ö", "Ö", "Ö", 1], ["Ä", "Ä", "Ä", 1],
|
|
||||||
["\u23ce", null, "enter", 2.2]
|
|
||||||
],
|
|
||||||
"shift_4": [
|
|
||||||
["\u21e7", null, "shift", 2.5], ["Y", "Y", "y", 1], ["X", "X", "x", 1],
|
|
||||||
["C", "C", "c", 1], ["V", "V", "v", 1], ["B", "B", "b", 1],
|
|
||||||
["N", "N", "n", 1], ["M", "M", "m", 1], [";", ";", ";", 1],
|
|
||||||
[":", ":", ":", 1], ["_", "_", "_", 1], ["\u21e7", null, "shift", 2.5]
|
|
||||||
],
|
|
||||||
"shift_5": [
|
|
||||||
["#+=", null, "special", 2.5], [" ", " ", "spacebar", 11], ["\u2a2f", null, "escape", 1.5]
|
|
||||||
],
|
|
||||||
|
|
||||||
"special_1": [
|
|
||||||
["1", "1", "1", 1], ["2", "2", "2", 1], ["3", "3", "3", 1],
|
|
||||||
["4", "4", "4", 1], ["5", "5", "5", 1], ["6", "6", "6", 1],
|
|
||||||
["7", "7", "7", 1], ["8", "8", "8", 1], ["9", "9", "9", 1],
|
|
||||||
["0", "0", "0", 1], ["@", "@", "@", 1], ["?", "?", "?", 1],
|
|
||||||
["!", "!", "!", 1], ["\u232b", null, "backspace", 2]
|
|
||||||
],
|
|
||||||
"special_2": [
|
|
||||||
["\u21B9", "\t", "tab", 1.5], ["(", "(", "(", 1], [")", ")", ")", 1],
|
|
||||||
["{", "{", "{", 1], ["}", "}", "}", 1], ["[", "[", "[", 1],
|
|
||||||
["]", "]", "]", 1], ["€", "€", "€", 1], ["$", "$", "$", 1],
|
|
||||||
["£", "£", "£", 1], ["¥", "¥", "¥", 1], ["è", "è", "è", 1],
|
|
||||||
["•", "•", "•", 1], ["|", "|", "|", 1.5]
|
|
||||||
],
|
|
||||||
"special_3": [
|
|
||||||
["\u21ea", null, "capslock", 1.8], ["“", "“", "“", 1], ["`", "`", "`", 1],
|
|
||||||
["«", "«", "«", 1], ["»", "»", "»", 1], ["#", "#", "#", 1],
|
|
||||||
["%", "%", "%", 1], ["^", "^", "^", 1], ["°", "°", "°", 1],
|
|
||||||
["&", "&", "&", 1], ["é", "é", "é", 1], ["à", "à", "à", 1],
|
|
||||||
["\u23ce", null, "enter", 2.2]
|
|
||||||
],
|
|
||||||
"special_4": [
|
|
||||||
["\u21e7", null, "shift", 2.5], ["+", "+", "+", 1], ["=", "=", "=", 1],
|
|
||||||
["<", "<", "<", 1], [">", ">", ">", 1], ["*", "*", "*", 1],
|
|
||||||
["È", "È", "È", 1], ["É", "É", "É", 1], ["À", "À", "À", 1],
|
|
||||||
[":", ":", ":", 1], ["_", "_", "_", 1], ["\u21e7", null, "shift", 2.5]
|
|
||||||
],
|
|
||||||
"special_5": [
|
|
||||||
["#+=", null, "special", 2.5], [" ", " ", "spacebar", 11], ["\u2a2f", null, "escape", 1.5]
|
|
||||||
]
|
|
||||||
}
|
|
||||||
|
|
@ -1,98 +0,0 @@
|
||||||
{
|
|
||||||
"title": "en_US",
|
|
||||||
"description": "A US Keyboard, touch optimized (no shift+caps lock)",
|
|
||||||
"cols": 15,
|
|
||||||
"rows": 5,
|
|
||||||
"normal_1": [
|
|
||||||
["1", "1", "1", 1], ["2", "2", "2", 1], ["3", "3", "3", 1],
|
|
||||||
["4", "4", "4", 1], ["5", "5", "5", 1], ["6", "6", "6", 1],
|
|
||||||
["7", "7", "7", 1], ["8", "8", "8", 1], ["9", "9", "9", 1],
|
|
||||||
["0", "0", "0", 1], ["@", "@", "@", 1], ["?", "?", "?", 1],
|
|
||||||
["!", "!", "!", 1], ["\u232b", null, "backspace", 2]
|
|
||||||
],
|
|
||||||
"normal_2" : [
|
|
||||||
["\u21B9", "\t", "tab", 1.5], ["q", "q", "q", 1], ["w", "w", "w", 1],
|
|
||||||
["e", "e", "e", 1], ["r", "r", "r", 1], ["t", "t", "t", 1],
|
|
||||||
["y", "y", "y", 1], ["u", "u", "u", 1], ["i", "i", "i", 1],
|
|
||||||
["o", "o", "o", 1], ["p", "p", "p", 1], ["[", "[", "[", 1],
|
|
||||||
["]", "]", "]", 1], ["\\", "\\", "\\", 1.5]
|
|
||||||
],
|
|
||||||
"normal_3": [
|
|
||||||
["\u21ea", null, "capslock", 1.8], ["a", "a", "a", 1], ["s", "s", "s", 1],
|
|
||||||
["d", "d", "d", 1], ["f", "f", "f", 1], ["g", "g", "g", 1],
|
|
||||||
["h", "h", "h", 1], ["j", "j", "j", 1], ["k", "k", "k", 1],
|
|
||||||
["l", "l", "l", 1], [";", ";", ";", 1], ["'", "'", "'", 1],
|
|
||||||
["\u23ce", null, "enter", 2.2]
|
|
||||||
],
|
|
||||||
"normal_4": [
|
|
||||||
["\u21e7", null, "shift", 2.5], ["z", "z", "z", 1], ["x", "x", "x", 1],
|
|
||||||
["c", "c", "c", 1], ["v", "v", "v", 1], ["b", "b", "b", 1],
|
|
||||||
["n", "n", "n", 1], ["m", "m", "m", 1], [",", ",", ",", 1],
|
|
||||||
[".", ".", ".", 1], ["/", "/", "/", 1], ["\u21e7", null, "shift", 2.5]
|
|
||||||
],
|
|
||||||
"normal_5": [
|
|
||||||
["#+=", null, "special", 2.5], [" ", " ", "spacebar", 11], ["\u2a2f", null, "escape", 1.5]
|
|
||||||
],
|
|
||||||
|
|
||||||
"shift_1": [
|
|
||||||
["1", "1", "1", 1], ["2", "2", "2", 1], ["3", "3", "3", 1],
|
|
||||||
["4", "4", "4", 1], ["5", "5", "5", 1], ["6", "6", "6", 1],
|
|
||||||
["7", "7", "7", 1], ["8", "8", "8", 1], ["9", "9", "9", 1],
|
|
||||||
["0", "0", "0", 1], ["@", "@", "@", 1], ["?", "?", "?", 1],
|
|
||||||
["!", "!", "!", 1], ["\u232b", null, "backspace", 2]
|
|
||||||
],
|
|
||||||
"shift_2": [
|
|
||||||
["\u21B9", "\t", "tab", 1.5], ["Q", "Q", null, 1], ["W", "W", null, 1],
|
|
||||||
["E", "E", "e", 1], ["R", "R", "r", 1], ["T", "T", "t", 1],
|
|
||||||
["Y", "Y", "y", 1], ["U", "U", "u", 1], ["I", "I", "i", 1],
|
|
||||||
["O", "O", "o", 1], ["P", "P", "p", 1], ["{", "{", "{", 1],
|
|
||||||
["}", "}", "}", 1], ["|", "|", "|", 1.5]
|
|
||||||
],
|
|
||||||
"shift_3": [
|
|
||||||
["\u21ea", null, "capslock", 1.8], ["A", "A", "a", 1], ["S", "S", "s", 1],
|
|
||||||
["D", "D", "d", 1], ["F", "F", "f", 1], ["G", "G", "g", 1],
|
|
||||||
["H", "H", "h", 1], ["J", "J", "j", 1], ["K", "K", "k", 1],
|
|
||||||
["L", "L", "l", 1], [":", ":", ":", 1], ["\"", "\"", "\"", 1],
|
|
||||||
["\u23ce", null, "enter", 2.2]
|
|
||||||
],
|
|
||||||
"shift_4": [
|
|
||||||
["\u21e7", null, "shift", 2.5], ["Z", "Z", "z", 1], ["X", "X", "x", 1],
|
|
||||||
["C", "C", "c", 1], ["V", "V", "v", 1], ["B", "B", "b", 1],
|
|
||||||
["N", "N", "n", 1], ["M", "M", "m", 1], ["<", "<", "<", 1],
|
|
||||||
[">", ">", ">", 1], ["?", "?", "?", 1], ["\u21e7", null, "shift", 2.5]
|
|
||||||
],
|
|
||||||
"shift_5": [
|
|
||||||
["#+=", null, "special", 2.5], [" ", " ", "spacebar", 11], ["\u2a2f", null, "escape", 1.5]
|
|
||||||
],
|
|
||||||
|
|
||||||
"special_1": [
|
|
||||||
["1", "1", "1", 1], ["2", "2", "2", 1], ["3", "3", "3", 1],
|
|
||||||
["4", "4", "4", 1], ["5", "5", "5", 1], ["6", "6", "6", 1],
|
|
||||||
["7", "7", "7", 1], ["8", "8", "8", 1], ["9", "9", "9", 1],
|
|
||||||
["0", "0", "0", 1], ["@", "@", "@", 1], ["?", "?", "?", 1],
|
|
||||||
["!", "!", "!", 1], ["\u232b", null, "backspace", 2]
|
|
||||||
],
|
|
||||||
"special_2": [
|
|
||||||
["\u21B9", "\t", "tab", 1.5], ["(", "(", "(", 1], [")", ")", ")", 1],
|
|
||||||
["{", "{", "{", 1], ["}", "}", "}", 1], ["[", "[", "[", 1],
|
|
||||||
["]", "]", "]", 1], ["€", "€", "€", 1], ["$", "$", "$", 1],
|
|
||||||
["£", "£", "£", 1], ["¥", "¥", "¥", 1], ["˘", "˘", "˘", 1],
|
|
||||||
["•", "•", "•", 1], ["|", "|", "|", 1.5]
|
|
||||||
],
|
|
||||||
"special_3": [
|
|
||||||
["\u21ea", null, "capslock", 1.8], ["“", "“", "“", 1], ["`", "`", "`", 1],
|
|
||||||
["«", "«", "«", 1], ["»", "»", "»", 1], ["#", "#", "#", 1],
|
|
||||||
["%", "%", "%", 1], ["^", "^", "^", 1], ["°", "°", "°", 1],
|
|
||||||
["&", "&", "&", 1], ["ÿ", "ÿ", "ÿ", 1], ["-", "-", "-", 1],
|
|
||||||
["\u23ce", null, "enter", 2.2]
|
|
||||||
],
|
|
||||||
"special_4": [
|
|
||||||
["\u21e7", null, "shift", 2.5], ["+", "+", "+", 1], ["=", "=", "=", 1],
|
|
||||||
["<", "<", "<", 1], [">", ">", ">", 1], ["*", "*", "*", 1],
|
|
||||||
["Ù", "Ù", "Ù", 1], ["~", "~", "~", 1], ["À", "À", "À", 1],
|
|
||||||
[":", ":", ":", 1], ["_", "_", "_", 1], ["\u21e7", null, "shift", 2.5]
|
|
||||||
],
|
|
||||||
"special_5": [
|
|
||||||
["#+=", null, "special", 2.5], [" ", " ", "spacebar", 11], ["\u2a2f", null, "escape", 1.5]
|
|
||||||
]
|
|
||||||
}
|
|
||||||
|
|
@ -1,97 +0,0 @@
|
||||||
{
|
|
||||||
"title": "es_ES",
|
|
||||||
"description": "A Spanish keyboard, touch optimized (no shift+caps lock)",
|
|
||||||
"cols": 15,
|
|
||||||
"rows": 5,
|
|
||||||
"normal_1":[
|
|
||||||
["`", "`", "`", 1], ["1", "1", "1", 1], ["2", "2", "2", 1],
|
|
||||||
["3", "3", "3", 1], ["4", "4", "4", 1], ["5", "5", "5", 1],
|
|
||||||
["6", "6", "6", 1], ["7", "7", "7", 1], ["8", "8", "8", 1],
|
|
||||||
["9", "9", "9", 1], ["0", "0", "0", 1], ["-", "-", "-", 1],
|
|
||||||
["=", "=", "=", 1], ["\u232b", null, "backspace", 2]
|
|
||||||
],
|
|
||||||
"normal_2" : [
|
|
||||||
["\u21B9", "\t", "tab", 1.5], ["q", "q", "q", 1], ["w", "w", "w", 1],
|
|
||||||
["e", "e", "e", 1], ["r", "r", "r", 1], ["t", "t", "t", 1],
|
|
||||||
["y", "y", "y", 1], ["u", "u", "u", 1], ["i", "i", "i", 1],
|
|
||||||
["o", "o", "o", 1], ["p", "p", "p", 1], ["[", "[", "[", 1],
|
|
||||||
["]", "]", "]", 1], ["\\", "\\", "\\", 1]
|
|
||||||
],
|
|
||||||
"normal_3": [
|
|
||||||
["\u21ea", null, "capslock", 1.8], ["a", "a", "a", 1], ["s", "s", "s", 1],
|
|
||||||
["d", "d", "d", 1], ["f", "f", "f", 1], ["g", "g", "g", 1],
|
|
||||||
["h", "h", "h", 1], ["j", "j", "j", 1], ["k", "k", "k", 1],
|
|
||||||
["l", "l", "l", 1], [":", ":", ":", 1], ["'", "'", "'", 1],
|
|
||||||
["\u23ce", null, "enter", 2.2]
|
|
||||||
],
|
|
||||||
"normal_4": [
|
|
||||||
["\u21e7", null, "shift", 2.5], ["z", "z", "z", 1], ["x", "x", "x", 1],
|
|
||||||
["c", "c", "c", 1], ["v", "v", "v", 1], ["b", "b", "b", 1],
|
|
||||||
["n", "n", "n", 1], ["m", "m", "m", 1], [",", ",", ",", 1],
|
|
||||||
[".", ".", ".", 1], ["/", "/", "/", 1], ["\u21e7", null, "shift", 2.5]
|
|
||||||
],
|
|
||||||
"normal_5": [
|
|
||||||
["#+=", null, "special", 2.5], [" ", " ", "spacebar", 11], ["\u2a2f", null, "escape", 1.5]
|
|
||||||
],
|
|
||||||
"shift_1":[
|
|
||||||
["~", "~", "~", 1], ["!", "!", "!", 1], ["@", "@", "@", 1],
|
|
||||||
["#", "#", "#", 1], ["$", "$", "$", 1], ["%", "%", "%", 1],
|
|
||||||
["^", "^", "^", 1], ["&", "&", "&", 1], ["*", "*", "*", 1],
|
|
||||||
["(", "(", "(", 1], [")", ")", ")", 1], ["_", "_", "_", 1],
|
|
||||||
["+", "+", "+", 1], ["\u232b", null, "backspace", 2]
|
|
||||||
],
|
|
||||||
"shift_2": [
|
|
||||||
["\u21B9", "\t", "tab", 1.5], ["Q", "Q", "q", 1], ["W", "W", "w", 1],
|
|
||||||
["E", "E", "e", 1], ["R", "R", "r", 1], ["T", "T", "t", 1],
|
|
||||||
["Y", "Y", "y", 1], ["U", "U", "u", 1], ["I", "I", "i", 1],
|
|
||||||
["O", "O", "o", 1], ["P", "P", "p", 1], ["{", "{", "{", 1],
|
|
||||||
["}", "}", "}", 1], ["|", "|", "|", 1.5]
|
|
||||||
],
|
|
||||||
"shift_3": [
|
|
||||||
["\u21ea", null, "capslock", 1.8], ["A", "A", "a", 1], ["S", "S", "s", 1],
|
|
||||||
["D", "D", "d", 1], ["F", "F", "f", 1], ["G", "G", "g", 1],
|
|
||||||
["H", "H", "h", 1], ["J", "J", "j", 1], ["K", "K", "k", 1],
|
|
||||||
["L", "L", "l", 1], [";", ";", ";", 1], ["\"", "\"", "\"", 1],
|
|
||||||
["\u23ce", null, "enter", 2.2]
|
|
||||||
],
|
|
||||||
"shift_4": [
|
|
||||||
["\u21e7", null, "shift", 2.5], ["Z", "Z", "z", 1], ["X", "X", "x", 1],
|
|
||||||
["C", "C", "c", 1], ["V", "V", "v", 1], ["B", "B", "b", 1],
|
|
||||||
["N", "N", "n", 1], ["M", "M", "m", 1], ["<", "<", "<", 1],
|
|
||||||
[">", ">", ">", 1], ["?", "?", "?", 1.5], ["\u21e7", null, "shift", 2.5]
|
|
||||||
],
|
|
||||||
"shift_5": [
|
|
||||||
["#+=", null, "special", 2.5], [" ", " ", "spacebar", 11], ["\u2a2f", null, "escape", 1.5]
|
|
||||||
],
|
|
||||||
"special_1": [
|
|
||||||
["`", "`", "`", 1], ["¡", "¡", "¡", 1], ["2", "2", "2", 1],
|
|
||||||
["3", "3", "3", 1], ["4", "4", "4", 1], ["5", "5", "5", 1],
|
|
||||||
["6", "6", "6", 1], ["ü", "ü", "ü", 1], ["8", "8", "8", 1],
|
|
||||||
["9", "9", "9", 1], ["0", "0", "0", 1], ["-", "-", "-", 1],
|
|
||||||
["=", "=", "=", 1], ["\u232b", null, "backspace", 2]
|
|
||||||
],
|
|
||||||
"special_2": [
|
|
||||||
["\u21B9", "\t", "tab", 1.5], ["q", "q", "q", 1], ["w", "w", "w", 1],
|
|
||||||
["é", "é", "é", 1], ["r", "r", "r", 1], ["t", "t", "t", 1],
|
|
||||||
["y", "y", "y", 1], ["ú", "ú", "ú", 1], ["í", "í", "í", 1],
|
|
||||||
["ó", "ó", "ó", 1], ["p", "p", "p", 1], ["[", "[", "[", 1],
|
|
||||||
["]", "]", "]", 1], ["\\", "\\", "\\", 1]
|
|
||||||
],
|
|
||||||
"special_3": [
|
|
||||||
["\u21ea", null, "capslock", 1.8], ["á", "á", "á", 1], ["Ü", "Ü", "Ü", 1],
|
|
||||||
["É", "É", "É", 1], ["Ú", "Ú", "Ú", 1], ["Í", "Í", "Í", 1],
|
|
||||||
["Ó", "Ó", "Ó", 1], ["Ñ", "Ñ", "Ñ", 1], ["k", "k", "k", 1],
|
|
||||||
["l", "l", "l", 1], [":", ":", ":", 1], ["'", "'", "'", 1],
|
|
||||||
["\u23ce", null, "enter", 2.2]
|
|
||||||
],
|
|
||||||
"special_4": [
|
|
||||||
["\u21e7", null, "shift", 2.5], ["z", "z", "z", 1], ["x", "x", "x", 1],
|
|
||||||
["c", "c", "c", 1], ["v", "v", "v", 1], ["b", "b", "b", 1],
|
|
||||||
["ñ", "ñ", "ñ", 1], ["m", "m", "m", 1], [",", ",", ",", 1],
|
|
||||||
[".", ".", ".", 1], ["¿", "¿", "¿", 1], ["\u21e7", null, "shift", 2.5]
|
|
||||||
],
|
|
||||||
"special_5": [
|
|
||||||
["#+=", null, "special", 2.5], [" ", " ", "spacebar", 11], ["\u2a2f", null, "escape", 1.5]
|
|
||||||
]
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
@ -1,98 +0,0 @@
|
||||||
{
|
|
||||||
"title": "fr_CH",
|
|
||||||
"description": "A Swiss French keyboard, touch optimized (no shift+caps lock)",
|
|
||||||
"cols": 15,
|
|
||||||
"rows": 5,
|
|
||||||
"normal_1": [
|
|
||||||
["1", "1", "1", 1], ["2", "2", "2", 1], ["3", "3", "3", 1],
|
|
||||||
["4", "4", "4", 1], ["5", "5", "5", 1], ["6", "6", "6", 1],
|
|
||||||
["7", "7", "7", 1], ["8", "8", "8", 1], ["9", "9", "9", 1],
|
|
||||||
["0", "0", "0", 1], ["@", "@", "@", 1], ["?", "?", "?", 1],
|
|
||||||
["!", "!", "!", 1], ["\u232b", null, "backspace", 2]
|
|
||||||
],
|
|
||||||
"normal_2" : [
|
|
||||||
["\u21B9", "\t", "tab", 1.5], ["q", "q", "q", 1], ["w", "w", "w", 1],
|
|
||||||
["e", "e", "e", 1], ["r", "r", "r", 1], ["t", "t", "t", 1],
|
|
||||||
["z", "z", "z", 1], ["u", "u", "u", 1], ["i", "i", "i", 1],
|
|
||||||
["o", "o", "o", 1], ["p", "p", "p", 1], ["è", "è", "è", 1],
|
|
||||||
[":", ":", ":", 1], ["$", "$", "$", 1.5]
|
|
||||||
],
|
|
||||||
"normal_3": [
|
|
||||||
["\u21ea", null, "capslock", 1.8], ["a", "a", "a", 1], ["s", "s", "s", 1],
|
|
||||||
["d", "d", "d", 1], ["f", "f", "f", 1], ["g", "g", "g", 1],
|
|
||||||
["h", "h", "h", 1], ["j", "j", "j", 1], ["k", "k", "k", 1],
|
|
||||||
["l", "l", "l", 1], ["é", "é", "é", 1], ["à", "à", "à", 1],
|
|
||||||
["\u23ce", null, "enter", 2.2]
|
|
||||||
],
|
|
||||||
"normal_4": [
|
|
||||||
["\u21e7", null, "shift", 2.5], ["y", "y", "y", 1], ["x", "x", "x", 1],
|
|
||||||
["c", "c", "c", 1], ["v", "v", "v", 1], ["b", "b", "b", 1],
|
|
||||||
["n", "n", "n", 1], ["m", "m", "m", 1], [",", ",", ",", 1],
|
|
||||||
[".", ".", ".", 1], ["-", "-", "-", 1], ["\u21e7", null, "shift", 2.5]
|
|
||||||
],
|
|
||||||
"normal_5": [
|
|
||||||
["#+=", null, "special", 2.5], [" ", " ", "spacebar", 11], ["\u2a2f", null, "escape", 1.5]
|
|
||||||
],
|
|
||||||
|
|
||||||
"shift_1": [
|
|
||||||
["1", "1", "1", 1], ["2", "2", "2", 1], ["3", "3", "3", 1],
|
|
||||||
["4", "4", "4", 1], ["5", "5", "5", 1], ["6", "6", "6", 1],
|
|
||||||
["7", "7", "7", 1], ["8", "8", "8", 1], ["9", "9", "9", 1],
|
|
||||||
["0", "0", "0", 1], ["@", "@", "@", 1], ["?", "?", "?", 1],
|
|
||||||
["!", "!", "!", 1], ["\u232b", null, "backspace", 2]
|
|
||||||
],
|
|
||||||
"shift_2": [
|
|
||||||
["\u21B9", "\t", "tab", 1.5], ["Q", "Q", null, 1], ["W", "W", null, 1],
|
|
||||||
["E", "E", "e", 1], ["R", "R", "r", 1], ["T", "T", "t", 1],
|
|
||||||
["Z", "Z", "z", 1], ["U", "U", "u", 1], ["I", "I", "i", 1],
|
|
||||||
["O", "O", "o", 1], ["P", "P", "p", 1], ["È", "È", "È", 1],
|
|
||||||
[":", ":", ":", 1], ["/", "/", "/", 1.5]
|
|
||||||
],
|
|
||||||
"shift_3": [
|
|
||||||
["\u21ea", null, "capslock", 1.8], ["A", "A", "a", 1], ["S", "S", "s", 1],
|
|
||||||
["D", "D", "d", 1], ["F", "F", "f", 1], ["G", "G", "g", 1],
|
|
||||||
["H", "H", "h", 1], ["J", "J", "j", 1], ["K", "K", "k", 1],
|
|
||||||
["L", "L", "l", 1], ["É", "É", "É", 1], ["À", "À", "À", 1],
|
|
||||||
["\u23ce", null, "enter", 2.2]
|
|
||||||
],
|
|
||||||
"shift_4": [
|
|
||||||
["\u21e7", null, "shift", 2.5], ["Y", "Y", "y", 1], ["X", "X", "x", 1],
|
|
||||||
["C", "C", "c", 1], ["V", "V", "v", 1], ["B", "B", "b", 1],
|
|
||||||
["N", "N", "n", 1], ["M", "M", "m", 1], [";", ";", ";", 1],
|
|
||||||
[":", ":", ":", 1], ["_", "_", "_", 1], ["\u21e7", null, "shift", 2.5]
|
|
||||||
],
|
|
||||||
"shift_5": [
|
|
||||||
["#+=", null, "special", 2.5], [" ", " ", "spacebar", 11], ["\u2a2f", null, "escape", 1.5]
|
|
||||||
],
|
|
||||||
|
|
||||||
"special_1": [
|
|
||||||
["1", "1", "1", 1], ["2", "2", "2", 1], ["3", "3", "3", 1],
|
|
||||||
["4", "4", "4", 1], ["5", "5", "5", 1], ["6", "6", "6", 1],
|
|
||||||
["7", "7", "7", 1], ["8", "8", "8", 1], ["9", "9", "9", 1],
|
|
||||||
["0", "0", "0", 1], ["@", "@", "@", 1], ["?", "?", "?", 1],
|
|
||||||
["!", "!", "!", 1], ["\u232b", null, "backspace", 2]
|
|
||||||
],
|
|
||||||
"special_2": [
|
|
||||||
["\u21B9", "\t", "tab", 1.5], ["(", "(", "(", 1], [")", ")", ")", 1],
|
|
||||||
["{", "{", "{", 1], ["}", "}", "}", 1], ["[", "[", "[", 1],
|
|
||||||
["]", "]", "]", 1], ["€", "€", "€", 1], ["$", "$", "$", 1],
|
|
||||||
["£", "£", "£", 1], ["¥", "¥", "¥", 1], ["ü", "ü", "ü", 1],
|
|
||||||
["•", "•", "•", 1], ["|", "|", "|", 1.5]
|
|
||||||
],
|
|
||||||
"special_3": [
|
|
||||||
["\u21ea", null, "capslock", 1.8], ["“", "“", "“", 1], ["`", "`", "`", 1],
|
|
||||||
["«", "«", "«", 1], ["»", "»", "»", 1], ["#", "#", "#", 1],
|
|
||||||
["%", "%", "%", 1], ["^", "^", "^", 1], ["°", "°", "°", 1],
|
|
||||||
["&", "&", "&", 1], ["ö", "ö", "ö", 1], ["ä", "ä", "ä", 1],
|
|
||||||
["\u23ce", null, "enter", 2.2]
|
|
||||||
],
|
|
||||||
"special_4": [
|
|
||||||
["\u21e7", null, "shift", 2.5], ["+", "+", "+", 1], ["=", "=", "=", 1],
|
|
||||||
["<", "<", "<", 1], [">", ">", ">", 1], ["*", "*", "*", 1],
|
|
||||||
["Ö", "Ö", "Ö", 1], ["Ä", "Ä", "Ä", 1], ["Ü", "Ü", "Ü", 1],
|
|
||||||
[":", ":", ":", 1], ["_", "_", "_", 1], ["\u21e7", null, "shift", 2.5]
|
|
||||||
],
|
|
||||||
"special_5": [
|
|
||||||
["#+=", null, "special", 2.5], [" ", " ", "spacebar", 11], ["\u2a2f", null, "escape", 1.5]
|
|
||||||
]
|
|
||||||
}
|
|
||||||