diff options
| author | Jagadeeshan S | 2024-12-19 05:35:36 +0530 |
|---|---|---|
| committer | GitHub | 2024-12-19 01:05:36 +0100 |
| commit | ae50ff2a5ce83589c8f96c18e98e8b213293fc75 (patch) | |
| tree | 11e9c78b7fc94eb49668b9c18fddf8739dd9b855 /srcs | |
| parent | 82e472ba469c44272e6e3cfd5b9e047a7121ef68 (diff) | |
| download | unexpected-keyboard-ae50ff2a5ce83589c8f96c18e98e8b213293fc75.tar.gz unexpected-keyboard-ae50ff2a5ce83589c8f96c18e98e8b213293fc75.zip | |
Added tamil layout (#833)
Signed-off-by: Jagadeeshan S <jagadeeshan.s@addverb.com>
Diffstat (limited to 'srcs')
| -rw-r--r-- | srcs/compose/numpad_tamil.json | 12 | ||||
| -rw-r--r-- | srcs/compose/shift.json | 7 | ||||
| -rw-r--r-- | srcs/juloo.keyboard2/ComposeKeyData.java | 21 | ||||
| -rw-r--r-- | srcs/juloo.keyboard2/KeyModifier.java | 1 | ||||
| -rw-r--r-- | srcs/juloo.keyboard2/KeyValue.java | 14 | ||||
| -rw-r--r-- | srcs/layouts/tamil_default.xml | 38 |
6 files changed, 84 insertions, 9 deletions
diff --git a/srcs/compose/numpad_tamil.json b/srcs/compose/numpad_tamil.json new file mode 100644 index 0000000..db3f6da --- /dev/null +++ b/srcs/compose/numpad_tamil.json @@ -0,0 +1,12 @@ +{ + "0": "௦", + "1": "௧", + "2": "௨", + "3": "௩", + "4": "௪", + "5": "௫", + "6": "௬", + "7": "௭", + "8": "௮", + "9": "௯" +} diff --git a/srcs/compose/shift.json b/srcs/compose/shift.json index b3a8bca..0aa79b7 100644 --- a/srcs/compose/shift.json +++ b/srcs/compose/shift.json @@ -80,6 +80,13 @@ "લ": "ળ", "સ": "શ", "હ": "ઃ", + // Tamil alternate characters + "௹": "₨", + "ய": ":௰", + "ஒ": ":ௐ", + "ள": ":௱", + "ச": ":௲", + "வ": ":௳", // Modern Hindi and Sanskrit "अ": "आ", diff --git a/srcs/juloo.keyboard2/ComposeKeyData.java b/srcs/juloo.keyboard2/ComposeKeyData.java index 938be05..5ba4236 100644 --- a/srcs/juloo.keyboard2/ComposeKeyData.java +++ b/srcs/juloo.keyboard2/ComposeKeyData.java @@ -116,10 +116,11 @@ public final class ComposeKeyData "\u0068\u0069\u0072\u0069\u0071\uFFFF\u0072\u0061\u0066\u0065\uFFFF\u0073\u0065\u0067\u006f\u006c\uFFFF\u0068\u0061\u0074\u0061\u0066\u005f\u0070\u0061\u0074\u0061\u0068\uFFFF\u0070\u0061\u0074\u0061\u0068\uFFFF\u0074\u0073\u0065\u0072\u0065\uFFFF\u0071\u0061\u006d\u0061\u0074\u0073\uFFFF\u0068\u0061\u0074\u0061\u0066\u005f\u0071\u0061\u006d\u0061\u0074\u0073\uFFFF\u0073\u0068\u0065\u0076\u0061\u066e\u067e\u06c1\u0698\u0640\u0636" + "\u0638\u0621\u06a4\u063a\u06a9\u06ba\u06be\u06cc\u0643\u064a\u0900\u0955\u0972\u0911\u0973\u0974\u0976\u0977\u0960\u0961\u090d\u090e\u0912\u0975\u097b\u097c\uFFFF\u0936\u094d\u091a\u0979\u0978\u097e\uFFFF\u0924\u094d\u0930\uFFFF\u0926\u094d\u0930\uFFFF\u092a\u094d\u0930\u097f\u097a\uFFFF\u0936\u094d\u0930\uFFFF\u0915\u094d\u0937\u094e\u097d\u0949\u093a\u093b\u0904\u0944\u0945\u0946\u094a\u094f\u0954\u0957\u0963\u0965\u0971\u21d4" + "\u21d5\u21d6\u21d7\u21d8\u21d9\u22c0\u22c1\u22c2\u22c3\u222e\u22b6\u044b\u0483\u00000123456789\u09e6\u09e7\u09e8\u09e9\u09ea\u09eb\u09ec\u09ed\u09ee\u09ef\u00000123456789\u0966\u0967\u0968\u0969\u096a\u096b\u096c\u096d\u096e\u096f\u00000123456789\u0ae6\u0ae7\u0ae8\u0ae9\u0aea\u0aeb" + - "\u0aec\u0aed\u0aee\u0aef\u00000123456789\u0660\u0661\u0662\u0663\u0664\u0665\u0666\u0667\u0668\u0669\u00000123456789\u0ce6\u0ce7\u0ce8\u0ce9\u0cea\u0ceb\u0cec\u0ced\u0cee\u0cef\u00000123456789\u06f0\u06f1\u06f2\u06f3\u06f4\u06f5\u06f6\u06f7\u06f8\u06f9\u0000\u00df\u0131\u01f0\u0237" + - "\u02b0\u02b2\u02b3\u02b7\u02e1\u0905\u0907\u0909\u090b\u090c\u090f\u0913\u0915\u0917\u091a\u091c\u091f\u0921\u0924\u0926\u0928\u092c\u092e\u0932\u0938\u0939\u093f\u0941\u0943\u0945\u0947\u0949\u094b\u0952\u0962\u0a85\u0a87\u0a89\u0a8f\u0a93\u0a95\u0a97\u0a9a\u0a9c\u0a9f\u0aa1\u0aa4\u0aa6\u0aa8\u0aaa\u0aac\u0aae\u0ab2\u0ab8\u0ab9\u0abf\u0ac1\u0ac7\u0acb\u1d43\u1d47\u1d48\u1d49\u1d4d\u1d4f\u1d50\u1d52\u1d56\u1d57\u1d58\u1d5b\u1d60" + - "\u1d9c\u1da0\u1dbe\u1e97\u1e98\u1e99\u2071\u207f\u20b9\u2190\u2191\u2192\u2193\u2196\u2197\u2198\u2199\u2500\u2502\u250c\u2510\u2514\u2518\u251c\u2524\u252c\u2534\u253c\uFFFF\u004a\u030c\uFFFF\u004a\u0307\u1d34\u1d36\u1d3f\u1d42\u1d38\u0906\u0908\u090a\u0910\u0914\u0916\u0918\u091b\u091d\u0920\u0922\u0925\u0927\u0923\u092d\u0902\u0933\u0936\u0903\u0940\u0942\u0948\u094c\u0951\u0a86\u0a88\u0a8a\u0a90\u0a94\u0a96\u0a98\u0a9b\u0a9d" + - "\u0aa0\u0aa2\u0aa5\u0aa7\u0aa3\u0aab\u0aad\u0a82\u0ab3\u0ab6\u0a83\u0ac0\u0ac2\u0ac8\u0acc\u1d2c\u1d2e\u1d30\u1d31\u1d33\u1d37\u1d39\u1d3c\u1d3e\u1d40\u1d41\u2c7d\u1db2\uFFFF\ua7f2\uFFFF\ua7f3\u1d23\uFFFF\u0054\u0308\uFFFF\u0057\u030a\uFFFF\u0059\u030a\u1d35\u1d3a\u2550\u2551\u2554\u2557\u255a\u255d\u2560\u2563\u2566\u2569\u256c").toCharArray(); + "\u0aec\u0aed\u0aee\u0aef\u00000123456789\u0660\u0661\u0662\u0663\u0664\u0665\u0666\u0667\u0668\u0669\u00000123456789\u0ce6\u0ce7\u0ce8\u0ce9\u0cea\u0ceb\u0cec\u0ced\u0cee\u0cef\u00000123456789\u06f0\u06f1\u06f2\u06f3\u06f4\u06f5\u06f6\u06f7\u06f8\u06f9\u00000123" + + "456789\u0be6\u0be7\u0be8\u0be9\u0bea\u0beb\u0bec\u0bed\u0bee\u0bef\u0000\u00df\u0131\u01f0\u0237\u02b0\u02b2\u02b3\u02b7\u02e1\u0905\u0907\u0909\u090b\u090c\u090f\u0913\u0915\u0917\u091a\u091c\u091f\u0921\u0924\u0926\u0928\u092c\u092e\u0932\u0938\u0939\u093f\u0941\u0943\u0945\u0947\u0949\u094b\u0952\u0962\u0a85\u0a87\u0a89\u0a8f\u0a93\u0a95\u0a97\u0a9a\u0a9c\u0a9f\u0aa1\u0aa4\u0aa6\u0aa8\u0aaa\u0aac" + + "\u0aae\u0ab2\u0ab8\u0ab9\u0abf\u0ac1\u0ac7\u0acb\u0b92\u0b9a\u0baf\u0bb3\u0bb5\u0bf9\u1d43\u1d47\u1d48\u1d49\u1d4d\u1d4f\u1d50\u1d52\u1d56\u1d57\u1d58\u1d5b\u1d60\u1d9c\u1da0\u1dbe\u1e97\u1e98\u1e99\u2071\u207f\u20b9\u2190\u2191\u2192\u2193\u2196\u2197\u2198\u2199\u2500\u2502\u250c\u2510\u2514\u2518\u251c\u2524\u252c\u2534\u253c\uFFFF\u004a\u030c\uFFFF\u004a\u0307\u1d34\u1d36\u1d3f\u1d42\u1d38\u0906\u0908\u090a\u0910\u0914\u0916" + + "\u0918\u091b\u091d\u0920\u0922\u0925\u0927\u0923\u092d\u0902\u0933\u0936\u0903\u0940\u0942\u0948\u094c\u0951\u0a86\u0a88\u0a8a\u0a90\u0a94\u0a96\u0a98\u0a9b\u0a9d\u0aa0\u0aa2\u0aa5\u0aa7\u0aa3\u0aab\u0aad\u0a82\u0ab3\u0ab6\u0a83\u0ac0\u0ac2\u0ac8\u0acc\uFFFF\u0bd0\uFFFF\u0bf2\uFFFF\u0bf0\uFFFF\u0bf1\uFFFF\u0bf3\u1d2c\u1d2e\u1d30\u1d31\u1d33\u1d37\u1d39\u1d3c\u1d3e\u1d40\u1d41\u2c7d\u1db2\uFFFF\ua7f2\uFFFF\ua7f3\u1d23\uFFFF\u0054" + + "\u0308\uFFFF\u0057\u030a\uFFFF\u0059\u030a\u1d35\u1d3a\u2550\u2551\u2554\u2557\u255a\u255d\u2560\u2563\u2566\u2569\u256c").toCharArray(); public static final char[] edges = ("\u0001\u0036\u0037\u0038\u0039\u003a\u003b\u003c\u003f\u0040\u0041\u0042\u0043\u0044\u0045\u0046\u0047\u0048\u0049\u004a\u004b\u004c\u004d\u004e\u004f\u0050\u0051\u0052\u0053\u0054\u0055\u0056\u0059\u005a\u005b\\\u005d\u005e\u005f\u0060\u0061\u0062\u0063\u0064\u0067\u0068\u006b\u006e\u006f\u0072\u0075\u0078\u007b\u007e\u0081\u0001\u0001\u0001\u0001\u0001\u0003\u0000\u0000\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001" + @@ -233,10 +234,11 @@ public final class ComposeKeyData "\u0000\u0000\u0000\u0000\u0000\u0005\u0000\u0000\u0000\u0000\u0006\u0000\u0000\u0000\u0000\u0000\u000c\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0006\u0000\u0000\u0000\u0000\u0000\u0006\u0000\u0000\u0000\u0000\u0000\u0007\u0000\u0000\u0000\u0000\u0000\u0000\r\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0006\u0000\u0000\u0000\u0000\u0000\u0001\u0001\u0001\u0001\u0001\u0001" + "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0004\u0000\u0000\u0000\u0001\u0001\u0001\u0004\u0000\u0000\u0000\u0004\u0000\u0000\u0000\u0004\u0000\u0000\u0000\u0001\u0001\u0004\u0000\u0000\u0000\u0004\u0000\u0000\u0000\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001" + "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u000b\u1f08\u1f09\u1f0a\u1f0b\u1f0c\u1f0d\u1f0e\u1f0f\u1f10\u1f11\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u000b\u1f1d\u1f1e\u1f1f\u1f20\u1f21\u1f22\u1f23\u1f24\u1f25\u1f26\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u000b\u1f32\u1f33\u1f34\u1f35\u1f36\u1f37\u1f38\u1f39\u1f3a\u1f3b\u0001\u0001\u0001\u0001\u0001\u0001" + - "\u0001\u0001\u0001\u0001\u000b\u1f47\u1f48\u1f49\u1f4a\u1f4b\u1f4c\u1f4d\u1f4e\u1f4f\u1f50\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u000b\u1f5c\u1f5d\u1f5e\u1f5f\u1f60\u1f61\u1f62\u1f63\u1f64\u1f65\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u000b\u1f71\u1f72\u1f73\u1f74\u1f75\u1f76\u1f77\u1f78\u1f79\u1f7a\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0069\u0f55\u0d0b\u1fe4\u1fe7" + - "\u1fea\u1feb\u1fec\u1fed\u1fee\u1fef\u1ff0\u1ff1\u1eba\u1ebb\u1ff2\u1ff3\u1ff4\u1ff5\u1ff6\u1ff7\u1ff8\u1ff9\u1ffa\u1ffb\u1ffc\u1ffd\u1ffe\u1fff\u2000\u2001\u2002\u2003\u1ee5\u1eb4\u2004\u1eb5\u2005\u2006\u1eec\u2007\u2008\u2009\u200a\u200b\u200c\u200d\u200e\u200f\u2010\u2011\u2012\u2013\u2014\u2015\u2016\u2017\u2018\u2019\u201a\u201b\u201c\u201d\u201e\u201f\u2020\u2021\u2022\u2023\u2024\u2025\u2026\u2027\u2028\u2029\u202a\u202b" + - "\u202c\u202e\u2030\u2031\u2034\u2037\u203a\u203b\u0f48\u0e0d\u0e19\u0e0e\u0e1c\u1ef1\u1ef2\u1ef3\u1ef4\u203c\u203d\u203e\u203f\u2040\u2041\u2042\u2043\u2044\u2045\u2046\u0003\u0000\u0000\u0003\u0000\u0000\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001" + - "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0002\u0000\u0002\u0000\u0001\u0003\u0000\u0000\u0003\u0000\u0000\u0003\u0000\u0000\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001").toCharArray(); + "\u0001\u0001\u0001\u0001\u000b\u1f47\u1f48\u1f49\u1f4a\u1f4b\u1f4c\u1f4d\u1f4e\u1f4f\u1f50\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u000b\u1f5c\u1f5d\u1f5e\u1f5f\u1f60\u1f61\u1f62\u1f63\u1f64\u1f65\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u000b\u1f71\u1f72\u1f73\u1f74\u1f75\u1f76\u1f77\u1f78\u1f79\u1f7a\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u000b\u1f86\u1f87\u1f88\u1f89" + + "\u1f8a\u1f8b\u1f8c\u1f8d\u1f8e\u1f8f\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u006f\u0f55\u0d0b\u1fff\u2002\u2005\u2006\u2007\u2008\u2009\u200a\u200b\u200c\u1eba\u1ebb\u200d\u200e\u200f\u2010\u2011\u2012\u2013\u2014\u2015\u2016\u2017\u2018\u2019\u201a\u201b\u201c\u201d\u201e\u1ee5\u1eb4\u201f\u1eb5\u2020\u2021\u1eec\u2022\u2023\u2024\u2025\u2026\u2027\u2028\u2029\u202a\u202b\u202c\u202d\u202e\u202f\u2030\u2031" + + "\u2032\u2033\u2034\u2035\u2036\u2037\u2038\u2039\u203a\u203c\u203e\u2040\u2042\u0f48\u2044\u2045\u2046\u2047\u2048\u2049\u204a\u204b\u204c\u204d\u204e\u204f\u2050\u2051\u2053\u2055\u2056\u2059\u205c\u205f\u2060\u0f48\u0e0d\u0e19\u0e0e\u0e1c\u1ef1\u1ef2\u1ef3\u1ef4\u2061\u2062\u2063\u2064\u2065\u2066\u2067\u2068\u2069\u206a\u206b\u0003\u0000\u0000\u0003\u0000\u0000\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001" + + "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0002\u0000\u0002\u0000\u0002\u0000\u0002\u0000\u0002\u0000\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0002\u0000\u0002\u0000\u0001\u0003\u0000" + + "\u0000\u0003\u0000\u0000\u0003\u0000\u0000\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001").toCharArray(); public static final int accent_aigu = 1; public static final int accent_arrows = 130; @@ -269,5 +271,6 @@ public final class ComposeKeyData public static final int numpad_hindu = 7996; public static final int numpad_kannada = 8017; public static final int numpad_persian = 8038; - public static final int shift = 8059; + public static final int numpad_tamil = 8059; + public static final int shift = 8080; } diff --git a/srcs/juloo.keyboard2/KeyModifier.java b/srcs/juloo.keyboard2/KeyModifier.java index 3fd2dd6..4de9e68 100644 --- a/srcs/juloo.keyboard2/KeyModifier.java +++ b/srcs/juloo.keyboard2/KeyModifier.java @@ -117,6 +117,7 @@ public final class KeyModifier case "persian": return ComposeKeyData.numpad_persian; case "gujarati": return ComposeKeyData.numpad_gujarati; case "kannada": return ComposeKeyData.numpad_kannada; + case "tamil": return ComposeKeyData.numpad_tamil; default: return -1; } } diff --git a/srcs/juloo.keyboard2/KeyValue.java b/srcs/juloo.keyboard2/KeyValue.java index fcb9ed0..9d3e0ef 100644 --- a/srcs/juloo.keyboard2/KeyValue.java +++ b/srcs/juloo.keyboard2/KeyValue.java @@ -719,6 +719,20 @@ public final class KeyValue implements Comparable<KeyValue> case "ㅍ": return makeHangulInitial("ㅍ", 17); case "ㅎ": return makeHangulInitial("ㅎ", 18); + /* Tamil letters should be smaller on the keyboard. */ + case "ஔ": case "ந": case "ல": case "ழ": case "௯": case "க": + case "ஷ": case "ே": case "௨": case "ஜ": case "ங": case "ன": + case "௦": case "ை": case "ூ": case "ம": case "ஆ": case "௭": + case "௪": case "ா": case "ஶ": case "௬": case "வ": case "ஸ": + case "௮": case "ட": case "ப": case "ஈ": case "௩": case "ஒ": + case "ௌ": case "உ": case "௫": case "ய": case "ர": case "ு": + case "இ": case "ோ": case "ஓ": case "ஃ": case "ற": case "த": + case "௧": case "ண": case "ஏ": case "ஊ": case "ொ": case "ஞ": + case "அ": case "எ": case "ச": case "ெ": case "ஐ": case "ி": + case "௹": case "ள": case "ஹ": case "௰": case "ௐ": case "௱": + case "௲": case "௳": + return makeStringKey(name, FLAG_SMALLER_FONT); + /* The key is not one of the special ones. */ default: return parseKeyDefinition(name); } diff --git a/srcs/layouts/tamil_default.xml b/srcs/layouts/tamil_default.xml new file mode 100644 index 0000000..258e91d --- /dev/null +++ b/srcs/layouts/tamil_default.xml @@ -0,0 +1,38 @@ +<?xml version="1.0" encoding="UTF-8"?> +<keyboard name="தமிழ்" script="tamil" numpad_script="tamil"> + <row> + <key width="1.1" key0="ஞ" key1="௧" key2="1" key3="ஶ" key4="loc esc"/> + <key key0="ற" key1="௨" key2="2" key3="ஷ" key4="\@"/> + <key key0="ந" key1="௩" key2="3" key3="ஸ" key4="\#"/> + <key width="1.2" key0="ச" key1="௪" key2="4" key3="ஹ" key4="௹"/> + <key key0="வ" key1="௫" key2="5" key3="ஜ" key4="%"/> + <key key0="ர" key1="௬" key2="6" key3="ல" key4="^"/> + <key width="1.1" key0="ை" key1="௭" key2="7" key3="ஐ" key4="&"/> + <key width="1.2" key0="ொ" key1="௮" key2="8" key3="ோ" key4="*"/> + <key width="0.9" key0="ி" key1="௯" key2="9" key3="ீ" key4="("/> + <key key0="ு" key1="௦" key2="0" key3="ூ" key4=")"/> + </row> + <row> + <key shift="0.2" key0="ய" key1="loc tab" key2="`"/> + <key key0="ள" key1="~"/> + <key key0="ன" key1="!" key2="$" /> + <key key0="க"/> + <key key0="ப" key2="-" key3="_"/> + <key key0="ா" key2="=" key3="ழ" key4="+"/> + <key key0="த" key2="{" key3="ம" key4="}"/> + <key key0="ட" key2="[" key3="ங" key4="]"/> + <key key0="்" key2="|" key3="ஃ" key4="\\"/> + <key key0="இ" key3="ஈ"/> + </row> + <row> + <key width="1.5" key0="shift" key2="loc capslock"/> + <key key0="ண"/> + <key key0="ஒ" key3="ஓ"/> + <key key0="உ" key2="<" key3="ஊ" key4="."/> + <key key0="எ" key2=">" key3="ஏ" key4=","/> + <key width="1.05" key0="ெ" key2="\?" key3="ே" key4="/"/> + <key width="1.3" key0="ஔ" key2=":" key3="ௌ" key4=";"/> + <key key0="அ" key2=""" key3="ஆ" key4="'"/> + <key width="1.5" key0="backspace" key2="delete"/> + </row> +</keyboard> |
