crossmate

A collaborative crossword app for iOS
Log | Files | Refs | LICENSE

commit 12e87223429853af8d009fa488059af23b74b906
parent be0f462bb9574f12bac6a515eb8e76a1d9e656b4
Author: Michael Camilleri <[email protected]>
Date:   Wed,  1 Jul 2026 07:17:07 +0900

Invert active overflow key on software keyboard

Diffstat:
MCrossmate/Views/Puzzle/KeyboardView.swift | 13+++++++++++--
1 file changed, 11 insertions(+), 2 deletions(-)

diff --git a/Crossmate/Views/Puzzle/KeyboardView.swift b/Crossmate/Views/Puzzle/KeyboardView.swift @@ -294,9 +294,18 @@ struct KeyboardView: View { /// The `…` key. It swaps between the letters and the numbers/symbols layer, /// keeping the same icon and position on both so it reads as one persistent - /// control. Available during rebus entry too, so mixed fills can be typed. + /// control. While the symbols layer is showing the key inverts to a dark grey + /// chip with a light glyph — the iOS Shift-key idiom — to signal it's the + /// active mode. There's no room for an `ABC` label, and grey (rather than the + /// pencil key's blue) keeps it from reading as a primary action. Available + /// during rebus entry too, so mixed fills can be typed. private var layerToggleKey: some View { - actionKey(systemImage: "ellipsis", accessibilityLabel: showsSymbols ? "Letters" : "Numbers and Symbols") { + actionKey( + systemImage: "ellipsis", + accessibilityLabel: showsSymbols ? "Letters" : "Numbers and Symbols", + background: showsSymbols ? Color(.secondaryLabel) : Color(.systemFill), + foreground: showsSymbols ? Color(.systemBackground) : .primary + ) { showsSymbols.toggle() } }