diff options
| author | Jules Aguillon | 2023-09-09 14:32:03 +0200 |
|---|---|---|
| committer | Jules Aguillon | 2023-09-09 14:32:03 +0200 |
| commit | 44e2e86f19bd9e7acddad50506dad0737fa032d9 (patch) | |
| tree | bca7fd0aeea1f49316e0f5326b3b2673bdf48509 /srcs | |
| parent | 92a8db5e9374082000f9c79becd09661bea84dd9 (diff) | |
| download | unexpected-keyboard-44e2e86f19bd9e7acddad50506dad0737fa032d9.tar.gz unexpected-keyboard-44e2e86f19bd9e7acddad50506dad0737fa032d9.zip | |
Capitalize the first letter of custom keys
This is more useful than turning the entire string full caps.
Diffstat (limited to 'srcs')
| -rw-r--r-- | srcs/juloo.keyboard2/KeyModifier.java | 3 | ||||
| -rw-r--r-- | srcs/juloo.keyboard2/StringUtils.java | 12 |
2 files changed, 14 insertions, 1 deletions
diff --git a/srcs/juloo.keyboard2/KeyModifier.java b/srcs/juloo.keyboard2/KeyModifier.java index 32ee570..6d0792f 100644 --- a/srcs/juloo.keyboard2/KeyModifier.java +++ b/srcs/juloo.keyboard2/KeyModifier.java @@ -122,7 +122,8 @@ class KeyModifier c = Character.toUpperCase(kc); return (kc == c) ? k : k.withChar(c); 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; } } diff --git a/srcs/juloo.keyboard2/StringUtils.java b/srcs/juloo.keyboard2/StringUtils.java new file mode 100644 index 0000000..2994509 --- /dev/null +++ b/srcs/juloo.keyboard2/StringUtils.java @@ -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); + } +} |
