git.lucas.co / cce-keyboard
on-screen keyboard
git clone https://git.lucas.co/cce-keyboard.git

commitad733312d60d127725b2198cb13244e16914926d
parent09714b8f74
authorLucas Galante <lsgalante12@gmail.com>
date2026-10-05 22:10
fix: the arrow keys' fallback labels are words, not arrow characters

The arrow keys draw the arrow-* cce-icons glyphs; their names were "←"
"→" "↑" "↓", shown only when the icon set is missing — and then as
symbol characters in a fallback face. They are Left / Right / Up / Down.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>

 src/layout.rs | 12 +++++++-----
 1 file changed, 7 insertions(+), 5 deletions(-)

diff --git a/src/layout.rs b/src/layout.rs
index ca2d149..42a192f 100644
--- a/src/layout.rs
+++ b/src/layout.rs
@@ -191,7 +191,9 @@ pub fn all_codes(rows: &[Vec<KeyDef>]) -> Vec<u32> {
 }
 
 /// A key that is not a character: the name it wears, or the bundled
-/// cce-icons glyph standing in for it (with the name as the fallback).
+/// cce-icons glyph standing in for it (with the name as the fallback —
+/// always a word, never a symbol character, since the fallback only shows
+/// when the icon set is missing).
 pub fn fixed_label(action: Action) -> Option<(&'static str, Option<&'static str>)> {
     use code::*;
     let named = |name| Some((name, None));
@@ -206,10 +208,10 @@ pub fn fixed_label(action: Action) -> Option<(&'static str, Option<&'static str>
             TAB => named("Tab"),
             ENTER => named("Enter"),
             SPACE => named(""),
-            LEFT => Some(("←", Some("arrow-left"))),
-            RIGHT => Some(("→", Some("arrow-right"))),
-            UP => Some(("↑", Some("arrow-up"))),
-            DOWN => Some(("↓", Some("arrow-down"))),
+            LEFT => Some(("Left", Some("arrow-left"))),
+            RIGHT => Some(("Right", Some("arrow-right"))),
+            UP => Some(("Up", Some("arrow-up"))),
+            DOWN => Some(("Down", Some("arrow-down"))),
             HOME => named("Home"),
             END => named("End"),
             PAGEUP => named("PgUp"),