Mirror upstream keyboard changes

This commit is contained in:
jpirnay
2026-04-27 21:47:51 +02:00
parent 9b3b9eb597
commit dfe5bf1ef7
5 changed files with 20 additions and 6 deletions
+4 -1
View File
@@ -907,11 +907,14 @@ void BaseTheme::drawKeyboardKey(const GfxRenderer& renderer, Rect rect, const ch
if (isSelected) { if (isSelected) {
if (inactiveSelection) { if (inactiveSelection) {
renderer.drawRect(rect.x, rect.y, rect.width, rect.height, 2, true); renderer.drawRect(rect.x, rect.y, rect.width, rect.height, 2, true);
} else if (keyType == KeyboardKeyType::Disabled) {
renderer.fillRectDither(rect.x, rect.y, rect.width, rect.height, Color::LightGray);
} else { } else {
renderer.fillRect(rect.x, rect.y, rect.width, rect.height, true); renderer.fillRect(rect.x, rect.y, rect.width, rect.height, true);
} }
} else if (keyType == KeyboardKeyType::Shift || keyType == KeyboardKeyType::Mode || keyType == KeyboardKeyType::Del || } else if (keyType == KeyboardKeyType::Shift || keyType == KeyboardKeyType::Mode || keyType == KeyboardKeyType::Del ||
keyType == KeyboardKeyType::Space || keyType == KeyboardKeyType::Ok) { keyType == KeyboardKeyType::Space || keyType == KeyboardKeyType::Ok ||
keyType == KeyboardKeyType::Disabled) {
renderer.drawRect(rect.x, rect.y, rect.width, rect.height); renderer.drawRect(rect.x, rect.y, rect.width, rect.height);
} }
+6 -2
View File
@@ -65,11 +65,13 @@ struct ThemeMetrics {
bool keyboardBottomAligned; bool keyboardBottomAligned;
bool keyboardCenteredText; bool keyboardCenteredText;
int keyboardVerticalOffset; int keyboardVerticalOffset;
int keyboardTextFieldWidthPercent;
int keyboardWidthPercent;
}; };
enum UIIcon { Folder, Text, Image, Book, File, Recent, Settings, Transfer, Library, Wifi, Hotspot, Weather }; enum UIIcon { Folder, Text, Image, Book, File, Recent, Settings, Transfer, Library, Wifi, Hotspot, Weather };
enum class KeyboardKeyType { Normal, Shift, Mode, Reveal, Space, Del, Ok }; enum class KeyboardKeyType { Normal, Shift, Mode, Reveal, Space, Del, Ok, Disabled };
// Default theme implementation (Classic Theme) // Default theme implementation (Classic Theme)
// Additional themes can inherit from this and override methods as needed // Additional themes can inherit from this and override methods as needed
@@ -107,7 +109,9 @@ constexpr ThemeMetrics values = {.batteryWidth = 15,
.keyboardBottomKeySpacing = 5, .keyboardBottomKeySpacing = 5,
.keyboardBottomAligned = true, .keyboardBottomAligned = true,
.keyboardCenteredText = false, .keyboardCenteredText = false,
.keyboardVerticalOffset = -13}; .keyboardVerticalOffset = -13,
.keyboardTextFieldWidthPercent = 85,
.keyboardWidthPercent = 90};
} }
class BaseTheme { class BaseTheme {
@@ -40,7 +40,9 @@ constexpr ThemeMetrics values = {.batteryWidth = 16,
.keyboardBottomKeySpacing = 5, .keyboardBottomKeySpacing = 5,
.keyboardBottomAligned = true, .keyboardBottomAligned = true,
.keyboardCenteredText = false, .keyboardCenteredText = false,
.keyboardVerticalOffset = -7}; .keyboardVerticalOffset = -7,
.keyboardTextFieldWidthPercent = 85,
.keyboardWidthPercent = 90};
} }
class Lyra3CoversTheme : public LyraTheme { class Lyra3CoversTheme : public LyraTheme {
+4 -1
View File
@@ -759,11 +759,14 @@ void LyraTheme::drawKeyboardKey(const GfxRenderer& renderer, Rect rect, const ch
if (isSelected) { if (isSelected) {
if (inactiveSelection) { if (inactiveSelection) {
renderer.fillRoundedRect(rect.x, rect.y, rect.width, rect.height, cornerRadius, Color::LightGray); renderer.fillRoundedRect(rect.x, rect.y, rect.width, rect.height, cornerRadius, Color::LightGray);
} else if (keyType == KeyboardKeyType::Disabled) {
renderer.fillRoundedRect(rect.x, rect.y, rect.width, rect.height, cornerRadius, Color::LightGray);
} else { } else {
renderer.fillRoundedRect(rect.x, rect.y, rect.width, rect.height, cornerRadius, Color::Black); renderer.fillRoundedRect(rect.x, rect.y, rect.width, rect.height, cornerRadius, Color::Black);
} }
} else if (keyType == KeyboardKeyType::Shift || keyType == KeyboardKeyType::Mode || keyType == KeyboardKeyType::Del || } else if (keyType == KeyboardKeyType::Shift || keyType == KeyboardKeyType::Mode || keyType == KeyboardKeyType::Del ||
keyType == KeyboardKeyType::Space || keyType == KeyboardKeyType::Ok) { keyType == KeyboardKeyType::Space || keyType == KeyboardKeyType::Ok ||
keyType == KeyboardKeyType::Disabled) {
renderer.drawRoundedRect(rect.x, rect.y, rect.width, rect.height, 1, cornerRadius, true); renderer.drawRoundedRect(rect.x, rect.y, rect.width, rect.height, 1, cornerRadius, true);
} }
+3 -1
View File
@@ -38,7 +38,9 @@ constexpr ThemeMetrics values = {.batteryWidth = 16,
.keyboardBottomKeySpacing = 5, .keyboardBottomKeySpacing = 5,
.keyboardBottomAligned = true, .keyboardBottomAligned = true,
.keyboardCenteredText = false, .keyboardCenteredText = false,
.keyboardVerticalOffset = -7}; .keyboardVerticalOffset = -7,
.keyboardTextFieldWidthPercent = 85,
.keyboardWidthPercent = 90};
} }
class LyraTheme : public BaseTheme { class LyraTheme : public BaseTheme {