From 8a6dc34b2c77d9a0bbcddbb32da0aff506057de5 Mon Sep 17 00:00:00 2001 From: Jules Aguillon Date: Fri, 4 Oct 2024 01:08:45 +0200 Subject: Add combining diacritics keys Co-authored-by: Anastazius Kaejatidarjan --- srcs/juloo.keyboard2/KeyValue.java | 26 ++++++++++++++ .../juloo.keyboard2/prefs/ExtraKeysPreference.java | 39 ++++++++++++++++++++ srcs/special_font/150.svg | 41 ++++++++++++++++++++++ srcs/special_font/151.svg | 41 ++++++++++++++++++++++ srcs/special_font/152.svg | 41 ++++++++++++++++++++++ srcs/special_font/153.svg | 41 ++++++++++++++++++++++ srcs/special_font/154.svg | 41 ++++++++++++++++++++++ srcs/special_font/155.svg | 41 ++++++++++++++++++++++ srcs/special_font/156.svg | 41 ++++++++++++++++++++++ srcs/special_font/157.svg | 41 ++++++++++++++++++++++ srcs/special_font/158.svg | 41 ++++++++++++++++++++++ srcs/special_font/159.svg | 39 ++++++++++++++++++++ srcs/special_font/15A.svg | 40 +++++++++++++++++++++ srcs/special_font/15B.svg | 39 ++++++++++++++++++++ srcs/special_font/15C.svg | 35 ++++++++++++++++++ srcs/special_font/15D.svg | 35 ++++++++++++++++++ srcs/special_font/15E.svg | 39 ++++++++++++++++++++ srcs/special_font/15F.svg | 35 ++++++++++++++++++ srcs/special_font/160.svg | 35 ++++++++++++++++++ srcs/special_font/161.svg | 35 ++++++++++++++++++ srcs/special_font/162.svg | 35 ++++++++++++++++++ 21 files changed, 801 insertions(+) create mode 100644 srcs/special_font/150.svg create mode 100644 srcs/special_font/151.svg create mode 100644 srcs/special_font/152.svg create mode 100644 srcs/special_font/153.svg create mode 100644 srcs/special_font/154.svg create mode 100644 srcs/special_font/155.svg create mode 100644 srcs/special_font/156.svg create mode 100644 srcs/special_font/157.svg create mode 100644 srcs/special_font/158.svg create mode 100644 srcs/special_font/159.svg create mode 100644 srcs/special_font/15A.svg create mode 100644 srcs/special_font/15B.svg create mode 100644 srcs/special_font/15C.svg create mode 100644 srcs/special_font/15D.svg create mode 100644 srcs/special_font/15E.svg create mode 100644 srcs/special_font/15F.svg create mode 100644 srcs/special_font/160.svg create mode 100644 srcs/special_font/161.svg create mode 100644 srcs/special_font/162.svg (limited to 'srcs') diff --git a/srcs/juloo.keyboard2/KeyValue.java b/srcs/juloo.keyboard2/KeyValue.java index 320eaaa..76bf2d0 100644 --- a/srcs/juloo.keyboard2/KeyValue.java +++ b/srcs/juloo.keyboard2/KeyValue.java @@ -403,6 +403,11 @@ public final class KeyValue implements Comparable return new KeyValue(symbol, Kind.Char, c, flags); } + public static KeyValue makeCharKey(int symbol, char c, int flags) + { + return makeCharKey(c, String.valueOf((char)symbol), flags | FLAG_KEY_FONT); + } + public static KeyValue makeComposePending(String symbol, int state, int flags) { return new KeyValue(symbol, Kind.Compose_pending, state, @@ -522,6 +527,27 @@ public final class KeyValue implements Comparable case "fn": return modifierKey("Fn", Modifier.FN, 0); case "meta": return modifierKey("Meta", Modifier.META, 0); + /* Combining diacritics */ + case "combining_dot_above": return makeCharKey(0xE15A, '\u0307', 0); + case "combining_double_aigu": return makeCharKey(0xE15B, '\u030B', 0); + case "combining_slash": return makeCharKey(0xE15C, '\u0337', 0); + case "combining_arrow_right": return makeCharKey(0xE15D, '\u20D7', 0); + case "combining_breve": return makeCharKey(0xE15E, '\u0306', 0); + case "combining_bar": return makeCharKey(0xE15F, '\u0335', 0); + case "combining_aigu": return makeCharKey(0xE150, '\u0301', 0); + case "combining_caron": return makeCharKey(0xE151, '\u030C', 0); + case "combining_cedille": return makeCharKey(0xE152, '\u0327', 0); + case "combining_circonflexe": return makeCharKey(0xE153, '\u0302', 0); + case "combining_grave": return makeCharKey(0xE154, '\u0300', 0); + case "combining_macron": return makeCharKey(0xE155, '\u0304', 0); + case "combining_ring": return makeCharKey(0xE156, '\u030A', 0); + case "combining_tilde": return makeCharKey(0xE157, '\u0303', 0); + case "combining_trema": return makeCharKey(0xE158, '\u0308', 0); + case "combining_ogonek": return makeCharKey(0xE159, '\u0328', 0); + case "combining_dot_below": return makeCharKey(0xE160, '\u0323', 0); + case "combining_horn": return makeCharKey(0xE161, '\u031B', 0); + case "combining_hook_above": return makeCharKey(0xE162, '\u0309', 0); + /* Special event keys */ case "config": return eventKey(0xE004, Event.CONFIG, FLAG_SMALLER_FONT); case "switch_text": return eventKey("ABC", Event.SWITCH_TEXT, FLAG_SMALLER_FONT); diff --git a/srcs/juloo.keyboard2/prefs/ExtraKeysPreference.java b/srcs/juloo.keyboard2/prefs/ExtraKeysPreference.java index 11e1a05..f5a99ff 100644 --- a/srcs/juloo.keyboard2/prefs/ExtraKeysPreference.java +++ b/srcs/juloo.keyboard2/prefs/ExtraKeysPreference.java @@ -72,6 +72,25 @@ public class ExtraKeysPreference extends PreferenceCategory "f11_placeholder", "f12_placeholder", "menu", + "combining_dot_above", + "combining_double_aigu", + "combining_slash", + "combining_arrow_right", + "combining_breve", + "combining_bar", + "combining_aigu", + "combining_caron", + "combining_cedille", + "combining_circonflexe", + "combining_grave", + "combining_macron", + "combining_ring", + "combining_tilde", + "combining_trema", + "combining_ogonek", + "combining_dot_below", + "combining_horn", + "combining_hook_above" }; /** Whether an extra key is enabled by default. */ @@ -121,6 +140,26 @@ public class ExtraKeysPreference extends PreferenceCategory case "ª": id = R.string.key_descr_ª; break; case "º": id = R.string.key_descr_º; break; case "switch_clipboard": id = R.string.key_descr_clipboard; break; + + case "combining_dot_above": + case "combining_double_aigu": + case "combining_slash": + case "combining_arrow_right": + case "combining_breve": + case "combining_bar": + case "combining_aigu": + case "combining_caron": + case "combining_cedille": + case "combining_circonflexe": + case "combining_grave": + case "combining_macron": + case "combining_ring": + case "combining_tilde": + case "combining_trema": + case "combining_ogonek": + case "combining_dot_below": + case "combining_horn": + case "combining_hook_above": id = R.string.key_descr_combining; break; } if (id == 0) return null; diff --git a/srcs/special_font/150.svg b/srcs/special_font/150.svg new file mode 100644 index 0000000..0de55d6 --- /dev/null +++ b/srcs/special_font/150.svg @@ -0,0 +1,41 @@ + + + + + + + + + + diff --git a/srcs/special_font/151.svg b/srcs/special_font/151.svg new file mode 100644 index 0000000..636b330 --- /dev/null +++ b/srcs/special_font/151.svg @@ -0,0 +1,41 @@ + + + + + + + + + + diff --git a/srcs/special_font/152.svg b/srcs/special_font/152.svg new file mode 100644 index 0000000..78da317 --- /dev/null +++ b/srcs/special_font/152.svg @@ -0,0 +1,41 @@ + + + + + + + + + + diff --git a/srcs/special_font/153.svg b/srcs/special_font/153.svg new file mode 100644 index 0000000..2663592 --- /dev/null +++ b/srcs/special_font/153.svg @@ -0,0 +1,41 @@ + + + + + + + + + + diff --git a/srcs/special_font/154.svg b/srcs/special_font/154.svg new file mode 100644 index 0000000..65118b6 --- /dev/null +++ b/srcs/special_font/154.svg @@ -0,0 +1,41 @@ + + + + + + + + + + diff --git a/srcs/special_font/155.svg b/srcs/special_font/155.svg new file mode 100644 index 0000000..111fb0e --- /dev/null +++ b/srcs/special_font/155.svg @@ -0,0 +1,41 @@ + + + + + + + + + + diff --git a/srcs/special_font/156.svg b/srcs/special_font/156.svg new file mode 100644 index 0000000..4f0c539 --- /dev/null +++ b/srcs/special_font/156.svg @@ -0,0 +1,41 @@ + + + + + + + + + + diff --git a/srcs/special_font/157.svg b/srcs/special_font/157.svg new file mode 100644 index 0000000..8b26521 --- /dev/null +++ b/srcs/special_font/157.svg @@ -0,0 +1,41 @@ + + + + + + + + + + diff --git a/srcs/special_font/158.svg b/srcs/special_font/158.svg new file mode 100644 index 0000000..b71a304 --- /dev/null +++ b/srcs/special_font/158.svg @@ -0,0 +1,41 @@ + + + + + + + + + + diff --git a/srcs/special_font/159.svg b/srcs/special_font/159.svg new file mode 100644 index 0000000..a295b5a --- /dev/null +++ b/srcs/special_font/159.svg @@ -0,0 +1,39 @@ + + + + + + + + diff --git a/srcs/special_font/15A.svg b/srcs/special_font/15A.svg new file mode 100644 index 0000000..4082669 --- /dev/null +++ b/srcs/special_font/15A.svg @@ -0,0 +1,40 @@ + + + + + + + + diff --git a/srcs/special_font/15B.svg b/srcs/special_font/15B.svg new file mode 100644 index 0000000..dcc28e9 --- /dev/null +++ b/srcs/special_font/15B.svg @@ -0,0 +1,39 @@ + + + + + + + + diff --git a/srcs/special_font/15C.svg b/srcs/special_font/15C.svg new file mode 100644 index 0000000..cc01919 --- /dev/null +++ b/srcs/special_font/15C.svg @@ -0,0 +1,35 @@ + + + + + + diff --git a/srcs/special_font/15D.svg b/srcs/special_font/15D.svg new file mode 100644 index 0000000..2eda493 --- /dev/null +++ b/srcs/special_font/15D.svg @@ -0,0 +1,35 @@ + + + + + + diff --git a/srcs/special_font/15E.svg b/srcs/special_font/15E.svg new file mode 100644 index 0000000..944e8e3 --- /dev/null +++ b/srcs/special_font/15E.svg @@ -0,0 +1,39 @@ + + + + + + + + diff --git a/srcs/special_font/15F.svg b/srcs/special_font/15F.svg new file mode 100644 index 0000000..2279655 --- /dev/null +++ b/srcs/special_font/15F.svg @@ -0,0 +1,35 @@ + + + + + + diff --git a/srcs/special_font/160.svg b/srcs/special_font/160.svg new file mode 100644 index 0000000..89da965 --- /dev/null +++ b/srcs/special_font/160.svg @@ -0,0 +1,35 @@ + + + + + + diff --git a/srcs/special_font/161.svg b/srcs/special_font/161.svg new file mode 100644 index 0000000..4d7bfaf --- /dev/null +++ b/srcs/special_font/161.svg @@ -0,0 +1,35 @@ + + + + + + diff --git a/srcs/special_font/162.svg b/srcs/special_font/162.svg new file mode 100644 index 0000000..8b46e04 --- /dev/null +++ b/srcs/special_font/162.svg @@ -0,0 +1,35 @@ + + + + + + -- cgit v1.2.3