diff --git a/assets/special_font.ttf b/assets/special_font.ttf
index eb07561..ad676f5 100644
Binary files a/assets/special_font.ttf and b/assets/special_font.ttf differ
diff --git a/res/values-cs/strings.xml b/res/values-cs/strings.xml
index 4f51f8d..64a11a6 100644
--- a/res/values-cs/strings.xml
+++ b/res/values-cs/strings.xml
@@ -120,6 +120,7 @@ Tato aplikace neobsahuje žádné reklamy, nevyužívá připojení k síti a je
Home
End
Správce schránky
+
Nedávno kopírovaný text
Připnout
Odebrat ze schránky?
diff --git a/res/values-de/strings.xml b/res/values-de/strings.xml
index 39686c2..2303f46 100644
--- a/res/values-de/strings.xml
+++ b/res/values-de/strings.xml
@@ -120,6 +120,7 @@ Diese App enthält keine Werbung, benötigt keinen Netzwerkzugriff und ist quell
Pos1
Ende
Clipboard-Manager
+
Zuletzt kopierter Text
Angeheftet
Aus der Zwischenablage entfernen?
diff --git a/res/values-es/strings.xml b/res/values-es/strings.xml
index 28d9c7d..ed414ab 100644
--- a/res/values-es/strings.xml
+++ b/res/values-es/strings.xml
@@ -120,6 +120,7 @@ La misma no contiene ningún anuncio/publicidad, no realiza peticiones de red y
Inicio
Fin
Arreglar portapapeles
+
Textos recién copiados
Pegado
¿Sacar este portapapeles?
diff --git a/res/values-fa/strings.xml b/res/values-fa/strings.xml
index f61c4ac..94656c4 100644
--- a/res/values-fa/strings.xml
+++ b/res/values-fa/strings.xml
@@ -120,6 +120,7 @@ This application contains no ads, doesn't make any network requests and is Open
+
diff --git a/res/values-fr/strings.xml b/res/values-fr/strings.xml
index 06dede0..0fe3b55 100644
--- a/res/values-fr/strings.xml
+++ b/res/values-fr/strings.xml
@@ -120,6 +120,7 @@ Cette application ne contient pas de publicité, n'accède pas au réseau et est
Début
Fin
Presse-papiers
+
Texte récemment copié
Épinglé
Supprimer ce presse-papiers ?
diff --git a/res/values-it/strings.xml b/res/values-it/strings.xml
index 43c2184..eec2b13 100644
--- a/res/values-it/strings.xml
+++ b/res/values-it/strings.xml
@@ -120,6 +120,7 @@ This application contains no ads, doesn't make any network requests and is Open
+
diff --git a/res/values-ja/strings.xml b/res/values-ja/strings.xml
index bf05005..8f36db3 100644
--- a/res/values-ja/strings.xml
+++ b/res/values-ja/strings.xml
@@ -121,6 +121,7 @@ PCキーボードでの半角入力を再現しています。日本語入力、
Home
End
クリップボード
+
最近コピーしたテキスト
お気に入り
クリップボードから削除しますか?
diff --git a/res/values-ko/strings.xml b/res/values-ko/strings.xml
index b38e279..6d9b7ef 100644
--- a/res/values-ko/strings.xml
+++ b/res/values-ko/strings.xml
@@ -120,6 +120,7 @@
홈
종료
클립보드 관리자
+
최근에 복사한 텍스트
고정
이 클립보드를 제거하시겠습니까?
diff --git a/res/values-lv/strings.xml b/res/values-lv/strings.xml
index 11512bd..c0ae05b 100644
--- a/res/values-lv/strings.xml
+++ b/res/values-lv/strings.xml
@@ -122,6 +122,7 @@ Tagad lieliski piemērota izmantošanai ikdienā.
Sākums
Beigas
Starpliktuves pārvaldnieks
+
Nesen starpliktuvē ievietots teksts
Piesprausts
Noņemt šo starpliktuves vienumu?
diff --git a/res/values-pl/strings.xml b/res/values-pl/strings.xml
index 8289407..8a86567 100644
--- a/res/values-pl/strings.xml
+++ b/res/values-pl/strings.xml
@@ -120,6 +120,7 @@ Aplikacja nie zawiera reklam, nie żąda dostępu do internetu, a jej kod źród
Home
End
Zarządzanie schowkiem
+
Ostatnio skopiowane elementy
Przypięte
Usunąć ten element ze schowka?
diff --git a/res/values-pt/strings.xml b/res/values-pt/strings.xml
index 60a584b..ec421d1 100644
--- a/res/values-pt/strings.xml
+++ b/res/values-pt/strings.xml
@@ -120,6 +120,7 @@ Este aplicativo não contém anúncios, não faz nenhuma solicitação de rede e
Home
End
+
diff --git a/res/values-ro/strings.xml b/res/values-ro/strings.xml
index 0ba2e21..1cbd85c 100644
--- a/res/values-ro/strings.xml
+++ b/res/values-ro/strings.xml
@@ -120,6 +120,7 @@ Această aplicație nu conține publicitate, nu folosește rețeaua deloc și e
+
diff --git a/res/values-ru/strings.xml b/res/values-ru/strings.xml
index 0d922e8..0066b1c 100644
--- a/res/values-ru/strings.xml
+++ b/res/values-ru/strings.xml
@@ -120,6 +120,7 @@
Home
End
Менеджер буфера обмена
+
Недавно скопированный текст
Закреплено
Удалить этот буфер обмена?
diff --git a/res/values-tr/strings.xml b/res/values-tr/strings.xml
index 0cb3aec..9c4c18c 100644
--- a/res/values-tr/strings.xml
+++ b/res/values-tr/strings.xml
@@ -120,6 +120,7 @@ Bu uygulama açık kaynaklıdır. Reklam içermez ve internete bağlanmaz."BAŞ(Sol yön tuşu)
SON(Sağ yön tuşu)
Pano
+
Son kopyalanan metin
Sabitlendi
Bu sabitlemeyi sil
diff --git a/res/values-uk/strings.xml b/res/values-uk/strings.xml
index 73d8336..bedddff 100644
--- a/res/values-uk/strings.xml
+++ b/res/values-uk/strings.xml
@@ -120,6 +120,7 @@
Home
End
Менеджер буфера обміну
+
Нещодавно скопійований текст
Закріплено
Видалити цей буфер обміну?
diff --git a/res/values-vi/strings.xml b/res/values-vi/strings.xml
index 5e6c724..f1d72e2 100644
--- a/res/values-vi/strings.xml
+++ b/res/values-vi/strings.xml
@@ -120,6 +120,7 @@ Bây giờ đã hoàn hảo cho việc sử dụng hàng ngày.
+
diff --git a/res/values-zh-rCN/strings.xml b/res/values-zh-rCN/strings.xml
index 99aa7bd..2bb1117 100644
--- a/res/values-zh-rCN/strings.xml
+++ b/res/values-zh-rCN/strings.xml
@@ -120,6 +120,7 @@
Home
End
+
diff --git a/res/values/strings.xml b/res/values/strings.xml
index edd9a10..c401131 100644
--- a/res/values/strings.xml
+++ b/res/values/strings.xml
@@ -120,6 +120,7 @@ This application contains no ads, doesn't make any network requests and is Open
Home
End
Clipboard manager
+ Combining diacritic
Recently copied text
Pinned
Remove this clipboard?
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 @@
+
+