diff --git a/data/icons/zwnj.svg b/data/icons/zwnj.svg
new file mode 100644
index 00000000..7204f474
--- /dev/null
+++ b/data/icons/zwnj.svg
@@ -0,0 +1,5 @@
+
+
+
diff --git a/data/keyboards/ir.yaml b/data/keyboards/ir.yaml
index 310e0789..19d9d4f7 100644
--- a/data/keyboards/ir.yaml
+++ b/data/keyboards/ir.yaml
@@ -8,22 +8,22 @@ outlines:
 
 views:
     base:
-        - "ض ص ق ف غ ع ه خ ح ج"
-        - "ش س ی ب ل ا ت ن م ک"
-        - "Shift_L   ظ ط ز ر ذ د و  BackSpace"
-        - "show_numbers preferences         space        period Return"
+        - "ض ص ث ق ف غ ع ه خ ح ج"
+        - "ش س ی ب ل ا ت ن م ک گ"
+        - "Shift_L  ظ ط ز ر ذ د پ و  BackSpace"
+        - "show_numbers preferences         space     zwnj period Return"
     upper:
-        - "پ { } [ ] ّ   َ   ِ  ُ چ"
-        - "ؤ ئ ي إ أ آ ة » « گ"
-        - "Shift_L  ك ٓ ژ ء > < ؟  BackSpace"
-        - "show_numbers preferences         space        period Return"
+        - "  ْ  ٌ  ٍ  ً  ُ  ِ  َ  ّ # @ چ"
+        - "_ ئ ي إ أ آ ة » « : ؛"
+        - "Shift_L ك  ٓ ژ  ٔ ء > < ؟ BackSpace"
+        - "show_numbers preferences         space        ! ، Return"
     numbers:
-        - "۱ ۲ ۳ ۴ ۵ ۶ ۷ ۸ ۹ ۰"
-        - "@ # ﷼ % & - _ + ( )"
-        - "show_symbols   , \" ' colon ؛ ! ?  BackSpace"
+        - "۱ ۲ ۳ ۴ ۵ ۶ ۷ ۸ ۹ ۰ |"
+        - "… ٬ ٫ ﷼ ٪ ، * ) ( − ـ"
+        - "show_symbols + - × ÷ = ^ % / BackSpace"
         - "show_letters preferences         space        period Return"
     symbols:
-        - "~ ` | · √ π τ ÷ × ¶"
+        - "& ` | · • % π τ ÷ × ¶"
         - "© ® £ € ¥ ^ ° * { }"
         - "show_numbers_from_symbols   \\ / < > = [ ]  BackSpace"
         - "show_letters preferences         space        period Return"
@@ -48,17 +48,17 @@ buttons:
         action:
             set_view: "numbers"
         outline: "wide"
-        label: "123"
+        label: "۱۲۳"
     show_numbers_from_symbols:
         action:
             set_view: "numbers"
         outline: "altline"
-        label: "123"
+        label: "۱۲۳"
     show_letters:
         action:
             set_view: "base"
         outline: "wide"
-        label: "ABC"
+        label: "ابپ"
     show_symbols:
         action:
             set_view: "symbols"
@@ -74,5 +74,8 @@ buttons:
         outline: "wide"
         icon: "key-enter"
         keysym: "Return"
+    zwnj:
+        icon: "zwnj"
+        text: ""
     colon:
         text: ":"
diff --git a/data/keyboards/ir_wide.yaml b/data/keyboards/ir_wide.yaml
index e9df0532..ae3b1daa 100644
--- a/data/keyboards/ir_wide.yaml
+++ b/data/keyboards/ir_wide.yaml
@@ -8,25 +8,25 @@ outlines:
 
 views:
     base:
-        - "ض ص ق ف غ ع ه خ ح ج"
-        - "ش س ی ب ل ا ت ن م ک"
-        - "Shift_L   ظ ط ز ر ذ د و  BackSpace"
-        - "show_numbers preferences         space        period Return"
+        - "ض ص ث ق ف غ ع ه خ ح ج چ \\"
+        - "ش س ی ب ل ا ت ن م ک گ"
+        - "Shift_L ظ ط ز ر ذ د پ و ، / BackSpace"
+        - "show_numbers preferences         space     zwnj ؟ ! period Return"
     upper:
-        - "پ { } [ ] ّ   َ   ِ  ُ چ"
-        - "ؤ ئ ي إ أ آ ة » « گ"
-        - "Shift_L  ك ٓ ژ ء > < ؟  BackSpace"
-        - "show_numbers preferences         space        period Return"
+        - " ْ  ٌ  ٍ  ً  ُ  ِ  َ  ّ  ] [ @ # _"
+        - "ؤ ئ ي إ أ آ ة » « : ؛"
+        - "Shift_L ك  ٓ ژ ٰ    ٔ  ء  >  <  ؟ BackSpace"
+        - "show_numbers preferences         space        ، ؟ ! period Return"
     numbers:
-        - "۱ ۲ ۳ ۴ ۵ ۶ ۷ ۸ ۹ ۰"
-        - "@ # ﷼ % & - _ + ( )"
-        - "show_symbols   , \" ' colon ؛ ! ?  BackSpace"
-        - "show_letters preferences         space        period Return"
+        - "۱ ۲ ۳ ۴ ۵ ۶ ۷ ۸ ۹ ۰ | ="
+        - "… ٬ ٫ ﷼ ٪ ، * ) ( − _"
+        - "show_symbols + - × ÷ = ^ % / BackSpace"
+        - "show_letters preferences         space        ، ؟ ! period Return"
     symbols:
-        - "~ ` | · √ π τ ÷ × ¶"
+        - "& ` | · • % π τ ÷ × ¶"
         - "© ® £ € ¥ ^ ° * { }"
         - "show_numbers_from_symbols   \\ / < > = [ ]  BackSpace"
-        - "show_letters preferences         space        period Return"
+        - "show_letters preferences         space        ، ؟ ! period Return"
 
 buttons:
     Shift_L:
@@ -48,23 +48,23 @@ buttons:
         action:
             set_view: "numbers"
         outline: "wide"
-        label: "123"
+        label: "۱۲۳"
     show_numbers_from_symbols:
         action:
             set_view: "numbers"
         outline: "altline"
-        label: "123"
+        label: "۱۲۳"
     show_letters:
         action:
             set_view: "base"
         outline: "wide"
-        label: "ABC"
+        label: "ابپ"
     show_symbols:
         action:
             set_view: "symbols"
         outline: "altline"
         label: "*/="
-    ".":
+    period:
         outline: "special"
         text: "."
     space:
@@ -74,5 +74,8 @@ buttons:
         outline: "wide"
         icon: "key-enter"
         keysym: "Return"
+    zwnj:
+        icon: "zwnj"
+        text: ""
     colon:
         text: ":"
diff --git a/data/squeekboard.gresources.xml b/data/squeekboard.gresources.xml
index 6c5d0213..71545134 100644
--- a/data/squeekboard.gresources.xml
+++ b/data/squeekboard.gresources.xml
@@ -8,5 +8,6 @@
    icons/key-enter.svg
    icons/key-shift.svg
    icons/keyboard-mode-symbolic.svg
+   icons/zwnj.svg