Capitalize the first letter of custom keys

This is more useful than turning the entire string full caps.
This commit is contained in:
Jules Aguillon 2023-09-09 14:32:03 +02:00
parent 92a8db5e93
commit 44e2e86f19
2 changed files with 14 additions and 1 deletions

View File

@ -122,7 +122,8 @@ class KeyModifier
c = Character.toUpperCase(kc); c = Character.toUpperCase(kc);
return (kc == c) ? k : k.withChar(c); return (kc == c) ? k : k.withChar(c);
case String: case String:
return KeyValue.makeStringKey(k.getString().toUpperCase(), k.getFlags()); String s = Utils.capitalize_string(k.getString());
return KeyValue.makeStringKey(s, k.getFlags());
default: return k; default: return k;
} }
} }

View File

@ -0,0 +1,12 @@
package juloo.keyboard2;
final class Utils
{
/** Turn the first letter of a string uppercase. */
public static String capitalize_string(String s)
{
// Make sure not to cut a code point in half
int i = s.offsetByCodePoints(0, 1);
return s.substring(0, i).toUpperCase() + s.substring(i);
}
}