diff --git a/assets/special_font.ttf b/assets/special_font.ttf index 4f6c23d..c21ad29 100644 Binary files a/assets/special_font.ttf and b/assets/special_font.ttf differ diff --git a/srcs/juloo.keyboard2/ComposeKey.java b/srcs/juloo.keyboard2/ComposeKey.java index 6e0094d..f2169b1 100644 --- a/srcs/juloo.keyboard2/ComposeKey.java +++ b/srcs/juloo.keyboard2/ComposeKey.java @@ -17,7 +17,7 @@ public final class ComposeKey return res; /* Tapping compose again exits the pending sequence. */ case Compose_pending: - return KeyValue.nothingKey(kv); + return KeyValue.getKeyByName("compose_cancel"); /* These keys are not greyed. */ case Event: case Modifier: diff --git a/srcs/juloo.keyboard2/KeyValue.java b/srcs/juloo.keyboard2/KeyValue.java index 91cf634..1c2f10f 100644 --- a/srcs/juloo.keyboard2/KeyValue.java +++ b/srcs/juloo.keyboard2/KeyValue.java @@ -80,7 +80,7 @@ public final class KeyValue implements Comparable public static enum Placeholder { REMOVED, - NOTHING, + COMPOSE_CANCEL, F11, F12, SHINDOT, @@ -381,14 +381,10 @@ public final class KeyValue implements Comparable return new KeyValue("", Kind.Placeholder, id.ordinal(), 0); } - /** Make a key that does nothing, inheriting the symbol from an other key. */ - public static KeyValue nothingKey(KeyValue inherit) + private static KeyValue placeholderKey(int symbol, Placeholder id, int flags) { - // Keep only appearance flags - int flags = inherit.getFlags() & (FLAG_SPECIAL | FLAG_GREYED | - FLAG_KEY_FONT | FLAG_SMALLER_FONT | FLAG_SECONDARY); - return new KeyValue(inherit.getString(), Kind.Placeholder, - Placeholder.NOTHING.ordinal(), flags); + return new KeyValue(String.valueOf((char)symbol), Kind.Placeholder, + id.ordinal(), flags | FLAG_KEY_FONT); } public static KeyValue makeStringKey(String str) @@ -698,6 +694,7 @@ public final class KeyValue implements Comparable /* The compose key */ case "compose": return makeComposePending(0xE016, ComposeKeyData.compose, FLAG_SECONDARY | FLAG_SPECIAL); + case "compose_cancel": return placeholderKey(0xE01A, Placeholder.COMPOSE_CANCEL, FLAG_SECONDARY | FLAG_SPECIAL); /* Placeholder keys */ case "removed": return placeholderKey(Placeholder.REMOVED); diff --git a/srcs/special_font/01A.svg b/srcs/special_font/01A.svg new file mode 100644 index 0000000..98262a6 --- /dev/null +++ b/srcs/special_font/01A.svg @@ -0,0 +1,9 @@ + + + + + + + + +